arcli 1.1.0 → 1.3.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 (190) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +9 -3
  3. package/dist/cli/commands/billing.command.interactive-preview.d.ts +1 -0
  4. package/dist/cli/commands/billing.command.interactive-preview.js +5 -1
  5. package/dist/cli/commands/billing.command.interactive-preview.js.map +1 -1
  6. package/dist/cli/commands/billing.command.options.js +17 -1
  7. package/dist/cli/commands/billing.command.options.js.map +1 -1
  8. package/dist/cli/commands/billing.command.parser.d.ts +3 -0
  9. package/dist/cli/commands/billing.command.parser.js +36 -2
  10. package/dist/cli/commands/billing.command.parser.js.map +1 -1
  11. package/dist/cli/commands/billing.command.shared.js +26 -5
  12. package/dist/cli/commands/billing.command.shared.js.map +1 -1
  13. package/dist/cli/commands/config.command.d.ts +5 -0
  14. package/dist/cli/commands/config.command.js +3 -3
  15. package/dist/cli/commands/config.command.js.map +1 -1
  16. package/dist/cli/commands/fce-obligation.command.d.ts +2 -0
  17. package/dist/cli/commands/fce-obligation.command.js +51 -0
  18. package/dist/cli/commands/fce-obligation.command.js.map +1 -0
  19. package/dist/cli/commands/interactive.command.d.ts +3 -0
  20. package/dist/cli/commands/interactive.command.js +22 -0
  21. package/dist/cli/commands/interactive.command.js.map +1 -0
  22. package/dist/cli/commands/storybook.command.js +3 -2
  23. package/dist/cli/commands/storybook.command.js.map +1 -1
  24. package/dist/cli/help.d.ts +1 -0
  25. package/dist/cli/help.js +65 -3
  26. package/dist/cli/help.js.map +1 -1
  27. package/dist/cli/index.js +3 -1
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/interactive/history.flow.d.ts +2 -0
  30. package/dist/cli/interactive/history.flow.js +31 -0
  31. package/dist/cli/interactive/history.flow.js.map +1 -0
  32. package/dist/cli/interactive/interactive-mode.d.ts +3 -0
  33. package/dist/cli/interactive/interactive-mode.js +92 -0
  34. package/dist/cli/interactive/interactive-mode.js.map +1 -0
  35. package/dist/cli/interactive/invoice.flow.d.ts +2 -0
  36. package/dist/cli/interactive/invoice.flow.js +54 -0
  37. package/dist/cli/interactive/invoice.flow.js.map +1 -0
  38. package/dist/cli/interactive/note.flow.d.ts +2 -0
  39. package/dist/cli/interactive/note.flow.js +99 -0
  40. package/dist/cli/interactive/note.flow.js.map +1 -0
  41. package/dist/cli/interactive/prompts.d.ts +13 -0
  42. package/dist/cli/interactive/prompts.js +24 -0
  43. package/dist/cli/interactive/prompts.js.map +1 -0
  44. package/dist/cli/interactive/session.d.ts +22 -0
  45. package/dist/cli/interactive/session.js +86 -0
  46. package/dist/cli/interactive/session.js.map +1 -0
  47. package/dist/cli/interactive/validators.d.ts +5 -0
  48. package/dist/cli/interactive/validators.js +17 -0
  49. package/dist/cli/interactive/validators.js.map +1 -0
  50. package/dist/cli/interactive/voucher-format.d.ts +4 -0
  51. package/dist/cli/interactive/voucher-format.js +28 -0
  52. package/dist/cli/interactive/voucher-format.js.map +1 -0
  53. package/dist/cli/program.js +4 -0
  54. package/dist/cli/program.js.map +1 -1
  55. package/dist/cli/spinner.d.ts +8 -0
  56. package/dist/cli/spinner.js +14 -0
  57. package/dist/cli/spinner.js.map +1 -0
  58. package/dist/cli/version.d.ts +1 -1
  59. package/dist/cli/version.js +1 -1
  60. package/dist/lib/dates/arca-date.d.ts +4 -0
  61. package/dist/lib/dates/arca-date.js +18 -1
  62. package/dist/lib/dates/arca-date.js.map +1 -1
  63. package/dist/modules/billing/billing.amounts.d.ts +12 -2
  64. package/dist/modules/billing/billing.amounts.js +52 -10
  65. package/dist/modules/billing/billing.amounts.js.map +1 -1
  66. package/dist/modules/billing/billing.associated-period.d.ts +8 -0
  67. package/dist/modules/billing/billing.associated-period.js +40 -0
  68. package/dist/modules/billing/billing.associated-period.js.map +1 -0
  69. package/dist/modules/billing/billing.associated-vouchers.d.ts +2 -0
  70. package/dist/modules/billing/billing.associated-vouchers.js +29 -7
  71. package/dist/modules/billing/billing.associated-vouchers.js.map +1 -1
  72. package/dist/modules/billing/billing.currency.d.ts +18 -0
  73. package/dist/modules/billing/billing.currency.js +53 -0
  74. package/dist/modules/billing/billing.currency.js.map +1 -0
  75. package/dist/modules/billing/billing.date-range.d.ts +5 -4
  76. package/dist/modules/billing/billing.date-range.js +34 -27
  77. package/dist/modules/billing/billing.date-range.js.map +1 -1
  78. package/dist/modules/billing/billing.display.js +30 -4
  79. package/dist/modules/billing/billing.display.js.map +1 -1
  80. package/dist/modules/billing/billing.fce.d.ts +21 -0
  81. package/dist/modules/billing/billing.fce.js +59 -0
  82. package/dist/modules/billing/billing.fce.js.map +1 -0
  83. package/dist/modules/billing/billing.iva-receptor.d.ts +8 -0
  84. package/dist/modules/billing/billing.iva-receptor.js +61 -0
  85. package/dist/modules/billing/billing.iva-receptor.js.map +1 -0
  86. package/dist/modules/billing/billing.labels.js +1 -1
  87. package/dist/modules/billing/billing.mappers.js +2 -1
  88. package/dist/modules/billing/billing.mappers.js.map +1 -1
  89. package/dist/modules/billing/billing.schemas.d.ts +40 -7
  90. package/dist/modules/billing/billing.schemas.js +38 -1
  91. package/dist/modules/billing/billing.schemas.js.map +1 -1
  92. package/dist/modules/billing/billing.serialize.js +2 -0
  93. package/dist/modules/billing/billing.serialize.js.map +1 -1
  94. package/dist/modules/billing/billing.service.d.ts +12 -0
  95. package/dist/modules/billing/billing.service.js +68 -10
  96. package/dist/modules/billing/billing.service.js.map +1 -1
  97. package/dist/modules/billing/billing.text.js +20 -8
  98. package/dist/modules/billing/billing.text.js.map +1 -1
  99. package/dist/modules/billing/billing.types.internal.d.ts +2 -0
  100. package/dist/modules/billing/billing.validation.d.ts +4 -2
  101. package/dist/modules/billing/billing.validation.js +36 -1
  102. package/dist/modules/billing/billing.validation.js.map +1 -1
  103. package/dist/modules/config/config-value-parser.d.ts +1 -1
  104. package/dist/modules/config/config-value-parser.js +29 -1
  105. package/dist/modules/config/config-value-parser.js.map +1 -1
  106. package/dist/modules/config/config.presenter.js +10 -2
  107. package/dist/modules/config/config.presenter.js.map +1 -1
  108. package/dist/modules/config/config.schemas.d.ts +26 -3
  109. package/dist/modules/config/config.schemas.js +19 -0
  110. package/dist/modules/config/config.schemas.js.map +1 -1
  111. package/dist/modules/config/config.service.js +4 -0
  112. package/dist/modules/config/config.service.js.map +1 -1
  113. package/dist/modules/examples/examples.d.ts +1 -1
  114. package/dist/modules/examples/examples.js +62 -38
  115. package/dist/modules/examples/examples.js.map +1 -1
  116. package/dist/modules/fce/fce-obligation.d.ts +20 -0
  117. package/dist/modules/fce/fce-obligation.js +33 -0
  118. package/dist/modules/fce/fce-obligation.js.map +1 -0
  119. package/dist/modules/fce/fce-obligation.presenter.d.ts +9 -0
  120. package/dist/modules/fce/fce-obligation.presenter.js +32 -0
  121. package/dist/modules/fce/fce-obligation.presenter.js.map +1 -0
  122. package/dist/modules/interactive/amount-input.d.ts +6 -0
  123. package/dist/modules/interactive/amount-input.js +29 -0
  124. package/dist/modules/interactive/amount-input.js.map +1 -0
  125. package/dist/modules/interactive/choices.d.ts +13 -0
  126. package/dist/modules/interactive/choices.js +56 -0
  127. package/dist/modules/interactive/choices.js.map +1 -0
  128. package/dist/modules/interactive/equivalent-command.d.ts +8 -0
  129. package/dist/modules/interactive/equivalent-command.js +85 -0
  130. package/dist/modules/interactive/equivalent-command.js.map +1 -0
  131. package/dist/modules/interactive/voucher-history.d.ts +25 -0
  132. package/dist/modules/interactive/voucher-history.js +42 -0
  133. package/dist/modules/interactive/voucher-history.js.map +1 -0
  134. package/dist/modules/storybook/showcase.d.ts +1 -1
  135. package/dist/modules/storybook/showcase.js +50 -6
  136. package/dist/modules/storybook/showcase.js.map +1 -1
  137. package/dist/modules/update-check/update-check.presenter.js +1 -1
  138. package/dist/modules/update-check/update-check.presenter.js.map +1 -1
  139. package/dist/services/arca/arca-billing.gateway.d.ts +1 -0
  140. package/dist/services/arca/arca-billing.gateway.js +12 -0
  141. package/dist/services/arca/arca-billing.gateway.js.map +1 -1
  142. package/dist/services/arca/arca-fce-obligation.gateway.d.ts +7 -0
  143. package/dist/services/arca/arca-fce-obligation.gateway.js +36 -0
  144. package/dist/services/arca/arca-fce-obligation.gateway.js.map +1 -0
  145. package/dist/services/arca/arca-voucher-history.gateway.d.ts +8 -0
  146. package/dist/services/arca/arca-voucher-history.gateway.js +28 -0
  147. package/dist/services/arca/arca-voucher-history.gateway.js.map +1 -0
  148. package/dist/ui/components/contentPanel.d.ts +2 -2
  149. package/dist/ui/components/contentPanel.js +2 -1
  150. package/dist/ui/components/contentPanel.js.map +1 -1
  151. package/dist/ui/components/errorPanel.js +3 -3
  152. package/dist/ui/components/errorPanel.js.map +1 -1
  153. package/dist/ui/components/index.d.ts +3 -0
  154. package/dist/ui/components/index.js +3 -0
  155. package/dist/ui/components/index.js.map +1 -1
  156. package/dist/ui/components/keyValuePanel.d.ts +2 -2
  157. package/dist/ui/components/keyValuePanel.js +2 -1
  158. package/dist/ui/components/keyValuePanel.js.map +1 -1
  159. package/dist/ui/components/rawPanel.js +1 -1
  160. package/dist/ui/components/rawPanel.js.map +1 -1
  161. package/dist/ui/components/sectionHeading.d.ts +3 -0
  162. package/dist/ui/components/sectionHeading.js +13 -0
  163. package/dist/ui/components/sectionHeading.js.map +1 -0
  164. package/dist/ui/components/statusBar.d.ts +6 -0
  165. package/dist/ui/components/statusBar.js +24 -0
  166. package/dist/ui/components/statusBar.js.map +1 -0
  167. package/dist/ui/components/statusPanel.d.ts +2 -2
  168. package/dist/ui/components/statusPanel.js +2 -1
  169. package/dist/ui/components/statusPanel.js.map +1 -1
  170. package/dist/ui/components/testingBanner.d.ts +2 -0
  171. package/dist/ui/components/testingBanner.js +6 -0
  172. package/dist/ui/components/testingBanner.js.map +1 -0
  173. package/dist/ui/presenters/errors.zod-presenter.js +22 -1
  174. package/dist/ui/presenters/errors.zod-presenter.js.map +1 -1
  175. package/dist/ui/primitives/renderLogo.js +5 -0
  176. package/dist/ui/primitives/renderLogo.js.map +1 -1
  177. package/dist/ui/primitives/renderPanel.d.ts +3 -1
  178. package/dist/ui/primitives/renderPanel.js +68 -21
  179. package/dist/ui/primitives/renderPanel.js.map +1 -1
  180. package/dist/ui/primitives/terminalWidth.d.ts +4 -0
  181. package/dist/ui/primitives/terminalWidth.js +11 -0
  182. package/dist/ui/primitives/terminalWidth.js.map +1 -0
  183. package/dist/ui/primitives/text.d.ts +5 -0
  184. package/dist/ui/primitives/text.js +91 -29
  185. package/dist/ui/primitives/text.js.map +1 -1
  186. package/dist/ui/theme/theme.d.ts +45 -4
  187. package/dist/ui/theme/theme.js +183 -5
  188. package/dist/ui/theme/theme.js.map +1 -1
  189. package/llms.txt +17 -5
  190. package/package.json +17 -14
