@planu/cli 0.28.0 → 0.30.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 (297) hide show
  1. package/dist/config/model-routing-rules.json +98 -0
  2. package/dist/engine/ai-cost-estimator/core.d.ts.map +1 -1
  3. package/dist/engine/ai-cost-estimator/core.js +2 -202
  4. package/dist/engine/ai-cost-estimator/core.js.map +1 -1
  5. package/dist/engine/ai-cost-estimator/recommender.d.ts +8 -0
  6. package/dist/engine/ai-cost-estimator/recommender.d.ts.map +1 -0
  7. package/dist/engine/ai-cost-estimator/recommender.js +94 -0
  8. package/dist/engine/ai-cost-estimator/recommender.js.map +1 -0
  9. package/dist/engine/ai-cost-estimator/spec-loader.d.ts +13 -0
  10. package/dist/engine/ai-cost-estimator/spec-loader.d.ts.map +1 -0
  11. package/dist/engine/ai-cost-estimator/spec-loader.js +102 -0
  12. package/dist/engine/ai-cost-estimator/spec-loader.js.map +1 -0
  13. package/dist/engine/ci-generator/planu-config.d.ts +7 -0
  14. package/dist/engine/ci-generator/planu-config.d.ts.map +1 -0
  15. package/dist/engine/ci-generator/planu-config.js +40 -0
  16. package/dist/engine/ci-generator/planu-config.js.map +1 -0
  17. package/dist/engine/ci-generator/planu-steps.d.ts +11 -0
  18. package/dist/engine/ci-generator/planu-steps.d.ts.map +1 -0
  19. package/dist/engine/ci-generator/planu-steps.js +292 -0
  20. package/dist/engine/ci-generator/planu-steps.js.map +1 -0
  21. package/dist/engine/code-transforms/transform-engine.d.ts +7 -0
  22. package/dist/engine/code-transforms/transform-engine.d.ts.map +1 -0
  23. package/dist/engine/code-transforms/transform-engine.js +67 -0
  24. package/dist/engine/code-transforms/transform-engine.js.map +1 -0
  25. package/dist/engine/code-transforms/typescript/add-error-handling.d.ts +6 -0
  26. package/dist/engine/code-transforms/typescript/add-error-handling.d.ts.map +1 -0
  27. package/dist/engine/code-transforms/typescript/add-error-handling.js +92 -0
  28. package/dist/engine/code-transforms/typescript/add-error-handling.js.map +1 -0
  29. package/dist/engine/code-transforms/typescript/add-jsdoc.d.ts +6 -0
  30. package/dist/engine/code-transforms/typescript/add-jsdoc.d.ts.map +1 -0
  31. package/dist/engine/code-transforms/typescript/add-jsdoc.js +83 -0
  32. package/dist/engine/code-transforms/typescript/add-jsdoc.js.map +1 -0
  33. package/dist/engine/code-transforms/typescript/add-types.d.ts +3 -0
  34. package/dist/engine/code-transforms/typescript/add-types.d.ts.map +1 -0
  35. package/dist/engine/code-transforms/typescript/add-types.js +182 -0
  36. package/dist/engine/code-transforms/typescript/add-types.js.map +1 -0
  37. package/dist/engine/code-transforms/typescript/ast-utils.d.ts +38 -0
  38. package/dist/engine/code-transforms/typescript/ast-utils.d.ts.map +1 -0
  39. package/dist/engine/code-transforms/typescript/ast-utils.js +90 -0
  40. package/dist/engine/code-transforms/typescript/ast-utils.js.map +1 -0
  41. package/dist/engine/code-transforms/typescript/extract-interface.d.ts +6 -0
  42. package/dist/engine/code-transforms/typescript/extract-interface.d.ts.map +1 -0
  43. package/dist/engine/code-transforms/typescript/extract-interface.js +103 -0
  44. package/dist/engine/code-transforms/typescript/extract-interface.js.map +1 -0
  45. package/dist/engine/code-transforms/typescript/modernize-syntax.d.ts +3 -0
  46. package/dist/engine/code-transforms/typescript/modernize-syntax.d.ts.map +1 -0
  47. package/dist/engine/code-transforms/typescript/modernize-syntax.js +213 -0
  48. package/dist/engine/code-transforms/typescript/modernize-syntax.js.map +1 -0
  49. package/dist/engine/code-transforms/typescript/rename-symbol.d.ts +8 -0
  50. package/dist/engine/code-transforms/typescript/rename-symbol.d.ts.map +1 -0
  51. package/dist/engine/code-transforms/typescript/rename-symbol.js +40 -0
  52. package/dist/engine/code-transforms/typescript/rename-symbol.js.map +1 -0
  53. package/dist/engine/mermaid/core.d.ts +18 -0
  54. package/dist/engine/mermaid/core.d.ts.map +1 -0
  55. package/dist/engine/mermaid/core.js +88 -0
  56. package/dist/engine/mermaid/core.js.map +1 -0
  57. package/dist/engine/mermaid/diagram-generators.d.ts +22 -0
  58. package/dist/engine/mermaid/diagram-generators.d.ts.map +1 -0
  59. package/dist/engine/mermaid/diagram-generators.js +139 -0
  60. package/dist/engine/mermaid/diagram-generators.js.map +1 -0
  61. package/dist/engine/mermaid/helpers.d.ts +8 -0
  62. package/dist/engine/mermaid/helpers.d.ts.map +1 -0
  63. package/dist/engine/mermaid/helpers.js +61 -0
  64. package/dist/engine/mermaid/helpers.js.map +1 -0
  65. package/dist/engine/mermaid-generator.d.ts +2 -37
  66. package/dist/engine/mermaid-generator.d.ts.map +1 -1
  67. package/dist/engine/mermaid-generator.js +4 -276
  68. package/dist/engine/mermaid-generator.js.map +1 -1
  69. package/dist/engine/model-router/complexity-analyzer.d.ts +26 -0
  70. package/dist/engine/model-router/complexity-analyzer.d.ts.map +1 -0
  71. package/dist/engine/model-router/complexity-analyzer.js +182 -0
  72. package/dist/engine/model-router/complexity-analyzer.js.map +1 -0
  73. package/dist/engine/model-router/cost-estimator.d.ts +6 -0
  74. package/dist/engine/model-router/cost-estimator.d.ts.map +1 -0
  75. package/dist/engine/model-router/cost-estimator.js +60 -0
  76. package/dist/engine/model-router/cost-estimator.js.map +1 -0
  77. package/dist/engine/model-router/historical-learner.d.ts +26 -0
  78. package/dist/engine/model-router/historical-learner.d.ts.map +1 -0
  79. package/dist/engine/model-router/historical-learner.js +91 -0
  80. package/dist/engine/model-router/historical-learner.js.map +1 -0
  81. package/dist/engine/model-router/rules-engine.d.ts +13 -0
  82. package/dist/engine/model-router/rules-engine.d.ts.map +1 -0
  83. package/dist/engine/model-router/rules-engine.js +142 -0
  84. package/dist/engine/model-router/rules-engine.js.map +1 -0
  85. package/dist/engine/spec-coverage/criteria-mapper.d.ts +1 -2
  86. package/dist/engine/spec-coverage/criteria-mapper.d.ts.map +1 -1
  87. package/dist/engine/spec-coverage/criteria-mapper.js +4 -203
  88. package/dist/engine/spec-coverage/criteria-mapper.js.map +1 -1
  89. package/dist/engine/spec-coverage/keyword-extractor.d.ts +10 -0
  90. package/dist/engine/spec-coverage/keyword-extractor.d.ts.map +1 -0
  91. package/dist/engine/spec-coverage/keyword-extractor.js +147 -0
  92. package/dist/engine/spec-coverage/keyword-extractor.js.map +1 -0
  93. package/dist/engine/spec-coverage/test-matchers.d.ts +9 -0
  94. package/dist/engine/spec-coverage/test-matchers.d.ts.map +1 -0
  95. package/dist/engine/spec-coverage/test-matchers.js +59 -0
  96. package/dist/engine/spec-coverage/test-matchers.js.map +1 -0
  97. package/dist/engine/spec-templates/catalog-extra.d.ts +1 -1
  98. package/dist/engine/spec-templates/catalog-extra.d.ts.map +1 -1
  99. package/dist/engine/spec-templates/catalog-extra.js +8 -363
  100. package/dist/engine/spec-templates/catalog-extra.js.map +1 -1
  101. package/dist/engine/spec-templates/catalog-industry.d.ts +4 -0
  102. package/dist/engine/spec-templates/catalog-industry.d.ts.map +1 -0
  103. package/dist/engine/spec-templates/catalog-industry.js +19 -0
  104. package/dist/engine/spec-templates/catalog-industry.js.map +1 -0
  105. package/dist/engine/spec-templates/catalog.d.ts +1 -1
  106. package/dist/engine/spec-templates/catalog.d.ts.map +1 -1
  107. package/dist/engine/spec-templates/catalog.js +12 -381
  108. package/dist/engine/spec-templates/catalog.js.map +1 -1
  109. package/dist/engine/spec-templates/custom-loader.d.ts +12 -0
  110. package/dist/engine/spec-templates/custom-loader.d.ts.map +1 -0
  111. package/dist/engine/spec-templates/custom-loader.js +99 -0
  112. package/dist/engine/spec-templates/custom-loader.js.map +1 -0
  113. package/dist/engine/spec-templates/index.d.ts +4 -2
  114. package/dist/engine/spec-templates/index.d.ts.map +1 -1
  115. package/dist/engine/spec-templates/index.js +4 -2
  116. package/dist/engine/spec-templates/index.js.map +1 -1
  117. package/dist/engine/spec-templates/query.d.ts +12 -4
  118. package/dist/engine/spec-templates/query.d.ts.map +1 -1
  119. package/dist/engine/spec-templates/query.js +29 -7
  120. package/dist/engine/spec-templates/query.js.map +1 -1
  121. package/dist/engine/spec-templates/renderer.d.ts +27 -2
  122. package/dist/engine/spec-templates/renderer.d.ts.map +1 -1
  123. package/dist/engine/spec-templates/renderer.js +119 -4
  124. package/dist/engine/spec-templates/renderer.js.map +1 -1
  125. package/dist/engine/spec-templates/templates-api-ui.d.ts +6 -0
  126. package/dist/engine/spec-templates/templates-api-ui.d.ts.map +1 -0
  127. package/dist/engine/spec-templates/templates-api-ui.js +215 -0
  128. package/dist/engine/spec-templates/templates-api-ui.js.map +1 -0
  129. package/dist/engine/spec-templates/templates-auth-crud.d.ts +6 -0
  130. package/dist/engine/spec-templates/templates-auth-crud.d.ts.map +1 -0
  131. package/dist/engine/spec-templates/templates-auth-crud.js +225 -0
  132. package/dist/engine/spec-templates/templates-auth-crud.js.map +1 -0
  133. package/dist/engine/spec-templates/templates-data-security.d.ts +6 -0
  134. package/dist/engine/spec-templates/templates-data-security.d.ts.map +1 -0
  135. package/dist/engine/spec-templates/templates-data-security.js +198 -0
  136. package/dist/engine/spec-templates/templates-data-security.js.map +1 -0
  137. package/dist/engine/spec-templates/templates-industry-ecom.d.ts +6 -0
  138. package/dist/engine/spec-templates/templates-industry-ecom.d.ts.map +1 -0
  139. package/dist/engine/spec-templates/templates-industry-ecom.js +209 -0
  140. package/dist/engine/spec-templates/templates-industry-ecom.js.map +1 -0
  141. package/dist/engine/spec-templates/templates-industry-fintech.d.ts +8 -0
  142. package/dist/engine/spec-templates/templates-industry-fintech.d.ts.map +1 -0
  143. package/dist/engine/spec-templates/templates-industry-fintech.js +350 -0
  144. package/dist/engine/spec-templates/templates-industry-fintech.js.map +1 -0
  145. package/dist/engine/spec-templates/templates-industry-health-ecom.d.ts +3 -0
  146. package/dist/engine/spec-templates/templates-industry-health-ecom.d.ts.map +1 -0
  147. package/dist/engine/spec-templates/templates-industry-health-ecom.js +5 -0
  148. package/dist/engine/spec-templates/templates-industry-health-ecom.js.map +1 -0
  149. package/dist/engine/spec-templates/templates-industry-health.d.ts +6 -0
  150. package/dist/engine/spec-templates/templates-industry-health.d.ts.map +1 -0
  151. package/dist/engine/spec-templates/templates-industry-health.js +208 -0
  152. package/dist/engine/spec-templates/templates-industry-health.js.map +1 -0
  153. package/dist/engine/spec-templates/templates-industry-saas.d.ts +8 -0
  154. package/dist/engine/spec-templates/templates-industry-saas.d.ts.map +1 -0
  155. package/dist/engine/spec-templates/templates-industry-saas.js +323 -0
  156. package/dist/engine/spec-templates/templates-industry-saas.js.map +1 -0
  157. package/dist/engine/spec-templates/templates-perf-integration.d.ts +6 -0
  158. package/dist/engine/spec-templates/templates-perf-integration.d.ts.map +1 -0
  159. package/dist/engine/spec-templates/templates-perf-integration.js +226 -0
  160. package/dist/engine/spec-templates/templates-perf-integration.js.map +1 -0
  161. package/dist/engine/vector-store/hnsw.d.ts +37 -0
  162. package/dist/engine/vector-store/hnsw.d.ts.map +1 -0
  163. package/dist/engine/vector-store/hnsw.js +294 -0
  164. package/dist/engine/vector-store/hnsw.js.map +1 -0
  165. package/dist/engine/vector-store/similarity.d.ts +21 -0
  166. package/dist/engine/vector-store/similarity.d.ts.map +1 -0
  167. package/dist/engine/vector-store/similarity.js +86 -0
  168. package/dist/engine/vector-store/similarity.js.map +1 -0
  169. package/dist/engine/vector-store/tfidf.d.ts +35 -0
  170. package/dist/engine/vector-store/tfidf.d.ts.map +1 -0
  171. package/dist/engine/vector-store/tfidf.js +255 -0
  172. package/dist/engine/vector-store/tfidf.js.map +1 -0
  173. package/dist/index.js +6 -0
  174. package/dist/index.js.map +1 -1
  175. package/dist/storage/vector-store/backend-factory.d.ts +9 -0
  176. package/dist/storage/vector-store/backend-factory.d.ts.map +1 -0
  177. package/dist/storage/vector-store/backend-factory.js +33 -0
  178. package/dist/storage/vector-store/backend-factory.js.map +1 -0
  179. package/dist/storage/vector-store/json-fallback.d.ts +21 -0
  180. package/dist/storage/vector-store/json-fallback.d.ts.map +1 -0
  181. package/dist/storage/vector-store/json-fallback.js +85 -0
  182. package/dist/storage/vector-store/json-fallback.js.map +1 -0
  183. package/dist/storage/vector-store/migrator.d.ts +10 -0
  184. package/dist/storage/vector-store/migrator.d.ts.map +1 -0
  185. package/dist/storage/vector-store/migrator.js +139 -0
  186. package/dist/storage/vector-store/migrator.js.map +1 -0
  187. package/dist/storage/vector-store/sqlite-adapter.d.ts +28 -0
  188. package/dist/storage/vector-store/sqlite-adapter.d.ts.map +1 -0
  189. package/dist/storage/vector-store/sqlite-adapter.js +142 -0
  190. package/dist/storage/vector-store/sqlite-adapter.js.map +1 -0
  191. package/dist/tools/ci-planu-handler.d.ts +8 -0
  192. package/dist/tools/ci-planu-handler.d.ts.map +1 -0
  193. package/dist/tools/ci-planu-handler.js +44 -0
  194. package/dist/tools/ci-planu-handler.js.map +1 -0
  195. package/dist/tools/create-spec/constitution-validator.d.ts +4 -0
  196. package/dist/tools/create-spec/constitution-validator.d.ts.map +1 -0
  197. package/dist/tools/create-spec/constitution-validator.js +37 -0
  198. package/dist/tools/create-spec/constitution-validator.js.map +1 -0
  199. package/dist/tools/create-spec/post-creation.d.ts +11 -0
  200. package/dist/tools/create-spec/post-creation.d.ts.map +1 -0
  201. package/dist/tools/create-spec/post-creation.js +48 -0
  202. package/dist/tools/create-spec/post-creation.js.map +1 -0
  203. package/dist/tools/create-spec/spec-builder.d.ts +14 -0
  204. package/dist/tools/create-spec/spec-builder.d.ts.map +1 -0
  205. package/dist/tools/create-spec/spec-builder.js +131 -0
  206. package/dist/tools/create-spec/spec-builder.js.map +1 -0
  207. package/dist/tools/create-spec.d.ts.map +1 -1
  208. package/dist/tools/create-spec.js +42 -172
  209. package/dist/tools/create-spec.js.map +1 -1
  210. package/dist/tools/init-project/handler.d.ts.map +1 -1
  211. package/dist/tools/init-project/handler.js +24 -159
  212. package/dist/tools/init-project/handler.js.map +1 -1
  213. package/dist/tools/init-project/result-builder.d.ts +4 -0
  214. package/dist/tools/init-project/result-builder.d.ts.map +1 -0
  215. package/dist/tools/init-project/result-builder.js +150 -0
  216. package/dist/tools/init-project/result-builder.js.map +1 -0
  217. package/dist/tools/learn.d.ts.map +1 -1
  218. package/dist/tools/learn.js +67 -14
  219. package/dist/tools/learn.js.map +1 -1
  220. package/dist/tools/recommend-model-handler.d.ts +8 -0
  221. package/dist/tools/recommend-model-handler.d.ts.map +1 -0
  222. package/dist/tools/recommend-model-handler.js +65 -0
  223. package/dist/tools/recommend-model-handler.js.map +1 -0
  224. package/dist/tools/register-ci-tools.d.ts.map +1 -1
  225. package/dist/tools/register-ci-tools.js +36 -0
  226. package/dist/tools/register-ci-tools.js.map +1 -1
  227. package/dist/tools/register-model-tools.d.ts +3 -0
  228. package/dist/tools/register-model-tools.d.ts.map +1 -0
  229. package/dist/tools/register-model-tools.js +50 -0
  230. package/dist/tools/register-model-tools.js.map +1 -0
  231. package/dist/tools/register-search-tools.d.ts +7 -0
  232. package/dist/tools/register-search-tools.d.ts.map +1 -0
  233. package/dist/tools/register-search-tools.js +34 -0
  234. package/dist/tools/register-search-tools.js.map +1 -0
  235. package/dist/tools/register-template-tools.d.ts.map +1 -1
  236. package/dist/tools/register-template-tools.js +21 -8
  237. package/dist/tools/register-template-tools.js.map +1 -1
  238. package/dist/tools/register-transform-tools.d.ts +3 -0
  239. package/dist/tools/register-transform-tools.d.ts.map +1 -0
  240. package/dist/tools/register-transform-tools.js +29 -0
  241. package/dist/tools/register-transform-tools.js.map +1 -0
  242. package/dist/tools/semantic-search-handler.d.ts +7 -0
  243. package/dist/tools/semantic-search-handler.d.ts.map +1 -0
  244. package/dist/tools/semantic-search-handler.js +72 -0
  245. package/dist/tools/semantic-search-handler.js.map +1 -0
  246. package/dist/tools/spec-templates.d.ts +1 -1
  247. package/dist/tools/spec-templates.d.ts.map +1 -1
  248. package/dist/tools/spec-templates.js +20 -6
  249. package/dist/tools/spec-templates.js.map +1 -1
  250. package/dist/tools/transform-code-handler.d.ts +7 -0
  251. package/dist/tools/transform-code-handler.d.ts.map +1 -0
  252. package/dist/tools/transform-code-handler.js +58 -0
  253. package/dist/tools/transform-code-handler.js.map +1 -0
  254. package/dist/types/advanced-framework.d.ts +47 -0
  255. package/dist/types/advanced-framework.d.ts.map +1 -0
  256. package/dist/types/advanced-framework.js +3 -0
  257. package/dist/types/advanced-framework.js.map +1 -0
  258. package/dist/types/ci.d.ts +51 -0
  259. package/dist/types/ci.d.ts.map +1 -1
  260. package/dist/types/code-transforms.d.ts +114 -0
  261. package/dist/types/code-transforms.d.ts.map +1 -0
  262. package/dist/types/code-transforms.js +11 -0
  263. package/dist/types/code-transforms.js.map +1 -0
  264. package/dist/types/css-framework.d.ts +110 -0
  265. package/dist/types/css-framework.d.ts.map +1 -0
  266. package/dist/types/css-framework.js +3 -0
  267. package/dist/types/css-framework.js.map +1 -0
  268. package/dist/types/dashboard.d.ts +77 -0
  269. package/dist/types/dashboard.d.ts.map +1 -0
  270. package/dist/types/dashboard.js +2 -0
  271. package/dist/types/dashboard.js.map +1 -0
  272. package/dist/types/index.d.ts +3 -0
  273. package/dist/types/index.d.ts.map +1 -1
  274. package/dist/types/index.js +3 -0
  275. package/dist/types/index.js.map +1 -1
  276. package/dist/types/model-routing.d.ts +127 -0
  277. package/dist/types/model-routing.d.ts.map +1 -0
  278. package/dist/types/model-routing.js +3 -0
  279. package/dist/types/model-routing.js.map +1 -0
  280. package/dist/types/project/core.d.ts +46 -5
  281. package/dist/types/project/core.d.ts.map +1 -1
  282. package/dist/types/spec/core.d.ts +28 -1
  283. package/dist/types/spec/core.d.ts.map +1 -1
  284. package/dist/types/spec/inputs.d.ts +1 -6
  285. package/dist/types/spec/inputs.d.ts.map +1 -1
  286. package/dist/types/spec-templates.d.ts +51 -1
  287. package/dist/types/spec-templates.d.ts.map +1 -1
  288. package/dist/types/ui.d.ts +3 -231
  289. package/dist/types/ui.d.ts.map +1 -1
  290. package/dist/types/ui.js +7 -1
  291. package/dist/types/ui.js.map +1 -1
  292. package/dist/types/vector-store.d.ts +144 -0
  293. package/dist/types/vector-store.d.ts.map +1 -0
  294. package/dist/types/vector-store.js +3 -0
  295. package/dist/types/vector-store.js.map +1 -0
  296. package/package.json +1 -1
  297. package/src/config/model-routing-rules.json +98 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-fintech.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-fintech.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,EAAE,iBAyHlC,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,6BAA6B,EAAE,iBAmH3C,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,2BAA2B,EAAE,iBA0GzC,CAAC"}
