arcli 2.0.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 (184) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/README.md +15 -14
  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 +1 -1
  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 +28 -15
  18. package/dist/cli/commands/billing.command.parser.js.map +1 -1
  19. package/dist/cli/commands/billing.command.shared.d.ts +22 -3
  20. package/dist/cli/commands/billing.command.shared.js +84 -47
  21. package/dist/cli/commands/billing.command.shared.js.map +1 -1
  22. package/dist/cli/commands/config.command.d.ts +3 -4
  23. package/dist/cli/commands/config.command.js +39 -39
  24. package/dist/cli/commands/config.command.js.map +1 -1
  25. package/dist/cli/commands/cuit-argument.d.ts +2 -0
  26. package/dist/cli/commands/cuit-argument.js +10 -0
  27. package/dist/cli/commands/cuit-argument.js.map +1 -0
  28. package/dist/cli/commands/fce-obligation.command.js +6 -13
  29. package/dist/cli/commands/fce-obligation.command.js.map +1 -1
  30. package/dist/cli/commands/interactive.command.js +8 -6
  31. package/dist/cli/commands/interactive.command.js.map +1 -1
  32. package/dist/cli/commands/padron.command.d.ts +2 -0
  33. package/dist/cli/commands/padron.command.js +47 -0
  34. package/dist/cli/commands/padron.command.js.map +1 -0
  35. package/dist/cli/commands/parameters.command.js +8 -7
  36. package/dist/cli/commands/parameters.command.js.map +1 -1
  37. package/dist/cli/commands/pdf.command.js +17 -30
  38. package/dist/cli/commands/pdf.command.js.map +1 -1
  39. package/dist/cli/commands/vouchers.command.js +5 -5
  40. package/dist/cli/commands/vouchers.command.js.map +1 -1
  41. package/dist/cli/error-output.d.ts +20 -2
  42. package/dist/cli/error-output.js +70 -10
  43. package/dist/cli/error-output.js.map +1 -1
  44. package/dist/cli/global-options.d.ts +26 -0
  45. package/dist/cli/global-options.js +56 -0
  46. package/dist/cli/global-options.js.map +1 -0
  47. package/dist/cli/help.d.ts +2 -0
  48. package/dist/cli/help.js +75 -29
  49. package/dist/cli/help.js.map +1 -1
  50. package/dist/cli/ignored-global-options.d.ts +6 -0
  51. package/dist/cli/ignored-global-options.js +33 -0
  52. package/dist/cli/ignored-global-options.js.map +1 -0
  53. package/dist/cli/index.js +7 -11
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/cli/interactive/config.flow.d.ts +1 -2
  56. package/dist/cli/interactive/config.flow.js +4 -3
  57. package/dist/cli/interactive/config.flow.js.map +1 -1
  58. package/dist/cli/interactive/interactive-mode.js +48 -17
  59. package/dist/cli/interactive/interactive-mode.js.map +1 -1
  60. package/dist/cli/interactive/invoice.flow.d.ts +2 -0
  61. package/dist/cli/interactive/invoice.flow.js +4 -3
  62. package/dist/cli/interactive/invoice.flow.js.map +1 -1
  63. package/dist/cli/interactive/note.flow.d.ts +2 -0
  64. package/dist/cli/interactive/note.flow.js +4 -3
  65. package/dist/cli/interactive/note.flow.js.map +1 -1
  66. package/dist/cli/interactive/receiver-padron.d.ts +29 -0
  67. package/dist/cli/interactive/receiver-padron.js +53 -0
  68. package/dist/cli/interactive/receiver-padron.js.map +1 -0
  69. package/dist/cli/interactive/repeat.flow.js +3 -3
  70. package/dist/cli/interactive/repeat.flow.js.map +1 -1
  71. package/dist/cli/interactive/session.js +4 -1
  72. package/dist/cli/interactive/session.js.map +1 -1
  73. package/dist/cli/program.d.ts +5 -1
  74. package/dist/cli/program.js +8 -2
  75. package/dist/cli/program.js.map +1 -1
  76. package/dist/cli/version.d.ts +1 -1
  77. package/dist/cli/version.js +1 -1
  78. package/dist/lib/errors/app-error.d.ts +1 -1
  79. package/dist/lib/errors/app-error.js +2 -1
  80. package/dist/lib/errors/app-error.js.map +1 -1
  81. package/dist/lib/files/write-new-file.d.ts +5 -0
  82. package/dist/lib/files/write-new-file.js +30 -0
  83. package/dist/lib/files/write-new-file.js.map +1 -0
  84. package/dist/lib/links.d.ts +2 -0
  85. package/dist/lib/links.js +2 -0
  86. package/dist/lib/links.js.map +1 -1
  87. package/dist/lib/security/certificate.d.ts +5 -1
  88. package/dist/lib/security/certificate.js +10 -7
  89. package/dist/lib/security/certificate.js.map +1 -1
  90. package/dist/modules/billing/billing-response.js +12 -0
  91. package/dist/modules/billing/billing-response.js.map +1 -1
  92. package/dist/modules/billing/billing.batch.js +7 -1
  93. package/dist/modules/billing/billing.batch.js.map +1 -1
  94. package/dist/modules/billing/billing.date-range.js +27 -10
  95. package/dist/modules/billing/billing.date-range.js.map +1 -1
  96. package/dist/modules/billing/billing.display.js +5 -1
  97. package/dist/modules/billing/billing.display.js.map +1 -1
  98. package/dist/modules/billing/billing.json-input.d.ts +58 -0
  99. package/dist/modules/billing/billing.json-input.js +279 -0
  100. package/dist/modules/billing/billing.json-input.js.map +1 -0
  101. package/dist/modules/billing/billing.padron.d.ts +14 -0
  102. package/dist/modules/billing/billing.padron.js +55 -0
  103. package/dist/modules/billing/billing.padron.js.map +1 -0
  104. package/dist/modules/billing/billing.schemas.d.ts +5 -0
  105. package/dist/modules/billing/billing.schemas.js +6 -0
  106. package/dist/modules/billing/billing.schemas.js.map +1 -1
  107. package/dist/modules/billing/billing.serialize.d.ts +1 -0
  108. package/dist/modules/billing/billing.serialize.js +5 -12
  109. package/dist/modules/billing/billing.serialize.js.map +1 -1
  110. package/dist/modules/billing/billing.service.d.ts +3 -0
  111. package/dist/modules/billing/billing.service.js +22 -1
  112. package/dist/modules/billing/billing.service.js.map +1 -1
  113. package/dist/modules/billing/billing.text.js +4 -12
  114. package/dist/modules/billing/billing.text.js.map +1 -1
  115. package/dist/modules/billing/billing.types.internal.d.ts +10 -2
  116. package/dist/modules/config/certificate-expiry.d.ts +42 -0
  117. package/dist/modules/config/certificate-expiry.js +91 -0
  118. package/dist/modules/config/certificate-expiry.js.map +1 -0
  119. package/dist/modules/config/config-doctor.d.ts +5 -4
  120. package/dist/modules/config/config-doctor.js +8 -16
  121. package/dist/modules/config/config-doctor.js.map +1 -1
  122. package/dist/modules/config/config-value-parser.d.ts +1 -1
  123. package/dist/modules/config/config-value-parser.js +13 -11
  124. package/dist/modules/config/config-value-parser.js.map +1 -1
  125. package/dist/modules/config/config.presenter.d.ts +2 -0
  126. package/dist/modules/config/config.presenter.js +6 -0
  127. package/dist/modules/config/config.presenter.js.map +1 -1
  128. package/dist/modules/config/config.schemas.d.ts +2 -0
  129. package/dist/modules/config/config.schemas.js +3 -0
  130. package/dist/modules/config/config.schemas.js.map +1 -1
  131. package/dist/modules/config/config.sections.js +6 -1
  132. package/dist/modules/config/config.sections.js.map +1 -1
  133. package/dist/modules/config/config.service.js +33 -8
  134. package/dist/modules/config/config.service.js.map +1 -1
  135. package/dist/modules/examples/examples.d.ts +5 -0
  136. package/dist/modules/examples/examples.js +29 -28
  137. package/dist/modules/examples/examples.js.map +1 -1
  138. package/dist/modules/interactive/config-fields.js +6 -0
  139. package/dist/modules/interactive/config-fields.js.map +1 -1
  140. package/dist/modules/interactive/equivalent-command.js +2 -2
  141. package/dist/modules/interactive/equivalent-command.js.map +1 -1
  142. package/dist/modules/padron/padron.d.ts +46 -0
  143. package/dist/modules/padron/padron.js +24 -0
  144. package/dist/modules/padron/padron.js.map +1 -0
  145. package/dist/modules/padron/padron.presenter.d.ts +7 -0
  146. package/dist/modules/padron/padron.presenter.js +49 -0
  147. package/dist/modules/padron/padron.presenter.js.map +1 -0
  148. package/dist/modules/parameters/parameters.presenter.js +5 -2
  149. package/dist/modules/parameters/parameters.presenter.js.map +1 -1
  150. package/dist/modules/storybook/showcase.js +17 -4
  151. package/dist/modules/storybook/showcase.js.map +1 -1
  152. package/dist/services/arca/arca-billing.gateway.d.ts +8 -2
  153. package/dist/services/arca/arca-billing.gateway.js +17 -2
  154. package/dist/services/arca/arca-billing.gateway.js.map +1 -1
  155. package/dist/services/arca/arca-client.factory.d.ts +2 -1
  156. package/dist/services/arca/arca-client.factory.js +5 -0
  157. package/dist/services/arca/arca-client.factory.js.map +1 -1
  158. package/dist/services/arca/arca-context.resolver.d.ts +11 -0
  159. package/dist/services/arca/arca-context.resolver.js +12 -1
  160. package/dist/services/arca/arca-context.resolver.js.map +1 -1
  161. package/dist/services/arca/arca-padron.gateway.d.ts +9 -0
  162. package/dist/services/arca/arca-padron.gateway.js +104 -0
  163. package/dist/services/arca/arca-padron.gateway.js.map +1 -0
  164. package/dist/services/pdf/pdf-exporter.d.ts +6 -3
  165. package/dist/services/pdf/pdf-exporter.js +11 -9
  166. package/dist/services/pdf/pdf-exporter.js.map +1 -1
  167. package/dist/ui/components/certificateBanner.d.ts +11 -0
  168. package/dist/ui/components/certificateBanner.js +9 -0
  169. package/dist/ui/components/certificateBanner.js.map +1 -0
  170. package/dist/ui/components/index.d.ts +1 -0
  171. package/dist/ui/components/index.js +1 -0
  172. package/dist/ui/components/index.js.map +1 -1
  173. package/dist/ui/presenters/config.presenter.d.ts +1 -1
  174. package/dist/ui/presenters/config.presenter.js +1 -1
  175. package/dist/ui/presenters/config.presenter.js.map +1 -1
  176. package/dist/ui/presenters/errors.presenter.js +4 -1
  177. package/dist/ui/presenters/errors.presenter.js.map +1 -1
  178. package/dist/ui/presenters/errors.zod-presenter.js +5 -26
  179. package/dist/ui/presenters/errors.zod-presenter.js.map +1 -1
  180. package/dist/ui/stream/terminal-stream.d.ts +5 -0
  181. package/dist/ui/stream/terminal-stream.js +13 -1
  182. package/dist/ui/stream/terminal-stream.js.map +1 -1
  183. package/llms.txt +59 -41
  184. package/package.json +1 -1
