pupt 1.2.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 (240) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +517 -0
  3. package/dist/annotations/annotation-analyzer.d.ts +17 -0
  4. package/dist/annotations/annotation-analyzer.d.ts.map +1 -0
  5. package/dist/annotations/annotation-analyzer.js +145 -0
  6. package/dist/annotations/annotation-analyzer.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +375 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/add.d.ts +2 -0
  12. package/dist/commands/add.d.ts.map +1 -0
  13. package/dist/commands/add.js +149 -0
  14. package/dist/commands/add.js.map +1 -0
  15. package/dist/commands/annotate.d.ts +2 -0
  16. package/dist/commands/annotate.d.ts.map +1 -0
  17. package/dist/commands/annotate.js +223 -0
  18. package/dist/commands/annotate.js.map +1 -0
  19. package/dist/commands/base-command.d.ts +23 -0
  20. package/dist/commands/base-command.d.ts.map +1 -0
  21. package/dist/commands/base-command.js +41 -0
  22. package/dist/commands/base-command.js.map +1 -0
  23. package/dist/commands/edit.d.ts +2 -0
  24. package/dist/commands/edit.d.ts.map +1 -0
  25. package/dist/commands/edit.js +31 -0
  26. package/dist/commands/edit.js.map +1 -0
  27. package/dist/commands/help.d.ts +2 -0
  28. package/dist/commands/help.d.ts.map +1 -0
  29. package/dist/commands/help.js +25 -0
  30. package/dist/commands/help.js.map +1 -0
  31. package/dist/commands/history.d.ts +9 -0
  32. package/dist/commands/history.d.ts.map +1 -0
  33. package/dist/commands/history.js +232 -0
  34. package/dist/commands/history.js.map +1 -0
  35. package/dist/commands/init-refactored.d.ts +19 -0
  36. package/dist/commands/init-refactored.d.ts.map +1 -0
  37. package/dist/commands/init-refactored.js +141 -0
  38. package/dist/commands/init-refactored.js.map +1 -0
  39. package/dist/commands/init.d.ts +2 -0
  40. package/dist/commands/init.d.ts.map +1 -0
  41. package/dist/commands/init.js +124 -0
  42. package/dist/commands/init.js.map +1 -0
  43. package/dist/commands/install.d.ts +10 -0
  44. package/dist/commands/install.d.ts.map +1 -0
  45. package/dist/commands/install.js +224 -0
  46. package/dist/commands/install.js.map +1 -0
  47. package/dist/commands/review.d.ts +3 -0
  48. package/dist/commands/review.d.ts.map +1 -0
  49. package/dist/commands/review.js +158 -0
  50. package/dist/commands/review.js.map +1 -0
  51. package/dist/commands/run.d.ts +28 -0
  52. package/dist/commands/run.d.ts.map +1 -0
  53. package/dist/commands/run.js +340 -0
  54. package/dist/commands/run.js.map +1 -0
  55. package/dist/config/config-manager.d.ts +19 -0
  56. package/dist/config/config-manager.d.ts.map +1 -0
  57. package/dist/config/config-manager.js +386 -0
  58. package/dist/config/config-manager.js.map +1 -0
  59. package/dist/config/migration.d.ts +11 -0
  60. package/dist/config/migration.d.ts.map +1 -0
  61. package/dist/config/migration.js +153 -0
  62. package/dist/config/migration.js.map +1 -0
  63. package/dist/history/enhanced-history-manager.d.ts +25 -0
  64. package/dist/history/enhanced-history-manager.d.ts.map +1 -0
  65. package/dist/history/enhanced-history-manager.js +88 -0
  66. package/dist/history/enhanced-history-manager.js.map +1 -0
  67. package/dist/history/history-manager.d.ts +33 -0
  68. package/dist/history/history-manager.d.ts.map +1 -0
  69. package/dist/history/history-manager.js +176 -0
  70. package/dist/history/history-manager.js.map +1 -0
  71. package/dist/index.d.ts +6 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +6 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/prompts/input-types/file-prompt.d.ts +12 -0
  76. package/dist/prompts/input-types/file-prompt.d.ts.map +1 -0
  77. package/dist/prompts/input-types/file-prompt.js +166 -0
  78. package/dist/prompts/input-types/file-prompt.js.map +1 -0
  79. package/dist/prompts/input-types/file-search-prompt.d.ts +12 -0
  80. package/dist/prompts/input-types/file-search-prompt.d.ts.map +1 -0
  81. package/dist/prompts/input-types/file-search-prompt.js +54 -0
  82. package/dist/prompts/input-types/file-search-prompt.js.map +1 -0
  83. package/dist/prompts/input-types/review-file-prompt.d.ts +4 -0
  84. package/dist/prompts/input-types/review-file-prompt.d.ts.map +1 -0
  85. package/dist/prompts/input-types/review-file-prompt.js +10 -0
  86. package/dist/prompts/input-types/review-file-prompt.js.map +1 -0
  87. package/dist/prompts/prompt-manager.d.ts +12 -0
  88. package/dist/prompts/prompt-manager.d.ts.map +1 -0
  89. package/dist/prompts/prompt-manager.js +102 -0
  90. package/dist/prompts/prompt-manager.js.map +1 -0
  91. package/dist/pupt-1.2.0.tgz +0 -0
  92. package/dist/schemas/config-schema.d.ts +1268 -0
  93. package/dist/schemas/config-schema.d.ts.map +1 -0
  94. package/dist/schemas/config-schema.js +100 -0
  95. package/dist/schemas/config-schema.js.map +1 -0
  96. package/dist/schemas/prompt-schema.d.ts +927 -0
  97. package/dist/schemas/prompt-schema.d.ts.map +1 -0
  98. package/dist/schemas/prompt-schema.js +110 -0
  99. package/dist/schemas/prompt-schema.js.map +1 -0
  100. package/dist/search/file-search-engine.d.ts +36 -0
  101. package/dist/search/file-search-engine.d.ts.map +1 -0
  102. package/dist/search/file-search-engine.js +184 -0
  103. package/dist/search/file-search-engine.js.map +1 -0
  104. package/dist/search/search-engine.d.ts +8 -0
  105. package/dist/search/search-engine.d.ts.map +1 -0
  106. package/dist/search/search-engine.js +52 -0
  107. package/dist/search/search-engine.js.map +1 -0
  108. package/dist/services/auto-annotation-service.d.ts +39 -0
  109. package/dist/services/auto-annotation-service.d.ts.map +1 -0
  110. package/dist/services/auto-annotation-service.js +203 -0
  111. package/dist/services/auto-annotation-service.js.map +1 -0
  112. package/dist/services/file-system-service.d.ts +42 -0
  113. package/dist/services/file-system-service.d.ts.map +1 -0
  114. package/dist/services/file-system-service.js +269 -0
  115. package/dist/services/file-system-service.js.map +1 -0
  116. package/dist/services/git-service.d.ts +27 -0
  117. package/dist/services/git-service.d.ts.map +1 -0
  118. package/dist/services/git-service.js +157 -0
  119. package/dist/services/git-service.js.map +1 -0
  120. package/dist/services/logging-service.d.ts +50 -0
  121. package/dist/services/logging-service.d.ts.map +1 -0
  122. package/dist/services/logging-service.js +203 -0
  123. package/dist/services/logging-service.js.map +1 -0
  124. package/dist/services/output-capture-service.d.ts +25 -0
  125. package/dist/services/output-capture-service.d.ts.map +1 -0
  126. package/dist/services/output-capture-service.js +277 -0
  127. package/dist/services/output-capture-service.js.map +1 -0
  128. package/dist/services/pattern-detector.d.ts +15 -0
  129. package/dist/services/pattern-detector.d.ts.map +1 -0
  130. package/dist/services/pattern-detector.js +219 -0
  131. package/dist/services/pattern-detector.js.map +1 -0
  132. package/dist/services/prompt-service.d.ts +30 -0
  133. package/dist/services/prompt-service.d.ts.map +1 -0
  134. package/dist/services/prompt-service.js +278 -0
  135. package/dist/services/prompt-service.js.map +1 -0
  136. package/dist/services/review-data-builder.d.ts +22 -0
  137. package/dist/services/review-data-builder.d.ts.map +1 -0
  138. package/dist/services/review-data-builder.js +263 -0
  139. package/dist/services/review-data-builder.js.map +1 -0
  140. package/dist/services/suggestion-generator.d.ts +11 -0
  141. package/dist/services/suggestion-generator.d.ts.map +1 -0
  142. package/dist/services/suggestion-generator.js +146 -0
  143. package/dist/services/suggestion-generator.js.map +1 -0
  144. package/dist/services/ui-service.d.ts +49 -0
  145. package/dist/services/ui-service.d.ts.map +1 -0
  146. package/dist/services/ui-service.js +183 -0
  147. package/dist/services/ui-service.js.map +1 -0
  148. package/dist/template/helpers/index.d.ts +4 -0
  149. package/dist/template/helpers/index.d.ts.map +1 -0
  150. package/dist/template/helpers/index.js +132 -0
  151. package/dist/template/helpers/index.js.map +1 -0
  152. package/dist/template/template-context.d.ts +26 -0
  153. package/dist/template/template-context.d.ts.map +1 -0
  154. package/dist/template/template-context.js +65 -0
  155. package/dist/template/template-context.js.map +1 -0
  156. package/dist/template/template-engine.d.ts +13 -0
  157. package/dist/template/template-engine.d.ts.map +1 -0
  158. package/dist/template/template-engine.js +83 -0
  159. package/dist/template/template-engine.js.map +1 -0
  160. package/dist/types/annotations.d.ts +49 -0
  161. package/dist/types/annotations.d.ts.map +1 -0
  162. package/dist/types/annotations.js +2 -0
  163. package/dist/types/annotations.js.map +1 -0
  164. package/dist/types/config.d.ts +49 -0
  165. package/dist/types/config.d.ts.map +1 -0
  166. package/dist/types/config.js +8 -0
  167. package/dist/types/config.js.map +1 -0
  168. package/dist/types/history.d.ts +32 -0
  169. package/dist/types/history.d.ts.map +1 -0
  170. package/dist/types/history.js +2 -0
  171. package/dist/types/history.js.map +1 -0
  172. package/dist/types/patterns.d.ts +24 -0
  173. package/dist/types/patterns.d.ts.map +1 -0
  174. package/dist/types/patterns.js +2 -0
  175. package/dist/types/patterns.js.map +1 -0
  176. package/dist/types/prompt.d.ts +23 -0
  177. package/dist/types/prompt.d.ts.map +1 -0
  178. package/dist/types/prompt.js +2 -0
  179. package/dist/types/prompt.js.map +1 -0
  180. package/dist/types/review.d.ts +76 -0
  181. package/dist/types/review.d.ts.map +1 -0
  182. package/dist/types/review.js +2 -0
  183. package/dist/types/review.js.map +1 -0
  184. package/dist/ui/console-ui.d.ts +35 -0
  185. package/dist/ui/console-ui.d.ts.map +1 -0
  186. package/dist/ui/console-ui.js +83 -0
  187. package/dist/ui/console-ui.js.map +1 -0
  188. package/dist/ui/interactive-search.d.ts +8 -0
  189. package/dist/ui/interactive-search.d.ts.map +1 -0
  190. package/dist/ui/interactive-search.js +29 -0
  191. package/dist/ui/interactive-search.js.map +1 -0
  192. package/dist/utils/date-formatter.d.ts +10 -0
  193. package/dist/utils/date-formatter.d.ts.map +1 -0
  194. package/dist/utils/date-formatter.js +43 -0
  195. package/dist/utils/date-formatter.js.map +1 -0
  196. package/dist/utils/editor.d.ts +13 -0
  197. package/dist/utils/editor.d.ts.map +1 -0
  198. package/dist/utils/editor.js +62 -0
  199. package/dist/utils/editor.js.map +1 -0
  200. package/dist/utils/errors.d.ts +55 -0
  201. package/dist/utils/errors.d.ts.map +1 -0
  202. package/dist/utils/errors.js +248 -0
  203. package/dist/utils/errors.js.map +1 -0
  204. package/dist/utils/file-utils.d.ts +18 -0
  205. package/dist/utils/file-utils.d.ts.map +1 -0
  206. package/dist/utils/file-utils.js +88 -0
  207. package/dist/utils/file-utils.js.map +1 -0
  208. package/dist/utils/git-info.d.ts +8 -0
  209. package/dist/utils/git-info.d.ts.map +1 -0
  210. package/dist/utils/git-info.js +41 -0
  211. package/dist/utils/git-info.js.map +1 -0
  212. package/dist/utils/gitignore.d.ts +10 -0
  213. package/dist/utils/gitignore.d.ts.map +1 -0
  214. package/dist/utils/gitignore.js +72 -0
  215. package/dist/utils/gitignore.js.map +1 -0
  216. package/dist/utils/handlebars-extensions.d.ts +4 -0
  217. package/dist/utils/handlebars-extensions.d.ts.map +1 -0
  218. package/dist/utils/handlebars-extensions.js +87 -0
  219. package/dist/utils/handlebars-extensions.js.map +1 -0
  220. package/dist/utils/logger.d.ts +39 -0
  221. package/dist/utils/logger.d.ts.map +1 -0
  222. package/dist/utils/logger.js +143 -0
  223. package/dist/utils/logger.js.map +1 -0
  224. package/dist/utils/platform.d.ts +9 -0
  225. package/dist/utils/platform.d.ts.map +1 -0
  226. package/dist/utils/platform.js +44 -0
  227. package/dist/utils/platform.js.map +1 -0
  228. package/dist/utils/security.d.ts +5 -0
  229. package/dist/utils/security.d.ts.map +1 -0
  230. package/dist/utils/security.js +57 -0
  231. package/dist/utils/security.js.map +1 -0
  232. package/dist/utils/tool-detection.d.ts +11 -0
  233. package/dist/utils/tool-detection.d.ts.map +1 -0
  234. package/dist/utils/tool-detection.js +32 -0
  235. package/dist/utils/tool-detection.js.map +1 -0
  236. package/dist/utils/trie.d.ts +18 -0
  237. package/dist/utils/trie.d.ts.map +1 -0
  238. package/dist/utils/trie.js +84 -0
  239. package/dist/utils/trie.js.map +1 -0
  240. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-analyzer.js","sourceRoot":"","sources":["../../src/annotations/annotation-analyzer.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,kBAAkB;IACrB,YAAY,GAAG;QACrB,gBAAgB,EAAE;YAChB,2EAA2E;YAC3E,6DAA6D;YAC7D,oBAAoB;YACpB,6EAA6E;YAC7E,8CAA8C;YAC9C,mEAAmE;YACnE,sCAAsC;SACvC;QACD,eAAe,EAAE;YACf,gCAAgC;YAChC,kDAAkD;YAClD,8BAA8B;YAC9B,2BAA2B;YAC3B,2BAA2B;YAC3B,oDAAoD;YACpD,+CAA+C;SAChD;QACD,qBAAqB,EAAE;YACrB,yDAAyD;YACzD,iDAAiD;YACjD,sDAAsD;YACtD,qBAAqB;YACrB,qBAAqB;YACrB,iEAAiE;SAClE;QACD,kBAAkB,EAAE;YAClB,4EAA4E;YAC5E,0EAA0E;YAC1E,uDAAuD;YACvD,yEAAyE;SAC1E;KACF,CAAC;IAEF,gBAAgB,CAAC,WAA4B;QAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAqB;gBAC/B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtB,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;gBACnD,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE;aACzC,CAAC;YAEF,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBAC3B,MAAM,CAAC,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;YACrD,CAAC;YAED,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACnD,CAAC;YAED,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;YAC3C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,WAA+B;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAEnC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,iCAAiC;YACjC,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACpC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1D,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,WAA+B;QAC9C,MAAM,WAAW,GAAsC,EAAE,CAAC;QAE1D,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;oBACD,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,yBAAyB,CAAC,WAA+B;QACvD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAE7C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,+BAA+B;YAC/B,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACpC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1D,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,WAA+B;QAChD,MAAM,kBAAkB,GAAG;YACzB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;SACX,CAAC;QAEF,MAAM,SAAS,GAA2B,EAAE,CAAC;QAE7C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAEjC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEvB,OAAO;YACL,gBAAgB,EAAE,WAAW,CAAC,MAAM;YACpC,kBAAkB;YAClB,gBAAgB,EAAE,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC;YAC7D,UAAU;YACV,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;SACrD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7D,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,iBAAiB,CAAC,WAAmB;QAC3C,oDAAoD;QACpD,uDAAuD;QACvD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtC,CAAC;CACF"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,375 @@
