arcli 1.8.0 → 2.0.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 (161) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/README.md +2 -2
  3. package/dist/cli/commands/billing.command.options.js +17 -15
  4. package/dist/cli/commands/billing.command.options.js.map +1 -1
  5. package/dist/cli/commands/billing.command.parser.js +57 -28
  6. package/dist/cli/commands/billing.command.parser.js.map +1 -1
  7. package/dist/cli/commands/billing.command.pdf.d.ts +1 -1
  8. package/dist/cli/commands/billing.command.pdf.js +17 -2
  9. package/dist/cli/commands/billing.command.pdf.js.map +1 -1
  10. package/dist/cli/commands/config.command.js +4 -2
  11. package/dist/cli/commands/config.command.js.map +1 -1
  12. package/dist/cli/commands/vouchers.command.js +4 -4
  13. package/dist/cli/commands/vouchers.command.js.map +1 -1
  14. package/dist/cli/error-output.d.ts +7 -0
  15. package/dist/cli/error-output.js +26 -0
  16. package/dist/cli/error-output.js.map +1 -0
  17. package/dist/cli/help-argv.d.ts +5 -0
  18. package/dist/cli/help-argv.js +21 -0
  19. package/dist/cli/help-argv.js.map +1 -0
  20. package/dist/cli/help.js +3 -2
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/index.js +14 -20
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/interactive/advanced-options.js +2 -2
  25. package/dist/cli/interactive/advanced-options.js.map +1 -1
  26. package/dist/cli/interactive/interactive-mode.js +76 -8
  27. package/dist/cli/interactive/interactive-mode.js.map +1 -1
  28. package/dist/cli/interactive/invoice-picker.js +3 -2
  29. package/dist/cli/interactive/invoice-picker.js.map +1 -1
  30. package/dist/cli/interactive/note.flow.d.ts +2 -0
  31. package/dist/cli/interactive/note.flow.js +21 -8
  32. package/dist/cli/interactive/note.flow.js.map +1 -1
  33. package/dist/cli/interactive/pdf.flow.js +33 -22
  34. package/dist/cli/interactive/pdf.flow.js.map +1 -1
  35. package/dist/cli/interactive/prompts.d.ts +3 -1
  36. package/dist/cli/interactive/prompts.js +8 -4
  37. package/dist/cli/interactive/prompts.js.map +1 -1
  38. package/dist/cli/interactive/repeat.flow.js +22 -7
  39. package/dist/cli/interactive/repeat.flow.js.map +1 -1
  40. package/dist/cli/interactive/update.flow.d.ts +6 -0
  41. package/dist/cli/interactive/update.flow.js +26 -0
  42. package/dist/cli/interactive/update.flow.js.map +1 -0
  43. package/dist/cli/interactive/validators.js +8 -4
  44. package/dist/cli/interactive/validators.js.map +1 -1
  45. package/dist/cli/option-parsers.d.ts +6 -0
  46. package/dist/cli/option-parsers.js +34 -0
  47. package/dist/cli/option-parsers.js.map +1 -0
  48. package/dist/cli/version.d.ts +1 -1
  49. package/dist/cli/version.js +1 -1
  50. package/dist/lib/dates/arca-date.d.ts +13 -0
  51. package/dist/lib/dates/arca-date.js +28 -11
  52. package/dist/lib/dates/arca-date.js.map +1 -1
  53. package/dist/lib/errors/app-error.d.ts +3 -0
  54. package/dist/lib/errors/app-error.js +3 -0
  55. package/dist/lib/errors/app-error.js.map +1 -1
  56. package/dist/lib/files/restrict-to-owner.d.ts +7 -0
  57. package/dist/lib/files/restrict-to-owner.js +19 -0
  58. package/dist/lib/files/restrict-to-owner.js.map +1 -0
  59. package/dist/lib/identity/format-cuit.d.ts +2 -0
  60. package/dist/lib/identity/format-cuit.js +6 -0
  61. package/dist/lib/identity/format-cuit.js.map +1 -0
  62. package/dist/lib/numbers/argentine-amount.d.ts +23 -0
  63. package/dist/lib/numbers/argentine-amount.js +37 -0
  64. package/dist/lib/numbers/argentine-amount.js.map +1 -0
  65. package/dist/lib/numbers/strict-integer.d.ts +4 -0
  66. package/dist/lib/numbers/strict-integer.js +10 -0
  67. package/dist/lib/numbers/strict-integer.js.map +1 -0
  68. package/dist/lib/security/pem.js +5 -1
  69. package/dist/lib/security/pem.js.map +1 -1
  70. package/dist/modules/billing/billing-response.js +3 -2
  71. package/dist/modules/billing/billing-response.js.map +1 -1
  72. package/dist/modules/billing/billing.amounts.d.ts +2 -0
  73. package/dist/modules/billing/billing.amounts.js +6 -3
  74. package/dist/modules/billing/billing.amounts.js.map +1 -1
  75. package/dist/modules/billing/billing.associated-vouchers.js +14 -3
  76. package/dist/modules/billing/billing.associated-vouchers.js.map +1 -1
  77. package/dist/modules/billing/billing.batch.js +6 -0
  78. package/dist/modules/billing/billing.batch.js.map +1 -1
  79. package/dist/modules/billing/billing.date-range.js +14 -9
  80. package/dist/modules/billing/billing.date-range.js.map +1 -1
  81. package/dist/modules/billing/billing.display.js +4 -4
  82. package/dist/modules/billing/billing.display.js.map +1 -1
  83. package/dist/modules/billing/billing.errors.d.ts +12 -0
  84. package/dist/modules/billing/billing.errors.js +18 -0
  85. package/dist/modules/billing/billing.errors.js.map +1 -0
  86. package/dist/modules/billing/billing.schemas.js +13 -5
  87. package/dist/modules/billing/billing.schemas.js.map +1 -1
  88. package/dist/modules/billing/billing.service.js +10 -3
  89. package/dist/modules/billing/billing.service.js.map +1 -1
  90. package/dist/modules/billing/billing.validation.js +4 -0
  91. package/dist/modules/billing/billing.validation.js.map +1 -1
  92. package/dist/modules/config/config-value-parser.js +12 -10
  93. package/dist/modules/config/config-value-parser.js.map +1 -1
  94. package/dist/modules/config/config.schemas.d.ts +2 -2
  95. package/dist/modules/config/config.service.d.ts +5 -0
  96. package/dist/modules/config/config.service.js +29 -6
  97. package/dist/modules/config/config.service.js.map +1 -1
  98. package/dist/modules/examples/examples.js +5 -1
  99. package/dist/modules/examples/examples.js.map +1 -1
  100. package/dist/modules/interactive/amount-input.d.ts +3 -5
  101. package/dist/modules/interactive/amount-input.js +9 -26
  102. package/dist/modules/interactive/amount-input.js.map +1 -1
  103. package/dist/modules/interactive/config-fields.js +2 -1
  104. package/dist/modules/interactive/config-fields.js.map +1 -1
  105. package/dist/modules/interactive/equivalent-command.js +6 -8
  106. package/dist/modules/interactive/equivalent-command.js.map +1 -1
  107. package/dist/modules/interactive/invoice-copy.d.ts +19 -0
  108. package/dist/modules/interactive/invoice-copy.js +26 -0
  109. package/dist/modules/interactive/invoice-copy.js.map +1 -0
  110. package/dist/modules/interactive/periods.d.ts +2 -2
  111. package/dist/modules/interactive/periods.js +8 -4
  112. package/dist/modules/interactive/periods.js.map +1 -1
  113. package/dist/modules/parameters/health.d.ts +17 -0
  114. package/dist/modules/parameters/health.js +29 -0
  115. package/dist/modules/parameters/health.js.map +1 -0
  116. package/dist/modules/pdf/pdf.errors.d.ts +0 -1
  117. package/dist/modules/pdf/pdf.errors.js +1 -3
  118. package/dist/modules/pdf/pdf.errors.js.map +1 -1
  119. package/dist/modules/storybook/showcase.js +4 -1
  120. package/dist/modules/storybook/showcase.js.map +1 -1
  121. package/dist/modules/update-check/changelog.d.ts +23 -0
  122. package/dist/modules/update-check/changelog.js +99 -0
  123. package/dist/modules/update-check/changelog.js.map +1 -0
  124. package/dist/modules/update-check/update-check.presenter.d.ts +4 -0
  125. package/dist/modules/update-check/update-check.presenter.js +80 -2
  126. package/dist/modules/update-check/update-check.presenter.js.map +1 -1
  127. package/dist/modules/update-check/update-check.service.d.ts +3 -0
  128. package/dist/modules/update-check/update-check.service.js +2 -2
  129. package/dist/modules/update-check/update-check.service.js.map +1 -1
  130. package/dist/modules/vouchers/voucher-history.presenter.d.ts +3 -3
  131. package/dist/modules/vouchers/voucher-history.presenter.js +27 -7
  132. package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -1
  133. package/dist/services/arca/arca-context.resolver.js +5 -0
  134. package/dist/services/arca/arca-context.resolver.js.map +1 -1
  135. package/dist/services/clipboard/clipboard.d.ts +2 -0
  136. package/dist/services/clipboard/clipboard.js +17 -0
  137. package/dist/services/clipboard/clipboard.js.map +1 -0
  138. package/dist/services/pdf/escape-html.d.ts +6 -0
  139. package/dist/services/pdf/escape-html.js +25 -0
  140. package/dist/services/pdf/escape-html.js.map +1 -0
  141. package/dist/services/pdf/pdf-exporter.js +2 -1
  142. package/dist/services/pdf/pdf-exporter.js.map +1 -1
  143. package/dist/ui/components/statusBar.d.ts +15 -4
  144. package/dist/ui/components/statusBar.js +16 -11
  145. package/dist/ui/components/statusBar.js.map +1 -1
  146. package/dist/ui/presenters/errors.presenter.js +5 -4
  147. package/dist/ui/presenters/errors.presenter.js.map +1 -1
  148. package/dist/ui/primitives/renderLogo.d.ts +2 -1
  149. package/dist/ui/primitives/renderLogo.js +21 -4
  150. package/dist/ui/primitives/renderLogo.js.map +1 -1
  151. package/dist/ui/primitives/renderPanel.d.ts +2 -0
  152. package/dist/ui/primitives/renderPanel.js +15 -5
  153. package/dist/ui/primitives/renderPanel.js.map +1 -1
  154. package/dist/ui/stream/terminal-stream.d.ts +6 -0
  155. package/dist/ui/stream/terminal-stream.js +15 -1
  156. package/dist/ui/stream/terminal-stream.js.map +1 -1
  157. package/dist/ui/theme/theme.d.ts +3 -3
  158. package/dist/ui/theme/theme.js +14 -3
  159. package/dist/ui/theme/theme.js.map +1 -1
  160. package/llms.txt +10 -8
  161. package/package.json +1 -1
