@houtini/lm 1.0.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 (260) hide show
  1. package/CHANGELOG.md +273 -0
  2. package/LICENSE +21 -0
  3. package/README.md +203 -0
  4. package/dist/cache/analysis-cache.d.ts +33 -0
  5. package/dist/cache/analysis-cache.d.ts.map +1 -0
  6. package/dist/cache/analysis-cache.js +56 -0
  7. package/dist/cache/analysis-cache.js.map +1 -0
  8. package/dist/cache/cache-manager.d.ts +29 -0
  9. package/dist/cache/cache-manager.d.ts.map +1 -0
  10. package/dist/cache/cache-manager.js +85 -0
  11. package/dist/cache/cache-manager.js.map +1 -0
  12. package/dist/cache/index.d.ts +16 -0
  13. package/dist/cache/index.d.ts.map +1 -0
  14. package/dist/cache/index.js +17 -0
  15. package/dist/cache/index.js.map +1 -0
  16. package/dist/cache/prompt-cache.d.ts +33 -0
  17. package/dist/cache/prompt-cache.d.ts.map +1 -0
  18. package/dist/cache/prompt-cache.js +61 -0
  19. package/dist/cache/prompt-cache.js.map +1 -0
  20. package/dist/config.d.ts +43 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +70 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/core/ThreeStagePromptManager.d.ts +39 -0
  25. package/dist/core/ThreeStagePromptManager.d.ts.map +1 -0
  26. package/dist/core/ThreeStagePromptManager.js +176 -0
  27. package/dist/core/ThreeStagePromptManager.js.map +1 -0
  28. package/dist/index.d.ts +6 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +230 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/plugins/base-plugin.d.ts +47 -0
  33. package/dist/plugins/base-plugin.d.ts.map +1 -0
  34. package/dist/plugins/base-plugin.js +90 -0
  35. package/dist/plugins/base-plugin.js.map +1 -0
  36. package/dist/plugins/index.d.ts +58 -0
  37. package/dist/plugins/index.d.ts.map +1 -0
  38. package/dist/plugins/index.js +161 -0
  39. package/dist/plugins/index.js.map +1 -0
  40. package/dist/plugins/types.d.ts +5 -0
  41. package/dist/plugins/types.d.ts.map +1 -0
  42. package/dist/plugins/types.js +5 -0
  43. package/dist/plugins/types.js.map +1 -0
  44. package/dist/prompts/analyze/code-quality.d.ts +116 -0
  45. package/dist/prompts/analyze/code-quality.d.ts.map +1 -0
  46. package/dist/prompts/analyze/code-quality.js +433 -0
  47. package/dist/prompts/analyze/code-quality.js.map +1 -0
  48. package/dist/prompts/analyze/compare-integration.d.ts +130 -0
  49. package/dist/prompts/analyze/compare-integration.d.ts.map +1 -0
  50. package/dist/prompts/analyze/compare-integration.js +543 -0
  51. package/dist/prompts/analyze/compare-integration.js.map +1 -0
  52. package/dist/prompts/analyze/count-files.d.ts +109 -0
  53. package/dist/prompts/analyze/count-files.d.ts.map +1 -0
  54. package/dist/prompts/analyze/count-files.js +399 -0
  55. package/dist/prompts/analyze/count-files.js.map +1 -0
  56. package/dist/prompts/analyze/database-queries.d.ts +156 -0
  57. package/dist/prompts/analyze/database-queries.d.ts.map +1 -0
  58. package/dist/prompts/analyze/database-queries.js +759 -0
  59. package/dist/prompts/analyze/database-queries.js.map +1 -0
  60. package/dist/prompts/analyze/dependencies.d.ts +97 -0
  61. package/dist/prompts/analyze/dependencies.d.ts.map +1 -0
  62. package/dist/prompts/analyze/dependencies.js +333 -0
  63. package/dist/prompts/analyze/dependencies.js.map +1 -0
  64. package/dist/prompts/analyze/diff-signatures.d.ts +139 -0
  65. package/dist/prompts/analyze/diff-signatures.d.ts.map +1 -0
  66. package/dist/prompts/analyze/diff-signatures.js +702 -0
  67. package/dist/prompts/analyze/diff-signatures.js.map +1 -0
  68. package/dist/prompts/analyze/find-patterns.d.ts +128 -0
  69. package/dist/prompts/analyze/find-patterns.d.ts.map +1 -0
  70. package/dist/prompts/analyze/find-patterns.js +520 -0
  71. package/dist/prompts/analyze/find-patterns.js.map +1 -0
  72. package/dist/prompts/analyze/find-unused-css.d.ts +151 -0
  73. package/dist/prompts/analyze/find-unused-css.d.ts.map +1 -0
  74. package/dist/prompts/analyze/find-unused-css.js +754 -0
  75. package/dist/prompts/analyze/find-unused-css.js.map +1 -0
  76. package/dist/prompts/analyze/n8n-workflow.d.ts +137 -0
  77. package/dist/prompts/analyze/n8n-workflow.d.ts.map +1 -0
  78. package/dist/prompts/analyze/n8n-workflow.js +529 -0
  79. package/dist/prompts/analyze/n8n-workflow.js.map +1 -0
  80. package/dist/prompts/analyze/project-structure.d.ts +126 -0
  81. package/dist/prompts/analyze/project-structure.d.ts.map +1 -0
  82. package/dist/prompts/analyze/project-structure.js +569 -0
  83. package/dist/prompts/analyze/project-structure.js.map +1 -0
  84. package/dist/prompts/analyze/security-audit.d.ts +142 -0
  85. package/dist/prompts/analyze/security-audit.d.ts.map +1 -0
  86. package/dist/prompts/analyze/security-audit.js +637 -0
  87. package/dist/prompts/analyze/security-audit.js.map +1 -0
  88. package/dist/prompts/analyze/single-file.d.ts +162 -0
  89. package/dist/prompts/analyze/single-file.d.ts.map +1 -0
  90. package/dist/prompts/analyze/single-file.js +665 -0
  91. package/dist/prompts/analyze/single-file.js.map +1 -0
  92. package/dist/prompts/analyze/trace-execution.d.ts +126 -0
  93. package/dist/prompts/analyze/trace-execution.d.ts.map +1 -0
  94. package/dist/prompts/analyze/trace-execution.js +609 -0
  95. package/dist/prompts/analyze/trace-execution.js.map +1 -0
  96. package/dist/prompts/analyze/wordpress-plugin-audit.d.ts +116 -0
  97. package/dist/prompts/analyze/wordpress-plugin-audit.d.ts.map +1 -0
  98. package/dist/prompts/analyze/wordpress-plugin-audit.js +454 -0
  99. package/dist/prompts/analyze/wordpress-plugin-audit.js.map +1 -0
  100. package/dist/prompts/analyze/wordpress-security.d.ts +146 -0
  101. package/dist/prompts/analyze/wordpress-security.d.ts.map +1 -0
  102. package/dist/prompts/analyze/wordpress-security.js +698 -0
  103. package/dist/prompts/analyze/wordpress-security.js.map +1 -0
  104. package/dist/prompts/analyze/wordpress-theme-audit.d.ts +114 -0
  105. package/dist/prompts/analyze/wordpress-theme-audit.d.ts.map +1 -0
  106. package/dist/prompts/analyze/wordpress-theme-audit.js +538 -0
  107. package/dist/prompts/analyze/wordpress-theme-audit.js.map +1 -0
  108. package/dist/prompts/custom/custom-prompt.d.ts +135 -0
  109. package/dist/prompts/custom/custom-prompt.d.ts.map +1 -0
  110. package/dist/prompts/custom/custom-prompt.js +419 -0
  111. package/dist/prompts/custom/custom-prompt.js.map +1 -0
  112. package/dist/prompts/fun/arcade-game.d.ts +152 -0
  113. package/dist/prompts/fun/arcade-game.d.ts.map +1 -0
  114. package/dist/prompts/fun/arcade-game.js +653 -0
  115. package/dist/prompts/fun/arcade-game.js.map +1 -0
  116. package/dist/prompts/fun/create_text_adventure.d.ts +100 -0
  117. package/dist/prompts/fun/create_text_adventure.d.ts.map +1 -0
  118. package/dist/prompts/fun/create_text_adventure.js +397 -0
  119. package/dist/prompts/fun/create_text_adventure.js.map +1 -0
  120. package/dist/prompts/fun/css-art-generator.d.ts +168 -0
  121. package/dist/prompts/fun/css-art-generator.d.ts.map +1 -0
  122. package/dist/prompts/fun/css-art-generator.js +827 -0
  123. package/dist/prompts/fun/css-art-generator.js.map +1 -0
  124. package/dist/prompts/generate/project-documentation.d.ts +137 -0
  125. package/dist/prompts/generate/project-documentation.d.ts.map +1 -0
  126. package/dist/prompts/generate/project-documentation.js +666 -0
  127. package/dist/prompts/generate/project-documentation.js.map +1 -0
  128. package/dist/prompts/generate/refactoring.d.ts +164 -0
  129. package/dist/prompts/generate/refactoring.d.ts.map +1 -0
  130. package/dist/prompts/generate/refactoring.js +621 -0
  131. package/dist/prompts/generate/refactoring.js.map +1 -0
  132. package/dist/prompts/generate/responsive-component.d.ts +147 -0
  133. package/dist/prompts/generate/responsive-component.d.ts.map +1 -0
  134. package/dist/prompts/generate/responsive-component.js +955 -0
  135. package/dist/prompts/generate/responsive-component.js.map +1 -0
  136. package/dist/prompts/generate/typescript-conversion.d.ts +144 -0
  137. package/dist/prompts/generate/typescript-conversion.d.ts.map +1 -0
  138. package/dist/prompts/generate/typescript-conversion.js +527 -0
  139. package/dist/prompts/generate/typescript-conversion.js.map +1 -0
  140. package/dist/prompts/generate/unit-tests.d.ts +139 -0
  141. package/dist/prompts/generate/unit-tests.d.ts.map +1 -0
  142. package/dist/prompts/generate/unit-tests.js +578 -0
  143. package/dist/prompts/generate/unit-tests.js.map +1 -0
  144. package/dist/prompts/generate/wordpress-plugin.d.ts +179 -0
  145. package/dist/prompts/generate/wordpress-plugin.d.ts.map +1 -0
  146. package/dist/prompts/generate/wordpress-plugin.js +763 -0
  147. package/dist/prompts/generate/wordpress-plugin.js.map +1 -0
  148. package/dist/prompts/generate/wordpress-theme-from-static.d.ts +177 -0
  149. package/dist/prompts/generate/wordpress-theme-from-static.d.ts.map +1 -0
  150. package/dist/prompts/generate/wordpress-theme-from-static.js +695 -0
  151. package/dist/prompts/generate/wordpress-theme-from-static.js.map +1 -0
  152. package/dist/prompts/shared/cache-manager.d.ts +45 -0
  153. package/dist/prompts/shared/cache-manager.d.ts.map +1 -0
  154. package/dist/prompts/shared/cache-manager.js +129 -0
  155. package/dist/prompts/shared/cache-manager.js.map +1 -0
  156. package/dist/prompts/shared/helpers.d.ts +39 -0
  157. package/dist/prompts/shared/helpers.d.ts.map +1 -0
  158. package/dist/prompts/shared/helpers.js +151 -0
  159. package/dist/prompts/shared/helpers.js.map +1 -0
  160. package/dist/prompts/shared/templates.d.ts +35 -0
  161. package/dist/prompts/shared/templates.d.ts.map +1 -0
  162. package/dist/prompts/shared/templates.js +77 -0
  163. package/dist/prompts/shared/templates.js.map +1 -0
  164. package/dist/prompts/shared/types.d.ts +112 -0
  165. package/dist/prompts/shared/types.d.ts.map +1 -0
  166. package/dist/prompts/shared/types.js +5 -0
  167. package/dist/prompts/shared/types.js.map +1 -0
  168. package/dist/prompts/system/find-unused-files.d.ts +106 -0
  169. package/dist/prompts/system/find-unused-files.d.ts.map +1 -0
  170. package/dist/prompts/system/find-unused-files.js +353 -0
  171. package/dist/prompts/system/find-unused-files.js.map +1 -0
  172. package/dist/security/index.d.ts +39 -0
  173. package/dist/security/index.d.ts.map +1 -0
  174. package/dist/security/index.js +46 -0
  175. package/dist/security/index.js.map +1 -0
  176. package/dist/security/integration-helpers.d.ts +121 -0
  177. package/dist/security/integration-helpers.d.ts.map +1 -0
  178. package/dist/security/integration-helpers.js +190 -0
  179. package/dist/security/integration-helpers.js.map +1 -0
  180. package/dist/security/output-encoder.d.ts +94 -0
  181. package/dist/security/output-encoder.d.ts.map +1 -0
  182. package/dist/security/output-encoder.js +295 -0
  183. package/dist/security/output-encoder.js.map +1 -0
  184. package/dist/security/prompt-injection-guard.d.ts +59 -0
  185. package/dist/security/prompt-injection-guard.d.ts.map +1 -0
  186. package/dist/security/prompt-injection-guard.js +249 -0
  187. package/dist/security/prompt-injection-guard.js.map +1 -0
  188. package/dist/security/sanitisation.d.ts +67 -0
  189. package/dist/security/sanitisation.d.ts.map +1 -0
  190. package/dist/security/sanitisation.js +398 -0
  191. package/dist/security/sanitisation.js.map +1 -0
  192. package/dist/security/security-service.d.ts +103 -0
  193. package/dist/security/security-service.d.ts.map +1 -0
  194. package/dist/security/security-service.js +303 -0
  195. package/dist/security/security-service.js.map +1 -0
  196. package/dist/security-config.d.ts +45 -0
  197. package/dist/security-config.d.ts.map +1 -0
  198. package/dist/security-config.js +63 -0
  199. package/dist/security-config.js.map +1 -0
  200. package/dist/system/function-list.d.ts +61 -0
  201. package/dist/system/function-list.d.ts.map +1 -0
  202. package/dist/system/function-list.js +111 -0
  203. package/dist/system/function-list.js.map +1 -0
  204. package/dist/system/function-registry.d.ts +23 -0
  205. package/dist/system/function-registry.d.ts.map +1 -0
  206. package/dist/system/function-registry.js +136 -0
  207. package/dist/system/function-registry.js.map +1 -0
  208. package/dist/system/health-check.d.ts +33 -0
  209. package/dist/system/health-check.d.ts.map +1 -0
  210. package/dist/system/health-check.js +98 -0
  211. package/dist/system/health-check.js.map +1 -0
  212. package/dist/system/path-resolver.d.ts +55 -0
  213. package/dist/system/path-resolver.d.ts.map +1 -0
  214. package/dist/system/path-resolver.js +90 -0
  215. package/dist/system/path-resolver.js.map +1 -0
  216. package/dist/templates/plugin-template.d.ts +121 -0
  217. package/dist/templates/plugin-template.d.ts.map +1 -0
  218. package/dist/templates/plugin-template.js +450 -0
  219. package/dist/templates/plugin-template.js.map +1 -0
  220. package/dist/types/chunking-types.d.ts +88 -0
  221. package/dist/types/chunking-types.d.ts.map +1 -0
  222. package/dist/types/chunking-types.js +18 -0
  223. package/dist/types/chunking-types.js.map +1 -0
  224. package/dist/types/prompt-stages.d.ts +42 -0
  225. package/dist/types/prompt-stages.d.ts.map +1 -0
  226. package/dist/types/prompt-stages.js +6 -0
  227. package/dist/types/prompt-stages.js.map +1 -0
  228. package/dist/types.d.ts +46 -0
  229. package/dist/types.d.ts.map +1 -0
  230. package/dist/types.js +6 -0
  231. package/dist/types.js.map +1 -0
  232. package/dist/utils/css-parser.d.ts +26 -0
  233. package/dist/utils/css-parser.d.ts.map +1 -0
  234. package/dist/utils/css-parser.js +117 -0
  235. package/dist/utils/css-parser.js.map +1 -0
  236. package/dist/utils/path-resolver.d.ts +13 -0
  237. package/dist/utils/path-resolver.d.ts.map +1 -0
  238. package/dist/utils/path-resolver.js +78 -0
  239. package/dist/utils/path-resolver.js.map +1 -0
  240. package/dist/utils/plugin-utilities.d.ts +171 -0
  241. package/dist/utils/plugin-utilities.d.ts.map +1 -0
  242. package/dist/utils/plugin-utilities.js +221 -0
  243. package/dist/utils/plugin-utilities.js.map +1 -0
  244. package/dist/utils/streamHandler.d.ts +3 -0
  245. package/dist/utils/streamHandler.d.ts.map +1 -0
  246. package/dist/utils/streamHandler.js +137 -0
  247. package/dist/utils/streamHandler.js.map +1 -0
  248. package/dist/validation/output-validator.d.ts +136 -0
  249. package/dist/validation/output-validator.d.ts.map +1 -0
  250. package/dist/validation/output-validator.js +262 -0
  251. package/dist/validation/output-validator.js.map +1 -0
  252. package/dist/validation/response-factory.d.ts +44 -0
  253. package/dist/validation/response-factory.d.ts.map +1 -0
  254. package/dist/validation/response-factory.js +202 -0
  255. package/dist/validation/response-factory.js.map +1 -0
  256. package/dist/validation/schemas.d.ts +519 -0
  257. package/dist/validation/schemas.d.ts.map +1 -0
  258. package/dist/validation/schemas.js +6 -0
  259. package/dist/validation/schemas.js.map +1 -0
  260. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordpress-theme-from-static.js","sourceRoot":"","sources":["../../../src/prompts/generate/wordpress-theme-from-static.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAW,OAAO,EAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGlE,MAAM,OAAO,iCAAkC,SAAQ,UAAU;IAqI/D;QACE,KAAK,EAAE,CAAC;QArIV,SAAI,GAAG,6BAA6B,CAAC;QACrC,aAAQ,GAAG,UAAmB,CAAC;QAC/B,gBAAW,GAAG,uGAAuG,CAAC;QAEtH,0EAA0E;QAC1E,eAAU,GAAG;YACX,gCAAgC;YAChC,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAgB;gBACtB,WAAW,EAAE,+EAA+E;gBAC5F,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;aACnC;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,KAAK;aAChB;YAED,6BAA6B;YAC7B,SAAS,EAAE;gBACT,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,qBAAqB;aAC/B;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,mBAAmB;gBAChC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,4CAA4C;aACtD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,mBAAmB;gBAChC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,iBAAiB;aAC3B;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,OAAO;aACjB;YAED,oCAAoC;YACpC,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,oDAAoD;gBACjE,QAAQ,EAAE,KAAK;aAChB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,KAAK;aAChB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,yDAAyD;gBACtE,QAAQ,EAAE,KAAK;aAChB;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAgB;gBACtB,WAAW,EAAE,gDAAgD;gBAC7D,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;aACnC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,yDAAyD;gBACtE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,CAAC;aACX;YAED,2BAA2B;YAC3B,gBAAgB,EAAE;gBAChB,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,iCAAiC;gBAC9C,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;aACd;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;aACf;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;aACd;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,iCAAiC;gBAC9C,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;aACd;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;aACd;YAED,uBAAuB;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,kDAAkD;gBAC/D,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM;aAChB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,+CAA+C;gBAC5D,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC;gBAC5C,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,KAAK;aAChB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC;gBAC/C,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QAEM,kBAAa,GAAG,gBAAgB,EAAE,CAAC;QACnC,sBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAIlD,qDAAqD;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAW,EAAE,SAAc;QACvC,OAAO,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACxE,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAE3D,gDAAgD;gBAChD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAEpD,iBAAiB;gBACjB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAE3E,0CAA0C;gBAC1C,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;oBACnC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACjF,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC,oBAAoB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAW;QACpC,wEAAwE;QACxE,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,wEAAwE;QACxE,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,gDAAgD;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAW,EAAE,IAAkC;QACxE,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClG,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC/C,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;QACnG,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,MAAW,EAAE,KAAU,EAAE,aAAqB;QACpF,8BAA8B;QAC9B,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;QACnC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAE3B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,gBAAgB,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAClD,GAAG,MAAM;YACT,OAAO,EAAE,gBAAgB;YACzB,SAAS;SACV,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,aAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG;gBACf,YAAY,CAAC,aAAa;gBAC1B,GAAG,YAAY,CAAC,YAAY;gBAC5B,YAAY,CAAC,eAAe;aAC7B,CAAC;YAEF,OAAO,MAAM,iBAAiB,CAAC,cAAc,CAC3C,QAAQ,EACR,KAAK,EACL,aAAa,EACb,6BAA6B,EAC7B,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,iBAAiB,CAAC,aAAa,CAC1C,YAAY,EACZ,KAAK,EACL,aAAa,EACb,6BAA6B,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,MAAW,EAAE,KAAU,EAAE,aAAqB;QACnF,IAAI,cAAmB,CAAC;QAExB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,6BAA6B;YAC7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACrD,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,CACpB,CAAC;YAEF,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAClD,cAAc,EACd,MAAM,EACN,KAAK,EACL,aAAa,CACd,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,uBAAuB;YACvB,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACjD,MAAM,CAAC,IAAI,EACX,MAAM,EACN,KAAK,EACL,aAAa,CACd,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;YACjD,GAAG,MAAM;YACT,cAAc;YACd,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,cAAc,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;SAC1E,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,aAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG;YACf,YAAY,CAAC,aAAa;YAC1B,GAAG,YAAY,CAAC,YAAY;YAC5B,YAAY,CAAC,eAAe;SAC7B,CAAC;QAEF,OAAO,MAAM,iBAAiB,CAAC,cAAc,CAC3C,QAAQ,EACR,KAAK,EACL,aAAa,EACb,6BAA6B,EAC7B,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,MAAW;QAC3C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;QAEhG,MAAM,gBAAgB,GAAG,0FAA0F,aAAa,IAAI,YAAY;;;;;;;;;;;;;;oBAchI,aAAa;sBACX,YAAY;iBACjB,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB;kCAC3C,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;;8IAEP,CAAC;QAE3I,MAAM,WAAW,GAAG;;;gBAGR,SAAS,IAAI,qBAAqB;iBACjC,gBAAgB,IAAI,4CAA4C;YACrE,MAAM,CAAC,WAAW,IAAI,iBAAiB;aACtC,MAAM,CAAC,YAAY,IAAI,OAAO;EACzC,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;;;oCAGX,MAAM,CAAC,gBAAgB,KAAK,KAAK;kCACnC,MAAM,CAAC,kBAAkB,IAAI,KAAK;sCAC9B,MAAM,CAAC,iBAAiB,KAAK,KAAK;8BAC1C,MAAM,CAAC,YAAY,KAAK,KAAK;0BACjC,MAAM,CAAC,eAAe,KAAK,KAAK;;;EAGxD,OAAO,CAAC,CAAC,CAAC;;;EAGV,OAAO;;CAER,CAAC,CAAC,CAAC;cACU,SAAS;;CAEtB;;;;;;;;4CAQ2C,CAAC;QAEzC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC7B,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;;;;;CAK3B,CAAC,CAAC,CAAC,EAAE;;EAEJ,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;;;;;CAK7B,CAAC,CAAC,CAAC,EAAE;;;;;;;cAOQ,SAAS,IAAI,qBAAqB;eACjC,gBAAgB,IAAI,4CAA4C;UACrE,MAAM,CAAC,WAAW,IAAI,iBAAiB;WACtC,MAAM,CAAC,YAAY,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gOAkCuL,CAAC;QAE7N,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,MAAW;QAC1C,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE5E,MAAM,gBAAgB,GAAG,+DAA+D,aAAa,IAAI,YAAY;;;mBAGtG,YAAY;oBACX,aAAa;sBACX,WAAW;;;0KAGyI,CAAC;QAEvK,MAAM,WAAW,GAAG;;EAEtB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAExC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAwEoI,CAAC;QAEhK,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAW;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,4BAA4B;IACpB,KAAK,CAAC,qBAAqB,CACjC,WAAmB,EACnB,QAAgB,EAChB,YAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,KAAe,EACf,MAAW,EACX,KAAU,EACV,aAAqB;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAC7C,6BAA6B,EAC7B,MAAM,EACN,KAAK,CACN,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CACnE,KAAK,EACL,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EACjE,aAAa,CACd,CAAC;QAEF,wDAAwD;QACxD,MAAM,gBAAgB,GAAG;YACvB,OAAO,EAAE,qCAAqC,KAAK,CAAC,MAAM,QAAQ;YAClE,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE;gBACJ,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,MAAW,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChG,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,MAAM;gBAC1E,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,MAAM;gBACxE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,MAAM;gBACtE,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC5H,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;gBAC/D,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;aACvD;SACF,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE;YACjE,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;YACtC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,IAAc,EACd,MAAW,EACX,KAAU,EACV,aAAqB;QAErB,8DAA8D;QAC9D,oEAAoE;QACpE,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,qCAAqC,IAAI,CAAC,MAAM,QAAQ;YACjE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzB,GAAG;gBACH,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;gBACxC,YAAY,EAAE,sEAAsE;aACrF,CAAC,CAAC;YACH,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACnE,oBAAoB,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;aACpF;SACF,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,MAAW,EAAE,KAAU;QACvE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,gCAAgC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QAEvD,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;YACjC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;YACxB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC;YACtD,UAAU;YACV,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3C,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACzF,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,QAAgB,EAAE,OAAe;QAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,UAAU,CAAC;QACjF,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,YAAY,CAAC;QACrD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,cAAc,CAAC;QACzD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,WAAW,CAAC;QACnD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,eAAe,CAAC;QAC1D,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAC3F,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,cAAc,CAAC;QACzD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,WAAW,CAAC;QAEnD,0BAA0B;QAC1B,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,WAAW,CAAC;QACvF,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,cAAc,CAAC;QAC7F,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAEpG,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,oBAAoB,CAAC,GAAW;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,WAAW,CAAC;QACjF,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,YAAY,CAAC;QACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,cAAc,CAAC;QACzD,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,eAAe,CAAC;QAC3D,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAC3F,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,cAAc,CAAC;QAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,UAAU,CAAC;QAE5E,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,qBAAqB,CAAC,OAAc;QAC1C,MAAM,QAAQ,GAAG;YACf,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;YAC/C,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACzC,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC7D,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;YACnD,gBAAgB,EAAE,EAAE;SACrB,CAAC;QAEF,IAAI,QAAQ,CAAC,YAAY;YAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,SAAS;YAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEjE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,iBAAiB,CAAC,OAAc;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAEO,iBAAiB,CAAC,YAAoB;QAC5C,MAAM,YAAY,GAA6B;YAC7C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;YAClC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YACjE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACnL,CAAC;QAEF,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC;IAClE,CAAC;IAEO,gBAAgB,CAAC,KAAe,EAAE,MAAW;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AAED,eAAe,iCAAiC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Cache Management Functions
