@mytechtoday/augment-extensions 1.5.2 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/AGENTS.md +76 -0
  2. package/README.md +26 -3
  3. package/augment-extensions/writing-standards/literature/shakespeare/ANNOUNCEMENT.md +176 -0
  4. package/augment-extensions/writing-standards/literature/shakespeare/CHARACTER-THEME-VALIDATION-REPORT.md +465 -0
  5. package/augment-extensions/writing-standards/literature/shakespeare/DRAMA-VALIDATION-REPORT.md +217 -0
  6. package/augment-extensions/writing-standards/literature/shakespeare/LANGUAGE-VALIDATION-REPORT.md +195 -0
  7. package/augment-extensions/writing-standards/literature/shakespeare/PHASE6-VALIDATION-REPORT.md +359 -0
  8. package/augment-extensions/writing-standards/literature/shakespeare/README.md +126 -0
  9. package/augment-extensions/writing-standards/literature/shakespeare/examples/annotated-sonnets/sonnet-130.md +225 -0
  10. package/augment-extensions/writing-standards/literature/shakespeare/examples/annotated-sonnets/sonnet-18.md +188 -0
  11. package/augment-extensions/writing-standards/literature/shakespeare/examples/annotated-sonnets/sonnet-73.md +215 -0
  12. package/augment-extensions/writing-standards/literature/shakespeare/examples/exercises/character-worksheet.md +407 -0
  13. package/augment-extensions/writing-standards/literature/shakespeare/examples/exercises/iambic-pentameter-practice.md +470 -0
  14. package/augment-extensions/writing-standards/literature/shakespeare/examples/exercises/sonnet-writing-exercise.md +360 -0
  15. package/augment-extensions/writing-standards/literature/shakespeare/examples/exercises/theme-analysis-template.md +527 -0
  16. package/augment-extensions/writing-standards/literature/shakespeare/examples/exercises/verse-analysis-exercise.md +426 -0
  17. package/augment-extensions/writing-standards/literature/shakespeare/examples/scene-examples/hamlet-to-be-or-not-to-be.md +316 -0
  18. package/augment-extensions/writing-standards/literature/shakespeare/examples/scene-examples/king-lear-storm-scene.md +576 -0
  19. package/augment-extensions/writing-standards/literature/shakespeare/examples/scene-examples/macbeth-tomorrow-and-tomorrow.md +448 -0
  20. package/augment-extensions/writing-standards/literature/shakespeare/examples/scene-examples/much-ado-benedick-eavesdropping.md +496 -0
  21. package/augment-extensions/writing-standards/literature/shakespeare/examples/scene-examples/romeo-juliet-balcony.md +287 -0
  22. package/augment-extensions/writing-standards/literature/shakespeare/examples/scene-examples/twelfth-night-malvolio-letter.md +653 -0
  23. package/augment-extensions/writing-standards/literature/shakespeare/module.json +72 -0
  24. package/augment-extensions/writing-standards/literature/shakespeare/rules/character-themes/character-development.md +608 -0
  25. package/augment-extensions/writing-standards/literature/shakespeare/rules/character-themes/thematic-elements.md +471 -0
  26. package/augment-extensions/writing-standards/literature/shakespeare/rules/drama/comedy.md +763 -0
  27. package/augment-extensions/writing-standards/literature/shakespeare/rules/drama/history-plays.md +507 -0
  28. package/augment-extensions/writing-standards/literature/shakespeare/rules/drama/scene-construction.md +870 -0
  29. package/augment-extensions/writing-standards/literature/shakespeare/rules/drama/tragedy.md +743 -0
  30. package/augment-extensions/writing-standards/literature/shakespeare/rules/language/elizabethan-english.md +400 -0
  31. package/augment-extensions/writing-standards/literature/shakespeare/rules/language/rhetoric-wordplay.md +602 -0
  32. package/augment-extensions/writing-standards/literature/shakespeare/rules/language/vocabulary-guide.md +662 -0
  33. package/augment-extensions/writing-standards/literature/shakespeare/rules/poetry/iambic-pentameter.md +447 -0
  34. package/augment-extensions/writing-standards/literature/shakespeare/rules/poetry/narrative-poetry.md +453 -0
  35. package/augment-extensions/writing-standards/literature/shakespeare/rules/poetry/sonnets.md +435 -0
  36. package/augment-extensions/writing-standards/literature/shakespeare/rules/poetry/verse-forms.md +565 -0
  37. package/augment-extensions/writing-standards/screenplay/README.md +62 -9
  38. package/augment-extensions/writing-standards/screenplay/cinematic-styles/MIGRATION.md +213 -0
  39. package/augment-extensions/writing-standards/screenplay/cinematic-styles/README.md +309 -0
  40. package/augment-extensions/writing-standards/screenplay/cinematic-styles/REFACTORING-SUMMARY.md +99 -0
  41. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/module.json +33 -0
  42. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/monty-python/module.json +50 -0
  43. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/monty-python/rules/monty-python.md +243 -0
  44. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/saturday-night-live/module.json +50 -0
  45. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/saturday-night-live/rules/saturday-night-live.md +153 -0
  46. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/README.md +127 -0
  47. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/alfred-hitchcock/module.json +50 -0
  48. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/alfred-hitchcock/rules/alfred-hitchcock.md +168 -0
  49. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/ari-aster/module.json +50 -0
  50. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/ari-aster/rules/ari-aster.md +414 -0
  51. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brad-bird/module.json +50 -0
  52. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brad-bird/rules/brad-bird.md +362 -0
  53. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brian-de-palma/module.json +50 -0
  54. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brian-de-palma/rules/brian-de-palma.md +445 -0
  55. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/buster-keaton/module.json +50 -0
  56. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/buster-keaton/rules/buster-keaton.md +508 -0
  57. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/christopher-nolan/module.json +50 -0
  58. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/christopher-nolan/rules/christopher-nolan.md +147 -0
  59. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/clint-eastwood/module.json +50 -0
  60. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/clint-eastwood/rules/clint-eastwood.md +639 -0
  61. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/coen-brothers/module.json +50 -0
  62. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/coen-brothers/rules/coen-brothers.md +167 -0
  63. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/darren-aronofsky/module.json +50 -0
  64. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/darren-aronofsky/rules/darren-aronofsky.md +474 -0
  65. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-fincher/module.json +50 -0
  66. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-fincher/rules/david-fincher.md +203 -0
  67. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-lynch/module.json +50 -0
  68. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-lynch/rules/david-lynch.md +136 -0
  69. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/denis-villeneuve/module.json +50 -0
  70. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/denis-villeneuve/rules/denis-villeneuve.md +131 -0
  71. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/francis-ford-coppola/module.json +50 -0
  72. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/francis-ford-coppola/rules/francis-ford-coppola.md +190 -0
  73. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gary-marshall/module.json +50 -0
  74. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gary-marshall/rules/gary-marshall.md +181 -0
  75. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-a-romero/module.json +50 -0
  76. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-a-romero/rules/george-a-romero.md +391 -0
  77. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-lucas/module.json +50 -0
  78. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-lucas/rules/george-lucas.md +129 -0
  79. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/guillermo-del-toro/module.json +50 -0
  80. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/guillermo-del-toro/rules/guillermo-del-toro.md +350 -0
  81. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gus-van-sant/module.json +50 -0
  82. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gus-van-sant/rules/gus-van-sant.md +353 -0
  83. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/james-ivory-ismail-merchant/module.json +50 -0
  84. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/james-ivory-ismail-merchant/rules/james-ivory-ismail-merchant.md +164 -0
  85. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jim-jarmusch/module.json +50 -0
  86. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jim-jarmusch/rules/jim-jarmusch.md +426 -0
  87. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-carpenter/module.json +50 -0
  88. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-carpenter/rules/john-carpenter.md +450 -0
  89. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-ford/module.json +50 -0
  90. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-ford/rules/john-ford.md +429 -0
  91. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-huston/module.json +50 -0
  92. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-huston/rules/john-huston.md +357 -0
  93. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-landis/module.json +50 -0
  94. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-landis/rules/john-landis.md +483 -0
  95. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jonathan-demme/module.json +50 -0
  96. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jonathan-demme/rules/jonathan-demme.md +394 -0
  97. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/joseph-l-mankiewicz/module.json +50 -0
  98. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/joseph-l-mankiewicz/rules/joseph-l-mankiewicz.md +406 -0
  99. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kathryn-bigelow/module.json +50 -0
  100. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kathryn-bigelow/rules/kathryn-bigelow.md +443 -0
  101. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kelly-reichardt/module.json +50 -0
  102. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kelly-reichardt/rules/kelly-reichardt.md +365 -0
  103. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kevin-smith/module.json +50 -0
  104. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kevin-smith/rules/kevin-smith.md +546 -0
  105. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/linda-shayne/module.json +50 -0
  106. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/linda-shayne/rules/linda-shayne.md +341 -0
  107. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/martin-scorsese/module.json +50 -0
  108. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/martin-scorsese/rules/martin-scorsese.md +188 -0
  109. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mel-brooks/module.json +50 -0
  110. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mel-brooks/rules/mel-brooks.md +215 -0
  111. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-curtiz/module.json +50 -0
  112. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-curtiz/rules/michael-curtiz.md +429 -0
  113. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-mann/module.json +50 -0
  114. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-mann/rules/michael-mann.md +416 -0
  115. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mike-nichols/module.json +50 -0
  116. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mike-nichols/rules/mike-nichols.md +383 -0
  117. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/module.json +410 -0
  118. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/orson-welles/module.json +50 -0
  119. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/orson-welles/rules/orson-welles.md +400 -0
  120. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/park-chan-wook/module.json +50 -0
  121. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/park-chan-wook/rules/park-chan-wook.md +357 -0
  122. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/paul-thomas-anderson/module.json +50 -0
  123. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/paul-thomas-anderson/rules/paul-thomas-anderson.md +143 -0
  124. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/penny-marshall/module.json +50 -0
  125. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/penny-marshall/rules/penny-marshall.md +139 -0
  126. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/peter-bogdanovich/module.json +50 -0
  127. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/peter-bogdanovich/rules/peter-bogdanovich.md +411 -0
  128. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/quentin-tarantino/module.json +50 -0
  129. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/quentin-tarantino/rules/quentin-tarantino.md +178 -0
  130. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/richard-linklater/module.json +50 -0
  131. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/richard-linklater/rules/richard-linklater.md +463 -0
  132. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/rob-reiner/module.json +50 -0
  133. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/rob-reiner/rules/rob-reiner.md +470 -0
  134. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-altman/module.json +50 -0
  135. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-altman/rules/robert-altman.md +447 -0
  136. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-eggers/module.json +50 -0
  137. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-eggers/rules/robert-eggers.md +361 -0
  138. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-zemeckis/module.json +50 -0
  139. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-zemeckis/rules/robert-zemeckis.md +489 -0
  140. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sam-peckinpah/module.json +50 -0
  141. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sam-peckinpah/rules/sam-peckinpah.md +475 -0
  142. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sidney-lumet/module.json +50 -0
  143. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sidney-lumet/rules/sidney-lumet.md +387 -0
  144. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/spike-lee/module.json +50 -0
  145. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/spike-lee/rules/spike-lee.md +500 -0
  146. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-donen-gene-kelly/module.json +50 -0
  147. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-donen-gene-kelly/rules/stanley-donen-gene-kelly.md +406 -0
  148. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-kubrick/module.json +50 -0
  149. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-kubrick/rules/stanley-kubrick.md +183 -0
  150. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steve-martin/module.json +50 -0
  151. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steve-martin/rules/steve-martin.md +138 -0
  152. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steven-spielberg/module.json +50 -0
  153. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steven-spielberg/rules/steven-spielberg.md +179 -0
  154. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sydney-pollack/module.json +50 -0
  155. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sydney-pollack/rules/sydney-pollack.md +356 -0
  156. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/terry-gilliam/module.json +50 -0
  157. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/terry-gilliam/rules/terry-gilliam.md +546 -0
  158. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tim-burton/module.json +50 -0
  159. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tim-burton/rules/tim-burton.md +356 -0
  160. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tobe-hooper/module.json +50 -0
  161. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tobe-hooper/rules/tobe-hooper.md +596 -0
  162. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/wes-anderson/module.json +50 -0
  163. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/wes-anderson/rules/wes-anderson.md +146 -0
  164. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/william-friedkin/module.json +50 -0
  165. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/william-friedkin/rules/william-friedkin.md +378 -0
  166. package/augment-extensions/writing-standards/screenplay/cinematic-styles/examples/style-applications.md +740 -0
  167. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/blue-ruin/module.json +50 -0
  168. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/blue-ruin/rules/blue-ruin.md +721 -0
  169. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/module.json +27 -0
  170. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/rules/blue-ruin.md.bak +667 -0
  171. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/fast-and-furious/module.json +17 -0
  172. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/fast-and-furious/rules/the-fast-and-furious-saga.md +427 -0
  173. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/harry-potter/module.json +17 -0
  174. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/harry-potter/rules/harry-potter.md +170 -0
  175. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/james-bond/module.json +17 -0
  176. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/james-bond/rules/james-bond.md +440 -0
  177. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/john-wick/module.json +17 -0
  178. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/john-wick/rules/john-wick.md +375 -0
  179. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/lord-of-the-rings/module.json +17 -0
  180. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/lord-of-the-rings/rules/lord-of-the-rings.md +437 -0
  181. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/module.json +29 -0
  182. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/rules/mcu-avengers.md +985 -0
  183. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/rules/mcu-avengers.md.bak +933 -0
  184. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/module.json +93 -0
  185. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/module.json +46 -0
  186. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek-deep-space-nine.md +146 -0
  187. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek-enterprise.md +149 -0
  188. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek-strange-new-world.md +156 -0
  189. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek-the-next-generation.md +163 -0
  190. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek-tos.md +148 -0
  191. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek-voyager.md +148 -0
  192. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/rules/star-trek.md +163 -0
  193. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-wars/module.json +17 -0
  194. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-wars/rules/star-wars.md +213 -0
  195. package/augment-extensions/writing-standards/screenplay/cinematic-styles/module.json +128 -0
  196. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/joseph-campbell/module.json +50 -0
  197. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/joseph-campbell/rules/joseph-campbell.md +178 -0
  198. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/module.json +27 -0
  199. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/bruckheimer-and-simpson/module.json +50 -0
  200. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/bruckheimer-and-simpson/rules/bruckheimer-and-simpson.md +376 -0
  201. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/module.json +26 -0
  202. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/blue-ruin.md +667 -0
  203. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/christopher-nolan.md +126 -0
  204. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/coen-brothers.md +154 -0
  205. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/david-lynch.md +124 -0
  206. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/denis-villeneuve.md +119 -0
  207. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/francis-ford-coppola.md +176 -0
  208. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/george-lucas.md +116 -0
  209. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/joseph-campbell.md +167 -0
  210. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/martin-scorsese.md +174 -0
  211. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/mcu-avengers.md +933 -0
  212. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/monty-python.md +231 -0
  213. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/quentin-tarantino.md +167 -0
  214. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/saturday-night-live.md +141 -0
  215. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/stanley-kubrick.md +169 -0
  216. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/star-wars.md +200 -0
  217. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/steven-spielberg.md +165 -0
  218. package/augment-extensions/writing-standards/screenplay/cinematic-styles/rules/wes-anderson.md +134 -0
  219. package/augment-extensions/writing-standards/screenplay/module.json +48 -1
  220. package/cli/AGENTS.md +22 -0
  221. package/cli/dist/__test_hook-system.d.ts +2 -0
  222. package/cli/dist/__test_hook-system.d.ts.map +1 -0
  223. package/cli/dist/__test_hook-system.js +4 -0
  224. package/cli/dist/__test_hook-system.js.map +1 -0
  225. package/cli/dist/cli.js +21 -0
  226. package/cli/dist/cli.js.map +1 -1
  227. package/cli/dist/commands/generate-shot-list/error-detector.d.ts +92 -0
  228. package/cli/dist/commands/generate-shot-list/error-detector.d.ts.map +1 -0
  229. package/cli/dist/commands/generate-shot-list/error-detector.js +131 -0
  230. package/cli/dist/commands/generate-shot-list/error-detector.js.map +1 -0
  231. package/cli/dist/commands/generate-shot-list/error-recovery.d.ts +85 -0
  232. package/cli/dist/commands/generate-shot-list/error-recovery.d.ts.map +1 -0
  233. package/cli/dist/commands/generate-shot-list/error-recovery.js +208 -0
  234. package/cli/dist/commands/generate-shot-list/error-recovery.js.map +1 -0
  235. package/cli/dist/commands/generate-shot-list/errors.d.ts +52 -0
  236. package/cli/dist/commands/generate-shot-list/errors.d.ts.map +1 -0
  237. package/cli/dist/commands/generate-shot-list/errors.js +287 -0
  238. package/cli/dist/commands/generate-shot-list/errors.js.map +1 -0
  239. package/cli/dist/commands/generate-shot-list/exit-codes.d.ts +42 -0
  240. package/cli/dist/commands/generate-shot-list/exit-codes.d.ts.map +1 -0
  241. package/cli/dist/commands/generate-shot-list/exit-codes.js +83 -0
  242. package/cli/dist/commands/generate-shot-list/exit-codes.js.map +1 -0
  243. package/cli/dist/commands/generate-shot-list/formatter/base-formatter.d.ts +48 -0
  244. package/cli/dist/commands/generate-shot-list/formatter/base-formatter.d.ts.map +1 -0
  245. package/cli/dist/commands/generate-shot-list/formatter/base-formatter.js +113 -0
  246. package/cli/dist/commands/generate-shot-list/formatter/base-formatter.js.map +1 -0
  247. package/cli/dist/commands/generate-shot-list/formatter/csv-formatter.d.ts +45 -0
  248. package/cli/dist/commands/generate-shot-list/formatter/csv-formatter.d.ts.map +1 -0
  249. package/cli/dist/commands/generate-shot-list/formatter/csv-formatter.js +110 -0
  250. package/cli/dist/commands/generate-shot-list/formatter/csv-formatter.js.map +1 -0
  251. package/cli/dist/commands/generate-shot-list/formatter/html-formatter.d.ts +38 -0
  252. package/cli/dist/commands/generate-shot-list/formatter/html-formatter.d.ts.map +1 -0
  253. package/cli/dist/commands/generate-shot-list/formatter/html-formatter.js +82 -0
  254. package/cli/dist/commands/generate-shot-list/formatter/html-formatter.js.map +1 -0
  255. package/cli/dist/commands/generate-shot-list/formatter/html-template.d.ts +11 -0
  256. package/cli/dist/commands/generate-shot-list/formatter/html-template.d.ts.map +1 -0
  257. package/cli/dist/commands/generate-shot-list/formatter/html-template.js +628 -0
  258. package/cli/dist/commands/generate-shot-list/formatter/html-template.js.map +1 -0
  259. package/cli/dist/commands/generate-shot-list/formatter/index.d.ts +13 -0
  260. package/cli/dist/commands/generate-shot-list/formatter/index.d.ts.map +1 -0
  261. package/cli/dist/commands/generate-shot-list/formatter/index.js +41 -0
  262. package/cli/dist/commands/generate-shot-list/formatter/index.js.map +1 -0
  263. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts +34 -0
  264. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts.map +1 -0
  265. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js +123 -0
  266. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js.map +1 -0
  267. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts +37 -0
  268. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts.map +1 -0
  269. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js +100 -0
  270. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js.map +1 -0
  271. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts +34 -0
  272. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts.map +1 -0
  273. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js +159 -0
  274. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js.map +1 -0
  275. package/cli/dist/commands/generate-shot-list/formatter/txt-formatter.d.ts +37 -0
  276. package/cli/dist/commands/generate-shot-list/formatter/txt-formatter.d.ts.map +1 -0
  277. package/cli/dist/commands/generate-shot-list/formatter/txt-formatter.js +125 -0
  278. package/cli/dist/commands/generate-shot-list/formatter/txt-formatter.js.map +1 -0
  279. package/cli/dist/commands/generate-shot-list/formatter/types.d.ts +75 -0
  280. package/cli/dist/commands/generate-shot-list/formatter/types.d.ts.map +1 -0
  281. package/cli/dist/commands/generate-shot-list/formatter/types.js +8 -0
  282. package/cli/dist/commands/generate-shot-list/formatter/types.js.map +1 -0
  283. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts +55 -0
  284. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts.map +1 -0
  285. package/cli/dist/commands/generate-shot-list/generator/context-builder.js +168 -0
  286. package/cli/dist/commands/generate-shot-list/generator/context-builder.js.map +1 -0
  287. package/cli/dist/commands/generate-shot-list/generator/index.d.ts +40 -0
  288. package/cli/dist/commands/generate-shot-list/generator/index.d.ts.map +1 -0
  289. package/cli/dist/commands/generate-shot-list/generator/index.js +168 -0
  290. package/cli/dist/commands/generate-shot-list/generator/index.js.map +1 -0
  291. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.d.ts +46 -0
  292. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.d.ts.map +1 -0
  293. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js +170 -0
  294. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js.map +1 -0
  295. package/cli/dist/commands/generate-shot-list/generator/scene-segmenter.d.ts +49 -0
  296. package/cli/dist/commands/generate-shot-list/generator/scene-segmenter.d.ts.map +1 -0
  297. package/cli/dist/commands/generate-shot-list/generator/scene-segmenter.js +130 -0
  298. package/cli/dist/commands/generate-shot-list/generator/scene-segmenter.js.map +1 -0
  299. package/cli/dist/commands/generate-shot-list/generator/types.d.ts +118 -0
  300. package/cli/dist/commands/generate-shot-list/generator/types.d.ts.map +1 -0
  301. package/cli/dist/commands/generate-shot-list/generator/types.js +8 -0
  302. package/cli/dist/commands/generate-shot-list/generator/types.js.map +1 -0
  303. package/cli/dist/commands/generate-shot-list/generator/validator.d.ts +40 -0
  304. package/cli/dist/commands/generate-shot-list/generator/validator.d.ts.map +1 -0
  305. package/cli/dist/commands/generate-shot-list/generator/validator.js +117 -0
  306. package/cli/dist/commands/generate-shot-list/generator/validator.js.map +1 -0
  307. package/cli/dist/commands/generate-shot-list/help-text.d.ts +11 -0
  308. package/cli/dist/commands/generate-shot-list/help-text.d.ts.map +1 -0
  309. package/cli/dist/commands/generate-shot-list/help-text.js +160 -0
  310. package/cli/dist/commands/generate-shot-list/help-text.js.map +1 -0
  311. package/cli/dist/commands/generate-shot-list/logger/index.d.ts +25 -0
  312. package/cli/dist/commands/generate-shot-list/logger/index.d.ts.map +1 -0
  313. package/cli/dist/commands/generate-shot-list/logger/index.js +98 -0
  314. package/cli/dist/commands/generate-shot-list/logger/index.js.map +1 -0
  315. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.d.ts +43 -0
  316. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.d.ts.map +1 -0
  317. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.js +123 -0
  318. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.js.map +1 -0
  319. package/cli/dist/commands/generate-shot-list/logger/shot-list-logger.d.ts +43 -0
  320. package/cli/dist/commands/generate-shot-list/logger/shot-list-logger.d.ts.map +1 -0
  321. package/cli/dist/commands/generate-shot-list/logger/shot-list-logger.js +142 -0
  322. package/cli/dist/commands/generate-shot-list/logger/shot-list-logger.js.map +1 -0
  323. package/cli/dist/commands/generate-shot-list/logger/types.d.ts +145 -0
  324. package/cli/dist/commands/generate-shot-list/logger/types.d.ts.map +1 -0
  325. package/cli/dist/commands/generate-shot-list/logger/types.js +8 -0
  326. package/cli/dist/commands/generate-shot-list/logger/types.js.map +1 -0
  327. package/cli/dist/commands/generate-shot-list/parser/fountain-parser.d.ts +33 -0
  328. package/cli/dist/commands/generate-shot-list/parser/fountain-parser.d.ts.map +1 -0
  329. package/cli/dist/commands/generate-shot-list/parser/fountain-parser.js +249 -0
  330. package/cli/dist/commands/generate-shot-list/parser/fountain-parser.js.map +1 -0
  331. package/cli/dist/commands/generate-shot-list/parser/index.d.ts +24 -0
  332. package/cli/dist/commands/generate-shot-list/parser/index.d.ts.map +1 -0
  333. package/cli/dist/commands/generate-shot-list/parser/index.js +117 -0
  334. package/cli/dist/commands/generate-shot-list/parser/index.js.map +1 -0
  335. package/cli/dist/commands/generate-shot-list/parser/markdown-parser.d.ts +21 -0
  336. package/cli/dist/commands/generate-shot-list/parser/markdown-parser.d.ts.map +1 -0
  337. package/cli/dist/commands/generate-shot-list/parser/markdown-parser.js +197 -0
  338. package/cli/dist/commands/generate-shot-list/parser/markdown-parser.js.map +1 -0
  339. package/cli/dist/commands/generate-shot-list/parser/plaintext-parser.d.ts +29 -0
  340. package/cli/dist/commands/generate-shot-list/parser/plaintext-parser.d.ts.map +1 -0
  341. package/cli/dist/commands/generate-shot-list/parser/plaintext-parser.js +213 -0
  342. package/cli/dist/commands/generate-shot-list/parser/plaintext-parser.js.map +1 -0
  343. package/cli/dist/commands/generate-shot-list/parser/types.d.ts +133 -0
  344. package/cli/dist/commands/generate-shot-list/parser/types.d.ts.map +1 -0
  345. package/cli/dist/commands/generate-shot-list/parser/types.js +22 -0
  346. package/cli/dist/commands/generate-shot-list/parser/types.js.map +1 -0
  347. package/cli/dist/commands/generate-shot-list.d.ts +13 -0
  348. package/cli/dist/commands/generate-shot-list.d.ts.map +1 -0
  349. package/cli/dist/commands/generate-shot-list.js +115 -0
  350. package/cli/dist/commands/generate-shot-list.js.map +1 -0
  351. package/cli/dist/index.d.ts +7 -0
  352. package/cli/dist/index.d.ts.map +1 -0
  353. package/cli/dist/index.js +10 -0
  354. package/cli/dist/index.js.map +1 -0
  355. package/cli/dist/utils/mcp-integration.d.ts +1 -2
  356. package/cli/dist/utils/mcp-integration.d.ts.map +1 -1
  357. package/cli/dist/utils/mcp-integration.js +102 -13
  358. package/cli/dist/utils/mcp-integration.js.map +1 -1
  359. package/package.json +4 -1
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Error Recovery System
3
+ *
4
+ * Implements graceful error recovery strategies:
5
+ * - Continue processing after warnings
6
+ * - Fail fast for critical errors
7
+ * - Partial output generation when possible
8
+ * - Clear error messages
9
+ */
10
+ import { DetectedError, ErrorDetector } from './error-detector';
11
+ import { Severity } from './errors';
12
+ /**
13
+ * Recovery action to take for an error
14
+ */
15
+ export type RecoveryAction = 'continue' | 'skip' | 'partial' | 'fail';
16
+ /**
17
+ * Recovery result
18
+ */
19
+ export interface RecoveryResult {
20
+ action: RecoveryAction;
21
+ message: string;
22
+ canContinue: boolean;
23
+ partialData?: any;
24
+ }
25
+ /**
26
+ * Error recovery manager
27
+ */
28
+ export declare class ErrorRecovery {
29
+ private errorDetector;
30
+ private recoveryLog;
31
+ constructor(errorDetector: ErrorDetector);
32
+ /**
33
+ * Determine recovery action for an error
34
+ */
35
+ determineRecoveryAction(error: DetectedError): RecoveryResult;
36
+ /**
37
+ * Get skip message based on error recovery strategy
38
+ */
39
+ private getSkipMessage;
40
+ /**
41
+ * Process all errors and determine if processing can continue
42
+ */
43
+ canContinueProcessing(): boolean;
44
+ /**
45
+ * Generate partial output when errors prevent full processing
46
+ */
47
+ generatePartialOutput<T>(fullData: T[], processedCount: number, totalCount: number): RecoveryResult;
48
+ /**
49
+ * Log recovery action
50
+ */
51
+ logRecovery(message: string): void;
52
+ /**
53
+ * Get recovery log
54
+ */
55
+ getRecoveryLog(): string[];
56
+ /**
57
+ * Format error summary for user
58
+ */
59
+ formatErrorSummary(): string;
60
+ /**
61
+ * Group errors by severity
62
+ */
63
+ private groupBySeverity;
64
+ /**
65
+ * Clear recovery log
66
+ */
67
+ clearLog(): void;
68
+ /**
69
+ * Get recovery suggestions for all errors
70
+ */
71
+ getRecoverySuggestions(): string[];
72
+ /**
73
+ * Check if any errors are auto-fixable
74
+ */
75
+ hasAutoFixableErrors(): boolean;
76
+ /**
77
+ * Get count of errors by severity
78
+ */
79
+ getErrorCountBySeverity(): Record<Severity, number>;
80
+ /**
81
+ * Format recovery log for display
82
+ */
83
+ formatRecoveryLog(): string;
84
+ }
85
+ //# sourceMappingURL=error-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-recovery.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-shot-list/error-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,MAAM,GACN,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAgB;gBAEvB,aAAa,EAAE,aAAa;IAIxC;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc;IAuC7D;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,qBAAqB,CAAC,CAAC,EACrB,QAAQ,EAAE,CAAC,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,cAAc;IAcjB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,kBAAkB,IAAI,MAAM;IA4B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAalC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAK/B;;OAEG;IACH,uBAAuB,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;IAgBnD;;OAEG;IACH,iBAAiB,IAAI,MAAM;CAc5B"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ /**
3
+ * Error Recovery System
4
+ *
5
+ * Implements graceful error recovery strategies:
6
+ * - Continue processing after warnings
7
+ * - Fail fast for critical errors
8
+ * - Partial output generation when possible
9
+ * - Clear error messages
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ErrorRecovery = void 0;
13
+ /**
14
+ * Error recovery manager
15
+ */
16
+ class ErrorRecovery {
17
+ constructor(errorDetector) {
18
+ this.recoveryLog = [];
19
+ this.errorDetector = errorDetector;
20
+ }
21
+ /**
22
+ * Determine recovery action for an error
23
+ */
24
+ determineRecoveryAction(error) {
25
+ const { definition, data } = error;
26
+ // Critical errors: fail fast
27
+ if (definition.severity === 'critical') {
28
+ return {
29
+ action: 'fail',
30
+ message: `Critical error: ${definition.message(data)}. Processing stopped.`,
31
+ canContinue: false
32
+ };
33
+ }
34
+ // Errors: try to skip and continue
35
+ if (definition.severity === 'error') {
36
+ const skipMessage = this.getSkipMessage(error);
37
+ return {
38
+ action: 'skip',
39
+ message: `Error: ${definition.message(data)}. ${skipMessage}`,
40
+ canContinue: true
41
+ };
42
+ }
43
+ // Warnings: continue with warning
44
+ if (definition.severity === 'warning') {
45
+ return {
46
+ action: 'continue',
47
+ message: `Warning: ${definition.message(data)}. Continuing...`,
48
+ canContinue: true
49
+ };
50
+ }
51
+ // Info: just log and continue
52
+ return {
53
+ action: 'continue',
54
+ message: `Info: ${definition.message(data)}`,
55
+ canContinue: true
56
+ };
57
+ }
58
+ /**
59
+ * Get skip message based on error recovery strategy
60
+ */
61
+ getSkipMessage(error) {
62
+ const recovery = error.definition.recovery.toLowerCase();
63
+ if (recovery.includes('skip scene')) {
64
+ return 'Skipping scene and continuing with next.';
65
+ }
66
+ if (recovery.includes('skip dialogue')) {
67
+ return 'Skipping dialogue block and continuing.';
68
+ }
69
+ if (recovery.includes('skip')) {
70
+ return 'Skipping current item and continuing.';
71
+ }
72
+ if (recovery.includes('sanitize')) {
73
+ return 'Sanitizing input and continuing.';
74
+ }
75
+ return 'Attempting to continue processing.';
76
+ }
77
+ /**
78
+ * Process all errors and determine if processing can continue
79
+ */
80
+ canContinueProcessing() {
81
+ return !this.errorDetector.hasCriticalErrors();
82
+ }
83
+ /**
84
+ * Generate partial output when errors prevent full processing
85
+ */
86
+ generatePartialOutput(fullData, processedCount, totalCount) {
87
+ const partialData = fullData.slice(0, processedCount);
88
+ const message = `Partial output generated: ${processedCount}/${totalCount} items processed successfully.`;
89
+ this.logRecovery(message);
90
+ return {
91
+ action: 'partial',
92
+ message,
93
+ canContinue: false,
94
+ partialData
95
+ };
96
+ }
97
+ /**
98
+ * Log recovery action
99
+ */
100
+ logRecovery(message) {
101
+ this.recoveryLog.push(`[${new Date().toISOString()}] ${message}`);
102
+ }
103
+ /**
104
+ * Get recovery log
105
+ */
106
+ getRecoveryLog() {
107
+ return [...this.recoveryLog];
108
+ }
109
+ /**
110
+ * Format error summary for user
111
+ */
112
+ formatErrorSummary() {
113
+ const errors = this.errorDetector.getErrors();
114
+ if (errors.length === 0) {
115
+ return 'No errors detected.';
116
+ }
117
+ const lines = [];
118
+ lines.push(`\nError Summary (${errors.length} total):`);
119
+ lines.push('='.repeat(50));
120
+ // Group by severity
121
+ const bySeverity = this.groupBySeverity(errors);
122
+ for (const severity of ['critical', 'error', 'warning', 'info']) {
123
+ const severityErrors = bySeverity[severity] || [];
124
+ if (severityErrors.length > 0) {
125
+ lines.push(`\n${severity.toUpperCase()}: ${severityErrors.length}`);
126
+ severityErrors.forEach((error, i) => {
127
+ lines.push(` ${i + 1}. [${error.code}] ${error.definition.name}`);
128
+ lines.push(` ${error.definition.message(error.data)}`);
129
+ });
130
+ }
131
+ }
132
+ return lines.join('\n');
133
+ }
134
+ /**
135
+ * Group errors by severity
136
+ */
137
+ groupBySeverity(errors) {
138
+ const groups = {
139
+ critical: [],
140
+ error: [],
141
+ warning: [],
142
+ info: []
143
+ };
144
+ errors.forEach(error => {
145
+ groups[error.definition.severity].push(error);
146
+ });
147
+ return groups;
148
+ }
149
+ /**
150
+ * Clear recovery log
151
+ */
152
+ clearLog() {
153
+ this.recoveryLog = [];
154
+ }
155
+ /**
156
+ * Get recovery suggestions for all errors
157
+ */
158
+ getRecoverySuggestions() {
159
+ const errors = this.errorDetector.getErrors();
160
+ const suggestions = [];
161
+ errors.forEach(error => {
162
+ if (error.definition.autoFixable) {
163
+ suggestions.push(`[${error.code}] ${error.definition.fix(error.data)}`);
164
+ }
165
+ });
166
+ return suggestions;
167
+ }
168
+ /**
169
+ * Check if any errors are auto-fixable
170
+ */
171
+ hasAutoFixableErrors() {
172
+ const errors = this.errorDetector.getErrors();
173
+ return errors.some(e => e.definition.autoFixable);
174
+ }
175
+ /**
176
+ * Get count of errors by severity
177
+ */
178
+ getErrorCountBySeverity() {
179
+ const errors = this.errorDetector.getErrors();
180
+ const counts = {
181
+ critical: 0,
182
+ error: 0,
183
+ warning: 0,
184
+ info: 0
185
+ };
186
+ errors.forEach(error => {
187
+ counts[error.definition.severity]++;
188
+ });
189
+ return counts;
190
+ }
191
+ /**
192
+ * Format recovery log for display
193
+ */
194
+ formatRecoveryLog() {
195
+ if (this.recoveryLog.length === 0) {
196
+ return 'No recovery actions taken.';
197
+ }
198
+ const lines = [];
199
+ lines.push('\nRecovery Log:');
200
+ lines.push('='.repeat(50));
201
+ this.recoveryLog.forEach((entry, i) => {
202
+ lines.push(`${i + 1}. ${entry}`);
203
+ });
204
+ return lines.join('\n');
205
+ }
206
+ }
207
+ exports.ErrorRecovery = ErrorRecovery;
208
+ //# sourceMappingURL=error-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-recovery.js","sourceRoot":"","sources":["../../../src/commands/generate-shot-list/error-recovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Error Catalog for AI Shot List Generator
3
+ *
4
+ * Comprehensive error definitions with codes, messages, and fix suggestions
5
+ */
6
+ export type ErrorType = 'parsing' | 'validation' | 'formatting' | 'io' | 'runtime';
7
+ export type Severity = 'critical' | 'error' | 'warning' | 'info';
8
+ export interface ErrorDefinition {
9
+ code: string;
10
+ name: string;
11
+ description: string;
12
+ severity: Severity;
13
+ exitCode: number;
14
+ recovery: string;
15
+ message: (context?: any) => string;
16
+ fix: (context?: any) => string;
17
+ autoFixable: boolean;
18
+ relatedDocs: string[];
19
+ }
20
+ /**
21
+ * Parsing Errors (PE001-PE004)
22
+ */
23
+ export declare const PARSING_ERRORS: Record<string, ErrorDefinition>;
24
+ /**
25
+ * Validation Errors (VE001-VE004)
26
+ */
27
+ export declare const VALIDATION_ERRORS: Record<string, ErrorDefinition>;
28
+ /**
29
+ * Formatting Errors (FE001-FE002)
30
+ */
31
+ export declare const FORMATTING_ERRORS: Record<string, ErrorDefinition>;
32
+ /**
33
+ * I/O Errors (IO001-IO005)
34
+ */
35
+ export declare const IO_ERRORS: Record<string, ErrorDefinition>;
36
+ /**
37
+ * Runtime Errors (RE001-RE003)
38
+ */
39
+ export declare const RUNTIME_ERRORS: Record<string, ErrorDefinition>;
40
+ /**
41
+ * All errors combined
42
+ */
43
+ export declare const ALL_ERRORS: Record<string, ErrorDefinition>;
44
+ /**
45
+ * Get error definition by code
46
+ */
47
+ export declare function getErrorDefinition(code: string): ErrorDefinition | undefined;
48
+ /**
49
+ * Get all errors of a specific type
50
+ */
51
+ export declare function getErrorsByType(type: ErrorType): Record<string, ErrorDefinition>;
52
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-shot-list/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;AACnF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiD1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiD7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAyB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA6DrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAqC1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAMtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAehF"}
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ /**
3
+ * Error Catalog for AI Shot List Generator
4
+ *
5
+ * Comprehensive error definitions with codes, messages, and fix suggestions
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ALL_ERRORS = exports.RUNTIME_ERRORS = exports.IO_ERRORS = exports.FORMATTING_ERRORS = exports.VALIDATION_ERRORS = exports.PARSING_ERRORS = void 0;
9
+ exports.getErrorDefinition = getErrorDefinition;
10
+ exports.getErrorsByType = getErrorsByType;
11
+ /**
12
+ * Parsing Errors (PE001-PE004)
13
+ */
14
+ exports.PARSING_ERRORS = {
15
+ PE001: {
16
+ code: 'PE001',
17
+ name: 'Invalid Screenplay Format',
18
+ description: 'Input file is not in a recognized format',
19
+ severity: 'critical',
20
+ exitCode: 5,
21
+ recovery: 'Fail - cannot parse',
22
+ message: (ctx) => `Invalid screenplay format: ${ctx?.format || 'unknown'}. File must be Fountain (.fountain), Markdown (.md), or Plain Text (.txt)`,
23
+ fix: (ctx) => `Convert your screenplay to one of the supported formats: Fountain, Markdown, or Plain Text. See https://fountain.io for Fountain format specification.`,
24
+ autoFixable: false,
25
+ relatedDocs: ['https://fountain.io/syntax', 'https://github.com/mytech-today-now/augment-extensions/blob/main/docs/screenplay-formats.md']
26
+ },
27
+ PE002: {
28
+ code: 'PE002',
29
+ name: 'Malformed Scene Heading',
30
+ description: "Scene heading doesn't follow standard format",
31
+ severity: 'error',
32
+ exitCode: 5,
33
+ recovery: 'Skip scene, continue',
34
+ message: (ctx) => `Malformed scene heading at line ${ctx?.line}: "${ctx?.text}". Expected format: INT/EXT. LOCATION - TIME`,
35
+ fix: (ctx) => `Correct the scene heading format. Use: INT. or EXT. followed by location, hyphen, and time of day. Example: "INT. COFFEE SHOP - DAY"`,
36
+ autoFixable: true,
37
+ relatedDocs: ['https://fountain.io/syntax#section-sluglines']
38
+ },
39
+ PE003: {
40
+ code: 'PE003',
41
+ name: 'Unclosed Dialogue Block',
42
+ description: 'Character dialogue is not properly terminated',
43
+ severity: 'error',
44
+ exitCode: 5,
45
+ recovery: 'Skip dialogue, continue',
46
+ message: (ctx) => `Unclosed dialogue block starting at line ${ctx?.line}. Character: ${ctx?.character}`,
47
+ fix: (ctx) => `Ensure dialogue blocks are properly terminated with a blank line or next scene element.`,
48
+ autoFixable: true,
49
+ relatedDocs: ['https://fountain.io/syntax#section-dialogue']
50
+ },
51
+ PE004: {
52
+ code: 'PE004',
53
+ name: 'Invalid Character Name',
54
+ description: 'Character name contains invalid characters',
55
+ severity: 'warning',
56
+ exitCode: 0,
57
+ recovery: 'Sanitize name, continue',
58
+ message: (ctx) => `Invalid character name at line ${ctx?.line}: "${ctx?.name}". Character names should be uppercase letters, spaces, and hyphens only.`,
59
+ fix: (ctx) => `Remove special characters from character name. Use only uppercase letters, spaces, and hyphens.`,
60
+ autoFixable: true,
61
+ relatedDocs: ['https://fountain.io/syntax#section-character']
62
+ }
63
+ };
64
+ /**
65
+ * Validation Errors (VE001-VE004)
66
+ */
67
+ exports.VALIDATION_ERRORS = {
68
+ VE001: {
69
+ code: 'VE001',
70
+ name: 'Character Limit Exceeded',
71
+ description: 'Shot description exceeds maximum characters',
72
+ severity: 'warning',
73
+ exitCode: 0,
74
+ recovery: 'Continue with warning',
75
+ message: (ctx) => `Shot ${ctx?.shotNumber} exceeds character limit: ${ctx?.actualChars} characters (max: ${ctx?.maxChars})`,
76
+ fix: (ctx) => `Reduce shot description length or increase --max-characters limit. Consider splitting into multiple shots.`,
77
+ autoFixable: false,
78
+ relatedDocs: []
79
+ },
80
+ VE002: {
81
+ code: 'VE002',
82
+ name: 'Shot Duration Exceeded',
83
+ description: 'Shot duration exceeds maximum length',
84
+ severity: 'warning',
85
+ exitCode: 0,
86
+ recovery: 'Continue with warning',
87
+ message: (ctx) => `Shot ${ctx?.shotNumber} exceeds duration limit: ${ctx?.actualDuration}s (max: ${ctx?.maxDuration}s)`,
88
+ fix: (ctx) => `Reduce shot duration or increase --max-shot-length limit. Consider splitting into multiple shots.`,
89
+ autoFixable: false,
90
+ relatedDocs: []
91
+ },
92
+ VE003: {
93
+ code: 'VE003',
94
+ name: 'Empty Shot Description',
95
+ description: 'Shot has no action or dialogue',
96
+ severity: 'warning',
97
+ exitCode: 0,
98
+ recovery: 'Continue with warning',
99
+ message: (ctx) => `Shot ${ctx?.shotNumber} has no action or dialogue`,
100
+ fix: (ctx) => `Add action description or dialogue to the shot, or remove the empty shot.`,
101
+ autoFixable: false,
102
+ relatedDocs: []
103
+ },
104
+ VE004: {
105
+ code: 'VE004',
106
+ name: 'Missing Required Metadata',
107
+ description: 'Shot is missing required fields',
108
+ severity: 'error',
109
+ exitCode: 6,
110
+ recovery: 'Fail - cannot generate',
111
+ message: (ctx) => `Shot ${ctx?.shotNumber} is missing required metadata: ${ctx?.missingFields?.join(', ')}`,
112
+ fix: (ctx) => `Ensure all required fields are present: scene heading, location, time of day, and action/dialogue.`,
113
+ autoFixable: false,
114
+ relatedDocs: []
115
+ }
116
+ };
117
+ /**
118
+ * Formatting Errors (FE001-FE002)
119
+ */
120
+ exports.FORMATTING_ERRORS = {
121
+ FE001: {
122
+ code: 'FE001',
123
+ name: 'Invalid Output Format',
124
+ description: 'Specified output format is not supported',
125
+ severity: 'critical',
126
+ exitCode: 2,
127
+ recovery: 'Fail - invalid argument',
128
+ message: (ctx) => `Invalid output format: "${ctx?.format}". Supported formats: md, json, jsonl, csv, txt, html`,
129
+ fix: (ctx) => `Use one of the supported output formats: md, json, jsonl, csv, txt, or html. Example: --format json`,
130
+ autoFixable: false,
131
+ relatedDocs: []
132
+ },
133
+ FE002: {
134
+ code: 'FE002',
135
+ name: 'Output File Extension Mismatch',
136
+ description: "Filename extension doesn't match format",
137
+ severity: 'warning',
138
+ exitCode: 0,
139
+ recovery: 'Continue with warning',
140
+ message: (ctx) => `Output file extension ".${ctx?.extension}" doesn't match format "${ctx?.format}"`,
141
+ fix: (ctx) => `Rename output file to use correct extension for format "${ctx?.format}", or change format to match extension.`,
142
+ autoFixable: false,
143
+ relatedDocs: []
144
+ }
145
+ };
146
+ /**
147
+ * I/O Errors (IO001-IO005)
148
+ */
149
+ exports.IO_ERRORS = {
150
+ IO001: {
151
+ code: 'IO001',
152
+ name: 'Input File Not Found',
153
+ description: "Specified screenplay file doesn't exist",
154
+ severity: 'critical',
155
+ exitCode: 3,
156
+ recovery: 'Fail - cannot read',
157
+ message: (ctx) => `Input file not found: ${ctx?.path}`,
158
+ fix: (ctx) => `Check that the file path is correct and the file exists. Use absolute path or path relative to current directory.`,
159
+ autoFixable: false,
160
+ relatedDocs: []
161
+ },
162
+ IO002: {
163
+ code: 'IO002',
164
+ name: 'Permission Denied (Read)',
165
+ description: 'No read permission for input file',
166
+ severity: 'critical',
167
+ exitCode: 3,
168
+ recovery: 'Fail - cannot read',
169
+ message: (ctx) => `Permission denied reading file: ${ctx?.path}`,
170
+ fix: (ctx) => `Check file permissions and ensure you have read access. On Unix: chmod +r "${ctx?.path}"`,
171
+ autoFixable: false,
172
+ relatedDocs: []
173
+ },
174
+ IO003: {
175
+ code: 'IO003',
176
+ name: 'Permission Denied (Write)',
177
+ description: 'No write permission for output directory',
178
+ severity: 'critical',
179
+ exitCode: 4,
180
+ recovery: 'Fail - cannot write',
181
+ message: (ctx) => `Permission denied writing to: ${ctx?.path}`,
182
+ fix: (ctx) => `Check directory permissions and ensure you have write access. On Unix: chmod +w "${ctx?.directory}"`,
183
+ autoFixable: false,
184
+ relatedDocs: []
185
+ },
186
+ IO004: {
187
+ code: 'IO004',
188
+ name: 'Disk Full',
189
+ description: 'Insufficient disk space for output file',
190
+ severity: 'critical',
191
+ exitCode: 4,
192
+ recovery: 'Fail - cannot write',
193
+ message: (ctx) => `Insufficient disk space. Required: ${ctx?.required}MB, Available: ${ctx?.available}MB`,
194
+ fix: (ctx) => `Free up disk space or choose a different output location with more available space.`,
195
+ autoFixable: false,
196
+ relatedDocs: []
197
+ },
198
+ IO005: {
199
+ code: 'IO005',
200
+ name: 'Output File Already Exists',
201
+ description: 'Output file exists and overwrite not enabled',
202
+ severity: 'error',
203
+ exitCode: 4,
204
+ recovery: 'Fail - would overwrite',
205
+ message: (ctx) => `Output file already exists: ${ctx?.path}. Use --force to overwrite.`,
206
+ fix: (ctx) => `Either delete the existing file, choose a different output filename, or use --force flag to overwrite.`,
207
+ autoFixable: false,
208
+ relatedDocs: []
209
+ }
210
+ };
211
+ /**
212
+ * Runtime Errors (RE001-RE003)
213
+ */
214
+ exports.RUNTIME_ERRORS = {
215
+ RE001: {
216
+ code: 'RE001',
217
+ name: 'Out of Memory',
218
+ description: 'Screenplay is too large to process',
219
+ severity: 'critical',
220
+ exitCode: 1,
221
+ recovery: 'Fail - insufficient memory',
222
+ message: (ctx) => `Out of memory processing screenplay. File size: ${ctx?.fileSize}MB`,
223
+ fix: (ctx) => `Split the screenplay into smaller files or increase Node.js memory limit: node --max-old-space-size=4096`,
224
+ autoFixable: false,
225
+ relatedDocs: []
226
+ },
227
+ RE002: {
228
+ code: 'RE002',
229
+ name: 'Processing Timeout',
230
+ description: 'Processing takes longer than maximum time',
231
+ severity: 'critical',
232
+ exitCode: 1,
233
+ recovery: 'Fail - timeout exceeded',
234
+ message: (ctx) => `Processing timeout after ${ctx?.timeout}s. File may be too large or complex.`,
235
+ fix: (ctx) => `Simplify the screenplay, split into smaller files, or increase timeout limit.`,
236
+ autoFixable: false,
237
+ relatedDocs: []
238
+ },
239
+ RE003: {
240
+ code: 'RE003',
241
+ name: 'Unexpected Exception',
242
+ description: 'Unhandled error in processing logic',
243
+ severity: 'critical',
244
+ exitCode: 1,
245
+ recovery: 'Fail - unknown error',
246
+ message: (ctx) => `Unexpected error: ${ctx?.error?.message || 'Unknown error'}`,
247
+ fix: (ctx) => `This is an internal error. Please report this issue with the error details and input file.`,
248
+ autoFixable: false,
249
+ relatedDocs: ['https://github.com/mytech-today-now/augment-extensions/issues']
250
+ }
251
+ };
252
+ /**
253
+ * All errors combined
254
+ */
255
+ exports.ALL_ERRORS = {
256
+ ...exports.PARSING_ERRORS,
257
+ ...exports.VALIDATION_ERRORS,
258
+ ...exports.FORMATTING_ERRORS,
259
+ ...exports.IO_ERRORS,
260
+ ...exports.RUNTIME_ERRORS
261
+ };
262
+ /**
263
+ * Get error definition by code
264
+ */
265
+ function getErrorDefinition(code) {
266
+ return exports.ALL_ERRORS[code];
267
+ }
268
+ /**
269
+ * Get all errors of a specific type
270
+ */
271
+ function getErrorsByType(type) {
272
+ switch (type) {
273
+ case 'parsing':
274
+ return exports.PARSING_ERRORS;
275
+ case 'validation':
276
+ return exports.VALIDATION_ERRORS;
277
+ case 'formatting':
278
+ return exports.FORMATTING_ERRORS;
279
+ case 'io':
280
+ return exports.IO_ERRORS;
281
+ case 'runtime':
282
+ return exports.RUNTIME_ERRORS;
283
+ default:
284
+ return {};
285
+ }
286
+ }
287
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/commands/generate-shot-list/errors.ts"],"names":[],"mappings":"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"}