@planu/cli 0.31.0 → 0.32.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 (45) hide show
  1. package/dist/engine/spec-templates/fintech-compliance.d.ts +4 -0
  2. package/dist/engine/spec-templates/fintech-compliance.d.ts.map +1 -0
  3. package/dist/engine/spec-templates/fintech-compliance.js +111 -0
  4. package/dist/engine/spec-templates/fintech-compliance.js.map +1 -0
  5. package/dist/engine/spec-templates/fintech-kyc.d.ts +4 -0
  6. package/dist/engine/spec-templates/fintech-kyc.d.ts.map +1 -0
  7. package/dist/engine/spec-templates/fintech-kyc.js +125 -0
  8. package/dist/engine/spec-templates/fintech-kyc.js.map +1 -0
  9. package/dist/engine/spec-templates/fintech-transactions.d.ts +4 -0
  10. package/dist/engine/spec-templates/fintech-transactions.d.ts.map +1 -0
  11. package/dist/engine/spec-templates/fintech-transactions.js +120 -0
  12. package/dist/engine/spec-templates/fintech-transactions.js.map +1 -0
  13. package/dist/engine/spec-templates/templates-industry-fintech.d.ts +3 -7
  14. package/dist/engine/spec-templates/templates-industry-fintech.d.ts.map +1 -1
  15. package/dist/engine/spec-templates/templates-industry-fintech.js +4 -348
  16. package/dist/engine/spec-templates/templates-industry-fintech.js.map +1 -1
  17. package/dist/types/project/agent.d.ts +12 -0
  18. package/dist/types/project/agent.d.ts.map +1 -0
  19. package/dist/types/project/agent.js +3 -0
  20. package/dist/types/project/agent.js.map +1 -0
  21. package/dist/types/project/architecture-detection.d.ts +23 -0
  22. package/dist/types/project/architecture-detection.d.ts.map +1 -0
  23. package/dist/types/project/architecture-detection.js +2 -0
  24. package/dist/types/project/architecture-detection.js.map +1 -0
  25. package/dist/types/project/config-metrics.d.ts +29 -0
  26. package/dist/types/project/config-metrics.d.ts.map +1 -0
  27. package/dist/types/project/config-metrics.js +2 -0
  28. package/dist/types/project/config-metrics.js.map +1 -0
  29. package/dist/types/project/constitution.d.ts +31 -0
  30. package/dist/types/project/constitution.d.ts.map +1 -0
  31. package/dist/types/project/constitution.js +3 -0
  32. package/dist/types/project/constitution.js.map +1 -0
  33. package/dist/types/project/core.d.ts +18 -163
  34. package/dist/types/project/core.d.ts.map +1 -1
  35. package/dist/types/project/core.js +7 -1
  36. package/dist/types/project/core.js.map +1 -1
  37. package/dist/types/project/mfe-detection.d.ts +18 -0
  38. package/dist/types/project/mfe-detection.d.ts.map +1 -0
  39. package/dist/types/project/mfe-detection.js +3 -0
  40. package/dist/types/project/mfe-detection.js.map +1 -0
  41. package/dist/types/project/planu-config.d.ts +55 -0
  42. package/dist/types/project/planu-config.d.ts.map +1 -0
  43. package/dist/types/project/planu-config.js +2 -0
  44. package/dist/types/project/planu-config.js.map +1 -0
  45. package/package.json +1 -1
@@ -1,350 +1,6 @@
1
- // engine/spec-templates/templates-industry-fintech.ts — Fintech industry templates.
1
+ // engine/spec-templates/templates-industry-fintech.ts — Barrel for fintech industry templates.
2
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
- };
3
+ export { FINTECH_KYC_TEMPLATE } from './fintech-kyc.js';
4
+ export { FINTECH_TRANSACTIONS_TEMPLATE } from './fintech-transactions.js';
5
+ export { FINTECH_COMPLIANCE_TEMPLATE } from './fintech-compliance.js';
350
6
  //# sourceMappingURL=templates-industry-fintech.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"templates-industry-fintech.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-fintech.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,mFAAmF;AAEnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type AgentFramework = 'claude-sdk' | 'crewai' | 'langgraph' | 'vercel-ai' | 'mastra' | 'autogen' | 'semantic-kernel' | 'openai-assistants';