3
+ * Handles cache operations for multi-file analysis
4
+ */
5
+ import { BasePlugin } from '../../plugins/base-plugin.js';
6
+ import { IPromptPlugin } from './types.js';
7
+ import { PromptStages } from '../../types/prompt-stages.js';
8
+ export declare class CacheManager {
9
+ private static cache;
10
+ static clear(filePath?: string): void;
11
+ static getStatistics(): any;
12
+ static getCacheSize(): number;
13
+ static estimateMemoryUsage(): string;
14
+ }
15
+ export declare class ClearCachePlugin extends BasePlugin implements IPromptPlugin {
16
+ name: string;
17
+ category: "system";
18
+ description: string;
19
+ parameters: {
20
+ filePath: {
21
+ type: "string";
22
+ description: string;
23
+ required: boolean;
24
+ };
25
+ };
26
+ execute(params: any, llmClient: any): Promise<any>;
27
+ getPromptStages(params: any): PromptStages;
28
+ getPrompt(params: any): string;
29
+ }
30
+ export declare class CacheStatisticsPlugin extends BasePlugin implements IPromptPlugin {
31
+ name: string;
32
+ category: "system";
33
+ description: string;
34
+ parameters: {};
35
+ execute(params: any, llmClient: any): Promise<any>;
36
+ getPromptStages(params: any): PromptStages;
37
+ getPrompt(params: any): string;
38
+ }
39
+ declare const _default: {
40
+ CacheManager: typeof CacheManager;
41
+ ClearCachePlugin: typeof ClearCachePlugin;
42
+ CacheStatisticsPlugin: typeof CacheStatisticsPlugin;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=cache-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../../src/prompts/shared/cache-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAA+B;IAEnD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQrC,MAAM,CAAC,aAAa,IAAI,GAAG;IAQ3B,MAAM,CAAC,YAAY,IAAI,MAAM;IAI7B,MAAM,CAAC,mBAAmB,IAAI,MAAM;CAIrC;AAED,qBAAa,gBAAiB,SAAQ,UAAW,YAAW,aAAa;IACvE,IAAI,SAA0B;IAC9B,QAAQ,EAAG,QAAQ,CAAU;IAC7B,WAAW,SAA0E;IAErF,UAAU;;;;;;MAMR;IAEI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAsBzC,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;IAS1C,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;CAI/B;AAED,qBAAa,qBAAsB,SAAQ,UAAW,YAAW,aAAa;IAC5E,IAAI,SAA0B;IAC9B,QAAQ,EAAG,QAAQ,CAAU;IAC7B,WAAW,SAAqD;IAEhE,UAAU,KAAM;IAEV,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAyBzC,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY;IAS1C,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;CAI/B;;;;;;AAED,wBAIE"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Cache Management Functions
3
+ * Handles cache operations for multi-file analysis
4
+ */
5
+ import { BasePlugin } from '../../plugins/base-plugin.js';
6
+ import { ResponseFactory } from '../../validation/response-factory.js';
7
+ import { withSecurity } from '../../security/integration-helpers.js';
8
+ export class CacheManager {
9
+ static clear(filePath) {
10
+ if (filePath) {
11
+ this.cache.delete(filePath);
12
+ }
13
+ else {
14
+ this.cache.clear();
15
+ }
16
+ }
17
+ static getStatistics() {
18
+ return {
19
+ totalEntries: this.cache.size,
20
+ memoryUsage: this.estimateMemoryUsage(),
21
+ files: Array.from(this.cache.keys())
22
+ };
23
+ }
24
+ static getCacheSize() {
25
+ return this.cache.size;
26
+ }
27
+ static estimateMemoryUsage() {
28
+ const size = JSON.stringify(Array.from(this.cache.entries())).length;
29
+ return `${(size / 1024).toFixed(2)} KB`;
30
+ }
31
+ }
32
+ CacheManager.cache = new Map();
33
+ export class ClearCachePlugin extends BasePlugin {
34
+ constructor() {
35
+ super(...arguments);
36
+ this.name = 'clear_analysis_cache';
37
+ this.category = 'system';
38
+ this.description = 'Clear the multi-file analysis cache for a specific file or all files';
39
+ this.parameters = {
40
+ filePath: {
41
+ type: 'string',
42
+ description: 'Optional: specific file to clear from cache',
43
+ required: false
44
+ }
45
+ };
46
+ }
47
+ async execute(params, llmClient) {
48
+ return await withSecurity(this, params, llmClient, async (secureParams) => {
49
+ const entriesBefore = CacheManager.getCacheSize();
50
+ CacheManager.clear(secureParams.filePath);
51
+ // Use ResponseFactory for consistent, spec-compliant output
52
+ ResponseFactory.setStartTime();
53
+ return ResponseFactory.createSystemResponse({
54
+ status: 'success',
55
+ details: {
56
+ success: true,
57
+ message: secureParams.filePath
58
+ ? `Cache cleared for ${secureParams.filePath}`
59
+ : 'All cache entries cleared',
60
+ filesCleared: secureParams.filePath ? 1 : entriesBefore,
61
+ memoryFreed: CacheManager.estimateMemoryUsage()
62
+ }
63
+ });
64
+ });
65
+ }
66
+ // MODERN: 3-Stage prompt architecture (system utility - no prompting needed)
67
+ getPromptStages(params) {
68
+ return {
69
+ systemAndContext: 'System cache management utility',
70
+ dataPayload: 'Cache clearing operation',
71
+ outputInstructions: 'Clear cache and return status'
72
+ };
73
+ }
74
+ // LEGACY: Backwards compatibility method
75
+ getPrompt(params) {
76
+ const stages = this.getPromptStages(params);
77
+ return `${stages.systemAndContext}\n\n${stages.dataPayload}\n\n${stages.outputInstructions}`;
78
+ }
79
+ }
80
+ export class CacheStatisticsPlugin extends BasePlugin {
81
+ constructor() {
82
+ super(...arguments);
83
+ this.name = 'get_cache_statistics';
84
+ this.category = 'system';
85
+ this.description = 'Get statistics about the current analysis cache';
86
+ this.parameters = {};
87
+ }
88
+ async execute(params, llmClient) {
89
+ return await withSecurity(this, params, llmClient, async (secureParams) => {
90
+ const stats = CacheManager.getStatistics();
91
+ // Use ResponseFactory for consistent, spec-compliant output
92
+ ResponseFactory.setStartTime();
93
+ return ResponseFactory.createSystemResponse({
94
+ status: 'active',
95
+ details: {
96
+ totalEntries: stats.totalEntries,
97
+ memoryUsage: stats.memoryUsage,
98
+ files: stats.files,
99
+ oldestEntry: stats.files.length > 0 ? new Date().toISOString() : 'none',
100
+ newestEntry: stats.files.length > 0 ? new Date().toISOString() : 'none',
101
+ hitRate: 0, // Would need actual hit tracking
102
+ statistics: {
103
+ byType: { 'analysis': stats.totalEntries },
104
+ bySize: { 'small': stats.totalEntries }
105
+ }
106
+ }
107
+ });
108
+ });
109
+ }
110
+ // MODERN: 3-Stage prompt architecture (system utility - no prompting needed)
111
+ getPromptStages(params) {
112
+ return {
113
+ systemAndContext: 'System cache statistics utility',
114
+ dataPayload: 'Cache statistics request',
115
+ outputInstructions: 'Return cache statistics and metrics'
116
+ };
117
+ }
118
+ // LEGACY: Backwards compatibility method
119
+ getPrompt(params) {
120
+ const stages = this.getPromptStages(params);
121
+ return `${stages.systemAndContext}\n\n${stages.dataPayload}\n\n${stages.outputInstructions}`;
122
+ }
123
+ }
124
+ export default {
125
+ CacheManager,
126
+ ClearCachePlugin,
127
+ CacheStatisticsPlugin
128
+ };
129
+ //# sourceMappingURL=cache-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../../src/prompts/shared/cache-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Shared helper functions for all plugins
3
+ */
4
+ /**
5
+ * Validates that required parameters are present
6
+ */
7
+ export declare function validateRequiredParams(params: any, required: string[]): void;
8
+ /**
9
+ * Safely validates and normalizes a file path to prevent path traversal attacks
10
+ * This function should be used before any file operations
11
+ */
12
+ export declare function validateAndNormalizePath(filePath: string): Promise<string>;
13
+ /**
14
+ * Safely reads file content with proper security checks and path traversal protection
15
+ * Uses the validateAndNormalizePath function to ensure security
16
+ */
17
+ export declare function readFileContent(filePath: string): Promise<string>;
18
+ /**
19
+ * Formats code snippets for inclusion in prompts
20
+ */
21
+ export declare function formatCodeForPrompt(code: string, language: string): string;
22
+ /**
23
+ * Truncates long strings with ellipsis
24
+ */
25
+ export declare function truncateString(str: string, maxLength: number): string;
26
+ /**
27
+ * Escapes special characters in strings for safe prompt inclusion
28
+ */
29
+ export declare function escapeForPrompt(str: string): string;
30
+ declare const _default: {
31
+ validateRequiredParams: typeof validateRequiredParams;
32
+ validateAndNormalizePath: typeof validateAndNormalizePath;
33
+ readFileContent: typeof readFileContent;
34
+ formatCodeForPrompt: typeof formatCodeForPrompt;
35
+ truncateString: typeof truncateString;
36
+ escapeForPrompt: typeof escapeForPrompt;
37
+ };
38
+ export default _default;
39
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/prompts/shared/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAM5E;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoEhF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;;;;;;;;;AAED,wBAOE"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Shared helper functions for all plugins
3
+ */
4
+ /**
5
+ * Validates that required parameters are present
6
+ */
7
+ export function validateRequiredParams(params, required) {
8
+ for (const param of required) {
9
+ if (!params[param]) {
10
+ throw new Error(`Missing required parameter: ${param}`);
11
+ }
12
+ }
13
+ }
14
+ /**
15
+ * Safely validates and normalizes a file path to prevent path traversal attacks
16
+ * This function should be used before any file operations
17
+ */
18
+ export async function validateAndNormalizePath(filePath) {
19
+ const path = await import('path');
20
+ const { securityConfig } = await import('../../security-config.js');
21
+ // Input validation
22
+ if (!filePath || typeof filePath !== 'string') {
23
+ throw new Error('Invalid file path provided');
24
+ }
25
+ // Check for null bytes (directory traversal attack vector)
26
+ if (filePath.includes('\0')) {
27
+ throw new Error('Access denied: Null byte detected in file path');
28
+ }
29
+ // Check for path traversal sequences BEFORE normalization (prevents bypass)
30
+ if (filePath.includes('..')) {
31
+ throw new Error('Access denied: Path traversal sequences detected');
32
+ }
33
+ // Must be absolute path
34
+ if (!path.isAbsolute(filePath)) {
35
+ throw new Error('File path must be absolute');
36
+ }
37
+ // Normalize and resolve to canonical form - this MUST come after traversal checks
38
+ const normalizedPath = path.resolve(path.normalize(filePath));
39
+ // Double-check: ensure normalization didn't introduce traversal sequences
40
+ if (normalizedPath.includes('..')) {
41
+ throw new Error('Access denied: Path normalization resulted in traversal sequences');
42
+ }
43
+ // Get allowed directories (these are already normalized and lowercase for Windows)
44
+ const allowedDirs = securityConfig.getAllowedDirectories();
45
+ // Validate against allowed directories (case-insensitive for Windows)
46
+ const normalizedPathLower = normalizedPath.toLowerCase();
47
+ const isPathSafe = allowedDirs.some(allowedDir => {
48
+ // Exact match check first
49
+ if (normalizedPathLower === allowedDir) {
50
+ return true;
51
+ }
52
+ // Subdirectory check - ensure path is actually within the allowed directory
53
+ // Both paths must end with separator for accurate boundary detection
54
+ const normalizedAllowedDir = allowedDir.endsWith(path.sep) ? allowedDir : allowedDir + path.sep;
55
+ const pathToCheck = normalizedPathLower.endsWith(path.sep) ? normalizedPathLower : normalizedPathLower + path.sep;
56
+ return pathToCheck.startsWith(normalizedAllowedDir);
57
+ });
58
+ if (!isPathSafe) {
59
+ // Log security violation if enabled
60
+ if (securityConfig.security.logSecurityViolations) {
61
+ console.warn(`SECURITY VIOLATION: Attempted access to unauthorized path: ${filePath} (normalized: ${normalizedPath})`);
62
+ console.warn(`Allowed directories: ${allowedDirs.join(', ')}`);
63
+ }
64
+ throw new Error(`Access denied: Path '${filePath}' is outside allowed directories`);
65
+ }
66
+ // Final validation: ensure the normalized path hasn't escaped the boundaries
67
+ // This catches edge cases where path.resolve might behave unexpectedly
68
+ const relativePath = path.relative(allowedDirs.find(dir => normalizedPathLower.startsWith(dir)), normalizedPath);
69
+ if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
70
+ throw new Error('Access denied: Path validation failed - potential escape detected');
71
+ }
72
+ return normalizedPath;
73
+ }
74
+ /**
75
+ * Safely reads file content with proper security checks and path traversal protection
76
+ * Uses the validateAndNormalizePath function to ensure security
77
+ */
78
+ export async function readFileContent(filePath) {
79
+ const fs = await import('fs/promises');
80
+ const path = await import('path');
81
+ // Import security config
82
+ const { securityConfig } = await import('../../security-config.js');
83
+ // First, validate and normalize the path (this includes all security checks)
84
+ const normalizedPath = await validateAndNormalizePath(filePath);
85
+ try {
86
+ // Check if file exists and is actually a file (not directory)
87
+ const stat = await fs.stat(normalizedPath);
88
+ if (!stat.isFile()) {
89
+ throw new Error(`Path '${filePath}' is not a file`);
90
+ }
91
+ // Check file size limit
92
+ if (stat.size > securityConfig.security.maxFileSize) {
93
+ throw new Error(`File '${filePath}' exceeds maximum size limit (${securityConfig.security.maxFileSize} bytes)`);
94
+ }
95
+ // Check file extension if restrictions are in place
96
+ const fileExt = path.extname(normalizedPath).toLowerCase();
97
+ if (securityConfig.security.allowedExtensions.length > 0 &&
98
+ !securityConfig.security.allowedExtensions.includes(fileExt)) {
99
+ throw new Error(`File extension '${fileExt}' is not allowed`);
100
+ }
101
+ // Read file content
102
+ const content = await fs.readFile(normalizedPath, 'utf-8');
103
+ return content;
104
+ }
105
+ catch (error) {
106
+ if (error.code === 'ENOENT') {
107
+ throw new Error(`File not found: ${filePath}`);
108
+ }
109
+ else if (error.code === 'EACCES') {
110
+ throw new Error(`Permission denied: ${filePath}`);
111
+ }
112
+ else {
113
+ // Re-throw our custom errors as-is
114
+ if (error.message.includes('Access denied') ||
115
+ error.message.includes('exceeds maximum size') ||
116
+ error.message.includes('not allowed')) {
117
+ throw error;
118
+ }
119
+ throw new Error(`Failed to read file '${filePath}': ${error.message}`);
120
+ }
121
+ }
122
+ }
123
+ /**
124
+ * Formats code snippets for inclusion in prompts
125
+ */
126
+ export function formatCodeForPrompt(code, language) {
127
+ return `\`\`\`${language}\n${code}\n\`\`\``;
128
+ }
129
+ /**
130
+ * Truncates long strings with ellipsis
131
+ */
132
+ export function truncateString(str, maxLength) {
133
+ if (str.length <= maxLength)
134
+ return str;
135
+ return str.substring(0, maxLength - 3) + '...';
136
+ }
137
+ /**
138
+ * Escapes special characters in strings for safe prompt inclusion
139
+ */
140
+ export function escapeForPrompt(str) {
141
+ return str.replace(/[`\\]/g, '\\$&');
142
+ }
143
+ export default {
144
+ validateRequiredParams,
145
+ validateAndNormalizePath,
146
+ readFileContent,
147
+ formatCodeForPrompt,
148
+ truncateString,
149
+ escapeForPrompt
150
+ };
151
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/prompts/shared/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared prompt templates used across multiple plugins
3
+ */
4
+ export declare const COMMON_INSTRUCTIONS: {
5
+ codeQuality: string;
6
+ outputFormat: string;
7
+ frameworkSpecific: {
8
+ wordpress: string;
9
+ react: string;
10
+ node: string;
11
+ };
12
+ };
13
+ export declare const ANALYSIS_TEMPLATES: {
14
+ complexity: string;
15
+ security: string;
16
+ performance: string;
17
+ };
18
+ declare const _default: {
19
+ COMMON_INSTRUCTIONS: {
20
+ codeQuality: string;
21
+ outputFormat: string;
22
+ frameworkSpecific: {
23
+ wordpress: string;
24
+ react: string;
25
+ node: string;
26
+ };
27
+ };
28
+ ANALYSIS_TEMPLATES: {
29
+ complexity: string;
30
+ security: string;
31
+ performance: string;
32
+ };
33
+ };
34
+ export default _default;
35
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/prompts/shared/templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;CA6C/B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;CA4B9B,CAAC;;;;;;;;;;;;;;;;;AAEF,wBAGE"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Shared prompt templates used across multiple plugins
3
+ */
4
+ export const COMMON_INSTRUCTIONS = {
5
+ codeQuality: `
6
+ Focus on:
7
+ - Code readability and maintainability
8
+ - Performance implications
9
+ - Security considerations
10
+ - Best practices for the given language/framework
11
+ `,
12
+ outputFormat: `
13
+ Provide your response in a clear, structured format:
14
+ - Use bullet points for lists
15
+ - Include code examples where relevant
16
+ - Highlight critical issues first
17
+ - Suggest actionable improvements
18
+ `,
19
+ frameworkSpecific: {
20
+ wordpress: `
21
+ Consider WordPress-specific patterns:
22
+ - Hook and filter usage
23
+ - Nonce verification for security
24
+ - Proper escaping and sanitization
25
+ - Database query optimization
26
+ - Plugin/theme compatibility
27
+ `,
28
+ react: `
29
+ Consider React-specific patterns:
30
+ - Component composition
31
+ - State management
32
+ - Performance optimization (memoization, lazy loading)
33
+ - Accessibility (ARIA attributes)
34
+ - Testing considerations
35
+ `,
36
+ node: `
37
+ Consider Node.js-specific patterns:
38
+ - Async/await patterns
39
+ - Error handling
40
+ - Module structure
41
+ - Performance and memory usage
42
+ - Security (input validation, authentication)
43
+ `
44
+ }
45
+ };
46
+ export const ANALYSIS_TEMPLATES = {
47
+ complexity: `
48
+ Analyze the complexity of this code:
49
+ - Cyclomatic complexity
50
+ - Cognitive complexity
51
+ - Nesting depth
52
+ - Function length
53
+ Suggest ways to reduce complexity if needed.
54
+ `,
55
+ security: `
56
+ Perform a security analysis:
57
+ - Input validation
58
+ - Authentication/authorization
59
+ - Data sanitization
60
+ - SQL injection risks
61
+ - XSS vulnerabilities
62
+ - CSRF protection
63
+ `,
64
+ performance: `
65
+ Analyze performance aspects:
66
+ - Algorithm efficiency
67
+ - Database query optimization
68
+ - Caching opportunities
69
+ - Memory usage patterns
70
+ - Potential bottlenecks
71
+ `
72
+ };
73
+ export default {
74
+ COMMON_INSTRUCTIONS,
75
+ ANALYSIS_TEMPLATES
76
+ };
77
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/prompts/shared/templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE;;;;;;GAMZ;IAED,YAAY,EAAE;;;;;;GAMb;IAED,iBAAiB,EAAE;QACjB,SAAS,EAAE;;;;;;;KAOV;QAED,KAAK,EAAE;;;;;;;KAON;QAED,IAAI,EAAE;;;;;;;KAOL;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE;;;;;;;GAOX;IAED,QAAQ,EAAE;;;;;;;;GAQT;IAED,WAAW,EAAE;;;;;;;GAOZ;CACF,CAAC;AAEF,eAAe;IACb,mBAAmB;IACnB,kBAAkB;CACnB,CAAC"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * TypeScript type definitions for the modern v4.2 plugin system
3
+ */
4
+ import { PromptStages } from '../../types/prompt-stages.js';
5
+ export interface IPromptPlugin {
6
+ name: string;
7
+ category: 'analyze' | 'generate' | 'multifile' | 'custom' | 'system';
8
+ description: string;
9
+ parameters: ParameterSchema;
10
+ execute(params: any, llmClient: any): Promise<any>;
11
+ getPromptStages(params: any): PromptStages;
12
+ validateParams?(params: any): void;
13
+ getToolDefinition(): any;
14
+ }
15
+ export interface ParameterSchema {
16
+ [key: string]: ParameterDefinition;
17
+ }
18
+ export interface ParameterDefinition {
19
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
20
+ description?: string;
21
+ required?: boolean;
22
+ default?: any;
23
+ enum?: string[];
24
+ items?: ParameterDefinition;
25
+ properties?: ParameterSchema;
26
+ }
27
+ export interface PluginContext {
28
+ projectType?: 'wordpress-plugin' | 'wordpress-theme' | 'react-app' | 'react-component' | 'node-api' | 'n8n-node' | 'n8n-workflow' | 'browser-extension' | 'cli-tool' | 'html-component' | 'generic';
29
+ framework?: string;
30
+ frameworkVersion?: string;
31
+ environment?: 'browser' | 'node' | 'wordpress' | 'hybrid';
32
+ standards?: string[];
33
+ language?: string;
34
+ languageVersion?: string;
35
+ }
36
+ export interface AnalysisResult {
37
+ summary: string;
38
+ findings: Finding[];
39
+ suggestions: Suggestion[];
40
+ metrics?: Metrics;
41
+ confidence?: number;
42
+ }
43
+ export interface Finding {
44
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
45
+ type: 'issue' | 'warning' | 'suggestion' | 'info';
46
+ message: string;
47
+ location?: string;
48
+ line?: number;
49
+ column?: number;
50
+ recommendation?: string;
51
+ }
52
+ export interface Suggestion {
53
+ priority: 'high' | 'medium' | 'low';
54
+ category: string;
55
+ description: string;
56
+ implementation?: string;
57
+ benefits?: string[];
58
+ risks?: string[];
59
+ }
60
+ export interface Metrics {
61
+ linesOfCode?: number;
62
+ cyclomaticComplexity?: number;
63
+ cognitiveComplexity?: number;
64
+ maintainabilityIndex?: number;
65
+ testCoverage?: number;
66
+ [key: string]: any;
67
+ }
68
+ /**
69
+ * Modern LM Studio Client Interface (v4.2)
70
+ * Uses streaming and model management
71
+ */
72
+ export interface LLMClient {
73
+ llm: {
74
+ listLoaded(): Promise<LLMModel[]>;
75
+ };
76
+ }
77
+ export interface LLMModel {
78
+ identifier: string;
79
+ respond(messages: ChatMessage[], options: ModelOptions): AsyncIterable<ModelResponse>;
80
+ getContextLength?(): Promise<number>;
81
+ }
82
+ export interface ChatMessage {
83
+ role: 'system' | 'user' | 'assistant';
84
+ content: string;
85
+ }
86
+ export interface ModelOptions {
87
+ temperature?: number;
88
+ maxTokens?: number;
89
+ topP?: number;
90
+ }
91
+ export interface ModelResponse {
92
+ content?: string;
93
+ [key: string]: any;
94
+ }
95
+ /**
96
+ * Security and validation types
97
+ */
98
+ export interface SecurityResult {
99
+ blocked: boolean;
100
+ sanitised: any;
101
+ warnings: string[];
102
+ }
103
+ /**
104
+ * Plugin execution context
105
+ */
106
+ export interface PluginExecutionContext {
107
+ modelUsed?: string;
108
+ executionTimeMs?: number;
109
+ contextLength?: number;
110
+ chunked?: boolean;
111
+ }
112
+ //# sourceMappingURL=types.d.ts.map