@@ -0,0 +1,350 @@
1
+ // engine/spec-templates/templates-industry-fintech.ts — Fintech industry templates.
2
+ // AC-04: Templates by industry — fintech vertical (KYC, transactions, compliance).
3
+ /** Fintech KYC verification template. */
4
+ export const FINTECH_KYC_TEMPLATE = {
5
+ id: 'fintech-kyc',
6
+ name: 'Verificacion de identidad (KYC)',
7
+ category: 'industry',
8
+ subcategory: 'fintech',
9
+ description: 'Flujo de verificacion de identidad con niveles de verificacion, documentos y compliance AML.',
10
+ tags: ['fintech', 'kyc', 'identity', 'compliance', 'aml'],
11
+ complexityScore: 'L',
12
+ estimationBase: {
13
+ hoursMin: 40,
14
+ hoursMax: 80,
15
+ notes: 'Incluye integracion con proveedor de verificacion y flujo multi-nivel',
16
+ },
17
+ criteria: [
18
+ { id: 'AC-1', title: 'Niveles de verificacion', required: true },
19
+ { id: 'AC-2', title: 'Carga de documentos', required: true },
20
+ { id: 'AC-3', title: 'Validacion automatica', required: true },
21
+ { id: 'AC-4', title: 'Revision manual', required: false },
22
+ { id: 'AC-5', title: 'Compliance AML', required: true },
23
+ { id: 'AC-6', title: 'Auditoria', required: true },
24
+ ],
25
+ variables: [
26
+ {
27
+ key: 'ServiceName',
28
+ label: 'Nombre del servicio',
29
+ description: 'Nombre del servicio financiero',
30
+ example: 'FinanceApp',
31
+ required: true,
32
+ },
33
+ {
34
+ key: 'KycLevels',
35
+ label: 'Niveles KYC',
36
+ description: 'Niveles de verificacion soportados',
37
+ example: 'Basico, Intermedio, Avanzado',
38
+ required: false,
39
+ defaultValue: 'Basico, Intermedio, Avanzado',
40
+ },
41
+ ],
42
+ huTemplate: `# HU: Verificacion de Identidad (KYC) — {{ServiceName}}
43
+
44
+ ## Historia de Usuario
45
+ Como usuario de {{ServiceName}}, quiero verificar mi identidad de forma progresiva para poder acceder a funcionalidades avanzadas del servicio.
46
+
47
+ ## Criterios de Aceptacion
48
+
49
+ ### AC-1: Niveles de verificacion
50
+ - [ ] El sistema soporta niveles de verificacion: {{KycLevels}}
51
+ - [ ] Cada nivel tiene requisitos documentales claros
52
+ - [ ] El usuario puede ver su nivel actual y los requisitos del siguiente
53
+ - [ ] Las funcionalidades se desbloquean segun el nivel alcanzado
54
+
55
+ ### AC-2: Carga de documentos
56
+ - [ ] El usuario puede subir documentos de identidad en formatos imagen y PDF
57
+ - [ ] Los documentos se validan por formato, tamano y legibilidad
58
+ - [ ] Se almacenan cifrados y con acceso restringido
59
+ - [ ] Se genera un recibo de carga para el usuario
60
+
61
+ ### AC-3: Validacion automatica
62
+ - [ ] Los documentos pasan por validacion automatica (OCR + verificacion)
63
+ - [ ] El resultado se comunica al usuario en tiempo real o por notificacion
64
+ - [ ] Los documentos rechazados indican el motivo del rechazo
65
+ - [ ] El usuario puede reintentar la verificacion con documentos nuevos
66
+
67
+ ### AC-4: Revision manual
68
+ - [ ] Los casos dudosos se escalan a revision manual
69
+ - [ ] El revisor puede aprobar, rechazar o solicitar mas informacion
70
+ - [ ] El historial de decisiones se registra para auditoria
71
+
72
+ ### AC-5: Compliance AML
73
+ - [ ] Se verifica contra listas de sanciones y PEP (personas expuestas politicamente)
74
+ - [ ] Las alertas AML se registran y se escalan segun protocolo
75
+ - [ ] La verificacion AML se repite periodicamente para usuarios existentes
76
+ - [ ] Se mantiene registro de todas las verificaciones realizadas
77
+
78
+ ### AC-6: Auditoria
79
+ - [ ] Toda accion sobre documentos y verificaciones se registra con timestamp y actor
80
+ - [ ] Los registros de auditoria son inmutables
81
+ - [ ] Se puede generar reporte de auditoria por usuario o periodo
82
+
83
+ ## Fuera de Alcance
84
+ - Integracion con proveedores especificos de KYC (configurar en implementacion)
85
+ - Verificacion biometrica (crear spec separada)
86
+ `,
87
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: KYC — {{ServiceName}}
88
+
89
+ ## Archivos Afectados
90
+ - kyc/verification-levels
91
+ - kyc/document-upload
92
+ - kyc/automatic-validation
93
+ - kyc/manual-review
94
+ - kyc/aml-check
95
+ - storage/documents (cifrado)
96
+
97
+ ## Tipos / Entidades
98
+ - \`KycLevel\`: id, name, requirements[], unlockedFeatures[]
99
+ - \`VerificationDocument\`: id, userId, type, status, uploadedAt
100
+ - \`AmlCheckResult\`: userId, checkDate, sanctionMatch, pepMatch, status
101
+
102
+ ## Riesgos
103
+ - Fuga de documentos personales → cifrado obligatorio + acceso restringido
104
+ - Falsos positivos AML → flujo de revision manual requerido
105
+ - Regulacion cambiante → arquitectura extensible para nuevos requisitos
106
+
107
+ ## Estimacion
108
+ - Dev: 40–80 horas
109
+ - Review: 8–16 horas
110
+ - Dificultad: 4/5
111
+ `,
112
+ progressTemplate: `# PROGRESS: KYC — {{ServiceName}}
113
+
114
+ ## Estado: borrador
115
+
116
+ ## Criterios
117
+ - [ ] AC-1: Niveles de verificacion
118
+ - [ ] AC-2: Carga de documentos
119
+ - [ ] AC-3: Validacion automatica
120
+ - [ ] AC-4: Revision manual
121
+ - [ ] AC-5: Compliance AML
122
+ - [ ] AC-6: Auditoria
123
+ `,
124
+ };
125
+ /** Fintech transactions template. */
126
+ export const FINTECH_TRANSACTIONS_TEMPLATE = {
127
+ id: 'fintech-transactions',
128
+ name: 'Gestion de transacciones financieras',
129
+ category: 'industry',
130
+ subcategory: 'fintech',
131
+ description: 'Transacciones financieras con idempotencia, reversion, auditoria y limites.',
132
+ tags: ['fintech', 'transactions', 'payments', 'idempotency', 'audit'],
133
+ complexityScore: 'XL',
134
+ estimationBase: {
135
+ hoursMin: 80,
136
+ hoursMax: 160,
137
+ notes: 'Requiere idempotencia estricta y auditoria completa',
138
+ },
139
+ criteria: [
140
+ { id: 'AC-1', title: 'Creacion de transacciones', required: true },
141
+ { id: 'AC-2', title: 'Idempotencia', required: true },
142
+ { id: 'AC-3', title: 'Reversion', required: true },
143
+ { id: 'AC-4', title: 'Limites y controles', required: true },
144
+ { id: 'AC-5', title: 'Auditoria', required: true },
145
+ { id: 'AC-6', title: 'Conciliacion', required: false },
146
+ ],
147
+ variables: [
148
+ {
149
+ key: 'ServiceName',
150
+ label: 'Nombre del servicio',
151
+ description: 'Nombre del servicio financiero',
152
+ example: 'FinanceApp',
153
+ required: true,
154
+ },
155
+ {
156
+ key: 'Currency',
157
+ label: 'Moneda principal',
158
+ description: 'Moneda principal del sistema',
159
+ example: 'USD',
160
+ required: false,
161
+ defaultValue: 'USD',
162
+ },
163
+ ],
164
+ huTemplate: `# HU: Transacciones Financieras — {{ServiceName}}
165
+
166
+ ## Historia de Usuario
167
+ Como usuario de {{ServiceName}}, quiero realizar transacciones financieras de forma segura y rastreable.
168
+
169
+ ## Criterios de Aceptacion
170
+
171
+ ### AC-1: Creacion de transacciones
172
+ - [ ] Se puede crear una transaccion con monto, origen, destino y concepto
173
+ - [ ] Cada transaccion recibe un ID unico e inmutable
174
+ - [ ] Los montos se manejan en la menor unidad (centavos) para evitar errores de precision
175
+ - [ ] La moneda ({{Currency}}) se registra explicitamente en cada transaccion
176
+
177
+ ### AC-2: Idempotencia
178
+ - [ ] Cada solicitud de transaccion incluye una clave de idempotencia
179
+ - [ ] Solicitudes duplicadas retornan el resultado original sin ejecutar de nuevo
180
+ - [ ] Las claves de idempotencia expiran despues de un periodo configurable
181
+
182
+ ### AC-3: Reversion
183
+ - [ ] Las transacciones pueden revertirse dentro del periodo permitido
184
+ - [ ] La reversion genera una contra-transaccion (no elimina la original)
185
+ - [ ] Las transacciones revertidas muestran estado "revertida" con referencia cruzada
186
+
187
+ ### AC-4: Limites y controles
188
+ - [ ] Limites por monto individual, diario y mensual por usuario
189
+ - [ ] Transacciones que excedan limites requieren aprobacion adicional
190
+ - [ ] Los limites son configurables por nivel de usuario/cuenta
191
+
192
+ ### AC-5: Auditoria
193
+ - [ ] Toda transaccion registra timestamp, actor, IP y dispositivo
194
+ - [ ] Los registros de auditoria son inmutables (append-only)
195
+ - [ ] Se puede consultar el historial completo de una transaccion
196
+
197
+ ### AC-6: Conciliacion
198
+ - [ ] Proceso de conciliacion periodica entre sistema interno y proveedores externos
199
+ - [ ] Las discrepancias generan alertas automaticas
200
+ - [ ] Reporte de conciliacion exportable
201
+
202
+ ## Fuera de Alcance
203
+ - Integracion con proveedores de pago especificos (ver template third-party-integration)
204
+ `,
205
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Transacciones — {{ServiceName}}
206
+
207
+ ## Archivos Afectados
208
+ - transactions/create
209
+ - transactions/reverse
210
+ - transactions/limits
211
+ - transactions/audit-log
212
+ - transactions/reconciliation
213
+
214
+ ## Tipos / Entidades
215
+ - \`Transaction\`: id, amount, currency, from, to, status, idempotencyKey, createdAt
216
+ - \`TransactionLimit\`: userId, type (daily/monthly/single), maxAmount
217
+ - \`AuditEntry\`: transactionId, action, actor, ip, timestamp
218
+
219
+ ## Riesgos
220
+ - Doble cargo sin idempotencia → claves de idempotencia obligatorias
221
+ - Precision de montos → usar enteros (centavos), nunca floats
222
+ - Reversion fuera de plazo → controles temporales estrictos
223
+
224
+ ## Estimacion
225
+ - Dev: 80–160 horas
226
+ - Review: 16–32 horas
227
+ - Dificultad: 5/5
228
+ `,
229
+ progressTemplate: `# PROGRESS: Transacciones — {{ServiceName}}
230
+
231
+ ## Estado: borrador
232
+
233
+ ## Criterios
234
+ - [ ] AC-1: Creacion de transacciones
235
+ - [ ] AC-2: Idempotencia
236
+ - [ ] AC-3: Reversion
237
+ - [ ] AC-4: Limites y controles
238
+ - [ ] AC-5: Auditoria
239
+ - [ ] AC-6: Conciliacion
240
+ `,
241
+ };
242
+ /** Fintech compliance template. */
243
+ export const FINTECH_COMPLIANCE_TEMPLATE = {
244
+ id: 'fintech-compliance',
245
+ name: 'Reportes de compliance regulatorio',
246
+ category: 'industry',
247
+ subcategory: 'fintech',
248
+ description: 'Generacion de reportes regulatorios, retencion de datos y firma digital.',
249
+ tags: ['fintech', 'compliance', 'regulatory', 'reporting', 'audit'],
250
+ complexityScore: 'L',
251
+ estimationBase: {
252
+ hoursMin: 40,
253
+ hoursMax: 80,
254
+ notes: 'Depende de regulaciones locales aplicables',
255
+ },
256
+ criteria: [
257
+ { id: 'AC-1', title: 'Generacion de reportes', required: true },
258
+ { id: 'AC-2', title: 'Retencion de datos', required: true },
259
+ { id: 'AC-3', title: 'Firma digital', required: false },
260
+ { id: 'AC-4', title: 'Auditoria de acceso', required: true },
261
+ { id: 'AC-5', title: 'Alertas de compliance', required: true },
262
+ ],
263
+ variables: [
264
+ {
265
+ key: 'ServiceName',
266
+ label: 'Nombre del servicio',
267
+ description: 'Nombre del servicio regulado',
268
+ example: 'FinanceApp',
269
+ required: true,
270
+ },
271
+ {
272
+ key: 'Regulation',
273
+ label: 'Regulacion aplicable',
274
+ description: 'Regulacion principal a cumplir',
275
+ example: 'PCI-DSS',
276
+ required: false,
277
+ defaultValue: 'regulacion local aplicable',
278
+ },
279
+ ],
280
+ huTemplate: `# HU: Compliance Regulatorio — {{ServiceName}}
281
+
282
+ ## Historia de Usuario
283
+ Como responsable de compliance de {{ServiceName}}, quiero generar reportes regulatorios y mantener trazabilidad completa para cumplir con {{Regulation}}.
284
+
285
+ ## Criterios de Aceptacion
286
+
287
+ ### AC-1: Generacion de reportes
288
+ - [ ] El sistema genera reportes regulatorios en formatos requeridos (PDF, XML, CSV)
289
+ - [ ] Los reportes incluyen periodo, datos agregados y detalle por transaccion
290
+ - [ ] La generacion es bajo demanda y programable (cron)
291
+ - [ ] Los reportes se almacenan con hash de integridad
292
+
293
+ ### AC-2: Retencion de datos
294
+ - [ ] Los datos regulados se retienen por el periodo legalmente requerido
295
+ - [ ] La politica de retencion es configurable por tipo de dato
296
+ - [ ] Los datos expirados se eliminan de forma segura con registro de eliminacion
297
+ - [ ] Se puede demostrar la cadena de custodia de cualquier dato
298
+
299
+ ### AC-3: Firma digital
300
+ - [ ] Los reportes pueden firmarse digitalmente antes del envio
301
+ - [ ] Se verifica la integridad de reportes firmados al consultarlos
302
+ - [ ] Los certificados de firma se gestionan de forma segura
303
+
304
+ ### AC-4: Auditoria de acceso
305
+ - [ ] Todo acceso a datos regulados se registra (quien, cuando, que)
306
+ - [ ] Los registros de acceso son inmutables
307
+ - [ ] Accesos anomalos generan alertas automaticas
308
+
309
+ ### AC-5: Alertas de compliance
310
+ - [ ] Se generan alertas cuando un proceso de compliance falla o se retrasa
311
+ - [ ] Las alertas se escalan segun el protocolo definido
312
+ - [ ] Se mantiene registro de alertas y sus resoluciones
313
+ `,
314
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Compliance — {{ServiceName}}
315
+
316
+ ## Archivos Afectados
317
+ - compliance/report-generator
318
+ - compliance/data-retention
319
+ - compliance/digital-signature
320
+ - compliance/access-audit
321
+ - compliance/alerts
322
+
323
+ ## Tipos / Entidades
324
+ - \`ComplianceReport\`: id, type, period, format, hash, signedAt
325
+ - \`RetentionPolicy\`: dataType, retentionDays, deleteStrategy
326
+ - \`AccessLog\`: userId, resource, action, timestamp, ip
327
+
328
+ ## Riesgos
329
+ - Reporte incorrecto → validacion cruzada con datos fuente
330
+ - Perdida de datos antes del periodo de retencion → backups redundantes
331
+ - Cambios regulatorios → arquitectura extensible para nuevas reglas
332
+
333
+ ## Estimacion
334
+ - Dev: 40–80 horas
335
+ - Review: 8–16 horas
336
+ - Dificultad: 4/5
337
+ `,
338
+ progressTemplate: `# PROGRESS: Compliance — {{ServiceName}}
339
+
340
+ ## Estado: borrador
341
+
342
+ ## Criterios
343
+ - [ ] AC-1: Generacion de reportes
344
+ - [ ] AC-2: Retencion de datos
345
+ - [ ] AC-3: Firma digital
346
+ - [ ] AC-4: Auditoria de acceso
347
+ - [ ] AC-5: Alertas de compliance
348
+ `,
349
+ };
350
+ //# sourceMappingURL=templates-industry-fintech.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-fintech.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-fintech.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { HEALTHTECH_PATIENT_RECORDS_TEMPLATE, HEALTHTECH_APPOINTMENTS_TEMPLATE, } from './templates-industry-health.js';
2
+ export { ECOMMERCE_CART_CHECKOUT_TEMPLATE, ECOMMERCE_INVENTORY_TEMPLATE, } from './templates-industry-ecom.js';
3
+ //# sourceMappingURL=templates-industry-health-ecom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-health-ecom.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-health-ecom.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,5 @@
1
+ // engine/spec-templates/templates-industry-health-ecom.ts — Re-export barrel (split into separate files).
2
+ // AC-04: Templates by industry — healthtech and e-commerce verticals.
3
+ export { HEALTHTECH_PATIENT_RECORDS_TEMPLATE, HEALTHTECH_APPOINTMENTS_TEMPLATE, } from './templates-industry-health.js';
4
+ export { ECOMMERCE_CART_CHECKOUT_TEMPLATE, ECOMMERCE_INVENTORY_TEMPLATE, } from './templates-industry-ecom.js';
5
+ //# sourceMappingURL=templates-industry-health-ecom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-health-ecom.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-health-ecom.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,sEAAsE;AAEtE,OAAO,EACL,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
+ /** Healthtech patient records template. */
3
+ export declare const HEALTHTECH_PATIENT_RECORDS_TEMPLATE: SpecTemplateEntry;
4
+ /** Healthtech appointments template. */
5
+ export declare const HEALTHTECH_APPOINTMENTS_TEMPLATE: SpecTemplateEntry;
6
+ //# sourceMappingURL=templates-industry-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-health.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-health.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,2CAA2C;AAC3C,eAAO,MAAM,mCAAmC,EAAE,iBAwGjD,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,gCAAgC,EAAE,iBAiG9C,CAAC"}
@@ -0,0 +1,208 @@
1
+ // engine/spec-templates/templates-industry-health.ts — Healthtech industry templates.
2
+ // AC-04: Templates by industry — healthtech vertical (split from health-ecom).
3
+ /** Healthtech patient records template. */
4
+ export const HEALTHTECH_PATIENT_RECORDS_TEMPLATE = {
5
+ id: 'healthtech-patient-records',
6
+ name: 'Gestion de registros de pacientes',
7
+ category: 'industry',
8
+ subcategory: 'healthtech',
9
+ description: 'Registros medicos con acceso por consentimiento, historial clinico y portabilidad.',
10
+ tags: ['healthtech', 'patient', 'records', 'hipaa', 'consent'],
11
+ complexityScore: 'XL',
12
+ estimationBase: {
13
+ hoursMin: 80,
14
+ hoursMax: 160,
15
+ notes: 'Requiere cifrado de datos de salud y gestion de consentimientos',
16
+ },
17
+ criteria: [
18
+ { id: 'AC-1', title: 'Acceso con consentimiento', required: true },
19
+ { id: 'AC-2', title: 'Historial clinico', required: true },
20
+ { id: 'AC-3', title: 'Portabilidad de datos', required: true },
21
+ { id: 'AC-4', title: 'Cifrado y privacidad', required: true },
22
+ { id: 'AC-5', title: 'Auditoria de acceso', required: true },
23
+ { id: 'AC-6', title: 'Interoperabilidad', required: false },
24
+ ],
25
+ variables: [
26
+ {
27
+ key: 'SystemName',
28
+ label: 'Nombre del sistema',
29
+ description: 'Nombre del sistema de salud',
30
+ example: 'HealthApp',
31
+ required: true,
32
+ },
33
+ ],
34
+ huTemplate: `# HU: Registros de Pacientes — {{SystemName}}
35
+
36
+ ## Historia de Usuario
37
+ Como profesional de salud, quiero gestionar registros de pacientes de forma segura y con consentimiento para cumplir con regulaciones de proteccion de datos de salud.
38
+
39
+ ## Criterios de Aceptacion
40
+
41
+ ### AC-1: Acceso con consentimiento
42
+ - [ ] El paciente otorga consentimiento explicito antes de compartir sus datos
43
+ - [ ] El consentimiento es revocable en cualquier momento
44
+ - [ ] El acceso sin consentimiento vigente es bloqueado automaticamente
45
+ - [ ] Se registra quien solicito acceso y el resultado (concedido/denegado)
46
+
47
+ ### AC-2: Historial clinico
48
+ - [ ] Se mantiene historial cronologico de consultas, diagnosticos y tratamientos
49
+ - [ ] El historial es inmutable (append-only) — las correcciones generan enmiendas
50
+ - [ ] Los profesionales pueden agregar notas clinicas con su firma digital
51
+ - [ ] Se soportan adjuntos (imagenes, documentos) vinculados al historial
52
+
53
+ ### AC-3: Portabilidad de datos
54
+ - [ ] El paciente puede exportar sus datos en formato estandar (HL7 FHIR o equivalente)
55
+ - [ ] La exportacion incluye historial completo o por periodo seleccionado
56
+ - [ ] Los datos exportados mantienen integridad verificable
57
+
58
+ ### AC-4: Cifrado y privacidad
59
+ - [ ] Los datos de salud se almacenan cifrados en reposo y en transito
60
+ - [ ] Las claves de cifrado se gestionan con rotacion periodica
61
+ - [ ] Los datos personales y clinicos se almacenan separados (pseudonimizacion)
62
+
63
+ ### AC-5: Auditoria de acceso
64
+ - [ ] Todo acceso a registros de pacientes se registra con timestamp y actor
65
+ - [ ] Los registros de auditoria son inmutables y accesibles para auditorias externas
66
+ - [ ] Se generan alertas ante patrones de acceso anomalos
67
+
68
+ ### AC-6: Interoperabilidad
69
+ - [ ] El sistema expone APIs compatibles con estandares de salud (HL7 FHIR o equivalente)
70
+ - [ ] Se soporta intercambio de datos con otros sistemas de salud autorizados
71
+ `,
72
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Registros de Pacientes — {{SystemName}}
73
+
74
+ ## Archivos Afectados
75
+ - patients/records
76
+ - patients/consent-manager
77
+ - patients/audit-log
78
+ - patients/export
79
+ - security/encryption
80
+
81
+ ## Tipos / Entidades
82
+ - \`PatientRecord\`: id, patientId, entries[], consents[]
83
+ - \`ClinicalEntry\`: type, date, professional, notes, attachments
84
+ - \`Consent\`: patientId, grantedTo, scope, grantedAt, revokedAt
85
+
86
+ ## Riesgos
87
+ - Fuga de datos de salud → cifrado obligatorio + acceso auditado
88
+ - Consentimiento desactualizado → verificacion en tiempo real
89
+ - Incompatibilidad con estandares → tests de conformidad requeridos
90
+
91
+ ## Estimacion
92
+ - Dev: 80–160 horas
93
+ - Review: 16–32 horas
94
+ - Dificultad: 5/5
95
+ `,
96
+ progressTemplate: `# PROGRESS: Registros de Pacientes — {{SystemName}}
97
+
98
+ ## Estado: borrador
99
+
100
+ ## Criterios
101
+ - [ ] AC-1: Acceso con consentimiento
102
+ - [ ] AC-2: Historial clinico
103
+ - [ ] AC-3: Portabilidad de datos
104
+ - [ ] AC-4: Cifrado y privacidad
105
+ - [ ] AC-5: Auditoria de acceso
106
+ - [ ] AC-6: Interoperabilidad
107
+ `,
108
+ };
109
+ /** Healthtech appointments template. */
110
+ export const HEALTHTECH_APPOINTMENTS_TEMPLATE = {
111
+ id: 'healthtech-appointments',
112
+ name: 'Agenda y citas medicas',
113
+ category: 'industry',
114
+ subcategory: 'healthtech',
115
+ description: 'Gestion de citas medicas con disponibilidad, recordatorios y telemedicina.',
116
+ tags: ['healthtech', 'appointments', 'scheduling', 'telemedicine', 'reminders'],
117
+ complexityScore: 'M',
118
+ estimationBase: {
119
+ hoursMin: 24,
120
+ hoursMax: 48,
121
+ notes: 'Incluye gestion de disponibilidad y recordatorios automaticos',
122
+ },
123
+ criteria: [
124
+ { id: 'AC-1', title: 'Disponibilidad', required: true },
125
+ { id: 'AC-2', title: 'Reserva de citas', required: true },
126
+ { id: 'AC-3', title: 'Recordatorios', required: true },
127
+ { id: 'AC-4', title: 'Cancelacion y reprogramacion', required: true },
128
+ { id: 'AC-5', title: 'Telemedicina', required: false },
129
+ ],
130
+ variables: [
131
+ {
132
+ key: 'SystemName',
133
+ label: 'Nombre del sistema',
134
+ description: 'Nombre del sistema de salud',
135
+ example: 'HealthApp',
136
+ required: true,
137
+ },
138
+ ],
139
+ huTemplate: `# HU: Citas Medicas — {{SystemName}}
140
+
141
+ ## Historia de Usuario
142
+ Como paciente, quiero agendar citas medicas de forma sencilla y recibir recordatorios para no perder mis consultas.
143
+
144
+ ## Criterios de Aceptacion
145
+
146
+ ### AC-1: Disponibilidad
147
+ - [ ] El sistema muestra horarios disponibles por profesional y especialidad
148
+ - [ ] La disponibilidad se actualiza en tiempo real al reservar/cancelar
149
+ - [ ] Se manejan zonas horarias correctamente para telemedicina
150
+ - [ ] Los bloqueos de agenda (vacaciones, emergencias) se reflejan inmediatamente
151
+
152
+ ### AC-2: Reserva de citas
153
+ - [ ] El paciente puede reservar una cita seleccionando fecha, hora y profesional
154
+ - [ ] Se confirma la cita por el canal preferido del paciente (email, SMS, push)
155
+ - [ ] Se previenen reservas dobles en el mismo horario
156
+
157
+ ### AC-3: Recordatorios
158
+ - [ ] Se envia recordatorio 24 horas y 1 hora antes de la cita
159
+ - [ ] Los canales de recordatorio son configurables por paciente
160
+ - [ ] El recordatorio incluye opcion de confirmar, cancelar o reprogramar
161
+
162
+ ### AC-4: Cancelacion y reprogramacion
163
+ - [ ] El paciente puede cancelar hasta N horas antes de la cita
164
+ - [ ] La reprogramacion ofrece los proximos horarios disponibles
165
+ - [ ] Las cancelaciones tardias se registran (politica configurable)
166
+
167
+ ### AC-5: Telemedicina
168
+ - [ ] Las citas virtuales generan un enlace de videollamada automaticamente
169
+ - [ ] El enlace es accesible solo durante la ventana de la cita
170
+ - [ ] Se registra la asistencia a la sesion virtual
171
+ `,
172
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Citas Medicas — {{SystemName}}
173
+
174
+ ## Archivos Afectados
175
+ - appointments/availability
176
+ - appointments/booking
177
+ - appointments/reminders
178
+ - appointments/cancellation
179
+ - appointments/telemedicine
180
+
181
+ ## Tipos / Entidades
182
+ - \`Appointment\`: id, patientId, professionalId, dateTime, type, status
183
+ - \`Availability\`: professionalId, slots[], blockedPeriods[]
184
+ - \`Reminder\`: appointmentId, channel, scheduledAt, sentAt
185
+
186
+ ## Riesgos
187
+ - Reservas dobles → bloqueo optimista con verificacion
188
+ - Recordatorios no enviados → cola de reintentos con monitoring
189
+ - Problemas de conectividad en telemedicina → plan de contingencia
190
+
191
+ ## Estimacion
192
+ - Dev: 24–48 horas
193
+ - Review: 4–8 horas
194
+ - Dificultad: 3/5
195
+ `,
196
+ progressTemplate: `# PROGRESS: Citas Medicas — {{SystemName}}
197
+
198
+ ## Estado: borrador
199
+
200
+ ## Criterios
201
+ - [ ] AC-1: Disponibilidad
202
+ - [ ] AC-2: Reserva de citas
203
+ - [ ] AC-3: Recordatorios
204
+ - [ ] AC-4: Cancelacion y reprogramacion
205
+ - [ ] AC-5: Telemedicina
206
+ `,
207
+ };
208
+ //# sourceMappingURL=templates-industry-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-health.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-health.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
+ /** SaaS multi-tenant template. */
3
+ export declare const SAAS_MULTI_TENANT_TEMPLATE: SpecTemplateEntry;
4
+ /** SaaS billing and subscriptions template. */
5
+ export declare const SAAS_BILLING_TEMPLATE: SpecTemplateEntry;
6
+ /** SaaS RBAC template. */
7
+ export declare const SAAS_ROLES_TEMPLATE: SpecTemplateEntry;
8
+ //# sourceMappingURL=templates-industry-saas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-industry-saas.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-saas.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,kCAAkC;AAClC,eAAO,MAAM,0BAA0B,EAAE,iBAuGxC,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,qBAAqB,EAAE,iBA2GnC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,mBAAmB,EAAE,iBAwGjC,CAAC"}