arcli 1.8.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/CHANGELOG.md +110 -1
  2. package/README.md +17 -16
  3. package/dist/cli/arca-runtime.d.ts +20 -0
  4. package/dist/cli/arca-runtime.js +42 -0
  5. package/dist/cli/arca-runtime.js.map +1 -0
  6. package/dist/cli/commands/billing.command.batch.d.ts +15 -5
  7. package/dist/cli/commands/billing.command.batch.js +28 -11
  8. package/dist/cli/commands/billing.command.batch.js.map +1 -1
  9. package/dist/cli/commands/billing.command.interactive-preview.js +4 -1
  10. package/dist/cli/commands/billing.command.interactive-preview.js.map +1 -1
  11. package/dist/cli/commands/billing.command.options.js +18 -16
  12. package/dist/cli/commands/billing.command.options.js.map +1 -1
  13. package/dist/cli/commands/billing.command.output.d.ts +4 -0
  14. package/dist/cli/commands/billing.command.output.js +3 -2
  15. package/dist/cli/commands/billing.command.output.js.map +1 -1
  16. package/dist/cli/commands/billing.command.parser.d.ts +7 -0
  17. package/dist/cli/commands/billing.command.parser.js +85 -43
  18. package/dist/cli/commands/billing.command.parser.js.map +1 -1
  19. package/dist/cli/commands/billing.command.pdf.d.ts +1 -1
  20. package/dist/cli/commands/billing.command.pdf.js +17 -2
  21. package/dist/cli/commands/billing.command.pdf.js.map +1 -1
  22. package/dist/cli/commands/billing.command.shared.d.ts +22 -3
  23. package/dist/cli/commands/billing.command.shared.js +84 -47
  24. package/dist/cli/commands/billing.command.shared.js.map +1 -1
  25. package/dist/cli/commands/config.command.d.ts +3 -4
  26. package/dist/cli/commands/config.command.js +43 -41
  27. package/dist/cli/commands/config.command.js.map +1 -1
  28. package/dist/cli/commands/cuit-argument.d.ts +2 -0
  29. package/dist/cli/commands/cuit-argument.js +10 -0
  30. package/dist/cli/commands/cuit-argument.js.map +1 -0
  31. package/dist/cli/commands/fce-obligation.command.js +6 -13
  32. package/dist/cli/commands/fce-obligation.command.js.map +1 -1
  33. package/dist/cli/commands/interactive.command.js +8 -6
  34. package/dist/cli/commands/interactive.command.js.map +1 -1
  35. package/dist/cli/commands/padron.command.d.ts +2 -0
  36. package/dist/cli/commands/padron.command.js +47 -0
  37. package/dist/cli/commands/padron.command.js.map +1 -0
  38. package/dist/cli/commands/parameters.command.js +8 -7
  39. package/dist/cli/commands/parameters.command.js.map +1 -1
  40. package/dist/cli/commands/pdf.command.js +17 -30
  41. package/dist/cli/commands/pdf.command.js.map +1 -1
  42. package/dist/cli/commands/vouchers.command.js +9 -9
  43. package/dist/cli/commands/vouchers.command.js.map +1 -1
  44. package/dist/cli/error-output.d.ts +25 -0
  45. package/dist/cli/error-output.js +86 -0
  46. package/dist/cli/error-output.js.map +1 -0
  47. package/dist/cli/global-options.d.ts +26 -0
  48. package/dist/cli/global-options.js +56 -0
  49. package/dist/cli/global-options.js.map +1 -0
  50. package/dist/cli/help-argv.d.ts +5 -0
  51. package/dist/cli/help-argv.js +21 -0
  52. package/dist/cli/help-argv.js.map +1 -0
  53. package/dist/cli/help.d.ts +2 -0
  54. package/dist/cli/help.js +78 -31
  55. package/dist/cli/help.js.map +1 -1
  56. package/dist/cli/ignored-global-options.d.ts +6 -0
  57. package/dist/cli/ignored-global-options.js +33 -0
  58. package/dist/cli/ignored-global-options.js.map +1 -0
  59. package/dist/cli/index.js +16 -26
  60. package/dist/cli/index.js.map +1 -1
  61. package/dist/cli/interactive/advanced-options.js +2 -2
  62. package/dist/cli/interactive/advanced-options.js.map +1 -1
  63. package/dist/cli/interactive/config.flow.d.ts +1 -2
  64. package/dist/cli/interactive/config.flow.js +4 -3
  65. package/dist/cli/interactive/config.flow.js.map +1 -1
  66. package/dist/cli/interactive/interactive-mode.js +108 -9
  67. package/dist/cli/interactive/interactive-mode.js.map +1 -1
  68. package/dist/cli/interactive/invoice-picker.js +3 -2
  69. package/dist/cli/interactive/invoice-picker.js.map +1 -1
  70. package/dist/cli/interactive/invoice.flow.d.ts +2 -0
  71. package/dist/cli/interactive/invoice.flow.js +4 -3
  72. package/dist/cli/interactive/invoice.flow.js.map +1 -1
  73. package/dist/cli/interactive/note.flow.d.ts +4 -0
  74. package/dist/cli/interactive/note.flow.js +25 -11
  75. package/dist/cli/interactive/note.flow.js.map +1 -1
  76. package/dist/cli/interactive/pdf.flow.js +33 -22
  77. package/dist/cli/interactive/pdf.flow.js.map +1 -1
  78. package/dist/cli/interactive/prompts.d.ts +3 -1
  79. package/dist/cli/interactive/prompts.js +8 -4
  80. package/dist/cli/interactive/prompts.js.map +1 -1
  81. package/dist/cli/interactive/receiver-padron.d.ts +29 -0
  82. package/dist/cli/interactive/receiver-padron.js +53 -0
  83. package/dist/cli/interactive/receiver-padron.js.map +1 -0
  84. package/dist/cli/interactive/repeat.flow.js +25 -10
  85. package/dist/cli/interactive/repeat.flow.js.map +1 -1
  86. package/dist/cli/interactive/session.js +4 -1
  87. package/dist/cli/interactive/session.js.map +1 -1
  88. package/dist/cli/interactive/update.flow.d.ts +6 -0
  89. package/dist/cli/interactive/update.flow.js +26 -0
  90. package/dist/cli/interactive/update.flow.js.map +1 -0
  91. package/dist/cli/interactive/validators.js +8 -4
  92. package/dist/cli/interactive/validators.js.map +1 -1
  93. package/dist/cli/option-parsers.d.ts +6 -0
  94. package/dist/cli/option-parsers.js +34 -0
  95. package/dist/cli/option-parsers.js.map +1 -0
  96. package/dist/cli/program.d.ts +5 -1
  97. package/dist/cli/program.js +8 -2
  98. package/dist/cli/program.js.map +1 -1
  99. package/dist/cli/version.d.ts +1 -1
  100. package/dist/cli/version.js +1 -1
  101. package/dist/lib/dates/arca-date.d.ts +13 -0
  102. package/dist/lib/dates/arca-date.js +28 -11
  103. package/dist/lib/dates/arca-date.js.map +1 -1
  104. package/dist/lib/errors/app-error.d.ts +4 -1
  105. package/dist/lib/errors/app-error.js +5 -1
  106. package/dist/lib/errors/app-error.js.map +1 -1
  107. package/dist/lib/files/restrict-to-owner.d.ts +7 -0
  108. package/dist/lib/files/restrict-to-owner.js +19 -0
  109. package/dist/lib/files/restrict-to-owner.js.map +1 -0
  110. package/dist/lib/files/write-new-file.d.ts +5 -0
  111. package/dist/lib/files/write-new-file.js +30 -0
  112. package/dist/lib/files/write-new-file.js.map +1 -0
  113. package/dist/lib/identity/format-cuit.d.ts +2 -0
  114. package/dist/lib/identity/format-cuit.js +6 -0
  115. package/dist/lib/identity/format-cuit.js.map +1 -0
  116. package/dist/lib/links.d.ts +2 -0
  117. package/dist/lib/links.js +2 -0
  118. package/dist/lib/links.js.map +1 -1
  119. package/dist/lib/numbers/argentine-amount.d.ts +23 -0
  120. package/dist/lib/numbers/argentine-amount.js +37 -0
  121. package/dist/lib/numbers/argentine-amount.js.map +1 -0
  122. package/dist/lib/numbers/strict-integer.d.ts +4 -0
  123. package/dist/lib/numbers/strict-integer.js +10 -0
  124. package/dist/lib/numbers/strict-integer.js.map +1 -0
  125. package/dist/lib/security/certificate.d.ts +5 -1
  126. package/dist/lib/security/certificate.js +10 -7
  127. package/dist/lib/security/certificate.js.map +1 -1
  128. package/dist/lib/security/pem.js +5 -1
  129. package/dist/lib/security/pem.js.map +1 -1
  130. package/dist/modules/billing/billing-response.js +15 -2
  131. package/dist/modules/billing/billing-response.js.map +1 -1
  132. package/dist/modules/billing/billing.amounts.d.ts +2 -0
  133. package/dist/modules/billing/billing.amounts.js +6 -3
  134. package/dist/modules/billing/billing.amounts.js.map +1 -1
  135. package/dist/modules/billing/billing.associated-vouchers.js +14 -3
  136. package/dist/modules/billing/billing.associated-vouchers.js.map +1 -1
  137. package/dist/modules/billing/billing.batch.js +13 -1
  138. package/dist/modules/billing/billing.batch.js.map +1 -1
  139. package/dist/modules/billing/billing.date-range.js +31 -9
  140. package/dist/modules/billing/billing.date-range.js.map +1 -1
  141. package/dist/modules/billing/billing.display.js +9 -5
  142. package/dist/modules/billing/billing.display.js.map +1 -1
  143. package/dist/modules/billing/billing.errors.d.ts +12 -0
  144. package/dist/modules/billing/billing.errors.js +18 -0
  145. package/dist/modules/billing/billing.errors.js.map +1 -0
  146. package/dist/modules/billing/billing.json-input.d.ts +58 -0
  147. package/dist/modules/billing/billing.json-input.js +279 -0
  148. package/dist/modules/billing/billing.json-input.js.map +1 -0
  149. package/dist/modules/billing/billing.padron.d.ts +14 -0
  150. package/dist/modules/billing/billing.padron.js +55 -0
  151. package/dist/modules/billing/billing.padron.js.map +1 -0
  152. package/dist/modules/billing/billing.schemas.d.ts +5 -0
  153. package/dist/modules/billing/billing.schemas.js +19 -5
  154. package/dist/modules/billing/billing.schemas.js.map +1 -1
  155. package/dist/modules/billing/billing.serialize.d.ts +1 -0
  156. package/dist/modules/billing/billing.serialize.js +5 -12
  157. package/dist/modules/billing/billing.serialize.js.map +1 -1
  158. package/dist/modules/billing/billing.service.d.ts +3 -0
  159. package/dist/modules/billing/billing.service.js +31 -3
  160. package/dist/modules/billing/billing.service.js.map +1 -1
  161. package/dist/modules/billing/billing.text.js +4 -12
  162. package/dist/modules/billing/billing.text.js.map +1 -1
  163. package/dist/modules/billing/billing.types.internal.d.ts +10 -2
  164. package/dist/modules/billing/billing.validation.js +4 -0
  165. package/dist/modules/billing/billing.validation.js.map +1 -1
  166. package/dist/modules/config/certificate-expiry.d.ts +42 -0
  167. package/dist/modules/config/certificate-expiry.js +91 -0
  168. package/dist/modules/config/certificate-expiry.js.map +1 -0
  169. package/dist/modules/config/config-doctor.d.ts +5 -4
  170. package/dist/modules/config/config-doctor.js +8 -16
  171. package/dist/modules/config/config-doctor.js.map +1 -1
  172. package/dist/modules/config/config-value-parser.d.ts +1 -1
  173. package/dist/modules/config/config-value-parser.js +24 -20
  174. package/dist/modules/config/config-value-parser.js.map +1 -1
  175. package/dist/modules/config/config.presenter.d.ts +2 -0
  176. package/dist/modules/config/config.presenter.js +6 -0
  177. package/dist/modules/config/config.presenter.js.map +1 -1
  178. package/dist/modules/config/config.schemas.d.ts +4 -2
  179. package/dist/modules/config/config.schemas.js +3 -0
  180. package/dist/modules/config/config.schemas.js.map +1 -1
  181. package/dist/modules/config/config.sections.js +6 -1
  182. package/dist/modules/config/config.sections.js.map +1 -1
  183. package/dist/modules/config/config.service.d.ts +5 -0
  184. package/dist/modules/config/config.service.js +62 -14
  185. package/dist/modules/config/config.service.js.map +1 -1
  186. package/dist/modules/examples/examples.d.ts +5 -0
  187. package/dist/modules/examples/examples.js +34 -29
  188. package/dist/modules/examples/examples.js.map +1 -1
  189. package/dist/modules/interactive/amount-input.d.ts +3 -5
  190. package/dist/modules/interactive/amount-input.js +9 -26
  191. package/dist/modules/interactive/amount-input.js.map +1 -1
  192. package/dist/modules/interactive/config-fields.js +8 -1
  193. package/dist/modules/interactive/config-fields.js.map +1 -1
  194. package/dist/modules/interactive/equivalent-command.js +8 -10
  195. package/dist/modules/interactive/equivalent-command.js.map +1 -1
  196. package/dist/modules/interactive/invoice-copy.d.ts +19 -0
  197. package/dist/modules/interactive/invoice-copy.js +26 -0
  198. package/dist/modules/interactive/invoice-copy.js.map +1 -0
  199. package/dist/modules/interactive/periods.d.ts +2 -2
  200. package/dist/modules/interactive/periods.js +8 -4
  201. package/dist/modules/interactive/periods.js.map +1 -1
  202. package/dist/modules/padron/padron.d.ts +46 -0
  203. package/dist/modules/padron/padron.js +24 -0
  204. package/dist/modules/padron/padron.js.map +1 -0
  205. package/dist/modules/padron/padron.presenter.d.ts +7 -0
  206. package/dist/modules/padron/padron.presenter.js +49 -0
  207. package/dist/modules/padron/padron.presenter.js.map +1 -0
  208. package/dist/modules/parameters/health.d.ts +17 -0
  209. package/dist/modules/parameters/health.js +29 -0
  210. package/dist/modules/parameters/health.js.map +1 -0
  211. package/dist/modules/parameters/parameters.presenter.js +5 -2
  212. package/dist/modules/parameters/parameters.presenter.js.map +1 -1
  213. package/dist/modules/pdf/pdf.errors.d.ts +0 -1
  214. package/dist/modules/pdf/pdf.errors.js +1 -3
  215. package/dist/modules/pdf/pdf.errors.js.map +1 -1
  216. package/dist/modules/storybook/showcase.js +21 -5
  217. package/dist/modules/storybook/showcase.js.map +1 -1
  218. package/dist/modules/update-check/changelog.d.ts +23 -0
  219. package/dist/modules/update-check/changelog.js +99 -0
  220. package/dist/modules/update-check/changelog.js.map +1 -0
  221. package/dist/modules/update-check/update-check.presenter.d.ts +4 -0
  222. package/dist/modules/update-check/update-check.presenter.js +80 -2
  223. package/dist/modules/update-check/update-check.presenter.js.map +1 -1
  224. package/dist/modules/update-check/update-check.service.d.ts +3 -0
  225. package/dist/modules/update-check/update-check.service.js +2 -2
  226. package/dist/modules/update-check/update-check.service.js.map +1 -1
  227. package/dist/modules/vouchers/voucher-history.presenter.d.ts +3 -3
  228. package/dist/modules/vouchers/voucher-history.presenter.js +27 -7
  229. package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -1
  230. package/dist/services/arca/arca-billing.gateway.d.ts +8 -2
  231. package/dist/services/arca/arca-billing.gateway.js +17 -2
  232. package/dist/services/arca/arca-billing.gateway.js.map +1 -1
  233. package/dist/services/arca/arca-client.factory.d.ts +2 -1
  234. package/dist/services/arca/arca-client.factory.js +5 -0
  235. package/dist/services/arca/arca-client.factory.js.map +1 -1
  236. package/dist/services/arca/arca-context.resolver.d.ts +11 -0
  237. package/dist/services/arca/arca-context.resolver.js +17 -1
  238. package/dist/services/arca/arca-context.resolver.js.map +1 -1
  239. package/dist/services/arca/arca-padron.gateway.d.ts +9 -0
  240. package/dist/services/arca/arca-padron.gateway.js +104 -0
  241. package/dist/services/arca/arca-padron.gateway.js.map +1 -0
  242. package/dist/services/clipboard/clipboard.d.ts +2 -0
  243. package/dist/services/clipboard/clipboard.js +17 -0
  244. package/dist/services/clipboard/clipboard.js.map +1 -0
  245. package/dist/services/pdf/escape-html.d.ts +6 -0
  246. package/dist/services/pdf/escape-html.js +25 -0
  247. package/dist/services/pdf/escape-html.js.map +1 -0
  248. package/dist/services/pdf/pdf-exporter.d.ts +6 -3
  249. package/dist/services/pdf/pdf-exporter.js +13 -10
  250. package/dist/services/pdf/pdf-exporter.js.map +1 -1
  251. package/dist/ui/components/certificateBanner.d.ts +11 -0
  252. package/dist/ui/components/certificateBanner.js +9 -0
  253. package/dist/ui/components/certificateBanner.js.map +1 -0
  254. package/dist/ui/components/index.d.ts +1 -0
  255. package/dist/ui/components/index.js +1 -0
  256. package/dist/ui/components/index.js.map +1 -1
  257. package/dist/ui/components/statusBar.d.ts +15 -4
  258. package/dist/ui/components/statusBar.js +16 -11
  259. package/dist/ui/components/statusBar.js.map +1 -1
  260. package/dist/ui/presenters/config.presenter.d.ts +1 -1
  261. package/dist/ui/presenters/config.presenter.js +1 -1
  262. package/dist/ui/presenters/config.presenter.js.map +1 -1
  263. package/dist/ui/presenters/errors.presenter.js +8 -4
  264. package/dist/ui/presenters/errors.presenter.js.map +1 -1
  265. package/dist/ui/presenters/errors.zod-presenter.js +5 -26
  266. package/dist/ui/presenters/errors.zod-presenter.js.map +1 -1
  267. package/dist/ui/primitives/renderLogo.d.ts +2 -1
  268. package/dist/ui/primitives/renderLogo.js +21 -4
  269. package/dist/ui/primitives/renderLogo.js.map +1 -1
  270. package/dist/ui/primitives/renderPanel.d.ts +2 -0
  271. package/dist/ui/primitives/renderPanel.js +15 -5
  272. package/dist/ui/primitives/renderPanel.js.map +1 -1
  273. package/dist/ui/stream/terminal-stream.d.ts +11 -0
  274. package/dist/ui/stream/terminal-stream.js +27 -1
  275. package/dist/ui/stream/terminal-stream.js.map +1 -1
  276. package/dist/ui/theme/theme.d.ts +3 -3
  277. package/dist/ui/theme/theme.js +14 -3
  278. package/dist/ui/theme/theme.js.map +1 -1
  279. package/llms.txt +65 -45
  280. package/package.json +1 -1