@@ -0,0 +1,32 @@
1
+ import { keyValuePanel, renderKeyValueRows, resolveKeyValueLabelWidth } from '../../ui/index.js';
2
+ const MONEY_FORMATTER = new Intl.NumberFormat('es-AR', {
3
+ currency: 'ARS',
4
+ maximumFractionDigits: 2,
5
+ minimumFractionDigits: 2,
6
+ style: 'currency',
7
+ });
8
+ function formatArcaDate(value) {
9
+ return `${value.slice(6, 8)}/${value.slice(4, 6)}/${value.slice(0, 4)}`;
10
+ }
11
+ export function formatFceObligationAsJson(report) {
12
+ return JSON.stringify({
13
+ cuit: report.cuit,
14
+ entorno: report.environment,
15
+ fecha: report.issueDate,
16
+ montoDesde: report.obligation.minimumAmount,
17
+ obligado: report.obligation.obligated,
18
+ }, null, 2);
19
+ }
20
+ export function formatFceObligationAsText(report) {
21
+ const rows = [
22
+ ['CUIT', String(report.cuit)],
23
+ ['Fecha consultada', formatArcaDate(report.issueDate)],
24
+ ['Obligado a recibir FCE', report.obligation.obligated ? 'si' : 'no'],
25
+ ['Monto minimo', MONEY_FORMATTER.format(report.obligation.minimumAmount)],
26
+ ];
27
+ const footer = report.obligation.obligated
28
+ ? `Desde ese monto corresponde emitir FCE (fcea, fceb o fcec). Debajo, factura comun.`
29
+ : 'Corresponde emitir factura comun (fa, fb o fc).';
30
+ return keyValuePanel('Regimen FCE MiPyMEs', renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('standard', rows) }), footer, 'standard', undefined, 'sheet');
31
+ }
32
+ //# sourceMappingURL=fce-obligation.presenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fce-obligation.presenter.js","sourceRoot":"","sources":["../../../src/modules/fce/fce-obligation.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAWxF,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;IACrD,QAAQ,EAAE,KAAK;IACf,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU;CAClB,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAa;IACnC,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,yBAAyB,CAAC,MAA2B;IACnE,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,WAAW;QAC3B,KAAK,EAAE,MAAM,CAAC,SAAS;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa;QAC3C,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS;KACtC,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA2B;IACnE,MAAM,IAAI,GAAqC;QAC7C,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;KAC1E,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS;QACxC,CAAC,CAAC,oFAAoF;QACtF,CAAC,CAAC,iDAAiD,CAAC;IAEtD,OAAO,aAAa,CAClB,qBAAqB,EACrB,kBAAkB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,EACrF,MAAM,EACN,UAAU,EACV,SAAS,EACT,OAAO,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Interpreta montos escritos como en Argentina: `150000`, `150.000`, `1500,50`, `1.500,50` o `1500.50`.
3
+ * Con coma, los puntos son separadores de miles. Sin coma, un punto seguido de exactamente
4
+ * 3 digitos (o varios puntos) tambien son miles; si no, el punto es decimal.
5
+ */
6
+ export declare function parseAmountInput(raw: string): number | undefined;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Interpreta montos escritos como en Argentina: `150000`, `150.000`, `1500,50`, `1.500,50` o `1500.50`.
3
+ * Con coma, los puntos son separadores de miles. Sin coma, un punto seguido de exactamente
4
+ * 3 digitos (o varios puntos) tambien son miles; si no, el punto es decimal.
5
+ */
6
+ export function parseAmountInput(raw) {
7
+ const value = raw
8
+ .trim()
9
+ .replace(/^\$\s*/, '')
10
+ .replace(/\s/g, '');
11
+ if (!/^[\d.,]+$/.test(value)) {
12
+ return undefined;
13
+ }
14
+ let normalized;
15
+ if (value.includes(',')) {
16
+ if (value.indexOf(',') !== value.lastIndexOf(',')) {
17
+ return undefined;
18
+ }
19
+ normalized = value.replace(/\./g, '').replace(',', '.');
20
+ }
21
+ else {
22
+ const dots = value.split('.').length - 1;
23
+ const isThousands = dots > 1 || /^\d{1,3}\.\d{3}$/.test(value);
24
+ normalized = isThousands ? value.replace(/\./g, '') : value;
25
+ }
26
+ const amount = Number(normalized);
27
+ return Number.isFinite(amount) && amount > 0 ? Math.round(amount * 100) / 100 : undefined;
28
+ }
29
+ //# sourceMappingURL=amount-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount-input.js","sourceRoot":"","sources":["../../../src/modules/interactive/amount-input.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG;SACd,IAAI,EAAE;SACN,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,UAAkB,CAAC;IAEvB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/D,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { BillingConcept, BillingDocumentType, BillingIvaCondition, BillingIvaRate } from '../billing/billing.schemas';
2
+ import type { VoucherKindDefinition, VoucherLetter } from '../billing/billing.types';
3
+ export interface InteractiveChoice<T> {
4
+ readonly description?: string;
5
+ readonly name: string;
6
+ readonly value: T;
7
+ }
8
+ export declare function invoiceKindChoices(): Array<InteractiveChoice<VoucherKindDefinition>>;
9
+ export declare function noteKindChoices(kind: 'credito' | 'debito', invoice: VoucherKindDefinition): VoucherKindDefinition;
10
+ export declare function receiverChoices(letter: VoucherLetter): Array<InteractiveChoice<BillingDocumentType>>;
11
+ export declare function ivaConditionChoices(letter: VoucherLetter): Array<InteractiveChoice<BillingIvaCondition>>;
12
+ export declare function conceptChoices(): Array<InteractiveChoice<BillingConcept>>;
13
+ export declare function ivaRateChoices(): Array<InteractiveChoice<BillingIvaRate>>;
@@ -0,0 +1,56 @@
1
+ import { listAllowedIvaConditions } from '../billing/billing.iva-receptor.js';
2
+ import { formatIvaConditionLabel } from '../billing/billing.labels.js';
3
+ import { resolveBillingIvaConditionCode } from '../billing/billing.mappers.js';
4
+ import { VOUCHER_KIND_MAP } from '../billing/voucher-kind-map.js';
5
+ const INVOICE_DESCRIPTIONS = {
6
+ a: 'Entre responsables inscriptos, o de RI a monotributista',
7
+ b: 'De responsable inscripto a consumidor final, exento u otros',
8
+ c: 'La emiten monotributistas y exentos',
9
+ };
10
+ const INVOICE_SHORTCUTS = ['fc', 'fb', 'fa', 'fcec', 'fceb', 'fcea'];
11
+ export function invoiceKindChoices() {
12
+ return INVOICE_SHORTCUTS.map((shortcut) => {
13
+ const definition = VOUCHER_KIND_MAP[shortcut];
14
+ const description = definition.isElectronicCredit
15
+ ? 'Factura de Credito Electronica MiPyMEs, para grandes empresas'
16
+ : INVOICE_DESCRIPTIONS[definition.letter];
17
+ return { description, name: `${definition.displayName} (${shortcut})`, value: definition };
18
+ });
19
+ }
20
+ export function noteKindChoices(kind, invoice) {
21
+ const prefix = kind === 'credito' ? 'nc' : 'nd';
22
+ const shortcut = `${prefix}${invoice.isElectronicCredit ? 'e' : ''}${invoice.letter}`;
23
+ return VOUCHER_KIND_MAP[shortcut];
24
+ }
25
+ export function receiverChoices(letter) {
26
+ const choices = [];
27
+ // La A no admite consumidor final (10243), asi que solo se identifica por CUIT.
28
+ if (listAllowedIvaConditions(letter).includes('consumidor-final')) {
29
+ choices.push({ name: 'Consumidor final (sin identificar)', value: 'consumidor-final' });
30
+ }
31
+ choices.push({ name: 'Con CUIT', value: 'cuit' });
32
+ if (letter !== 'a') {
33
+ choices.push({ name: 'Con DNI', value: 'dni' });
34
+ }
35
+ return choices;
36
+ }
37
+ export function ivaConditionChoices(letter) {
38
+ return listAllowedIvaConditions(letter).map((condition) => ({
39
+ name: formatIvaConditionLabel(resolveBillingIvaConditionCode(condition)),
40
+ value: condition,
41
+ }));
42
+ }
43
+ export function conceptChoices() {
44
+ return [
45
+ { name: 'Servicios', value: 'servicios' },
46
+ { name: 'Productos', value: 'productos' },
47
+ { name: 'Productos y servicios', value: 'productos-servicios' },
48
+ ];
49
+ }
50
+ export function ivaRateChoices() {
51
+ return ['21', '10.5', '27', '5', '2.5', '0'].map((rate) => ({
52
+ name: `${rate.replace('.', ',')}%`,
53
+ value: rate,
54
+ }));
55
+ }
56
+ //# sourceMappingURL=choices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choices.js","sourceRoot":"","sources":["../../../src/modules/interactive/choices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { BillingCommandInput } from '../billing/billing.schemas';
2
+ /**
3
+ * Comando de CLI que reproduce exactamente la entrada armada por el asistente.
4
+ * Se muestra antes de emitir para que el usuario pueda repetirlo sin el modo interactivo.
5
+ */
6
+ export declare function buildEquivalentCommand(input: BillingCommandInput, options: {
7
+ readonly environment: 'produccion' | 'testing';
8
+ }): string;
@@ -0,0 +1,85 @@
1
+ const CONCEPT_FLAGS = {
2
+ productos: '--cp',
3
+ 'productos-servicios': '--csp',
4
+ servicios: '--cs',
5
+ };
6
+ function formatAmount(value) {
7
+ return String(value);
8
+ }
9
+ function identityFlags(input) {
10
+ if (input.documentType === 'consumidor-final') {
11
+ return ['--consumidor-final'];
12
+ }
13
+ return [`--${input.documentType}`, String(input.documentNumber)];
14
+ }
15
+ function associatedFlags(input) {
16
+ const flags = [];
17
+ const associated = input.associatedVoucher;
18
+ if (associated) {
19
+ if (associated.shortcut) {
20
+ flags.push('--ac', associated.shortcut);
21
+ }
22
+ else if (associated.tipo) {
23
+ flags.push('--at', String(associated.tipo));
24
+ }
25
+ if (associated.puntoVenta)
26
+ flags.push('--apv', String(associated.puntoVenta));
27
+ if (associated.numero)
28
+ flags.push('--ar', String(associated.numero));
29
+ if (associated.cuit)
30
+ flags.push('--acuit', associated.cuit);
31
+ if (associated.fecha)
32
+ flags.push('--afecha', associated.fecha);
33
+ }
34
+ if (input.associatedPeriod?.desde)
35
+ flags.push('--pd', input.associatedPeriod.desde);
36
+ if (input.associatedPeriod?.hasta)
37
+ flags.push('--ph', input.associatedPeriod.hasta);
38
+ return flags;
39
+ }
40
+ /**
41
+ * Comando de CLI que reproduce exactamente la entrada armada por el asistente.
42
+ * Se muestra antes de emitir para que el usuario pueda repetirlo sin el modo interactivo.
43
+ */
44
+ export function buildEquivalentCommand(input, options) {
45
+ const parts = [
46
+ 'arcli',
47
+ input.shortcut,
48
+ '-m',
49
+ formatAmount(input.totalAmount),
50
+ CONCEPT_FLAGS[input.concept],
51
+ ...identityFlags(input),
52
+ '--ir',
53
+ input.ivaCondition,
54
+ ];
55
+ if (input.pointOfSale)
56
+ parts.push('--pv', String(input.pointOfSale));
57
+ if (input.billingDate)
58
+ parts.push('-f', input.billingDate);
59
+ if (input.ivaRate)
60
+ parts.push('--alicuota', input.ivaRate);
61
+ if (input.exemptAmount)
62
+ parts.push('--exento', formatAmount(input.exemptAmount));
63
+ if (input.untaxedAmount)
64
+ parts.push('--nogravado', formatAmount(input.untaxedAmount));
65
+ if (input.serviceStartDate)
66
+ parts.push('--sd', input.serviceStartDate);
67
+ if (input.serviceEndDate)
68
+ parts.push('--sh', input.serviceEndDate);
69
+ if (input.paymentDueDate)
70
+ parts.push('--vto', input.paymentDueDate);
71
+ if (input.cbu)
72
+ parts.push('--cbu', input.cbu);
73
+ if (input.cbuAlias)
74
+ parts.push('--alias', input.cbuAlias);
75
+ if (input.transferMode)
76
+ parts.push('--transferencia', input.transferMode);
77
+ parts.push(...associatedFlags(input));
78
+ if (input.cancellation)
79
+ parts.push('--anulacion');
80
+ if (options.environment === 'produccion')
81
+ parts.push('--produccion');
82
+ parts.push('--emitir');
83
+ return parts.join(' ');
84
+ }
85
+ //# sourceMappingURL=equivalent-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equivalent-command.js","sourceRoot":"","sources":["../../../src/modules/interactive/equivalent-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { BillingDocumentType, BillingIvaRate } from '../billing/billing.schemas';
2
+ export interface IssuedVoucher {
3
+ readonly cae?: string;
4
+ readonly concept?: number;
5
+ readonly date: string;
6
+ readonly documentNumber: number;
7
+ readonly documentTypeCode: number;
8
+ readonly ivaAmount: number;
9
+ readonly netAmount: number;
10
+ readonly number: number;
11
+ readonly total: number;
12
+ }
13
+ export interface VoucherHistoryGateway {
14
+ getLastNumber(pointOfSale: number, voucherType: number): Promise<number>;
15
+ getVoucher(number: number, pointOfSale: number, voucherType: number): Promise<IssuedVoucher | undefined>;
16
+ }
17
+ export declare const RECENT_VOUCHERS_LIMIT = 10;
18
+ export declare function resolveDocumentType(code: number): BillingDocumentType | undefined;
19
+ /** ARCA no devuelve la alicuota de la factura; se deduce de IVA / neto cuando coincide con una tasa conocida. */
20
+ export declare function inferIvaRate(netAmount: number, ivaAmount: number): BillingIvaRate | undefined;
21
+ /** Ultimos comprobantes emitidos, del mas nuevo al mas viejo. */
22
+ export declare function listRecentVouchers(gateway: VoucherHistoryGateway, pointOfSale: number, voucherType: number, options?: {
23
+ readonly concurrency?: number;
24
+ readonly limit?: number;
25
+ }): Promise<IssuedVoucher[]>;
@@ -0,0 +1,42 @@
1
+ const DOCUMENT_TYPES_BY_CODE = {
2
+ 80: 'cuit',
3
+ 86: 'cuil',
4
+ 96: 'dni',
5
+ 99: 'consumidor-final',
6
+ };
7
+ const IVA_RATES = [
8
+ ['0', 0],
9
+ ['2.5', 0.025],
10
+ ['5', 0.05],
11
+ ['10.5', 0.105],
12
+ ['21', 0.21],
13
+ ['27', 0.27],
14
+ ];
15
+ export const RECENT_VOUCHERS_LIMIT = 10;
16
+ export function resolveDocumentType(code) {
17
+ return DOCUMENT_TYPES_BY_CODE[code];
18
+ }
19
+ /** ARCA no devuelve la alicuota de la factura; se deduce de IVA / neto cuando coincide con una tasa conocida. */
20
+ export function inferIvaRate(netAmount, ivaAmount) {
21
+ if (netAmount <= 0) {
22
+ return undefined;
23
+ }
24
+ const ratio = ivaAmount / netAmount;
25
+ const match = IVA_RATES.find(([, rate]) => Math.abs(rate - ratio) < 0.001);
26
+ return match?.[0];
27
+ }
28
+ /** Ultimos comprobantes emitidos, del mas nuevo al mas viejo. */
29
+ export async function listRecentVouchers(gateway, pointOfSale, voucherType, options = {}) {
30
+ const limit = options.limit ?? RECENT_VOUCHERS_LIMIT;
31
+ const concurrency = options.concurrency ?? 4;
32
+ const lastNumber = await gateway.getLastNumber(pointOfSale, voucherType);
33
+ const numbers = Array.from({ length: Math.min(limit, lastNumber) }, (_, index) => lastNumber - index);
34
+ const vouchers = [];
35
+ // Lotes chicos: cada consulta tarda ~0,5 s y no conviene saturar el web service.
36
+ for (let start = 0; start < numbers.length; start += concurrency) {
37
+ const batch = numbers.slice(start, start + concurrency);
38
+ vouchers.push(...(await Promise.all(batch.map((number) => gateway.getVoucher(number, pointOfSale, voucherType)))));
39
+ }
40
+ return vouchers.filter((voucher) => Boolean(voucher));
41
+ }
42
+ //# sourceMappingURL=voucher-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voucher-history.js","sourceRoot":"","sources":["../../../src/modules/interactive/voucher-history.ts"],"names":[],"mappings":"AAmBA,MAAM,sBAAsB,GAAwC;IAClE,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,kBAAkB;CACvB,CAAC;AAEF,MAAM,SAAS,GAAqD;IAClE,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,MAAM,EAAE,KAAK,CAAC;IACf,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,SAAiB;IAC/D,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IAE3E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA8B,EAC9B,WAAmB,EACnB,WAAmB,EACnB,UAAsE,EAAE;IAExE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAqC,EAAE,CAAC;IAEtD,iFAAiF;IACjF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC;QAExD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAA4B,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -1,2 +1,2 @@
1
- export type StorybookScene = 'colores' | 'componentes' | 'comprobantes' | 'configuracion' | 'errores' | 'json';
1
+ export type StorybookScene = 'bordes' | 'colores' | 'componentes' | 'comprobantes' | 'configuracion' | 'errores' | 'json';
2
2
  export declare function renderStorybookShowcase(scene?: StorybookScene): string;
