arcli 1.7.0 → 1.8.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 (60) hide show
  1. package/CHANGELOG.md +37 -1
  2. package/README.md +55 -156
  3. package/dist/cli/commands/vouchers.command.js +4 -3
  4. package/dist/cli/commands/vouchers.command.js.map +1 -1
  5. package/dist/cli/help.js +1 -1
  6. package/dist/cli/interactive/config.flow.d.ts +1 -1
  7. package/dist/cli/interactive/config.flow.js +53 -18
  8. package/dist/cli/interactive/config.flow.js.map +1 -1
  9. package/dist/cli/interactive/history.flow.d.ts +4 -0
  10. package/dist/cli/interactive/history.flow.js +22 -8
  11. package/dist/cli/interactive/history.flow.js.map +1 -1
  12. package/dist/cli/interactive/interactive-mode.js +24 -10
  13. package/dist/cli/interactive/interactive-mode.js.map +1 -1
  14. package/dist/cli/interactive/invoice-picker.d.ts +25 -0
  15. package/dist/cli/interactive/invoice-picker.js +152 -0
  16. package/dist/cli/interactive/invoice-picker.js.map +1 -0
  17. package/dist/cli/interactive/note.flow.d.ts +6 -2
  18. package/dist/cli/interactive/note.flow.js +19 -30
  19. package/dist/cli/interactive/note.flow.js.map +1 -1
  20. package/dist/cli/interactive/prompts.d.ts +34 -5
  21. package/dist/cli/interactive/prompts.js +181 -19
  22. package/dist/cli/interactive/prompts.js.map +1 -1
  23. package/dist/cli/interactive/repeat.flow.js +5 -11
  24. package/dist/cli/interactive/repeat.flow.js.map +1 -1
  25. package/dist/cli/interactive/status.flow.d.ts +3 -0
  26. package/dist/cli/interactive/status.flow.js +29 -0
  27. package/dist/cli/interactive/status.flow.js.map +1 -0
  28. package/dist/cli/version.d.ts +1 -1
  29. package/dist/cli/version.js +1 -1
  30. package/dist/modules/config/config-value-parser.d.ts +1 -1
  31. package/dist/modules/config/config-value-parser.js +10 -0
  32. package/dist/modules/config/config-value-parser.js.map +1 -1
  33. package/dist/modules/config/config.presenter.d.ts +4 -0
  34. package/dist/modules/config/config.presenter.js +57 -37
  35. package/dist/modules/config/config.presenter.js.map +1 -1
  36. package/dist/modules/config/config.schemas.d.ts +2 -0
  37. package/dist/modules/config/config.schemas.js +4 -0
  38. package/dist/modules/config/config.schemas.js.map +1 -1
  39. package/dist/modules/config/config.sections.d.ts +14 -0
  40. package/dist/modules/config/config.sections.js +61 -0
  41. package/dist/modules/config/config.sections.js.map +1 -0
  42. package/dist/modules/config/config.service.js +1 -0
  43. package/dist/modules/config/config.service.js.map +1 -1
  44. package/dist/modules/interactive/config-fields.d.ts +1 -3
  45. package/dist/modules/interactive/config-fields.js +36 -42
  46. package/dist/modules/interactive/config-fields.js.map +1 -1
  47. package/dist/modules/vouchers/voucher-history.d.ts +9 -4
  48. package/dist/modules/vouchers/voucher-history.js +8 -3
  49. package/dist/modules/vouchers/voucher-history.js.map +1 -1
  50. package/dist/modules/vouchers/voucher-history.presenter.d.ts +9 -2
  51. package/dist/modules/vouchers/voucher-history.presenter.js +32 -14
  52. package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -1
  53. package/dist/ui/components/statusBar.d.ts +2 -0
  54. package/dist/ui/components/statusBar.js +5 -1
  55. package/dist/ui/components/statusBar.js.map +1 -1
  56. package/llms.txt +3 -3
  57. package/package.json +1 -1
  58. package/dist/cli/interactive/lookup.flow.d.ts +0 -5
  59. package/dist/cli/interactive/lookup.flow.js +0 -72
  60. package/dist/cli/interactive/lookup.flow.js.map +0 -1
@@ -1,14 +1,15 @@
1
+ import { Separator } from '@inquirer/select';
1
2
  import { ConfigService } from '../../modules/config/config.service.js';