@@ -0,0 +1,99 @@
1
+ import { isNewerVersion } from './update-check.service.js';
2
+ const CHANGELOG_URL = (version) => `https://raw.githubusercontent.com/LcsGrz/arcli/v${version}/CHANGELOG.md`;
3
+ export const CHANGELOG_PAGE_URL = 'https://github.com/LcsGrz/arcli/blob/main/CHANGELOG.md';
4
+ const FETCH_TIMEOUT_MS = 3000;
5
+ // Lo que entra en un renglon del panel junto a la etiqueta ("nuevo", "arreglo"), en una terminal de 92 columnas.
6
+ const MAX_LEAD_LENGTH = 70;
7
+ const CHANGE_KINDS = {
8
+ agregado: 'agregado',
9
+ cambiado: 'cambiado',
10
+ corregido: 'corregido',
11
+ eliminado: 'eliminado',
12
+ seguridad: 'seguridad',
13
+ };
14
+ const VERSION_HEADING = /^## \[(\d+\.\d+\.\d+)\](?:\s*-\s*(\S+))?/;
15
+ /** Saca el markdown de una linea: negritas, codigo y links (queda el texto del link). */
16
+ function plainText(value) {
17
+ return value
18
+ .replace(/\[([^\]]+)\]\([^)]*\)/g, '$1')
19
+ .replace(/\*\*|`/g, '')
20
+ .trim();
21
+ }
22
+ function shorten(value, maxLength = MAX_LEAD_LENGTH) {
23
+ return value.length > maxLength ? `${value.slice(0, maxLength - 1).trimEnd()}…` : value;
24
+ }
25
+ function firstSentence(value) {
26
+ return value.split(/(?<=\.)\s/)[0] ?? value;
27
+ }
28
+ /**
29
+ * El titulo en negrita del cambio. Si es solo una categoria corta ("Modo interactivo:", "Docs:"), queda como
30
+ * `topic` y el texto es el comienzo de la descripcion, porque la categoria sola no dice nada.
31
+ */
32
+ function changeLead(bullet) {
33
+ const bold = /^\*\*(.+?)\*\*(.*)$/.exec(bullet);
34
+ if (!bold) {
35
+ return { text: shorten(plainText(firstSentence(bullet))) };
36
+ }
37
+ const [, title, rest] = bold;
38
+ const isCategory = title.endsWith(':') && title.split(/\s+/).length <= 2 && rest.trim() !== '';
39
+ if (isCategory) {
40
+ const topic = plainText(title.slice(0, -1));
41
+ // La categoria y el texto van en el mismo renglon: "Docs: el glosario...".
42
+ return { text: shorten(plainText(firstSentence(rest.trim())), MAX_LEAD_LENGTH - topic.length - 2), topic };
43
+ }
44
+ return { text: shorten(plainText(title.replace(/:$/, ''))) };
45
+ }
46
+ /** Las versiones posteriores a `currentVersion`, hasta `latestVersion` inclusive, de la mas nueva a la mas vieja. */
47
+ export function extractChangelog(markdown, currentVersion, latestVersion) {
48
+ const entries = [];
49
+ let current;
50
+ let kind;
51
+ for (const line of markdown.split('\n')) {
52
+ const heading = VERSION_HEADING.exec(line);
53
+ if (heading) {
54
+ const version = heading[1];
55
+ const inRange = isNewerVersion(version, currentVersion) && !isNewerVersion(version, latestVersion);
56
+ current = inRange ? { changes: [], date: heading[2], version } : undefined;
57
+ kind = undefined;
58
+ if (current) {
59
+ entries.push(current);
60
+ }
61
+ continue;
62
+ }
63
+ if (line.startsWith('## ')) {
64
+ current = undefined;
65
+ continue;
66
+ }
67
+ if (!current) {
68
+ continue;
69
+ }
70
+ if (line.startsWith('### ')) {
71
+ kind = CHANGE_KINDS[line.slice(4).trim().toLowerCase()] ?? 'otro';
72
+ continue;
73
+ }
74
+ const bullet = /^(\s*)- (.+)$/.exec(line);
75
+ if (bullet) {
76
+ current.changes.push({ kind: kind ?? 'otro', nested: bullet[1].length > 0, ...changeLead(bullet[2]) });
77
+ }
78
+ else if (!kind && line.trim() && !current.summary) {
79
+ current.summary = plainText(firstSentence(line));
80
+ }
81
+ }
82
+ return entries;
83
+ }
84
+ /** El CHANGELOG.md publicado con esa version; `undefined` si no se pudo bajar. */
85
+ export async function fetchChangelog(version) {
86
+ const controller = new AbortController();
87
+ const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
88
+ try {
89
+ const response = await fetch(CHANGELOG_URL(version), { signal: controller.signal });
90
+ return response.ok ? await response.text() : undefined;
91
+ }
92
+ catch {
93
+ return undefined;
94
+ }
95
+ finally {
96
+ clearTimeout(timeout);
97
+ }
98
+ }
99
+ //# sourceMappingURL=changelog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../../src/modules/update-check/changelog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,mDAAmD,OAAO,eAAe,CAAC;AACrH,MAAM,CAAC,MAAM,kBAAkB,GAAG,wDAAwD,CAAC;AAC3F,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,iHAAiH;AACjH,MAAM,eAAe,GAAG,EAAE,CAAC;AAuB3B,MAAM,YAAY,GAAwC;IACxD,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAEnE,yFAAyF;AACzF,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC;SACvC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,SAAS,GAAG,eAAe;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAE/F,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5C,2EAA2E;QAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAC7G,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,cAAsB,EAAE,aAAqB;IAC9F,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,OAAqG,CAAC;IAC1G,IAAI,IAAqC,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAEnG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,IAAI,GAAG,SAAS,CAAC;YAEjB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,SAAS,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC;YAClE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;aAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpF,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,2 +1,6 @@
1
+ import { type ChangelogEntry } from './changelog';
1
2
  import type { UpdateCheckResult } from './update-check.service';
3
+ export declare const UPDATE_COMMAND = "npm install -g arcli@latest";
2
4
  export declare function renderUpdateNoticePanel(result: UpdateCheckResult): string;
5
+ /** Pantalla de "Actualizar": versiones, novedades y como actualizar. */
6
+ export declare function renderUpdateDetails(result: UpdateCheckResult, entries: readonly ChangelogEntry[] | undefined): string;
@@ -1,6 +1,84 @@
1
- import { noticePanel } from '../../ui/index.js';
1
+ import { bold, colorize, noticePanel, renderPanel } from '../../ui/index.js';
2
+ import { CHANGELOG_PAGE_URL } from './changelog.js';
3
+ export const UPDATE_COMMAND = 'npm install -g arcli@latest';
4
+ /** Versiones del changelog que se muestran, y cambios por version; el resto queda en el link. */
5
+ const MAX_CHANGELOG_ENTRIES = 3;
6
+ const MAX_CHANGES_PER_ENTRY = 6;
2
7
  export function renderUpdateNoticePanel(result) {
3
8
  return noticePanel(`Nueva version disponible: ${result.latestVersion} (actual: ${result.currentVersion})\n` +
4
- 'Actualiza con: npm install -g arcli@latest', 'info', 'info');
9
+ `Actualiza con: ${UPDATE_COMMAND}`, 'info', 'info');
10
+ }
11
+ const KIND_LABELS = {
12
+ agregado: ['nuevo', 'success'],
13
+ cambiado: ['cambio', 'info'],
14
+ corregido: ['arreglo', 'warning'],
15
+ eliminado: ['quitado', 'danger'],
16
+ otro: ['otro', 'muted'],
17
+ seguridad: ['seguridad', 'danger'],
18
+ };
19
+ const KIND_LABEL_WIDTH = Math.max(...Object.values(KIND_LABELS).map(([label]) => label.length));
20
+ const CHANGE_INDENT = ' '.repeat(2 + KIND_LABEL_WIDTH + 2);
21
+ /** `2026-10-09` → `09/10/2026`; otro formato queda igual. */
22
+ function formatChangelogDate(date) {
23
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(date);
24
+ return match ? `${match[3]}/${match[2]}/${match[1]}` : date;
25
+ }
26
+ function formatChange(change) {
27
+ const text = change.topic ? `${bold(`${change.topic}:`)} ${change.text}` : change.text;
28
+ if (change.nested) {
29
+ return `${CHANGE_INDENT}· ${text}`;
30
+ }
31
+ const [label, color] = KIND_LABELS[change.kind];
32
+ return ` ${colorize(label.padEnd(KIND_LABEL_WIDTH), color)} ${text}`;
33
+ }
34
+ function formatChanges(changes) {
35
+ const lines = changes.slice(0, MAX_CHANGES_PER_ENTRY).map(formatChange);
36
+ const hidden = changes.length - MAX_CHANGES_PER_ENTRY;
37
+ return hidden > 0 ? [...lines, colorize(`${CHANGE_INDENT}y ${hidden} cambio(s) mas`, 'muted')] : lines;
38
+ }
39
+ function formatChangelog(entries) {
40
+ if (!entries || entries.length === 0) {
41
+ return [colorize(`No se pudieron cargar las novedades. Miralas en ${CHANGELOG_PAGE_URL}`, 'muted')];
42
+ }
43
+ const lines = entries
44
+ .slice(0, MAX_CHANGELOG_ENTRIES)
45
+ .flatMap((entry) => [
46
+ '',
47
+ `${bold(entry.version)}${entry.date ? ` · ${colorize(formatChangelogDate(entry.date), 'muted')}` : ''}`,
48
+ ...(entry.summary ? [entry.summary] : []),
49
+ ...(entry.changes.length > 0 ? [''] : []),
50
+ ...formatChanges(entry.changes),
51
+ ]);
52
+ const hidden = entries.length - MAX_CHANGELOG_ENTRIES;
53
+ if (hidden > 0) {
54
+ lines.push('', colorize(`Y ${hidden} version(es) mas en ${CHANGELOG_PAGE_URL}`, 'muted'));
55
+ }
56
+ return lines;
57
+ }
58
+ /** Pantalla de "Actualizar": versiones, novedades y como actualizar. */
59
+ export function renderUpdateDetails(result, entries) {
60
+ const versions = renderPanel({
61
+ borderType: 'sheet',
62
+ content: [
63
+ `Tu version ${result.currentVersion}`,
64
+ `Nueva version ${colorize(bold(result.latestVersion), 'highlight')}`,
65
+ '',
66
+ bold('NOVEDADES'),
67
+ ...formatChangelog(entries),
68
+ ],
69
+ title: 'Actualizacion disponible',
70
+ width: 'wide',
71
+ });
72
+ const howTo = renderPanel({
73
+ borderType: 'command',
74
+ content: [
75
+ 'Para actualizar, arcli se cierra y deja este comando copiado. Pegalo en la terminal y apreta Enter:',
76
+ '',
77
+ bold(colorize(UPDATE_COMMAND, 'info')),
78
+ ],
79
+ preserveBlankLines: true,
80
+ width: 'wide',
81
+ });
82
+ return `${versions}\n\n${howTo}`;
5
83
  }
6
84
  //# sourceMappingURL=update-check.presenter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.presenter.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,MAAM,UAAU,uBAAuB,CAAC,MAAyB;IAC/D,OAAO,WAAW,CAChB,6BAA6B,MAAM,CAAC,aAAa,aAAa,MAAM,CAAC,cAAc,KAAK;QACtF,4CAA4C,EAC9C,MAAM,EACN,MAAM,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update-check.presenter.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.presenter.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,10 @@ export interface UpdateCheckResult {
2
2
  readonly currentVersion: string;
3
3
  readonly latestVersion: string;
4
4
  }
5
+ export declare function isNewerVersion(latestVersion: string, currentVersion: string): boolean;
5
6
  export interface CheckForUpdateOptions {
6
7
  readonly cwd?: string;
8
+ /** Cada cuanto se consulta el registry; por defecto, una vez por dia. */
9
+ readonly maxAgeMs?: number;
7
10
  }
8
11
  export declare function checkForUpdate(currentVersion: string, options?: CheckForUpdateOptions): Promise<UpdateCheckResult | null>;
@@ -10,7 +10,7 @@ const CACHE_DEFAULTS = {
10
10
  function isUpdateCheckDisabled() {
11
11
  return Boolean(process.env.CI) || Boolean(process.env.NO_UPDATE_NOTIFIER) || process.stderr.isTTY !== true;
12
12
  }
13
- function isNewerVersion(latestVersion, currentVersion) {
13
+ export function isNewerVersion(latestVersion, currentVersion) {
14
14
  const parse = (version) => version.split('.').map((part) => Number.parseInt(part, 10) || 0);
15
15
  const [latestMajor, latestMinor, latestPatch] = parse(latestVersion);
16
16
  const [currentMajor, currentMinor, currentPatch] = parse(currentVersion);
@@ -54,7 +54,7 @@ export async function checkForUpdate(currentVersion, options = {}) {
54
54
  return null;
55
55
  }
56
56
  const cache = createCacheStore(options.cwd);
57
- const isCacheStale = Date.now() - cache.get('lastCheckedAt') > CHECK_INTERVAL_MS;
57
+ const isCacheStale = Date.now() - cache.get('lastCheckedAt') > (options.maxAgeMs ?? CHECK_INTERVAL_MS);
58
58
  let latestVersion = cache.get('latestVersion');
59
59
  if (isCacheStale) {
60
60
  const fetchedVersion = await fetchLatestVersion();
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.service.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-check.service.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.service.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,10 @@ export declare function formatVoucherListTitle(report: Omit<VoucherListReport, '
19
19
  /** Una fila del listado: numero, fecha, receptor, total y CAE, en columnas alineadas. */
20
20
  export declare function formatVoucherListRow(pointOfSale: number, voucher: IssuedVoucher): string;
21
21
  /**
22
- * Filas compactas para elegir un comprobante: cada columna mide lo justo para el dato mas largo de la lista
23
- * y las separa `separator`.
22
+ * Filas para elegir un comprobante: cada columna mide lo justo para el dato mas largo de la lista y las separa
23
+ * `separator`. Con `width`, los separadores se agrandan para que las filas ocupen ese ancho, si entran.
24
24
  */
25
- export declare function formatVoucherPickerRows(pointOfSale: number, vouchers: readonly IssuedVoucher[], separator: string): string[];
25
+ export declare function formatVoucherPickerRows(pointOfSale: number, vouchers: readonly IssuedVoucher[], separator: string, width?: number): string[];
26
26
  export declare function formatVoucherListAsText(report: VoucherListReport): string;
27
27
  export declare function formatVoucherListAsJson(report: VoucherListReport): string;
28
28
  export declare function formatVoucherDetailAsJson(report: VoucherDetailReport): string;
@@ -33,10 +33,21 @@ export function formatVoucherListRow(pointOfSale, voucher) {
33
33
  .trimEnd();
34
34
  }
35
35
  /**
36
- * Filas compactas para elegir un comprobante: cada columna mide lo justo para el dato mas largo de la lista
37
- * y las separa `separator`.
36
+ * Reparte `extra` espacios entre los separadores, a los dos lados del simbolo: ` · ` pasa a ` · `, y asi.
37
+ * Los primeros se llevan el sobrante de la division.
38
38
  */
39
- export function formatVoucherPickerRows(pointOfSale, vouchers, separator) {
39
+ function widenSeparators(separator, count, extra) {
40
+ return Array.from({ length: count }, (_, index) => {
41
+ const spaces = Math.floor(extra / count) + (index < extra % count ? 1 : 0);
42
+ const left = Math.floor(spaces / 2);
43
+ return `${' '.repeat(left)}${separator}${' '.repeat(spaces - left)}`;
44
+ });
45
+ }
46
+ /**
47
+ * Filas para elegir un comprobante: cada columna mide lo justo para el dato mas largo de la lista y las separa
48
+ * `separator`. Con `width`, los separadores se agrandan para que las filas ocupen ese ancho, si entran.
49
+ */
50
+ export function formatVoucherPickerRows(pointOfSale, vouchers, separator, width) {
40
51
  const columns = vouchers.map((voucher) => ({
41
52
  cae: voucher.cae ? `CAE ${voucher.cae}` : '',
42
53
  date: formatArcaDateAsArgentineDate(voucher.date),
@@ -46,9 +57,18 @@ export function formatVoucherPickerRows(pointOfSale, vouchers, separator) {
46
57
  }));
47
58
  const receiverWidth = Math.max(0, ...columns.map((column) => column.receiver.length));
48
59
  const totalWidth = Math.max(0, ...columns.map((column) => column.total.length));
49
- return columns.map((column) => [column.number, column.date, column.receiver.padEnd(receiverWidth), column.total.padStart(totalWidth), column.cae]
50
- .filter(Boolean)
51
- .join(separator));
60
+ const cells = columns.map((column) => [
61
+ column.number,
62
+ column.date,
63
+ column.receiver.padEnd(receiverWidth),
64
+ column.total.padStart(totalWidth),
65
+ column.cae,
66
+ ].filter(Boolean));
67
+ const natural = Math.max(0, ...cells.map((row) => row.join(separator).length));
68
+ const gaps = Math.max(0, ...cells.map((row) => row.length - 1));
69
+ const extra = width === undefined || gaps === 0 ? 0 : Math.max(0, width - natural);
70
+ const separators = widenSeparators(separator, gaps, extra);
71
+ return cells.map((row) => row.map((cell, index) => (index === 0 ? cell : `${separators[index - 1]}${cell}`)).join(''));
52
72
  }
53
73
  export function formatVoucherListAsText(report) {
54
74
  const { pointOfSale, voucherKind, vouchers } = report;
@@ -121,6 +141,6 @@ export function formatVoucherDetailAsText(report) {
121
141
  if (voucher.caeExpiration) {
122
142
  rows.push(['Vencimiento CAE', formatArcaDateAsArgentineDate(voucher.caeExpiration)]);
123
143
  }
124
- return keyValuePanel(voucherKind.displayName, renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('compact', rows) }), voucher.result === 'A' ? 'APROBADO' : voucher.result === 'R' ? 'RECHAZADO' : undefined, 'compact', voucher.result === 'R' ? 'danger' : 'success', 'ticket');
144
+ return keyValuePanel(voucherKind.displayName, renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('ticket', rows) }), voucher.result === 'A' ? 'APROBADO' : voucher.result === 'R' ? 'RECHAZADO' : undefined, 'ticket', voucher.result === 'R' ? 'danger' : 'success', 'ticket');
125
145
  }
126
146
  //# sourceMappingURL=voucher-history.presenter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voucher-history.presenter.js","sourceRoot":"","sources":["../../../src/modules/vouchers/voucher-history.presenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voucher-history.presenter.js","sourceRoot":"","sources":["../../../src/modules/vouchers/voucher-history.presenter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  import type { Arca } from '@arcasdk/core';
2
2
  import type { CreateVoucherResultDto } from '@arcasdk/core/lib/application/dto/electronic-billing';
3
- import type { INextVoucher } from '@arcasdk/core/lib/domain/types/voucher.types';
3
+ import type { IVoucher } from '@arcasdk/core/lib/domain/types/voucher.types';
4
4
  import type { BillingGateway } from '../../modules/billing/billing.types.internal';
5
5
  export declare class ArcaBillingGateway implements BillingGateway {
6
6
  private readonly arca;
7
7
  constructor(arca: Arca);
8
- createNextVoucher(payload: INextVoucher): Promise<CreateVoucherResultDto>;
8
+ /**
9
+ * Primer paso de `createNextVoucher` del SDK: autentica en WSAA y pide el ultimo numero autorizado.
10
+ * Si falla, no se envio nada a ARCA. Como el SDK, sin comprobantes previos arranca en 1.
11
+ */
12
+ getNextVoucherNumber(pointOfSale: number, voucherType: number): Promise<number>;
13
+ /** Segundo paso: la llamada que emite. Si falla, ARCA pudo haber autorizado el comprobante igual. */
14
+ createVoucher(voucher: IVoucher): Promise<CreateVoucherResultDto>;
9
15
  getQuotation(currencyCode: string): Promise<number>;
10
16
  }
@@ -1,11 +1,26 @@
1
1
  import { AppError } from '../../lib/errors/app-error.js';
2
+ /** Tope de numeracion de ARCA; el SDK lo valida igual en `createNextVoucher`. */
3
+ const MAX_VOUCHER_NUMBER = 99_999_999;
2
4
  export class ArcaBillingGateway {
3
5
  arca;
4
6
  constructor(arca) {
5
7
  this.arca = arca;
6
8
  }
7
- async createNextVoucher(payload) {
8
- return this.arca.electronicBillingService.createNextVoucher(payload);
9
+ /**
10
+ * Primer paso de `createNextVoucher` del SDK: autentica en WSAA y pide el ultimo numero autorizado.
11
+ * Si falla, no se envio nada a ARCA. Como el SDK, sin comprobantes previos arranca en 1.
12
+ */
13
+ async getNextVoucherNumber(pointOfSale, voucherType) {
14
+ const lastVoucher = await this.arca.electronicBillingService.getLastVoucher(pointOfSale, voucherType);
15
+ const nextNumber = (lastVoucher.cbteNro || 0) + 1;
16
+ if (nextNumber > MAX_VOUCHER_NUMBER) {
17
+ throw new Error(`Numero de comprobante no puede ser mayor a ${MAX_VOUCHER_NUMBER}`);
18
+ }
19
+ return nextNumber;
20
+ }
21
+ /** Segundo paso: la llamada que emite. Si falla, ARCA pudo haber autorizado el comprobante igual. */
22
+ async createVoucher(voucher) {
23
+ return this.arca.electronicBillingService.createVoucher(voucher);
9
24
  }
10
25
  async getQuotation(currencyCode) {
11
26
  const result = await this.arca.electronicBillingService.getQuotation(currencyCode);
@@ -1 +1 @@
1
- {"version":3,"file":"arca-billing.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-billing.gateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,MAAM,OAAO,kBAAkB;IACO;IAApC,YAAoC,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,KAAK,CAAC,iBAAiB,CAAC,OAAqB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;QAEhD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,+CAA+C,YAAY,GAAG,EAAE;gBACjF,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"arca-billing.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-billing.gateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,iFAAiF;AACjF,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAEtC,MAAM,OAAO,kBAAkB;IACO;IAApC,YAAoC,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAElD;;;OAGG;IACI,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,WAAmB;QACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEtG,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,UAAU,GAAG,kBAAkB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8CAA8C,kBAAkB,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,qGAAqG;IAC9F,KAAK,CAAC,aAAa,CAAC,OAAiB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;QAEhD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,+CAA+C,YAAY,GAAG,EAAE;gBACjF,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { Arca } from '@arcasdk/core';
2
2
  import type { ResolvedArcaRuntime } from './arca-context.resolver';
3
3
  export declare class ArcaClientFactory {
4
- create(runtime: Pick<ResolvedArcaRuntime, 'context'>): Arca;
4
+ /** Todo cliente de ARCA sale de aca: con el certificado vencido se corta antes de pedir el ticket a WSAA. */
5
+ create(runtime: Pick<ResolvedArcaRuntime, 'certificateExpiry' | 'context'>): Arca;
5
6
  }
@@ -1,6 +1,11 @@
1
1
  import { Arca } from '@arcasdk/core';
2
+ import { CertificateExpiredError } from '../../modules/config/certificate-expiry.js';
2
3
  export class ArcaClientFactory {
4
+ /** Todo cliente de ARCA sale de aca: con el certificado vencido se corta antes de pedir el ticket a WSAA. */
3
5
  create(runtime) {
6
+ if (runtime.certificateExpiry?.expired) {
7
+ throw new CertificateExpiredError(runtime.certificateExpiry);
8
+ }
4
9
  return new Arca(runtime.context);
5
10
  }
6
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arca-client.factory.js","sourceRoot":"","sources":["../../../src/services/arca/arca-client.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIrC,MAAM,OAAO,iBAAiB;IACrB,MAAM,CAAC,OAA6C;QACzD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"arca-client.factory.js","sourceRoot":"","sources":["../../../src/services/arca/arca-client.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAIlF,MAAM,OAAO,iBAAiB;IAC5B,6GAA6G;IACtG,MAAM,CAAC,OAAmE;QAC/E,IAAI,OAAO,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,uBAAuB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -1,12 +1,22 @@
1
1
  import type { Context } from '@arcasdk/core';
2
2
  import type { GlobalCliOptions } from '../../cli/types';
3
+ import { type CertificateExpiryNotice } from '../../modules/config/certificate-expiry';
3
4
  import type { ArcliConfig, ArcliEnvironment } from '../../modules/config/config.schemas';
4
5
  import { ConfigService } from '../../modules/config/config.service';
5
6
  export interface ResolveArcaContextOptions {
6
7
  readonly configService?: ConfigService;
8
+ /** Reloj para el vencimiento del certificado; solo lo cambian los tests. */
9
+ readonly now?: Date;
7
10
  readonly options?: GlobalCliOptions;
8
11
  }
9
12
  export interface ResolvedArcaRuntime {
13
+ /**
14
+ * El del entorno activo, solo si vence en menos de 30 dias o ya vencio: vencido, corta antes de ir a ARCA. Se
15
+ * calcula con el PEM ya leido para el contexto, sin red.
16
+ */
17
+ readonly certificateExpiry?: CertificateExpiryNotice;
18
+ /** Los avisos de todos los certificados configurados, el del entorno activo primero: los que se muestran. */
19
+ readonly certificateNotices: readonly CertificateExpiryNotice[];
10
20
  readonly config: ArcliConfig;
11
21
  readonly context: Context;
12
22
  readonly environment: ArcliEnvironment;
@@ -26,6 +36,7 @@ export interface ArcaRuntimeValidation {
26
36
  }
27
37
  export declare class ArcaContextResolver {
28
38
  private readonly configService?;
39
+ private readonly now?;
29
40
  private readonly options;
30
41
  constructor(options?: ResolveArcaContextOptions);
31
42
  resolve(): ResolvedArcaRuntime;
@@ -1,19 +1,32 @@
1
+ import { dirname } from 'node:path';
1
2
  import { ConfigurationError } from '../../lib/errors/app-error.js';
3
+ import { restrictFolderToOwner } from '../../lib/files/restrict-to-owner.js';
2
4
  import { ensurePathExists, readPemFile } from '../../lib/security/pem.js';
5
+ import { inspectConfiguredCertificates } from '../../modules/config/certificate-expiry.js';
3
6
  import { ConfigService } from '../../modules/config/config.service.js';
4
7
  export class ArcaContextResolver {
5
8
  configService;
9
+ now;
6
10
  options;
7
11
  constructor(options = {}) {
8
12
  this.configService = options.configService;
13
+ this.now = options.now;
9
14
  this.options = options.options ?? {};
10
15
  }
11
16
  resolve() {
12
17
  const validation = this.validate();
18
+ const cert = this.readRequiredFile(validation.certPath, 'certificado');
19
+ const certificateNotices = inspectConfiguredCertificates(validation.config.cert, {
20
+ activeEnvironment: validation.environment,
21
+ activePem: cert,
22
+ now: this.now,
23
+ });
13
24
  return {
25
+ certificateExpiry: certificateNotices.find((notice) => notice.environment === validation.environment),
26
+ certificateNotices,
14
27
  config: validation.config,
15
28
  context: {
16
- cert: this.readRequiredFile(validation.certPath, 'certificado'),
29
+ cert,
17
30
  cuit: validation.cuit,
18
31
  key: this.readRequiredFile(validation.keyPath, 'clave privada'),
19
32
  production: validation.environment === 'produccion',
@@ -38,6 +51,9 @@ export class ArcaContextResolver {
38
51
  const outputJson = this.resolveOutputJson(config);
39
52
  const outputRaw = this.resolveOutputRaw(config);
40
53
  const ticketPath = service.resolveTicketPath(config);
54
+ // Los tickets dan acceso a ARCA como este CUIT por unas horas: carpetas de versiones viejas pasan a 0700.
55
+ restrictFolderToOwner(dirname(service.getPath()));
56
+ restrictFolderToOwner(ticketPath);
41
57
  this.ensurePathExists(certPath, 'certificado');
42
58
  this.ensurePathExists(keyPath, 'clave privada');
43
59
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"arca-context.resolver.js","sourceRoot":"","sources":["../../../src/services/arca/arca-context.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arca-context.resolver.js","sourceRoot":"","sources":["../../../src/services/arca/arca-context.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Arca } from '@arcasdk/core';
2
+ import { type PadronGateway, type Taxpayer } from '../../modules/padron/padron';
3
+ /** Arma un `Taxpayer` con la respuesta de `getTaxpayerDetails`. */
4
+ export declare function mapTaxpayerDetails(cuit: number, raw: unknown): Taxpayer;
5
+ export declare class ArcaPadronGateway implements PadronGateway {
6
+ private readonly arca;
7
+ constructor(arca: Arca);
8
+ getTaxpayer(cuit: number): Promise<Taxpayer | null>;
9
+ }