estela 0.1.31 → 0.1.32
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/README.md +11 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -2
- package/dist/cli.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +21 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/db/schema.test.js +226 -0
- package/dist/db/schema.test.js.map +1 -1
- package/dist/db/store.d.ts +50 -0
- package/dist/db/store.d.ts.map +1 -1
- package/dist/db/store.js +144 -1
- package/dist/db/store.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +4 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +106 -15
- package/dist/server.js.map +1 -1
- package/dist/server.test.js +30 -0
- package/dist/server.test.js.map +1 -1
- package/package.json +1 -1
- package/web/app.css +32 -0
- package/web/app.js +92 -8
- package/web/i18n.js +30 -6
- package/web/index.html +3 -3
package/dist/db/schema.test.js
CHANGED
|
@@ -494,4 +494,230 @@ function entry(over = {}) {
|
|
|
494
494
|
db.close();
|
|
495
495
|
}
|
|
496
496
|
});
|
|
497
|
+
/* ── Las facturas emitidas se pueden volver a ver ──────────────────────── */
|
|
498
|
+
(0, node_test_1.test)("listInvoices devuelve lo emitido, de lo más nuevo a lo más viejo", () => {
|
|
499
|
+
// Reportado usándolo: al cortar y facturar, el proyecto desaparecía de la
|
|
500
|
+
// pestaña Informes —que solo lista lo PENDIENTE— y no había ningún sitio
|
|
501
|
+
// donde volver a ver el informe. La factura estaba guardada y era invisible.
|
|
502
|
+
const db = (0, schema_js_1.openDatabase)(tempDb());
|
|
503
|
+
try {
|
|
504
|
+
store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
|
|
505
|
+
store.upsertProject(db, {
|
|
506
|
+
id: "web", clientId: "acme", name: "Web de ACME", billable: true,
|
|
507
|
+
roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client", repoPaths: [],
|
|
508
|
+
});
|
|
509
|
+
for (const [num, corte] of [["INF-2026-001", "2026-08-31"], ["INF-2026-002", "2026-09-30"]]) {
|
|
510
|
+
db.prepare(`
|
|
511
|
+
INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at,
|
|
512
|
+
period_start, currency, subtotal_minor, total_minor, total_seconds,
|
|
513
|
+
ai_micro_usd, lines_json)
|
|
514
|
+
VALUES (?, ?, 'acme', 'web', ?, ?, '2026-07-01T00:00:00.000Z', 'EUR',
|
|
515
|
+
170237, 170237, 471600, 0, '[]')
|
|
516
|
+
`).run(`inv_${num}`, num, `${corte}T12:00:00.000Z`, `${corte}T23:59:59.000Z`);
|
|
517
|
+
}
|
|
518
|
+
const facturas = store.listInvoices(db);
|
|
519
|
+
strict_1.default.equal(facturas.length, 2);
|
|
520
|
+
strict_1.default.equal(facturas[0].number, "INF-2026-002", "la más reciente primero");
|
|
521
|
+
strict_1.default.equal(facturas[0].projectName, "Web de ACME", "con el nombre, no solo el id");
|
|
522
|
+
strict_1.default.equal(facturas[0].clientName, "ACME");
|
|
523
|
+
strict_1.default.equal(facturas[0].totalSeconds, 471600);
|
|
524
|
+
strict_1.default.equal(facturas[0].totalMinor, 170237);
|
|
525
|
+
strict_1.default.equal(facturas[0].currency, "EUR");
|
|
526
|
+
}
|
|
527
|
+
finally {
|
|
528
|
+
db.close();
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
(0, node_test_1.test)("listInvoices puede filtrar por proyecto", () => {
|
|
532
|
+
const db = (0, schema_js_1.openDatabase)(tempDb());
|
|
533
|
+
try {
|
|
534
|
+
store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
|
|
535
|
+
for (const p of ["web", "api"]) {
|
|
536
|
+
store.upsertProject(db, {
|
|
537
|
+
id: p, clientId: "acme", name: p.toUpperCase(), billable: true,
|
|
538
|
+
roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client", repoPaths: [],
|
|
539
|
+
});
|
|
540
|
+
db.prepare(`
|
|
541
|
+
INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at,
|
|
542
|
+
period_start, currency, subtotal_minor, total_minor, total_seconds,
|
|
543
|
+
ai_micro_usd, lines_json)
|
|
544
|
+
VALUES (?, ?, 'acme', ?, '2026-09-30T12:00:00.000Z', '2026-09-30T23:59:59.000Z',
|
|
545
|
+
'2026-07-01T00:00:00.000Z', 'EUR', 100, 100, 3600, 0, '[]')
|
|
546
|
+
`).run(`inv_${p}`, `INF-${p}`, p);
|
|
547
|
+
}
|
|
548
|
+
strict_1.default.equal(store.listInvoices(db, "web").length, 1);
|
|
549
|
+
strict_1.default.equal(store.listInvoices(db, "web")[0].projectId, "web");
|
|
550
|
+
strict_1.default.equal(store.listInvoices(db).length, 2);
|
|
551
|
+
}
|
|
552
|
+
finally {
|
|
553
|
+
db.close();
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
(0, node_test_1.test)("sin facturas emitidas devuelve una lista vacía, no explota", () => {
|
|
557
|
+
const db = (0, schema_js_1.openDatabase)(tempDb());
|
|
558
|
+
try {
|
|
559
|
+
strict_1.default.deepEqual(store.listInvoices(db), []);
|
|
560
|
+
}
|
|
561
|
+
finally {
|
|
562
|
+
db.close();
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
(0, node_test_1.test)("getInvoice reconstruye la factura entera para poder reimprimirla", () => {
|
|
566
|
+
// El tipo Invoice congela importes y reparto de IA al emitir, con este
|
|
567
|
+
// motivo escrito: "un documento que cambia solo no es un documento".
|
|
568
|
+
// Faltaba poder leerlo de vuelta.
|
|
569
|
+
const db = (0, schema_js_1.openDatabase)(tempDb());
|
|
570
|
+
try {
|
|
571
|
+
store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
|
|
572
|
+
store.upsertProject(db, {
|
|
573
|
+
id: "web", clientId: "acme", name: "Web", billable: true, repoPaths: [],
|
|
574
|
+
roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client",
|
|
575
|
+
});
|
|
576
|
+
db.prepare(`
|
|
577
|
+
INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at,
|
|
578
|
+
period_start, currency, subtotal_minor, total_minor, total_seconds,
|
|
579
|
+
ai_micro_usd, usd_fx_rate, ai_amort_minor, ai_amort_cur, notes, lines_json)
|
|
580
|
+
VALUES ('inv_1', 'INF-2026-001', 'acme', 'web', '2026-09-23T12:00:00.000Z',
|
|
581
|
+
'2026-09-23T23:59:59.000Z', '2026-07-29T03:21:05.036Z', 'EUR',
|
|
582
|
+
170237, 170237, 471600, 4200000, 0.92, 1500, 'EUR', 'agosto',
|
|
583
|
+
'[{"description":"Desarrollo","seconds":471600,"amount":{"amount":170237,"currency":"EUR"}}]')
|
|
584
|
+
`).run();
|
|
585
|
+
const f = store.getInvoice(db, "INF-2026-001");
|
|
586
|
+
strict_1.default.ok(f, "la factura tiene que aparecer por su número");
|
|
587
|
+
strict_1.default.equal(f.number, "INF-2026-001");
|
|
588
|
+
strict_1.default.equal(f.total.amount, 170237);
|
|
589
|
+
strict_1.default.equal(f.total.currency, "EUR");
|
|
590
|
+
strict_1.default.equal(f.totalSeconds, 471600);
|
|
591
|
+
strict_1.default.equal(f.lines.length, 1, "las líneas congeladas, no recalculadas");
|
|
592
|
+
strict_1.default.equal(f.lines[0].description, "Desarrollo");
|
|
593
|
+
strict_1.default.equal(f.aiCost.microUsd, 4200000);
|
|
594
|
+
strict_1.default.equal(f.usdFxRate, 0.92);
|
|
595
|
+
strict_1.default.equal(f.aiAmortized?.amount, 1500, "el reparto de IA, tal y como se congeló");
|
|
596
|
+
strict_1.default.equal(f.notes, "agosto");
|
|
597
|
+
strict_1.default.ok(f.cutoffAt instanceof Date, "las fechas vuelven como Date, no como texto");
|
|
598
|
+
}
|
|
599
|
+
finally {
|
|
600
|
+
db.close();
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
(0, node_test_1.test)("getInvoice con un número que no existe devuelve null", () => {
|
|
604
|
+
const db = (0, schema_js_1.openDatabase)(tempDb());
|
|
605
|
+
try {
|
|
606
|
+
strict_1.default.equal(store.getInvoice(db, "INF-2099-999"), null);
|
|
607
|
+
}
|
|
608
|
+
finally {
|
|
609
|
+
db.close();
|
|
610
|
+
}
|
|
611
|
+
});
|
|
612
|
+
/* ── Un ajuste a mano sobrevive al reimport ────────────────────────────── */
|
|
613
|
+
function entradaDeAgente(dbPath, seconds) {
|
|
614
|
+
const db = (0, schema_js_1.openDatabase)(dbPath);
|
|
615
|
+
try {
|
|
616
|
+
store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
|
|
617
|
+
store.upsertProject(db, {
|
|
618
|
+
id: "web", clientId: "acme", name: "Web", billable: true, repoPaths: [],
|
|
619
|
+
roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client",
|
|
620
|
+
});
|
|
621
|
+
return store.saveTimeEntry(db, {
|
|
622
|
+
id: "te_fija", projectId: "web",
|
|
623
|
+
startedAt: new Date("2026-09-23T09:00:00.000Z"),
|
|
624
|
+
endedAt: new Date("2026-09-23T10:00:00.000Z"),
|
|
625
|
+
seconds, description: "feat: cartera de servicios", billable: true,
|
|
626
|
+
invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: seconds,
|
|
627
|
+
commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
finally {
|
|
631
|
+
db.close();
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
(0, node_test_1.test)("un ajuste a mano no se pierde al reimportar", () => {
|
|
635
|
+
// Reportado con datos reales: se editaba un bloque a 5h 50m, el auto-import
|
|
636
|
+
// corría a los cinco minutos y volvía a dejarlo en lo que midió el agente.
|
|
637
|
+
const path = tempDb();
|
|
638
|
+
entradaDeAgente(path, 9504); // 2h 38m medidas
|
|
639
|
+
const db = (0, schema_js_1.openDatabase)(path);
|
|
640
|
+
try {
|
|
641
|
+
store.adjustEntrySeconds(db, "te_fija", 21000, "Reunión con el cliente e investigación");
|
|
642
|
+
// El reimport vuelve a traer lo que mide el agente, como siempre.
|
|
643
|
+
store.saveTimeEntry(db, {
|
|
644
|
+
id: "te_fija", projectId: "web",
|
|
645
|
+
startedAt: new Date("2026-09-23T09:00:00.000Z"),
|
|
646
|
+
endedAt: new Date("2026-09-23T10:00:00.000Z"),
|
|
647
|
+
seconds: 9504, description: "feat: cartera de servicios", billable: true,
|
|
648
|
+
invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 9504,
|
|
649
|
+
commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
|
|
650
|
+
});
|
|
651
|
+
const r = db.prepare("SELECT seconds, measured_seconds, adjust_reason FROM time_entries WHERE id = 'te_fija'")
|
|
652
|
+
.get();
|
|
653
|
+
strict_1.default.equal(r.seconds, 21000, "lo ajustado manda: es lo que se factura");
|
|
654
|
+
strict_1.default.equal(r.measured_seconds, 9504, "y lo medido se guarda, para poder enseñar la diferencia");
|
|
655
|
+
strict_1.default.match(r.adjust_reason, /Reunión con el cliente/);
|
|
656
|
+
}
|
|
657
|
+
finally {
|
|
658
|
+
db.close();
|
|
659
|
+
}
|
|
660
|
+
});
|
|
661
|
+
(0, node_test_1.test)("sin ajuste, el reimport sigue mandando", () => {
|
|
662
|
+
const path = tempDb();
|
|
663
|
+
entradaDeAgente(path, 3600);
|
|
664
|
+
const db = (0, schema_js_1.openDatabase)(path);
|
|
665
|
+
try {
|
|
666
|
+
store.saveTimeEntry(db, {
|
|
667
|
+
id: "te_fija", projectId: "web",
|
|
668
|
+
startedAt: new Date("2026-09-23T09:00:00.000Z"),
|
|
669
|
+
endedAt: new Date("2026-09-23T10:00:00.000Z"),
|
|
670
|
+
seconds: 7200, description: "feat: cartera de servicios", billable: true,
|
|
671
|
+
invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 7200,
|
|
672
|
+
commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
|
|
673
|
+
});
|
|
674
|
+
const r = db.prepare("SELECT seconds FROM time_entries WHERE id = 'te_fija'").get();
|
|
675
|
+
strict_1.default.equal(r.seconds, 7200, "corregir la medición es justo para lo que sirve reimportar");
|
|
676
|
+
}
|
|
677
|
+
finally {
|
|
678
|
+
db.close();
|
|
679
|
+
}
|
|
680
|
+
});
|
|
681
|
+
(0, node_test_1.test)("un ajuste exige un motivo", () => {
|
|
682
|
+
const path = tempDb();
|
|
683
|
+
entradaDeAgente(path, 3600);
|
|
684
|
+
const db = (0, schema_js_1.openDatabase)(path);
|
|
685
|
+
try {
|
|
686
|
+
// Cambiar horas que alguien paga sin decir por qué es lo contrario de lo
|
|
687
|
+
// que promete el producto.
|
|
688
|
+
strict_1.default.throws(() => store.adjustEntrySeconds(db, "te_fija", 7200, ""));
|
|
689
|
+
strict_1.default.throws(() => store.adjustEntrySeconds(db, "te_fija", 7200, " "));
|
|
690
|
+
const r = db.prepare("SELECT seconds FROM time_entries WHERE id = 'te_fija'").get();
|
|
691
|
+
strict_1.default.equal(r.seconds, 3600, "y no se guarda nada a medias");
|
|
692
|
+
}
|
|
693
|
+
finally {
|
|
694
|
+
db.close();
|
|
695
|
+
}
|
|
696
|
+
});
|
|
697
|
+
(0, node_test_1.test)("reimportar no toca una imputación ya facturada", () => {
|
|
698
|
+
// La fila detrás de una factura emitida es historia. Pisarla deja el panel
|
|
699
|
+
// diciendo una cosa y el PDF entregado otra.
|
|
700
|
+
const path = tempDb();
|
|
701
|
+
entradaDeAgente(path, 9504);
|
|
702
|
+
const db = (0, schema_js_1.openDatabase)(path);
|
|
703
|
+
try {
|
|
704
|
+
db.prepare("INSERT INTO invoices (id, number, client_id, project_id, issued_at, cutoff_at, period_start, currency, subtotal_minor, total_minor, total_seconds, ai_micro_usd, lines_json) VALUES ('inv_1','INF-1','acme','web','2026-09-24T04:01:39.000Z','2026-09-23T23:59:59.000Z','2026-07-01T00:00:00.000Z','EUR',0,0,9504,0,'[]')").run();
|
|
705
|
+
db.prepare("UPDATE time_entries SET invoice_id = 'inv_1' WHERE id = 'te_fija'").run();
|
|
706
|
+
store.saveTimeEntry(db, {
|
|
707
|
+
id: "te_fija", projectId: "web",
|
|
708
|
+
startedAt: new Date("2026-09-23T09:00:00.000Z"),
|
|
709
|
+
endedAt: new Date("2026-09-23T10:00:00.000Z"),
|
|
710
|
+
seconds: 123, description: "otra cosa", billable: true,
|
|
711
|
+
invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 123,
|
|
712
|
+
commitHashes: [], agents: [], source: "agent", kind: "development", branch: "main",
|
|
713
|
+
});
|
|
714
|
+
const r = db.prepare("SELECT seconds, description FROM time_entries WHERE id = 'te_fija'")
|
|
715
|
+
.get();
|
|
716
|
+
strict_1.default.equal(r.seconds, 9504, "lo facturado no se recalcula");
|
|
717
|
+
strict_1.default.equal(r.description, "feat: cartera de servicios");
|
|
718
|
+
}
|
|
719
|
+
finally {
|
|
720
|
+
db.close();
|
|
721
|
+
}
|
|
722
|
+
});
|
|
497
723
|
//# sourceMappingURL=schema.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/db/schema.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/db/schema.test.ts"],"names":[],"mappings":"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"}
|
package/dist/db/store.d.ts
CHANGED
|
@@ -99,6 +99,23 @@ export declare function logScan(db: DatabaseSync, source: string, report: ParseR
|
|
|
99
99
|
* tests no dependan del reloj: publicar y escribir en el mismo milisegundo hace
|
|
100
100
|
* que la comparación de desfase falle por empate.
|
|
101
101
|
*/
|
|
102
|
+
export declare class AdjustError extends Error {
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Ajusta a mano los segundos de una imputación, con su motivo.
|
|
106
|
+
*
|
|
107
|
+
* El motivo es obligatorio y no es burocracia: un bloque puede haber costado
|
|
108
|
+
* 58 minutos de commits y cinco horas de verdad, porque hubo que investigar o
|
|
109
|
+
* reunirse con el cliente. Sin esa frase, el ajuste es un número cambiado a
|
|
110
|
+
* mano en algo que alguien paga, que es justo lo que este producto promete no
|
|
111
|
+
* hacer.
|
|
112
|
+
*
|
|
113
|
+
* Lo medido se conserva en `measured_seconds` para poder enseñar las dos
|
|
114
|
+
* cifras. Corregir no es falsear, pero solo si se ve lo que se corrigió.
|
|
115
|
+
*/
|
|
116
|
+
export declare function adjustEntrySeconds(db: DatabaseSync, id: string, seconds: number, reason: string, at?: Date): void;
|
|
117
|
+
/** Quita el ajuste y devuelve el bloque a lo que mide el agente. */
|
|
118
|
+
export declare function clearEntryAdjustment(db: DatabaseSync, id: string, at?: Date): void;
|
|
102
119
|
export declare function saveTimeEntry(db: DatabaseSync, entry: Omit<TimeEntry, "id"> & {
|
|
103
120
|
id?: string;
|
|
104
121
|
}, at?: Date): string;
|
|
@@ -132,6 +149,39 @@ export declare function entrySecondsByDay(db: DatabaseSync, projectId: string):
|
|
|
132
149
|
export declare function listEntriesBetween(db: DatabaseSync, from: string, to: string): TimeEntry[];
|
|
133
150
|
/** Guarda la factura y marca sus imputaciones. Todo o nada. */
|
|
134
151
|
export declare function saveInvoice(db: DatabaseSync, invoice: Invoice, entryIds: readonly string[]): void;
|
|
152
|
+
export interface IssuedInvoice {
|
|
153
|
+
readonly id: string;
|
|
154
|
+
readonly number: string;
|
|
155
|
+
readonly projectId: string;
|
|
156
|
+
readonly projectName: string;
|
|
157
|
+
readonly clientName: string;
|
|
158
|
+
readonly issuedAt: string;
|
|
159
|
+
readonly cutoffAt: string;
|
|
160
|
+
readonly periodStart: string;
|
|
161
|
+
readonly currency: string;
|
|
162
|
+
readonly totalMinor: number;
|
|
163
|
+
readonly totalSeconds: number;
|
|
164
|
+
readonly aiMicroUsd: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Las facturas ya emitidas.
|
|
168
|
+
*
|
|
169
|
+
* Existe porque faltaba: el panel listaba solo lo PENDIENTE de facturar, así
|
|
170
|
+
* que al cortar y facturar el proyecto desaparecía de la pantalla y no había
|
|
171
|
+
* dónde volver a mirar. La factura estaba guardada —con sus líneas congeladas
|
|
172
|
+
* en `lines_json`— y era invisible, que para un número que alguien paga es lo
|
|
173
|
+
* peor de los dos mundos: ni se ve ni se puede rehacer.
|
|
174
|
+
*/
|
|
175
|
+
export declare function listInvoices(db: DatabaseSync, projectId?: string): IssuedInvoice[];
|
|
176
|
+
/**
|
|
177
|
+
* Una factura emitida, entera y tal y como se emitió.
|
|
178
|
+
*
|
|
179
|
+
* Todo sale de la fila guardada, nada se recalcula: el propio tipo `Invoice`
|
|
180
|
+
* congela importes y reparto de IA al emitir, y su comentario lo explica —"un
|
|
181
|
+
* documento que cambia solo no es un documento"—. Reimprimir en diciembre un
|
|
182
|
+
* informe de agosto tiene que dar el mismo papel que dio en agosto.
|
|
183
|
+
*/
|
|
184
|
+
export declare function getInvoice(db: DatabaseSync, number: string): Invoice | null;
|
|
135
185
|
export declare function nextInvoiceNumber(db: DatabaseSync, prefix: string): string;
|
|
136
186
|
export declare function readInvoiceLines(json: string): InvoiceLine[];
|
|
137
187
|
export declare function upsertSubscription(db: DatabaseSync, sub: Subscription): void;
|
package/dist/db/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
|
package/dist/db/store.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdjustError = void 0;
|
|
3
4
|
exports.upsertClient = upsertClient;
|
|
4
5
|
exports.upsertProject = upsertProject;
|
|
5
6
|
exports.addProjectRepo = addProjectRepo;
|
|
@@ -22,12 +23,16 @@ exports.allProjectRepoPaths = allProjectRepoPaths;
|
|
|
22
23
|
exports.saveTurns = saveTurns;
|
|
23
24
|
exports.saveCommits = saveCommits;
|
|
24
25
|
exports.logScan = logScan;
|
|
26
|
+
exports.adjustEntrySeconds = adjustEntrySeconds;
|
|
27
|
+
exports.clearEntryAdjustment = clearEntryAdjustment;
|
|
25
28
|
exports.saveTimeEntry = saveTimeEntry;
|
|
26
29
|
exports.getTimeEntries = getTimeEntries;
|
|
27
30
|
exports.sumEntrySeconds = sumEntrySeconds;
|
|
28
31
|
exports.entrySecondsByDay = entrySecondsByDay;
|
|
29
32
|
exports.listEntriesBetween = listEntriesBetween;
|
|
30
33
|
exports.saveInvoice = saveInvoice;
|
|
34
|
+
exports.listInvoices = listInvoices;
|
|
35
|
+
exports.getInvoice = getInvoice;
|
|
31
36
|
exports.nextInvoiceNumber = nextInvoiceNumber;
|
|
32
37
|
exports.readInvoiceLines = readInvoiceLines;
|
|
33
38
|
exports.upsertSubscription = upsertSubscription;
|
|
@@ -374,6 +379,58 @@ function logScan(db, source, report) {
|
|
|
374
379
|
* tests no dependan del reloj: publicar y escribir en el mismo milisegundo hace
|
|
375
380
|
* que la comparación de desfase falle por empate.
|
|
376
381
|
*/
|
|
382
|
+
class AdjustError extends Error {
|
|
383
|
+
}
|
|
384
|
+
exports.AdjustError = AdjustError;
|
|
385
|
+
/**
|
|
386
|
+
* Ajusta a mano los segundos de una imputación, con su motivo.
|
|
387
|
+
*
|
|
388
|
+
* El motivo es obligatorio y no es burocracia: un bloque puede haber costado
|
|
389
|
+
* 58 minutos de commits y cinco horas de verdad, porque hubo que investigar o
|
|
390
|
+
* reunirse con el cliente. Sin esa frase, el ajuste es un número cambiado a
|
|
391
|
+
* mano en algo que alguien paga, que es justo lo que este producto promete no
|
|
392
|
+
* hacer.
|
|
393
|
+
*
|
|
394
|
+
* Lo medido se conserva en `measured_seconds` para poder enseñar las dos
|
|
395
|
+
* cifras. Corregir no es falsear, pero solo si se ve lo que se corrigió.
|
|
396
|
+
*/
|
|
397
|
+
function adjustEntrySeconds(db, id, seconds, reason, at = new Date()) {
|
|
398
|
+
const motivo = reason.trim();
|
|
399
|
+
if (!motivo)
|
|
400
|
+
throw new AdjustError("Un ajuste de horas necesita un motivo.");
|
|
401
|
+
if (!Number.isFinite(seconds) || seconds < 0) {
|
|
402
|
+
throw new AdjustError("Los segundos ajustados no pueden ser negativos.");
|
|
403
|
+
}
|
|
404
|
+
const row = db.prepare("SELECT seconds, measured_seconds, invoice_id FROM time_entries WHERE id = ?")
|
|
405
|
+
.get(id);
|
|
406
|
+
if (!row)
|
|
407
|
+
throw new AdjustError(`No existe la imputación ${id}`);
|
|
408
|
+
if (row.invoice_id)
|
|
409
|
+
throw new AdjustError("Esta imputación ya está facturada y no se puede ajustar.");
|
|
410
|
+
// La primera vez, lo que había era lo medido. Después ya está guardado y no
|
|
411
|
+
// se pisa: si no, un segundo ajuste convertiría el primero en "lo medido".
|
|
412
|
+
const medido = row.measured_seconds ?? row.seconds;
|
|
413
|
+
db.prepare(`
|
|
414
|
+
UPDATE time_entries
|
|
415
|
+
SET seconds = ?, measured_seconds = ?, adjust_reason = ?, adjusted_at = ?, updated_at = ?
|
|
416
|
+
WHERE id = ?
|
|
417
|
+
`).run(Math.round(seconds), medido, motivo, iso(at), iso(at), id);
|
|
418
|
+
}
|
|
419
|
+
/** Quita el ajuste y devuelve el bloque a lo que mide el agente. */
|
|
420
|
+
function clearEntryAdjustment(db, id, at = new Date()) {
|
|
421
|
+
const row = db.prepare("SELECT measured_seconds, invoice_id FROM time_entries WHERE id = ?")
|
|
422
|
+
.get(id);
|
|
423
|
+
if (!row)
|
|
424
|
+
throw new AdjustError(`No existe la imputación ${id}`);
|
|
425
|
+
if (row.invoice_id)
|
|
426
|
+
throw new AdjustError("Esta imputación ya está facturada y no se puede ajustar.");
|
|
427
|
+
db.prepare(`
|
|
428
|
+
UPDATE time_entries
|
|
429
|
+
SET seconds = COALESCE(measured_seconds, seconds),
|
|
430
|
+
adjust_reason = NULL, adjusted_at = NULL, updated_at = ?
|
|
431
|
+
WHERE id = ?
|
|
432
|
+
`).run(iso(at), id);
|
|
433
|
+
}
|
|
377
434
|
function saveTimeEntry(db, entry, at = new Date()) {
|
|
378
435
|
const id = entry.id ?? `te_${(0, node_crypto_1.randomUUID)()}`;
|
|
379
436
|
db.prepare(`
|
|
@@ -385,7 +442,15 @@ function saveTimeEntry(db, entry, at = new Date()) {
|
|
|
385
442
|
ON CONFLICT(id) DO UPDATE SET
|
|
386
443
|
started_at = excluded.started_at, local_date = excluded.local_date,
|
|
387
444
|
ended_at = excluded.ended_at,
|
|
388
|
-
|
|
445
|
+
-- Un ajuste a mano manda sobre la medición. Antes se pisaba, así que
|
|
446
|
+
-- editar los minutos duraba hasta el siguiente import — cinco minutos
|
|
447
|
+
-- con el panel abierto.
|
|
448
|
+
seconds = CASE WHEN time_entries.adjust_reason IS NULL
|
|
449
|
+
THEN excluded.seconds ELSE time_entries.seconds END,
|
|
450
|
+
-- Pero lo medido se refresca igual: es la referencia contra la que se
|
|
451
|
+
-- enseña el ajuste, y tiene que seguir siendo verdad.
|
|
452
|
+
measured_seconds = excluded.seconds,
|
|
453
|
+
description = excluded.description,
|
|
389
454
|
billable = excluded.billable, ai_micro_usd = excluded.ai_micro_usd,
|
|
390
455
|
-- Los commits también se rehacen. Sin esto, un bloque creado cuando
|
|
391
456
|
-- todavía no se capturaban los commits del proyecto se quedaba sin
|
|
@@ -408,7 +473,12 @@ function saveTimeEntry(db, entry, at = new Date()) {
|
|
|
408
473
|
THEN excluded.updated_at ELSE time_entries.updated_at END
|
|
409
474
|
-- Reimportar rehace lo deducido de los agentes. Lo escrito a mano es tuyo:
|
|
410
475
|
-- un import no puede borrarte una reunión de dos horas que apuntaste ayer.
|
|
476
|
+
--
|
|
477
|
+
-- Y lo ya facturado es historia. Sin esta condición, un reimport
|
|
478
|
+
-- recalculaba filas que respaldan una factura emitida y dejaba el panel
|
|
479
|
+
-- diciendo una cosa y el PDF del cliente otra.
|
|
411
480
|
WHERE time_entries.source IN ('agent', 'commit')
|
|
481
|
+
AND time_entries.invoice_id IS NULL
|
|
412
482
|
`).run(id, entry.projectId, iso(entry.startedAt), (0, shared_1.localDate)(entry.startedAt), iso(entry.endedAt), entry.seconds, entry.description, entry.billable ? 1 : 0, entry.invoiceId, entry.aiCost.microUsd, entry.agentSeconds, entry.commitHashes.join(","), entry.agents.join(","), entry.source, entry.kind, entry.branch, iso(at));
|
|
413
483
|
return id;
|
|
414
484
|
}
|
|
@@ -492,6 +562,79 @@ function saveInvoice(db, invoice, entryIds) {
|
|
|
492
562
|
throw error;
|
|
493
563
|
}
|
|
494
564
|
}
|
|
565
|
+
/**
|
|
566
|
+
* Las facturas ya emitidas.
|
|
567
|
+
*
|
|
568
|
+
* Existe porque faltaba: el panel listaba solo lo PENDIENTE de facturar, así
|
|
569
|
+
* que al cortar y facturar el proyecto desaparecía de la pantalla y no había
|
|
570
|
+
* dónde volver a mirar. La factura estaba guardada —con sus líneas congeladas
|
|
571
|
+
* en `lines_json`— y era invisible, que para un número que alguien paga es lo
|
|
572
|
+
* peor de los dos mundos: ni se ve ni se puede rehacer.
|
|
573
|
+
*/
|
|
574
|
+
function listInvoices(db, projectId) {
|
|
575
|
+
return db.prepare(`
|
|
576
|
+
SELECT i.id, i.number, i.project_id, i.issued_at, i.cutoff_at, i.period_start,
|
|
577
|
+
i.currency, i.total_minor, i.total_seconds, i.ai_micro_usd,
|
|
578
|
+
p.name AS project_name, c.name AS client_name
|
|
579
|
+
FROM invoices i
|
|
580
|
+
LEFT JOIN projects p ON p.id = i.project_id
|
|
581
|
+
LEFT JOIN clients c ON c.id = i.client_id
|
|
582
|
+
${projectId ? "WHERE i.project_id = ?" : ""}
|
|
583
|
+
ORDER BY i.issued_at DESC, i.number DESC
|
|
584
|
+
`).all(...(projectId ? [projectId] : [])).map((r) => ({
|
|
585
|
+
id: r["id"],
|
|
586
|
+
number: r["number"],
|
|
587
|
+
projectId: r["project_id"],
|
|
588
|
+
projectName: r["project_name"] ?? r["project_id"],
|
|
589
|
+
clientName: r["client_name"] ?? "—",
|
|
590
|
+
issuedAt: r["issued_at"],
|
|
591
|
+
cutoffAt: r["cutoff_at"],
|
|
592
|
+
periodStart: r["period_start"],
|
|
593
|
+
currency: r["currency"],
|
|
594
|
+
totalMinor: r["total_minor"],
|
|
595
|
+
totalSeconds: r["total_seconds"],
|
|
596
|
+
aiMicroUsd: r["ai_micro_usd"] ?? 0,
|
|
597
|
+
}));
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Una factura emitida, entera y tal y como se emitió.
|
|
601
|
+
*
|
|
602
|
+
* Todo sale de la fila guardada, nada se recalcula: el propio tipo `Invoice`
|
|
603
|
+
* congela importes y reparto de IA al emitir, y su comentario lo explica —"un
|
|
604
|
+
* documento que cambia solo no es un documento"—. Reimprimir en diciembre un
|
|
605
|
+
* informe de agosto tiene que dar el mismo papel que dio en agosto.
|
|
606
|
+
*/
|
|
607
|
+
function getInvoice(db, number) {
|
|
608
|
+
const r = db.prepare("SELECT * FROM invoices WHERE number = ?")
|
|
609
|
+
.get(number);
|
|
610
|
+
if (!r)
|
|
611
|
+
return null;
|
|
612
|
+
const currency = r["currency"];
|
|
613
|
+
const amortMinor = r["ai_amort_minor"];
|
|
614
|
+
const billedMinor = r["ai_billed_minor"];
|
|
615
|
+
const notes = r["notes"];
|
|
616
|
+
return {
|
|
617
|
+
id: r["id"],
|
|
618
|
+
number: r["number"],
|
|
619
|
+
clientId: r["client_id"],
|
|
620
|
+
projectId: r["project_id"],
|
|
621
|
+
issuedAt: new Date(r["issued_at"]),
|
|
622
|
+
cutoffAt: new Date(r["cutoff_at"]),
|
|
623
|
+
periodStart: new Date(r["period_start"]),
|
|
624
|
+
currency,
|
|
625
|
+
lines: JSON.parse(r["lines_json"]),
|
|
626
|
+
subtotal: { amount: r["subtotal_minor"], currency },
|
|
627
|
+
total: { amount: r["total_minor"], currency },
|
|
628
|
+
totalSeconds: r["total_seconds"],
|
|
629
|
+
aiCost: { microUsd: r["ai_micro_usd"] ?? 0 },
|
|
630
|
+
usdFxRate: r["usd_fx_rate"] ?? null,
|
|
631
|
+
aiCostBilled: billedMinor === null ? null : { amount: billedMinor, currency },
|
|
632
|
+
aiAmortized: amortMinor === null
|
|
633
|
+
? null
|
|
634
|
+
: { amount: amortMinor, currency: r["ai_amort_cur"] ?? currency },
|
|
635
|
+
...(notes ? { notes } : {}),
|
|
636
|
+
};
|
|
637
|
+
}
|
|
495
638
|
function nextInvoiceNumber(db, prefix) {
|
|
496
639
|
const year = new Date().getFullYear();
|
|
497
640
|
const row = db.prepare("SELECT COUNT(*) AS n FROM invoices WHERE number LIKE ?").get(`${prefix}-${year}-%`);
|