@@ -37,20 +37,13 @@ function formatVoucherSummary(result) {
37
37
  tipoArca: result.voucherKind.arcaType,
38
38
  };
39
39
  }
40
+ /** `--bruto` suma `respuesta` (la respuesta cruda de ARCA) al resumen de siempre; no le quita campos. */
40
41
  export function serializeBillingResult(result, options = {}) {
41
- if (options.raw) {
42
- return {
43
- atajo: result.voucherKind.shortcut,
44
- avisos: result.warnings ?? [],
45
- comprobante: result.voucherKind.displayName,
46
- solicitud: result.payload,
47
- ...formatPdfOutcome(result),
48
- previsualizacion: result.dryRun,
49
- respuesta: formatRawResponse(result),
50
- sugerencias: result.response.suggestions,
51
- };
42
+ const summary = formatVoucherSummary(result);
43
+ if (!options.raw) {
44
+ return summary;
52
45
  }
53
- return formatVoucherSummary(result);
46
+ return { ...summary, respuesta: formatRawResponse(result) };
54
47
  }
55
48
  export function serializeBillingBatch(results, options = {}) {
56
49
  return results.map((result, index) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"billing.serialize.js","sourceRoot":"","sources":["../../../src/modules/billing/billing.serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.serialize.js","sourceRoot":"","sources":["../../../src/modules/billing/billing.serialize.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { INextVoucher } from '@arcasdk/core/lib/domain/types/voucher.types';
2
2
  import type { ResolvedArcaRuntime } from '../../services/arca/arca-context.resolver';
3
3
  import { type FceObligationGateway } from '../fce/fce-obligation';
4
+ import type { PadronGateway } from '../padron/padron';
5
+ import { type PadronResolution } from './billing.padron';
4
6
  import type { BillingCommandInput } from './billing.schemas';
5
7
  import type { VoucherKindDefinition } from './billing.types';
6
8
  import type { BillingExecutionResult, BillingGateway } from './billing.types.internal';
@@ -16,6 +18,7 @@ export declare class BillingService {
16
18
  * Se resuelve antes de la vista previa para que el preview muestre el valor que se va a enviar.
17
19
  */
18
20
  resolveExchangeRate(input: BillingCommandInput, gateway: BillingGateway): Promise<BillingCommandInput>;
21
+ resolveIvaConditionFromPadron(input: BillingCommandInput, gateway: PadronGateway): Promise<PadronResolution>;
19
22
  execute(options: BillingExecutionOptions): Promise<BillingExecutionResult>;
20
23
  /**
21
24
  * Avisa si el comprobante elegido no coincide con el regimen FCE del receptor.
@@ -10,6 +10,7 @@ import { EmissionUncertainError } from './billing.errors.js';
10
10
  import { resolveElectronicCreditOptionals } from './billing.fce.js';
11
11
  import { validateConsumerIdentification, validateIvaConditionForVoucher } from './billing.iva-receptor.js';
12
12
  import { resolveBillingConceptCode, resolveBillingCurrencyCode, resolveBillingDocumentTypeCode, resolveBillingIvaConditionCode, } from './billing.mappers.js';
13
+ import { resolveIvaConditionFromPadron } from './billing.padron.js';
13
14
  import { validateDocumentIdentity } from './billing.validation.js';
14
15
  import { createDryRunResponse, mapBillingResponse } from './billing-response.js';
15
16
  import { getVoucherKindByShortcut } from './voucher-kind-map.js';
@@ -27,22 +28,37 @@ export class BillingService {
27
28
  exchangeRate: await gateway.getQuotation(resolveBillingCurrencyCode(input.currencyCode)),
28
29
  };
29
30
  }
31
+ async resolveIvaConditionFromPadron(input, gateway) {
32
+ return resolveIvaConditionFromPadron(input, gateway);
33
+ }
30
34
  async execute(options) {
31
35
  const voucherKind = this.requireVoucherKind(options.input.shortcut);
32
36
  const payload = this.buildVoucherPayload(options.input, options.runtime, voucherKind);
37
+ const receiver = {
38
+ ivaConditionFromPadron: options.input.ivaConditionSource === 'padron',
39
+ name: options.input.receiverName,
40
+ };
33
41
  if (options.input.dryRun || !options.input.emit) {
34
42
  return {
35
43
  dryRun: true,
36
44
  environment: options.runtime.environment,
37
45
  payload,
46
+ receiver,
38
47
  response: createDryRunResponse(),
39
48
  voucherKind,
40
49
  warnings: options.warnings ?? [],
41
50
  };
42
51
  }
52
+ // Fuera del try: si falla la autenticacion o el pedido del ultimo numero, no se envio nada a ARCA
53
+ // y el error sale tal cual (certificado, ARCA no disponible), sin sugerir que pudo emitirse.
54
+ const voucherNumber = await options.gateway.getNextVoucherNumber(payload.PtoVta, payload.CbteTipo);
43
55
  let response;
44
56
  try {
45
- response = await options.gateway.createNextVoucher(payload);
57
+ response = await options.gateway.createVoucher({
58
+ ...payload,
59
+ CbteDesde: voucherNumber,
60
+ CbteHasta: voucherNumber,
61
+ });
46
62
  }
47
63
  catch (error) {
48
64
  throw new EmissionUncertainError({ cause: error, pointOfSale: payload.PtoVta, shortcut: voucherKind.shortcut });
@@ -51,6 +67,7 @@ export class BillingService {
51
67
  dryRun: false,
52
68
  environment: options.runtime.environment,
53
69
  payload,
70
+ receiver,
54
71
  response: mapBillingResponse(response),
55
72
  voucherKind,
56
73
  warnings: options.warnings ?? [],
@@ -80,6 +97,10 @@ export class BillingService {
80
97
  }
81
98
  buildVoucherPayload(input, runtime, voucherKind = this.requireVoucherKind(input.shortcut)) {
82
99
  const pointOfSale = input.pointOfSale ?? runtime.pointOfSale;
100
+ // Resguardo: un IVA receptor que esperaba al padron nunca llega a ARCA con el valor provisorio.
101
+ if (input.ivaConditionSource === 'missing') {
102
+ throw new InputValidationError('Falta IVA receptor. Use --ir <tipo> o un flag --ir-*, o configure uno por defecto con "arcli config establecer ivaReceptor <tipo>".');
103
+ }
83
104
  if (!pointOfSale) {
84
105
  throw new InputValidationError('Falta el punto de venta. Use --punto-venta o --pv, o configurelo con "arcli config establecer puntoVenta <valor>".');
85
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"billing.service.js","sourceRoot":"","sources":["../../../src/modules/billing/billing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.service.js","sourceRoot":"","sources":["../../../src/modules/billing/billing.service.ts"],"names":[],"mappings":"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"}
@@ -18,18 +18,6 @@ export function formatBillingResultAsText(result, options = {}) {
18
18
  ...(options.previewShown ? [] : formatEnvironmentBanner(options.environment ?? result.environment)),
19
19
  ...(options.previewShown ? [] : formatWarningsPanel(result)),
20
20
  ];
21
- if (options.raw) {
22
- if (result.dryRun) {
23
- return [...environmentLines, formatPayloadPreview(result)].join('\n\n');
24
- }
25
- const lines = [
26
- contentPanel('Respuesta bruta', renderObject(formatRawBillingResponse(result)), 'wide', 'subtle', 'left', 'data'),
27
- ];
28
- if (!options.previewShown) {
29
- lines.unshift(formatPayloadPreview(result));
30
- }
31
- return [...environmentLines, ...lines].join('\n\n');
32
- }
33
21
  if (result.dryRun) {
34
22
  return [...environmentLines, formatPayloadPreview(result)].join('\n\n');
35
23
  }
@@ -51,6 +39,10 @@ export function formatBillingResultAsText(result, options = {}) {
51
39
  if (suggestions.length > 0) {
52
40
  lines.push(contentPanel('Sugerencias', suggestions.map((item) => `• ${item}`).join('\n'), 'wide', 'warning', 'left', 'tip'));
53
41
  }
42
+ // `--bruto` agrega la respuesta cruda al final; el resumen se muestra igual.
43
+ if (options.raw) {
44
+ lines.push(contentPanel('Respuesta bruta', renderObject(formatRawBillingResponse(result)), 'wide', 'subtle', 'left', 'data'));
45
+ }
54
46
  return lines.join('\n\n');
55
47
  }
56
48
  //# sourceMappingURL=billing.text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.text.js","sourceRoot":"","sources":["../../../src/modules/billing/billing.text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.text.js","sourceRoot":"","sources":["../../../src/modules/billing/billing.text.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { CreateVoucherResultDto } from '@arcasdk/core/lib/application/dto/electronic-billing';
2
- import type { INextVoucher } from '@arcasdk/core/lib/domain/types/voucher.types';
2
+ import type { INextVoucher, IVoucher } from '@arcasdk/core/lib/domain/types/voucher.types';
3
3
  import type { PdfOutcome } from '../pdf/pdf.types';
4
4
  import type { VoucherKindDefinition } from './billing.types';
5
5
  export interface BillingGateway {
6
- createNextVoucher(payload: INextVoucher): Promise<CreateVoucherResultDto>;
6
+ /** Emite en ARCA. Un error aca puede haber dejado el comprobante autorizado. */
7
+ createVoucher(voucher: IVoucher): Promise<CreateVoucherResultDto>;
8
+ /** Autentica y pide el ultimo numero autorizado. Un error aca no emitio nada. */
9
+ getNextVoucherNumber(pointOfSale: number, voucherType: number): Promise<number>;
7
10
  getQuotation(currencyCode: string): Promise<number>;
8
11
  }
9
12
  export interface BillingResponseSummary {
@@ -24,6 +27,11 @@ export interface BillingExecutionResult {
24
27
  readonly payload: INextVoucher;
25
28
  /** Solo si se intento generar el PDF. */
26
29
  readonly pdf?: PdfOutcome;
30
+ /** Solo para mostrar: ARCA no recibe el nombre del receptor. */
31
+ readonly receiver?: {
32
+ readonly ivaConditionFromPadron: boolean;
33
+ readonly name?: string;
34
+ };
27
35
  readonly response: BillingResponseSummary;
28
36
  readonly voucherKind: VoucherKindDefinition;
29
37
  readonly warnings?: readonly string[];
@@ -0,0 +1,42 @@
1
+ import { AppError } from '../../lib/errors/app-error';
2
+ import { type CertificateExpiry } from '../../lib/security/certificate';
3
+ import { type ArcliEnvironment } from './config.schemas';
4
+ /** A menos de estos dias de vencer, el certificado se avisa en cada comando y en `config revisar`. */
5
+ export declare const CERTIFICATE_EXPIRY_WARNING_DAYS = 30;
6
+ /** Aviso de un certificado por vencer o vencido. Sin aviso, el certificado esta lejos de vencer (o no se pudo leer). */
7
+ export interface CertificateExpiryNotice {
8
+ readonly daysRemaining: number;
9
+ readonly environment: ArcliEnvironment;
10
+ readonly expired: boolean;
11
+ /** dd/mm/aaaa, en hora argentina. */
12
+ readonly expiresOn: string;
13
+ /** Una linea, con el link a la guia: va tal cual en `avisos` del JSON. */
14
+ readonly message: string;
15
+ /** El aviso sin el link, para el banner (que muestra el link en su propia linea). */
16
+ readonly summary: string;
17
+ }
18
+ /** Fecha de vencimiento como dd/mm/aaaa del dia en Argentina. */
19
+ export declare function formatCertificateExpiryDate(expiresAt: Date): string;
20
+ export declare function describeCertificateExpiry(expiry: CertificateExpiry, environment: ArcliEnvironment): CertificateExpiryNotice | undefined;
21
+ /**
22
+ * Aviso del certificado ya leido (PEM). Si no se puede leer la fecha, no hay aviso: el error de un certificado
23
+ * invalido lo informa el flujo de siempre (WSAA o `config revisar`).
24
+ */
25
+ export declare function inspectCertificateExpiry(pemContent: string, environment: ArcliEnvironment, now?: Date): CertificateExpiryNotice | undefined;
26
+ export interface ConfiguredCertificatesOptions {
27
+ readonly activeEnvironment: ArcliEnvironment;
28
+ /** El PEM del entorno activo, si ya se leyo para el contexto: no se vuelve a leer el archivo. */
29
+ readonly activePem?: string;
30
+ readonly now?: Date;
31
+ }
32
+ /**
33
+ * Avisos de todos los certificados configurados (testing y produccion), sin importar con cual se trabaja: quien
34
+ * factura en testing tambien tiene que enterarse de que vence el de produccion. El del entorno activo va primero.
35
+ * Un certificado sin configurar o que no se puede leer no avisa.
36
+ */
37
+ export declare function inspectConfiguredCertificates(certPaths: Partial<Record<ArcliEnvironment, string>>, options: ConfiguredCertificatesOptions): CertificateExpiryNotice[];
38
+ /** Con el certificado vencido WSAA rechaza el login: se corta antes, sin ir a ARCA. */
39
+ export declare class CertificateExpiredError extends AppError {
40
+ readonly notice: CertificateExpiryNotice;
41
+ constructor(notice: CertificateExpiryNotice);
42
+ }
@@ -0,0 +1,91 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { formatArcaDateAsArgentineDate, formatDateAsArcaDate } from '../../lib/dates/arca-date.js';
3
+ import { AppError } from '../../lib/errors/app-error.js';
4
+ import { CERTIFICATE_GUIDE_URL } from '../../lib/links.js';
5
+ import { isCertificateExpiringSoon, readCertificateExpiry, } from '../../lib/security/certificate.js';
6
+ import { arcliEnvironmentSchema } from './config.schemas.js';
7
+ /** A menos de estos dias de vencer, el certificado se avisa en cada comando y en `config revisar`. */
8
+ export const CERTIFICATE_EXPIRY_WARNING_DAYS = 30;
9
+ /** Fecha de vencimiento como dd/mm/aaaa del dia en Argentina. */
10
+ export function formatCertificateExpiryDate(expiresAt) {
11
+ return formatArcaDateAsArgentineDate(formatDateAsArcaDate(expiresAt));
12
+ }
13
+ function formatDaysRemaining(days) {
14
+ if (days <= 0) {
15
+ return 'hoy';
16
+ }
17
+ return days === 1 ? 'en 1 día' : `en ${days} días`;
18
+ }
19
+ export function describeCertificateExpiry(expiry, environment) {
20
+ if (!expiry.isExpired && !isCertificateExpiringSoon(expiry, CERTIFICATE_EXPIRY_WARNING_DAYS)) {
21
+ return undefined;
22
+ }
23
+ const expiresOn = formatCertificateExpiryDate(expiry.expiresAt);
24
+ const status = expiry.isExpired
25
+ ? `venció el ${expiresOn}`
26
+ : `vence el ${expiresOn} (${formatDaysRemaining(expiry.daysRemaining)})`;
27
+ const summary = `El certificado de ${environment} ${status}.`;
28
+ return {
29
+ daysRemaining: expiry.daysRemaining,
30
+ environment,
31
+ expired: expiry.isExpired,
32
+ expiresOn,
33
+ message: `${summary} Renovalo: ${CERTIFICATE_GUIDE_URL}`,
34
+ summary,
35
+ };
36
+ }
37
+ /**
38
+ * Aviso del certificado ya leido (PEM). Si no se puede leer la fecha, no hay aviso: el error de un certificado
39
+ * invalido lo informa el flujo de siempre (WSAA o `config revisar`).
40
+ */
41
+ export function inspectCertificateExpiry(pemContent, environment, now = new Date()) {
42
+ try {
43
+ return describeCertificateExpiry(readCertificateExpiry(pemContent, now), environment);
44
+ }
45
+ catch {
46
+ return undefined;
47
+ }
48
+ }
49
+ /**
50
+ * Avisos de todos los certificados configurados (testing y produccion), sin importar con cual se trabaja: quien
51
+ * factura en testing tambien tiene que enterarse de que vence el de produccion. El del entorno activo va primero.
52
+ * Un certificado sin configurar o que no se puede leer no avisa.
53
+ */
54
+ export function inspectConfiguredCertificates(certPaths, options) {
55
+ const environments = arcliEnvironmentSchema.options.filter((environment) => environment !== options.activeEnvironment);
56
+ const notices = [];
57
+ for (const environment of [options.activeEnvironment, ...environments]) {
58
+ const pem = environment === options.activeEnvironment ? options.activePem : undefined;
59
+ const content = pem ?? readCertificateQuietly(certPaths[environment]);
60
+ const notice = content === undefined ? undefined : inspectCertificateExpiry(content, environment, options.now);
61
+ if (notice) {
62
+ notices.push(notice);
63
+ }
64
+ }
65
+ return notices;
66
+ }
67
+ function readCertificateQuietly(filePath) {
68
+ if (!filePath) {
69
+ return undefined;
70
+ }
71
+ try {
72
+ return readFileSync(filePath, 'utf8');
73
+ }
74
+ catch {
75
+ return undefined;
76
+ }
77
+ }
78
+ /** Con el certificado vencido WSAA rechaza el login: se corta antes, sin ir a ARCA. */
79
+ export class CertificateExpiredError extends AppError {
80
+ notice;
81
+ constructor(notice) {
82
+ super(`El certificado de ${notice.environment} venció el ${notice.expiresOn}: ARCA no lo acepta.`, {
83
+ code: 'CERTIFICATE_EXPIRED',
84
+ details: { entorno: notice.environment, vencimiento: notice.expiresOn },
85
+ suggestion: `Generá uno nuevo siguiendo la guía y cargalo con "arcli config establecer cert.${notice.environment} <ruta>": ${CERTIFICATE_GUIDE_URL}`,
86
+ });
87
+ this.name = 'CertificateExpiredError';
88
+ this.notice = notice;
89
+ }
90
+ }
91
+ //# sourceMappingURL=certificate-expiry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificate-expiry.js","sourceRoot":"","sources":["../../../src/modules/config/certificate-expiry.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import type { ArcaRuntimeValidation } from '../../services/arca/arca-context.resolver';
2
- import type { ArcliConfig } from './config.schemas';
1
+ import type { ArcliConfig, ArcliEnvironment } from './config.schemas';
3
2
  export interface ConfigDoctorReport {
4
3
  readonly checks: ReadonlyArray<{
5
4
  readonly category: 'error' | 'ok' | 'warning';
@@ -8,8 +7,10 @@ export interface ConfigDoctorReport {
8
7
  }>;
9
8
  readonly ok: boolean;
10
9
  }
10
+ /** Lo que valida `ArcaContextResolver` para un entorno: CUIT, certificado y clave legibles. */
11
11
  export interface ConfigDoctorRuntimeCheck {
12
+ readonly environment: ArcliEnvironment;
13
+ /** Sin error, el entorno esta listo. */
12
14
  readonly error?: string;
13
- readonly validation?: ArcaRuntimeValidation;
14
15
  }
15
- export declare function buildConfigDoctorReport(config: ArcliConfig, runtimeCheck?: ConfigDoctorRuntimeCheck): ConfigDoctorReport;
16
+ export declare function buildConfigDoctorReport(config: ArcliConfig, runtimeChecks?: readonly ConfigDoctorRuntimeCheck[]): ConfigDoctorReport;
@@ -2,7 +2,7 @@ import { CERTIFICATE_GUIDE_URL } from '../../lib/links.js';
2
2
  import { isCertificateExpiringSoon, readCertificateExpiry } from '../../lib/security/certificate.js';
3
3
  import { readPemFile } from '../../lib/security/pem.js';
4
4
  import { listMissingIssuerKeys } from '../pdf/pdf-issuer.js';
5
- const CERTIFICATE_EXPIRY_WARNING_DAYS = 30;
5
+ import { CERTIFICATE_EXPIRY_WARNING_DAYS, formatCertificateExpiryDate } from './certificate-expiry.js';
6
6
  function buildCertificateExpiryCheck(label, certPath) {
7
7
  if (!certPath) {
8
8
  return null;
@@ -10,7 +10,7 @@ function buildCertificateExpiryCheck(label, certPath) {
10
10
  try {
11
11
  const pemContent = readPemFile(certPath, 'certificado');
12
12
  const expiry = readCertificateExpiry(pemContent);
13
- const formattedDate = expiry.expiresAt.toLocaleDateString('es-AR');
13
+ const formattedDate = formatCertificateExpiryDate(expiry.expiresAt);
14
14
  if (expiry.isExpired) {
15
15
  return { category: 'error', detail: `El certificado vencio el ${formattedDate}.`, label };
16
16
  }
@@ -31,7 +31,7 @@ function buildCertificateExpiryCheck(label, certPath) {
31
31
  };
32
32
  }
33
33
  }
34
- export function buildConfigDoctorReport(config, runtimeCheck) {
34
+ export function buildConfigDoctorReport(config, runtimeChecks = []) {
35
35
  const checks = [];
36
36
  const conditionalChecks = [
37
37
  {
@@ -117,19 +117,11 @@ export function buildConfigDoctorReport(config, runtimeCheck) {
117
117
  label: 'PDF',
118
118
  });
119
119
  }
120
- if (runtimeCheck?.validation) {
121
- checks.push({
122
- category: 'ok',
123
- detail: `Configuracion valida para ${runtimeCheck.validation.environment}.`,
124
- label: 'Revision activa',
125
- });
126
- }
127
- else if (runtimeCheck?.error) {
128
- checks.push({
129
- category: 'error',
130
- detail: runtimeCheck.error,
131
- label: 'Revision activa',
132
- });
120
+ for (const runtimeCheck of runtimeChecks) {
121
+ const label = `Validacion ${runtimeCheck.environment}`;
122
+ checks.push(runtimeCheck.error
123
+ ? { category: 'error', detail: runtimeCheck.error, label }
124
+ : { category: 'ok', detail: `Configuracion valida para ${runtimeCheck.environment}.`, label });
133
125
  }
134
126
  return {
135
127
  checks,
@@ -1 +1 @@
1
- {"version":3,"file":"config-doctor.js","sourceRoot":"","sources":["../../../src/modules/config/config-doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-doctor.js","sourceRoot":"","sources":["../../../src/modules/config/config-doctor.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export type CanonicalConfigKey = 'alicuotaPorDefecto' | 'aliasCbu' | 'comprobantesPorLista' | 'cbu' | 'cert.produccion' | 'cert.testing' | 'conceptoPorDefecto' | 'cotizacionPorDefecto' | 'cuit' | 'emisor.condicionIva' | 'emisor.domicilio' | 'emisor.iibb' | 'emisor.inicioActividades' | 'emisor.logo' | 'emisor.razonSocial' | 'entornoPorDefecto' | 'ivaReceptorPorDefecto' | 'key.produccion' | 'key.testing' | 'monedaPorDefecto' | 'output.emitirPorDefecto' | 'output.jsonPorDefecto' | 'output.brutoPorDefecto' | 'pdf' | 'pdfCarpeta' | 'pdfNavegador' | 'puntoVentaPorDefecto' | 'ticketPath' | 'verificarFce';
1
+ export type CanonicalConfigKey = 'alicuotaPorDefecto' | 'aliasCbu' | 'comprobantesPorLista' | 'cbu' | 'cert.produccion' | 'cert.testing' | 'conceptoPorDefecto' | 'cotizacionPorDefecto' | 'cuit' | 'emisor.condicionIva' | 'emisor.domicilio' | 'emisor.iibb' | 'emisor.inicioActividades' | 'emisor.logo' | 'emisor.razonSocial' | 'entornoPorDefecto' | 'ivaReceptorPorDefecto' | 'key.produccion' | 'key.testing' | 'monedaPorDefecto' | 'output.emitirPorDefecto' | 'output.jsonPorDefecto' | 'output.brutoPorDefecto' | 'pdf' | 'pdfCarpeta' | 'pdfNavegador' | 'puntoVentaPorDefecto' | 'ticketPath' | 'verificarFce' | 'consultarPadron';
2
2
  export declare function parseConfigValue(key: CanonicalConfigKey, value: string): boolean | number | string;
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { resolve } from 'node:path';
3
3
  import { parseArgentineDateInputAsArcaDate } from '../../lib/dates/arca-date.js';
4
+ import { InputValidationError } from '../../lib/errors/app-error.js';
4
5
  import { EXCHANGE_RATE_DECIMALS, parseArgentineAmount } from '../../lib/numbers/argentine-amount.js';
5
6
  import { readPemFile } from '../../lib/security/pem.js';
6
7
  import { IVA_RATE_HINT } from '../billing/billing.schemas.js';
@@ -14,54 +15,54 @@ function parseBoolean(value) {
14
15
  if (normalizedValue === 'false' || normalizedValue === '0' || normalizedValue === 'no') {
15
16
  return false;
16
17
  }
17
- throw new Error(`El valor "${value}" no es un booleano valido. Use true/false, si/no o 1/0.`);
18
+ throw new InputValidationError(`El valor "${value}" no es un booleano valido. Use true/false, si/no o 1/0.`);
18
19
  }
19
20
  function parseNonEmptyString(value) {
20
21
  const normalizedValue = value.trim();
21
22
  if (!normalizedValue) {
22
- throw new Error('El valor no puede estar vacio.');
23
+ throw new InputValidationError('El valor no puede estar vacio.');
23
24
  }
24
25
  return normalizedValue;
25
26
  }
26
27
  function parseIvaRate(value) {
27
28
  const result = arcliDefaultIvaRateSchema.safeParse(value);
28
29
  if (!result.success) {
29
- throw new Error(`La alicuota "${value}" no es valida. Use ${IVA_RATE_HINT}.`);
30
+ throw new InputValidationError(`La alicuota "${value}" no es valida. Use ${IVA_RATE_HINT}.`);
30
31
  }
31
32
  return result.data;
32
33
  }
33
34
  function parseCbu(value) {
34
35
  const normalizedValue = value.trim();
35
36
  if (!/^\d{22}$/.test(normalizedValue)) {
36
- throw new Error(`El CBU "${value}" no es valido: debe tener 22 digitos.`);
37
+ throw new InputValidationError(`El CBU "${value}" no es valido: debe tener 22 digitos.`);
37
38
  }
38
39
  return normalizedValue;
39
40
  }
40
41
  function parseCbuAlias(value) {
41
42
  const normalizedValue = value.trim();
42
43
  if (!/^[A-Za-z0-9.-]{6,20}$/.test(normalizedValue)) {
43
- throw new Error(`El alias "${value}" no es valido: debe tener entre 6 y 20 letras, numeros, puntos o guiones.`);
44
+ throw new InputValidationError(`El alias "${value}" no es valido: debe tener entre 6 y 20 letras, numeros, puntos o guiones.`);
44
45
  }
45
46
  return normalizedValue;
46
47
  }
47
48
  function parsePositiveInteger(value) {
48
49
  const parsedValue = Number.parseInt(value.trim(), 10);
49
50
  if (!Number.isInteger(parsedValue) || parsedValue <= 0) {
50
- throw new Error(`El valor "${value}" no es un entero positivo valido.`);
51
+ throw new InputValidationError(`El valor "${value}" no es un entero positivo valido.`);
51
52
  }
52
53
  return parsedValue;
53
54
  }
54
55
  function parseRecentCount(value) {
55
56
  const parsedValue = Number(value.trim());
56
57
  if (!Number.isInteger(parsedValue) || parsedValue < 1 || parsedValue > MAX_RECENT_VOUCHERS) {
57
- throw new Error(`La cantidad "${value}" no es valida: tiene que ser un numero entre 1 y ${MAX_RECENT_VOUCHERS}.`);
58
+ throw new InputValidationError(`La cantidad "${value}" no es valida: tiene que ser un numero entre 1 y ${MAX_RECENT_VOUCHERS}.`);
58
59
  }
59
60
  return parsedValue;
60
61
  }
61
62
  function parseExchangeRate(value) {
62
63
  const result = parseArgentineAmount(value, { maxDecimals: EXCHANGE_RATE_DECIMALS });
63
64
  if (!result.ok) {
64
- throw new Error(`La cotizacion "${value}" no es valida: ${result.reason}.`);
65
+ throw new InputValidationError(`La cotizacion "${value}" no es valida: ${result.reason}.`);
65
66
  }
66
67
  return result.value;
67
68
  }
@@ -74,21 +75,21 @@ function parsePemPath(value, label) {
74
75
  // La fecha de inicio de actividades es vieja: se pide con anio para no completarla con el actual.
75
76
  function parseFullDate(value) {
76
77
  if (!/^\d{1,2}([-/])\d{1,2}\1(\d{2}|\d{4})$/.test(value.trim())) {
77
- throw new Error(`La fecha "${value}" no es valida. Use D/MM/YYYY, por ejemplo 1/03/2020.`);
78
+ throw new InputValidationError(`La fecha "${value}" no es valida. Use D/MM/YYYY, por ejemplo 1/03/2020.`);
78
79
  }
79
80
  return parseArgentineDateInputAsArcaDate(value);
80
81
  }
81
82
  function parseExistingFile(value, label) {
82
83
  const path = resolve(parseNonEmptyString(value));
83
84
  if (!existsSync(path)) {
84
- throw new Error(`No se encontro ${label} en "${path}".`);
85
+ throw new InputValidationError(`No se encontro ${label} en "${path}".`);
85
86
  }
86
87
  return path;
87
88
  }
88
89
  function parseLogoPath(value) {
89
90
  const path = parseExistingFile(value, 'el logo');
90
91
  if (!/\.(png|jpe?g)$/i.test(path)) {
91
- throw new Error('El logo debe ser un archivo PNG o JPG.');
92
+ throw new InputValidationError('El logo debe ser un archivo PNG o JPG.');
92
93
  }
93
94
  return path;
94
95
  }
@@ -125,6 +126,7 @@ export function parseConfigValue(key, value) {
125
126
  case 'monedaPorDefecto':
126
127
  return value.trim().toUpperCase();
127
128
  case 'verificarFce':
129
+ case 'consultarPadron':
128
130
  case 'output.emitirPorDefecto':
129
131
  case 'output.jsonPorDefecto':
130
132
  case 'output.brutoPorDefecto':
@@ -1 +1 @@
1
- {"version":3,"file":"config-value-parser.js","sourceRoot":"","sources":["../../../src/modules/config/config-value-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-value-parser.js","sourceRoot":"","sources":["../../../src/modules/config/config-value-parser.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface ConfigPathSnapshot {
6
6
  }
7
7
  export declare function formatConfig(config: ArcliConfig, paths: ConfigPathSnapshot): string;
8
8
  export declare function formatConfigPath(configPath: string): string;
9
+ /** `{ "ruta": "..." }`, como `ruta` en el JSON de `pdf desinstalar`. */
10
+ export declare function formatConfigPathAsJson(configPath: string): string;
9
11
  /**
10
12
  * La configuracion por secciones, en el mismo orden que "Modificar configuracion" del modo interactivo.
11
13
  * El peso esta en los valores: titulos en celeste, etiquetas y datos sin cargar atenuados.