@@ -1,5 +1,5 @@
1
1
  import { ConfigurationError, InputValidationError } from '../../lib/errors/app-error.js';
2
- import { badge, contentPanel, formatCliError, highlightJsonValues, noticePanel, renderKeyValueRows, renderLogo, renderObject, renderPanel, resolveKeyValueLabelWidth, statusPanel, toneText, } from '../../ui/index.js';
2
+ import { badge, colorize, contentPanel, formatCliError, highlightJsonValues, renderKeyValueRows, renderLogo, renderObject, renderPanel, resolveKeyValueLabelWidth, sectionHeading, statusBar, statusPanel, testingBanner, toneText, } from '../../ui/index.js';
3
3
  import { formatBillingResultAsJson, formatBillingResultAsText } from '../billing/billing.presenter.js';
4
4
  import { formatConfig, formatConfigAsText, formatConfigDoctor, formatConfigDoctorAsText, } from '../config/config.presenter.js';
5
5
  import { buildConfigDoctorReport } from '../config/config-doctor.js';
@@ -134,12 +134,54 @@ function buildColorsScene() {
134
134
  return [
135
135
  sceneTitle('Colores UI', 'Paleta semantica y tono debug'),
136
136
  `${badge('OK', 'success')} ${toneText('Paneles base listos', 'success')}`,
137
- `${badge('INFO', 'info')} ${toneText('Respuesta bruta o eventos', 'info')}`,
137
+ `${badge('INFO', 'info')} ${toneText('Paneles informativos y comandos', 'info')}`,
138
+ `${badge('DATA', 'subtle')} ${toneText('JSON, respuesta bruta y eventos', 'subtle')}`,
138
139
  `${badge('WARN', 'warning')} ${toneText('Observaciones o sugerencias', 'warning')}`,
139
140
  `${badge('ERROR', 'danger')} ${toneText('Errores o bloqueos', 'danger')}`,
140
141
  `${badge('DEBUG', 'debug')} ${toneText('Storybook y debug visual', 'debug')}`,
141
142
  ].join('\n\n');
142
143
  }
