arcli 1.2.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 (125) hide show
  1. package/CHANGELOG.md +49 -1
  2. package/README.md +4 -3
  3. package/dist/cli/commands/billing.command.shared.js +2 -2
  4. package/dist/cli/commands/billing.command.shared.js.map +1 -1
  5. package/dist/cli/commands/config.command.d.ts +5 -0
  6. package/dist/cli/commands/config.command.js +3 -3
  7. package/dist/cli/commands/config.command.js.map +1 -1
  8. package/dist/cli/commands/fce-obligation.command.js +2 -2
  9. package/dist/cli/commands/fce-obligation.command.js.map +1 -1
  10. package/dist/cli/commands/interactive.command.d.ts +3 -0
  11. package/dist/cli/commands/interactive.command.js +22 -0
  12. package/dist/cli/commands/interactive.command.js.map +1 -0
  13. package/dist/cli/commands/storybook.command.js +3 -2
  14. package/dist/cli/commands/storybook.command.js.map +1 -1
  15. package/dist/cli/help.js +1 -0
  16. package/dist/cli/help.js.map +1 -1
  17. package/dist/cli/index.js +3 -1
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/interactive/history.flow.d.ts +2 -0
  20. package/dist/cli/interactive/history.flow.js +31 -0
  21. package/dist/cli/interactive/history.flow.js.map +1 -0
  22. package/dist/cli/interactive/interactive-mode.d.ts +3 -0
  23. package/dist/cli/interactive/interactive-mode.js +92 -0
  24. package/dist/cli/interactive/interactive-mode.js.map +1 -0
  25. package/dist/cli/interactive/invoice.flow.d.ts +2 -0
  26. package/dist/cli/interactive/invoice.flow.js +54 -0
  27. package/dist/cli/interactive/invoice.flow.js.map +1 -0
  28. package/dist/cli/interactive/note.flow.d.ts +2 -0
  29. package/dist/cli/interactive/note.flow.js +99 -0
  30. package/dist/cli/interactive/note.flow.js.map +1 -0
  31. package/dist/cli/interactive/prompts.d.ts +13 -0
  32. package/dist/cli/interactive/prompts.js +24 -0
  33. package/dist/cli/interactive/prompts.js.map +1 -0
  34. package/dist/cli/interactive/session.d.ts +22 -0
  35. package/dist/cli/interactive/session.js +86 -0
  36. package/dist/cli/interactive/session.js.map +1 -0
  37. package/dist/cli/interactive/validators.d.ts +5 -0
  38. package/dist/cli/interactive/validators.js +17 -0
  39. package/dist/cli/interactive/validators.js.map +1 -0
  40. package/dist/cli/interactive/voucher-format.d.ts +4 -0
  41. package/dist/cli/interactive/voucher-format.js +28 -0
  42. package/dist/cli/interactive/voucher-format.js.map +1 -0
  43. package/dist/cli/program.js +2 -0
  44. package/dist/cli/program.js.map +1 -1
  45. package/dist/cli/spinner.d.ts +8 -0
  46. package/dist/cli/spinner.js +14 -0
  47. package/dist/cli/spinner.js.map +1 -0
  48. package/dist/cli/version.d.ts +1 -1
  49. package/dist/cli/version.js +1 -1
  50. package/dist/modules/billing/billing.display.js +4 -4
  51. package/dist/modules/billing/billing.display.js.map +1 -1
  52. package/dist/modules/billing/billing.iva-receptor.d.ts +1 -0
  53. package/dist/modules/billing/billing.iva-receptor.js +3 -0
  54. package/dist/modules/billing/billing.iva-receptor.js.map +1 -1
  55. package/dist/modules/billing/billing.schemas.d.ts +4 -4
  56. package/dist/modules/billing/billing.text.js +10 -6
  57. package/dist/modules/billing/billing.text.js.map +1 -1
  58. package/dist/modules/config/config.presenter.js +2 -2
  59. package/dist/modules/config/config.presenter.js.map +1 -1
  60. package/dist/modules/config/config.schemas.d.ts +2 -2
  61. package/dist/modules/examples/examples.js +2 -13
  62. package/dist/modules/examples/examples.js.map +1 -1
  63. package/dist/modules/fce/fce-obligation.presenter.js +1 -1
  64. package/dist/modules/fce/fce-obligation.presenter.js.map +1 -1
  65. package/dist/modules/interactive/amount-input.d.ts +6 -0
  66. package/dist/modules/interactive/amount-input.js +29 -0
  67. package/dist/modules/interactive/amount-input.js.map +1 -0
  68. package/dist/modules/interactive/choices.d.ts +13 -0
  69. package/dist/modules/interactive/choices.js +56 -0
  70. package/dist/modules/interactive/choices.js.map +1 -0
  71. package/dist/modules/interactive/equivalent-command.d.ts +8 -0
  72. package/dist/modules/interactive/equivalent-command.js +85 -0
  73. package/dist/modules/interactive/equivalent-command.js.map +1 -0
  74. package/dist/modules/interactive/voucher-history.d.ts +25 -0
  75. package/dist/modules/interactive/voucher-history.js +42 -0
  76. package/dist/modules/interactive/voucher-history.js.map +1 -0
  77. package/dist/modules/storybook/showcase.d.ts +1 -1
  78. package/dist/modules/storybook/showcase.js +50 -6
  79. package/dist/modules/storybook/showcase.js.map +1 -1
  80. package/dist/modules/update-check/update-check.presenter.js +1 -1
  81. package/dist/modules/update-check/update-check.presenter.js.map +1 -1
  82. package/dist/services/arca/arca-voucher-history.gateway.d.ts +8 -0
  83. package/dist/services/arca/arca-voucher-history.gateway.js +28 -0
  84. package/dist/services/arca/arca-voucher-history.gateway.js.map +1 -0
  85. package/dist/ui/components/contentPanel.d.ts +2 -2
  86. package/dist/ui/components/contentPanel.js +2 -1
  87. package/dist/ui/components/contentPanel.js.map +1 -1
  88. package/dist/ui/components/errorPanel.js +3 -3
  89. package/dist/ui/components/errorPanel.js.map +1 -1
  90. package/dist/ui/components/index.d.ts +3 -0
  91. package/dist/ui/components/index.js +3 -0
  92. package/dist/ui/components/index.js.map +1 -1
  93. package/dist/ui/components/keyValuePanel.d.ts +2 -2
  94. package/dist/ui/components/keyValuePanel.js +2 -1
  95. package/dist/ui/components/keyValuePanel.js.map +1 -1
  96. package/dist/ui/components/rawPanel.js +1 -1
  97. package/dist/ui/components/rawPanel.js.map +1 -1
  98. package/dist/ui/components/sectionHeading.d.ts +3 -0
  99. package/dist/ui/components/sectionHeading.js +13 -0
  100. package/dist/ui/components/sectionHeading.js.map +1 -0
  101. package/dist/ui/components/statusBar.d.ts +6 -0
  102. package/dist/ui/components/statusBar.js +24 -0
  103. package/dist/ui/components/statusBar.js.map +1 -0
  104. package/dist/ui/components/statusPanel.d.ts +2 -2
  105. package/dist/ui/components/statusPanel.js +2 -1
  106. package/dist/ui/components/statusPanel.js.map +1 -1
  107. package/dist/ui/components/testingBanner.d.ts +2 -0
  108. package/dist/ui/components/testingBanner.js +6 -0
  109. package/dist/ui/components/testingBanner.js.map +1 -0
  110. package/dist/ui/primitives/renderLogo.js +5 -0
  111. package/dist/ui/primitives/renderLogo.js.map +1 -1
  112. package/dist/ui/primitives/renderPanel.d.ts +3 -1
  113. package/dist/ui/primitives/renderPanel.js +68 -21
  114. package/dist/ui/primitives/renderPanel.js.map +1 -1
  115. package/dist/ui/primitives/terminalWidth.d.ts +4 -0
  116. package/dist/ui/primitives/terminalWidth.js +11 -0
  117. package/dist/ui/primitives/terminalWidth.js.map +1 -0
  118. package/dist/ui/primitives/text.d.ts +5 -0
  119. package/dist/ui/primitives/text.js +91 -29
  120. package/dist/ui/primitives/text.js.map +1 -1
  121. package/dist/ui/theme/theme.d.ts +45 -4
  122. package/dist/ui/theme/theme.js +183 -5
  123. package/dist/ui/theme/theme.js.map +1 -1
  124. package/llms.txt +8 -0
  125. package/package.json +15 -13
