estela 0.1.26 → 0.1.31

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 (110) hide show
  1. package/README.md +57 -4
  2. package/dist/billing/invoice.d.ts.map +1 -1
  3. package/dist/billing/invoice.js +2 -1
  4. package/dist/billing/invoice.js.map +1 -1
  5. package/dist/billing/localize.d.ts +37 -0
  6. package/dist/billing/localize.d.ts.map +1 -0
  7. package/dist/billing/localize.js +72 -0
  8. package/dist/billing/localize.js.map +1 -0
  9. package/dist/billing/localize.test.d.ts +2 -0
  10. package/dist/billing/localize.test.d.ts.map +1 -0
  11. package/dist/billing/localize.test.js +144 -0
  12. package/dist/billing/localize.test.js.map +1 -0
  13. package/dist/billing/sessionize.d.ts.map +1 -1
  14. package/dist/billing/sessionize.js +4 -7
  15. package/dist/billing/sessionize.js.map +1 -1
  16. package/dist/bin.js +1 -1
  17. package/dist/bin.js.map +1 -1
  18. package/dist/cli-idioma.test.d.ts +2 -0
  19. package/dist/cli-idioma.test.d.ts.map +1 -0
  20. package/dist/cli-idioma.test.js +190 -0
  21. package/dist/cli-idioma.test.js.map +1 -0
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +137 -49
  24. package/dist/cli.js.map +1 -1
  25. package/dist/db/schema.d.ts.map +1 -1
  26. package/dist/db/schema.js +19 -2
  27. package/dist/db/schema.js.map +1 -1
  28. package/dist/db/schema.test.js +68 -4
  29. package/dist/db/schema.test.js.map +1 -1
  30. package/dist/db/store.d.ts.map +1 -1
  31. package/dist/db/store.js +7 -4
  32. package/dist/db/store.js.map +1 -1
  33. package/dist/export/csv.d.ts.map +1 -1
  34. package/dist/export/csv.js +49 -18
  35. package/dist/export/csv.js.map +1 -1
  36. package/dist/export/dates.d.ts +13 -0
  37. package/dist/export/dates.d.ts.map +1 -0
  38. package/dist/export/dates.js +29 -0
  39. package/dist/export/dates.js.map +1 -0
  40. package/dist/export/idioma.test.d.ts +2 -0
  41. package/dist/export/idioma.test.d.ts.map +1 -0
  42. package/dist/export/idioma.test.js +251 -0
  43. package/dist/export/idioma.test.js.map +1 -0
  44. package/dist/export/invoice-pdf.d.ts.map +1 -1
  45. package/dist/export/invoice-pdf.js +26 -22
  46. package/dist/export/invoice-pdf.js.map +1 -1
  47. package/dist/export/panel.d.ts.map +1 -1
  48. package/dist/export/panel.js +165 -94
  49. package/dist/export/panel.js.map +1 -1
  50. package/dist/export/panel.test.js +15 -8
  51. package/dist/export/panel.test.js.map +1 -1
  52. package/dist/export/share.d.ts.map +1 -1
  53. package/dist/export/share.js +6 -28
  54. package/dist/export/share.js.map +1 -1
  55. package/dist/i18n/en.d.ts.map +1 -1
  56. package/dist/i18n/en.js +87 -11
  57. package/dist/i18n/en.js.map +1 -1
  58. package/dist/i18n/i18n.test.js +25 -0
  59. package/dist/i18n/i18n.test.js.map +1 -1
  60. package/dist/i18n/index.d.ts +15 -0
  61. package/dist/i18n/index.d.ts.map +1 -1
  62. package/dist/i18n/index.js +20 -0
  63. package/dist/i18n/index.js.map +1 -1
  64. package/dist/i18n/labels.d.ts +12 -0
  65. package/dist/i18n/labels.d.ts.map +1 -0
  66. package/dist/i18n/labels.js +25 -0
  67. package/dist/i18n/labels.js.map +1 -0
  68. package/dist/metrics/index.d.ts.map +1 -1
  69. package/dist/metrics/index.js +3 -1
  70. package/dist/metrics/index.js.map +1 -1
  71. package/dist/node-version.d.ts +12 -0
  72. package/dist/node-version.d.ts.map +1 -1
  73. package/dist/node-version.js +17 -0
  74. package/dist/node-version.js.map +1 -1
  75. package/dist/node-version.test.js +18 -0
  76. package/dist/node-version.test.js.map +1 -1
  77. package/dist/pricing/catalog.d.ts.map +1 -1
  78. package/dist/pricing/catalog.js +23 -0
  79. package/dist/pricing/catalog.js.map +1 -1
  80. package/dist/pricing/cost.test.js +26 -0
  81. package/dist/pricing/cost.test.js.map +1 -1
  82. package/dist/publish.d.ts +6 -0
  83. package/dist/publish.d.ts.map +1 -1
  84. package/dist/publish.js +5 -2
  85. package/dist/publish.js.map +1 -1
  86. package/dist/server.d.ts.map +1 -1
  87. package/dist/server.js +35 -16
  88. package/dist/server.js.map +1 -1
  89. package/dist/server.test.js +57 -0
  90. package/dist/server.test.js.map +1 -1
  91. package/dist/watchers/agents.d.ts +37 -0
  92. package/dist/watchers/agents.d.ts.map +1 -0
  93. package/dist/watchers/agents.js +30 -0
  94. package/dist/watchers/agents.js.map +1 -0
  95. package/dist/watchers/agents.test.d.ts +2 -0
  96. package/dist/watchers/agents.test.d.ts.map +1 -0
  97. package/dist/watchers/agents.test.js +94 -0
  98. package/dist/watchers/agents.test.js.map +1 -0
  99. package/dist/watchers/codex.d.ts +3 -0
  100. package/dist/watchers/codex.d.ts.map +1 -0
  101. package/dist/watchers/codex.js +263 -0
  102. package/dist/watchers/codex.js.map +1 -0
  103. package/dist/watchers/codex.test.d.ts +2 -0
  104. package/dist/watchers/codex.test.d.ts.map +1 -0
  105. package/dist/watchers/codex.test.js +207 -0
  106. package/dist/watchers/codex.test.js.map +1 -0
  107. package/node_modules/@estela/shared/dist/types.d.ts +8 -0
  108. package/node_modules/@estela/shared/dist/types.d.ts.map +1 -1
  109. package/node_modules/@estela/shared/dist/types.js.map +1 -1
  110. package/package.json +1 -1