144
+ const BORDER_SAMPLES = [
145
+ ['ticket', 'Factura', 'Comprobantes: vista previa y resultado', 'success', 'RESULTADO'],
146
+ ['error', 'Error', 'Errores del CLI o de ARCA', 'danger'],
147
+ ['attention', 'Observaciones', 'Observaciones de ARCA y avisos del regimen FCE', 'warning'],
148
+ ['tip', 'Sugerencias', 'Sugerencias para resolver un problema', 'warning'],
149
+ ['sheet', 'Configuracion', 'Fichas de consulta: configuracion y regimen FCE', 'info'],
150
+ ['checklist', 'Revision', 'Revision de configuracion', 'success', 'VEREDICTO'],
151
+ ['listing', 'Ultimos comprobantes', 'Listados en tabla, como los ultimos comprobantes', 'info'],
152
+ ['note', 'Aviso', 'Avisos simples, por ejemplo "No se emitio nada"', undefined],
153
+ ['warning', 'Testing', 'Banner del entorno de testing', 'warning'],
154
+ ['info', 'Nueva version', 'Aviso de nueva version disponible', 'info'],
155
+ ['data', 'Billing json', 'JSON y respuestas crudas', 'subtle'],
156
+ ['common', 'Contenido', 'Base para paneles sin estilo propio', undefined],
157
+ ['debug', 'Storybook', 'Storybook y debug visual', 'debug'],
158
+ ];
159
+ function buildBordersScene() {
160
+ const boxes = BORDER_SAMPLES.map(([borderType, title, description, color, footer]) => renderPanel({
161
+ borderType,
162
+ content: [description],
163
+ footer,
164
+ footerColor: color,
165
+ footerDivider: Boolean(footer),
166
+ title,
167
+ titleColor: color,
168
+ width: 'compact',
169
+ }));
170
+ const command = renderPanel({
171
+ borderType: 'command',
172
+ content: [
173
+ colorize('Esto equivale a:', 'muted'),
174
+ 'arcli fc -m 1000 --cs --consumidor-final --ir consumidor-final --emitir',
175
+ ],
176
+ });
177
+ return [
178
+ sceneTitle('Bordes', 'Un estilo por tipo de panel; ARCLI_ASCII=1 los cambia por ASCII'),
179
+ ...boxes,
180
+ `${colorize('Barra de estado (modo interactivo):', 'muted')}\n${statusBar('Modo interactivo', 'testing · PV 3', 'warning')}`,
181
+ `${colorize('Seccion (arcli ejemplos):', 'muted')}\n${sectionHeading('Factura C')}`,
182
+ `${colorize('Comando para copiar:', 'muted')}\n${command}`,
183
+ ].join('\n\n');
184
+ }
143
185
  function buildBillingScene() {
144
186
  const preview = formatBillingResultAsText(createBillingResult({
145
187
  dryRun: true,
@@ -230,13 +272,13 @@ function buildJsonScene() {
230
272
  const doctorJson = highlightJsonValues(formatConfigDoctor(buildConfigDoctorReport(createSampleConfig(), { validation: createSampleValidation() })));
231
273
  return [
232
274
  sceneTitle('Json', 'Contratos estructurados para automatizacion y respuesta bruta'),
233
- contentPanel('Billing json', billingJson, 'wide', 'info'),
234
- contentPanel('Config json', configJson, 'wide', 'info'),
235
- contentPanel('Doctor json', doctorJson, 'wide', 'info'),
275
+ contentPanel('Billing json', billingJson, 'wide', 'subtle', 'left', 'data'),
276
+ contentPanel('Config json', configJson, 'wide', 'subtle', 'left', 'data'),
277
+ contentPanel('Doctor json', doctorJson, 'wide', 'subtle', 'left', 'data'),
236
278
  ].join('\n\n');
237
279
  }
238
280
  function buildComponentsScene() {
239
- const notice = noticePanel('Estas utilizando el entorno de TESTING', 'warning');
281
+ const notice = testingBanner();
240
282
  const updateNotice = renderUpdateNoticePanel(createSampleUpdateCheckResult());
241
283
  const keyValueRows = [
242
284
  ['CUIT', '20-40950976-3'],
@@ -286,6 +328,7 @@ function buildComponentsScene() {
286
328
  export function renderStorybookShowcase(scene) {
287
329
  const logo = renderLogo().trim();
288
330
  const scenes = {
331
+ bordes: buildBordersScene(),
289
332
  colores: buildColorsScene(),
290
333
  componentes: buildComponentsScene(),
291
334
  comprobantes: buildBillingScene(),
@@ -298,6 +341,7 @@ export function renderStorybookShowcase(scene) {
298
341
  showcaseIndex(),
299
342
  logo,
300
343
  scenes.colores,
344
+ scenes.bordes,
301
345
  scenes.componentes,
302
346
  scenes.configuracion,
303
347
  scenes.comprobantes,
@@ -1 +1 @@
1
- {"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../src/modules/storybook/showcase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../src/modules/storybook/showcase.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { noticePanel } from '../../ui/index.js';
2
2
  export function renderUpdateNoticePanel(result) {
3
3
  return noticePanel(`Nueva version disponible: ${result.latestVersion} (actual: ${result.currentVersion})\n` +
4
- 'Actualiza con: npm install -g arcli@latest', 'info');
4
+ 'Actualiza con: npm install -g arcli@latest', 'info', 'info');
5
5
  }
6
6
  //# 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,CACP,CAAC;AACJ,CAAC"}
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"}
@@ -6,4 +6,5 @@ export declare class ArcaBillingGateway implements BillingGateway {
6
6
  private readonly arca;
7
7
  constructor(arca: Arca);
8
8
  createNextVoucher(payload: INextVoucher): Promise<CreateVoucherResultDto>;
9
+ getQuotation(currencyCode: string): Promise<number>;
9
10
  }
@@ -1,3 +1,4 @@
1
+ import { AppError } from '../../lib/errors/app-error.js';
1
2
  export class ArcaBillingGateway {
2
3
  arca;
3
4
  constructor(arca) {
@@ -6,5 +7,16 @@ export class ArcaBillingGateway {
6
7
  async createNextVoucher(payload) {
7
8
  return this.arca.electronicBillingService.createNextVoucher(payload);
8
9
  }
10
+ async getQuotation(currencyCode) {
11
+ const result = await this.arca.electronicBillingService.getQuotation(currencyCode);
12
+ const exchangeRate = result.resultGet?.monCotiz;
13
+ if (typeof exchangeRate !== 'number' || exchangeRate <= 0) {
14
+ throw new AppError(`ARCA no devolvio una cotizacion valida para ${currencyCode}.`, {
15
+ code: 'ARCA_QUOTATION_ERROR',
16
+ details: { errors: result.errors },
17
+ });
18
+ }
19
+ return exchangeRate;
20
+ }
9
21
  }
10
22
  //# sourceMappingURL=arca-billing.gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-billing.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-billing.gateway.ts"],"names":[],"mappings":"AAMA,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;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,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"}
@@ -0,0 +1,7 @@
1
+ import type { Arca } from '@arcasdk/core';
2
+ import type { FceObligation, FceObligationGateway } from '../../modules/fce/fce-obligation';
3
+ export declare class ArcaFceObligationGateway implements FceObligationGateway {
4
+ private readonly arca;
5
+ constructor(arca: Arca);
6
+ getObligation(cuit: number, issueDate: string): Promise<FceObligation>;
7
+ }
@@ -0,0 +1,36 @@
1
+ import { AppError } from '../../lib/errors/app-error.js';
2
+ const NOT_AUTHORIZED_MESSAGE = 'El certificado no esta autorizado para el servicio wsfecred (Factura de Credito Electronica). Autoricelo igual que wsfe: en testing desde WSASS ("Crear autorizacion a servicio") y en produccion desde el Administrador de Relaciones.';
3
+ function toIsoDate(arcaDate) {
4
+ return `${arcaDate.slice(0, 4)}-${arcaDate.slice(4, 6)}-${arcaDate.slice(6, 8)}`;
5
+ }
6
+ export class ArcaFceObligationGateway {
7
+ arca;
8
+ constructor(arca) {
9
+ this.arca = arca;
10
+ }
11
+ async getObligation(cuit, issueDate) {
12
+ let output;
13
+ try {
14
+ output = await this.arca.wsfecredService.consultarMontoObligadoRecepcion({
15
+ cuitConsultada: cuit,
16
+ fechaEmision: toIsoDate(issueDate),
17
+ });
18
+ }
19
+ catch (error) {
20
+ if (error instanceof Error && error.message.includes('notAuthorized')) {
21
+ throw new AppError(NOT_AUTHORIZED_MESSAGE, { code: 'FCE_SERVICE_NOT_AUTHORIZED' });
22
+ }
23
+ throw error;
24
+ }
25
+ const result = output.consultarMontoObligadoRecepcionReturn;
26
+ const errors = result.arrayErrores?.codigoDescripcion ?? [];
27
+ if (errors.length > 0) {
28
+ throw new AppError(`ARCA no pudo informar si el receptor esta obligado a FCE: ${errors.map((item) => `${item.codigo} ${item.descripcion}`).join('; ')}`, { code: 'FCE_OBLIGATION_ERROR', details: { errors } });
29
+ }
30
+ return {
31
+ minimumAmount: Number(result.montoDesde ?? 0),
32
+ obligated: result.obligado === 'S',
33
+ };
34
+ }
35
+ }
36
+ //# sourceMappingURL=arca-fce-obligation.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arca-fce-obligation.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-fce-obligation.gateway.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,MAAM,sBAAsB,GAC1B,yOAAyO,CAAC;AAE5O,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,OAAO,wBAAwB;IACC;IAApC,YAAoC,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,SAAiB;QACxD,IAAI,MAAuF,CAAC;QAE5F,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC;gBACvE,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,qCAAqC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,iBAAiB,IAAI,EAAE,CAAC;QAE5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,6DAA6D,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpI,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CACtD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;YAC7C,SAAS,EAAE,MAAM,CAAC,QAAQ,KAAK,GAAG;SACnC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { Arca } from '@arcasdk/core';
2
+ import type { IssuedVoucher, VoucherHistoryGateway } from '../../modules/interactive/voucher-history';
3
+ export declare class ArcaVoucherHistoryGateway implements VoucherHistoryGateway {
4
+ private readonly arca;
5
+ constructor(arca: Arca);
6
+ getLastNumber(pointOfSale: number, voucherType: number): Promise<number>;
7
+ getVoucher(number: number, pointOfSale: number, voucherType: number): Promise<IssuedVoucher | undefined>;
8
+ }