estela 0.1.20 → 0.1.21

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 (70) hide show
  1. package/dist/billing/amortize.d.ts.map +1 -1
  2. package/dist/billing/amortize.js +3 -2
  3. package/dist/billing/amortize.js.map +1 -1
  4. package/dist/billing/invoice.d.ts.map +1 -1
  5. package/dist/billing/invoice.js +19 -18
  6. package/dist/billing/invoice.js.map +1 -1
  7. package/dist/billing/sessionize.d.ts.map +1 -1
  8. package/dist/billing/sessionize.js +3 -2
  9. package/dist/billing/sessionize.js.map +1 -1
  10. package/dist/billing.d.ts.map +1 -1
  11. package/dist/billing.js +5 -4
  12. package/dist/billing.js.map +1 -1
  13. package/dist/bin.js +6 -2
  14. package/dist/bin.js.map +1 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +311 -164
  17. package/dist/cli.js.map +1 -1
  18. package/dist/cloud/auth.d.ts.map +1 -1
  19. package/dist/cloud/auth.js +9 -8
  20. package/dist/cloud/auth.js.map +1 -1
  21. package/dist/cloud/client.d.ts.map +1 -1
  22. package/dist/cloud/client.js +11 -6
  23. package/dist/cloud/client.js.map +1 -1
  24. package/dist/db/schema.d.ts.map +1 -1
  25. package/dist/db/schema.js +4 -3
  26. package/dist/db/schema.js.map +1 -1
  27. package/dist/doctor.d.ts.map +1 -1
  28. package/dist/doctor.js +50 -45
  29. package/dist/doctor.js.map +1 -1
  30. package/dist/i18n/en.d.ts +10 -0
  31. package/dist/i18n/en.d.ts.map +1 -0
  32. package/dist/i18n/en.js +326 -0
  33. package/dist/i18n/en.js.map +1 -0
  34. package/dist/i18n/i18n.test.d.ts +2 -0
  35. package/dist/i18n/i18n.test.d.ts.map +1 -0
  36. package/dist/i18n/i18n.test.js +201 -0
  37. package/dist/i18n/i18n.test.js.map +1 -0
  38. package/dist/i18n/index.d.ts +54 -0
  39. package/dist/i18n/index.d.ts.map +1 -0
  40. package/dist/i18n/index.js +106 -0
  41. package/dist/i18n/index.js.map +1 -0
  42. package/dist/publish.d.ts.map +1 -1
  43. package/dist/publish.js +6 -5
  44. package/dist/publish.js.map +1 -1
  45. package/dist/server.d.ts.map +1 -1
  46. package/dist/server.js +31 -29
  47. package/dist/server.js.map +1 -1
  48. package/dist/setup.d.ts.map +1 -1
  49. package/dist/setup.js +8 -5
  50. package/dist/setup.js.map +1 -1
  51. package/dist/sync/team.d.ts.map +1 -1
  52. package/dist/sync/team.js +7 -6
  53. package/dist/sync/team.js.map +1 -1
  54. package/dist/sync.d.ts.map +1 -1
  55. package/dist/sync.js +7 -6
  56. package/dist/sync.js.map +1 -1
  57. package/dist/team.d.ts.map +1 -1
  58. package/dist/team.js +9 -8
  59. package/dist/team.js.map +1 -1
  60. package/dist/updateCheck.d.ts.map +1 -1
  61. package/dist/updateCheck.js +3 -2
  62. package/dist/updateCheck.js.map +1 -1
  63. package/dist/watchers/claude.d.ts.map +1 -1
  64. package/dist/watchers/claude.js +3 -2
  65. package/dist/watchers/claude.js.map +1 -1
  66. package/node_modules/@estela/shared/dist/money.d.ts +1 -0
  67. package/node_modules/@estela/shared/dist/money.d.ts.map +1 -1
  68. package/node_modules/@estela/shared/dist/money.js +9 -1
  69. package/node_modules/@estela/shared/dist/money.js.map +1 -1
  70. package/package.json +1 -1
package/dist/doctor.js CHANGED
@@ -37,15 +37,16 @@ exports.diagnose = diagnose;
37
37
  exports.renderFindings = renderFindings;
38
38
  const shared_1 = require("@estela/shared");
39
39
  const store = __importStar(require("./db/store.js"));
