@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.
- package/dist/config/model-routing-rules.json +98 -0
- package/dist/engine/ai-cost-estimator/core.d.ts.map +1 -1
- package/dist/engine/ai-cost-estimator/core.js +2 -202
- package/dist/engine/ai-cost-estimator/core.js.map +1 -1
- package/dist/engine/ai-cost-estimator/recommender.d.ts +8 -0
- package/dist/engine/ai-cost-estimator/recommender.d.ts.map +1 -0
- package/dist/engine/ai-cost-estimator/recommender.js +94 -0
- package/dist/engine/ai-cost-estimator/recommender.js.map +1 -0
- package/dist/engine/ai-cost-estimator/spec-loader.d.ts +13 -0
- package/dist/engine/ai-cost-estimator/spec-loader.d.ts.map +1 -0
- package/dist/engine/ai-cost-estimator/spec-loader.js +102 -0
- package/dist/engine/ai-cost-estimator/spec-loader.js.map +1 -0
- package/dist/engine/ci-generator/planu-config.d.ts +7 -0
- package/dist/engine/ci-generator/planu-config.d.ts.map +1 -0
- package/dist/engine/ci-generator/planu-config.js +40 -0
- package/dist/engine/ci-generator/planu-config.js.map +1 -0
- package/dist/engine/ci-generator/planu-steps.d.ts +11 -0
- package/dist/engine/ci-generator/planu-steps.d.ts.map +1 -0
- package/dist/engine/ci-generator/planu-steps.js +292 -0
- package/dist/engine/ci-generator/planu-steps.js.map +1 -0
- package/dist/engine/code-transforms/transform-engine.d.ts +7 -0
- package/dist/engine/code-transforms/transform-engine.d.ts.map +1 -0
- package/dist/engine/code-transforms/transform-engine.js +67 -0
- package/dist/engine/code-transforms/transform-engine.js.map +1 -0
- package/dist/engine/code-transforms/typescript/add-error-handling.d.ts +6 -0
- package/dist/engine/code-transforms/typescript/add-error-handling.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/add-error-handling.js +92 -0
- package/dist/engine/code-transforms/typescript/add-error-handling.js.map +1 -0
- package/dist/engine/code-transforms/typescript/add-jsdoc.d.ts +6 -0
- package/dist/engine/code-transforms/typescript/add-jsdoc.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/add-jsdoc.js +83 -0
- package/dist/engine/code-transforms/typescript/add-jsdoc.js.map +1 -0
- package/dist/engine/code-transforms/typescript/add-types.d.ts +3 -0
- package/dist/engine/code-transforms/typescript/add-types.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/add-types.js +182 -0
- package/dist/engine/code-transforms/typescript/add-types.js.map +1 -0
- package/dist/engine/code-transforms/typescript/ast-utils.d.ts +38 -0
- package/dist/engine/code-transforms/typescript/ast-utils.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/ast-utils.js +90 -0
- package/dist/engine/code-transforms/typescript/ast-utils.js.map +1 -0
- package/dist/engine/code-transforms/typescript/extract-interface.d.ts +6 -0
- package/dist/engine/code-transforms/typescript/extract-interface.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/extract-interface.js +103 -0
- package/dist/engine/code-transforms/typescript/extract-interface.js.map +1 -0
- package/dist/engine/code-transforms/typescript/modernize-syntax.d.ts +3 -0
- package/dist/engine/code-transforms/typescript/modernize-syntax.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/modernize-syntax.js +213 -0
- package/dist/engine/code-transforms/typescript/modernize-syntax.js.map +1 -0
- package/dist/engine/code-transforms/typescript/rename-symbol.d.ts +8 -0
- package/dist/engine/code-transforms/typescript/rename-symbol.d.ts.map +1 -0
- package/dist/engine/code-transforms/typescript/rename-symbol.js +40 -0
- package/dist/engine/code-transforms/typescript/rename-symbol.js.map +1 -0
- package/dist/engine/mermaid/core.d.ts +18 -0
- package/dist/engine/mermaid/core.d.ts.map +1 -0
- package/dist/engine/mermaid/core.js +88 -0
- package/dist/engine/mermaid/core.js.map +1 -0
- package/dist/engine/mermaid/diagram-generators.d.ts +22 -0
- package/dist/engine/mermaid/diagram-generators.d.ts.map +1 -0
- package/dist/engine/mermaid/diagram-generators.js +139 -0
- package/dist/engine/mermaid/diagram-generators.js.map +1 -0
- package/dist/engine/mermaid/helpers.d.ts +8 -0
- package/dist/engine/mermaid/helpers.d.ts.map +1 -0
- package/dist/engine/mermaid/helpers.js +61 -0
- package/dist/engine/mermaid/helpers.js.map +1 -0
- package/dist/engine/mermaid-generator.d.ts +2 -37
- package/dist/engine/mermaid-generator.d.ts.map +1 -1
- package/dist/engine/mermaid-generator.js +4 -276
- package/dist/engine/mermaid-generator.js.map +1 -1
- package/dist/engine/model-router/complexity-analyzer.d.ts +26 -0
- package/dist/engine/model-router/complexity-analyzer.d.ts.map +1 -0
- package/dist/engine/model-router/complexity-analyzer.js +182 -0
- package/dist/engine/model-router/complexity-analyzer.js.map +1 -0
- package/dist/engine/model-router/cost-estimator.d.ts +6 -0
- package/dist/engine/model-router/cost-estimator.d.ts.map +1 -0
- package/dist/engine/model-router/cost-estimator.js +60 -0
- package/dist/engine/model-router/cost-estimator.js.map +1 -0
- package/dist/engine/model-router/historical-learner.d.ts +26 -0
- package/dist/engine/model-router/historical-learner.d.ts.map +1 -0
- package/dist/engine/model-router/historical-learner.js +91 -0
- package/dist/engine/model-router/historical-learner.js.map +1 -0
- package/dist/engine/model-router/rules-engine.d.ts +13 -0
- package/dist/engine/model-router/rules-engine.d.ts.map +1 -0
- package/dist/engine/model-router/rules-engine.js +142 -0
- package/dist/engine/model-router/rules-engine.js.map +1 -0
- package/dist/engine/spec-coverage/criteria-mapper.d.ts +1 -2
- package/dist/engine/spec-coverage/criteria-mapper.d.ts.map +1 -1
- package/dist/engine/spec-coverage/criteria-mapper.js +4 -203
- package/dist/engine/spec-coverage/criteria-mapper.js.map +1 -1
- package/dist/engine/spec-coverage/keyword-extractor.d.ts +10 -0
- package/dist/engine/spec-coverage/keyword-extractor.d.ts.map +1 -0
- package/dist/engine/spec-coverage/keyword-extractor.js +147 -0
- package/dist/engine/spec-coverage/keyword-extractor.js.map +1 -0
- package/dist/engine/spec-coverage/test-matchers.d.ts +9 -0
- package/dist/engine/spec-coverage/test-matchers.d.ts.map +1 -0
- package/dist/engine/spec-coverage/test-matchers.js +59 -0
- package/dist/engine/spec-coverage/test-matchers.js.map +1 -0
- package/dist/engine/spec-templates/catalog-extra.d.ts +1 -1
- package/dist/engine/spec-templates/catalog-extra.d.ts.map +1 -1
- package/dist/engine/spec-templates/catalog-extra.js +8 -363
- package/dist/engine/spec-templates/catalog-extra.js.map +1 -1
- package/dist/engine/spec-templates/catalog-industry.d.ts +4 -0
- package/dist/engine/spec-templates/catalog-industry.d.ts.map +1 -0
- package/dist/engine/spec-templates/catalog-industry.js +19 -0
- package/dist/engine/spec-templates/catalog-industry.js.map +1 -0
- package/dist/engine/spec-templates/catalog.d.ts +1 -1
- package/dist/engine/spec-templates/catalog.d.ts.map +1 -1
- package/dist/engine/spec-templates/catalog.js +12 -381
- package/dist/engine/spec-templates/catalog.js.map +1 -1
- package/dist/engine/spec-templates/custom-loader.d.ts +12 -0
- package/dist/engine/spec-templates/custom-loader.d.ts.map +1 -0
- package/dist/engine/spec-templates/custom-loader.js +99 -0
- package/dist/engine/spec-templates/custom-loader.js.map +1 -0
- package/dist/engine/spec-templates/index.d.ts +4 -2
- package/dist/engine/spec-templates/index.d.ts.map +1 -1
- package/dist/engine/spec-templates/index.js +4 -2
- package/dist/engine/spec-templates/index.js.map +1 -1
- package/dist/engine/spec-templates/query.d.ts +12 -4
- package/dist/engine/spec-templates/query.d.ts.map +1 -1
- package/dist/engine/spec-templates/query.js +29 -7
- package/dist/engine/spec-templates/query.js.map +1 -1
- package/dist/engine/spec-templates/renderer.d.ts +27 -2
- package/dist/engine/spec-templates/renderer.d.ts.map +1 -1
- package/dist/engine/spec-templates/renderer.js +119 -4
- package/dist/engine/spec-templates/renderer.js.map +1 -1
- package/dist/engine/spec-templates/templates-api-ui.d.ts +6 -0
- package/dist/engine/spec-templates/templates-api-ui.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-api-ui.js +215 -0
- package/dist/engine/spec-templates/templates-api-ui.js.map +1 -0
- package/dist/engine/spec-templates/templates-auth-crud.d.ts +6 -0
- package/dist/engine/spec-templates/templates-auth-crud.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-auth-crud.js +225 -0
- package/dist/engine/spec-templates/templates-auth-crud.js.map +1 -0
- package/dist/engine/spec-templates/templates-data-security.d.ts +6 -0
- package/dist/engine/spec-templates/templates-data-security.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-data-security.js +198 -0
- package/dist/engine/spec-templates/templates-data-security.js.map +1 -0
- package/dist/engine/spec-templates/templates-industry-ecom.d.ts +6 -0
- package/dist/engine/spec-templates/templates-industry-ecom.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-industry-ecom.js +209 -0
- package/dist/engine/spec-templates/templates-industry-ecom.js.map +1 -0
- package/dist/engine/spec-templates/templates-industry-fintech.d.ts +8 -0
- package/dist/engine/spec-templates/templates-industry-fintech.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-industry-fintech.js +350 -0
- package/dist/engine/spec-templates/templates-industry-fintech.js.map +1 -0
- package/dist/engine/spec-templates/templates-industry-health-ecom.d.ts +3 -0
- package/dist/engine/spec-templates/templates-industry-health-ecom.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-industry-health-ecom.js +5 -0
- package/dist/engine/spec-templates/templates-industry-health-ecom.js.map +1 -0
- package/dist/engine/spec-templates/templates-industry-health.d.ts +6 -0
- package/dist/engine/spec-templates/templates-industry-health.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-industry-health.js +208 -0
- package/dist/engine/spec-templates/templates-industry-health.js.map +1 -0
- package/dist/engine/spec-templates/templates-industry-saas.d.ts +8 -0
- package/dist/engine/spec-templates/templates-industry-saas.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-industry-saas.js +323 -0
- package/dist/engine/spec-templates/templates-industry-saas.js.map +1 -0
- package/dist/engine/spec-templates/templates-perf-integration.d.ts +6 -0
- package/dist/engine/spec-templates/templates-perf-integration.d.ts.map +1 -0
- package/dist/engine/spec-templates/templates-perf-integration.js +226 -0
- package/dist/engine/spec-templates/templates-perf-integration.js.map +1 -0
- package/dist/engine/vector-store/hnsw.d.ts +37 -0
- package/dist/engine/vector-store/hnsw.d.ts.map +1 -0
- package/dist/engine/vector-store/hnsw.js +294 -0
- package/dist/engine/vector-store/hnsw.js.map +1 -0
- package/dist/engine/vector-store/similarity.d.ts +21 -0
- package/dist/engine/vector-store/similarity.d.ts.map +1 -0
- package/dist/engine/vector-store/similarity.js +86 -0
- package/dist/engine/vector-store/similarity.js.map +1 -0
- package/dist/engine/vector-store/tfidf.d.ts +35 -0
- package/dist/engine/vector-store/tfidf.d.ts.map +1 -0
- package/dist/engine/vector-store/tfidf.js +255 -0
- package/dist/engine/vector-store/tfidf.js.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/storage/vector-store/backend-factory.d.ts +9 -0
- package/dist/storage/vector-store/backend-factory.d.ts.map +1 -0
- package/dist/storage/vector-store/backend-factory.js +33 -0
- package/dist/storage/vector-store/backend-factory.js.map +1 -0
- package/dist/storage/vector-store/json-fallback.d.ts +21 -0
- package/dist/storage/vector-store/json-fallback.d.ts.map +1 -0
- package/dist/storage/vector-store/json-fallback.js +85 -0
- package/dist/storage/vector-store/json-fallback.js.map +1 -0
- package/dist/storage/vector-store/migrator.d.ts +10 -0
- package/dist/storage/vector-store/migrator.d.ts.map +1 -0
- package/dist/storage/vector-store/migrator.js +139 -0
- package/dist/storage/vector-store/migrator.js.map +1 -0
- package/dist/storage/vector-store/sqlite-adapter.d.ts +28 -0
- package/dist/storage/vector-store/sqlite-adapter.d.ts.map +1 -0
- package/dist/storage/vector-store/sqlite-adapter.js +142 -0
- package/dist/storage/vector-store/sqlite-adapter.js.map +1 -0
- package/dist/tools/ci-planu-handler.d.ts +8 -0
- package/dist/tools/ci-planu-handler.d.ts.map +1 -0
- package/dist/tools/ci-planu-handler.js +44 -0
- package/dist/tools/ci-planu-handler.js.map +1 -0
- package/dist/tools/create-spec/constitution-validator.d.ts +4 -0
- package/dist/tools/create-spec/constitution-validator.d.ts.map +1 -0
- package/dist/tools/create-spec/constitution-validator.js +37 -0
- package/dist/tools/create-spec/constitution-validator.js.map +1 -0
- package/dist/tools/create-spec/post-creation.d.ts +11 -0
- package/dist/tools/create-spec/post-creation.d.ts.map +1 -0
- package/dist/tools/create-spec/post-creation.js +48 -0
- package/dist/tools/create-spec/post-creation.js.map +1 -0
- package/dist/tools/create-spec/spec-builder.d.ts +14 -0
- package/dist/tools/create-spec/spec-builder.d.ts.map +1 -0
- package/dist/tools/create-spec/spec-builder.js +131 -0
- package/dist/tools/create-spec/spec-builder.js.map +1 -0
- package/dist/tools/create-spec.d.ts.map +1 -1
- package/dist/tools/create-spec.js +42 -172
- package/dist/tools/create-spec.js.map +1 -1
- package/dist/tools/init-project/handler.d.ts.map +1 -1
- package/dist/tools/init-project/handler.js +24 -159
- package/dist/tools/init-project/handler.js.map +1 -1
- package/dist/tools/init-project/result-builder.d.ts +4 -0
- package/dist/tools/init-project/result-builder.d.ts.map +1 -0
- package/dist/tools/init-project/result-builder.js +150 -0
- package/dist/tools/init-project/result-builder.js.map +1 -0
- package/dist/tools/learn.d.ts.map +1 -1
- package/dist/tools/learn.js +67 -14
- package/dist/tools/learn.js.map +1 -1
- package/dist/tools/recommend-model-handler.d.ts +8 -0
- package/dist/tools/recommend-model-handler.d.ts.map +1 -0
- package/dist/tools/recommend-model-handler.js +65 -0
- package/dist/tools/recommend-model-handler.js.map +1 -0
- package/dist/tools/register-ci-tools.d.ts.map +1 -1
- package/dist/tools/register-ci-tools.js +36 -0
- package/dist/tools/register-ci-tools.js.map +1 -1
- package/dist/tools/register-model-tools.d.ts +3 -0
- package/dist/tools/register-model-tools.d.ts.map +1 -0
- package/dist/tools/register-model-tools.js +50 -0
- package/dist/tools/register-model-tools.js.map +1 -0
- package/dist/tools/register-search-tools.d.ts +7 -0
- package/dist/tools/register-search-tools.d.ts.map +1 -0
- package/dist/tools/register-search-tools.js +34 -0
- package/dist/tools/register-search-tools.js.map +1 -0
- package/dist/tools/register-template-tools.d.ts.map +1 -1
- package/dist/tools/register-template-tools.js +21 -8
- package/dist/tools/register-template-tools.js.map +1 -1
- package/dist/tools/register-transform-tools.d.ts +3 -0
- package/dist/tools/register-transform-tools.d.ts.map +1 -0
- package/dist/tools/register-transform-tools.js +29 -0
- package/dist/tools/register-transform-tools.js.map +1 -0
- package/dist/tools/semantic-search-handler.d.ts +7 -0
- package/dist/tools/semantic-search-handler.d.ts.map +1 -0
- package/dist/tools/semantic-search-handler.js +72 -0
- package/dist/tools/semantic-search-handler.js.map +1 -0
- package/dist/tools/spec-templates.d.ts +1 -1
- package/dist/tools/spec-templates.d.ts.map +1 -1
- package/dist/tools/spec-templates.js +20 -6
- package/dist/tools/spec-templates.js.map +1 -1
- package/dist/tools/transform-code-handler.d.ts +7 -0
- package/dist/tools/transform-code-handler.d.ts.map +1 -0
- package/dist/tools/transform-code-handler.js +58 -0
- package/dist/tools/transform-code-handler.js.map +1 -0
- package/dist/types/advanced-framework.d.ts +47 -0
- package/dist/types/advanced-framework.d.ts.map +1 -0
- package/dist/types/advanced-framework.js +3 -0
- package/dist/types/advanced-framework.js.map +1 -0
- package/dist/types/ci.d.ts +51 -0
- package/dist/types/ci.d.ts.map +1 -1
- package/dist/types/code-transforms.d.ts +114 -0
- package/dist/types/code-transforms.d.ts.map +1 -0
- package/dist/types/code-transforms.js +11 -0
- package/dist/types/code-transforms.js.map +1 -0
- package/dist/types/css-framework.d.ts +110 -0
- package/dist/types/css-framework.d.ts.map +1 -0
- package/dist/types/css-framework.js +3 -0
- package/dist/types/css-framework.js.map +1 -0
- package/dist/types/dashboard.d.ts +77 -0
- package/dist/types/dashboard.d.ts.map +1 -0
- package/dist/types/dashboard.js +2 -0
- package/dist/types/dashboard.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/model-routing.d.ts +127 -0
- package/dist/types/model-routing.d.ts.map +1 -0
- package/dist/types/model-routing.js +3 -0
- package/dist/types/model-routing.js.map +1 -0
- package/dist/types/project/core.d.ts +46 -5
- package/dist/types/project/core.d.ts.map +1 -1
- package/dist/types/spec/core.d.ts +28 -1
- package/dist/types/spec/core.d.ts.map +1 -1
- package/dist/types/spec/inputs.d.ts +1 -6
- package/dist/types/spec/inputs.d.ts.map +1 -1
- package/dist/types/spec-templates.d.ts +51 -1
- package/dist/types/spec-templates.d.ts.map +1 -1
- package/dist/types/ui.d.ts +3 -231
- package/dist/types/ui.d.ts.map +1 -1
- package/dist/types/ui.js +7 -1
- package/dist/types/ui.js.map +1 -1
- package/dist/types/vector-store.d.ts +144 -0
- package/dist/types/vector-store.d.ts.map +1 -0
- package/dist/types/vector-store.js +3 -0
- package/dist/types/vector-store.js.map +1 -0
- package/package.json +1 -1
- 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"}
|