estela 0.1.40 → 0.2.1

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 (293) hide show
  1. package/README.md +46 -2
  2. package/dist/billing/assign.d.ts +45 -0
  3. package/dist/billing/assign.js +159 -0
  4. package/dist/bin.js +23 -1
  5. package/dist/cli.js +220 -57
  6. package/dist/db/store.d.ts +2 -0
  7. package/dist/db/store.js +24 -1
  8. package/dist/demo.js +1 -1
  9. package/dist/i18n/en.js +39 -0
  10. package/dist/metrics/quota.d.ts +44 -4
  11. package/dist/metrics/quota.js +60 -14
  12. package/dist/project-of.d.ts +52 -0
  13. package/dist/project-of.js +124 -0
  14. package/dist/quota.d.ts +10 -1
  15. package/dist/quota.js +14 -20
  16. package/dist/server.js +10 -27
  17. package/dist/statusline-cache.d.ts +35 -0
  18. package/dist/statusline-cache.js +57 -0
  19. package/dist/statusline-install.d.ts +52 -0
  20. package/dist/statusline-install.js +115 -0
  21. package/dist/statusline-run.d.ts +8 -0
  22. package/dist/statusline-run.js +256 -0
  23. package/dist/statusline.d.ts +71 -0
  24. package/dist/statusline.js +152 -0
  25. package/dist/watchers/claude.d.ts +11 -1
  26. package/dist/watchers/claude.js +32 -15
  27. package/package.json +3 -1
  28. package/dist/billing/amortize.d.ts.map +0 -1
  29. package/dist/billing/amortize.js.map +0 -1
  30. package/dist/billing/amortize.test.d.ts +0 -2
  31. package/dist/billing/amortize.test.d.ts.map +0 -1
  32. package/dist/billing/amortize.test.js +0 -121
  33. package/dist/billing/amortize.test.js.map +0 -1
  34. package/dist/billing/format.test.d.ts +0 -2
  35. package/dist/billing/format.test.d.ts.map +0 -1
  36. package/dist/billing/format.test.js +0 -110
  37. package/dist/billing/format.test.js.map +0 -1
  38. package/dist/billing/invoice.d.ts.map +0 -1
  39. package/dist/billing/invoice.js.map +0 -1
  40. package/dist/billing/invoice.test.d.ts +0 -2
  41. package/dist/billing/invoice.test.d.ts.map +0 -1
  42. package/dist/billing/invoice.test.js +0 -200
  43. package/dist/billing/invoice.test.js.map +0 -1
  44. package/dist/billing/localize.d.ts.map +0 -1
  45. package/dist/billing/localize.js.map +0 -1
  46. package/dist/billing/localize.test.d.ts +0 -2
  47. package/dist/billing/localize.test.d.ts.map +0 -1
  48. package/dist/billing/localize.test.js +0 -144
  49. package/dist/billing/localize.test.js.map +0 -1
  50. package/dist/billing/sessionize.d.ts.map +0 -1
  51. package/dist/billing/sessionize.js.map +0 -1
  52. package/dist/billing/sessionize.test.d.ts +0 -2
  53. package/dist/billing/sessionize.test.d.ts.map +0 -1
  54. package/dist/billing/sessionize.test.js +0 -187
  55. package/dist/billing/sessionize.test.js.map +0 -1
  56. package/dist/billing.d.ts.map +0 -1
  57. package/dist/billing.js.map +0 -1
  58. package/dist/bin.d.ts.map +0 -1
  59. package/dist/bin.js.map +0 -1
  60. package/dist/cli-badge.test.d.ts +0 -2
  61. package/dist/cli-badge.test.d.ts.map +0 -1
  62. package/dist/cli-badge.test.js +0 -118
  63. package/dist/cli-badge.test.js.map +0 -1
  64. package/dist/cli-idioma.test.d.ts +0 -2
  65. package/dist/cli-idioma.test.d.ts.map +0 -1
  66. package/dist/cli-idioma.test.js +0 -190
  67. package/dist/cli-idioma.test.js.map +0 -1
  68. package/dist/cli-quota.test.d.ts +0 -2
  69. package/dist/cli-quota.test.d.ts.map +0 -1
  70. package/dist/cli-quota.test.js +0 -216
  71. package/dist/cli-quota.test.js.map +0 -1
  72. package/dist/cli.d.ts.map +0 -1
  73. package/dist/cli.js.map +0 -1
  74. package/dist/cloud/auth.d.ts.map +0 -1
  75. package/dist/cloud/auth.js.map +0 -1
  76. package/dist/cloud/client.d.ts.map +0 -1
  77. package/dist/cloud/client.js.map +0 -1
  78. package/dist/cloud/errors.test.d.ts +0 -2
  79. package/dist/cloud/errors.test.d.ts.map +0 -1
  80. package/dist/cloud/errors.test.js +0 -34
  81. package/dist/cloud/errors.test.js.map +0 -1
  82. package/dist/db/schema.d.ts.map +0 -1
  83. package/dist/db/schema.js.map +0 -1
  84. package/dist/db/schema.test.d.ts +0 -2
  85. package/dist/db/schema.test.d.ts.map +0 -1
  86. package/dist/db/schema.test.js +0 -825
  87. package/dist/db/schema.test.js.map +0 -1
  88. package/dist/db/store.d.ts.map +0 -1
  89. package/dist/db/store.js.map +0 -1
  90. package/dist/demo.d.ts.map +0 -1
  91. package/dist/demo.js.map +0 -1
  92. package/dist/demo.test.d.ts +0 -2
  93. package/dist/demo.test.d.ts.map +0 -1
  94. package/dist/demo.test.js +0 -148
  95. package/dist/demo.test.js.map +0 -1
  96. package/dist/doctor.d.ts.map +0 -1
  97. package/dist/doctor.js.map +0 -1
  98. package/dist/doctor.test.d.ts +0 -2
  99. package/dist/doctor.test.d.ts.map +0 -1
  100. package/dist/doctor.test.js +0 -167
  101. package/dist/doctor.test.js.map +0 -1
  102. package/dist/export/badge.d.ts.map +0 -1
  103. package/dist/export/badge.js.map +0 -1
  104. package/dist/export/badge.test.d.ts +0 -2
  105. package/dist/export/badge.test.d.ts.map +0 -1
  106. package/dist/export/badge.test.js +0 -32
  107. package/dist/export/badge.test.js.map +0 -1
  108. package/dist/export/clockify.d.ts.map +0 -1
  109. package/dist/export/clockify.js.map +0 -1
  110. package/dist/export/clockify.test.d.ts +0 -2
  111. package/dist/export/clockify.test.d.ts.map +0 -1
  112. package/dist/export/clockify.test.js +0 -51
  113. package/dist/export/clockify.test.js.map +0 -1
  114. package/dist/export/csv.d.ts.map +0 -1
  115. package/dist/export/csv.js.map +0 -1
  116. package/dist/export/dates.d.ts.map +0 -1
  117. package/dist/export/dates.js.map +0 -1
  118. package/dist/export/idioma.test.d.ts +0 -2
  119. package/dist/export/idioma.test.d.ts.map +0 -1
  120. package/dist/export/idioma.test.js +0 -255
  121. package/dist/export/idioma.test.js.map +0 -1
  122. package/dist/export/invoice-pdf.d.ts.map +0 -1
  123. package/dist/export/invoice-pdf.js.map +0 -1
  124. package/dist/export/panel.d.ts.map +0 -1
  125. package/dist/export/panel.js.map +0 -1
  126. package/dist/export/panel.test.d.ts +0 -2
  127. package/dist/export/panel.test.d.ts.map +0 -1
  128. package/dist/export/panel.test.js +0 -386
  129. package/dist/export/panel.test.js.map +0 -1
  130. package/dist/export/pdf.d.ts.map +0 -1
  131. package/dist/export/pdf.js.map +0 -1
  132. package/dist/export/pdf.test.d.ts +0 -2
  133. package/dist/export/pdf.test.d.ts.map +0 -1
  134. package/dist/export/pdf.test.js +0 -172
  135. package/dist/export/pdf.test.js.map +0 -1
  136. package/dist/export/pixelfont.d.ts.map +0 -1
  137. package/dist/export/pixelfont.js.map +0 -1
  138. package/dist/export/png.d.ts.map +0 -1
  139. package/dist/export/png.js.map +0 -1
  140. package/dist/export/receipt.d.ts.map +0 -1
  141. package/dist/export/receipt.js.map +0 -1
  142. package/dist/export/receipt.test.d.ts +0 -2
  143. package/dist/export/receipt.test.d.ts.map +0 -1
  144. package/dist/export/receipt.test.js +0 -207
  145. package/dist/export/receipt.test.js.map +0 -1
  146. package/dist/export/share.d.ts.map +0 -1
  147. package/dist/export/share.js.map +0 -1
  148. package/dist/export/share.test.d.ts +0 -2
  149. package/dist/export/share.test.d.ts.map +0 -1
  150. package/dist/export/share.test.js +0 -116
  151. package/dist/export/share.test.js.map +0 -1
  152. package/dist/i18n/en.d.ts.map +0 -1
  153. package/dist/i18n/en.js.map +0 -1
  154. package/dist/i18n/i18n.test.d.ts +0 -2
  155. package/dist/i18n/i18n.test.d.ts.map +0 -1
  156. package/dist/i18n/i18n.test.js +0 -226
  157. package/dist/i18n/i18n.test.js.map +0 -1
  158. package/dist/i18n/index.d.ts.map +0 -1
  159. package/dist/i18n/index.js.map +0 -1
  160. package/dist/i18n/labels.d.ts.map +0 -1
  161. package/dist/i18n/labels.js.map +0 -1
  162. package/dist/metrics/index.d.ts.map +0 -1
  163. package/dist/metrics/index.js.map +0 -1
  164. package/dist/metrics/metrics.test.d.ts +0 -2
  165. package/dist/metrics/metrics.test.d.ts.map +0 -1
  166. package/dist/metrics/metrics.test.js +0 -162
  167. package/dist/metrics/metrics.test.js.map +0 -1
  168. package/dist/metrics/people.d.ts.map +0 -1
  169. package/dist/metrics/people.js.map +0 -1
  170. package/dist/metrics/people.test.d.ts +0 -2
  171. package/dist/metrics/people.test.d.ts.map +0 -1
  172. package/dist/metrics/people.test.js +0 -92
  173. package/dist/metrics/people.test.js.map +0 -1
  174. package/dist/metrics/quota.d.ts.map +0 -1
  175. package/dist/metrics/quota.js.map +0 -1
  176. package/dist/metrics/quota.test.d.ts +0 -2
  177. package/dist/metrics/quota.test.d.ts.map +0 -1
  178. package/dist/metrics/quota.test.js +0 -262
  179. package/dist/metrics/quota.test.js.map +0 -1
  180. package/dist/metrics/team.d.ts.map +0 -1
  181. package/dist/metrics/team.js.map +0 -1
  182. package/dist/metrics/team.test.d.ts +0 -2
  183. package/dist/metrics/team.test.d.ts.map +0 -1
  184. package/dist/metrics/team.test.js +0 -90
  185. package/dist/metrics/team.test.js.map +0 -1
  186. package/dist/node-version.d.ts.map +0 -1
  187. package/dist/node-version.js.map +0 -1
  188. package/dist/node-version.test.d.ts +0 -2
  189. package/dist/node-version.test.d.ts.map +0 -1
  190. package/dist/node-version.test.js +0 -53
  191. package/dist/node-version.test.js.map +0 -1
  192. package/dist/paths.d.ts.map +0 -1
  193. package/dist/paths.js.map +0 -1
  194. package/dist/paths.test.d.ts +0 -2
  195. package/dist/paths.test.d.ts.map +0 -1
  196. package/dist/paths.test.js +0 -32
  197. package/dist/paths.test.js.map +0 -1
  198. package/dist/pricing/catalog.d.ts.map +0 -1
  199. package/dist/pricing/catalog.js.map +0 -1
  200. package/dist/pricing/cost.d.ts.map +0 -1
  201. package/dist/pricing/cost.js.map +0 -1
  202. package/dist/pricing/cost.test.d.ts +0 -2
  203. package/dist/pricing/cost.test.d.ts.map +0 -1
  204. package/dist/pricing/cost.test.js +0 -100
  205. package/dist/pricing/cost.test.js.map +0 -1
  206. package/dist/publish.d.ts.map +0 -1
  207. package/dist/publish.js.map +0 -1
  208. package/dist/publish.test.d.ts +0 -2
  209. package/dist/publish.test.d.ts.map +0 -1
  210. package/dist/publish.test.js +0 -113
  211. package/dist/publish.test.js.map +0 -1
  212. package/dist/quota.d.ts.map +0 -1
  213. package/dist/quota.js.map +0 -1
  214. package/dist/server.d.ts.map +0 -1
  215. package/dist/server.js.map +0 -1
  216. package/dist/server.test.d.ts +0 -2
  217. package/dist/server.test.d.ts.map +0 -1
  218. package/dist/server.test.js +0 -402
  219. package/dist/server.test.js.map +0 -1
  220. package/dist/setup.d.ts.map +0 -1
  221. package/dist/setup.js.map +0 -1
  222. package/dist/setup.test.d.ts +0 -2
  223. package/dist/setup.test.d.ts.map +0 -1
  224. package/dist/setup.test.js +0 -144
  225. package/dist/setup.test.js.map +0 -1
  226. package/dist/sync/team.d.ts.map +0 -1
  227. package/dist/sync/team.js.map +0 -1
  228. package/dist/sync/team.test.d.ts +0 -2
  229. package/dist/sync/team.test.d.ts.map +0 -1
  230. package/dist/sync/team.test.js +0 -102
  231. package/dist/sync/team.test.js.map +0 -1
  232. package/dist/sync.d.ts.map +0 -1
  233. package/dist/sync.js.map +0 -1
  234. package/dist/sync.test.d.ts +0 -2
  235. package/dist/sync.test.d.ts.map +0 -1
  236. package/dist/sync.test.js +0 -151
  237. package/dist/sync.test.js.map +0 -1
  238. package/dist/team.d.ts.map +0 -1
  239. package/dist/team.js.map +0 -1
  240. package/dist/team.test.d.ts +0 -2
  241. package/dist/team.test.d.ts.map +0 -1
  242. package/dist/team.test.js +0 -163
  243. package/dist/team.test.js.map +0 -1
  244. package/dist/updateCheck.d.ts.map +0 -1
  245. package/dist/updateCheck.js.map +0 -1
  246. package/dist/updateCheck.test.d.ts +0 -2
  247. package/dist/updateCheck.test.d.ts.map +0 -1
  248. package/dist/updateCheck.test.js +0 -27
  249. package/dist/updateCheck.test.js.map +0 -1
  250. package/dist/watchers/agents.d.ts.map +0 -1
  251. package/dist/watchers/agents.js.map +0 -1
  252. package/dist/watchers/agents.test.d.ts +0 -2
  253. package/dist/watchers/agents.test.d.ts.map +0 -1
  254. package/dist/watchers/agents.test.js +0 -96
  255. package/dist/watchers/agents.test.js.map +0 -1
  256. package/dist/watchers/claude.d.ts.map +0 -1
  257. package/dist/watchers/claude.js.map +0 -1
  258. package/dist/watchers/claude.test.d.ts +0 -2
  259. package/dist/watchers/claude.test.d.ts.map +0 -1
  260. package/dist/watchers/claude.test.js +0 -180
  261. package/dist/watchers/claude.test.js.map +0 -1
  262. package/dist/watchers/codex.d.ts.map +0 -1
  263. package/dist/watchers/codex.js.map +0 -1
  264. package/dist/watchers/codex.test.d.ts +0 -2
  265. package/dist/watchers/codex.test.d.ts.map +0 -1
  266. package/dist/watchers/codex.test.js +0 -207
  267. package/dist/watchers/codex.test.js.map +0 -1
  268. package/dist/watchers/copilot.d.ts.map +0 -1
  269. package/dist/watchers/copilot.js.map +0 -1
  270. package/dist/watchers/copilot.test.d.ts +0 -2
  271. package/dist/watchers/copilot.test.d.ts.map +0 -1
  272. package/dist/watchers/copilot.test.js +0 -98
  273. package/dist/watchers/copilot.test.js.map +0 -1
  274. package/dist/watchers/git.d.ts.map +0 -1
  275. package/dist/watchers/git.js.map +0 -1
  276. package/dist/watchers/git.test.d.ts +0 -2
  277. package/dist/watchers/git.test.d.ts.map +0 -1
  278. package/dist/watchers/git.test.js +0 -75
  279. package/dist/watchers/git.test.js.map +0 -1
  280. package/dist/watchers/identity.d.ts.map +0 -1
  281. package/dist/watchers/identity.js.map +0 -1
  282. package/dist/watchers/identity.test.d.ts +0 -2
  283. package/dist/watchers/identity.test.d.ts.map +0 -1
  284. package/dist/watchers/identity.test.js +0 -48
  285. package/dist/watchers/identity.test.js.map +0 -1
  286. package/dist/web-ui.test.d.ts +0 -2
  287. package/dist/web-ui.test.d.ts.map +0 -1
  288. package/dist/web-ui.test.js +0 -414
  289. package/dist/web-ui.test.js.map +0 -1
  290. package/dist/workitems.test.d.ts +0 -2
  291. package/dist/workitems.test.d.ts.map +0 -1
  292. package/dist/workitems.test.js +0 -59
  293. package/dist/workitems.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"quota.test.js","sourceRoot":"","sources":["../../src/metrics/quota.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/metrics/team.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM9D;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGjF;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;CAC1C;AAED,wBAAgB,QAAQ,CACtB,OAAO,EAAE,SAAS,YAAY,EAAE,EAAE,OAAO,EAAE,eAAe,GACzD,UAAU,EAAE,CA4Cd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/metrics/team.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=team.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"team.test.d.ts","sourceRoot":"","sources":["../../src/metrics/team.test.ts"],"names":[],"mappings":""}
@@ -1,90 +0,0 @@
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 team_js_1 = require("./team.js");
9
- function commit(name, email, iso, branch = "main") {
10
- return {
11
- repoPath: "/repo", hash: `${name}-${iso}`, at: new Date(iso),
12
- authorEmail: email, authorName: name, branch,
13
- subject: "trabajo", linesAdded: 10, linesDeleted: 2, files: [],
14
- };
15
- }
16
- function entry(seconds) {
17
- return {
18
- id: "te_1", projectId: "p", startedAt: new Date("2026-08-20T09:00:00Z"),
19
- endedAt: new Date("2026-08-20T12:00:00Z"), seconds,
20
- description: "medido", billable: true, invoiceId: null,
21
- aiCost: { microUsd: 0 }, agentSeconds: seconds, commitHashes: [],
22
- agents: ["claude-code"], source: "agent", kind: "development", branch: "main",
23
- };
24
- }
25
- const COMMITS = [
26
- commit("Yo", "yo@ejemplo.com", "2026-08-20T10:00:00Z"),
27
- commit("Ana Ruiz", "ana@empresa.com", "2026-08-21T09:00:00Z", "feat/pagos"),
28
- commit("Ana Ruiz", "ana@empresa.com", "2026-08-21T10:00:00Z", "feat/pagos"),
29
- commit("aruiz", "ana@empresa.com", "2026-08-22T09:00:00Z", "feat/pagos"),
30
- ];
31
- (0, node_test_1.test)("las horas de un compañero salen de sus commits", () => {
32
- const team = (0, team_js_1.teamView)(COMMITS, {
33
- myEmails: new Set(["yo@ejemplo.com"]), myEntries: [],
34
- });
35
- const ana = team.find((p) => p.name === "Ana Ruiz");
36
- strict_1.default.ok(ana, "no se encontró a Ana");
37
- strict_1.default.equal(ana.commits, 3, "sus tres identidades deben unirse");
38
- strict_1.default.ok(ana.seconds > 0, "sin horas, la fila no dice nada");
39
- strict_1.default.equal(ana.measured, false, "las de un compañero son estimadas");
40
- });
41
- (0, node_test_1.test)("tus horas son las medidas, no una reestimación de tus commits", () => {
42
- const team = (0, team_js_1.teamView)(COMMITS, {
43
- myEmails: new Set(["yo@ejemplo.com"]), myEntries: [entry(7200)],
44
- });
45
- const yo = team.find((p) => p.isMe);
46
- strict_1.default.ok(yo);
47
- strict_1.default.equal(yo.seconds, 7200, "debe usar la imputación real");
48
- strict_1.default.equal(yo.measured, true);
49
- });
50
- (0, node_test_1.test)("sin imputaciones tuyas, tu fila también queda estimada", () => {
51
- // Si no se marcara, tus horas parecerían medidas sin serlo.
52
- const team = (0, team_js_1.teamView)(COMMITS, {
53
- myEmails: new Set(["yo@ejemplo.com"]), myEntries: [],
54
- });
55
- strict_1.default.equal(team.find((p) => p.isMe)?.measured, false);
56
- });
57
- (0, node_test_1.test)("no se ordena por horas: eso sería un ranking de rendimiento", () => {
58
- const team = (0, team_js_1.teamView)(COMMITS, {
59
- myEmails: new Set(["yo@ejemplo.com"]),
60
- myEntries: [entry(360_000)], // muchísimas horas para mí
61
- });
62
- // Ana commiteó después, así que va primera pese a tener menos horas.
63
- strict_1.default.equal(team[0].name, "Ana Ruiz");
64
- });
65
- (0, node_test_1.test)("recoge las ramas en las que anda cada persona", () => {
66
- const team = (0, team_js_1.teamView)(COMMITS, {
67
- myEmails: new Set(["yo@ejemplo.com"]), myEntries: [],
68
- });
69
- strict_1.default.deepEqual(team.find((p) => p.name === "Ana Ruiz")?.branches, ["feat/pagos"]);
70
- });
71
- (0, node_test_1.test)("tus varias identidades de git son una sola fila", () => {
72
- // Commiteas con el correo de cada cliente y con el que te da GitHub. Nada las
73
- // relaciona en git, así que salías dos veces y cada fila enseñaba tus horas
74
- // completas: el mismo tiempo contado dos veces en pantalla.
75
- const commits = [
76
- commit("JDev Leon", "yo@cliente.com", "2026-08-20T10:00:00Z"),
77
- commit("jdleon", "1234+jd@users.noreply.github.com", "2026-08-21T10:00:00Z"),
78
- commit("Ana Ruiz", "ana@empresa.com", "2026-08-22T10:00:00Z"),
79
- ];
80
- const team = (0, team_js_1.teamView)(commits, {
81
- myEmails: new Set(["yo@cliente.com", "1234+jd@users.noreply.github.com"]),
82
- myEntries: [entry(7200)],
83
- });
84
- const me = team.filter((p) => p.isMe);
85
- strict_1.default.equal(me.length, 1, "debes salir una sola vez");
86
- strict_1.default.equal(me[0].seconds, 7200, "tus horas se cuentan una vez");
87
- strict_1.default.equal(me[0].commits, 2, "y arrastran los commits de ambas identidades");
88
- strict_1.default.equal(team.length, 2, "Ana sigue siendo otra persona");
89
- });
90
- //# sourceMappingURL=team.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"team.test.js","sourceRoot":"","sources":["../../src/metrics/team.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-version.d.ts","sourceRoot":"","sources":["../src/node-version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAIhE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAAG,MAAM,CAGrG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-version.js","sourceRoot":"","sources":["../src/node-version.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH,oCAIC;AAED,wBAQC;AAaD,wCAGC;AA9BD,SAAgB,YAAY,CAAC,CAAS;IACpC,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,MAAM,CAAC,OAAe,EAAE,GAAW;IACjD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,cAAc,CAAC,QAAgB,EAAE,MAA0C,EAAE;IAC3F,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC;IACrD,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,kCAAkC,CAAC;AAC/F,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=node-version.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-version.test.d.ts","sourceRoot":"","sources":["../src/node-version.test.ts"],"names":[],"mappings":""}
@@ -1,53 +0,0 @@
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 node_version_js_1 = require("./node-version.js");
9
- /**
10
- * Esto decide si el programa arranca en absoluto. Un fallo aquí no rompe una
11
- * función: deja a alguien en una versión de Node vieja viendo un error de
12
- * `node:sqlite` sin sentido, en vez del aviso claro que este fichero existe
13
- * para dar. Ver bin.ts.
14
- */
15
- (0, node_test_1.test)("versionParts: con o sin la 'v' de delante, da los tres números", () => {
16
- strict_1.default.deepEqual((0, node_version_js_1.versionParts)("v22.5.0"), [22, 5, 0]);
17
- strict_1.default.deepEqual((0, node_version_js_1.versionParts)("22.5.0"), [22, 5, 0]);
18
- strict_1.default.deepEqual((0, node_version_js_1.versionParts)("v16.20.2"), [16, 20, 2]);
19
- });
20
- (0, node_test_1.test)("versionParts: un formato raro no revienta, da ceros", () => {
21
- strict_1.default.deepEqual((0, node_version_js_1.versionParts)(""), [0, 0, 0]);
22
- strict_1.default.deepEqual((0, node_version_js_1.versionParts)("v"), [0, 0, 0]);
23
- });
24
- (0, node_test_1.test)("tooOld: por debajo del mínimo, en mayor, menor o parche", () => {
25
- strict_1.default.equal((0, node_version_js_1.tooOld)("v16.20.2", "22.5.0"), true);
26
- strict_1.default.equal((0, node_version_js_1.tooOld)("v22.4.9", "22.5.0"), true);
27
- strict_1.default.equal((0, node_version_js_1.tooOld)("v22.5.0", "22.5.1"), true);
28
- });
29
- (0, node_test_1.test)("tooOld: en el mínimo exacto, o por encima, no está anticuado", () => {
30
- strict_1.default.equal((0, node_version_js_1.tooOld)("v22.5.0", "22.5.0"), false);
31
- strict_1.default.equal((0, node_version_js_1.tooOld)("v22.5.1", "22.5.0"), false);
32
- strict_1.default.equal((0, node_version_js_1.tooOld)("v22.6.0", "22.5.0"), false);
33
- strict_1.default.equal((0, node_version_js_1.tooOld)("v23.0.0", "22.5.0"), false);
34
- });
35
- (0, node_test_1.test)("upgradeCommand: en Windows no aconseja nvm, que allí no existe", () => {
36
- // El fallo real: alguien en Windows con Node 18 vio "Actualiza con nvm (nvm
37
- // install --lts)" y ese comando no existe en su sistema.
38
- strict_1.default.match((0, node_version_js_1.upgradeCommand)("win32"), /^winget install /);
39
- strict_1.default.doesNotMatch((0, node_version_js_1.upgradeCommand)("win32"), /nvm/);
40
- strict_1.default.equal((0, node_version_js_1.upgradeCommand)("darwin"), "nvm install --lts");
41
- strict_1.default.equal((0, node_version_js_1.upgradeCommand)("linux"), "nvm install --lts");
42
- });
43
- (0, node_test_1.test)("upgradeCommand: con nvm-windows no aconseja winget, chocaría con su Node", () => {
44
- // El fallo real: alguien con nvm-windows instaló Node con winget, los dos
45
- // escribieron en la misma carpeta y npx murió con "Class extends value
46
- // undefined is not a constructor or null".
47
- const conNvm = (0, node_version_js_1.upgradeCommand)("win32", { NVM_HOME: "C:\\Users\\x\\AppData\\Roaming\\nvm" });
48
- strict_1.default.match(conNvm, /^nvm install lts/);
49
- strict_1.default.doesNotMatch(conNvm, /winget/);
50
- strict_1.default.match((0, node_version_js_1.upgradeCommand)("win32", {}), /^winget install /, "sin nvm-windows, winget");
51
- strict_1.default.equal((0, node_version_js_1.upgradeCommand)("darwin", { NVM_HOME: "x" }), "nvm install --lts", "solo cuenta en Windows");
52
- });
53
- //# sourceMappingURL=node-version.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-version.test.js","sourceRoot":"","sources":["../src/node-version.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/C;AAQD,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C"}
package/dist/paths.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAOH,sCASC;AASD,wCAGC;AAGD,4BAEC;AA/BD,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,qFAAqF;AACrF,SAAgB,aAAa,CAAC,CAAS;IACrC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,GAAG;QAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAA8B,qBAAqB;IAC5E,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC,CAAiB,4BAA4B;IAClF,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sFAAsF;AACtF,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,6FAA6F;AAC7F,SAAgB,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,6EAA6E;AAC7E,SAAgB,QAAQ,CAAC,CAAS;IAChC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=paths.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.test.d.ts","sourceRoot":"","sources":["../src/paths.test.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
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 paths_js_1 = require("./paths.js");
9
- (0, node_test_1.test)("una ruta de Windows queda igual venga del agente o de git", () => {
10
- strict_1.default.equal((0, paths_js_1.normalizePath)("C:\\Users\\ana\\repo"), "C:/Users/ana/repo");
11
- strict_1.default.equal((0, paths_js_1.normalizePath)("c:/Users/ana/repo/"), "C:/Users/ana/repo");
12
- strict_1.default.equal((0, paths_js_1.normalizePath)("C:\\Users\\ana\\\\repo\\"), "C:/Users/ana/repo");
13
- strict_1.default.equal((0, paths_js_1.normalizePath)("C:\\"), "C:/");
14
- strict_1.default.equal((0, paths_js_1.normalizePath)("\\\\servidor\\equipo\\repo"), "//servidor/equipo/repo");
15
- // macOS y Linux no se tocan, ni siquiera la barra del final.
16
- strict_1.default.equal((0, paths_js_1.normalizePath)("/Users/ana/repo"), "/Users/ana/repo");
17
- strict_1.default.equal((0, paths_js_1.normalizePath)("/home/ana/mi\\carpeta"), "/home/ana/mi\\carpeta");
18
- });
19
- (0, node_test_1.test)("dentro de un repo, con barras y mayúsculas de Windows mezcladas", () => {
20
- strict_1.default.ok((0, paths_js_1.isSameOrInside)("C:\\Users\\Ana\\repo\\src\\UI", "C:/Users/ana/repo"));
21
- strict_1.default.ok((0, paths_js_1.isSameOrInside)("c:\\users\\ana\\repo", "C:/Users/Ana/repo"));
22
- strict_1.default.ok(!(0, paths_js_1.isSameOrInside)("C:\\Users\\ana\\repo2", "C:/Users/ana/repo"));
23
- // En macOS y Linux las mayúsculas sí cuentan.
24
- strict_1.default.ok((0, paths_js_1.isSameOrInside)("/Users/ana/repo/src", "/Users/ana/repo"));
25
- strict_1.default.ok(!(0, paths_js_1.isSameOrInside)("/Users/ana/Repo", "/Users/ana/repo"));
26
- strict_1.default.ok(!(0, paths_js_1.isSameOrInside)("/Users/ana/repo2", "/Users/ana/repo"));
27
- });
28
- (0, node_test_1.test)("el nombre de un repositorio, en cualquier sistema", () => {
29
- strict_1.default.equal((0, paths_js_1.baseName)("C:\\Users\\ana\\tienda-acme"), "tienda-acme");
30
- strict_1.default.equal((0, paths_js_1.baseName)("/home/ana/tienda-acme/"), "tienda-acme");
31
- });
32
- //# sourceMappingURL=paths.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.test.js","sourceRoot":"","sources":["../src/paths.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,yCAAiC;AAEjC,yCAAqE;AAErE,IAAA,gBAAI,EAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,sBAAsB,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACzE,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,oBAAoB,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACvE,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC7E,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,4BAA4B,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpF,6DAA6D;IAC7D,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAClE,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAa,EAAC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,gBAAM,CAAC,EAAE,CAAC,IAAA,yBAAc,EAAC,+BAA+B,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChF,gBAAM,CAAC,EAAE,CAAC,IAAA,yBAAc,EAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvE,gBAAM,CAAC,EAAE,CAAC,CAAC,IAAA,yBAAc,EAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACzE,8CAA8C;IAC9C,gBAAM,CAAC,EAAE,CAAC,IAAA,yBAAc,EAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpE,gBAAM,CAAC,EAAE,CAAC,CAAC,IAAA,yBAAc,EAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjE,gBAAM,CAAC,EAAE,CAAC,CAAC,IAAA,yBAAc,EAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAI,EAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,gBAAM,CAAC,KAAK,CAAC,IAAA,mBAAQ,EAAC,6BAA6B,CAAC,EAAE,aAAa,CAAC,CAAC;IACrE,gBAAM,CAAC,KAAK,CAAC,IAAA,mBAAQ,EAAC,wBAAwB,CAAC,EAAE,aAAa,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/pricing/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAQD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EAuC9C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAWvE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/pricing/catalog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAyEH,oCAWC;AArED,MAAM,cAAc,GAAG;IACrB,mBAAmB,EAAE,GAAG;IACxB,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,GAAG;CACnB,CAAC;AAEX;;;GAGG;AACU,QAAA,aAAa,GAA0B;IAClD,oBAAoB;IACpB,EAAE,WAAW,EAAE,gBAAgB,EAAI,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,iBAAiB,EAAG,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,eAAe,EAAK,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,iBAAiB,EAAG,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,iBAAiB,EAAG,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,iBAAiB,EAAG,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,iBAAiB,EAAG,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,mBAAmB,EAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,CAAC,EAAG,GAAG,cAAc,EAAE;IACxH,0DAA0D;IAC1D,EAAE,WAAW,EAAE,aAAa,EAAO,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,eAAe,EAAK,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE;IACxH,EAAE,WAAW,EAAE,cAAc,EAAM,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAG,aAAa,EAAE,CAAC,EAAG,GAAG,cAAc,EAAE;IAExH,yBAAyB;IACzB,EAAE;IACF,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,uCAAuC;IACvC,EAAE;IACF,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,4BAA4B;IAC5B,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,gDAAgD;IAChD,EAAE,WAAW,EAAE,aAAa,EAAI,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAG,aAAa,EAAE,EAAE,EAAG,GAAG,cAAc,EAAE;IACvH,EAAE,WAAW,EAAE,WAAW,EAAM,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAI,aAAa,EAAE,EAAE,EAAG,GAAG,cAAc,EAAE;IACvH,EAAE,WAAW,EAAE,YAAY,EAAK,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE;IACvH,EAAE,WAAW,EAAE,aAAa,EAAI,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAI,aAAa,EAAE,EAAE,EAAG,GAAG,cAAc,EAAE;IACvH,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,EAAI,aAAa,EAAE,EAAE,EAAG,GAAG,cAAc,EAAE;IACvH,EAAE,WAAW,EAAE,cAAc,EAAG,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE;CACxH,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,KAAa,EAAE,EAAQ;IAClD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7B,MAAM,UAAU,GAAG,qBAAa;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC;SACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM;QAC3C,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/pricing/cost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAapF;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,aAAa,GAAG,IAAI,CAuBhG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/pricing/cost.ts"],"names":[],"mappings":";;AAcA,gCAaC;AAaD,0CAuBC;AA9DD,6CAA4C;AAE5C;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CAAC,KAAiB,EAAE,KAAa,EAAE,EAAQ;IACnE,MAAM,KAAK,GAAG,IAAA,yBAAY,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IAChD,MAAM,GAAG,GACP,KAAK,CAAC,KAAK,GAAG,QAAQ;QACtB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;QAChD,KAAK,CAAC,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC,mBAAmB;QACtD,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,sBAAsB;QAC5D,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,sBAAsB,CAAC;IAE/D,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;AACnD,CAAC;AAaD,SAAgB,eAAe,CAAC,KAAiB,EAAE,KAAa,EAAE,EAAQ;IACxE,MAAM,KAAK,GAAG,IAAA,yBAAY,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,KAAK,CACtB,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,sBAAsB;QAC5D,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,OAAO;QACL,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1B,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;QAClC,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;QACpC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1B,UAAU,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,KAAK;KAC/D,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cost.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.test.d.ts","sourceRoot":"","sources":["../../src/pricing/cost.test.ts"],"names":[],"mappings":""}
@@ -1,100 +0,0 @@
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 cost_js_1 = require("./cost.js");
9
- const catalog_js_1 = require("./catalog.js");
10
- const AT = new Date("2026-08-21T12:27:42.626Z");
11
- /**
12
- * Caso dorado, medido sobre un transcript real de Claude Code (445 líneas,
13
- * 186 filas `assistant`, 65 turnos únicos). Estos totales son los deduplicados.
14
- *
15
- * Si este test se cae, o cambió el catálogo de precios o cambió el parser: en
16
- * ambos casos hay que revisarlo antes de emitir una factura.
17
- */
18
- const GOLDEN = {
19
- input: 130,
20
- output: 59_962,
21
- cacheRead: 5_713_309,
22
- cacheWrite5m: 0,
23
- cacheWrite1h: 366_030,
24
- };
25
- (0, node_test_1.test)("coste dorado de una sesión real de Opus 5", () => {
26
- const cost = (0, cost_js_1.costOfTurn)(GOLDEN, "claude-opus-5", AT);
27
- strict_1.default.ok(cost);
28
- // input 130 * $5/1M = $0.0006500
29
- // output 59.962 * $25/1M = $1.4990500
30
- // cacheRead 5.713.309 * $5/1M * 0.1 = $2.8566545
31
- // cacheWrite1h 366.030 * $5/1M * 2 = $3.6603000
32
- // = $8.0166545
33
- strict_1.default.equal(cost.microUsd, 8_016_655);
34
- strict_1.default.equal((cost.microUsd / 1e6).toFixed(2), "8.02");
35
- });
36
- (0, node_test_1.test)("ignorar la caché infravalora el coste más de 5x", () => {
37
- const real = (0, cost_js_1.costOfTurn)(GOLDEN, "claude-opus-5", AT);
38
- const naive = (0, cost_js_1.costOfTurn)({ ...GOLDEN, cacheRead: 0, cacheWrite5m: 0, cacheWrite1h: 0 }, "claude-opus-5", AT);
39
- strict_1.default.equal((naive.microUsd / 1e6).toFixed(2), "1.50");
40
- strict_1.default.ok(real.microUsd / naive.microUsd > 5, `esperado >5x, obtenido ${(real.microUsd / naive.microUsd).toFixed(1)}x`);
41
- });
42
- (0, node_test_1.test)("la caché es la mayor parte del gasto", () => {
43
- const b = (0, cost_js_1.breakdownOfTurn)(GOLDEN, "claude-opus-5", AT);
44
- strict_1.default.ok(b);
45
- strict_1.default.ok(b.cacheShare > 0.8, `esperado >80%, obtenido ${(b.cacheShare * 100).toFixed(1)}%`);
46
- strict_1.default.equal(b.total.microUsd, b.input.microUsd + b.output.microUsd + b.cacheRead.microUsd + b.cacheWrite.microUsd);
47
- });
48
- (0, node_test_1.test)("escribir caché a 1h cuesta el doble que a 5m", () => {
49
- const base = { input: 0, output: 0, cacheRead: 0 };
50
- const w5m = (0, cost_js_1.costOfTurn)({ ...base, cacheWrite5m: 1_000_000, cacheWrite1h: 0 }, "claude-opus-5", AT);
51
- const w1h = (0, cost_js_1.costOfTurn)({ ...base, cacheWrite5m: 0, cacheWrite1h: 1_000_000 }, "claude-opus-5", AT);
52
- strict_1.default.equal(w5m.microUsd, 6_250_000); // $5 * 1.25
53
- strict_1.default.equal(w1h.microUsd, 10_000_000); // $5 * 2
54
- strict_1.default.equal(w1h.microUsd, w5m.microUsd * 1.6);
55
- });
56
- (0, node_test_1.test)("un modelo desconocido devuelve null en vez de inventar un precio", () => {
57
- strict_1.default.equal((0, cost_js_1.costOfTurn)(GOLDEN, "modelo-que-no-existe", AT), null);
58
- strict_1.default.equal((0, catalog_js_1.resolvePrice)("modelo-que-no-existe", AT), null);
59
- });
60
- (0, node_test_1.test)("gana el prefijo más específico", () => {
61
- const opus5 = (0, catalog_js_1.resolvePrice)("claude-opus-5", AT);
62
- const sonnet46 = (0, catalog_js_1.resolvePrice)("claude-sonnet-4-6", AT);
63
- strict_1.default.equal(opus5?.modelPrefix, "claude-opus-5");
64
- strict_1.default.equal(opus5?.inputPerMTok, 5);
65
- strict_1.default.equal(sonnet46?.modelPrefix, "claude-sonnet-4-6");
66
- strict_1.default.equal(sonnet46?.inputPerMTok, 3);
67
- });
68
- (0, node_test_1.test)("precios distintos por familia de modelo", () => {
69
- const usage = { input: 1_000_000, output: 0, cacheRead: 0, cacheWrite5m: 0, cacheWrite1h: 0 };
70
- strict_1.default.equal((0, cost_js_1.costOfTurn)(usage, "claude-opus-5", AT).microUsd, 5_000_000);
71
- strict_1.default.equal((0, cost_js_1.costOfTurn)(usage, "claude-sonnet-5", AT).microUsd, 2_000_000);
72
- strict_1.default.equal((0, cost_js_1.costOfTurn)(usage, "claude-haiku-4-5", AT).microUsd, 1_000_000);
73
- });
74
- /**
75
- * Codex. Tarifas de la página oficial de OpenAI, consultadas el 23/09/2026:
76
- * gpt-5.6-terra a $2.00 de entrada y $12.00 de salida por millón, con la caché
77
- * a $0.20 (0.1x) y la escritura a $2.50 (1.25x) — los mismos multiplicadores
78
- * que Anthropic, así que STANDARD_CACHE vale para los dos.
79
- */
80
- (0, node_test_1.test)("coste de un turno de Codex con gpt-5.6-terra", () => {
81
- const uso = {
82
- input: 1_000_000, output: 1_000_000,
83
- cacheRead: 1_000_000, cacheWrite5m: 1_000_000, cacheWrite1h: 0,
84
- };
85
- const cost = (0, cost_js_1.costOfTurn)(uso, "gpt-5.6-terra", AT);
86
- strict_1.default.ok(cost, "gpt-5.6-terra tiene que estar en el catálogo");
87
- // input 1M * $2/1M = $ 2.00
88
- // output 1M * $12/1M = $12.00
89
- // caché 1M * $2/1M * 0.1 = $ 0.20
90
- // escrit. 1M * $2/1M * 1.25 = $ 2.50
91
- strict_1.default.equal(cost.microUsd, 16_700_000);
92
- });
93
- (0, node_test_1.test)("los modelos de OpenAI que no están en el catálogo no se inventan", () => {
94
- // La regla del fichero: un coste ausente se ve, uno inventado no. Sin
95
- // comodín por familia, porque entre sol, terra y luna hay 20x de diferencia
96
- // y un prefijo corto los mal-tarifaría en silencio.
97
- strict_1.default.equal((0, catalog_js_1.resolvePrice)("gpt-5.6-inventado", AT), null);
98
- strict_1.default.equal((0, cost_js_1.costOfTurn)({ input: 1, output: 1, cacheRead: 0, cacheWrite5m: 0, cacheWrite1h: 0 }, "gpt-5.6-inventado", AT), null);
99
- });
100
- //# sourceMappingURL=cost.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.test.js","sourceRoot":"","sources":["../../src/pricing/cost.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,OAAO,EAA8B,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAExE;;;;;;;;;;GAUG;AAEH,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB,sGAAsG;IACtG,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAwBD,wBAAsB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAmEpG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=publish.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.test.d.ts","sourceRoot":"","sources":["../src/publish.test.ts"],"names":[],"mappings":""}
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const strict_1 = __importDefault(require("node:assert/strict"));
40
- const node_test_1 = require("node:test");
41
- const schema_js_1 = require("./db/schema.js");
42
- const store = __importStar(require("./db/store.js"));
43
- const publish_js_1 = require("./publish.js");
44
- /**
45
- * Sin cuenta vinculada o sin proyecto, `publishPanel()` falla ANTES de tocar
46
- * la red — son las dos rutas que se pueden probar sin un servidor real
47
- * detrás. El resto (subir de verdad, la cuota) ya lo cubren los tests de
48
- * `packages/api`, que es donde vive esa lógica.
49
- */
50
- function fresh() {
51
- const db = (0, schema_js_1.openDatabase)(":memory:");
52
- store.upsertClient(db, { id: "acme", name: "ACME", currency: "EUR" });
53
- store.upsertProject(db, {
54
- id: "web", clientId: "acme", name: "Web de ACME", repoPaths: [],
55
- billable: true, roundingMinutes: 0, aiCostPolicy: "absorbed", kind: "client",
56
- });
57
- return db;
58
- }
59
- (0, node_test_1.test)("sin proyecto, falla con un mensaje claro y no llega a la cuenta", async () => {
60
- // `finally` tiene que esperar a la promesa: cerrar la base antes de que
61
- // `publishPanel` termine su primer `await` la deja a medio trabajar sobre
62
- // una conexión ya cerrada, y el fallo que sale ya no es el que se prueba.
63
- const db = fresh();
64
- try {
65
- await strict_1.default.rejects((0, publish_js_1.publishPanel)(db, { projectId: "no-existe" }), (error) => {
66
- strict_1.default.match(error.message, /No existe el proyecto/);
67
- return true;
68
- });
69
- }
70
- finally {
71
- db.close();
72
- }
73
- });
74
- (0, node_test_1.test)("sin cuenta vinculada, pide login con el comando exacto", async () => {
75
- // El mismo mensaje debe servir tanto a quien lo ve en la terminal como a
76
- // quien lo ve en el panel local: es lo que permite que ambos lo reutilicen
77
- // sin reescribirlo cada uno a su manera, que es como se desincronizaron
78
- // antes.
79
- const db = fresh();
80
- try {
81
- await strict_1.default.rejects((0, publish_js_1.publishPanel)(db, { projectId: "web" }), (error) => {
82
- strict_1.default.ok(error instanceof publish_js_1.NoAccountError);
83
- strict_1.default.match(error.message, /estela login --email/);
84
- return true;
85
- });
86
- }
87
- finally {
88
- db.close();
89
- }
90
- });
91
- (0, node_test_1.test)("getPublicationToken: null sin publicación previa, y el token real cuando la hay", () => {
92
- // El fallo real que esto cierra: `cmdPublish` en cli.ts generaba un token
93
- // nuevo cada vez que --token no se pasaba a mano, aunque el proyecto ya se
94
- // hubiera publicado desde esta misma máquina — el servidor veía un token
95
- // que nunca había visto, lo trataba como panel nuevo de verdad, y en plan
96
- // Free podía rechazar de plano una republicación legítima. Esta es la
97
- // fuente de verdad que cli.ts debe consultar antes de inventar uno.
98
- const db = fresh();
99
- try {
100
- strict_1.default.equal(store.getPublicationToken(db, "web"), null);
101
- store.recordPublication(db, "web", "tok_primera_vez", "https://getestela.dev");
102
- strict_1.default.equal(store.getPublicationToken(db, "web"), "tok_primera_vez");
103
- // Publicar de nuevo con OTRO token (lo que hace hoy un `--token` explícito,
104
- // o una versión sin este arreglo) tiene que dejar el más reciente, no los
105
- // dos: `project_id` es único en `publications`.
106
- store.recordPublication(db, "web", "tok_republicado", "https://getestela.dev");
107
- strict_1.default.equal(store.getPublicationToken(db, "web"), "tok_republicado");
108
- }
109
- finally {
110
- db.close();
111
- }
112
- });
113
- //# sourceMappingURL=publish.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.test.js","sourceRoot":"","sources":["../src/publish.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAA4C,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGhG;;;GAGG;AAEH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,GAAE,IAAiB,GAAG,WAAW,CA0BrF;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtF"}
package/dist/quota.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"quota.js","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,0CA0BC;AAWD,8CAGC;AApDD,yCAAqC;AAGrC,qDAAuC;AACvC,iDAAgG;AAChG,oDAAkD;AAElD;;;GAGG;AAEH,SAAgB,eAAe,CAAC,EAAgB,EAAE,MAAY,IAAI,IAAI,EAAE;IACtE,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzE,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,QAAuB,EAAe,EAAE;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACvC,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,GAAG,SAAS;gBAChB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE;gBAChF,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAA,oBAAQ,EAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,IAAA,qBAAU,EAAC;QAChB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;QACnD,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,GAAG;QACH,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CAAC,EAAgB,EAAE,KAAW;IACnE,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAU,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}