40
+ const index_js_1 = require("./i18n/index.js");
40
41
  function diagnose(db) {
41
42
  const findings = [];
42
43
  const projects = store.listProjects(db);
43
44
  if (projects.length === 0) {
44
45
  findings.push({
45
46
  severity: "error",
46
- title: "No hay ningún proyecto configurado",
47
- detail: "Sin proyectos no se imputa nada, aunque se esté capturando trabajo.",
48
- fix: "Abre la pestaña Proyectos y registra el primero.",
47
+ title: (0, index_js_1.tr) `No hay ningún proyecto configurado`,
48
+ detail: (0, index_js_1.tr) `Sin proyectos no se imputa nada, aunque se esté capturando trabajo.`,
49
+ fix: (0, index_js_1.tr) `Abre la pestaña Proyectos y registra el primero.`,
49
50
  });
50
51
  return findings;
51
52
  }
@@ -54,9 +55,9 @@ function diagnose(db) {
54
55
  if (project.repoPaths.length > 0 && store.getProjectAuthors(db, project.id).length === 0) {
55
56
  findings.push({
56
57
  severity: "error",
57
- title: `"${project.name}" no sabe con qué correo commiteas`,
58
- detail: "Se filtra por la configuración global de git, que en el repositorio de " +
59
- "un cliente casi nunca es la que usas. Estarás perdiendo casi todos tus commits.",
58
+ title: (0, index_js_1.tr) `"${project.name}" no sabe con qué correo commiteas`,
59
+ detail: (0, index_js_1.tr) `Se filtra por la configuración global de git, que en el repositorio de ` +
60
+ (0, index_js_1.tr) `un cliente casi nunca es la que usas. Estarás perdiendo casi todos tus commits.`,
60
61
  fix: `estela author --project ${project.id}`,
61
62
  });
62
63
  }
@@ -64,9 +65,9 @@ function diagnose(db) {
64
65
  if (project.repoPaths.length === 0) {
65
66
  findings.push({
66
67
  severity: "warning",
67
- title: `"${project.name}" no tiene repositorio asignado`,
68
- detail: "Solo recibirá las horas que anotes a mano.",
69
- fix: "Asígnale uno en la pestaña Proyectos.",
68
+ title: (0, index_js_1.tr) `"${project.name}" no tiene repositorio asignado`,
69
+ detail: (0, index_js_1.tr) `Solo recibirá las horas que anotes a mano.`,
70
+ fix: (0, index_js_1.tr) `Asígnale uno en la pestaña Proyectos.`,
70
71
  });
71
72
  }
72
73
  // 3. Sin tarifa no hay importes. Solo aplica a clientes: en un empleo por
@@ -75,9 +76,9 @@ function diagnose(db) {
75
76
  && store.getRates(db, project.id).length === 0) {
76
77
  findings.push({
77
78
  severity: "warning",
78
- title: `"${project.name}" es facturable pero no tiene tarifa`,
79
- detail: "Las horas se registran, pero no se puede calcular su valor.",
80
- fix: `estela rate set --project ${project.id} --rate <importe>`,
79
+ title: (0, index_js_1.tr) `"${project.name}" es facturable pero no tiene tarifa`,
80
+ detail: (0, index_js_1.tr) `Las horas se registran, pero no se puede calcular su valor.`,
81
+ fix: (0, index_js_1.tr) `estela rate set --project ${project.id} --rate <importe>`,
81
82
  });
82
83
  }
83
84
  // 3b. Horas deducidas solo de commits en un proyecto que se factura.
@@ -93,12 +94,12 @@ function diagnose(db) {
93
94
  if (row.n > 0) {
94
95
  findings.push({
95
96
  severity: "warning",
96
- title: `"${project.name}" tiene ${(0, shared_1.formatDuration)(row.secs)} deducidas solo de commits`,
97
- detail: (row.n === 1 ? "1 bloque sin sesión de agente que lo respalde."
98
- : `${row.n} bloques sin sesión de agente que los respalde.`) +
99
- " El tiempo se estima a partir de la separación entre commits, así que es " +
100
- "menos exacto que el resto del informe.",
101
- fix: "Revísalos en Mi día y corrige los minutos antes de emitir el informe.",
97
+ title: (0, index_js_1.tr) `"${project.name}" tiene ${(0, shared_1.formatDuration)(row.secs)} deducidas solo de commits`,
98
+ detail: (row.n === 1 ? (0, index_js_1.tr) `1 bloque sin sesión de agente que lo respalde.`
99
+ : (0, index_js_1.tr) `${row.n} bloques sin sesión de agente que los respalde.`) +
100
+ (0, index_js_1.tr) ` El tiempo se estima a partir de la separación entre commits, así que es ` +
101
+ (0, index_js_1.tr) `menos exacto que el resto del informe.`,
102
+ fix: (0, index_js_1.tr) `Revísalos en Mi día y corrige los minutos antes de emitir el informe.`,
102
103
  });
103
104
  }
104
105
  }
@@ -112,9 +113,9 @@ function diagnose(db) {
112
113
  if (mismatched.n > 0) {
113
114
  findings.push({
114
115
  severity: "error",
115
- title: `${mismatched.n} imputaciones con la fecha descuadrada`,
116
- detail: "Su identificador lleva una fecha distinta a la del día al que están " +
117
- "asignadas. Suele significar que un día está contado dos veces.",
116
+ title: (0, index_js_1.tr) `${mismatched.n} imputaciones con la fecha descuadrada`,
117
+ detail: (0, index_js_1.tr) `Su identificador lleva una fecha distinta a la del día al que están ` +
118
+ (0, index_js_1.tr) `asignadas. Suele significar que un día está contado dos veces.`,
118
119
  fix: "Bórralas y reimporta: DELETE FROM time_entries WHERE source='agent' " +
119
120
  "AND invoice_id IS NULL AND id NOT LIKE '%_'||local_date||'_%';",
120
121
  });
@@ -129,13 +130,13 @@ function diagnose(db) {
129
130
  const internal = row.model.startsWith("<");
130
131
  findings.push({
131
132
  severity: internal ? "info" : "warning",
132
- title: `${row.n} turnos con el modelo "${row.model}" sin precio`,
133
+ title: (0, index_js_1.tr) `${row.n} turnos con el modelo "${row.model}" sin precio`,
133
134
  detail: internal
134
- ? "Es un valor interno de la herramienta, no un modelo real. Suman cero al coste."
135
- : "No está en el catálogo de precios, así que su coste no se cuenta.",
135
+ ? (0, index_js_1.tr) `Es un valor interno de la herramienta, no un modelo real. Suman cero al coste.`
136
+ : (0, index_js_1.tr) `No está en el catálogo de precios, así que su coste no se cuenta.`,
136
137
  fix: internal
137
- ? "No hace falta nada: no representa consumo facturable."
138
- : "Añádelo a PRICE_CATALOG en packages/daemon/src/pricing/catalog.ts",
138
+ ? (0, index_js_1.tr) `No hace falta nada: no representa consumo facturable.`
139
+ : (0, index_js_1.tr) `Añádelo a PRICE_CATALOG en packages/daemon/src/pricing/catalog.ts`,
139
140
  });
140
141
  }
141
142
  // 6. Trabajo capturado que no llega a ningún proyecto.
@@ -150,10 +151,10 @@ function diagnose(db) {
150
151
  if (unassigned.length > 0) {
151
152
  findings.push({
152
153
  severity: "warning",
153
- title: `${unassigned.length} repositorios con trabajo sin proyecto`,
154
- detail: `De ${orphans.repos} repositorios con actividad capturada, ${unassigned.length} ` +
155
- "no pertenecen a ningún proyecto. Son horas que ya tienes y no puedes informar.",
156
- fix: "Asígnalos en la pestaña Proyectos.",
154
+ title: (0, index_js_1.tr) `${unassigned.length} repositorios con trabajo sin proyecto`,
155
+ detail: (0, index_js_1.tr) `De ${orphans.repos} repositorios con actividad capturada, ${unassigned.length} ` +
156
+ (0, index_js_1.tr) `no pertenecen a ningún proyecto. Son horas que ya tienes y no puedes informar.`,
157
+ fix: (0, index_js_1.tr) `Asígnalos en la pestaña Proyectos.`,
157
158
  });
158
159
  }
159
160
  // 7. Bloques sospechosamente largos: delante de un cliente, una jornada de
@@ -165,10 +166,10 @@ function diagnose(db) {
165
166
  if (long.n > 0) {
166
167
  findings.push({
167
168
  severity: "warning",
168
- title: `${long.n} bloques de más de 10 horas`,
169
- detail: `El mayor es de ${(0, shared_1.formatDuration)(long.max_seconds ?? 0)}. Puede ser real, ` +
170
- "pero también una sesión que quedó abierta.",
171
- fix: "Revísalos en Mi día y corrige los minutos si no cuadran.",
169
+ title: (0, index_js_1.tr) `${long.n} bloques de más de 10 horas`,
170
+ detail: (0, index_js_1.tr) `El mayor es de ${(0, shared_1.formatDuration)(long.max_seconds ?? 0)}. Puede ser real, ` +
171
+ (0, index_js_1.tr) `pero también una sesión que quedó abierta.`,
172
+ fix: (0, index_js_1.tr) `Revísalos en Mi día y corrige los minutos si no cuadran.`,
172
173
  });
173
174
  }
174
175
  // 8. Paneles publicados que se han quedado atrás.
@@ -181,12 +182,12 @@ function diagnose(db) {
181
182
  const project = projects.find((p) => p.id === pub.projectId);
182
183
  findings.push({
183
184
  severity: "warning",
184
- title: `El panel de "${project?.name ?? pub.projectId}" se ha quedado atrás`,
185
+ title: (0, index_js_1.tr) `El panel de "${project?.name ?? pub.projectId}" se ha quedado atrás`,
185
186
  detail: pub.staleBlocks === 1
186
- ? `Hay 1 bloque de trabajo posterior a la última publicación ` +
187
- `(${pub.publishedAt.toISOString().slice(0, 10)}). Tu cliente está viendo datos viejos.`
188
- : `Hay ${pub.staleBlocks} bloques de trabajo posteriores a la última publicación ` +
189
- `(${pub.publishedAt.toISOString().slice(0, 10)}). Tu cliente está viendo datos viejos.`,
187
+ ? (0, index_js_1.tr) `Hay 1 bloque de trabajo posterior a la última publicación ` +
188
+ (0, index_js_1.tr) `(${pub.publishedAt.toISOString().slice(0, 10)}). Tu cliente está viendo datos viejos.`
189
+ : (0, index_js_1.tr) `Hay ${pub.staleBlocks} bloques de trabajo posteriores a la última publicación ` +
190
+ (0, index_js_1.tr) `(${pub.publishedAt.toISOString().slice(0, 10)}). Tu cliente está viendo datos viejos.`,
190
191
  fix: `estela publish --project ${pub.projectId} --token ${pub.token}`,
191
192
  });
192
193
  }
@@ -196,9 +197,9 @@ function diagnose(db) {
196
197
  if (scan?.warnings) {
197
198
  findings.push({
198
199
  severity: "error",
199
- title: "El lector de transcripts avisó de algo",
200
+ title: (0, index_js_1.tr) `El lector de transcripts avisó de algo`,
200
201
  detail: scan.warnings,
201
- fix: "Revisa los totales antes de publicar nada.",
202
+ fix: (0, index_js_1.tr) `Revisa los totales antes de publicar nada.`,
202
203
  });
203
204
  }
204
205
  const order = { error: 0, warning: 1, info: 2 };
@@ -206,7 +207,7 @@ function diagnose(db) {
206
207
  }
207
208
  function renderFindings(findings) {
208
209
  if (findings.length === 0) {
209
- return "\n Todo en orden. Puedes publicar con tranquilidad.\n";
210
+ return (0, index_js_1.tr) `\n Todo en orden. Puedes publicar con tranquilidad.\n`;
210
211
  }
211
212
  const icon = { error: "✗", warning: "!", info: "·" };
212
213
  const out = [""];
@@ -218,11 +219,15 @@ function renderFindings(findings) {
218
219
  }
219
220
  const errors = findings.filter((f) => f.severity === "error").length;
220
221
  const warnings = findings.filter((f) => f.severity === "warning").length;
222
+ // Frases enteras por plural: "problema/problemas" suelto dentro de la frase
223
+ // no se puede traducir bien, porque en inglés no siempre va en ese sitio.
221
224
  out.push(errors > 0
222
- ? ` ${errors} ${errors === 1 ? "problema" : "problemas"} que conviene arreglar antes de enseñar esto.`
225
+ ? (errors === 1
226
+ ? (0, index_js_1.tr) ` 1 problema que conviene arreglar antes de enseñar esto.`
227
+ : (0, index_js_1.tr) ` ${errors} problemas que conviene arreglar antes de enseñar esto.`)
223
228
  : warnings > 0
224
- ? ` Nada grave: ${warnings} ${warnings === 1 ? "aviso" : "avisos"}.`
225
- : " Solo notas informativas.");
229
+ ? (warnings === 1 ? (0, index_js_1.tr) ` Nada grave: 1 aviso.` : (0, index_js_1.tr) ` Nada grave: ${warnings} avisos.`)
230
+ : (0, index_js_1.tr) ` Solo notas informativas.`);
226
231
  return out.join("\n") + "\n";
227
232
  }
228
233
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Traducciones de la terminal al inglés, con la frase en español como clave.
3
+ * Ver i18n/index.ts.
4
+ *
5
+ * Una frase nueva marcada con tr`` en el código tiene que añadirse aquí, o el
6
+ * test `i18n.test.ts` falla diciendo cuál falta. Si se cambia el texto en
7
+ * español, cambia la clave: hay que actualizarla también.
8
+ */
9
+ export declare const EN: Record<string, string>;
10
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+lBrC,CAAC"}
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EN = void 0;
4
+ /**
5
+ * Traducciones de la terminal al inglés, con la frase en español como clave.
6
+ * Ver i18n/index.ts.
7
+ *
8
+ * Una frase nueva marcada con tr`` en el código tiene que añadirse aquí, o el
9
+ * test `i18n.test.ts` falla diciendo cuál falta. Si se cambia el texto en
10
+ * español, cambia la clave: hay que actualizarla también.
11
+ */
12
+ exports.EN = {
13
+ // ── billing/amortize.ts ──
14
+ "Suscripciones en monedas distintas en {0} ({1} y {2}). ": "Subscriptions in different currencies in {0} ({1} and {2}). ",
15
+ "Unifica la moneda de las suscripciones: no se convierten automáticamente.": "Use a single currency for your subscriptions: they aren't converted automatically.",
16
+ // ── billing/invoice.ts ──
17
+ "No hay horas pendientes de facturar en \"{0}\" hasta {1}.": "No unbilled hours for \"{0}\" up to {1}.",
18
+ "Sin tarifa vigente para \"{0}\" el {1}. ": "No rate in effect for \"{0}\" on {1}. ",
19
+ "Define una con: estela rate set --project {0} --rate <importe> --currency {1}": "Set one with: estela rate set --project {0} --rate <amount> --currency {1}",
20
+ "La tarifa de \"{0}\" está en {1} pero a {2} se le factura en ": "The rate for \"{0}\" is in {1}, but {2} is billed in ",
21
+ "{0}. Corrige la tarifa o la moneda del cliente: no se convierte automáticamente.": "{0}. Fix the rate or the client's currency: it isn't converted automatically.",
22
+ "Todas las entradas quedaron en cero tras redondear a {0} min.": "Every entry came out as zero after rounding to {0} min.",
23
+ "\"{0}\" repercute el coste de IA ({1} USD) y se factura en ": "\"{0}\" passes the AI cost through ({1} USD) and is billed in ",
24
+ "{0}. Indica el tipo de cambio del día con --fx <USD->{1}>.": "{0}. Give the day's exchange rate with --fx <USD->{1}>.",
25
+ "INFORME DE HORAS {0}": "HOURS REPORT {0}",
26
+ "Emitido: {0}": "Issued: {0}",
27
+ "Cliente: {0}": "Client: {0}",
28
+ "Proyecto: {0}": "Project: {0}",
29
+ "Periodo: {0} -> {1}": "Period: {0} -> {1}",
30
+ "CONCEPTO": "DESCRIPTION",
31
+ "TIEMPO": "TIME",
32
+ "TARIFA": "RATE",
33
+ "IMPORTE": "AMOUNT",
34
+ "{0} conceptos": "{0} items",
35
+ "Coste de IA repercutido (1 USD = {0} {1})": "AI cost passed through (1 USD = {0} {1})",
36
+ "VALOR DEL TRABAJO": "VALUE OF WORK",
37
+ "Interno (no facturado): IA del periodo {0} USD ": "Internal (not billed): AI for the period {0} USD ",
38
+ "en tarifa API equivalente.": "at equivalent API pricing.",
39
+ // ── billing/sessionize.ts ──
40
+ "{0} (+{1} commits más)": "{0} (+{1} more commits)",
41
+ "Desarrollo en {0}": "Development on {0}",
42
+ // ── billing.ts ──
43
+ "Necesitas una cuenta para esto. Vincúlala con:\n\n": "You need an account for this. Link it with:\n\n",
44
+ " estela login --email tu@correo.com\n": " estela login --email you@example.com\n",
45
+ "Tu sesión ya no vale. Vuelve a vincular la máquina:\n\n": "Your session is no longer valid. Link this machine again:\n\n",
46
+ // ── bin.ts ──
47
+ "\nEstela necesita Node {0} o superior — tienes {1} instalado.\n": "\nEstela needs Node {0} or later — you have {1} installed.\n",
48
+ "Actualiza con nvm (nvm install --lts) o desde https://nodejs.org, y vuelve a intentarlo.\n": "Upgrade with nvm (nvm install --lts) or from https://nodejs.org, then try again.\n",
49
+ // ── cli.ts ──
50
+ "Falta --{0}": "Missing --{0}",
51
+ "Desarrollo": "Development",
52
+ "Reunión": "Meeting",
53
+ "Investigación": "Research",
54
+ "Revisión": "Review",
55
+ "Desplazamiento": "Travel",
56
+ "Soporte": "Support",
57
+ "Otro": "Other",
58
+ "\n Estela {0}": "\n Estela {0}",
59
+ " Datos: {0}": " Data: {0}",
60
+ "\n Ctrl+C para parar.\n": "\n Ctrl+C to stop.\n",
61
+ "\nEstela\n": "\nEstela\n",
62
+ "Leyendo lo que tus agentes ya guardaron en disco…": "Reading what your agents already saved to disk…",
63
+ "\n No se han encontrado sesiones de Claude Code en ~/.claude, ni": "\n No Claude Code sessions found in ~/.claude, and no",
64
+ " un repositorio de Git en esta carpeta. Corre esto de nuevo desde": " Git repository in this folder. Run this again from",
65
+ " dentro de tu proyecto, o trabaja un rato con tu agente y vuelve.\n": " inside your project, or work with your agent for a while and come back.\n",
66
+ " {0} turnos · ": " {0} turns · ",
67
+ "{0} versiones de Claude Code": "{0} Claude Code versions",
68
+ " No se han encontrado sesiones de Claude Code en ~/.claude —": " No Claude Code sessions found in ~/.claude —",
69
+ " sin problema, se reconstruye igual desde tus commits de Git.": " no problem, your history is rebuilt from your Git commits instead.",
70
+ "\nBuscando repositorios… ({0})": "\nLooking for repositories… ({0})",
71
+ " (commiteas como {0})": " (you commit as {0})",
72
+ " ⚠ sin autor claro": " ⚠ no clear author",
73
+ " {0} ya estaban configurados y no se tocan": " {0} were already set up and are left untouched",
74
+ "\nReconstruyendo tu historial…": "\nRebuilding your history…",
75
+ " del {0} al {1}": " from {0} to {1}",
76
+ " {0} personas han commiteado en esos repositorios": " {0} people have committed to those repositories",
77
+ " ⚠ En {0} repositorio(s) no se ha podido saber con qué": " ⚠ In {0} repositor(y/ies) we couldn't tell which email",
78
+ " correo commiteas, así que ahí no se ha capturado nada tuyo:": " you commit with, so nothing of yours was captured there:",
79
+ " estela author --project {0}": " estela author --project {0}",
80
+ " Ábrelo: estela web": " Open it: estela web",
81
+ " Revísalo: estela doctor": " Check it: estela doctor",
82
+ "\n Los proyectos se han creado como internos y sin tarifa. Si alguno": "\n Projects were created as internal and without a rate. If any of them",
83
+ " es de un cliente al que facturas, ponle la suya y podrás emitir": " belongs to a client you bill, give it its rate and you'll be able to issue",
84
+ " informes: estela rate set --project <id> --rate 50\n": " reports: estela rate set --project <id> --rate 50\n",
85
+ "Fecha inválida: {0}": "Invalid date: {0}",
86
+ "Leyendo transcripts de agentes…": "Reading agent transcripts…",
87
+ " {0} archivos · {1} registros": " {0} files · {1} records",
88
+ " {0} turnos aceptados · {1} nuevos": " {0} turns accepted · {1} new",
89
+ " {0} duplicados descartados": " {0} duplicates dropped",
90
+ " ({0}% de las filas)": " ({0}% of rows)",
91
+ " {0} registros internos ignorados · {1} malformados": " {0} internal records ignored · {1} malformed",
92
+ " versiones de Claude Code: {0}": " Claude Code versions: {0}",
93
+ " {0} turnos de scratchpad devueltos a su repositorio": " {0} scratchpad turns returned to their repository",
94
+ "Git: 1 repositorio · {0} commits nuevos": "Git: 1 repository · {0} new commits",
95
+ "Git: {0} repositorios · {1} commits nuevos": "Git: {0} repositories · {1} new commits",
96
+ " {0} bloques deducidos solo de commits (sin agente)": " {0} blocks inferred from commits only (no agent)",
97
+ "Bloques: {0} detectados → {1} tras agrupar por rama y día · ": "Blocks: {0} detected → {1} after grouping by branch and day · ",
98
+ "{0} imputados · {1} sin proyecto": "{0} assigned · {1} without a project",
99
+ "\nHay {0} bloques sin proyecto asignado. Regístralos con:": "\nThere are {0} blocks without an assigned project. Register them with:",
100
+ " estela project add --id <id> --client <id> --name <nombre> --repo <ruta>": " estela project add --id <id> --client <id> --name <name> --repo <path>",
101
+ "Cliente \"{0}\" guardado. Factura en {1}.": "Client \"{0}\" saved. Billed in {1}.",
102
+ "No existe el cliente \"{0}\". Créalo primero con: estela client add": "Client \"{0}\" doesn't exist. Create it first with: estela client add",
103
+ "Proyecto \"{0}\" guardado.": "Project \"{0}\" saved.",
104
+ " repositorio: {0}": " repository: {0}",
105
+ "No existe el proyecto \"{0}\".": "Project \"{0}\" doesn't exist.",
106
+ "\"{0}\" no tiene presupuesto de IA.": "\"{0}\" has no AI budget.",
107
+ "\"{0}\": ${1} al mes.": "\"{0}\": ${1} a month.",
108
+ "Presupuesto de \"{0}\" retirado.": "Budget for \"{0}\" removed.",
109
+ "Importe inválido: {0}": "Invalid amount: {0}",
110
+ "Presupuesto de IA de \"{0}\": ${1} al mes.": "AI budget for \"{0}\": ${1} a month.",
111
+ "Tarifa de \"{0}\": {1}/hora": "Rate for \"{0}\": {1}/hour",
112
+ " desde {0}.": " from {0}.",
113
+ " (aplica a todo el histórico).": " (applies to all past work).",
114
+ "Base de datos: {0}\n": "Database: {0}\n",
115
+ "Turnos de agente: {0}": "Agent turns: {0}",
116
+ "Periodo: {0} → {1}": "Period: {0} → {1}",
117
+ "Coste de IA total: {0}\n": "Total AI cost: {0}\n",
118
+ "Sin clientes configurados. Empieza con:": "No clients set up. Start with:",
119
+ " estela client add --id <id> --name <nombre> --currency EUR": " estela client add --id <id> --name <name> --currency EUR",
120
+ " tarifa: {0}": " rate: {0}",
121
+ "— sin definir —": "— not set —",
122
+ " sin facturar: {0} en {1} bloques": " unbilled: {0} in {1} blocks",
123
+ " importe: {0}": " amount: {0}",
124
+ " coste de IA: {0}": " AI cost: {0}",
125
+ "Sin bloques imputados. Ejecuta: estela import": "No blocks assigned. Run: estela import",
126
+ "facturado": "invoiced",
127
+ "pendiente": "pending",
128
+ "no facturable": "not billable",
129
+ "\nInforme: {0}": "\nReport: {0}",
130
+ " {0} · {1} · {2} al {3}": " {0} · {1} · {2} to {3}",
131
+ " Un solo fichero. Se abre sin instalar nada y sin depender de tu máquina.": " A single file. It opens without installing anything and without depending on your machine.",
132
+ "\n Incluye horas y commits. Sin importes (añade --with-amounts) y sin": "\n Includes hours and commits. No amounts (add --with-amounts) and no",
133
+ " consumo de IA, que es tuyo mientras la pagues tú.": " AI usage, which is yours as long as you're the one paying for it.",
134
+ "(ninguno)": "(none)",
135
+ "No existe el proyecto \"{0}\". Los que hay: {1}": "Project \"{0}\" doesn't exist. The ones there are: {1}",
136
+ "Tipo \"{0}\" no reconocido. Usa uno de: {1}": "Unknown kind \"{0}\". Use one of: {1}",
137
+ "Indica --hours o --minutes": "Give --hours or --minutes",
138
+ "Duración inválida: {0}": "Invalid duration: {0}",
139
+ "\n Registro manual: un import no lo va a tocar. ({0})": "\n Manual entry: an import won't touch it. ({0})",
140
+ "\nPanel publicado.\n": "\nPanel published.\n",
141
+ " Enlace: {0}\n": " Link: {0}\n",
142
+ " Este panel ya existía y queda vinculado a tu cuenta desde ahora.\n": " This panel already existed and is linked to your account from now on.\n",
143
+ " Compartido con: {0}": " Shared with: {0}",
144
+ " Al entrar en getestela.dev/app con ese correo, lo verán ahí.\n": " When they sign in to getestela.dev/app with that email, they'll see it there.\n",
145
+ " El token es lo único que protege la página: quien tenga el enlace, entra.": " The token is the only thing protecting the page: anyone with the link can get in.",
146
+ " Al volver a publicar desde esta máquina, este enlace se reusa solo.": " When you publish again from this machine, this link is reused automatically.",
147
+ " Desde otra máquina, pasa --token {0} o el cliente perderá su enlace.": " From another machine, pass --token {0} or your client will lose their link.",
148
+ "\"{0}\" ya está enlazado a un equipo y no puede sincronizarse también como personal.": "\"{0}\" is already linked to a team and can't also sync as a personal project.",
149
+ "Sync activado para \"{0}\". Ejecuta \"estela sync\" para subir y bajar.": "Sync enabled for \"{0}\". Run \"estela sync\" to upload and download.",
150
+ "Ningún proyecto sincroniza todavía. Actívalo con: estela sync enable --project <id>": "No project syncs yet. Turn it on with: estela sync enable --project <id>",
151
+ "{0}: {1} totales enviadas": "{0}: {1} in total sent",
152
+ "{0}: {1} subidas, {2} bajadas": "{0}: {1} uploaded, {2} downloaded",
153
+ "--kind debe ser \"employee\" o \"freelancer\".": "--kind must be \"employee\" or \"freelancer\".",
154
+ "\nInvitación creada para: {0}\n": "\nInvitation created for: {0}\n",
155
+ " Pásale esto (por el canal que uses con él, no hace falta correo):\n": " Send them this (through whatever channel you use with them, no email needed):\n",
156
+ " estela login --email <su-correo>": " estela login --email <their-email>",
157
+ " estela team accept --token {0} --as-id <id-que-elija>\n": " estela team accept --token {0} --as-id <id-of-their-choice>\n",
158
+ "Elige una: --allow para compartirlo, --deny para no hacerlo.": "Pick one: --allow to share it, --deny not to.",
159
+ "\"{0}\" no es un proyecto de equipo.": "\"{0}\" isn't a team project.",
160
+ "Vincula la máquina con \"estela login\" antes.": "Link this machine with \"estela login\" first.",
161
+ "\nHecho. El coste de IA de \"{0}\" se sumará al del proyecto en el ": "\nDone. The AI cost of \"{0}\" will be added to the project's on the ",
162
+ "siguiente \"estela sync\".\n\n Nunca se enseña por persona, solo el total del proyecto.\n": "next \"estela sync\".\n\n It's never shown per person, only as the project total.\n",
163
+ "\nHecho. El coste de IA de \"{0}\" NO se comparte, y se avisa a quien lo pidió.\n\n": "\nDone. The AI cost of \"{0}\" is NOT shared, and whoever asked for it is told so.\n\n",
164
+ " Tus horas se siguen midiendo igual: esto solo afecta al gasto de IA.\n": " Your hours are still measured the same way: this only affects AI spend.\n",
165
+ "\nInvitación aceptada: \"{0}\"": "\nInvitation accepted: \"{0}\"",
166
+ " Declarada para: {0} ({1})": " Issued for: {0} ({1})",
167
+ " Si no eres tú, avisa a quien te invitó.\n": " If that isn't you, tell whoever invited you.\n",
168
+ "En esta máquina se llama \"{0}\".\n": "On this machine it's called \"{0}\".\n",
169
+ "Ahora vincula tu repositorio local y sincroniza:\n": "Now link your local repository and sync:\n",
170
+ " estela team repo --project {0} --add <ruta-de-tu-clon>": " estela team repo --project {0} --add <path-to-your-clone>",
171
+ " estela import": " estela import",
172
+ " estela sync\n": " estela sync\n",
173
+ "Repositorio vinculado a \"{0}\": {1}": "Repository linked to \"{0}\": {1}",
174
+ "Nadie ha aceptado todavía en \"{0}\".": "Nobody has accepted on \"{0}\" yet.",
175
+ "sincronizado {0}": "synced {0}",
176
+ "sin sincronizar aún": "not synced yet",
177
+ "Invitación revocada.": "Invitation revoked.",
178
+ "--plan debe ser \"pro\" o \"teams\".": "--plan must be \"pro\" or \"teams\".",
179
+ "\nAbre esto para completar el alta a {0}": "\nOpen this to finish signing up for {0}",
180
+ "\nGestiona tu pago aquí:\n\n {0}\n": "\nManage your payment here:\n\n {0}\n",
181
+ "Esta máquina no está vinculada a ninguna cuenta. Vincúlala con:\n\n": "This machine isn't linked to any account. Link it with:\n\n",
182
+ "Tu sesión ya no vale. Vuelve a vincular la máquina:\n\n estela login --email tu@correo.com\n": "Your session is no longer valid. Link this machine again:\n\n estela login --email you@example.com\n",
183
+ "\n{0} · plan {1}\n": "\n{0} · {1} plan\n",
184
+ " {0} · v{1} · visto {2}": " {0} · v{1} · last seen {2}",
185
+ "(sin nombre)": "(no name)",
186
+ "nunca": "never",
187
+ "El proyecto no tiene repositorio asignado.": "The project has no repository assigned.",
188
+ "\nAutores en {0}:\n": "\nAuthors in {0}:\n",
189
+ " {0} {1} commits, hasta {2}": " {0} {1} commits, until {2}",
190
+ "\nConfigurado ahora: {0}": "\nCurrently set: {0}",
191
+ "— nada —": "— nothing —",
192
+ "\nElige el tuyo con:": "\nPick yours with:",
193
+ " estela author --project {0} --email tu@correo.com": " estela author --project {0} --email you@example.com",
194
+ "\n{0}: commits filtrados por {1}": "\n{0}: commits filtered by {1}",
195
+ "Ejecuta \"estela import\" para recoger los que faltaban.": "Run \"estela import\" to pick up the ones that were missing.",
196
+ "CSV: {0}": "CSV: {0}",
197
+ "Suscripción \"{0}\": {1}/mes.": "Subscription \"{0}\": {1}/month.",
198
+ "Se repartirá entre proyectos según lo que consumió cada uno.": "It will be split across projects by how much each one used.",
199
+ "Sin consumo registrado. Ejecuta: estela import": "No usage recorded. Run: estela import",
200
+ "Sin suscripciones registradas: el coste se muestra a tarifa API.\n": "No subscriptions recorded: cost is shown at API pricing.\n",
201
+ "Si pagas cuota fija, regístrala para ver el gasto real:": "If you pay a flat fee, record it to see your real spend:",
202
+ " estela subscription add --id claude-max --name \"Claude Max\" --fee 200\n": " estela subscription add --id claude-max --name \"Claude Max\" --fee 200\n",
203
+ "\n{0} (consumo total: {1} equiv. API)": "\n{0} (total usage: {1} API equiv.)",
204
+ "\nLa última columna es dinero real: tu cuota repartida por consumo.": "\nThe last column is real money: your fee split by usage.",
205
+ "La primera es la tarifa API equivalente, útil solo como medida de uso.": "The first is equivalent API pricing, useful only as a measure of usage.",
206
+ "Coste real de IA imputado desde tu suscripción: {0}": "Real AI cost assigned from your subscription: {0}",
207
+ "\nSin suscripciones registradas. Si pagas cuota fija, el importe de arriba": "\nNo subscriptions recorded. If you pay a flat fee, the amount above",
208
+ "es tarifa API equivalente, no lo que gastaste. Regístrala con:": "is equivalent API pricing, not what you spent. Record it with:",
209
+ " estela subscription add --id claude-max --name \"Claude Max\" --fee 200": " estela subscription add --id claude-max --name \"Claude Max\" --fee 200",
210
+ "\nMargen a tarifa API: {0} de {1} ": "\nMargin at API pricing: {0} of {1} ",
211
+ "\nPDF: {0} ({1} KB, {2} conceptos)": "\nPDF: {0} ({1} KB, {2} items)",
212
+ "\n[--dry-run] No se guardó nada. Repite sin --dry-run para emitirlo.": "\n[--dry-run] Nothing was saved. Run it again without --dry-run to issue it.",
213
+ "\nInforme {0} emitido. {1} bloques marcados como informados.": "\nReport {0} issued. {1} blocks marked as reported.",
214
+ "Comando desconocido: \"{0}\"\n{1}": "Unknown command: \"{0}\"\n{1}",
215
+ // ── cloud/auth.ts ──
216
+ "\nTe mandamos un enlace a {0}. Confírmalo para vincular esta máquina.": "\nWe've sent a link to {0}. Confirm it to link this machine.",
217
+ "Código de verificación (debe coincidir con el del enlace): {0}": "Verification code (it must match the one in the link): {0}",
218
+ "Esperando confirmación...\n": "Waiting for confirmation...\n",
219
+ "El login caducó o el enlace ya se usó. Ejecuta \"estela login\" otra vez.": "The login expired or the link was already used. Run \"estela login\" again.",
220
+ "Vinculado como {0}.": "Linked as {0}.",
221
+ "No se confirmó el login a tiempo. Ejecuta \"estela login\" otra vez.": "The login wasn't confirmed in time. Run \"estela login\" again.",
222
+ "Esta máquina ya era local.": "This machine was already local.",
223
+ "Desvinculado. Tus datos locales no se tocaron.": "Unlinked. Your local data wasn't touched.",
224
+ // ── cloud/client.ts ──
225
+ "Sin respuesta de {0}. Puede ser tu conexión o que el servicio esté caído; ": "No response from {0}. It may be your connection or the service may be down; ",
226
+ "en ambos casos, nada de lo tuyo se ha perdido: vuelve a intentarlo.": "either way, nothing of yours has been lost: try again.",
227
+ "Error {0}": "Error {0}",
228
+ // ── db/schema.ts ──
229
+ "La base de datos usa el esquema v{0} y esta versión de Estela entiende hasta ": "The database uses schema v{0} and this version of Estela understands up to ",
230
+ "v{0}. Actualiza Estela antes de continuar.": "v{0}. Update Estela before continuing.",
231
+ "Falló la migración v{0} ({1}): ": "Migration v{0} failed ({1}): ",
232
+ // ── doctor.ts ──
233
+ "No hay ningún proyecto configurado": "No project is set up",
234
+ "Sin proyectos no se imputa nada, aunque se esté capturando trabajo.": "Without projects nothing gets assigned, even though work is being captured.",
235
+ "Abre la pestaña Proyectos y registra el primero.": "Open the Projects tab and register the first one.",
236
+ "\"{0}\" no sabe con qué correo commiteas": "\"{0}\" doesn't know which email you commit with",
237
+ "Se filtra por la configuración global de git, que en el repositorio de ": "It filters by your global git config, which in a client's repository ",
238
+ "un cliente casi nunca es la que usas. Estarás perdiendo casi todos tus commits.": "is almost never the one you use. You're probably missing most of your commits.",
239
+ "\"{0}\" no tiene repositorio asignado": "\"{0}\" has no repository assigned",
240
+ "Solo recibirá las horas que anotes a mano.": "It will only get the hours you log by hand.",
241
+ "Asígnale uno en la pestaña Proyectos.": "Assign one in the Projects tab.",
242
+ "\"{0}\" es facturable pero no tiene tarifa": "\"{0}\" is billable but has no rate",
243
+ "Las horas se registran, pero no se puede calcular su valor.": "Hours are recorded, but their value can't be calculated.",
244
+ "estela rate set --project {0} --rate <importe>": "estela rate set --project {0} --rate <amount>",
245
+ "\"{0}\" tiene {1} deducidas solo de commits": "\"{0}\" has {1} inferred from commits only",
246
+ "1 bloque sin sesión de agente que lo respalde.": "1 block with no agent session to back it.",
247
+ "{0} bloques sin sesión de agente que los respalde.": "{0} blocks with no agent session to back them.",
248
+ " El tiempo se estima a partir de la separación entre commits, así que es ": " The time is estimated from the gaps between commits, so it's ",
249
+ "menos exacto que el resto del informe.": "less accurate than the rest of the report.",
250
+ "Revísalos en Mi día y corrige los minutos antes de emitir el informe.": "Review them in My day and correct the minutes before issuing the report.",
251
+ "{0} imputaciones con la fecha descuadrada": "{0} entries with a mismatched date",
252
+ "Su identificador lleva una fecha distinta a la del día al que están ": "Their identifier carries a different date from the day they're ",
253
+ "asignadas. Suele significar que un día está contado dos veces.": "assigned to. It usually means a day is counted twice.",
254
+ "{0} turnos con el modelo \"{1}\" sin precio": "{0} turns with model \"{1}\" and no price",
255
+ "Es un valor interno de la herramienta, no un modelo real. Suman cero al coste.": "It's an internal value of the tool, not a real model. They add nothing to the cost.",
256
+ "No está en el catálogo de precios, así que su coste no se cuenta.": "It isn't in the price catalog, so its cost isn't counted.",
257
+ "No hace falta nada: no representa consumo facturable.": "Nothing to do: it doesn't represent billable usage.",
258
+ "Añádelo a PRICE_CATALOG en packages/daemon/src/pricing/catalog.ts": "Add it to PRICE_CATALOG in packages/daemon/src/pricing/catalog.ts",
259
+ "{0} repositorios con trabajo sin proyecto": "{0} repositories with work and no project",
260
+ "De {0} repositorios con actividad capturada, {1} ": "Of {0} repositories with captured activity, {1} ",
261
+ "no pertenecen a ningún proyecto. Son horas que ya tienes y no puedes informar.": "don't belong to any project. Those are hours you already have and can't report.",
262
+ "Asígnalos en la pestaña Proyectos.": "Assign them in the Projects tab.",
263
+ "{0} bloques de más de 10 horas": "{0} blocks longer than 10 hours",
264
+ "El mayor es de {0}. Puede ser real, ": "The longest is {0}. It may be real, ",
265
+ "pero también una sesión que quedó abierta.": "but it may also be a session that was left open.",
266
+ "Revísalos en Mi día y corrige los minutos si no cuadran.": "Review them in My day and correct the minutes if they don't add up.",
267
+ "El panel de \"{0}\" se ha quedado atrás": "The panel for \"{0}\" has fallen behind",
268
+ "Hay 1 bloque de trabajo posterior a la última publicación ": "There's 1 block of work after the last publication ",
269
+ "({0}). Tu cliente está viendo datos viejos.": "({0}). Your client is looking at old data.",
270
+ "Hay {0} bloques de trabajo posteriores a la última publicación ": "There are {0} blocks of work after the last publication ",
271
+ "El lector de transcripts avisó de algo": "The transcript reader flagged something",
272
+ "Revisa los totales antes de publicar nada.": "Check the totals before publishing anything.",
273
+ "\n Todo en orden. Puedes publicar con tranquilidad.\n": "\n All good. You can publish with confidence.\n",
274
+ " 1 problema que conviene arreglar antes de enseñar esto.": " 1 problem worth fixing before you show this to anyone.",
275
+ " {0} problemas que conviene arreglar antes de enseñar esto.": " {0} problems worth fixing before you show this to anyone.",
276
+ " Nada grave: 1 aviso.": " Nothing serious: 1 warning.",
277
+ " Nada grave: {0} avisos.": " Nothing serious: {0} warnings.",
278
+ " Solo notas informativas.": " Only informational notes.",
279
+ // ── publish.ts ──
280
+ "Necesitas una cuenta para publicar. Vincúlala con:\n\n": "You need an account to publish. Link it with:\n\n",
281
+ // ── server.ts ──
282
+ " · {0} bloques actualizados": " · {0} blocks updated",
283
+ " ⚠ no se pudo importar:": " ⚠ import failed:",
284
+ "Vincula una cuenta para compartir.": "Link an account to share.",
285
+ "Falta la ruta del repositorio.": "The repository path is missing.",
286
+ "Vincula una cuenta para sincronizar.": "Link an account to sync.",
287
+ "Ruta desconocida: {0}": "Unknown route: {0}",
288
+ "No existe la imputación {0}": "Entry {0} doesn't exist",
289
+ "Esta imputación ya está facturada y no se puede editar.": "This entry has already been invoiced and can't be edited.",
290
+ "No existe el proyecto \"{0}\"": "Project \"{0}\" doesn't exist",
291
+ "Indica cuántos minutos": "Say how many minutes",
292
+ "Tipo de trabajo desconocido: {0}": "Unknown kind of work: {0}",
293
+ "El proyecto necesita un nombre": "The project needs a name",
294
+ "Elige un cliente o escribe uno nuevo": "Pick a client or type a new one",
295
+ "Tarifa inválida": "Invalid rate",
296
+ "Cuerpo de petición demasiado grande": "Request body too large",
297
+ " Import automático cada 5 min.": " Automatic import every 5 min.",
298
+ " Datos: {0}\n": " Data: {0}\n",
299
+ " Ctrl+C para parar.\n": " Ctrl+C to stop.\n",
300
+ // ── setup.ts ──
301
+ "Sin clasificar": "Unsorted",
302
+ "No se ha podido reconstruir ninguna hora todavía.": "No hours could be rebuilt yet.",
303
+ "1 día": "1 day",
304
+ "{0} días": "{0} days",
305
+ "1 proyecto": "1 project",
306
+ "{0} proyectos": "{0} projects",
307
+ "{0} reconstruidas · {1} · {2}": "{0} rebuilt · {1} · {2}",
308
+ // ── sync/team.ts ──
309
+ "Necesitas una cuenta para sincronizar. Vincúlala con:\n\n": "You need an account to sync. Link it with:\n\n",
310
+ "Este proyecto no es de equipo, o le falta la invitación. Actívalo con:\n\n": "This project isn't a team project, or it's missing the invitation. Turn it on with:\n\n",
311
+ " estela team accept --token <token> --as-id {0}\n": " estela team accept --token <token> --as-id {0}\n",
312
+ // ── sync.ts ──
313
+ "Este proyecto no sincroniza. Actívalo con:\n\n": "This project doesn't sync. Turn it on with:\n\n",
314
+ " estela sync enable --project {0}\n": " estela sync enable --project {0}\n",
315
+ // ── team.ts ──
316
+ "Ya existe un proyecto local con el id \"{0}\". ": "There's already a local project with the id \"{0}\". ",
317
+ "Elige otro con --as-id.": "Pick another one with --as-id.",
318
+ "Proyectos de equipo": "Team projects",
319
+ // ── updateCheck.ts ──
320
+ "\n ↑ Hay una versión nueva de Estela ({0}, tienes {1}).": "\n ↑ There's a new version of Estela ({0}, you have {1}).",
321
+ " Actualiza con: npm install -g estela@latest\n": " Update with: npm install -g estela@latest\n",
322
+ // ── watchers/claude.ts ──
323
+ "{0} de {1} registros de tipo conocido venían malformados ": "{0} of {1} records of a known type were malformed ",
324
+ "Claude Code puede haber cambiado su formato: revisa los totales antes de facturar.": "Claude Code may have changed its format: check the totals before billing.",
325
+ };
326
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=i18n.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.test.d.ts","sourceRoot":"","sources":["../../src/i18n/i18n.test.ts"],"names":[],"mappings":""}