2
3
  import { listMissingSetupKeys } from '../../modules/interactive/config-fields.js';
3
4
  import { colorize, formatCliError, noticePanel, renderLogo, statusBar, writeTerminalError, writeTerminalOutput, } from '../../ui/index.js';
4
5
  import { runConfigMenu, runGuidedSetup } from './config.flow.js';
5
6
  import { runHistoryFlow } from './history.flow.js';
6
7
  import { runInvoiceFlow } from './invoice.flow.js';
7
- import { runLookupFlow, runStatusFlow } from './lookup.flow.js';
8
8
  import { runNoteFlow } from './note.flow.js';
9
9
  import { chooseOne, confirm, isPromptCancellation } from './prompts.js';
10
10
  import { runRepeatFlow } from './repeat.flow.js';
11
11
  import { createInteractiveSession } from './session.js';
12
+ import { runStatusFlow } from './status.flow.js';
12
13
  function listMissingSetup() {
13
14
  const service = new ConfigService();
14
15
  try {
@@ -42,12 +43,12 @@ async function runOption(option, options) {
42
43
  await runInvoiceFlow(session);
43
44
  if (option === 'repetir')
44
45
  await runRepeatFlow(session);
45
- if (option === 'nota')
46
- await runNoteFlow(session);
46
+ if (option === 'nota-credito')
47
+ await runNoteFlow(session, 'credito');
48
+ if (option === 'nota-debito')
49
+ await runNoteFlow(session, 'debito');
47
50
  if (option === 'historial')
48
51
  await runHistoryFlow(session);
49
- if (option === 'consultar')
50
- await runLookupFlow(session);
51
52
  if (option === 'estado')
52
53
  await runStatusFlow(session);
53
54
  }
@@ -88,13 +89,26 @@ export async function runInteractiveMode(options = {}) {
88
89
  name: 'Repetir una factura anterior',
89
90
  value: 'repetir',
90
91
  },
91
- { name: 'Nota de credito o debito sobre una factura', value: 'nota' },
92
- { name: 'Ver ultimos comprobantes', value: 'historial' },
93
- { name: 'Consultar un comprobante', value: 'consultar' },
92
+ {
93
+ description: 'Descuento, devolucion o anulacion de una factura',
94
+ name: 'Emitir nota de credito',
95
+ value: 'nota-credito',
96
+ },
97
+ { description: 'Cargo adicional sobre una factura', name: 'Emitir nota de debito', value: 'nota-debito' },
98
+ {
99
+ description: 'Los ultimos de cada tipo, o buscar uno por numero',
100
+ name: 'Consultar comprobantes',
101
+ value: 'historial',
102
+ },
94
103
  { description: 'Servidores, punto de venta y cotizacion del dolar', name: 'Estado de ARCA', value: 'estado' },
95
- { description: 'Revisar, configuracion guiada, cambiar un dato y PDF', name: 'Configuracion', value: 'config' },
104
+ {
105
+ description: 'Revisar, configuracion guiada, cambiar un dato y PDF',
106
+ name: 'Configuracion',
107
+ value: 'config',
108
+ },
109
+ new Separator(' '),
96
110
  { name: 'Salir', value: 'salir' },
97
- ]);
111
+ ], undefined, { escapeLabel: 'salir', escapeValue: 'salir' });
98
112
  }