2
+ export type MultiAgentTopology = 'hub-and-spoke' | 'swarm' | 'sequential-pipeline';
3
+ export type AgentProjectType = 'agent-with-tools' | 'llm-pipeline' | 'rag-system' | 'multi-agent-router';
4
+ export interface AgentProjectKnowledge {
5
+ framework: AgentFramework | null;
6
+ llmModel: string | null;
7
+ memoryPersistence: string | null;
8
+ detectedTools: string[];
9
+ projectType: AgentProjectType | null;
10
+ topology: MultiAgentTopology | null;
11
+ }
12
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/project/agent.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,WAAW,GACX,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,OAAO,GAAG,qBAAqB,CAAC;AAEnF,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,cAAc,GACd,YAAY,GACZ,oBAAoB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrC"}
@@ -0,0 +1,3 @@
1
+ // Planu — AI Agent project types (SPEC-016a)
2
+ export {};
3
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/project/agent.ts"],"names":[],"mappings":"AAAA,6CAA6C"}
@@ -0,0 +1,23 @@
1
+ import type { ArchitecturePattern } from '../common.js';
2
+ export interface ArchitectureDetection {
3
+ primary: ArchitecturePattern;
4
+ secondary: ArchitecturePattern[];
5
+ layers: LayerDefinition[];
6
+ boundaries: ModuleBoundary[];
7
+ communicationPatterns: string[];
8
+ deploymentUnits: string[];
9
+ }
10
+ export interface LayerDefinition {
11
+ name: string;
12
+ directories: string[];
13
+ responsibility: string;
14
+ dependsOn: string[];
15
+ neverDependsOn: string[];
16
+ }
17
+ export interface ModuleBoundary {
18
+ name: string;
19
+ directories: string[];
20
+ publicApi: string[];
21
+ internalOnly: string[];
22
+ }
23
+ //# sourceMappingURL=architecture-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-detection.d.ts","sourceRoot":"","sources":["../../../src/types/project/architecture-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=architecture-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-detection.js","sourceRoot":"","sources":["../../../src/types/project/architecture-detection.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import type { SupportedLocale, ExperienceLevel, Difficulty, ExecutionMode } from '../common.js';
2
+ import type { Estimation, Actuals } from '../estimation.js';
3
+ export interface GlobalConfig {
4
+ defaultLocale: SupportedLocale;
5
+ defaultExperienceLevel: ExperienceLevel;
6
+ hourlyRate: number;
7
+ pricingOpusPerMToken: number;
8
+ pricingSonnetPerMToken: number;
9
+ }
10
+ export interface MetricsHistory {
11
+ projectId: string;
12
+ entries: MetricEntry[];
13
+ }
14
+ export interface MetricEntry {
15
+ specId: string;
16
+ difficulty: Difficulty;
17
+ estimated: Estimation;
18
+ actual: Actuals;
19
+ accuracyScore: number;
20
+ }
21
+ export interface TokenBudget {
22
+ projectId: string;
23
+ monthlyBudgetUsd: number;
24
+ spentThisMonth: number;
25
+ remainingUsd: number;
26
+ tokensByMode: Record<ExecutionMode, number>;
27
+ savingsVsNaive: number;
28
+ }
29
+ //# sourceMappingURL=config-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-metrics.d.ts","sourceRoot":"","sources":["../../../src/types/project/config-metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,eAAe,CAAC;IAC/B,sBAAsB,EAAE,eAAe,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-metrics.js","sourceRoot":"","sources":["../../../src/types/project/config-metrics.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ export interface Constitution {
2
+ projectId: string;
3
+ principles: ConstitutionPrinciple[];
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ version: number;
7
+ }
8
+ export interface ConstitutionPrinciple {
9
+ id: string;
10
+ category: 'architecture' | 'security' | 'quality' | 'conventions' | 'tech-stack' | 'workflow';
11
+ principle: string;
12
+ rationale: string;
13
+ enforceLevel: 'strict' | 'recommended';
14
+ autoEnforceable: boolean;
15
+ checkFn?: string;
16
+ source: 'auto-detected' | 'user-defined' | 'claude-md' | 'learned';
17
+ immutable: boolean;
18
+ }
19
+ export interface ConstitutionViolation {
20
+ principleId: string;
21
+ specId?: string;
22
+ file?: string;
23
+ description: string;
24
+ severity: 'error' | 'warning';
25
+ }
26
+ export interface ConstitutionMergeResult {
27
+ added: number;
28
+ preserved: number;
29
+ conflicts: string[];
30
+ }
31
+ //# sourceMappingURL=constitution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constitution.d.ts","sourceRoot":"","sources":["../../../src/types/project/constitution.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,QAAQ,GAAG,aAAa,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;IACnE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ // Planu — Constitution types
2
+ export {};
3
+ //# sourceMappingURL=constitution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constitution.js","sourceRoot":"","sources":["../../../src/types/project/constitution.ts"],"names":[],"mappings":"AAAA,6BAA6B"}