package/README.md CHANGED
@@ -22,8 +22,14 @@ isn't measured in keystrokes anymore: it goes into writing the prompt, reading
22
22
  what comes back, and trying it out.
23
23
 
24
24
  But that work **leaves a trail**. Claude Code saves every session in
25
- `~/.claude/projects/` with its exact model and tokens. Git records when you
26
- committed and what. Estela reads both and lines them up.
25
+ `~/.claude/projects/` and Codex in `~/.codex/sessions/`, both with their exact
26
+ model and tokens. Git records when you committed and what. Estela reads all
27
+ three and lines them up.
28
+
29
+ Codex gives you **measured** hours and real AI cost, same as Claude Code. A
30
+ model that isn't in the price catalog gets an empty cost rather than an
31
+ invented one, and `estela doctor` tells you how many turns are in that
32
+ state.
27
33
 
28
34
  What it doesn't do:
29
35
 
@@ -47,8 +53,26 @@ npx estela doctor # checks your data and flags anything wrong
47
53
  npx estela --version
48
54
  ```
49
55
 
50
- No Claude Code? It still works: without transcripts, Estela rebuilds your time
51
- from your commits alone, and marks it as estimated.
56
+ ### From inside Claude Code
57
+
58
+ If that's where you already are, Estela installs without leaving it:
59
+
60
+ ```
61
+ /plugin marketplace add jdleonruiz/estela-cli
62
+ /plugin install estela@estela-cli
63
+ ```
64
+
65
+ Then ask in plain words — *"how many hours have I put into this?"*, *"what can
66
+ I bill for this month?"*, *"show me an example first"* — and Claude Code reaches
67
+ for the right command on its own. The explicit forms are `/estela:setup`,
68
+ `/estela:status` and `/estela:demo`.
69
+
70
+ The demo fills a whole dashboard with made-up data and touches nothing of
71
+ yours, which is the honest way to look at a program that wants to read your
72
+ transcripts: see what it does before you let it near your own history.
73
+
74
+ No Claude Code or Codex? It still works: without transcripts, Estela rebuilds
75
+ your time from your commits alone, and marks it as estimated.
52
76
 
53
77
  `npm` doesn't update global installs on its own. If you installed with
54
78
  `npm install -g estela`, Estela tells you when there's a newer version (it asks
@@ -61,6 +85,21 @@ you can run it again.
61
85
  Estela speaks English and Spanish, following your system's language. Force one
62
86
  with `--lang en` on any command, or `ESTELA_LANG=en` for good.
63
87
 
88
+ ### Windows
89
+
90
+ Estela runs on Windows. It's tested by hand on a real machine, not in CI, so if
91
+ something looks off, [open an issue](https://github.com/jdleonruiz/estela-cli/issues).
92
+ Two things trip people up before Estela even starts:
93
+
94
+ - **`npm : ... cannot be loaded because running scripts is disabled`** —
95
+ PowerShell blocks npm's own scripts by default. Once, and only for your user:
96
+ `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`.
97
+ - **`npm error Class extends value undefined is not a constructor or null`** —
98
+ you have two Node installs fighting over the same folder, usually
99
+ `nvm-windows` plus a Node from the installer or `winget`. Keep one: uninstall
100
+ the standalone Node, then `nvm install lts` and `nvm use lts` from an
101
+ administrator terminal. `where.exe npm` should list a single path.
102
+
64
103
  ## Reporting to a client
65
104
 
66
105
  Projects are created as internal and without a rate, because making one up
@@ -80,6 +119,20 @@ estela report --project acme-web --cutoff 2026-08-31 --dry-run
80
119
  almost never commit with your global email, and without telling Estela it
81
120
  captures three commits out of seventeen hundred.
82
121
 
122
+ **The language is the client's, not your terminal's.** What your client receives
123
+ (the PDF, the CSV, the report and the published panel) comes out in the language
124
+ you set for that client, so you can use Estela in Spanish and bill a company in
125
+ English:
126
+
127
+ ```sh
128
+ estela client add --id acme --name "ACME" --currency EUR --language en
129
+ ```
130
+
131
+ Without it Estela uses your terminal's language, and tells you when it does.
132
+ Running `client add` again keeps the language you set (`--language auto` removes
133
+ it), and `--lang en` on a single command overrides everything. A published panel
134
+ is a static file, so to change its language you republish it.
135
+
83
136
  The report backs up your work with hours and commits. It isn't an invoice:
84
137
  Estela doesn't issue tax documents, so attach it to your own.
85
138
 
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/billing/invoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACF,MAAM,EAAE,OAAO,EAAe,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAC5E,MAAM,gBAAgB,CAAC;AAOxB;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAwF9D;AAED,8EAA8E;AAC9E,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,IAAI,GACP,KAAK,GAAG,IAAI,CAOd;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAgDxF;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG;IAC7D,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;CACjE,CAUA"}
1
+ {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/billing/invoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACF,MAAM,EAAE,OAAO,EAAe,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAC5E,MAAM,gBAAgB,CAAC;AAQxB;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAwF9D;AAED,8EAA8E;AAC9E,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,IAAI,GACP,KAAK,GAAG,IAAI,CAOd;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAgDxF;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG;IAC7D,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;CACjE,CAUA"}
@@ -7,6 +7,7 @@ exports.renderInvoice = renderInvoice;
7
7
  exports.marginOf = marginOf;
8
8
  const shared_1 = require("@estela/shared");
9
9
  const index_js_1 = require("../i18n/index.js");
10
+ const localize_js_1 = require("./localize.js");
10
11
  class InvoiceError extends Error {
11
12
  }
12
13
  exports.InvoiceError = InvoiceError;
@@ -38,7 +39,7 @@ function issueInvoice(input) {
38
39
  continue;
39
40
  totalSeconds += seconds;
40
41
  lines.push({
41
- description: entry.description,
42
+ description: (0, localize_js_1.localizeDescription)(entry),
42
43
  seconds,
43
44
  hourlyRate: rate,
44
45
  amount: (0, shared_1.billableAmount)(seconds, rate),
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/billing/invoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/billing/invoice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { TimeEntry } from "@estela/shared";
2
+ /**
3
+ * Las frases que Estela misma escribe en la descripción de un bloque, y cómo
4
+ * volver a decirlas en otro idioma.
5
+ *
6
+ * La descripción se guarda al importar, en el idioma de la terminal de ese
7
+ * momento. Pero el documento lo lee un cliente, en SU idioma: sin esto, un panel
8
+ * en inglés traía "(+3 commits más)" en más de la mitad de los bloques, porque
9
+ * cualquier bloque con dos commits o más lleva esa cola.
10
+ *
11
+ * Lo que NO se toca nunca es texto tuyo: el asunto de un commit y lo que
12
+ * escribes con `estela log --what`. Por eso cada plantilla solo se reconoce
13
+ * cuando el bloque tiene la forma que la produjo (ver `localizeDescription`).
14
+ */
15
+ /** "Asunto (+2 commits más)". `extra` son los asuntos que no se nombran. */
16
+ export declare function moreCommits(first: string, extra: number): string;
17
+ /** "Desarrollo en la-rama": lo que se escribe cuando el bloque no tiene commits. */
18
+ export declare function developmentOn(branch: string | null): string;
19
+ type Describable = Pick<TimeEntry, "description" | "source" | "kind" | "commitHashes">;
20
+ /**
21
+ * La descripción de un bloque, en el idioma en curso (`getLang()`).
22
+ *
23
+ * Solo se reescribe lo que se sabe que escribió Estela, y solo si el bloque
24
+ * tiene la forma que lo produjo:
25
+ *
26
+ * - "(+N commits más)": el bloque tiene dos commits o más. Un solo commit cuyo
27
+ * asunto acabe casualmente así es texto tuyo.
28
+ * - "Desarrollo [en rama]": el bloque no tiene commits, que es cuando Estela
29
+ * cae a la rama. Con commits, "Desarrollo en curso" es el asunto de uno.
30
+ * - Una hora anotada a mano solo cambia si su texto es EXACTAMENTE la etiqueta
31
+ * de su tipo, que es lo que se guarda cuando no escribes `--what`.
32
+ */
33
+ export declare function localizeDescription(entry: Describable): string;
34
+ /** El mismo bloque con su descripción en el idioma en curso. */
35
+ export declare function withLocalizedDescription<T extends Describable>(entry: T): T;
36
+ export {};
37
+ //# sourceMappingURL=localize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localize.d.ts","sourceRoot":"","sources":["../../src/billing/localize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKhD;;;;;;;;;;;;GAYG;AAEH,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3D;AAQD,KAAK,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC;AAEvF;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAqB9D;AAED,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAG3E"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.moreCommits = moreCommits;
4
+ exports.developmentOn = developmentOn;
5
+ exports.localizeDescription = localizeDescription;
6
+ exports.withLocalizedDescription = withLocalizedDescription;
7
+ const index_js_1 = require("../i18n/index.js");
8
+ const labels_js_1 = require("../i18n/labels.js");
9
+ /**
10
+ * Las frases que Estela misma escribe en la descripción de un bloque, y cómo
11
+ * volver a decirlas en otro idioma.
12
+ *
13
+ * La descripción se guarda al importar, en el idioma de la terminal de ese
14
+ * momento. Pero el documento lo lee un cliente, en SU idioma: sin esto, un panel
15
+ * en inglés traía "(+3 commits más)" en más de la mitad de los bloques, porque
16
+ * cualquier bloque con dos commits o más lleva esa cola.
17
+ *
18
+ * Lo que NO se toca nunca es texto tuyo: el asunto de un commit y lo que
19
+ * escribes con `estela log --what`. Por eso cada plantilla solo se reconoce
20
+ * cuando el bloque tiene la forma que la produjo (ver `localizeDescription`).
21
+ */
22
+ /** "Asunto (+2 commits más)". `extra` son los asuntos que no se nombran. */
23
+ function moreCommits(first, extra) {
24
+ return extra === 1 ? (0, index_js_1.tr) `${first} (+1 commit más)` : (0, index_js_1.tr) `${first} (+${extra} commits más)`;
25
+ }
26
+ /** "Desarrollo en la-rama": lo que se escribe cuando el bloque no tiene commits. */
27
+ function developmentOn(branch) {
28
+ return branch ? (0, index_js_1.tr) `Desarrollo en ${branch}` : (0, index_js_1.tr) `Desarrollo`;
29
+ }
30
+ // Las frases de arriba, tal como se guardaron en cada idioma. Son históricas:
31
+ // lo guardado no cambia si algún día se retoca la traducción, así que estos
32
+ // patrones NO se derivan del catálogo — se quedan como están.
33
+ const MORE = /^([\s\S]*) \(\+(\d+) (?:commits? más|more commits?)\)$/;
34
+ const DEVELOPMENT = /^(?:Desarrollo|Development)(?: (?:en|on) ([\s\S]+))?$/;
35
+ /**
36
+ * La descripción de un bloque, en el idioma en curso (`getLang()`).
37
+ *
38
+ * Solo se reescribe lo que se sabe que escribió Estela, y solo si el bloque
39
+ * tiene la forma que lo produjo:
40
+ *
41
+ * - "(+N commits más)": el bloque tiene dos commits o más. Un solo commit cuyo
42
+ * asunto acabe casualmente así es texto tuyo.
43
+ * - "Desarrollo [en rama]": el bloque no tiene commits, que es cuando Estela
44
+ * cae a la rama. Con commits, "Desarrollo en curso" es el asunto de uno.
45
+ * - Una hora anotada a mano solo cambia si su texto es EXACTAMENTE la etiqueta
46
+ * de su tipo, que es lo que se guarda cuando no escribes `--what`.
47
+ */
48
+ function localizeDescription(entry) {
49
+ const text = entry.description;
50
+ if (entry.source === "manual") {
51
+ const eraLaEtiqueta = ["es", "en"].some((lang) => (0, index_js_1.withLang)(lang, () => (0, labels_js_1.kindLabel)(entry.kind)) === text);
52
+ return eraLaEtiqueta ? (0, labels_js_1.kindLabel)(entry.kind) : text;
53
+ }
54
+ if (entry.commitHashes.length >= 2) {
55
+ const m = MORE.exec(text);
56
+ if (m)
57
+ return moreCommits(m[1], Number(m[2]));
58
+ return text;
59
+ }
60
+ if (entry.commitHashes.length === 0) {
61
+ const m = DEVELOPMENT.exec(text);
62
+ if (m)
63
+ return developmentOn(m[1] ?? null);
64
+ }
65
+ return text;
66
+ }
67
+ /** El mismo bloque con su descripción en el idioma en curso. */
68
+ function withLocalizedDescription(entry) {
69
+ const description = localizeDescription(entry);
70
+ return description === entry.description ? entry : { ...entry, description };
71
+ }
72
+ //# sourceMappingURL=localize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localize.js","sourceRoot":"","sources":["../../src/billing/localize.ts"],"names":[],"mappings":";;AAoBA,kCAEC;AAGD,sCAEC;AAuBD,kDAqBC;AAGD,4DAGC;AA3ED,+CAAgD;AAChD,iDAA8C;AAE9C;;;;;;;;;;;;GAYG;AAEH,4EAA4E;AAC5E,SAAgB,WAAW,CAAC,KAAa,EAAE,KAAa;IACtD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,aAAE,EAAA,GAAG,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAA,aAAE,EAAA,GAAG,KAAK,MAAM,KAAK,eAAe,CAAC;AAC3F,CAAC;AAED,oFAAoF;AACpF,SAAgB,aAAa,CAAC,MAAqB;IACjD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAA,aAAE,EAAA,iBAAiB,MAAM,EAAE,CAAC,CAAC,CAAC,IAAA,aAAE,EAAA,YAAY,CAAC;AAC/D,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,IAAI,GAAG,wDAAwD,CAAC;AACtE,MAAM,WAAW,GAAG,uDAAuD,CAAC;AAI5E;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,KAAkB;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAI,CAAC,IAAI,EAAE,IAAI,CAAW,CAAC,IAAI,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAClE,OAAO,aAAa,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gEAAgE;AAChE,SAAgB,wBAAwB,CAAwB,KAAQ;IACtE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,WAAW,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=localize.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localize.test.d.ts","sourceRoot":"","sources":["../../src/billing/localize.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const strict_1 = __importDefault(require("node:assert/strict"));
7
+ const node_test_1 = require("node:test");
8
+ const shared_1 = require("@estela/shared");
9
+ const csv_js_1 = require("../export/csv.js");
10
+ const panel_js_1 = require("../export/panel.js");
11
+ const share_js_1 = require("../export/share.js");
12
+ const index_js_1 = require("../i18n/index.js");
13
+ const invoice_js_1 = require("./invoice.js");
14
+ const localize_js_1 = require("./localize.js");
15
+ const sessionize_js_1 = require("./sessionize.js");
16
+ /**
17
+ * Las frases que Estela escribe en la descripción de un bloque se guardan en el
18
+ * idioma de la terminal de aquel momento, y las lee un cliente en el suyo.
19
+ *
20
+ * Dos cosas que no pueden fallar: que en un panel en inglés no cuele
21
+ * "(+3 commits más)", y — más importante aún — que NUNCA se reescriba texto
22
+ * tuyo: un asunto de commit o lo que escribes con `estela log --what` es lo que
23
+ * el cliente paga, y traducírselo por error sería alterar su factura.
24
+ */
25
+ function commit(subject, i) {
26
+ return {
27
+ repoPath: "/repo", hash: `abc${i}`.padEnd(10, "0"), at: new Date("2026-08-10T10:00:00Z"),
28
+ authorEmail: "yo@ejemplo.com", authorName: "Yo", branch: "main", subject,
29
+ linesAdded: 1, linesDeleted: 0, files: [],
30
+ };
31
+ }
32
+ function bloque(subjects, branch) {
33
+ return {
34
+ startedAt: new Date("2026-08-10T09:00:00Z"), endedAt: new Date("2026-08-10T11:00:00Z"),
35
+ seconds: 7200, repoPath: "/repo", branch, turnCount: 3,
36
+ aiCost: { microUsd: 0 }, models: [], sessionIds: [], unpricedModels: [],
37
+ commits: subjects.map(commit),
38
+ };
39
+ }
40
+ function entrada(over) {
41
+ return {
42
+ id: "e", projectId: "p", startedAt: new Date("2026-08-10T09:00:00Z"),
43
+ endedAt: new Date("2026-08-10T10:00:00Z"), seconds: 3600, description: "x",
44
+ billable: true, invoiceId: null, aiCost: { microUsd: 0 }, agentSeconds: 3600,
45
+ commitHashes: [], agents: ["claude-code"], source: "agent", kind: "development",
46
+ branch: "main", ...over,
47
+ };
48
+ }
49
+ const HASHES = (n) => Array.from({ length: n }, (_, i) => `h${i}`);
50
+ // ── Que los reconocedores no se desincronicen del generador ─────────────
51
+ (0, node_test_1.test)("lo que describeBlock escribió en un idioma, localizeDescription lo dice igual que si lo hubiera escrito en el otro", () => {
52
+ // Es la prueba que evita la deriva: si alguien cambia la frase de describeBlock
53
+ // sin tocar el reconocedor, o al revés, esto falla en vez de dejar un panel a
54
+ // medias en producción.
55
+ const casos = [
56
+ [[], null], // "Desarrollo"
57
+ [[], "feature/informes"], // "Desarrollo en informes"
58
+ [["fix: login"], "main"], // un solo asunto: tal cual
59
+ [["fix: login", "feat: pagos"], "main"], // (+1 commit más)
60
+ [["a", "b", "c", "d", "e"], "main"], // (+4 commits más)
61
+ ];
62
+ for (const [asuntos, rama] of casos) {
63
+ const b = bloque(asuntos, rama);
64
+ for (const [de, a] of [["es", "en"], ["en", "es"]]) {
65
+ const guardada = (0, index_js_1.withLang)(de, () => (0, sessionize_js_1.describeBlock)(b));
66
+ const esperada = (0, index_js_1.withLang)(a, () => (0, sessionize_js_1.describeBlock)(b));
67
+ const obtenida = (0, index_js_1.withLang)(a, () => (0, localize_js_1.localizeDescription)(entrada({ description: guardada, commitHashes: HASHES(asuntos.length) })));
68
+ strict_1.default.equal(obtenida, esperada, `${de}→${a} con ${JSON.stringify(asuntos)} / ${rama}`);
69
+ }
70
+ }
71
+ });
72
+ // ── Lo que NO se toca ───────────────────────────────────────────────────
73
+ (0, node_test_1.test)("el asunto de un commit no se reescribe aunque se parezca a una plantilla", () => {
74
+ // Un bloque de un solo commit: su descripción ES el asunto, y no hay plantilla.
75
+ for (const asunto of ["Desarrollo en curso", "Desarrollo", "Fix (+3 commits más)", "Development on hold"]) {
76
+ const e = entrada({ description: asunto, commitHashes: HASHES(1) });
77
+ strict_1.default.equal((0, index_js_1.withLang)("en", () => (0, localize_js_1.localizeDescription)(e)), asunto, asunto);
78
+ strict_1.default.equal((0, index_js_1.withLang)("es", () => (0, localize_js_1.localizeDescription)(e)), asunto, asunto);
79
+ }
80
+ });
81
+ (0, node_test_1.test)("una hora anotada a mano solo cambia si es exactamente la etiqueta de su tipo", () => {
82
+ const es = (description, kind = "development") => (0, index_js_1.withLang)("en", () => (0, localize_js_1.localizeDescription)(entrada({ source: "manual", kind, description })));
83
+ // Lo que se guarda cuando no se escribe --what: la etiqueta del tipo.
84
+ strict_1.default.equal(es("Reunión", "meeting"), "Meeting");
85
+ strict_1.default.equal(es("Investigación", "research"), "Research");
86
+ // Texto escrito por la persona: intocable, aunque empiece igual.
87
+ strict_1.default.equal(es("Reunión con el equipo de Northwind", "meeting"), "Reunión con el equipo de Northwind");
88
+ strict_1.default.equal(es("Desarrollo en curso"), "Desarrollo en curso");
89
+ // La etiqueta de OTRO tipo no cuenta: "Reunión" en un bloque de investigación es texto suyo.
90
+ strict_1.default.equal(es("Reunión", "research"), "Reunión");
91
+ });
92
+ (0, node_test_1.test)("un bloque con commits no cae en la plantilla 'Desarrollo en': eso solo pasa sin commits", () => {
93
+ const e = entrada({ description: "Desarrollo en curso del módulo", commitHashes: HASHES(2) });
94
+ strict_1.default.equal((0, index_js_1.withLang)("en", () => (0, localize_js_1.localizeDescription)(e)), "Desarrollo en curso del módulo");
95
+ });
96
+ // ── Que llega a cada documento ──────────────────────────────────────────
97
+ const CLIENT = { id: "nebula", name: "Nebula", currency: "EUR" };
98
+ const PROJECT = {
99
+ id: "p", clientId: "nebula", name: "Portal", repoPaths: [], billable: true,
100
+ roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client", closedAt: null,
101
+ };
102
+ const RATE = {
103
+ projectId: "p", hourlyRate: (0, shared_1.money)(1300, "EUR"),
104
+ effectiveFrom: new Date("2025-01-01T00:00:00Z"), effectiveTo: null,
105
+ };
106
+ /** Guardado con la terminal en español, como lo guardaría un usuario español. */
107
+ const GUARDADA = entrada({
108
+ description: "feat: pagos (+3 commits más)", commitHashes: HASHES(4),
109
+ });
110
+ const SIN_COMMITS = entrada({
111
+ id: "e2", description: "Desarrollo en informes", commitHashes: [],
112
+ startedAt: new Date("2026-08-11T09:00:00Z"), endedAt: new Date("2026-08-11T10:00:00Z"),
113
+ });
114
+ (0, node_test_1.test)("un panel en inglés no trae la plantilla en español", () => {
115
+ const html = (0, index_js_1.withLang)("en", () => (0, panel_js_1.buildPanel)({
116
+ project: PROJECT, client: CLIENT, entries: [GUARDADA, SIN_COMMITS],
117
+ generatedAt: new Date("2026-09-20T09:00:00Z"),
118
+ }));
119
+ strict_1.default.ok(html.includes("feat: pagos (+3 more commits)"), "cola traducida");
120
+ strict_1.default.ok(html.includes("Development on informes"), "rama traducida");
121
+ strict_1.default.ok(!html.includes("commits más") && !html.includes("Desarrollo en"));
122
+ const es = (0, index_js_1.withLang)("es", () => (0, panel_js_1.buildPanel)({
123
+ project: PROJECT, client: CLIENT, entries: [GUARDADA, SIN_COMMITS],
124
+ generatedAt: new Date("2026-09-20T09:00:00Z"),
125
+ }));
126
+ strict_1.default.ok(es.includes("feat: pagos (+3 commits más)"), "en español queda como estaba");
127
+ });
128
+ (0, node_test_1.test)("el informe, el CSV y las líneas de factura también salen traducidos", () => {
129
+ const informe = (0, index_js_1.withLang)("en", () => (0, share_js_1.buildShareReport)({
130
+ project: PROJECT, client: CLIENT, entries: [GUARDADA], from: "2026-08-01", to: "2026-08-31",
131
+ }));
132
+ strict_1.default.ok(informe.includes("feat: pagos (+3 more commits)"));
133
+ const csv = (0, index_js_1.withLang)("en", () => (0, csv_js_1.timeEntriesToCsv)([GUARDADA], PROJECT, CLIENT, () => null));
134
+ strict_1.default.ok(csv.includes("feat: pagos (+3 more commits)"));
135
+ const factura = (0, index_js_1.withLang)("en", () => (0, invoice_js_1.issueInvoice)({
136
+ client: CLIENT, project: PROJECT, rates: [RATE], entries: [GUARDADA, SIN_COMMITS],
137
+ cutoffAt: new Date("2026-08-31T23:59:59Z"), number: "F-1",
138
+ }));
139
+ const conceptos = factura.lines.map((l) => l.description);
140
+ strict_1.default.ok(conceptos.includes("feat: pagos (+3 more commits)"), conceptos.join(" | "));
141
+ strict_1.default.ok(conceptos.includes("Development on informes"), conceptos.join(" | "));
142
+ strict_1.default.ok((0, csv_js_1.invoiceToCsv)(factura, CLIENT, PROJECT).includes("feat: pagos (+3 more commits)"));
143
+ });
144
+ //# sourceMappingURL=localize.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localize.test.js","sourceRoot":"","sources":["../../src/billing/localize.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionize.d.ts","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,SAAS,EAAE,CAkCb;AAqCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,MAAM,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAgC,GAC7D,SAAS,EAAE,CAiEb;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAYtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,SAAK,GAChB,SAAS,EAAE,CAcb;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,SAAS,EAAE,CAgDb;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,SAAS,EAAE,EAClC,WAAW,EAAE,SAAS,SAAS,EAAE,GAChC,SAAS,EAAE,CAKb"}
1
+ {"version":3,"file":"sessionize.d.ts","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,SAAS,EAAE,CAkCb;AAqCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,MAAM,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAgC,GAC7D,SAAS,EAAE,CAiEb;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAStD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,SAAK,GAChB,SAAS,EAAE,CAcb;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,SAAS,EAAE,CAgDb;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,SAAS,EAAE,EAClC,WAAW,EAAE,SAAS,SAAS,EAAE,GAChC,SAAS,EAAE,CAKb"}
@@ -8,7 +8,7 @@ exports.sessionizeCommits = sessionizeCommits;
8
8
  exports.withoutOverlap = withoutOverlap;
9
9
  const shared_1 = require("@estela/shared");
10
10
  const cost_js_1 = require("../pricing/cost.js");
11
- const index_js_1 = require("../i18n/index.js");
11
+ const localize_js_1 = require("./localize.js");
12
12
  const DEFAULT_GAP_MINUTES = 30;
13
13
  const DEFAULT_TAIL_MINUTES = 2;
14
14
  function sessionize(turns, options = {}) {
@@ -172,13 +172,10 @@ function describeBlock(block) {
172
172
  if (subjects.length === 1)
173
173
  return subjects[0];
174
174
  // "+1 commits más" salía en la descripción de cualquier bloque con dos asuntos.
175
- if (subjects.length === 2)
176
- return (0, index_js_1.tr) `${subjects[0]} (+1 commit más)`;
177
- if (subjects.length > 2) {
178
- return (0, index_js_1.tr) `${subjects[0]} (+${subjects.length - 1} commits más)`;
179
- }
175
+ if (subjects.length >= 2)
176
+ return (0, localize_js_1.moreCommits)(subjects[0], subjects.length - 1);
180
177
  const branch = block.branch?.replace(/^(feature|feat|fix|chore)\//, "") ?? null;
181
- return branch ? (0, index_js_1.tr) `Desarrollo en ${branch}` : (0, index_js_1.tr) `Desarrollo`;
178
+ return (0, localize_js_1.developmentOn)(branch);
182
179
  }
183
180
  /**
184
181
  * Asocia commits a bloques por solapamiento temporal.
@@ -1 +1 @@
1
- {"version":3,"file":"sessionize.js","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionize.js","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":";;AAgDA,gCAqCC;AAyDD,kDAoEC;AAQD,sCASC;AAYD,sCAkBC;AAuBD,8CAmDC;AASD,wCAQC;AA3VD,2CAA2C;AAC3C,gDAAgD;AAChD,+CAA2D;AA0C3D,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,SAAgB,UAAU,CACxB,KAA2B,EAC3B,UAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC,GAAG,MAAM,CAAC;IACnE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC,GAAG,MAAM,CAAC;IAEtE,0EAA0E;IAC1E,oBAAoB;IACpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvD,IAAI,OAAO,GAAgB,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,OAAO,GAAG,EAAE,CAAC;QACf,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK;gBAAE,KAAK,EAAE,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,KAA2B,EAAE,MAAc;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IAErD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI;YAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;;YAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,SAAS;QACT,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QACrE,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;QACnC,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,MAAM,EAAE,EAAE,QAAQ,EAAE;QACpB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE;QAC1B,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;QAC3B,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,mBAAmB,CACjC,MAA4B,EAC5B,SAAuC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE;IAE9D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,uEAAuE;QACvE,8DAA8D;QAC9D,2BAA2B;QAC3B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAExC,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,sEAAsE;QACtE,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,UAAU,GAAG,MAAM;aACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAU,CAAC;aACjE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,GAAG,GAAG,KAAK;gBAAE,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC;YACnC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1D,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;YAC3E,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE;YAC1B,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;YAC3B,OAAO;YACP,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC/C,gFAAgF;IAChF,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;IAChF,OAAO,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAC3B,MAA4B,EAC5B,OAAgC,EAChC,YAAY,GAAG,EAAE;IAEjB,MAAM,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC7D,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,iBAAiB,CAC/B,OAAgC,EAChC,UAA2D,EAAE;IAE7D,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IAClD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IAExD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvD,IAAI,GAAG,GAAmB,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;YAE1D,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;gBACrE,QAAQ;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;gBACnC,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;gBACvB,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;gBACjB,cAAc,EAAE,EAAE;aACnB,CAAC,CAAC;YACH,GAAG,GAAG,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK;gBAAE,KAAK,EAAE,CAAC;YAC7E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,YAAkC,EAClC,WAAiC;IAEjC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QACzB,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;QAC3C,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC"}
package/dist/bin.js CHANGED
@@ -25,7 +25,7 @@ if ((0, node_version_js_1.tooOld)(process.version, MIN_NODE)) {
25
25
  const i = process.argv.indexOf("--lang");
26
26
  (0, index_js_1.setLang)((0, index_js_1.detectLang)({ flag: i >= 0 ? process.argv[i + 1] : undefined, env: process.env, platform: process.platform }));
27
27
  console.error((0, index_js_1.tr) `\nEstela necesita Node ${MIN_NODE} o superior — tienes ${process.version} instalado.\n` +
28
- (0, index_js_1.tr) `Actualiza con nvm (nvm install --lts) o desde https://nodejs.org, y vuelve a intentarlo.\n`);
28
+ (0, index_js_1.tr) `Actualiza con "${(0, node_version_js_1.upgradeCommand)(process.platform, process.env)}" o desde https://nodejs.org, y vuelve a intentarlo en una terminal nueva.\n`);
29
29
  process.exit(1);