1
+ #!/usr/bin/env node
2
+ import { program } from 'commander';
3
+ import { readFileSync } from 'node:fs';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { dirname, join } from 'node:path';
6
+ import * as path from 'node:path';
7
+ import chalk from 'chalk';
8
+ import { ConfigManager } from './config/config-manager.js';
9
+ import { PromptManager } from './prompts/prompt-manager.js';
10
+ import { InteractiveSearch } from './ui/interactive-search.js';
11
+ import { TemplateEngine } from './template/template-engine.js';
12
+ import { HistoryManager } from './history/history-manager.js';
13
+ import { initCommand } from './commands/init.js';
14
+ import { historyCommand } from './commands/history.js';
15
+ import { addCommand } from './commands/add.js';
16
+ import { editCommand } from './commands/edit.js';
17
+ import { runCommand } from './commands/run.js';
18
+ import { annotateCommand } from './commands/annotate.js';
19
+ import { installCommand } from './commands/install.js';
20
+ import { helpCommand } from './commands/help.js';
21
+ import { reviewCommand } from './commands/review.js';
22
+ import fs from 'fs-extra';
23
+ import { logger } from './utils/logger.js';
24
+ import { errors, displayError } from './utils/errors.js';
25
+ const __filename = fileURLToPath(import.meta.url);
26
+ const __dirname = dirname(__filename);
27
+ const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
28
+ // Ensure terminal is restored on exit
29
+ function ensureTerminalCleanup() {
30
+ try {
31
+ if (process.stdin.isTTY && process.stdin.setRawMode) {
32
+ process.stdin.setRawMode(false);
33
+ }
34
+ }
35
+ catch {
36
+ // Ignore errors - terminal might already be in correct state
37
+ }
38
+ }
39
+ // Set up cleanup handlers
40
+ process.on('exit', ensureTerminalCleanup);
41
+ process.on('SIGINT', () => {
42
+ ensureTerminalCleanup();
43
+ process.exit(130); // Standard exit code for SIGINT
44
+ });
45
+ process.on('SIGTERM', () => {
46
+ ensureTerminalCleanup();
47
+ process.exit(143); // Standard exit code for SIGTERM
48
+ });
49
+ async function checkAndMigrateOldConfig() {
50
+ // Skip the check in test environment or non-TTY (non-interactive) mode
51
+ if (process.env.NODE_ENV === 'test' || !process.stdin.isTTY) {
52
+ return;
53
+ }
54
+ // Check for old config files in current directory
55
+ const oldFiles = await ConfigManager.checkForOldConfigFiles();
56
+ if (oldFiles.length > 0) {
57
+ logger.warn(chalk.yellow('\nāš ļø Warning: Found old config file(s):'));
58
+ oldFiles.forEach(file => {
59
+ logger.warn(chalk.yellow(` - ${path.basename(file)}`));
60
+ });
61
+ logger.warn(chalk.yellow('\nThe config file naming has changed from .ptrc to .pt-config'));
62
+ logger.warn(chalk.yellow('Would you like to rename your config file(s)? (y/n): '));
63
+ // Get user input
64
+ const { confirm } = await import('@inquirer/prompts');
65
+ const shouldRename = await confirm({
66
+ message: 'Rename config file(s) to new format?',
67
+ default: true
68
+ });
69
+ if (shouldRename) {
70
+ for (const oldFile of oldFiles) {
71
+ try {
72
+ const newPath = await ConfigManager.renameOldConfigFile(oldFile);
73
+ logger.log(chalk.green(`āœ“ Renamed ${path.basename(oldFile)} to ${path.basename(newPath)}`));
74
+ }
75
+ catch (error) {
76
+ logger.error(chalk.red(`āœ— Failed to rename ${path.basename(oldFile)}: ${error instanceof Error ? error.message : String(error)}`));
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ // Check for old config files before running commands
83
+ await checkAndMigrateOldConfig();
84
+ program
85
+ .name('pt')
86
+ .description('CLI tool for managing AI prompts')
87
+ .version(packageJson.version)
88
+ .action(async () => {
89
+ try {
90
+ // Load configuration
91
+ const configResult = await ConfigManager.loadWithPath();
92
+ const config = configResult.config;
93
+ const configDir = configResult.filepath ? path.dirname(configResult.filepath) : undefined;
94
+ // Ensure prompt directories exist
95
+ for (const dir of config.promptDirs) {
96
+ await fs.ensureDir(dir);
97
+ }
98
+ // Discover prompts
99
+ const promptManager = new PromptManager(config.promptDirs);
100
+ const prompts = await promptManager.discoverPrompts();
101
+ if (prompts.length === 0) {
102
+ throw errors.noPromptsFound(config.promptDirs);
103
+ }
104
+ // Interactive search to select prompt
105
+ const search = new InteractiveSearch();
106
+ const selected = await search.selectPrompt(prompts);
107
+ logger.log(chalk.blue(`\nProcessing: ${selected.title}`));
108
+ logger.log(chalk.dim(`Location: ${selected.path}\n`));
109
+ // Capture timestamp at start of prompt processing
110
+ const startTimestamp = new Date();
111
+ // Process template
112
+ const engine = new TemplateEngine(config, configDir);
113
+ const result = await engine.processTemplate(selected.content, selected);
114
+ // Display result
115
+ logger.log(chalk.green('\n' + '='.repeat(60)));
116
+ logger.log(chalk.bold('Generated Prompt:'));
117
+ logger.log(chalk.green('='.repeat(60) + '\n'));
118
+ logger.log(result);
119
+ logger.log(chalk.green('\n' + '='.repeat(60)));
120
+ // Check if autoRun is enabled
121
+ const willAutoRun = config.autoRun && config.defaultCmd && config.defaultCmd.trim() !== '';
122
+ // Save to history if configured and NOT autoRunning (autoRun saves its own history)
123
+ if (config.historyDir && !willAutoRun) {
124
+ const historyManager = new HistoryManager(config.historyDir, config.annotationDir);
125
+ await historyManager.savePrompt({
126
+ templatePath: selected.path,
127
+ templateContent: selected.content,
128
+ variables: engine.getContext().getMaskedValues(),
129
+ finalPrompt: result,
130
+ title: selected.title,
131
+ timestamp: startTimestamp
132
+ });
133
+ logger.log(chalk.dim(`\nSaved to history: ${config.historyDir}`));
134
+ }
135
+ // Execute autoRun if enabled
136
+ if (willAutoRun) {
137
+ // Use the run command implementation
138
+ await runCommand([], {
139
+ prompt: result,
140
+ templateInfo: {
141
+ templatePath: selected.path,
142
+ templateContent: selected.content,
143
+ variables: engine.getContext().getMaskedValues(),
144
+ finalPrompt: result,
145
+ title: selected.title,
146
+ timestamp: startTimestamp,
147
+ summary: selected.summary,
148
+ reviewFiles: engine.getContext().getVariablesByType('reviewFile')
149
+ },
150
+ isAutoRun: true
151
+ });
152
+ }
153
+ }
154
+ catch (error) {
155
+ if (error instanceof Error && error.message.includes('User force closed')) {
156
+ // User cancelled
157
+ process.exit(0);
158
+ }
159
+ displayError(error);
160
+ process.exit(1);
161
+ }
162
+ });
163
+ // Add init command
164
+ program
165
+ .command('init')
166
+ .description('Initialize a new prompt tool configuration')
167
+ .action(async () => {
168
+ try {
169
+ await initCommand();
170
+ }
171
+ catch (error) {
172
+ displayError(error);
173
+ process.exit(1);
174
+ }
175
+ });
176
+ // Add history command
177
+ program
178
+ .command('history [entry]')
179
+ .description('Show prompt execution history or a specific entry')
180
+ .option('-l, --limit <number>', 'Number of entries to show', '20')
181
+ .option('-a, --all', 'Show all history entries')
182
+ .option('-r, --result <number>', 'Show history entry with its output')
183
+ .action(async (entry, options) => {
184
+ try {
185
+ await historyCommand({
186
+ limit: options.all ? undefined : parseInt(options.limit),
187
+ all: options.all,
188
+ entry: entry ? parseInt(entry) : undefined,
189
+ result: options.result ? parseInt(options.result) : undefined
190
+ });
191
+ }
192
+ catch (error) {
193
+ displayError(error);
194
+ process.exit(1);
195
+ }
196
+ });
197
+ // Add command
198
+ program
199
+ .command('add')
200
+ .description('Create a new prompt interactively')
201
+ .action(async () => {
202
+ try {
203
+ await addCommand();
204
+ }
205
+ catch (error) {
206
+ displayError(error);
207
+ process.exit(1);
208
+ }
209
+ });
210
+ // Edit command
211
+ program
212
+ .command('edit')
213
+ .description('Edit an existing prompt in your editor')
214
+ .action(async () => {
215
+ try {
216
+ await editCommand();
217
+ }
218
+ catch (error) {
219
+ displayError(error);
220
+ process.exit(1);
221
+ }
222
+ });
223
+ // Run command
224
+ program
225
+ .command('run [tool] [args...]')
226
+ .description('Execute a prompt with an external tool')
227
+ .usage('[tool] [args...] [-- tool-specific-args]')
228
+ .option('-h, --history <number>', 'Use prompt from history by number')
229
+ .helpOption('--help', 'Display help for run command')
230
+ .addHelpText('after', `
231
+ Examples:
232
+ pt run # Use configured coding tool
233
+ pt run cat # Pipe prompt to cat
234
+ pt run code - # Open in VS Code
235
+ pt run claude # Send to Claude
236
+ pt run -- --continue # Pass args to configured tool
237
+ pt run npm test -- --coverage # Complex command with args
238
+ pt run -h 3 # Re-run prompt from history #3
239
+ pt run -h 1 claude # Send history #1 to claude
240
+ `)
241
+ .action(async (tool, args, options) => {
242
+ try {
243
+ // Combine tool and args into single array
244
+ const allArgs = tool ? [tool, ...args] : args;
245
+ await runCommand(allArgs, {
246
+ historyIndex: options.history ? parseInt(options.history) : undefined
247
+ });
248
+ }
249
+ catch (error) {
250
+ displayError(error);
251
+ process.exit(1);
252
+ }
253
+ });
254
+ // Annotate command
255
+ program
256
+ .command('annotate [history-number]')
257
+ .description('Add notes to a history entry')
258
+ .action(async (historyNumber) => {
259
+ try {
260
+ await annotateCommand(historyNumber ? parseInt(historyNumber) : undefined);
261
+ }
262
+ catch (error) {
263
+ displayError(error);
264
+ process.exit(1);
265
+ }
266
+ });
267
+ // Install command
268
+ program
269
+ .command('install <source>')
270
+ .description('Install prompts from a git repository or npm package')
271
+ .addHelpText('after', `
272
+ Examples:
273
+ pt install https://github.com/user/prompts # Install from GitHub
274
+ pt install git@github.com:user/prompts.git # Install via SSH
275
+ pt install @org/prompts # Install from npm (coming soon)
276
+ `)
277
+ .action(async (source) => {
278
+ try {
279
+ await installCommand(source);
280
+ }
281
+ catch (error) {
282
+ displayError(error);
283
+ process.exit(1);
284
+ }
285
+ });
286
+ // Add example command
287
+ program
288
+ .command('example')
289
+ .description('Create an example prompt in the current directory')
290
+ .action(async () => {
291
+ const examplePath = './.prompts/example-api-client.md';
292
+ const exampleContent = `---
293
+ title: API Client Generator
294
+ labels: [api, typescript, client]
295
+ variables:
296
+ - name: serviceName
297
+ type: input
298
+ message: "What is the name of your API service?"
299
+ default: "MyAPI"
300
+ - name: authType
301
+ type: select
302
+ message: "Choose authentication type:"
303
+ choices: ["none", "api-key", "oauth2", "basic"]
304
+ ---
305
+
306
+ # {{serviceName}} API Client
307
+
308
+ Generate a TypeScript API client for {{serviceName}}.
309
+
310
+ ## Authentication
311
+ Type: {{authType}}
312
+
313
+ ## Base Configuration
314
+ \`\`\`typescript
315
+ export class {{serviceName}}Client {
316
+ private baseUrl: string;
317
+
318
+ constructor(baseUrl: string) {
319
+ this.baseUrl = baseUrl;
320
+ }
321
+
322
+ // Add methods here
323
+ }
324
+ \`\`\`
325
+
326
+ Generated on {{date}} by {{username}}.
327
+ `;
328
+ await fs.ensureDir('./.prompts');
329
+ await fs.writeFile(examplePath, exampleContent);
330
+ logger.log(chalk.green(`Created example prompt: ${examplePath}`));
331
+ logger.log(chalk.dim('\nRun "pt" to try it out!'));
332
+ });
333
+ // Review command
334
+ program
335
+ .command('review [prompt-name]')
336
+ .description('Review prompt usage patterns and generate improvement suggestions')
337
+ .option('-f, --format <format>', 'Output format (json|markdown)', 'markdown')
338
+ .option('-s, --since <time>', 'Time filter (e.g., 7d, 24h, 2w)', '30d')
339
+ .option('-o, --output <file>', 'Write output to file instead of stdout')
340
+ .addHelpText('after', `
341
+ Examples:
342
+ pt review # Review all prompts from last 30 days
343
+ pt review api-client # Review specific prompt
344
+ pt review -s 7d # Review last 7 days
345
+ pt review -f json # Output as JSON
346
+ pt review -o review.json # Save to file
347
+ `)
348
+ .action(async (promptName, options) => {
349
+ try {
350
+ await reviewCommand(promptName, {
351
+ format: options.format,
352
+ since: options.since,
353
+ output: options.output
354
+ });
355
+ }
356
+ catch (error) {
357
+ displayError(error);
358
+ process.exit(1);
359
+ }
360
+ });
361
+ // Help command
362
+ program
363
+ .command('help [command]')
364
+ .description('Display help information for a command')
365
+ .action(async (command) => {
366
+ try {
367
+ await helpCommand(command);
368
+ }
369
+ catch (error) {
370
+ displayError(error);
371
+ process.exit(1);
372
+ }
373
+ });
374
+ program.parse();
375
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,sCAAsC;AACtC,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;AACrD,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC;AACtD,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,wBAAwB;IACrC,uEAAuE;IACvE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,sBAAsB,EAAE,CAAC;IAE9D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAEnF,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACjC,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrI,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,wBAAwB,EAAE,CAAC;AAEjC,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,kCAAkC,CAAC;KAC/C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1F,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,mBAAmB;QACnB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;QAEtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAEtD,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAElC,mBAAmB;QACnB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAExE,iBAAiB;QACjB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAE3F,oFAAoF;QACpF,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YACnF,MAAM,cAAc,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,eAAe,EAAE,QAAQ,CAAC,OAAO;gBACjC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE;gBAChD,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAW,EAAE,CAAC;YAChB,qCAAqC;YACrC,MAAM,UAAU,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE;oBACZ,YAAY,EAAE,QAAQ,CAAC,IAAI;oBAC3B,eAAe,EAAE,QAAQ,CAAC,OAAO;oBACjC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE;oBAChD,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,cAAc;oBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC;iBAClE;gBACD,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,iBAAiB;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,uBAAuB,EAAE,oCAAoC,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,cAAc,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACxD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,wCAAwC,CAAC;KACrD,KAAK,CAAC,0CAA0C,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,mCAAmC,CAAC;KACrE,UAAU,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KACpD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;CAUvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,MAAM,UAAU,CAAC,OAAO,EAAE;YACxB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,2BAA2B,CAAC;KACpC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,sDAAsD,CAAC;KACnE,WAAW,CAAC,OAAO,EAAE;;;;;CAKvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACvB,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,WAAW,GAAG,kCAAkC,CAAC;IACvD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC1B,CAAC;IAEE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEhD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,UAAU,CAAC;KAC5E,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,WAAW,CAAC,OAAO,EAAE;;;;;;;CAOvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function addCommand(): Promise<void>;
2
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAWA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiFhD"}
@@ -0,0 +1,149 @@
1
+ import { input, select, confirm } from '@inquirer/prompts';
2
+ import { ConfigManager } from '../config/config-manager.js';
3
+ import fs from 'fs-extra';
4
+ import path from 'node:path';
5
+ import { execSync } from 'node:child_process';
6
+ import chalk from 'chalk';
7
+ import { editorLauncher } from '../utils/editor.js';
8
+ import { errors } from '../utils/errors.js';
9
+ import { DateFormats } from '../utils/date-formatter.js';
10
+ import { logger } from '../utils/logger.js';
11
+ export async function addCommand() {
12
+ // Load configuration
13
+ const config = await ConfigManager.load();
14
+ if (!config.promptDirs || config.promptDirs.length === 0) {
15
+ throw errors.noPromptsFound([]);
16
+ }
17
+ // Get prompt title
18
+ const title = await input({
19
+ message: 'Prompt title:',
20
+ validate: (value) => {
21
+ if (value.trim().length === 0) {
22
+ return 'Title is required\n\nExamples:\n • "API Client Generator"\n • "React Component Builder"\n • "Database Schema Designer"';
23
+ }
24
+ return true;
25
+ }
26
+ });
27
+ // Get labels
28
+ const labelsInput = await input({
29
+ message: 'Labels (comma-separated, optional):',
30
+ default: ''
31
+ });
32
+ const labels = labelsInput
33
+ .split(',')
34
+ .map(l => l.trim())
35
+ .filter(l => l.length > 0);
36
+ // Select directory if multiple
37
+ let targetDir = config.promptDirs[0];
38
+ if (config.promptDirs.length > 1) {
39
+ targetDir = await select({
40
+ message: 'Save to directory:',
41
+ choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
42
+ });
43
+ }
44
+ // Get author info from git
45
+ const author = getGitAuthor();
46
+ // Generate filename
47
+ const filename = await generateFilename(title, targetDir);
48
+ const filepath = path.join(targetDir, filename);
49
+ // Create prompt content
50
+ const date = new Date();
51
+ const dateStr = DateFormats.YYYYMMDD(date);
52
+ const content = `---
53
+ title: ${title}
54
+ author: ${author}
55
+ creationDate: ${dateStr}
56
+ labels: [${labels.join(', ')}]
57
+ ---
58
+
59
+ {{!-- Add your prompt content here --}}
60
+ `;
61
+ // Write file
62
+ try {
63
+ await fs.writeFile(filepath, content);
64
+ logger.log(chalk.green('āœ… Created prompt: ') + filepath);
65
+ }
66
+ catch (error) {
67
+ const err = error;
68
+ if (err.code === 'EACCES') {
69
+ throw errors.permissionDenied(targetDir);
70
+ }
71
+ throw errors.fileNotFound(targetDir);
72
+ }
73
+ // Ask to open in editor
74
+ const shouldOpen = await confirm({
75
+ message: 'Open in editor now?',
76
+ default: true
77
+ });
78
+ if (shouldOpen) {
79
+ await openInEditor(filepath);
80
+ }
81
+ }
82
+ function getGitAuthor() {
83
+ try {
84
+ let name = '';
85
+ let email = '';
86
+ try {
87
+ name = execSync('git config user.name', { encoding: 'utf8' }).trim();
88
+ }
89
+ catch {
90
+ // name not configured
91
+ }
92
+ try {
93
+ email = execSync('git config user.email', { encoding: 'utf8' }).trim();
94
+ }
95
+ catch {
96
+ // email not configured
97
+ }
98
+ if (name && email) {
99
+ return `${name} <${email}>`;
100
+ }
101
+ else if (name) {
102
+ return name;
103
+ }
104
+ else {
105
+ return 'unknown';
106
+ }
107
+ }
108
+ catch {
109
+ return 'unknown';
110
+ }
111
+ }
112
+ async function generateFilename(title, directory) {
113
+ // Convert to kebab-case and remove special characters
114
+ const base = title
115
+ .toLowerCase()
116
+ .normalize('NFD')
117
+ .replace(/[\u0300-\u036f]/g, '') // Remove diacritics
118
+ .replace(/[^a-z0-9\s-]/g, ' ') // Replace special chars with spaces
119
+ .trim()
120
+ .replace(/\s+/g, '-') // Replace spaces with hyphens
121
+ .replace(/-+/g, '-') // Remove multiple hyphens
122
+ .replace(/^-|-$/g, ''); // Remove leading/trailing hyphens
123
+ // Start with base filename
124
+ let filename = `${base}.md`;
125
+ let counter = 1;
126
+ // Check for existing files and increment if needed
127
+ while (await fs.pathExists(path.join(directory, filename))) {
128
+ filename = `${base}-${counter}.md`;
129
+ counter++;
130
+ }
131
+ return filename;
132
+ }
133
+ async function openInEditor(filepath) {
134
+ const editor = await editorLauncher.findEditor();
135
+ if (!editor) {
136
+ logger.log(errors.noEditor().message);
137
+ logger.log(chalk.yellow('\nšŸ“ Open the file manually:'), filepath);
138
+ return;
139
+ }
140
+ // Open the file
141
+ try {
142
+ await editorLauncher.openInEditor(editor, filepath);
143
+ }
144
+ catch {
145
+ logger.log(chalk.yellow('āš ļø Failed to open editor'));
146
+ logger.log(chalk.yellow('šŸ“ Open the file manually:'), filepath);
147
+ }
148
+ }
149
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAE1C,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB;IACnB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC;QACxB,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,2HAA2H,CAAC;YACrI,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IAEH,aAAa;IACb,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;QAC9B,OAAO,EAAE,qCAAqC;QAC9C,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,WAAW;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,+BAA+B;IAC/B,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,MAAM,MAAM,CAAC;YACvB,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,oBAAoB;IACpB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhD,wBAAwB;IACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG;SACT,KAAK;UACJ,MAAM;gBACA,OAAO;WACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;CAI3B,CAAC;IAEA,aAAa;IACb,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAA8B,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC;QAC/B,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC;YACH,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QAED,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,SAAiB;IAC9D,sDAAsD;IACtD,MAAM,IAAI,GAAG,KAAK;SACf,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,oBAAoB;SACpD,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,oCAAoC;SAClE,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,8BAA8B;SACnD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,0BAA0B;SAC9C,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;IAE5D,2BAA2B;IAC3B,IAAI,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,mDAAmD;IACnD,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3D,QAAQ,GAAG,GAAG,IAAI,IAAI,OAAO,KAAK,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function annotateCommand(historyNumber?: number): Promise<void>;
2
+ //# sourceMappingURL=annotate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/commands/annotate.ts"],"names":[],"mappings":"AAaA,wBAAsB,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyH3E"}