@@ -5,6 +5,7 @@ const BOLD = '\u001B[1m';
5
5
  // coloreado que dibuja boxen.
6
6
  const BOLD_OFF = '\u001B[22m';
7
7
  const COLOR_OFF = '\u001B[39m';
8
+ const DIM = '\u001B[2m';
8
9
  export function shouldUseColor(target = 'stdout') {
9
10
  if (process.env.NO_COLOR) {
10
11
  return false;
@@ -32,7 +33,10 @@ export function colorize(value, color, target = 'stdout') {
32
33
  if (!shouldUseColor(target)) {
33
34
  return value;
34
35
  }
35
- return wrapLines(value, resolveTextColor(color), COLOR_OFF);
36
+ const open = resolveTextColor(color);
37
+ // El atenuado (muted) no se apaga con COLOR_OFF: si se cerrara asi quedaria prendido y
38
+ // apagaria todo lo que se imprime despues. Se cierra igual que la negrita.
39
+ return wrapLines(value, open, open === DIM ? BOLD_OFF : COLOR_OFF);
36
40
  }
37
41
  export function bold(value, target = 'stdout') {
38
42
  if (!shouldUseColor(target)) {
@@ -90,6 +94,74 @@ export function wrapPlainText(value, width) {
90
94
  return wrapped.length > 0 ? wrapped : [''];
91
95
  });
92
96
  }
97
+ // Reparte palabras en lineas de `width` columnas visibles. La primera linea arranca con `firstPrefix`
98
+ // y las siguientes con `continuationPrefix`; las palabras mas largas que el espacio se cortan.
99
+ function wrapWords(words, firstPrefix, continuationPrefix, width) {
100
+ const availableWidth = Math.max(1, width - stripAnsi(continuationPrefix).length);
101
+ const wrapped = [];
102
+ let currentLine = firstPrefix;
103
+ let currentHasWords = false;
104
+ for (const word of words) {
105
+ const candidate = currentHasWords ? `${currentLine} ${word}` : `${currentLine}${word}`;
106
+ if (stripAnsi(candidate).length <= width) {
107
+ currentLine = candidate;
108
+ currentHasWords = true;
109
+ continue;
110
+ }
111
+ if (currentHasWords) {
112
+ wrapped.push(currentLine);
113
+ }
114
+ let remaining = word;
115
+ while (stripAnsi(remaining).length > availableWidth) {
116
+ wrapped.push(`${continuationPrefix}${remaining.slice(0, availableWidth)}`);
117
+ remaining = remaining.slice(availableWidth);
118
+ }
119
+ currentLine = `${continuationPrefix}${remaining}`;
120
+ currentHasWords = true;
121
+ }
122
+ if (currentHasWords) {
123
+ wrapped.push(currentLine);
124
+ }
125
+ return wrapped;
126
+ }
127
+ // eslint-disable-next-line no-control-regex
128
+ const ANSI_SEQUENCE = /^\u001B\[[0-9;]*m/;
129
+ // Corta `line` en la columna visible `column`, sin partir secuencias ANSI: los codigos que caen
130
+ // antes de esa columna (por ejemplo el cierre de una etiqueta en negrita) quedan en la primera parte.
131
+ function splitAtVisibleColumn(line, column) {
132
+ let visible = 0;
133
+ let index = 0;
134
+ while (index < line.length && visible < column) {
135
+ const ansi = ANSI_SEQUENCE.exec(line.slice(index));
136
+ if (ansi) {
137
+ index += ansi[0].length;
138
+ continue;
139
+ }
140
+ visible += 1;
141
+ index += 1;
142
+ }
143
+ // Los codigos ANSI pegados al corte tambien van con la primera parte.
144
+ for (let ansi = ANSI_SEQUENCE.exec(line.slice(index)); ansi; ansi = ANSI_SEQUENCE.exec(line.slice(index))) {
145
+ index += ansi[0].length;
146
+ }
147
+ return [line.slice(0, index), line.slice(index)];
148
+ }
149
+ // Saca los espacios del final sin perder los codigos ANSI que haya entre ellos (el cierre de una negrita).
150
+ function trimTrailingSpaces(value) {
151
+ // eslint-disable-next-line no-control-regex
152
+ const codes = value.match(/(?:\u001B\[[0-9;]*m)+\s*$/)?.[0]?.replace(/\s/g, '') ?? '';
153
+ // eslint-disable-next-line no-control-regex
154
+ return `${value.replace(/(?:\s|\u001B\[[0-9;]*m)+$/, '')}${codes}`;
155
+ }
156
+ // Filas "etiqueta + 2 o mas espacios + valor", como las de las tablas de los paneles.
157
+ const LABEL_VALUE_LINE = /^(\s*\S(?:.*?\S)?\s{2,})(\S.*)$/;
158
+ // Espacio minimo para el valor; con menos, conviene partir la linea entera.
159
+ const MIN_VALUE_COLUMN_WIDTH = 12;
160
+ /**
161
+ * Parte lineas que no entran en `width` respetando su sangria.
162
+ * Si la linea es una fila etiqueta/valor, el valor sigue debajo de su propia columna en vez de
163
+ * pegarse a la etiqueta, asi la tabla no se desarma en terminales angostas.
164
+ */
93
165
  export function wrapIndentedPlainText(value, width) {
94
166
  if (width <= 0) {
95
167
  return [value];
@@ -98,39 +170,29 @@ export function wrapIndentedPlainText(value, width) {
98
170
  if (stripAnsi(line).length <= width) {
99
171
  return [line];
100
172
  }
173
+ // La columna se busca sobre el texto visible: con ANSI (etiquetas en negrita) la regex cortaria mal.
174
+ const columnMatch = LABEL_VALUE_LINE.exec(stripAnsi(line));
175
+ const prefixWidth = columnMatch?.[1]?.length ?? 0;
176
+ if (columnMatch) {
177
+ const [prefix, rest] = splitAtVisibleColumn(line, prefixWidth);
178
+ const values = rest.split(/\s+/);
179
+ if (width - prefixWidth >= MIN_VALUE_COLUMN_WIDTH) {
180
+ return wrapWords(values, prefix, ' '.repeat(prefixWidth), width);
181
+ }
182
+ // Sin lugar para la columna: etiqueta en una linea y el valor debajo, con sangria.
183
+ const indent = columnMatch[1]?.match(/^\s*/)?.[0] ?? '';
184
+ const valueIndent = `${indent} `;
185
+ return [
186
+ ...wrapWords([trimTrailingSpaces(prefix)], '', indent, width),
187
+ ...wrapWords(values, valueIndent, valueIndent, width),
188
+ ];
189
+ }
101
190
  const indent = line.match(/^\s*/)?.[0] ?? '';
102
191
  const content = line.slice(indent.length).trimStart();
103
- const continuationIndent = indent;
104
- const availableWidth = Math.max(1, width - stripAnsi(continuationIndent).length);
105
192
  if (!content) {
106
193
  return [line];
107
194
  }
108
- const words = content.split(/\s+/);
109
- const wrapped = [];
110
- let currentLine = indent;
111
- for (const word of words) {
112
- const candidate = currentLine.trim().length > 0 ? `${currentLine} ${word}` : `${indent}${word}`;
113
- if (stripAnsi(candidate).length <= width) {
114
- currentLine = candidate;
115
- continue;
116
- }
117
- if (currentLine.trim().length > 0) {
118
- wrapped.push(currentLine);
119
- }
120
- if (stripAnsi(word).length <= availableWidth) {
121
- currentLine = `${continuationIndent}${word}`;
122
- continue;
123
- }
124
- let remaining = word;
125
- while (stripAnsi(remaining).length > availableWidth) {
126
- wrapped.push(`${continuationIndent}${remaining.slice(0, availableWidth)}`);
127
- remaining = remaining.slice(availableWidth);
128
- }
129
- currentLine = `${continuationIndent}${remaining}`;
130
- }
131
- if (currentLine.trim().length > 0) {
132
- wrapped.push(currentLine);
133
- }
195
+ const wrapped = wrapWords(content.split(/\s+/), indent, indent, width);
134
196
  return wrapped.length > 0 ? wrapped : [line];
135
197
  });
136
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/ui/primitives/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/ui/primitives/text.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,40 @@
1
- import type { Options as BoxenOptions, Spacing as BoxenSpacing } from 'boxen';
2
- export type UiBorderType = 'arrow' | 'common' | 'debug' | 'note';
3
- export type UiColorToken = 'danger' | 'debug' | 'info' | 'muted' | 'neutral' | 'success' | 'warning';
1
+ import type { Spacing as BoxenSpacing } from 'boxen';
2
+ /**
3
+ * Tipo de borde segun lo que se muestra:
4
+ * - common: paneles de contenido (configuracion, observaciones, sugerencias, avisos FCE)
5
+ * - ticket: comprobante, como common pero con la linea de corte punteada antes del estado
6
+ * - error: errores del CLI o de ARCA (redondeado con franja gruesa a la izquierda)
7
+ * - attention: observaciones y avisos (como error, con la franja a trazos)
8
+ * - tip: sugerencias (como error, con la franja fina punteada)
9
+ * - sheet: fichas de consulta, como configuracion o regimen FCE (titulo a la izquierda)
10
+ * - checklist: revision de configuracion (doble lateral, veredicto en el pie)
11
+ * - listing: listados en tabla, como los ultimos comprobantes (solo reglas arriba y abajo)
12
+ * - note: avisos simples de una linea (solo esquinas)
13
+ * - warning: banner del entorno de testing
14
+ * - info: aviso de nueva version
15
+ * - data: JSON y respuestas crudas
16
+ * - command: comandos para copiar (solo barra a la izquierda, sin borde derecho)
17
+ * - debug: storybook
18
+ */
19
+ export type UiBorderType = 'attention' | 'checklist' | 'command' | 'common' | 'data' | 'debug' | 'error' | 'info' | 'listing' | 'note' | 'sheet' | 'ticket' | 'tip' | 'warning';
20
+ export interface UiBoxBorder {
21
+ readonly bottom: string;
22
+ readonly bottomLeft: string;
23
+ readonly bottomRight: string;
24
+ readonly left: string;
25
+ readonly right: string;
26
+ readonly top: string;
27
+ readonly topLeft: string;
28
+ readonly topRight: string;
29
+ }
30
+ export interface UiBorderStyle {
31
+ readonly box: UiBoxBorder;
32
+ /** Linea divisoria unida al borde: [izquierda, relleno, derecha]. Sin junction, el divisor va por adentro. */
33
+ readonly junction?: readonly [left: string, fill: string, right: string];
34
+ /** Alineacion del titulo sobre el borde; por defecto, centrado. */
35
+ readonly titleAlignment?: 'center' | 'left';
36
+ }
37
+ export type UiColorToken = 'danger' | 'debug' | 'info' | 'muted' | 'neutral' | 'subtle' | 'success' | 'warning';
4
38
  export type UiWidthPreset = 'compact' | 'standard' | 'wide';
5
39
  export interface UiWidthRange {
6
40
  readonly max: number;
@@ -8,7 +42,14 @@ export interface UiWidthRange {
8
42
  }
9
43
  export interface UiTheme {
10
44
  readonly badgeBrackets: readonly [left: string, right: string];
11
- readonly borderStyles: Readonly<Record<UiBorderType, BoxenOptions['borderStyle']>>;
45
+ /** Bordes Unicode por tipo; `command` no dibuja caja, solo la barra de `commandBar`. */
46
+ readonly borderStyles: Readonly<Record<Exclude<UiBorderType, 'command'>, UiBorderStyle>>;
47
+ /** Respaldo para terminales sin caracteres de caja (ARCLI_ASCII=1). */
48
+ readonly asciiBorderStyle: UiBorderStyle;
49
+ readonly commandBar: {
50
+ readonly ascii: string;
51
+ readonly unicode: string;
52
+ };
12
53
  readonly colors: Readonly<Record<UiColorToken, string>>;
13
54
  readonly headingLineMinWidth: number;
14
55
  readonly spacing: {
@@ -1,17 +1,195 @@
1
1
  export const UI_THEME = {
2
2
  badgeBrackets: ['[', ']'],
3
+ asciiBorderStyle: {
4
+ box: {
5
+ bottom: '-',
6
+ bottomLeft: '+',
7
+ bottomRight: '+',
8
+ left: '|',
9
+ right: '|',
10
+ top: '-',
11
+ topLeft: '+',
12
+ topRight: '+',
13
+ },
14
+ junction: ['+', '-', '+'],
15
+ },
3
16
  borderStyles: {
4
- arrow: 'arrow',
5
- common: 'doubleSingle',
6
- debug: 'single',
7
- note: 'classic',
17
+ attention: {
18
+ box: {
19
+ bottom: '─',
20
+ bottomLeft: '╰',
21
+ bottomRight: '╯',
22
+ left: '╏',
23
+ right: '│',
24
+ top: '─',
25
+ topLeft: '╭',
26
+ topRight: '╮',
27
+ },
28
+ },
29
+ checklist: {
30
+ box: {
31
+ bottom: '─',
32
+ bottomLeft: '╙',
33
+ bottomRight: '╜',
34
+ left: '║',
35
+ right: '║',
36
+ top: '─',
37
+ topLeft: '╓',
38
+ topRight: '╖',
39
+ },
40
+ junction: ['╟', '─', '╢'],
41
+ },
42
+ common: {
43
+ box: {
44
+ bottom: '═',
45
+ bottomLeft: '╘',
46
+ bottomRight: '╛',
47
+ left: '│',
48
+ right: '│',
49
+ top: '═',
50
+ topLeft: '╒',
51
+ topRight: '╕',
52
+ },
53
+ },
54
+ data: {
55
+ box: {
56
+ bottom: '┈',
57
+ bottomLeft: '└',
58
+ bottomRight: '┘',
59
+ left: '┊',
60
+ right: '┊',
61
+ top: '┈',
62
+ topLeft: '┌',
63
+ topRight: '┐',
64
+ },
65
+ junction: ['├', '┈', '┤'],
66
+ },
67
+ debug: {
68
+ box: {
69
+ bottom: '─',
70
+ bottomLeft: '└',
71
+ bottomRight: '┘',
72
+ left: '│',
73
+ right: '│',
74
+ top: '─',
75
+ topLeft: '┌',
76
+ topRight: '┐',
77
+ },
78
+ },
79
+ error: {
80
+ box: {
81
+ bottom: '─',
82
+ bottomLeft: '╰',
83
+ bottomRight: '╯',
84
+ left: '┃',
85
+ right: '│',
86
+ top: '─',
87
+ topLeft: '╭',
88
+ topRight: '╮',
89
+ },
90
+ },
91
+ info: {
92
+ box: {
93
+ bottom: '─',
94
+ bottomLeft: '╰',
95
+ bottomRight: '╯',
96
+ left: '│',
97
+ right: '│',
98
+ top: '─',
99
+ topLeft: '╭',
100
+ topRight: '╮',
101
+ },
102
+ junction: ['├', '─', '┤'],
103
+ },
104
+ listing: {
105
+ box: {
106
+ bottom: '═',
107
+ bottomLeft: '═',
108
+ bottomRight: '═',
109
+ left: ' ',
110
+ right: ' ',
111
+ top: '═',
112
+ topLeft: '═',
113
+ topRight: '═',
114
+ },
115
+ titleAlignment: 'left',
116
+ },
117
+ note: {
118
+ box: {
119
+ bottom: ' ',
120
+ bottomLeft: '└',
121
+ bottomRight: '┘',
122
+ left: ' ',
123
+ right: ' ',
124
+ top: ' ',
125
+ topLeft: '┌',
126
+ topRight: '┐',
127
+ },
128
+ },
129
+ sheet: {
130
+ box: {
131
+ bottom: '─',
132
+ bottomLeft: '└',
133
+ bottomRight: '┘',
134
+ left: '│',
135
+ right: '│',
136
+ top: '─',
137
+ topLeft: '┌',
138
+ topRight: '┐',
139
+ },
140
+ junction: ['├', '─', '┤'],
141
+ titleAlignment: 'left',
142
+ },
143
+ ticket: {
144
+ box: {
145
+ bottom: '═',
146
+ bottomLeft: '╘',
147
+ bottomRight: '╛',
148
+ left: '│',
149
+ right: '│',
150
+ top: '═',
151
+ topLeft: '╒',
152
+ topRight: '╕',
153
+ },
154
+ junction: ['├', '┄', '┤'],
155
+ },
156
+ tip: {
157
+ box: {
158
+ bottom: '─',
159
+ bottomLeft: '╰',
160
+ bottomRight: '╯',
161
+ left: '┆',
162
+ right: '│',
163
+ top: '─',
164
+ topLeft: '╭',
165
+ topRight: '╮',
166
+ },
167
+ },
168
+ warning: {
169
+ box: {
170
+ bottom: '╌',
171
+ bottomLeft: '└',
172
+ bottomRight: '┘',
173
+ left: '╎',
174
+ right: '╎',
175
+ top: '╌',
176
+ topLeft: '┌',
177
+ topRight: '┐',
178
+ },
179
+ junction: ['├', '╌', '┤'],
180
+ },
8
181
  },
182
+ commandBar: { ascii: '| ', unicode: '▎ ' },
9
183
  colors: {
10
184
  danger: '\u001B[31m',
11
185
  debug: '\u001B[95m',
12
186
  info: '\u001B[36m',
13
187
  muted: '\u001B[2m',
14
- neutral: '\u001B[37m',
188
+ // Color por defecto de la terminal: claro en fondos oscuros y oscuro en fondos claros.
189
+ // Un blanco fijo (\u001B[37m) casi no se leia en terminales con fondo claro.
190
+ neutral: '\u001B[39m',
191
+ // Gris (bright black): para titulos de datos crudos, que tienen que verse pero sin competir.
192
+ subtle: '\u001B[90m',
15
193
  success: '\u001B[32m',
16
194
  warning: '\u001B[33m',
17
195
  },
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/ui/theme/theme.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS;KAChB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;KACtB;IACD,mBAAmB,EAAE,EAAE;IACvB,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;SACR;KACF;IACD,KAAK,EAAE;QACL,GAAG,EAAE,CAAC;QACN,UAAU,EAAE,EAAE;KACf;IACD,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAC7B,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;QAC/B,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;KAC5B;CACF,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/ui/theme/theme.ts"],"names":[],"mappings":"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"}
package/llms.txt CHANGED
@@ -23,6 +23,14 @@ Sin `cuit`, `cert.<entorno>`, `key.<entorno>` y `puntoVenta` configurados (o pas
23
23
  flag), cualquier comando de facturación falla con `ConfigurationError` antes de contactar
24
24
  ARCA. `--testing` es el entorno por defecto; `--produccion` cambia a real.
25
25
 
26
+ ## Salida humana
27
+
28
+ `NO_COLOR` desactiva colores y `ARCLI_ASCII=1` dibuja los paneles en ASCII puro. Ninguna de las dos cambia `--json`; para parsear, usar siempre `--json`.
29
+
30
+ ## Modo interactivo (no usar desde un agente)
31
+
32
+ `arcli` sin argumentos en una TTY abre un asistente con prompts (`arcli interactivo` lo abre explícito). Sin TTY o con `--json`, `arcli` sin argumentos muestra la ayuda y `arcli interactivo` falla. Un agente siempre tiene que usar los comandos con flags de abajo.
33
+
26
34
  ## Comandos de facturación (shortcut de 2-4 letras)
27
35
 
28
36
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcli",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "CLI para previsualizar y emitir comprobantes ARCA desde terminal, con validaciones claras y salida lista para automatizar",
5
5
  "keywords": [
6
6
  "arca",
@@ -72,34 +72,36 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@arcasdk/core": "2.0.2",
75
- "@inquirer/select": "5.2.2",
75
+ "@inquirer/input": "5.1.6",
76
+ "@inquirer/select": "5.2.5",
76
77
  "big.js": "7.0.1",
77
- "boxen": "8.0.1",
78
+ "boxen": "9.0.0",
78
79
  "commander": "15.0.0",
79
80
  "conf": "15.1.0",
80
81
  "ora": "9.4.1",
81
- "zod": "4.4.3"
82
+ "zod": "4.6.5"
82
83
  },
83
84
  "devDependencies": {
84
85
  "@eslint/js": "10.0.1",
85
- "@eslint/json": "2.0.1",
86
+ "@eslint/json": "2.1.0",
86
87
  "@types/big.js": "7.0.0",
87
88
  "@types/node": "22.20.1",
88
- "@typescript-eslint/parser": "8.67.0",
89
- "@vitest/coverage-v8": "4.1.11",
90
- "eslint": "10.9.0",
89
+ "@typescript-eslint/parser": "8.71.0",
90
+ "@vitest/coverage-v8": "5.0.3",
91
+ "eslint": "10.11.0",
91
92
  "eslint-config-prettier": "10.1.8",
92
93
  "eslint-plugin-jsonc": "3.4.2",
93
94
  "eslint-plugin-prettier": "5.5.6",
94
95
  "eslint-plugin-simple-import-sort": "14.0.0",
95
96
  "husky": "9.1.7",
96
- "lint-staged": "17.3.0",
97
- "prettier": "3.9.6",
97
+ "lint-staged": "17.6.0",
98
+ "prettier": "3.9.9",
98
99
  "tsc-files": "1.1.4",
99
- "tsx": "4.23.12",
100
+ "tsx": "4.23.15",
100
101
  "typescript": "6.0.3",
101
- "typescript-eslint": "8.67.0",
102
- "vitest": "4.1.11"
102
+ "typescript-eslint": "8.71.0",
103
+ "vite": "8.3.2",
104
+ "vitest": "5.0.3"
103
105
  },
104
106
  "engines": {
105
107
  "node": ">=22.22.1"