30
30
  }
31
31
  else {
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;GAeG;;AAEH,uDAA2C;AAC3C,8CAA0D;AAE1D,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAE1B,IAAI,IAAA,wBAAM,EAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IACtC,sEAAsE;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAA,kBAAO,EAAC,IAAA,qBAAU,EAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtH,OAAO,CAAC,KAAK,CACX,IAAA,aAAE,EAAA,0BAA0B,QAAQ,wBAAwB,OAAO,CAAC,OAAO,eAAe;QAC1F,IAAA,aAAE,EAAA,4FAA4F,CAAC,CAAC;IAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;KAAM,CAAC;IACN,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;GAeG;;AAEH,uDAA2D;AAC3D,8CAA0D;AAE1D,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAE1B,IAAI,IAAA,wBAAM,EAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IACtC,sEAAsE;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAA,kBAAO,EAAC,IAAA,qBAAU,EAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtH,OAAO,CAAC,KAAK,CACX,IAAA,aAAE,EAAA,0BAA0B,QAAQ,wBAAwB,OAAO,CAAC,OAAO,eAAe;QAC1F,IAAA,aAAE,EAAA,kBAAkB,IAAA,gCAAc,EAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACnJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;KAAM,CAAC;IACN,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli-idioma.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-idioma.test.d.ts","sourceRoot":"","sources":["../src/cli-idioma.test.ts"],"names":[],"mappings":""}