@@ -2,9 +2,10 @@ import { ConfigService } from '../../modules/config/config.service.js';
2
2
  import { parseConfigValue } from '../../modules/config/config-value-parser.js';
3
3
  import { canHavePdf, resolvePdfDecision } from '../../modules/pdf/pdf-decision.js';
4
4
  import { listMissingIssuerKeys } from '../../modules/pdf/pdf-issuer.js';
5
+ import { noticePanel, writeTerminalOutput } from '../../ui/index.js';
5
6
  import { writePdfOutcomes } from '../commands/billing.command.output.js';
6
7
  import { attachPdfs } from '../commands/billing.command.pdf.js';
7
- import { askText, confirm } from './prompts.js';
8
+ import { askText, confirm, isPromptCancellation } from './prompts.js';
8
9
  const ISSUER_QUESTIONS = {
9
10
  cuit: 'CUIT del emisor',
10
11
  'emisor.domicilio': 'Domicilio comercial del emisor',
@@ -63,27 +64,37 @@ export async function offerPdf(config, input, result) {
63
64
  if (decision === 'omitir') {
64
65
  return;
65
66
  }
66
- if (decision === 'preguntar' && !(await confirm('¿Generamos el PDF del comprobante?', 'Si, generar el PDF', 'No'))) {
67
- return;
67
+ // Ya se emitio: un Ctrl+C aca no puede terminar en "No se emitio nada".
68
+ try {
69
+ if (decision === 'preguntar' &&
70
+ !(await confirm('¿Generamos el PDF del comprobante?', 'Si, generar el PDF', 'No'))) {
71
+ return;
72
+ }
73
+ const description = await askText('Descripcion del comprobante (Enter para "Segun detalle")');
74
+ const receiverName = await askText('Nombre o razon social del receptor (Enter para omitir)');
75
+ const receiverAddress = await askText('Domicilio del receptor (Enter para omitir)');
76
+ const completedConfig = await completeIssuer(config);
77
+ const withPdf = await attachPdfs({
78
+ config: completedConfig,
79
+ inputs: [
80
+ {
81
+ ...input,
82
+ pdf: true,
83
+ pdfDescription: description || undefined,
84
+ receiverAddress: receiverAddress || undefined,
85
+ receiverName: receiverName || undefined,
86
+ },
87
+ ],
88
+ interactive: true,
89
+ results: [result],
90
+ });
91
+ writePdfOutcomes([result], withPdf);
92
+ }
93
+ catch (error) {
94
+ if (!isPromptCancellation(error)) {
95
+ throw error;
96
+ }
97
+ writeTerminalOutput(noticePanel('El comprobante ya quedo emitido; no se genero el PDF.', 'muted'));
68
98
  }
69
- const description = await askText('Descripcion del comprobante (Enter para "Segun detalle")');
70
- const receiverName = await askText('Nombre o razon social del receptor (Enter para omitir)');
71
- const receiverAddress = await askText('Domicilio del receptor (Enter para omitir)');
72
- const completedConfig = await completeIssuer(config);
73
- const withPdf = await attachPdfs({
74
- config: completedConfig,
75
- inputs: [
76
- {
77
- ...input,
78
- pdf: true,
79
- pdfDescription: description || undefined,
80
- receiverAddress: receiverAddress || undefined,
81
- receiverName: receiverName || undefined,
82
- },
83
- ],
84
- interactive: true,
85
- results: [result],
86
- });
87
- writePdfOutcomes([result], withPdf);
88
99
  }
89
100
  //# sourceMappingURL=pdf.flow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/pdf.flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/pdf.flow.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,11 @@ export interface Choice<T> {
9
9
  }
10
10
  /**
11
11
  * Una lista simple. Con `escapeValue`, Esc la cierra devolviendo ese valor (por ejemplo, "volver", "no" o
12
- * "salir") y la ayuda de teclas lo muestra con `escapeLabel`; sin el, Esc no hace nada.
12
+ * "salir") y la ayuda de teclas lo muestra con `escapeLabel`; sin el, Esc no hace nada. Con `compactTop`, una
13
+ * sola linea en blanco arriba en lugar de dos.
13
14
  */
14
15
  export declare function chooseOne<T>(message: string, choices: ReadonlyArray<Choice<T> | Separator>, defaultValue?: T, options?: {
16
+ readonly compactTop?: boolean;
15
17
  readonly escapeLabel?: string;
16
18
  readonly escapeValue?: T;
17
19
  }): Promise<T>;
@@ -24,6 +24,8 @@ function keysHelpTip(extra) {
24
24
  * @inquirer la redibuja con el prefijo "done", sin esas lineas, y las respuestas quedan juntas.
25
25
  */
26
26
  const PROMPT_PREFIX = { idle: `\n\n${styleText('blue', '?')}` };
27
+ /** Una sola linea arriba: para una pregunta que ya tiene una linea en blanco fija antes, como el menu bajo la barra. */
28
+ const COMPACT_PROMPT_PREFIX = { idle: `\n${styleText('blue', '?')}` };
27
29
  /**
28
30
  * En las listas, mientras la pregunta esta activa, una linea en blanco entre la pregunta y las opciones, y otra
29
31
  * entre la descripcion de la opcion marcada y la ayuda de teclas.
@@ -40,10 +42,12 @@ const STEP_THEME = { prefix: PROMPT_PREFIX, style: listStyle([['esc', 'volver']]
40
42
  const TEXT_THEME = { prefix: PROMPT_PREFIX };
41
43
  /**
42
44
  * Una lista simple. Con `escapeValue`, Esc la cierra devolviendo ese valor (por ejemplo, "volver", "no" o
43
- * "salir") y la ayuda de teclas lo muestra con `escapeLabel`; sin el, Esc no hace nada.
45
+ * "salir") y la ayuda de teclas lo muestra con `escapeLabel`; sin el, Esc no hace nada. Con `compactTop`, una
46
+ * sola linea en blanco arriba en lugar de dos.
44
47
  */
45
48
  export async function chooseOne(message, choices, defaultValue, options = {}) {
46
- const { escapeLabel = 'volver', escapeValue } = options;
49
+ const { compactTop = false, escapeLabel = 'volver', escapeValue } = options;
50
+ const prefix = compactTop ? COMPACT_PROMPT_PREFIX : PROMPT_PREFIX;
47
51
  const config = {
48
52
  choices: [...choices],
49
53
  default: defaultValue,
@@ -51,8 +55,8 @@ export async function chooseOne(message, choices, defaultValue, options = {}) {
51
55
  message,
52
56
  pageSize: 12,
53
57
  theme: escapeValue === undefined
54
- ? MENU_THEME
55
- : { prefix: PROMPT_PREFIX, style: listStyle([['esc', escapeLabel]]) },
58
+ ? { ...MENU_THEME, prefix }
59
+ : { prefix, style: listStyle([['esc', escapeLabel]]) },
56
60
  };
57
61
  if (escapeValue === undefined) {
58
62
  return select(config);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/interactive/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/interactive/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { formatMoneyLabel } from '../../modules/billing/billing.labels.js';
2
2
  import { parseAmountInput } from '../../modules/interactive/amount-input.js';
3
3
  import { invoiceKindChoices, ivaConditionChoices } from '../../modules/interactive/choices.js';
4
+ import { copyInvoiceAmounts } from '../../modules/interactive/invoice-copy.js';
4
5
  import { currentMonthPeriod, previousMonthPeriod } from '../../modules/interactive/periods.js';
5
6
  import { BACK, runWizard } from '../../modules/interactive/wizard.js';
6
- import { inferIvaRate, resolveDocumentType } from '../../modules/vouchers/voucher-history.js';
7
+ import { resolveDocumentType } from '../../modules/vouchers/voucher-history.js';
7
8
  import { noticePanel, writeTerminalOutput } from '../../ui/index.js';
8
9
  import { askAdvancedOptions } from './advanced-options.js';
9
10
  import { buildInvoiceInput } from './invoice.flow.js';
@@ -48,11 +49,17 @@ export function repeatSteps(session, pointOfSale, today = new Date()) {
48
49
  writeTerminalOutput(noticePanel('La factura tiene un tipo de documento que el asistente no soporta. Usa los flags del CLI.', 'warning'));
49
50
  return BACK;
50
51
  }
52
+ const copy = copyInvoiceAmounts(original, voucherKind.letter);
53
+ if (copy.limitation) {
54
+ writeTerminalOutput(noticePanel(`${copy.limitation} Revisa la alicuota y el monto antes de emitir.`, 'warning'));
55
+ }
51
56
  return {
52
57
  advanced: {
53
58
  currencyCode: 'ARS',
54
- ivaRate: voucherKind.letter === 'c' ? undefined : inferIvaRate(original.netAmount, original.ivaAmount),
59
+ exemptAmount: copy.exemptAmount,
60
+ ivaRate: copy.ivaRate,
55
61
  sameCurrency: false,
62
+ untaxedAmount: copy.untaxedAmount,
56
63
  },
57
64
  concept: CONCEPTS_BY_CODE[original.concept ?? 2] ?? 'servicios',
58
65
  documentNumber: documentType === 'consumidor-final' ? undefined : original.documentNumber,
@@ -76,10 +83,14 @@ export function repeatSteps(session, pointOfSale, today = new Date()) {
76
83
  name: 'monto',
77
84
  run: async (state) => {
78
85
  const original = state.original;
79
- const scope = await chooseStep('¿Mismo monto?', [
80
- { name: `Si, ${formatMoneyLabel(original.total)}`, value: 'mismo' },
81
- { name: 'No, ingresar otro monto', value: 'otro' },
82
- ]);
86
+ // Si no se puede reproducir (varias alicuotas, tributos), "mismo monto" no daria la misma factura.
87
+ const reproducible = !copyInvoiceAmounts(original, state.voucherKind?.letter ?? 'c').limitation;
88
+ const scope = reproducible
89
+ ? await chooseStep('¿Mismo monto?', [
90
+ { name: `Si, ${formatMoneyLabel(original.total)}`, value: 'mismo' },
91
+ { name: 'No, ingresar otro monto', value: 'otro' },
92
+ ])
93
+ : 'otro';
83
94
  if (scope === BACK || scope === 'mismo') {
84
95
  return scope === BACK ? BACK : { totalAmount: original.total };
85
96
  }
@@ -136,7 +147,11 @@ export function repeatSteps(session, pointOfSale, today = new Date()) {
136
147
  const advanced = await askAdvancedOptions(state.advanced, {
137
148
  concept: state.concept ?? 'servicios',
138
149
  defaultIvaRate: state.advanced.ivaRate ?? config.alicuotaPorDefecto ?? '21',
139
- preselected: foreign ? ['divisas'] : [],
150
+ // Sin alicuota deducida de la factura, que la elija en lugar de caer en la de la config.
151
+ preselected: [
152
+ ...(foreign ? ['divisas'] : []),
153
+ ...(!state.advanced.ivaRate && state.voucherKind?.letter !== 'c' ? ['alicuota'] : []),
154
+ ],
140
155
  voucherKind: state.voucherKind,
141
156
  });
142
157
  return advanced === BACK ? BACK : { advanced };
@@ -1 +1 @@
1
- {"version":3,"file":"repeat.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/repeat.flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repeat.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/repeat.flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { UpdateCheckResult } from '../../modules/update-check/update-check.service';
2
+ /**
3
+ * Muestra la version nueva y sus novedades. Con "Cerrar para actualizar" copia el comando al portapapeles y
4
+ * devuelve `true` para que el modo interactivo termine: arcli no se puede reemplazar a si mismo mientras corre.
5
+ */
6
+ export declare function runUpdateFlow(update: UpdateCheckResult): Promise<boolean>;
@@ -0,0 +1,26 @@
1
+ import { BACK } from '../../modules/interactive/wizard.js';
2
+ import { extractChangelog, fetchChangelog } from '../../modules/update-check/changelog.js';
3
+ import { renderUpdateDetails, UPDATE_COMMAND } from '../../modules/update-check/update-check.presenter.js';
4
+ import { copyToClipboard } from '../../services/clipboard/clipboard.js';
5
+ import { noticePanel, writeTerminalOutput } from '../../ui/index.js';
6
+ import { startSpinner } from '../spinner.js';
7
+ import { chooseStep } from './prompts.js';
8
+ /**
9
+ * Muestra la version nueva y sus novedades. Con "Cerrar para actualizar" copia el comando al portapapeles y
10
+ * devuelve `true` para que el modo interactivo termine: arcli no se puede reemplazar a si mismo mientras corre.
11
+ */
12
+ export async function runUpdateFlow(update) {
13
+ const spinner = startSpinner('Buscando las novedades...');
14
+ const markdown = await fetchChangelog(update.latestVersion);
15
+ spinner?.stop();
16
+ writeTerminalOutput(renderUpdateDetails(update, markdown === undefined ? undefined : extractChangelog(markdown, update.currentVersion, update.latestVersion)));
17
+ // "← Volver" (o Esc) lo agrega chooseStep, igual que en el resto de los menus.
18
+ if ((await chooseStep('¿Actualizamos?', [{ name: 'Cerrar para actualizar', value: 'cerrar' }])) === BACK) {
19
+ return false;
20
+ }
21
+ writeTerminalOutput(copyToClipboard(UPDATE_COMMAND)
22
+ ? noticePanel(`Comando copiado. Pegalo en la terminal y apreta Enter:\n${UPDATE_COMMAND}`, 'success')
23
+ : noticePanel(`No se pudo copiar el comando. Ejecutalo en la terminal:\n${UPDATE_COMMAND}`, 'warning'));
24
+ return true;
25
+ }
26
+ //# sourceMappingURL=update.flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/update.flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAExG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAyB;IAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE5D,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,mBAAmB,CACjB,mBAAmB,CACjB,MAAM,EACN,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAC7G,CACF,CAAC;IAEF,+EAA+E;IAC/E,IAAI,CAAC,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB,CACjB,eAAe,CAAC,cAAc,CAAC;QAC7B,CAAC,CAAC,WAAW,CAAC,2DAA2D,cAAc,EAAE,EAAE,SAAS,CAAC;QACrG,CAAC,CAAC,WAAW,CAAC,4DAA4D,cAAc,EAAE,EAAE,SAAS,CAAC,CACzG,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { parseArgentineDateInputAsArcaDate } from '../../lib/dates/arca-date.js';
2
- import { parseAmountInput } from '../../modules/interactive/amount-input.js';
2
+ import { EXCHANGE_RATE_DECIMALS, parseArgentineAmount } from '../../lib/numbers/argentine-amount.js';
3
3
  export function validateAmount(value) {
4
- return parseAmountInput(value) ? true : 'Ingresa un monto mayor a 0, por ejemplo 150000 o 1500,50.';
4
+ const result = parseArgentineAmount(value);
5
+ return result.ok ? true : `Monto invalido: ${result.reason}. Por ejemplo 150000, 150.000 o 1.500,50.`;
5
6
  }
6
7
  export function validateCuit(value) {
7
8
  return /^\d{11}$/.test(value.replace(/-/g, '')) ? true : 'El CUIT tiene 11 digitos.';
@@ -29,7 +30,10 @@ export function validateOptionalAmount(value) {
29
30
  return value.trim() === '' ? true : validateAmount(value);
30
31
  }
31
32
  export function validateExchangeRate(value) {
32
- const rate = parseAmountInput(value);
33
- return rate && rate !== 1 ? true : 'Ingresa la cotizacion acordada, por ejemplo 1200 o 1185,50.';
33
+ const result = parseArgentineAmount(value, { maxDecimals: EXCHANGE_RATE_DECIMALS });
34
+ if (!result.ok) {
35
+ return `Cotizacion invalida: ${result.reason}. Por ejemplo 1200 o 1.185,50.`;
36
+ }
37
+ return result.value !== 1 ? true : 'Ingresa la cotizacion acordada, por ejemplo 1200 o 1.185,50.';
34
38
  }
35
39
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/cli/interactive/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2DAA2D,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,iCAAiC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,sEAAsE,CAAC;IAChF,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/cli/interactive/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAElG,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,MAAM,2CAA2C,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,iCAAiC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,sEAAsE,CAAC;IAChF,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAEpF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,wBAAwB,MAAM,CAAC,MAAM,gCAAgC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8DAA8D,CAAC;AACpG,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** Montos como en Argentina: punto para miles y coma para decimales. */
2
+ export declare function amountOption(flag: string, maxDecimals?: number): (value: string) => number;
3
+ /** Entero solo con digitos: `--pv 3a` es un error, no un 3. */
4
+ export declare function integerOption(flag: string): (value: string) => number;
5
+ /** CUIT, CUIL o DNI: acepta guiones y puntos (`20-11111111-2`). */
6
+ export declare function documentNumberOption(flag: string): (value: string) => number;
@@ -0,0 +1,34 @@
1
+ import { InputValidationError } from '../lib/errors/app-error.js';
2
+ import { parseArgentineAmount } from '../lib/numbers/argentine-amount.js';
3
+ import { parseDocumentNumber, parseStrictInteger } from '../lib/numbers/strict-integer.js';
4
+ /** Montos como en Argentina: punto para miles y coma para decimales. */
5
+ export function amountOption(flag, maxDecimals) {
6
+ return (value) => {
7
+ const result = parseArgentineAmount(value, { maxDecimals });
8
+ if (!result.ok) {
9
+ throw new InputValidationError(`${flag} "${value}" no es valido: ${result.reason}.`);
10
+ }
11
+ return result.value;
12
+ };
13
+ }
14
+ /** Entero solo con digitos: `--pv 3a` es un error, no un 3. */
15
+ export function integerOption(flag) {
16
+ return (value) => {
17
+ const parsed = parseStrictInteger(value);
18
+ if (parsed === undefined) {
19
+ throw new InputValidationError(`${flag} "${value}" no es valido: tiene que ser un numero entero.`);
20
+ }
21
+ return parsed;
22
+ };
23
+ }
24
+ /** CUIT, CUIL o DNI: acepta guiones y puntos (`20-11111111-2`). */
25
+ export function documentNumberOption(flag) {
26
+ return (value) => {
27
+ const parsed = parseDocumentNumber(value);
28
+ if (parsed === undefined) {
29
+ throw new InputValidationError(`${flag} "${value}" no es valido: use solo numeros, con o sin guiones.`);
30
+ }
31
+ return parsed;
32
+ };
33
+ }
34
+ //# sourceMappingURL=option-parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-parsers.js","sourceRoot":"","sources":["../../src/cli/option-parsers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExF,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,WAAoB;IAC7D,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAAC,GAAG,IAAI,KAAK,KAAK,mBAAmB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAoB,CAAC,GAAG,IAAI,KAAK,KAAK,iDAAiD,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAoB,CAAC,GAAG,IAAI,KAAK,KAAK,sDAAsD,CAAC,CAAC;QAC1G,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- export declare const CLI_VERSION = "1.8.0";
1
+ export declare const CLI_VERSION = "2.0.0";
@@ -1,2 +1,2 @@
1
- export const CLI_VERSION = '1.8.0';
1
+ export const CLI_VERSION = '2.0.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1,3 +1,16 @@
1
+ export interface CalendarDate {
2
+ readonly day: number;
3
+ /** 1 a 12. */
4
+ readonly month: number;
5
+ readonly year: number;
6
+ }
7
+ /**
8
+ * Dia calendario en Argentina de un instante. ARCA trabaja con la fecha argentina: en un servidor con TZ=UTC,
9
+ * despues de las 21 hs la fecha local ya es la del dia siguiente.
10
+ */
11
+ export declare function toArgentineCalendarDate(value: Date): CalendarDate;
12
+ export declare function calendarDateToArcaDate(value: CalendarDate): string;
13
+ /** Fecha ARCA (yyyymmdd) del dia en Argentina en ese instante. */
1
14
  export declare function formatDateAsArcaDate(value: Date): string;
2
15
  /** Dias entre dos fechas ARCA (yyyymmdd): positivo si `to` es posterior a `from`. */
3
16
  export declare function diffArcaDatesInDays(from: string, to: string): number;
@@ -1,11 +1,25 @@
1
1
  import { InputValidationError } from '../errors/app-error.js';
2
2
  const ARGENTINE_DATE_FORMAT_HINT = 'Use D, DD, D-MM, D/MM, D-MM-YY, D/MM/YY, D-MM-YYYY o D/MM/YYYY.';
3
- // Usa la fecha local: con toISOString, despues de las 21 hs en Argentina la fecha saltaba al dia siguiente.
3
+ const ARGENTINE_DATE_PARTS = new Intl.DateTimeFormat('en-CA', {
4
+ day: '2-digit',
5
+ month: '2-digit',
6
+ timeZone: 'America/Argentina/Buenos_Aires',
7
+ year: 'numeric',
8
+ });
9
+ /**
10
+ * Dia calendario en Argentina de un instante. ARCA trabaja con la fecha argentina: en un servidor con TZ=UTC,
11
+ * despues de las 21 hs la fecha local ya es la del dia siguiente.
12
+ */
13
+ export function toArgentineCalendarDate(value) {
14
+ const parts = Object.fromEntries(ARGENTINE_DATE_PARTS.formatToParts(value).map((part) => [part.type, part.value]));
15
+ return { day: Number(parts.day), month: Number(parts.month), year: Number(parts.year) };
16
+ }
17
+ export function calendarDateToArcaDate(value) {
18
+ return `${value.year}${String(value.month).padStart(2, '0')}${String(value.day).padStart(2, '0')}`;
19
+ }
20
+ /** Fecha ARCA (yyyymmdd) del dia en Argentina en ese instante. */
4
21
  export function formatDateAsArcaDate(value) {
5
- const year = String(value.getFullYear());
6
- const month = String(value.getMonth() + 1).padStart(2, '0');
7
- const day = String(value.getDate()).padStart(2, '0');
8
- return `${year}${month}${day}`;
22
+ return calendarDateToArcaDate(toArgentineCalendarDate(value));
9
23
  }
10
24
  function arcaDateToUtcTime(value) {
11
25
  return Date.UTC(Number(value.slice(0, 4)), Number(value.slice(4, 6)) - 1, Number(value.slice(6, 8)));
@@ -27,18 +41,21 @@ export function parseArgentineDateInputAsArcaDate(value, referenceDate = new Dat
27
41
  throw new InputValidationError(`La fecha "${value}" no es valida. ${ARGENTINE_DATE_FORMAT_HINT}`);
28
42
  }
29
43
  const [, rawDay, , rawMonth, explicitYear] = dateMatch;
44
+ const today = toArgentineCalendarDate(referenceDate);
30
45
  const day = rawDay.padStart(2, '0');
31
- const month = (rawMonth ?? String(referenceDate.getMonth() + 1)).padStart(2, '0');
32
- const year = resolveYear(explicitYear, referenceDate);
33
- const date = new Date(Number(year), Number(month) - 1, Number(day));
34
- if (date.getFullYear() !== Number(year) || date.getMonth() !== Number(month) - 1 || date.getDate() !== Number(day)) {
46
+ const month = (rawMonth ?? String(today.month)).padStart(2, '0');
47
+ const year = resolveYear(explicitYear, today);
48
+ const date = new Date(Date.UTC(Number(year), Number(month) - 1, Number(day)));
49
+ if (date.getUTCFullYear() !== Number(year) ||
50
+ date.getUTCMonth() !== Number(month) - 1 ||
51
+ date.getUTCDate() !== Number(day)) {
35
52
  throw new InputValidationError(`La fecha "${value}" no es valida.`);
36
53
  }
37
54
  return `${year}${month}${day}`;
38
55
  }
39
- function resolveYear(explicitYear, referenceDate) {
56
+ function resolveYear(explicitYear, today) {
40
57
  if (!explicitYear) {
41
- return String(referenceDate.getFullYear());
58
+ return String(today.year);
42
59
  }
43
60
  return explicitYear.length === 2 ? `20${explicitYear}` : explicitYear;
44
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arca-date.js","sourceRoot":"","sources":["../../../src/lib/dates/arca-date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arca-date.js","sourceRoot":"","sources":["../../../src/lib/dates/arca-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,0BAA0B,GAAG,iEAAiE,CAAC;AASrG,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;IAC5D,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,gCAAgC;IAC1C,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAW;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnH,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACrG,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,KAAW;IAC9C,OAAO,sBAAsB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,EAAU;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAG,MAAgB;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa,EAAE,aAAa,GAAG,IAAI,IAAI,EAAE;IACzF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,qDAAqD,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE9F,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAAC,aAAa,KAAK,mBAAmB,0BAA0B,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,EAAE,AAAD,EAAG,QAAQ,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC;IACvD,MAAM,KAAK,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9E,IACE,IAAI,CAAC,cAAc,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,oBAAoB,CAAC,aAAa,KAAK,iBAAiB,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,YAAgC,EAAE,KAAmB;IACxE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;AACxE,CAAC"}
@@ -1,9 +1,12 @@
1
1
  export declare class AppError extends Error {
2
2
  readonly code: string;
3
3
  readonly details?: Record<string, unknown>;
4
+ /** Que hacer ahora; sale como "Sugerencia" en texto y `sugerencia` en JSON. */
5
+ readonly suggestion?: string;
4
6
  constructor(message: string, options: {
5
7
  code: string;
6
8
  details?: Record<string, unknown>;
9
+ suggestion?: string;
7
10
  });
8
11
  }
9
12
  export declare class ConfigurationError extends AppError {
@@ -1,11 +1,14 @@
1
1
  export class AppError extends Error {
2
2
  code;
3
3
  details;
4
+ /** Que hacer ahora; sale como "Sugerencia" en texto y `sugerencia` en JSON. */
5
+ suggestion;
4
6
  constructor(message, options) {
5
7
  super(message);
6
8
  this.name = 'AppError';
7
9
  this.code = options.code;
8
10
  this.details = options.details;
11
+ this.suggestion = options.suggestion;
9
12
  }
10
13
  }
11
14
  export class ConfigurationError extends AppError {
@@ -1 +1 @@
1
- {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../src/lib/errors/app-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAS;IACb,OAAO,CAA2B;IAElD,YAAmB,OAAe,EAAE,OAA4D;QAC9F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAmB,OAAe,EAAE,OAAiC;QACnE,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,qBAAqB;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,QAAQ;IAChD,YAAmB,OAAe,EAAE,OAAiC;QACnE,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,wBAAwB;YAC9B,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../src/lib/errors/app-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAS;IACb,OAAO,CAA2B;IAClD,+EAA+E;IAC/D,UAAU,CAAU;IAEpC,YACE,OAAe,EACf,OAAiF;QAEjF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAmB,OAAe,EAAE,OAAiC;QACnE,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,qBAAqB;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,QAAQ;IAChD,YAAmB,OAAe,EAAE,OAAiC;QACnE,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,wBAAwB;YAC9B,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ /** Permisos solo para el dueno en archivos y carpetas nuevos: tickets de ARCA, config y PDFs. */
2
+ export declare const OWNER_ONLY_UMASK = 63;
3
+ /**
4
+ * Deja una carpeta existente en 0700. Alcanza para proteger lo de adentro (por ejemplo tickets viejos en 0644):
5
+ * sin permiso de la carpeta, nadie mas llega a los archivos. Si no es nuestra o el sistema no lo soporta, sigue.
6
+ */
7
+ export declare function restrictFolderToOwner(path: string): void;
@@ -0,0 +1,19 @@
1
+ import { chmodSync, existsSync } from 'node:fs';
2
+ /** Permisos solo para el dueno en archivos y carpetas nuevos: tickets de ARCA, config y PDFs. */
3
+ export const OWNER_ONLY_UMASK = 0o077;
4
+ /**
5
+ * Deja una carpeta existente en 0700. Alcanza para proteger lo de adentro (por ejemplo tickets viejos en 0644):
6
+ * sin permiso de la carpeta, nadie mas llega a los archivos. Si no es nuestra o el sistema no lo soporta, sigue.
7
+ */
8
+ export function restrictFolderToOwner(path) {
9
+ if (process.platform === 'win32' || !existsSync(path)) {
10
+ return;
11
+ }
12
+ try {
13
+ chmodSync(path, 0o700);
14
+ }
15
+ catch {
16
+ // Carpeta de otro usuario o sistema de archivos sin permisos POSIX: no es motivo para frenar el comando.
17
+ }
18
+ }
19
+ //# sourceMappingURL=restrict-to-owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restrict-to-owner.js","sourceRoot":"","sources":["../../../src/lib/files/restrict-to-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEhD,iGAAiG;AACjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,yGAAyG;IAC3G,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** CUIT o CUIL con guiones, como lo muestra ARCA: `20409509763` → `20-40950976-3`. Si no tiene 11 digitos, sin cambios. */
2
+ export declare function formatCuit(value: number | string): string;
@@ -0,0 +1,6 @@
1
+ /** CUIT o CUIL con guiones, como lo muestra ARCA: `20409509763` → `20-40950976-3`. Si no tiene 11 digitos, sin cambios. */
2
+ export function formatCuit(value) {
3
+ const digits = String(value);
4
+ return /^\d{11}$/.test(digits) ? `${digits.slice(0, 2)}-${digits.slice(2, 10)}-${digits.slice(10)}` : digits;
5
+ }
6
+ //# sourceMappingURL=format-cuit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-cuit.js","sourceRoot":"","sources":["../../../src/lib/identity/format-cuit.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAC3H,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/G,CAAC"}