@planu/cli 0.29.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/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/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 +3 -1
- 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.map +1 -1
- package/dist/engine/spec-templates/templates-api-ui.js +28 -1
- package/dist/engine/spec-templates/templates-api-ui.js.map +1 -1
- package/dist/engine/spec-templates/templates-auth-crud.d.ts.map +1 -1
- package/dist/engine/spec-templates/templates-auth-crud.js +27 -0
- package/dist/engine/spec-templates/templates-auth-crud.js.map +1 -1
- package/dist/engine/spec-templates/templates-data-security.d.ts.map +1 -1
- package/dist/engine/spec-templates/templates-data-security.js +26 -0
- package/dist/engine/spec-templates/templates-data-security.js.map +1 -1
- 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.map +1 -1
- package/dist/engine/spec-templates/templates-perf-integration.js +27 -0
- package/dist/engine/spec-templates/templates-perf-integration.js.map +1 -1
- 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/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/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-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/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/types/ci.d.ts +51 -0
- package/dist/types/ci.d.ts.map +1 -1
- package/dist/types/project/core.d.ts +46 -5
- package/dist/types/project/core.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/vector-store.d.ts +7 -0
- package/dist/types/vector-store.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
// engine/spec-templates/templates-industry-ecom.ts — E-commerce industry templates.
|
|
2
|
+
// AC-04: Templates by industry — e-commerce vertical (split from health-ecom).
|
|
3
|
+
/** E-commerce cart and checkout template. */
|
|
4
|
+
export const ECOMMERCE_CART_CHECKOUT_TEMPLATE = {
|
|
5
|
+
id: 'ecommerce-cart-checkout',
|
|
6
|
+
name: 'Carrito y proceso de compra',
|
|
7
|
+
category: 'industry',
|
|
8
|
+
subcategory: 'ecommerce',
|
|
9
|
+
description: 'Carrito de compras con cupones, calculo de impuestos y proceso de checkout.',
|
|
10
|
+
tags: ['ecommerce', 'cart', 'checkout', 'payments', 'coupons'],
|
|
11
|
+
complexityScore: 'L',
|
|
12
|
+
estimationBase: {
|
|
13
|
+
hoursMin: 40,
|
|
14
|
+
hoursMax: 80,
|
|
15
|
+
notes: 'Incluye cupones, impuestos y multiples metodos de pago',
|
|
16
|
+
},
|
|
17
|
+
criteria: [
|
|
18
|
+
{ id: 'AC-1', title: 'Gestion del carrito', required: true },
|
|
19
|
+
{ id: 'AC-2', title: 'Cupones y descuentos', required: false },
|
|
20
|
+
{ id: 'AC-3', title: 'Calculo de impuestos', required: true },
|
|
21
|
+
{ id: 'AC-4', title: 'Proceso de checkout', required: true },
|
|
22
|
+
{ id: 'AC-5', title: 'Confirmacion de compra', required: true },
|
|
23
|
+
{ id: 'AC-6', title: 'Recuperacion de carrito', required: false },
|
|
24
|
+
],
|
|
25
|
+
variables: [
|
|
26
|
+
{
|
|
27
|
+
key: 'StoreName',
|
|
28
|
+
label: 'Nombre de la tienda',
|
|
29
|
+
description: 'Nombre del e-commerce',
|
|
30
|
+
example: 'MiTienda',
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
huTemplate: `# HU: Carrito y Checkout — {{StoreName}}
|
|
35
|
+
|
|
36
|
+
## Historia de Usuario
|
|
37
|
+
Como comprador de {{StoreName}}, quiero agregar productos al carrito y completar la compra de forma fluida y segura.
|
|
38
|
+
|
|
39
|
+
## Criterios de Aceptacion
|
|
40
|
+
|
|
41
|
+
### AC-1: Gestion del carrito
|
|
42
|
+
- [ ] Se pueden agregar, actualizar cantidad y eliminar productos del carrito
|
|
43
|
+
- [ ] El carrito persiste entre sesiones (usuario autenticado) o en almacenamiento local (anonimo)
|
|
44
|
+
- [ ] Se muestra subtotal actualizado en tiempo real
|
|
45
|
+
- [ ] Los productos sin stock se marcan automaticamente
|
|
46
|
+
|
|
47
|
+
### AC-2: Cupones y descuentos
|
|
48
|
+
- [ ] Se puede aplicar un codigo de cupon al carrito
|
|
49
|
+
- [ ] Los cupones validan vigencia, condiciones minimas y uso unico si aplica
|
|
50
|
+
- [ ] El descuento se refleja en el resumen antes de confirmar
|
|
51
|
+
|
|
52
|
+
### AC-3: Calculo de impuestos
|
|
53
|
+
- [ ] Los impuestos se calculan segun la direccion de envio
|
|
54
|
+
- [ ] El desglose de impuestos se muestra transparentemente
|
|
55
|
+
- [ ] Las reglas de impuestos son configurables por region
|
|
56
|
+
|
|
57
|
+
### AC-4: Proceso de checkout
|
|
58
|
+
- [ ] El checkout recopila direccion de envio, metodo de pago y datos de facturacion
|
|
59
|
+
- [ ] Se valida toda la informacion antes de procesar el pago
|
|
60
|
+
- [ ] El proceso es resistente a fallos parciales (no se cobra sin confirmar pedido)
|
|
61
|
+
|
|
62
|
+
### AC-5: Confirmacion de compra
|
|
63
|
+
- [ ] Se muestra resumen de pedido con numero de orden
|
|
64
|
+
- [ ] Se envia confirmacion por email con detalles del pedido
|
|
65
|
+
- [ ] El inventario se actualiza al confirmar la compra
|
|
66
|
+
|
|
67
|
+
### AC-6: Recuperacion de carrito
|
|
68
|
+
- [ ] Se envia recordatorio de carrito abandonado despues de N horas
|
|
69
|
+
- [ ] El enlace de recuperacion restaura el carrito con los productos originales
|
|
70
|
+
- [ ] Los productos no disponibles se indican al recuperar
|
|
71
|
+
`,
|
|
72
|
+
fichaTecnicaTemplate: `# FICHA TÉCNICA: Carrito y Checkout — {{StoreName}}
|
|
73
|
+
|
|
74
|
+
## Archivos Afectados
|
|
75
|
+
- cart/management
|
|
76
|
+
- cart/coupons
|
|
77
|
+
- checkout/tax-calculator
|
|
78
|
+
- checkout/payment-processor
|
|
79
|
+
- checkout/confirmation
|
|
80
|
+
- notifications/cart-recovery
|
|
81
|
+
|
|
82
|
+
## Tipos / Entidades
|
|
83
|
+
- \`Cart\`: id, userId, items[], couponCode, subtotal, tax, total
|
|
84
|
+
- \`CartItem\`: productId, quantity, unitPrice
|
|
85
|
+
- \`Order\`: id, cartId, status, paymentId, shippingAddress, createdAt
|
|
86
|
+
|
|
87
|
+
## Riesgos
|
|
88
|
+
- Doble cobro → idempotencia en procesamiento de pago
|
|
89
|
+
- Precio desactualizado en carrito → revalidar precios en checkout
|
|
90
|
+
- Carrito inconsistente → recalcular totales en cada operacion
|
|
91
|
+
|
|
92
|
+
## Estimacion
|
|
93
|
+
- Dev: 40–80 horas
|
|
94
|
+
- Review: 8–16 horas
|
|
95
|
+
- Dificultad: 4/5
|
|
96
|
+
`,
|
|
97
|
+
progressTemplate: `# PROGRESS: Carrito y Checkout — {{StoreName}}
|
|
98
|
+
|
|
99
|
+
## Estado: borrador
|
|
100
|
+
|
|
101
|
+
## Criterios
|
|
102
|
+
- [ ] AC-1: Gestion del carrito
|
|
103
|
+
- [ ] AC-2: Cupones y descuentos
|
|
104
|
+
- [ ] AC-3: Calculo de impuestos
|
|
105
|
+
- [ ] AC-4: Proceso de checkout
|
|
106
|
+
- [ ] AC-5: Confirmacion de compra
|
|
107
|
+
- [ ] AC-6: Recuperacion de carrito
|
|
108
|
+
`,
|
|
109
|
+
};
|
|
110
|
+
/** E-commerce inventory template. */
|
|
111
|
+
export const ECOMMERCE_INVENTORY_TEMPLATE = {
|
|
112
|
+
id: 'ecommerce-inventory',
|
|
113
|
+
name: 'Gestion de inventario',
|
|
114
|
+
category: 'industry',
|
|
115
|
+
subcategory: 'ecommerce',
|
|
116
|
+
description: 'Control de stock, alertas de inventario bajo y variantes de producto.',
|
|
117
|
+
tags: ['ecommerce', 'inventory', 'stock', 'products', 'variants'],
|
|
118
|
+
complexityScore: 'M',
|
|
119
|
+
estimationBase: {
|
|
120
|
+
hoursMin: 24,
|
|
121
|
+
hoursMax: 48,
|
|
122
|
+
notes: 'Incluye variantes de producto y alertas de stock',
|
|
123
|
+
},
|
|
124
|
+
criteria: [
|
|
125
|
+
{ id: 'AC-1', title: 'Control de stock', required: true },
|
|
126
|
+
{ id: 'AC-2', title: 'Alertas de inventario', required: true },
|
|
127
|
+
{ id: 'AC-3', title: 'Variantes de producto', required: true },
|
|
128
|
+
{ id: 'AC-4', title: 'Movimientos de inventario', required: true },
|
|
129
|
+
{ id: 'AC-5', title: 'Reportes', required: false },
|
|
130
|
+
],
|
|
131
|
+
variables: [
|
|
132
|
+
{
|
|
133
|
+
key: 'StoreName',
|
|
134
|
+
label: 'Nombre de la tienda',
|
|
135
|
+
description: 'Nombre del e-commerce',
|
|
136
|
+
example: 'MiTienda',
|
|
137
|
+
required: true,
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
huTemplate: `# HU: Inventario — {{StoreName}}
|
|
141
|
+
|
|
142
|
+
## Historia de Usuario
|
|
143
|
+
Como administrador de {{StoreName}}, quiero gestionar el inventario de productos para mantener el stock actualizado y recibir alertas cuando este bajo.
|
|
144
|
+
|
|
145
|
+
## Criterios de Aceptacion
|
|
146
|
+
|
|
147
|
+
### AC-1: Control de stock
|
|
148
|
+
- [ ] Cada producto/variante tiene una cantidad en stock
|
|
149
|
+
- [ ] El stock se decrementa automaticamente al confirmar una venta
|
|
150
|
+
- [ ] Los productos sin stock no pueden agregarse al carrito
|
|
151
|
+
- [ ] Se soporta stock por ubicacion/almacen (multi-warehouse)
|
|
152
|
+
|
|
153
|
+
### AC-2: Alertas de inventario
|
|
154
|
+
- [ ] Se generan alertas cuando el stock cae bajo el umbral configurado
|
|
155
|
+
- [ ] Las alertas son configurables por producto o categoria
|
|
156
|
+
- [ ] Se notifica por email y/o dashboard
|
|
157
|
+
|
|
158
|
+
### AC-3: Variantes de producto
|
|
159
|
+
- [ ] Cada producto puede tener variantes (talla, color, etc.)
|
|
160
|
+
- [ ] Cada variante tiene su propio stock independiente
|
|
161
|
+
- [ ] Las variantes comparten la ficha de producto base
|
|
162
|
+
|
|
163
|
+
### AC-4: Movimientos de inventario
|
|
164
|
+
- [ ] Todo cambio de stock se registra como movimiento (entrada, salida, ajuste)
|
|
165
|
+
- [ ] Cada movimiento incluye razon, cantidad y actor
|
|
166
|
+
- [ ] El historial de movimientos es consultable por producto y periodo
|
|
167
|
+
|
|
168
|
+
### AC-5: Reportes
|
|
169
|
+
- [ ] Reporte de productos con stock bajo
|
|
170
|
+
- [ ] Reporte de movimientos por periodo
|
|
171
|
+
- [ ] Exportable en CSV o equivalente
|
|
172
|
+
`,
|
|
173
|
+
fichaTecnicaTemplate: `# FICHA TÉCNICA: Inventario — {{StoreName}}
|
|
174
|
+
|
|
175
|
+
## Archivos Afectados
|
|
176
|
+
- inventory/stock-manager
|
|
177
|
+
- inventory/alerts
|
|
178
|
+
- inventory/variants
|
|
179
|
+
- inventory/movements
|
|
180
|
+
- inventory/reports
|
|
181
|
+
|
|
182
|
+
## Tipos / Entidades
|
|
183
|
+
- \`Product\`: id, name, variants[], category
|
|
184
|
+
- \`Variant\`: id, productId, attributes, stock, sku
|
|
185
|
+
- \`StockMovement\`: variantId, type, quantity, reason, actor, timestamp
|
|
186
|
+
|
|
187
|
+
## Riesgos
|
|
188
|
+
- Sobreventa → reserva de stock al agregar al carrito con TTL
|
|
189
|
+
- Inconsistencia en stock multi-almacen → transacciones atomicas
|
|
190
|
+
- Alertas no enviadas → cola de notificaciones con reintentos
|
|
191
|
+
|
|
192
|
+
## Estimacion
|
|
193
|
+
- Dev: 24–48 horas
|
|
194
|
+
- Review: 4–8 horas
|
|
195
|
+
- Dificultad: 3/5
|
|
196
|
+
`,
|
|
197
|
+
progressTemplate: `# PROGRESS: Inventario — {{StoreName}}
|
|
198
|
+
|
|
199
|
+
## Estado: borrador
|
|
200
|
+
|
|
201
|
+
## Criterios
|
|
202
|
+
- [ ] AC-1: Control de stock
|
|
203
|
+
- [ ] AC-2: Alertas de inventario
|
|
204
|
+
- [ ] AC-3: Variantes de producto
|
|
205
|
+
- [ ] AC-4: Movimientos de inventario
|
|
206
|
+
- [ ] AC-5: Reportes
|
|
207
|
+
`,
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=templates-industry-ecom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-industry-ecom.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-ecom.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,+EAA+E;AAI/E,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,EAAE,EAAE,yBAAyB;IAC7B,IAAI,EAAE,6BAA6B;IACnC,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;IAC9D,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,wDAAwD;KAChE;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAClE;IACD,SAAS,EAAE;QACT;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI;SACf;KACF;IACD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCb;IACC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB;IACC,gBAAgB,EAAE;;;;;;;;;;;CAWnB;CACA,CAAC;AAEF,qCAAqC;AACrC,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC7D,EAAE,EAAE,qBAAqB;IACzB,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,uEAAuE;IACpF,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;IACjE,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,kDAAkD;KAC1D;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;KACnD;IACD,SAAS,EAAE;QACT;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI;SACf;KACF;IACD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCb;IACC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBvB;IACC,gBAAgB,EAAE;;;;;;;;;;CAUnB;CACA,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SpecTemplateEntry } from '../../types/spec-templates.js';
|
|
2
|
+
/** Fintech KYC verification template. */
|
|
3
|
+
export declare const FINTECH_KYC_TEMPLATE: SpecTemplateEntry;
|
|
4
|
+
/** Fintech transactions template. */
|
|
5
|
+
export declare const FINTECH_TRANSACTIONS_TEMPLATE: SpecTemplateEntry;
|
|
6
|
+
/** Fintech compliance template. */
|
|
7
|
+
export declare const FINTECH_COMPLIANCE_TEMPLATE: SpecTemplateEntry;
|
|
8
|
+
//# sourceMappingURL=templates-industry-fintech.d.ts.map
|
|
@@ -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"}
|