99
113
  catch (error) {
100
114
  if (isPromptCancellation(error)) {
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../src/cli/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../src/cli/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { VoucherKindDefinition } from '../../modules/billing/billing.types';
2
+ import { type Back } from '../../modules/interactive/wizard';
3
+ import { type IssuedVoucher } from '../../modules/vouchers/voucher-history';
4
+ import type { InteractiveSession } from './session';
5
+ /** Comprobante elegido y el punto de venta donde se emitio (a mano puede ser otro que el configurado). */
6
+ export interface PickedInvoice {
7
+ readonly invoice: IssuedVoucher;
8
+ readonly pointOfSale: number;
9
+ }
10
+ interface PickInvoiceOptions {
11
+ readonly message: string;
12
+ /**
13
+ * Modo explorar: en vez de devolver el elegido, lo pasa aca y vuelve a mostrar la lista sin perder lo cargado.
14
+ * Solo se sale con "Volver".
15
+ */
16
+ readonly onPick?: (picked: PickedInvoice) => Promise<void> | void;
17
+ readonly pointOfSale: number;
18
+ readonly voucherKind: VoucherKindDefinition;
19
+ }
20
+ /**
21
+ * Elegir un comprobante emitido: los ultimos del punto de venta configurado, con opciones para cargar mas
22
+ * o ingresar el numero a mano (por ejemplo, uno viejo o de otro punto de venta).
23
+ */
24
+ export declare function pickInvoice(session: InteractiveSession, options: PickInvoiceOptions): Promise<Back | PickedInvoice>;
25
+ export {};
@@ -0,0 +1,152 @@
1
+ import { Separator } from '@inquirer/select';
2
+ import { BACK } from '../../modules/interactive/wizard.js';
3
+ import { listVouchersFrom, RECENT_VOUCHERS_LIMIT } from '../../modules/vouchers/voucher-history.js';
4
+ import { formatVoucherNumber, formatVoucherPickerRows } from '../../modules/vouchers/voucher-history.presenter.js';
5
+ import { colorize, noticePanel, statusBarWidth, writeTerminalOutput } from '../../ui/index.js';
6
+ import { startSpinner } from '../spinner.js';
7
+ import { askTextStep, chooseStep, chooseStepWhileLoading, eraseLastAnswer, fitPageSize } from './prompts.js';
8
+ const LOAD_MORE = 'cargar-mas';
9
+ const BY_NUMBER = 'a-mano';
10
+ /** Separa las columnas de cada fila del listado. */
11
+ const COLUMN_SEPARATOR = ' · ';
12
+ /**
13
+ * Linea punteada tenue que enmarca el listado, del mismo ancho que la barra "MODO INTERACTIVO".
14
+ * @inquirer deja un espacio antes de cada separador; por eso se resta uno al ancho.
15
+ */
16
+ function listRule() {
17
+ return new Separator(colorize('┈'.repeat(statusBarWidth() - 1), 'muted'));
18
+ }
19
+ async function withSpinner(text, run) {
20
+ const spinner = startSpinner(text);
21
+ try {
22
+ return await run();
23
+ }
24
+ finally {
25
+ spinner?.stop();
26
+ }
27
+ }
28
+ function validatePositiveInteger(label) {
29
+ return (value) => {
30
+ const number = Number(value.trim());
31
+ return Number.isInteger(number) && number > 0 ? true : `${label} tiene que ser un numero entero mayor a 0.`;
32
+ };
33
+ }
34
+ /** Pide punto de venta y numero, y lo busca en ARCA. Volver o un comprobante inexistente vuelven a la lista. */
35
+ async function askVoucherByNumber(session, voucherKind, defaultPointOfSale) {
36
+ const pointOfSaleAnswer = await askTextStep('Punto de venta:', {
37
+ defaultValue: String(defaultPointOfSale),
38
+ validate: validatePositiveInteger('El punto de venta'),
39
+ });
40
+ if (pointOfSaleAnswer === BACK) {
41
+ return BACK;
42
+ }
43
+ const numberAnswer = await askTextStep('Numero:', { validate: validatePositiveInteger('El numero') });
44
+ if (numberAnswer === BACK) {
45
+ return BACK;
46
+ }
47
+ const pointOfSale = Number(pointOfSaleAnswer.trim());
48
+ const number = Number(numberAnswer.trim());
49
+ const invoice = await withSpinner('Buscando en ARCA...', () => session.historyGateway.getVoucher(number, pointOfSale, voucherKind.arcaType));
50
+ if (!invoice) {
51
+ writeTerminalOutput(noticePanel(`No existe la ${voucherKind.displayName} N° ${formatVoucherNumber(pointOfSale, number)}.`, 'warning'));
52
+ return BACK;
53
+ }
54
+ return { invoice, pointOfSale };
55
+ }
56
+ /**
57
+ * Elegir un comprobante emitido: los ultimos del punto de venta configurado, con opciones para cargar mas
58
+ * o ingresar el numero a mano (por ejemplo, uno viejo o de otro punto de venta).
59
+ */
60
+ export async function pickInvoice(session, options) {
61
+ const { message, onPick, pointOfSale, voucherKind } = options;
62
+ const { historyGateway } = session;
63
+ // Comprobantes por tanda: los primeros y cada "cargar mas".
64
+ const pageSize = session.runtime.config.comprobantesPorLista ?? RECENT_VOUCHERS_LIMIT;
65
+ const { invoices, lastNumber } = await withSpinner('Buscando en ARCA...', async () => {
66
+ const last = await historyGateway.getLastNumber(pointOfSale, voucherKind.arcaType);
67
+ return {
68
+ invoices: await listVouchersFrom(historyGateway, pointOfSale, voucherKind.arcaType, last, { limit: pageSize }),
69
+ lastNumber: last,
70
+ };
71
+ });
72
+ // Proximo numero a consultar al cargar mas.
73
+ let nextNumber = lastNumber - pageSize;
74
+ let defaultChoice;
75
+ if (invoices.length === 0) {
76
+ writeTerminalOutput(noticePanel(`No hay ${voucherKind.displayName} emitidas en el punto de venta ${pointOfSale}.`, 'warning'));
77
+ }
78
+ // Tanda pedida a ARCA con "cargar mas" mientras la lista sigue en pantalla.
79
+ let loading;
80
+ for (;;) {
81
+ const choices = [];
82
+ // El listado y "cargar mas" van entre lineas punteadas; buscar a mano queda afuera.
83
+ if (invoices.length > 0) {
84
+ const rows = formatVoucherPickerRows(pointOfSale, invoices, COLUMN_SEPARATOR);
85
+ choices.push(listRule(), ...invoices.map((item, index) => ({
86
+ name: rows[index] ?? '',
87
+ // Al elegirla queda solo el numero, no la fila entera.
88
+ short: formatVoucherNumber(pointOfSale, item.number),
89
+ value: item,
90
+ })));
91
+ if (loading) {
92
+ choices.push(new Separator(' '), new Separator(colorize(' Cargando…', 'muted')));
93
+ }
94
+ else if (nextNumber > 0) {
95
+ choices.push(new Separator(' '), { name: '+ Cargar mas…', value: LOAD_MORE });
96
+ }
97
+ choices.push(listRule(), new Separator(' '));
98
+ }
99
+ choices.push({
100
+ description: 'Uno mas viejo o de otro punto de venta',
101
+ name: '# Ingresar el numero a mano…',
102
+ value: BY_NUMBER,
103
+ });
104
+ // +2: el separador y "Volver" que agrega chooseStep.
105
+ const pageSizeOnScreen = fitPageSize(choices.length + 2);
106
+ let answer;
107
+ if (loading) {
108
+ const result = await chooseStepWhileLoading(message, choices, defaultChoice, pageSizeOnScreen, loading);
109
+ loading = undefined;
110
+ if ('loaded' in result) {
111
+ nextNumber -= pageSize;
112
+ // El cursor queda en el primero nuevo; si no vino ninguno, en "cargar mas" o "a mano".
113
+ defaultChoice = result.loaded[0] ?? (nextNumber > 0 ? LOAD_MORE : BY_NUMBER);
114
+ invoices.push(...result.loaded);
115
+ continue;
116
+ }
117
+ // Se eligio otra opcion antes de que terminara la carga: lo que llegue se descarta.
118
+ answer = result.answer;
119
+ }
120
+ else {
121
+ answer = await chooseStep(message, choices, defaultChoice, pageSizeOnScreen);
122
+ }
123
+ if (answer === BACK) {
124
+ return BACK;
125
+ }
126
+ if (answer === LOAD_MORE) {
127
+ // La misma lista se vuelve a dibujar en su lugar, con "Cargando…" en vez del boton.
128
+ eraseLastAnswer();
129
+ loading = listVouchersFrom(historyGateway, pointOfSale, voucherKind.arcaType, nextNumber, { limit: pageSize });
130
+ defaultChoice = invoices.at(-1);
131
+ continue;
132
+ }
133
+ let picked;
134
+ if (answer === BY_NUMBER) {
135
+ const byNumber = await askVoucherByNumber(session, voucherKind, pointOfSale);
136
+ if (byNumber === BACK) {
137
+ defaultChoice = BY_NUMBER;
138
+ continue;
139
+ }
140
+ picked = byNumber;
141
+ }
142
+ else {
143
+ picked = { invoice: answer, pointOfSale };
144
+ }
145
+ if (!onPick) {
146
+ return picked;
147
+ }
148
+ await onPick(picked);
149
+ defaultChoice = answer;
150
+ }
151
+ }
152
+ //# sourceMappingURL=invoice-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoice-picker.js","sourceRoot":"","sources":["../../../src/cli/interactive/invoice-picker.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { VoucherKindDefinition } from '../../modules/billing/billing.types'
3
3
  import { type WizardStep } from '../../modules/interactive/wizard';
4
4
  import { type IssuedVoucher } from '../../modules/vouchers/voucher-history';
5
5
  import { type InteractiveSession } from './session';
6
+ export type NoteKind = 'credito' | 'debito';
6
7
  export interface NoteState {
7
8
  readonly cancellation?: boolean;
8
9
  readonly concept?: BillingConcept;
@@ -10,9 +11,12 @@ export interface NoteState {
10
11
  readonly documentType?: BillingCommandInput['documentType'];
11
12
  readonly invoice?: IssuedVoucher;
12
13
  readonly invoiceKind?: VoucherKindDefinition;
14
+ /** Punto de venta de la factura asociada; ingresada a mano puede no ser el configurado. */
15
+ readonly invoicePointOfSale?: number;
13
16
  readonly ivaCondition?: BillingCommandInput['ivaCondition'];
14
17
  readonly ivaRate?: BillingCommandInput['ivaRate'];
15
- readonly kind?: 'credito' | 'debito';
18
+ /** Credito o debito: viene del menu principal. */
19
+ readonly kind?: NoteKind;
16
20
  readonly periodFrom?: string;
17
21
  readonly periodTo?: string;
18
22
  /** Sobre una factura de la lista o sobre un periodo (solo notas comunes). */
@@ -23,4 +27,4 @@ export interface NoteState {
23
27
  export declare function noteSteps(session: InteractiveSession, pointOfSale: number): Array<WizardStep<NoteState>>;
24
28
  /** Arma la entrada del CLI con lo que respondio el usuario. */
25
29
  export declare function buildNoteInput(state: NoteState, session: InteractiveSession, pointOfSale: number): BillingCommandInput;
26
- export declare function runNoteFlow(session: InteractiveSession): Promise<void>;
30
+ export declare function runNoteFlow(session: InteractiveSession, kind: NoteKind): Promise<void>;
@@ -4,10 +4,9 @@ import { billingCommandSchema, } from '../../modules/billing/billing.schemas.js'
4
4
  import { parseAmountInput } from '../../modules/interactive/amount-input.js';
5
5
  import { conceptChoices, invoiceKindChoices, ivaConditionChoices, ivaRateChoices, noteKindChoices, receiverChoices, } from '../../modules/interactive/choices.js';
6
6
  import { BACK, runWizard } from '../../modules/interactive/wizard.js';
7
- import { inferIvaRate, listRecentVouchers, resolveDocumentType, } from '../../modules/vouchers/voucher-history.js';
8
- import { formatVoucherSummary } from '../../modules/vouchers/voucher-history.presenter.js';
7
+ import { inferIvaRate, resolveDocumentType } from '../../modules/vouchers/voucher-history.js';
9
8
  import { noticePanel, writeTerminalOutput } from '../../ui/index.js';
10
- import { startSpinner } from '../spinner.js';
9
+ import { pickInvoice } from './invoice-picker.js';
11
10
  import { askTextStep, chooseStep } from './prompts.js';
12
11
  import { previewAndEmit, requirePointOfSale } from './session.js';
13
12
  import { normalizeDocumentNumber, validateAmount, validateCuit, validateDate, validateDni } from './validators.js';
@@ -45,16 +44,6 @@ async function askNoteAmount(state) {
45
44
  /** Pasos del flujo de notas; cada uno se puede deshacer con "Volver". */
46
45
  export function noteSteps(session, pointOfSale) {
47
46
  return [
48
- {
49
- name: 'nota',
50
- run: async () => {
51
- const kind = await chooseStep('¿Que nota queres emitir?', [
52
- { name: 'Nota de credito (descuento, devolucion o anulacion)', value: 'credito' },
53
- { name: 'Nota de debito (cargo adicional)', value: 'debito' },
54
- ]);
55
- return kind === BACK ? BACK : { kind };
56
- },
57
- },
58
47
  {
59
48
  name: 'tipo-factura',
60
49
  run: async () => {
@@ -66,7 +55,11 @@ export function noteSteps(session, pointOfSale) {
66
55
  name: 'asociacion',
67
56
  run: async () => {
68
57
  const target = await chooseStep('¿A que la asociamos?', [
69
- { description: 'Elegis una de las ultimas emitidas', name: 'A una factura', value: 'factura' },
58
+ {
59
+ description: 'Elegis una de las ultimas emitidas o la ingresas a mano',
60
+ name: 'A una factura',
61
+ value: 'factura',
62
+ },
70
63
  {
71
64
  description: 'Por ejemplo, un descuento sobre todo el mes',
72
65
  name: 'A un periodo',
@@ -82,20 +75,15 @@ export function noteSteps(session, pointOfSale) {
82
75
  name: 'factura',
83
76
  run: async (state) => {
84
77
  const invoiceKind = state.invoiceKind;
85
- const spinner = startSpinner('Buscando las ultimas facturas en ARCA...');
86
- const invoices = await listRecentVouchers(session.historyGateway, pointOfSale, invoiceKind.arcaType).finally(() => spinner?.stop());
87
- if (invoices.length === 0) {
88
- writeTerminalOutput(noticePanel(`No hay ${invoiceKind.displayName} emitidas en el punto de venta ${pointOfSale}.`, 'warning'));
89
- return BACK;
90
- }
91
- const invoice = await chooseStep(`¿Sobre que ${invoiceKind.displayName}?`, invoices.map((item) => ({
92
- description: item.cae ? `CAE ${item.cae}` : undefined,
93
- name: formatVoucherSummary(pointOfSale, item),
94
- value: item,
95
- })));
96
- if (invoice === BACK) {
78
+ const picked = await pickInvoice(session, {
79
+ message: `¿Sobre que ${invoiceKind.displayName}?`,
80
+ pointOfSale,
81
+ voucherKind: invoiceKind,
82
+ });
83
+ if (picked === BACK) {
97
84
  return BACK;
98
85
  }
86
+ const { invoice } = picked;
99
87
  const documentType = resolveDocumentType(invoice.documentTypeCode);
100
88
  if (!documentType) {
101
89
  writeTerminalOutput(noticePanel('La factura tiene un tipo de documento que el asistente no soporta. Usa los flags del CLI.', 'warning'));
@@ -107,6 +95,7 @@ export function noteSteps(session, pointOfSale) {
107
95
  documentNumber: documentType === 'consumidor-final' ? undefined : invoice.documentNumber,
108
96
  documentType,
109
97
  invoice,
98
+ invoicePointOfSale: picked.pointOfSale,
110
99
  ivaCondition: documentType === 'consumidor-final' ? 'consumidor-final' : undefined,
111
100
  ivaRate: invoiceKind.letter === 'c' ? undefined : inferIvaRate(invoice.netAmount, invoice.ivaAmount),
112
101
  };
@@ -121,7 +110,7 @@ export function noteSteps(session, pointOfSale) {
121
110
  return BACK;
122
111
  }
123
112
  const periodTo = await askTextStep('Periodo hasta:', { validate: validateDate });
124
- return periodTo === BACK ? BACK : { invoice: undefined, periodFrom, periodTo };
113
+ return periodTo === BACK ? BACK : { invoice: undefined, invoicePointOfSale: undefined, periodFrom, periodTo };
125
114
  },
126
115
  skip: (state) => !isPeriod(state),
127
116
  },
@@ -208,7 +197,7 @@ export function buildNoteInput(state, session, pointOfSale) {
208
197
  cuit: String(session.runtime.context.cuit),
209
198
  fecha: formatArcaDateAsArgentineDate(invoice.date),
210
199
  numero: invoice.number,
211
- puntoVenta: pointOfSale,
200
+ puntoVenta: state.invoicePointOfSale ?? pointOfSale,
212
201
  shortcut: invoiceKind.shortcut,
213
202
  }
214
203
  : undefined,
@@ -222,12 +211,12 @@ export function buildNoteInput(state, session, pointOfSale) {
222
211
  totalAmount: state.totalAmount,
223
212
  });
224
213
  }
225
- export async function runNoteFlow(session) {
214
+ export async function runNoteFlow(session, kind) {
226
215
  const pointOfSale = requirePointOfSale(session);
227
216
  if (!pointOfSale) {
228
217
  return;
229
218
  }
230
- const state = await runWizard(noteSteps(session, pointOfSale), {});
219
+ const state = await runWizard(noteSteps(session, pointOfSale), { kind });
231
220
  if (!state) {
232
221
  return;
233
222
  }
@@ -1 +1 @@
1
- {"version":3,"file":"note.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/note.flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"note.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/note.flow.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,55 @@
1
+ import { Separator } from '@inquirer/select';
1
2
  import { type Back } from '../../modules/interactive/wizard';
2
3
  export interface Choice<T> {
3
4
  readonly description?: string;
4
5
  readonly name: string;
6
+ /** Lo que queda en la linea "✔ pregunta respuesta" al elegirla; por defecto, `name`. */
7
+ readonly short?: string;
5
8
  readonly value: T;
6
9
  }
7
- export declare function chooseOne<T>(message: string, choices: ReadonlyArray<Choice<T>>, defaultValue?: T): Promise<T>;
10
+ /**
11
+ * Una lista simple. Con `escapeValue`, Esc la cierra devolviendo ese valor (por ejemplo, "volver", "no" o
12
+ * "salir") y la ayuda de teclas lo muestra con `escapeLabel`; sin el, Esc no hace nada.
13
+ */
14
+ export declare function chooseOne<T>(message: string, choices: ReadonlyArray<Choice<T> | Separator>, defaultValue?: T, options?: {
15
+ readonly escapeLabel?: string;
16
+ readonly escapeValue?: T;
17
+ }): Promise<T>;
8
18
  export declare function askText(message: string, options?: {
9
19
  readonly defaultValue?: string;
10
20
  readonly validate?: (value: string) => string | true;
11
21
  }): Promise<string>;
22
+ /** Si o no; Esc cuenta como no. */
12
23
  export declare function confirm(message: string, yesLabel: string, noLabel?: string): Promise<boolean>;
13
24
  /** Ctrl+C dentro de un prompt de @inquirer. */
14
25
  export declare function isPromptCancellation(error: unknown): boolean;
15
- /** Como chooseOne, con una opcion "← Volver" al final para el motor de pasos. */
16
- export declare function chooseStep<T>(message: string, choices: ReadonlyArray<Choice<T>>, defaultValue?: T): Promise<Back | T>;
17
- /** Como askText, pero escribir "<" vuelve al paso anterior. */
26
+ /** Alto de lista para `count` opciones: todas si entran en la terminal, si no las que entren (minimo 12). */
27
+ export declare function fitPageSize(count: number): number;
28
+ /**
29
+ * Como chooseOne, con una opcion "← Volver" al final para el motor de pasos (Esc hace lo mismo).
30
+ * Acepta separadores entre opciones.
31
+ */
32
+ export declare function chooseStep<T>(message: string, choices: ReadonlyArray<Choice<T> | Separator>, defaultValue?: T, pageSize?: number): Promise<Back | T>;
33
+ /** Borra la linea de la ultima respuesta ("✔ pregunta respuesta"), para redibujar la misma lista en su lugar. */
34
+ export declare function eraseLastAnswer(): void;
35
+ export type LoadingResult<T, L> = {
36
+ readonly answer: Back | T;
37
+ } | {
38
+ readonly loaded: L;
39
+ };
40
+ /**
41
+ * Muestra la lista mientras `loading` esta en curso (por ejemplo, con "Cargando…" en lugar de un boton).
42
+ * Si termina la carga, la lista desaparece sin dejar rastro y devuelve lo cargado; si antes se elige
43
+ * una opcion (o Esc), devuelve esa respuesta.
44
+ */
45
+ export declare function chooseStepWhileLoading<T, L>(message: string, choices: ReadonlyArray<Choice<T> | Separator>, defaultValue: T | undefined, pageSize: number, loading: Promise<L>): Promise<LoadingResult<T, L>>;
46
+ /** Como askText, pero Esc (o escribir "<") vuelve al paso anterior. */
18
47
  export declare function askTextStep(message: string, options?: {
19
48
  readonly defaultValue?: string;
20
49
  readonly validate?: (value: string) => string | true;
21
50
  }): Promise<Back | string>;
22
51
  /**
23
52
  * Seleccion multiple: espacio marca, Enter confirma (sin marcar nada tambien vale). Tiene un "← Volver" al
24
- * final para el motor de pasos: si se marca, vuelve al paso anterior.
53
+ * final para el motor de pasos: si se marca (o con Esc), vuelve al paso anterior.
25
54
  */
26
55
  export declare function chooseManyStep<T>(message: string, choices: ReadonlyArray<Choice<T>>, selected?: readonly T[]): Promise<Back | T[]>;