@kreiseck/kasseneck-api 1.7.1 → 1.10.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 +113 -0
  2. package/README.md +170 -1
  3. package/dist/cjs/client/api.d.ts +5 -3
  4. package/dist/cjs/client/api.js +1 -0
  5. package/dist/cjs/client/aufrufe.d.ts +9 -7
  6. package/dist/cjs/client/aufrufe.js +60 -2
  7. package/dist/cjs/client/errors.js +3 -0
  8. package/dist/cjs/client/index.d.ts +2 -2
  9. package/dist/cjs/client/index.js +3 -1
  10. package/dist/cjs/client/reports.d.ts +26 -0
  11. package/dist/cjs/client/reports.js +47 -0
  12. package/dist/cjs/client/transport.d.ts +27 -3
  13. package/dist/cjs/client/transport.js +29 -3
  14. package/dist/cjs/index.d.ts +1 -1
  15. package/dist/cjs/index.js +4 -2
  16. package/dist/cjs/inventory/api.d.ts +21 -2
  17. package/dist/cjs/inventory/api.js +22 -3
  18. package/dist/cjs/inventory/fehler.d.ts +6 -0
  19. package/dist/cjs/inventory/fehler.js +12 -0
  20. package/dist/cjs/inventory/index.d.ts +6 -4
  21. package/dist/cjs/inventory/index.js +33 -3
  22. package/dist/cjs/inventory/inventur.d.ts +104 -0
  23. package/dist/cjs/inventory/inventur.js +245 -0
  24. package/dist/cjs/inventory/lesen.d.ts +20 -1
  25. package/dist/cjs/inventory/lesen.js +307 -0
  26. package/dist/cjs/inventory/typen.d.ts +410 -1
  27. package/dist/cjs/inventory/vertrag.d.ts +94 -8
  28. package/dist/cjs/inventory/vertrag.js +118 -5
  29. package/dist/cjs/invoice/index.d.ts +1 -1
  30. package/dist/cjs/invoice/typen.d.ts +12 -0
  31. package/dist/cjs/invoice/vertrag.d.ts +1 -1
  32. package/dist/cjs/invoice/vertrag.js +3 -0
  33. package/dist/cjs/models/cancellation.d.ts +1 -1
  34. package/dist/cjs/models/cancellation.js +3 -0
  35. package/dist/cjs/models/payment-errors.d.ts +1 -1
  36. package/dist/cjs/models/payment-errors.js +3 -0
  37. package/dist/cjs/models/receipt-email.d.ts +1 -1
  38. package/dist/cjs/models/receipt-email.js +3 -0
  39. package/dist/cjs/models/receipt-errors.d.ts +1 -1
  40. package/dist/cjs/models/receipt-errors.js +3 -0
  41. package/dist/cjs/pos/errors.d.ts +4 -3
  42. package/dist/cjs/pos/errors.js +24 -2
  43. package/dist/cjs/pos/index.d.ts +4 -1
  44. package/dist/cjs/pos/index.js +9 -2
  45. package/dist/cjs/pos/inventur.d.ts +104 -0
  46. package/dist/cjs/pos/inventur.js +117 -0
  47. package/dist/cjs/pos/texte.d.ts +82 -0
  48. package/dist/cjs/pos/texte.js +35 -0
  49. package/dist/cjs/register/errors.d.ts +1 -1
  50. package/dist/cjs/register/errors.js +3 -0
  51. package/dist/cjs/stored/vokabular.d.ts +1 -1
  52. package/dist/cjs/stored/vokabular.js +1 -1
  53. package/dist/cjs/version.d.ts +1 -1
  54. package/dist/cjs/version.js +1 -1
  55. package/dist/esm/client/api.d.ts +5 -3
  56. package/dist/esm/client/api.js +2 -1
  57. package/dist/esm/client/aufrufe.d.ts +9 -7
  58. package/dist/esm/client/aufrufe.js +60 -2
  59. package/dist/esm/client/errors.js +3 -0
  60. package/dist/esm/client/index.d.ts +2 -2
  61. package/dist/esm/client/index.js +2 -2
  62. package/dist/esm/client/reports.d.ts +26 -0
  63. package/dist/esm/client/reports.js +46 -0
  64. package/dist/esm/client/transport.d.ts +27 -3
  65. package/dist/esm/client/transport.js +28 -3
  66. package/dist/esm/index.d.ts +1 -1
  67. package/dist/esm/index.js +1 -1
  68. package/dist/esm/inventory/api.d.ts +21 -2
  69. package/dist/esm/inventory/api.js +23 -4
  70. package/dist/esm/inventory/fehler.d.ts +6 -0
  71. package/dist/esm/inventory/fehler.js +11 -0
  72. package/dist/esm/inventory/index.d.ts +6 -4
  73. package/dist/esm/inventory/index.js +5 -3
  74. package/dist/esm/inventory/inventur.d.ts +104 -0
  75. package/dist/esm/inventory/inventur.js +226 -0
  76. package/dist/esm/inventory/lesen.d.ts +20 -1
  77. package/dist/esm/inventory/lesen.js +301 -0
  78. package/dist/esm/inventory/typen.d.ts +410 -1
  79. package/dist/esm/inventory/vertrag.d.ts +94 -8
  80. package/dist/esm/inventory/vertrag.js +117 -4
  81. package/dist/esm/invoice/index.d.ts +1 -1
  82. package/dist/esm/invoice/typen.d.ts +12 -0
  83. package/dist/esm/invoice/vertrag.d.ts +1 -1
  84. package/dist/esm/invoice/vertrag.js +3 -0
  85. package/dist/esm/models/cancellation.d.ts +1 -1
  86. package/dist/esm/models/cancellation.js +3 -0
  87. package/dist/esm/models/payment-errors.d.ts +1 -1
  88. package/dist/esm/models/payment-errors.js +3 -0
  89. package/dist/esm/models/receipt-email.d.ts +1 -1
  90. package/dist/esm/models/receipt-email.js +3 -0
  91. package/dist/esm/models/receipt-errors.d.ts +1 -1
  92. package/dist/esm/models/receipt-errors.js +3 -0
  93. package/dist/esm/pos/errors.d.ts +4 -3
  94. package/dist/esm/pos/errors.js +24 -2
  95. package/dist/esm/pos/index.d.ts +4 -1
  96. package/dist/esm/pos/index.js +2 -1
  97. package/dist/esm/pos/inventur.d.ts +104 -0
  98. package/dist/esm/pos/inventur.js +109 -0
  99. package/dist/esm/pos/texte.d.ts +82 -0
  100. package/dist/esm/pos/texte.js +35 -0
  101. package/dist/esm/register/errors.d.ts +1 -1
  102. package/dist/esm/register/errors.js +3 -0
  103. package/dist/esm/stored/vokabular.d.ts +1 -1
  104. package/dist/esm/stored/vokabular.js +1 -1
  105. package/dist/esm/version.d.ts +1 -1
  106. package/dist/esm/version.js +1 -1
  107. package/fixtures/hobex-hps-codes.json +1 -1
  108. package/fixtures/invoice-api.schema.json +1 -1
  109. package/fixtures/invoice-texts.json +1 -1
  110. package/fixtures/pos-texts.json +94 -1
  111. package/fixtures/stocktake-quantity-cases.json +55 -0
  112. package/fixtures/surface.json +157 -8
  113. package/fixtures/v3/antworten/belege.json +1 -1
  114. package/fixtures/v3/antworten/belegmail.json +1 -1
  115. package/fixtures/v3/antworten/kasse-belege.json +1 -1
  116. package/fixtures/v3/antworten/kasse.json +2958 -3
  117. package/fixtures/v3/antworten/lager.json +1727 -3
  118. package/fixtures/v3/antworten/rechnungen.json +14 -6
  119. package/fixtures/v3/antworten/storno.json +1 -1
  120. package/fixtures/v3/stored/belege.json +1 -1
  121. package/fixtures/v3/stored/kasse.json +414 -3
  122. package/fixtures/v3/stored/rechnungen.json +1 -1
  123. package/fixtures/v3/v3-vokabular.json +530 -8
  124. package/fixtures/v3/zahlbetrag-faelle.json +1 -1
  125. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.listMyCashregisters = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.createBinaryTransport = exports.createTransport = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = void 0;
3
+ exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.getCashregisterReport = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.listMyCashregisters = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.createPdfOrDataTransport = exports.createBinaryTransport = exports.createTransport = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = void 0;
4
4
  var auth_js_1 = require("./auth.js");
5
5
  Object.defineProperty(exports, "apiKeyAuth", { enumerable: true, get: function () { return auth_js_1.apiKeyAuth; } });
6
6
  Object.defineProperty(exports, "registerUserAuth", { enumerable: true, get: function () { return auth_js_1.registerUserAuth; } });
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "POS_BASE_URL", { enumerable: true, get: function
10
10
  Object.defineProperty(exports, "DEFAULT_TIMEOUT_MS", { enumerable: true, get: function () { return transport_js_1.DEFAULT_TIMEOUT_MS; } });
11
11
  Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return transport_js_1.createTransport; } });
12
12
  Object.defineProperty(exports, "createBinaryTransport", { enumerable: true, get: function () { return transport_js_1.createBinaryTransport; } });
13
+ Object.defineProperty(exports, "createPdfOrDataTransport", { enumerable: true, get: function () { return transport_js_1.createPdfOrDataTransport; } });
13
14
  var aufrufe_js_1 = require("./aufrufe.js");
14
15
  Object.defineProperty(exports, "ALL_CALLS", { enumerable: true, get: function () { return aufrufe_js_1.ALL_CALLS; } });
15
16
  Object.defineProperty(exports, "PUBLIC_CALLS", { enumerable: true, get: function () { return aufrufe_js_1.PUBLIC_CALLS; } });
@@ -48,6 +49,7 @@ Object.defineProperty(exports, "listMyCashregisters", { enumerable: true, get: f
48
49
  var reports_js_1 = require("./reports.js");
49
50
  Object.defineProperty(exports, "downloadDailyReport", { enumerable: true, get: function () { return reports_js_1.downloadDailyReport; } });
50
51
  Object.defineProperty(exports, "downloadMonthlyReport", { enumerable: true, get: function () { return reports_js_1.downloadMonthlyReport; } });
52
+ Object.defineProperty(exports, "getCashregisterReport", { enumerable: true, get: function () { return reports_js_1.getCashregisterReport; } });
51
53
  Object.defineProperty(exports, "getReportV2", { enumerable: true, get: function () { return reports_js_1.getReportV2; } });
52
54
  var status_js_1 = require("./status.js");
53
55
  Object.defineProperty(exports, "getCashboxStatus", { enumerable: true, get: function () { return status_js_1.getCashboxStatus; } });
@@ -28,6 +28,9 @@ import type { InternerBinaerTransport, InternerTransport } from './aufrufe.js';
28
28
  * `getDate()`/`getMonth()` wuerden auf einer UTC-Maschine den Bericht des
29
29
  * Vortags holen (das Dart-Vorbild nimmt hier die Geraetezeit, was auf einer
30
30
  * oesterreichischen Kasse zufaellig stimmt).
31
+ *
32
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
33
+ * (closed periods as v2, current month / today as before) until it is switched off.
31
34
  */
32
35
  export declare function downloadDailyReport(transport: InternerBinaerTransport, date: Date): Promise<Uint8Array>;
33
36
  /**
@@ -39,8 +42,31 @@ export declare function downloadDailyReport(transport: InternerBinaerTransport,
39
42
  *
40
43
  * `month` geht als **Zahl 1-12** raus (im Flutter-Paket `reportMonth.month.id`,
41
44
  * wo `KeckMonth.january.id === 1` ist) — kein Name, kein nullbasierter Index.
45
+ *
46
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
47
+ * (closed periods as v2, current month / today as before) until it is switched off.
42
48
  */
43
49
  export declare function downloadMonthlyReport(transport: InternerBinaerTransport, reportMonth: ReportMonth): Promise<Uint8Array>;
50
+ /** Zeitraum fuer [getCashregisterReport]: genau eine der drei Formen. */
51
+ export type CashregisterReportPeriod = {
52
+ year: number;
53
+ month: number;
54
+ } | {
55
+ year: number;
56
+ month: number;
57
+ day: number;
58
+ } | {
59
+ start: string;
60
+ end: string;
61
+ };
62
+ /**
63
+ * Kassenbericht als PDF (v2) fuer einen abgeschlossenen Monat, einen Tag bis
64
+ * heute oder einen Zeitraum (`end` ausschliesslich, hoechstens 366 Tage).
65
+ * Laufender Monat und Zukunft liefern die Fehler `period_not_closed` bzw.
66
+ * `period_in_future`. Nachfolger von [downloadMonthlyReport] und
67
+ * [downloadDailyReport].
68
+ */
69
+ export declare function getCashregisterReport(transport: InternerBinaerTransport, options: CashregisterReportPeriod): Promise<Uint8Array>;
44
70
  /** Zeitfenster von [getReportV2]: Wiener Wanduhr, `YYYY-MM-DD` oder voller Zeitstempel, `end` ausschliesslich. */
45
71
  export interface ReportV2Options {
46
72
  start: string;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.downloadDailyReport = downloadDailyReport;
4
4
  exports.downloadMonthlyReport = downloadMonthlyReport;
5
+ exports.getCashregisterReport = getCashregisterReport;
5
6
  exports.getReportV2 = getReportV2;
6
7
  const index_js_1 = require("../models/index.js");
7
8
  const vienna_time_js_1 = require("../vienna-time.js");
@@ -34,6 +35,9 @@ const errors_js_1 = require("./errors.js");
34
35
  * `getDate()`/`getMonth()` wuerden auf einer UTC-Maschine den Bericht des
35
36
  * Vortags holen (das Dart-Vorbild nimmt hier die Geraetezeit, was auf einer
36
37
  * oesterreichischen Kasse zufaellig stimmt).
38
+ *
39
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
40
+ * (closed periods as v2, current month / today as before) until it is switched off.
37
41
  */
38
42
  // `async`, damit auch die Eingabepruefung als abgelehntes Versprechen ankommt
39
43
  // und nicht als synchroner Wurf am `await` des Aufrufers vorbei.
@@ -58,6 +62,9 @@ async function downloadDailyReport(transport, date) {
58
62
  *
59
63
  * `month` geht als **Zahl 1-12** raus (im Flutter-Paket `reportMonth.month.id`,
60
64
  * wo `KeckMonth.january.id === 1` ist) — kein Name, kein nullbasierter Index.
65
+ *
66
+ * @deprecated Since 1.10.0: use getCashregisterReport(...). The old endpoint keeps working
67
+ * (closed periods as v2, current month / today as before) until it is switched off.
61
68
  */
62
69
  async function downloadMonthlyReport(transport, reportMonth) {
63
70
  const { month, year } = reportMonth;
@@ -69,6 +76,46 @@ async function downloadMonthlyReport(transport, reportMonth) {
69
76
  }
70
77
  return transport('downloadReport', { month, year });
71
78
  }
79
+ /**
80
+ * Kassenbericht als PDF (v2) fuer einen abgeschlossenen Monat, einen Tag bis
81
+ * heute oder einen Zeitraum (`end` ausschliesslich, hoechstens 366 Tage).
82
+ * Laufender Monat und Zukunft liefern die Fehler `period_not_closed` bzw.
83
+ * `period_in_future`. Nachfolger von [downloadMonthlyReport] und
84
+ * [downloadDailyReport].
85
+ */
86
+ async function getCashregisterReport(transport, options) {
87
+ // Genau eine Form; Misch- und Teilformen werfen vor dem Transport (wie im Dart-Paket).
88
+ const o = options;
89
+ const da = (k) => o[k] !== undefined && o[k] !== null;
90
+ const felder = ['year', 'month', 'day', 'start', 'end'].filter(da).sort().join(',');
91
+ if (felder !== 'month,year' && felder !== 'day,month,year' && felder !== 'end,start') {
92
+ throw eingabefehler('getCashregisterReport', 'genau eine Form angeben: year+month, year+month+day oder start+end');
93
+ }
94
+ if (felder === 'end,start') {
95
+ const { start, end } = options;
96
+ for (const [feld, wert] of [['start', start], ['end', end]]) {
97
+ if (typeof wert !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(wert)) {
98
+ throw eingabefehler('getCashregisterReport', `${feld} muss YYYY-MM-DD sein, war "${String(wert)}"`);
99
+ }
100
+ }
101
+ return transport('getCashregisterReport', { start, end });
102
+ }
103
+ const { year, month } = options;
104
+ if (!Number.isInteger(month) || month < 1 || month > 12) {
105
+ throw eingabefehler('getCashregisterReport', `month muss 1-12 sein, war "${month}"`);
106
+ }
107
+ if (!Number.isInteger(year)) {
108
+ throw eingabefehler('getCashregisterReport', `year muss eine ganze Zahl sein, war "${year}"`);
109
+ }
110
+ if ('day' in options) {
111
+ const day = options.day;
112
+ if (!Number.isInteger(day) || day < 1 || day > 31) {
113
+ throw eingabefehler('getCashregisterReport', `day muss 1-31 sein, war "${day}"`);
114
+ }
115
+ return transport('getCashregisterReport', { year, month, day });
116
+ }
117
+ return transport('getCashregisterReport', { year, month });
118
+ }
72
119
  /**
73
120
  * Rohdaten eines Zeitraums (`getReportV2`): alle Belege der Kasse und die
74
121
  * Firmendaten fuer Kopf und Fuss. Der Server vergleicht die Zeitstempel als
@@ -91,16 +91,16 @@ export interface TransportOptions {
91
91
  auth: KasseneckAuth;
92
92
  /**
93
93
  * Abweichende Basis der **oeffentlichen** Aufrufe (Vorgabe
94
- * [DEFAULT_BASE_URL]): alles ausser den 28 Aufrufen des Kassenwegs, und die
94
+ * [DEFAULT_BASE_URL]): alles ausser den 33 Aufrufen des Kassenwegs, und die
95
95
  * sechs oeffentlichen davon nur, wenn nicht mit `registerUserAuth`
96
96
  * angemeldet. Muss auf `/v3` enden (eigene Proxys erlaubt), sonst wirft das
97
97
  * Anlegen; `/v1` oder `/api` gibt es in der 1.x-Linie nicht.
98
98
  */
99
99
  baseUrl?: string;
100
100
  /**
101
- * Abweichende Basis des **Kassenwegs** (Vorgabe [POS_BASE_URL]): die 22
101
+ * Abweichende Basis des **Kassenwegs** (Vorgabe [POS_BASE_URL]): die 27
102
102
  * reinen Kassenaufrufe (Kopplung, Anmeldung, Einstellungen, Artikel,
103
- * Drucker, ...) und mit `registerUserAuth` alle 28 Aufrufe des Kassenwegs.
103
+ * Drucker, ...) und mit `registerUserAuth` alle 33 Aufrufe des Kassenwegs.
104
104
  * Die Web-Kasse gibt `'/api/v3'` (gleicher Ursprung). Muss auf `/v3` enden
105
105
  * (in der Regel `/api/v3`), sonst wirft das Anlegen.
106
106
  */
@@ -193,3 +193,27 @@ export declare function createTransport(options: TransportOptions): KasseneckTra
193
193
  * reports.ts.)
194
194
  */
195
195
  export declare function createBinaryTransport(options: TransportOptions): KasseneckBinaryTransport;
196
+ /**
197
+ * Ergebnis eines Aufrufs, der eine Datei **oder** eine Nutzlast liefert: das
198
+ * PDF als Bytes oder die `data` einer Erfolgshuelle (etwa ein Lese-Link, wenn
199
+ * die Datei zu gross fuer die Antwort ist).
200
+ */
201
+ export type PdfOrData = {
202
+ pdf: Uint8Array;
203
+ } | {
204
+ data: unknown;
205
+ };
206
+ /**
207
+ * Ruft eine Backend-Funktion auf, die ein PDF **oder** eine JSON-Nutzlast
208
+ * liefert (Inventurprotokoll: die Datei bis 9 MiB, darueber ein Lese-Link).
209
+ */
210
+ export type KasseneckPdfOrDataTransport = (functionName: string, params?: Record<string, unknown>) => Promise<PdfOrData>;
211
+ /**
212
+ * Dritter Einstiegspunkt, fuer Aufrufe, die eine Datei oder eine Nutzlast
213
+ * liefern (`getStocktakePdf` aus `./inventory`). Wie [createBinaryTransport]
214
+ * wird die Antwort nur als Bytes gelesen; die ersten Bytes entscheiden: `%PDF`
215
+ * ergibt `{ pdf }`, eine Erfolgshuelle `{ data }`, eine Fehlerhuelle denselben
216
+ * fachlichen Fehler wie auf dem JSON-Weg. Leer, kein JSON oder ohne Statusfeld
217
+ * ist unlesbar mit denselben Gruenden wie dort.
218
+ */
219
+ export declare function createPdfOrDataTransport(options: TransportOptions): KasseneckPdfOrDataTransport;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = void 0;
4
4
  exports.createTransport = createTransport;
5
5
  exports.createBinaryTransport = createBinaryTransport;
6
+ exports.createPdfOrDataTransport = createPdfOrDataTransport;
6
7
  const auth_js_1 = require("./auth.js");
7
8
  const aufrufe_js_1 = require("./aufrufe.js");
8
9
  const version_js_1 = require("../version.js");
@@ -98,7 +99,19 @@ function createBinaryTransport(options) {
98
99
  return (functionName, params) => kern(functionName, params, undefined, undefined, undefined, alsBytes, pdfAuswerten);
99
100
  }
100
101
  /**
101
- * Gemeinsamer Kern beider Einstiegspunkte: Anmeldung, Zeitlimit, Anfrage und
102
+ * Dritter Einstiegspunkt, fuer Aufrufe, die eine Datei oder eine Nutzlast
103
+ * liefern (`getStocktakePdf` aus `./inventory`). Wie [createBinaryTransport]
104
+ * wird die Antwort nur als Bytes gelesen; die ersten Bytes entscheiden: `%PDF`
105
+ * ergibt `{ pdf }`, eine Erfolgshuelle `{ data }`, eine Fehlerhuelle denselben
106
+ * fachlichen Fehler wie auf dem JSON-Weg. Leer, kein JSON oder ohne Statusfeld
107
+ * ist unlesbar mit denselben Gruenden wie dort.
108
+ */
109
+ function createPdfOrDataTransport(options) {
110
+ const kern = createCore(options);
111
+ return (functionName, params) => kern(functionName, params, undefined, undefined, undefined, alsBytes, pdfOderDatenAuswerten);
112
+ }
113
+ /**
114
+ * Gemeinsamer Kern aller Einstiegspunkte: Anmeldung, Zeitlimit, Anfrage und
102
115
  * HTTP-Status. Was danach mit dem Rumpf geschieht, entscheiden `lesen` und
103
116
  * `auswerten`.
104
117
  */
@@ -112,9 +125,9 @@ function createCore(options) {
112
125
  pruefeKennung(kennung);
113
126
  const kopfzeilenSenden = options.omitKasseneckHeaders !== true;
114
127
  /**
115
- * Basis je Aufruf. Die 22 reinen Kassenaufrufe gehen immer an den
128
+ * Basis je Aufruf. Die 27 reinen Kassenaufrufe gehen immer an den
116
129
  * Kassenweg (unter der oeffentlichen Basis gibt es sie nicht), und die
117
- * Kassen-Anmeldung ruft alle 28 Aufrufe des Kassenwegs dort, auch die sechs
130
+ * Kassen-Anmeldung ruft alle 33 Aufrufe des Kassenwegs dort, auch die sechs
118
131
  * oeffentlichen (Kanal `app`). Was der Kassenweg gar nicht fuehrt
119
132
  * (Berichte, Zahlungen, FinanzOnline), geht an die oeffentliche Basis.
120
133
  */
@@ -436,6 +449,19 @@ function pdfAuswerten(bytes, functionName, statusCode, inhaltstyp, geheimnisse,
436
449
  // es keinen Unterschied, ob er ein PDF oder eine Nutzlast erwartet hat.
437
450
  throw fachfehler(functionName, huelle.message, huelle.data, geheimnisse, huelle.code);
438
451
  }
452
+ /**
453
+ * Auswertung von [createPdfOrDataTransport]: ein PDF geht als Bytes zurueck,
454
+ * eine Erfolgshuelle als ihre `data`, eine Fehlerhuelle als derselbe
455
+ * fachliche Fehler wie auf dem JSON-Weg. Alles andere (leer, kein JSON, ohne
456
+ * Statusfeld) ist unlesbar mit denselben Gruenden wie dort.
457
+ */
458
+ function pdfOderDatenAuswerten(bytes, functionName, statusCode, inhaltstyp, geheimnisse, unlesbar) {
459
+ if (istPdf(bytes)) {
460
+ return { pdf: bytes };
461
+ }
462
+ const text = new TextDecoder('utf-8').decode(bytes);
463
+ return { data: jsonAuswerten(text, functionName, statusCode, inhaltstyp, geheimnisse, unlesbar) };
464
+ }
439
465
  /** `%PDF` am Anfang — die Kennung jeder PDF-Datei. */
440
466
  function istPdf(bytes) {
441
467
  return bytes.length >= 4 && bytes[0] === 0x25 && bytes[1] === 0x50 && bytes[2] === 0x44 && bytes[3] === 0x46;
@@ -1,6 +1,6 @@
1
1
  export { ReceiptType, type ReceiptTypeKey, VatRate, type VatRateKey, KeckPaymentMethod, type KeckPaymentMethodKey, CreditCardProvider, type CreditCardProviderKey, VoucherType, type VoucherTypeKey, VoucherAction, type VoucherActionKey, StripeLinkMode, type StripeLinkModeKey, } from './enums/index.js';
2
2
  export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type TipRecipient, isTipItem, type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid, type Receipt, type RegistrationInfo, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, type CancellationErrorCode, type CancellationStatus, type ReturnDisposition, RETURN_DISPOSITIONS, CANCELLATION_REASONS, CANCELLATION_STATUSES, CANCELLATION_ERROR_CODES, CANCELLATION_RESERVATION_MS, isCancellationReason, isReturnDisposition, isCancellationErrorCode, cancellationErrorCode, isCancellationError, cancellationFieldErrors, type CancellationFieldError, type ReceiptPayment, type ReceiptPaymentPayload, type ReceiptPaymentInput, fromReceiptPaymentPayload, toReceiptPaymentPayload, type PaymentErrorCode, PAYMENT_ERROR_CODES, isPaymentErrorCode, paymentErrorCode, isPaymentError, paymentFieldErrors, type PaymentFieldError, type ReceiptEmailErrorCode, type ReceiptEmailVia, RECEIPT_EMAIL_ERROR_CODES, RECEIPT_EMAIL_SEND_ERROR_CODES, type ReceiptEmailSendErrorCode, RECEIPT_EMAIL_VIAS, isReceiptEmailErrorCode, receiptEmailErrorCode, isReceiptEmailError, receiptEmailFieldErrors, type ReceiptEmailFieldError, type ReceiptErrorCode, type ReceiptFieldError, RECEIPT_ERROR_CODES, isReceiptErrorCode, receiptErrorCode, isReceiptError, receiptFieldErrors, remainingQuantities, type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, type CashregisterAutoLogout, type CashregisterAutoLogoutPayload, fromCashregisterPayload, type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, isZeroKind, type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './models/index.js';
3
- export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, POS_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type TransportCallOptions, type KasseneckTransport, type KasseneckBinaryTransport, ALL_CALLS, type ApiCall, PUBLIC_CALLS, POS_CALLS, UNKNOWN_OUTCOME_CALLS, type PublicCall, type PosCall, createTransport, createBinaryTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, type ErrorOutcome, CLIENT_ERROR_CODES, type ClientErrorCode, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, isOutcomeUnknown, type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CancelReceiptResult, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, paymentsExpectedCents, cardRefundReference, receiptLayoutFromResult, cancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, type SendReceiptEmailOptions, type SendReceiptEmailResult, sendReceiptEmail, downloadDailyReport, downloadMonthlyReport, getReportV2, type ReportV2, type ReportV2Metadata, type ReportV2Options, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
3
+ export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, POS_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type TransportCallOptions, type KasseneckTransport, type KasseneckBinaryTransport, type KasseneckPdfOrDataTransport, type PdfOrData, ALL_CALLS, type ApiCall, PUBLIC_CALLS, POS_CALLS, UNKNOWN_OUTCOME_CALLS, type PublicCall, type PosCall, createTransport, createBinaryTransport, createPdfOrDataTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, type ErrorOutcome, CLIENT_ERROR_CODES, type ClientErrorCode, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, isOutcomeUnknown, type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CancelReceiptResult, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, paymentsExpectedCents, cardRefundReference, receiptLayoutFromResult, cancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, type SendReceiptEmailOptions, type SendReceiptEmailResult, sendReceiptEmail, downloadDailyReport, downloadMonthlyReport, getCashregisterReport, type CashregisterReportPeriod, getReportV2, type ReportV2, type ReportV2Metadata, type ReportV2Options, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
4
4
  export { type ReceiptDueTip, type ReceiptDueTipRecipient, type ReceiptDueOptions, type ReceiptDueBuckets, type ReceiptDueBreakdown, type ReceiptDueErrorReason, receiptDueCents, receiptDueBreakdown, ReceiptDueError, RECEIPT_DUE_ERROR_REASONS, isReceiptDueError, } from './receipt/due.js';
5
5
  export { parseServerTimeStamp, toViennaWallClock, type ViennaWallClock } from './vienna-time.js';
6
6
  export { type PosBusinessSettings, type PosDeviceSettings, type PosSettings, type ArticleGroup, type PosArticle, POS_BUSINESS_DEFAULTS, POS_DEVICE_DEFAULTS, mergePosSettings, fromArticleGroupPayload, fromPosArticlePayload, listMyArticleGroups, listMyArticles, getPosSettings, setMyPosSettings, setMyRegisterDeviceSettings, distributeDiscount, cancelScopeOf, receiptsScopeOf, stockViewOf, } from './pos/index.js';
package/dist/cjs/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.receiptFieldErrors = exports.isReceiptError = exports.receiptErrorCode = exports.isReceiptErrorCode = exports.RECEIPT_ERROR_CODES = exports.receiptEmailFieldErrors = exports.isReceiptEmailError = exports.receiptEmailErrorCode = exports.isReceiptEmailErrorCode = exports.RECEIPT_EMAIL_VIAS = exports.RECEIPT_EMAIL_SEND_ERROR_CODES = exports.RECEIPT_EMAIL_ERROR_CODES = exports.paymentFieldErrors = exports.isPaymentError = exports.paymentErrorCode = exports.isPaymentErrorCode = exports.PAYMENT_ERROR_CODES = exports.toReceiptPaymentPayload = exports.fromReceiptPaymentPayload = exports.cancellationFieldErrors = exports.isCancellationError = exports.cancellationErrorCode = exports.isCancellationErrorCode = exports.isReturnDisposition = exports.isCancellationReason = exports.CANCELLATION_RESERVATION_MS = exports.CANCELLATION_ERROR_CODES = exports.CANCELLATION_STATUSES = exports.CANCELLATION_REASONS = exports.RETURN_DISPOSITIONS = exports.receiptSumCents = exports.receiptSubSumCents = exports.fromReceiptPayload = exports.toReceiptPayload = exports.voucherIsValid = exports.fromVoucherPayload = exports.toVoucherPayload = exports.isTipItem = exports.negateReceiptItem = exports.receiptItemIsValid = exports.receiptItemTotalCents = exports.fromReceiptItemPayload = exports.toReceiptItemPayload = exports.StripeLinkMode = exports.VoucherAction = exports.VoucherType = exports.CreditCardProvider = exports.KeckPaymentMethod = exports.VatRate = exports.ReceiptType = void 0;
4
- exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.createBinaryTransport = exports.createTransport = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = exports.hobexReceiptNeedsSignature = exports.hobexReceiptToCardPaymentData = exports.fromHobexReceiptPayload = exports.toHobexReceiptPayload = exports.fromStripeUrlSessionPayload = exports.toStripeUrlSessionPayload = exports.reportMonthReadable = exports.reportMonthKey = exports.nextReportMonth = exports.previousReportMonth = exports.reportMonthFromDate = exports.isZeroKind = exports.ZERO_KINDS = exports.fromReceiptSummaryPayload = exports.fromCashregisterPayload = exports.receiptCompanyTaxInfo = exports.fromReceiptCompanyPayload = exports.remainingQuantities = void 0;
5
- exports.stockViewOf = exports.receiptsScopeOf = exports.cancelScopeOf = exports.distributeDiscount = exports.setMyRegisterDeviceSettings = exports.setMyPosSettings = exports.getPosSettings = exports.listMyArticles = exports.listMyArticleGroups = exports.fromPosArticlePayload = exports.fromArticleGroupPayload = exports.mergePosSettings = exports.POS_DEVICE_DEFAULTS = exports.POS_BUSINESS_DEFAULTS = exports.toViennaWallClock = exports.parseServerTimeStamp = exports.isReceiptDueError = exports.RECEIPT_DUE_ERROR_REASONS = exports.ReceiptDueError = exports.receiptDueBreakdown = exports.receiptDueCents = exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyCashregisters = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = void 0;
4
+ exports.getReceipt = exports.zeroReceipt = exports.cancelReceipt = exports.receiptLayoutFromResult = exports.cardRefundReference = exports.paymentsExpectedCents = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isOutcomeUnknown = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.CLIENT_ERROR_CODES = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.createPdfOrDataTransport = exports.createBinaryTransport = exports.createTransport = exports.UNKNOWN_OUTCOME_CALLS = exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = exports.DEFAULT_TIMEOUT_MS = exports.POS_BASE_URL = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = exports.hobexReceiptNeedsSignature = exports.hobexReceiptToCardPaymentData = exports.fromHobexReceiptPayload = exports.toHobexReceiptPayload = exports.fromStripeUrlSessionPayload = exports.toStripeUrlSessionPayload = exports.reportMonthReadable = exports.reportMonthKey = exports.nextReportMonth = exports.previousReportMonth = exports.reportMonthFromDate = exports.isZeroKind = exports.ZERO_KINDS = exports.fromReceiptSummaryPayload = exports.fromCashregisterPayload = exports.receiptCompanyTaxInfo = exports.fromReceiptCompanyPayload = exports.remainingQuantities = void 0;
5
+ exports.stockViewOf = exports.receiptsScopeOf = exports.cancelScopeOf = exports.distributeDiscount = exports.setMyRegisterDeviceSettings = exports.setMyPosSettings = exports.getPosSettings = exports.listMyArticles = exports.listMyArticleGroups = exports.fromPosArticlePayload = exports.fromArticleGroupPayload = exports.mergePosSettings = exports.POS_DEVICE_DEFAULTS = exports.POS_BUSINESS_DEFAULTS = exports.toViennaWallClock = exports.parseServerTimeStamp = exports.isReceiptDueError = exports.RECEIPT_DUE_ERROR_REASONS = exports.ReceiptDueError = exports.receiptDueBreakdown = exports.receiptDueCents = exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.getReportV2 = exports.getCashregisterReport = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.sendReceiptEmail = exports.checkVoucherCombinationError = exports.listMyCashregisters = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = void 0;
6
6
  var index_js_1 = require("./enums/index.js");
7
7
  Object.defineProperty(exports, "ReceiptType", { enumerable: true, get: function () { return index_js_1.ReceiptType; } });
8
8
  Object.defineProperty(exports, "VatRate", { enumerable: true, get: function () { return index_js_1.VatRate; } });
@@ -85,6 +85,7 @@ Object.defineProperty(exports, "POS_CALLS", { enumerable: true, get: function ()
85
85
  Object.defineProperty(exports, "UNKNOWN_OUTCOME_CALLS", { enumerable: true, get: function () { return index_js_3.UNKNOWN_OUTCOME_CALLS; } });
86
86
  Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return index_js_3.createTransport; } });
87
87
  Object.defineProperty(exports, "createBinaryTransport", { enumerable: true, get: function () { return index_js_3.createBinaryTransport; } });
88
+ Object.defineProperty(exports, "createPdfOrDataTransport", { enumerable: true, get: function () { return index_js_3.createPdfOrDataTransport; } });
88
89
  Object.defineProperty(exports, "KasseneckApiError", { enumerable: true, get: function () { return index_js_3.KasseneckApiError; } });
89
90
  Object.defineProperty(exports, "KasseneckAuthError", { enumerable: true, get: function () { return index_js_3.KasseneckAuthError; } });
90
91
  Object.defineProperty(exports, "KasseneckHttpError", { enumerable: true, get: function () { return index_js_3.KasseneckHttpError; } });
@@ -114,6 +115,7 @@ Object.defineProperty(exports, "checkVoucherCombinationError", { enumerable: tru
114
115
  Object.defineProperty(exports, "sendReceiptEmail", { enumerable: true, get: function () { return index_js_3.sendReceiptEmail; } });
115
116
  Object.defineProperty(exports, "downloadDailyReport", { enumerable: true, get: function () { return index_js_3.downloadDailyReport; } });
116
117
  Object.defineProperty(exports, "downloadMonthlyReport", { enumerable: true, get: function () { return index_js_3.downloadMonthlyReport; } });
118
+ Object.defineProperty(exports, "getCashregisterReport", { enumerable: true, get: function () { return index_js_3.getCashregisterReport; } });
117
119
  Object.defineProperty(exports, "getReportV2", { enumerable: true, get: function () { return index_js_3.getReportV2; } });
118
120
  Object.defineProperty(exports, "getCashboxStatus", { enumerable: true, get: function () { return index_js_3.getCashboxStatus; } });
119
121
  Object.defineProperty(exports, "getSignatureStatus", { enumerable: true, get: function () { return index_js_3.getSignatureStatus; } });
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Fassade ueber den Aufrufen der Lager-API (lesen, Webhooks, schreiben,
3
- * reservieren, Varianten): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
3
+ * reservieren, Varianten, Inventur): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
4
4
  * Funktionen (endpunkte.ts) und bleiben einzeln importierbar.
5
5
  */
6
6
  import { type FetchLike } from '../client/transport.js';
7
- import type { AddVariantRequest, CreateVariantGroupRequest, UpdateVariantGroupRequest, VariantGroup, VariantGroupListQuery, VariantGroupPage, Article, ChangeStockConditionRequest, CreateArticleRequest, CreateReservationRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptPreview, GoodsReceiptPreviewRequest, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationRequest, Reservation, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockOperation, TransferStockRequest, UpdateArticleRequest, ArticleListQuery, ArticleLookup, ArticlePage, CreateInventoryWebhookOptions, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestResult, InventoryWebhookWithSecret, Location, StockLevel, StockListQuery, StockMovement, StockMovementPage, StockMovementQuery, StockPage, StockResult } from './typen.js';
7
+ import type { CancelStocktakeRequest, CloseStocktakeRequest, CloseStocktakeResult, CreateStocktakeRequest, RecordStocktakeCountRequest, RecountStocktakeRequest, ReviewStocktakeRequest, Stocktake, StocktakeCount, StocktakeCountListQuery, StocktakeCountPage, StocktakeCountResult, StocktakeItem, StocktakeItemListQuery, StocktakeItemPage, StocktakeListQuery, StocktakePage, StocktakePdf, VoidStocktakeCountRequest, AddVariantRequest, CreateVariantGroupRequest, UpdateVariantGroupRequest, VariantGroup, VariantGroupListQuery, VariantGroupPage, Article, ChangeStockConditionRequest, CreateArticleRequest, CreateReservationRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptPreview, GoodsReceiptPreviewRequest, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationRequest, Reservation, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockOperation, TransferStockRequest, UpdateArticleRequest, ArticleListQuery, ArticleLookup, ArticlePage, CreateInventoryWebhookOptions, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestResult, InventoryWebhookWithSecret, Location, StockLevel, StockListQuery, StockMovement, StockMovementPage, StockMovementQuery, StockPage, StockResult } from './typen.js';
8
8
  import type { InventoryWebhookEventType } from './vertrag.js';
9
9
  export interface InventoryClientOptions {
10
10
  /** `api_key` des Kontos (`kr_live_…` / `kr_test_…`). Gehoert auf einen Server. */
@@ -65,5 +65,24 @@ export interface InventoryClient {
65
65
  getVariantGroup(variantGroupId: string): Promise<VariantGroup>;
66
66
  listVariantGroups(query?: VariantGroupListQuery): Promise<VariantGroupPage>;
67
67
  iterateVariantGroups(query?: VariantGroupListQuery): AsyncGenerator<VariantGroup, void, undefined>;
68
+ createStocktake(request: CreateStocktakeRequest): Promise<Stocktake>;
69
+ /** Ohne `updatedSince` zuletzt geaenderte zuerst, mit `updatedSince` aufsteigend und inklusive. */
70
+ listStocktakes(query?: StocktakeListQuery): Promise<StocktakePage>;
71
+ iterateStocktakes(query?: StocktakeListQuery): AsyncGenerator<Stocktake, void, undefined>;
72
+ getStocktake(stocktakeId: string): Promise<Stocktake>;
73
+ listStocktakeItems(query: StocktakeItemListQuery): Promise<StocktakeItemPage>;
74
+ iterateStocktakeItems(query: StocktakeItemListQuery): AsyncGenerator<StocktakeItem, void, undefined>;
75
+ recordStocktakeCount(request: RecordStocktakeCountRequest): Promise<StocktakeCountResult>;
76
+ voidStocktakeCount(request: VoidStocktakeCountRequest): Promise<StocktakeCountResult>;
77
+ listStocktakeCounts(query: StocktakeCountListQuery): Promise<StocktakeCountPage>;
78
+ iterateStocktakeCounts(query: StocktakeCountListQuery): AsyncGenerator<StocktakeCount, void, undefined>;
79
+ /** Pruefen; die Antwort kommt mit `review.complete: false`, gerechnet wird im Hintergrund. */
80
+ reviewStocktake(request: ReviewStocktakeRequest): Promise<Stocktake>;
81
+ recountStocktake(request: RecountStocktakeRequest): Promise<Stocktake>;
82
+ /** Abschliessen; der Server bucht in Teilen weiter (`status: 'closing'`). */
83
+ closeStocktake(request: CloseStocktakeRequest): Promise<CloseStocktakeResult>;
84
+ cancelStocktake(request: CancelStocktakeRequest): Promise<Stocktake>;
85
+ /** Das Inventurprotokoll: die Datei (`kind: 'pdf'`) oder, ueber 9 MiB, ein Lese-Link (`kind: 'download'`). */
86
+ getStocktakePdf(stocktakeId: string): Promise<StocktakePdf>;
68
87
  }
69
88
  export declare function createInventoryClient(options: InventoryClientOptions): InventoryClient;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Fassade ueber den Aufrufen der Lager-API (lesen, Webhooks, schreiben,
4
- * reservieren, Varianten): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
4
+ * reservieren, Varianten, Inventur): Schluessel einmal binden, dann rufen. Wie [createInvoiceApi] bewusst keine Klasse; die Aufrufe sind freie
5
5
  * Funktionen (endpunkte.ts) und bleiben einzeln importierbar.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -10,14 +10,18 @@ const transport_js_1 = require("../client/transport.js");
10
10
  const auth_js_1 = require("./auth.js");
11
11
  const endpunkte_js_1 = require("./endpunkte.js");
12
12
  const schreiben_js_1 = require("./schreiben.js");
13
+ const inventur_js_1 = require("./inventur.js");
13
14
  const varianten_js_1 = require("./varianten.js");
14
15
  function createInventoryClient(options) {
15
- const rufen = (0, transport_js_1.createTransport)({
16
+ const transportOptionen = {
16
17
  auth: (0, auth_js_1.inventoryKeyAuth)({ apiKey: options.apiKey }),
17
18
  baseUrl: options.baseUrl,
18
19
  timeoutMs: options.timeoutMs,
19
20
  fetch: options.fetch,
20
- });
21
+ };
22
+ const rufen = (0, transport_js_1.createTransport)(transportOptionen);
23
+ // Das Inventurprotokoll kommt als Datei oder als Lese-Link (ueber 9 MiB).
24
+ const rufenDatei = (0, transport_js_1.createPdfOrDataTransport)(transportOptionen);
21
25
  return {
22
26
  getArticle: (id) => (0, endpunkte_js_1.getArticle)(rufen, id),
23
27
  listArticles: (q) => (0, endpunkte_js_1.listArticles)(rufen, q),
@@ -57,5 +61,20 @@ function createInventoryClient(options) {
57
61
  getVariantGroup: (id) => (0, varianten_js_1.getVariantGroup)(rufen, id),
58
62
  listVariantGroups: (q) => (0, varianten_js_1.listVariantGroups)(rufen, q),
59
63
  iterateVariantGroups: (q) => (0, varianten_js_1.iterateVariantGroups)(rufen, q),
64
+ createStocktake: (r) => (0, inventur_js_1.createStocktake)(rufen, r),
65
+ listStocktakes: (q) => (0, inventur_js_1.listStocktakes)(rufen, q),
66
+ iterateStocktakes: (q) => (0, inventur_js_1.iterateStocktakes)(rufen, q),
67
+ getStocktake: (id) => (0, inventur_js_1.getStocktake)(rufen, id),
68
+ listStocktakeItems: (q) => (0, inventur_js_1.listStocktakeItems)(rufen, q),
69
+ iterateStocktakeItems: (q) => (0, inventur_js_1.iterateStocktakeItems)(rufen, q),
70
+ recordStocktakeCount: (r) => (0, inventur_js_1.recordStocktakeCount)(rufen, r),
71
+ voidStocktakeCount: (r) => (0, inventur_js_1.voidStocktakeCount)(rufen, r),
72
+ listStocktakeCounts: (q) => (0, inventur_js_1.listStocktakeCounts)(rufen, q),
73
+ iterateStocktakeCounts: (q) => (0, inventur_js_1.iterateStocktakeCounts)(rufen, q),
74
+ reviewStocktake: (r) => (0, inventur_js_1.reviewStocktake)(rufen, r),
75
+ recountStocktake: (r) => (0, inventur_js_1.recountStocktake)(rufen, r),
76
+ closeStocktake: (r) => (0, inventur_js_1.closeStocktake)(rufen, r),
77
+ cancelStocktake: (r) => (0, inventur_js_1.cancelStocktake)(rufen, r),
78
+ getStocktakePdf: (id) => (0, inventur_js_1.getStocktakePdf)(rufenDatei, id),
60
79
  };
61
80
  }
@@ -41,3 +41,9 @@ export declare function inventoryRetryAfterSec(error: unknown): number | undefin
41
41
  export declare function inventoryShortfalls(error: unknown): InventoryShortfall[];
42
42
  /** `true` fuer einen Hinweis-Code einer Buchung (`warnings[].code`); Hinweise sind nie Fehler. */
43
43
  export declare function isInventoryWarningCode(value: unknown): value is InventoryWarningCode;
44
+ /**
45
+ * Die Inventur, die einen Standort belegt (`stocktake_location_busy`,
46
+ * `data.stocktakeId`): weiterzaehlen statt neu anlegen. `undefined`, wenn der
47
+ * Fehler ein anderer ist oder der Server keine Kennung nennt.
48
+ */
49
+ export declare function inventoryBusyStocktakeId(error: unknown): string | undefined;
@@ -16,6 +16,7 @@ exports.inventoryFieldErrors = inventoryFieldErrors;
16
16
  exports.inventoryRetryAfterSec = inventoryRetryAfterSec;
17
17
  exports.inventoryShortfalls = inventoryShortfalls;
18
18
  exports.isInventoryWarningCode = isInventoryWarningCode;
19
+ exports.inventoryBusyStocktakeId = inventoryBusyStocktakeId;
19
20
  const fehlercodes_js_1 = require("../client/fehlercodes.js");
20
21
  const lesen_js_1 = require("./lesen.js");
21
22
  const vertrag_js_1 = require("./vertrag.js");
@@ -64,3 +65,14 @@ const HINWEISE = new Set(vertrag_js_1.INVENTORY_WARNING_CODES);
64
65
  function isInventoryWarningCode(value) {
65
66
  return typeof value === 'string' && HINWEISE.has(value);
66
67
  }
68
+ /**
69
+ * Die Inventur, die einen Standort belegt (`stocktake_location_busy`,
70
+ * `data.stocktakeId`): weiterzaehlen statt neu anlegen. `undefined`, wenn der
71
+ * Fehler ein anderer ist oder der Server keine Kennung nennt.
72
+ */
73
+ function inventoryBusyStocktakeId(error) {
74
+ if (inventoryErrorCode(error) !== 'stocktake_location_busy')
75
+ return undefined;
76
+ const wert = error.details['stocktakeId'];
77
+ return typeof wert === 'string' && wert !== '' ? wert : undefined;
78
+ }
@@ -3,7 +3,8 @@
3
3
  * Bestand und Lagerprotokoll lesen, Konto-Webhooks verwalten und eingehende
4
4
  * Zustellungen pruefen (Backend Stufe 5a); Artikel anlegen und aendern,
5
5
  * Bestand buchen und Ware reservieren (Stufe 5b, seit 1.5.0);
6
- * Variantengruppen (Stufe 5c, seit 1.6.0).
6
+ * Variantengruppen (Stufe 5c, seit 1.6.0); Inventur (Lager-Kern Stufe 3,
7
+ * seit 1.8.0).
7
8
  *
8
9
  * Ein eigener Unterpfad wie `invoice`: der `api_key` eines Kontos gehoert auf
9
10
  * einen **Server** (etwa das Backend eines Online-Shops) und soll nicht
@@ -14,10 +15,11 @@
14
15
  */
15
16
  export { createInventoryClient, type InventoryClient, type InventoryClientOptions } from './api.js';
16
17
  export { inventoryKeyAuth, type InventoryKeyAuthOptions } from './auth.js';
17
- export { isInventoryError, isInventoryErrorCode, inventoryErrorCode, inventoryFieldErrors, inventoryRetryAfterSec, inventoryShortfalls, isInventoryWarningCode, type InventoryApiErrorCode, type InventoryFieldError, } from './fehler.js';
18
+ export { isInventoryError, isInventoryErrorCode, inventoryErrorCode, inventoryFieldErrors, inventoryRetryAfterSec, inventoryShortfalls, inventoryBusyStocktakeId, isInventoryWarningCode, type InventoryApiErrorCode, type InventoryFieldError, } from './fehler.js';
18
19
  export { createWebhook, deleteWebhook, getArticle, getStock, iterateArticles, iterateStock, iterateStockMovements, listArticles, listLocations, listStock, listStockMovements, listWebhookDeliveries, listWebhooks, lookupArticleByCode, rotateWebhookSecret, sendWebhookTest, updateWebhook, } from './endpunkte.js';
19
20
  export { changeStockCondition, createArticle, createReservation, deactivateArticle, extendReservation, getReservation, iterateReservations, listReservations, previewGoodsReceipt, receiveGoods, recordStockLoss, releaseReservation, reverseStockMovement, transferStock, updateArticle, } from './schreiben.js';
20
21
  export { addVariant, createVariantGroup, getVariantGroup, iterateVariantGroups, listVariantGroups, updateVariantGroup, } from './varianten.js';
22
+ export { cancelStocktake, closeStocktake, createStocktake, getStocktake, getStocktakePdf, iterateStocktakeCounts, iterateStocktakeItems, iterateStocktakes, listStocktakeCounts, listStocktakeItems, listStocktakes, recordStocktakeCount, recountStocktake, reviewStocktake, voidStocktakeCount, } from './inventur.js';
21
23
  export { verifyInventoryWebhookSignature, parseInventoryWebhookEvent, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_TOLERANCE_SEC, type VerifyInventoryWebhookOptions, } from './webhook.js';
22
- export type { AddVariantRequest, Article, ArticleInput, ArticleListQuery, ArticleLookup, ArticlePage, ChangeStockConditionRequest, CreateArticleRequest, CreateInventoryWebhookOptions, CreateReservationRequest, CreateVariantGroupRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptItem, GoodsReceiptPreview, GoodsReceiptPreviewLine, GoodsReceiptPreviewRequest, InventoryShortfall, InventoryWarning, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookEnvelope, InventoryWebhookEvent, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestDelivery, InventoryWebhookTestResult, InventoryWebhookWithSecret, LandedCost, Location, LocationAddress, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationItem, ReleaseReservationRequest, Reservation, ReservationItem, ReservationItemInput, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockBelowMinimumEventData, StockChangedEventData, StockItem, StockLevel, StockListQuery, StockMovement, StockMovementLot, StockMovementPage, StockMovementQuery, StockMovementSourceRef, StockOperation, StockPage, StockResult, StockValue, TransferStockRequest, UpdateArticleRequest, UpdateVariantGroupRequest, VariantAttribute, VariantGroup, VariantGroupDefaults, VariantGroupDefaultsInput, VariantGroupListQuery, VariantGroupMember, VariantGroupPage, VariantInput, } from './typen.js';
23
- export { INVENTORY_ENDPOINTS, INVENTORY_ERROR_CODES, INVENTORY_REQUEST_ERROR_CODES, INVENTORY_WEBHOOK_EVENTS, INVENTORY_WEBHOOK_ENVELOPE_FIELDS, INVENTORY_WEBHOOK_LIMIT, INVENTORY_LIST_LIMIT_MAX, LOCATION_TYPES, STOCK_MOVEMENT_TYPES, STOCK_MOVEMENT_SOURCES, STOCK_CONDITIONS, STOCK_CHANGE_CAUSES, WEBHOOK_DELIVERY_STATUSES, INVENTORY_WARNING_CODES, STOCK_KINDS, STOCK_LOSS_REASONS, WITHDRAWAL_TYPES, LANDED_COST_TYPES, LANDED_COST_ALLOCATIONS, RESERVATION_STATUSES, INVENTORY_IDEMPOTENCY_KEY_MAX, RESERVATION_MINUTES_MIN, RESERVATION_MINUTES_MAX, VARIANT_ATTRIBUTES_MAX, VARIANT_VALUES_MAX, VARIANT_MATRIX_MAX, VARIANT_GROUP_ACTIVE_MAX, type InventoryEndpoint, type InventoryErrorCode, type InventoryRequestErrorCode, type InventoryWebhookEventType, type LocationType, type StockMovementType, type StockMovementSource, type StockCondition, type StockChangeCause, type WebhookDeliveryStatus, type InventoryWarningCode, type StockKind, type StockLossReason, type WithdrawalType, type LandedCostType, type LandedCostAllocation, type ReservationStatus, } from './vertrag.js';
24
+ export type { AddVariantRequest, Article, CancelStocktakeRequest, CloseStocktakeRequest, CloseStocktakeResult, CreateStocktakeRequest, RecordStocktakeCountRequest, RecountStocktakeRequest, ReviewStocktakeRequest, Stocktake, StocktakeActor, StocktakeCancellation, StocktakeClosing, StocktakeCount, StocktakeCountListQuery, StocktakeCountPage, StocktakeCountResult, StocktakeInventoryLine, StocktakeItem, StocktakeItemListQuery, StocktakeItemPage, StocktakeListQuery, StocktakeNotBooked, StocktakePage, StocktakePdf, StocktakePdfDownload, StocktakePdfInfo, StocktakeProgress, StocktakeRecount, StocktakeReview, StocktakeScope, StocktakeScopeInput, StocktakeSeal, StocktakeTotals, StocktakeWarning, VoidStocktakeCountRequest, ArticleInput, ArticleListQuery, ArticleLookup, ArticlePage, ChangeStockConditionRequest, CreateArticleRequest, CreateInventoryWebhookOptions, CreateReservationRequest, CreateVariantGroupRequest, DeactivateArticleRequest, ExtendReservationRequest, GoodsReceiptItem, GoodsReceiptPreview, GoodsReceiptPreviewLine, GoodsReceiptPreviewRequest, InventoryShortfall, InventoryWarning, InventoryWebhook, InventoryWebhookDelivery, InventoryWebhookEnvelope, InventoryWebhookEvent, InventoryWebhookList, InventoryWebhookPatch, InventoryWebhookTestDelivery, InventoryWebhookTestResult, InventoryWebhookWithSecret, LandedCost, Location, LocationAddress, ReceiveGoodsRequest, RecordStockLossRequest, ReleaseReservationItem, ReleaseReservationRequest, Reservation, ReservationItem, ReservationItemInput, ReservationListQuery, ReservationPage, ReverseStockMovementRequest, StockBelowMinimumEventData, StockChangedEventData, StockItem, StockLevel, StockListQuery, StockMovement, StockMovementLot, StockMovementPage, StockMovementQuery, StockMovementSourceRef, StockOperation, StockPage, StockResult, StockValue, TransferStockRequest, UpdateArticleRequest, UpdateVariantGroupRequest, VariantAttribute, VariantGroup, VariantGroupDefaults, VariantGroupDefaultsInput, VariantGroupListQuery, VariantGroupMember, VariantGroupPage, VariantInput, } from './typen.js';
25
+ export { INVENTORY_ENDPOINTS, INVENTORY_ERROR_CODES, INVENTORY_REQUEST_ERROR_CODES, INVENTORY_WEBHOOK_EVENTS, INVENTORY_WEBHOOK_ENVELOPE_FIELDS, INVENTORY_WEBHOOK_LIMIT, INVENTORY_LIST_LIMIT_MAX, LOCATION_TYPES, STOCK_MOVEMENT_TYPES, STOCK_MOVEMENT_SOURCES, STOCK_CONDITIONS, STOCK_CHANGE_CAUSES, WEBHOOK_DELIVERY_STATUSES, INVENTORY_WARNING_CODES, STOCK_KINDS, STOCK_LOSS_REASONS, WITHDRAWAL_TYPES, LANDED_COST_TYPES, LANDED_COST_ALLOCATIONS, RESERVATION_STATUSES, INVENTORY_IDEMPOTENCY_KEY_MAX, RESERVATION_MINUTES_MIN, RESERVATION_MINUTES_MAX, VARIANT_ATTRIBUTES_MAX, VARIANT_VALUES_MAX, VARIANT_MATRIX_MAX, VARIANT_GROUP_ACTIVE_MAX, STOCKTAKE_STATUSES, STOCKTAKE_TYPES, STOCKTAKE_SCOPE_TYPES, STOCKTAKE_CHECK_REASONS, STOCKTAKE_NOT_BOOKED_REASONS, STOCKTAKE_SOURCES, STOCKTAKE_ACTOR_TYPES, STOCKTAKE_INVENTORY_AS_OF, STOCKTAKE_ITEMS_MAX, STOCKTAKE_RECOUNT_ITEMS_MAX, STOCKTAKE_COUNTS_PER_ITEM_MAX, type StocktakeStatus, type StocktakeType, type StocktakeScopeType, type StocktakeCheckReason, type StocktakeNotBookedReason, type StocktakeSource, type StocktakeActorType, type StocktakeInventoryAsOf, type InventoryEndpoint, type InventoryErrorCode, type InventoryRequestErrorCode, type InventoryWebhookEventType, type LocationType, type StockMovementType, type StockMovementSource, type StockCondition, type StockChangeCause, type WebhookDeliveryStatus, type InventoryWarningCode, type StockKind, type StockLossReason, type WithdrawalType, type LandedCostType, type LandedCostAllocation, type ReservationStatus, } from './vertrag.js';
@@ -4,7 +4,8 @@
4
4
  * Bestand und Lagerprotokoll lesen, Konto-Webhooks verwalten und eingehende
5
5
  * Zustellungen pruefen (Backend Stufe 5a); Artikel anlegen und aendern,
6
6
  * Bestand buchen und Ware reservieren (Stufe 5b, seit 1.5.0);
7
- * Variantengruppen (Stufe 5c, seit 1.6.0).
7
+ * Variantengruppen (Stufe 5c, seit 1.6.0); Inventur (Lager-Kern Stufe 3,
8
+ * seit 1.8.0).
8
9
  *
9
10
  * Ein eigener Unterpfad wie `invoice`: der `api_key` eines Kontos gehoert auf
10
11
  * einen **Server** (etwa das Backend eines Online-Shops) und soll nicht
@@ -14,8 +15,9 @@
14
15
  * Mikro-Euro; alles Ganzzahlen.
15
16
  */
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.WEBHOOK_SIGNATURE_HEADER = exports.parseInventoryWebhookEvent = exports.verifyInventoryWebhookSignature = exports.updateVariantGroup = exports.listVariantGroups = exports.iterateVariantGroups = exports.getVariantGroup = exports.createVariantGroup = exports.addVariant = exports.updateArticle = exports.transferStock = exports.reverseStockMovement = exports.releaseReservation = exports.recordStockLoss = exports.receiveGoods = exports.previewGoodsReceipt = exports.listReservations = exports.iterateReservations = exports.getReservation = exports.extendReservation = exports.deactivateArticle = exports.createReservation = exports.createArticle = exports.changeStockCondition = exports.updateWebhook = exports.sendWebhookTest = exports.rotateWebhookSecret = exports.lookupArticleByCode = exports.listWebhooks = exports.listWebhookDeliveries = exports.listStockMovements = exports.listStock = exports.listLocations = exports.listArticles = exports.iterateStockMovements = exports.iterateStock = exports.iterateArticles = exports.getStock = exports.getArticle = exports.deleteWebhook = exports.createWebhook = exports.isInventoryWarningCode = exports.inventoryShortfalls = exports.inventoryRetryAfterSec = exports.inventoryFieldErrors = exports.inventoryErrorCode = exports.isInventoryErrorCode = exports.isInventoryError = exports.inventoryKeyAuth = exports.createInventoryClient = void 0;
18
- exports.VARIANT_GROUP_ACTIVE_MAX = exports.VARIANT_MATRIX_MAX = exports.VARIANT_VALUES_MAX = exports.VARIANT_ATTRIBUTES_MAX = exports.RESERVATION_MINUTES_MAX = exports.RESERVATION_MINUTES_MIN = exports.INVENTORY_IDEMPOTENCY_KEY_MAX = exports.RESERVATION_STATUSES = exports.LANDED_COST_ALLOCATIONS = exports.LANDED_COST_TYPES = exports.WITHDRAWAL_TYPES = exports.STOCK_LOSS_REASONS = exports.STOCK_KINDS = exports.INVENTORY_WARNING_CODES = exports.WEBHOOK_DELIVERY_STATUSES = exports.STOCK_CHANGE_CAUSES = exports.STOCK_CONDITIONS = exports.STOCK_MOVEMENT_SOURCES = exports.STOCK_MOVEMENT_TYPES = exports.LOCATION_TYPES = exports.INVENTORY_LIST_LIMIT_MAX = exports.INVENTORY_WEBHOOK_LIMIT = exports.INVENTORY_WEBHOOK_ENVELOPE_FIELDS = exports.INVENTORY_WEBHOOK_EVENTS = exports.INVENTORY_REQUEST_ERROR_CODES = exports.INVENTORY_ERROR_CODES = exports.INVENTORY_ENDPOINTS = exports.WEBHOOK_TOLERANCE_SEC = exports.WEBHOOK_DELIVERY_HEADER = exports.WEBHOOK_EVENT_HEADER = void 0;
18
+ exports.closeStocktake = exports.cancelStocktake = exports.updateVariantGroup = exports.listVariantGroups = exports.iterateVariantGroups = exports.getVariantGroup = exports.createVariantGroup = exports.addVariant = exports.updateArticle = exports.transferStock = exports.reverseStockMovement = exports.releaseReservation = exports.recordStockLoss = exports.receiveGoods = exports.previewGoodsReceipt = exports.listReservations = exports.iterateReservations = exports.getReservation = exports.extendReservation = exports.deactivateArticle = exports.createReservation = exports.createArticle = exports.changeStockCondition = exports.updateWebhook = exports.sendWebhookTest = exports.rotateWebhookSecret = exports.lookupArticleByCode = exports.listWebhooks = exports.listWebhookDeliveries = exports.listStockMovements = exports.listStock = exports.listLocations = exports.listArticles = exports.iterateStockMovements = exports.iterateStock = exports.iterateArticles = exports.getStock = exports.getArticle = exports.deleteWebhook = exports.createWebhook = exports.isInventoryWarningCode = exports.inventoryBusyStocktakeId = exports.inventoryShortfalls = exports.inventoryRetryAfterSec = exports.inventoryFieldErrors = exports.inventoryErrorCode = exports.isInventoryErrorCode = exports.isInventoryError = exports.inventoryKeyAuth = exports.createInventoryClient = void 0;
19
+ exports.STOCKTAKE_CHECK_REASONS = exports.STOCKTAKE_SCOPE_TYPES = exports.STOCKTAKE_TYPES = exports.STOCKTAKE_STATUSES = exports.VARIANT_GROUP_ACTIVE_MAX = exports.VARIANT_MATRIX_MAX = exports.VARIANT_VALUES_MAX = exports.VARIANT_ATTRIBUTES_MAX = exports.RESERVATION_MINUTES_MAX = exports.RESERVATION_MINUTES_MIN = exports.INVENTORY_IDEMPOTENCY_KEY_MAX = exports.RESERVATION_STATUSES = exports.LANDED_COST_ALLOCATIONS = exports.LANDED_COST_TYPES = exports.WITHDRAWAL_TYPES = exports.STOCK_LOSS_REASONS = exports.STOCK_KINDS = exports.INVENTORY_WARNING_CODES = exports.WEBHOOK_DELIVERY_STATUSES = exports.STOCK_CHANGE_CAUSES = exports.STOCK_CONDITIONS = exports.STOCK_MOVEMENT_SOURCES = exports.STOCK_MOVEMENT_TYPES = exports.LOCATION_TYPES = exports.INVENTORY_LIST_LIMIT_MAX = exports.INVENTORY_WEBHOOK_LIMIT = exports.INVENTORY_WEBHOOK_ENVELOPE_FIELDS = exports.INVENTORY_WEBHOOK_EVENTS = exports.INVENTORY_REQUEST_ERROR_CODES = exports.INVENTORY_ERROR_CODES = exports.INVENTORY_ENDPOINTS = exports.WEBHOOK_TOLERANCE_SEC = exports.WEBHOOK_DELIVERY_HEADER = exports.WEBHOOK_EVENT_HEADER = exports.WEBHOOK_SIGNATURE_HEADER = exports.parseInventoryWebhookEvent = exports.verifyInventoryWebhookSignature = exports.voidStocktakeCount = exports.reviewStocktake = exports.recountStocktake = exports.recordStocktakeCount = exports.listStocktakes = exports.listStocktakeItems = exports.listStocktakeCounts = exports.iterateStocktakes = exports.iterateStocktakeItems = exports.iterateStocktakeCounts = exports.getStocktakePdf = exports.getStocktake = exports.createStocktake = void 0;
20
+ exports.STOCKTAKE_COUNTS_PER_ITEM_MAX = exports.STOCKTAKE_RECOUNT_ITEMS_MAX = exports.STOCKTAKE_ITEMS_MAX = exports.STOCKTAKE_INVENTORY_AS_OF = exports.STOCKTAKE_ACTOR_TYPES = exports.STOCKTAKE_SOURCES = exports.STOCKTAKE_NOT_BOOKED_REASONS = void 0;
19
21
  var api_js_1 = require("./api.js");
20
22
  Object.defineProperty(exports, "createInventoryClient", { enumerable: true, get: function () { return api_js_1.createInventoryClient; } });
21
23
  var auth_js_1 = require("./auth.js");
@@ -27,6 +29,7 @@ Object.defineProperty(exports, "inventoryErrorCode", { enumerable: true, get: fu
27
29
  Object.defineProperty(exports, "inventoryFieldErrors", { enumerable: true, get: function () { return fehler_js_1.inventoryFieldErrors; } });
28
30
  Object.defineProperty(exports, "inventoryRetryAfterSec", { enumerable: true, get: function () { return fehler_js_1.inventoryRetryAfterSec; } });
29
31
  Object.defineProperty(exports, "inventoryShortfalls", { enumerable: true, get: function () { return fehler_js_1.inventoryShortfalls; } });
32
+ Object.defineProperty(exports, "inventoryBusyStocktakeId", { enumerable: true, get: function () { return fehler_js_1.inventoryBusyStocktakeId; } });
30
33
  Object.defineProperty(exports, "isInventoryWarningCode", { enumerable: true, get: function () { return fehler_js_1.isInventoryWarningCode; } });
31
34
  var endpunkte_js_1 = require("./endpunkte.js");
32
35
  Object.defineProperty(exports, "createWebhook", { enumerable: true, get: function () { return endpunkte_js_1.createWebhook; } });
@@ -69,6 +72,22 @@ Object.defineProperty(exports, "getVariantGroup", { enumerable: true, get: funct
69
72
  Object.defineProperty(exports, "iterateVariantGroups", { enumerable: true, get: function () { return varianten_js_1.iterateVariantGroups; } });
70
73
  Object.defineProperty(exports, "listVariantGroups", { enumerable: true, get: function () { return varianten_js_1.listVariantGroups; } });
71
74
  Object.defineProperty(exports, "updateVariantGroup", { enumerable: true, get: function () { return varianten_js_1.updateVariantGroup; } });
75
+ var inventur_js_1 = require("./inventur.js");
76
+ Object.defineProperty(exports, "cancelStocktake", { enumerable: true, get: function () { return inventur_js_1.cancelStocktake; } });
77
+ Object.defineProperty(exports, "closeStocktake", { enumerable: true, get: function () { return inventur_js_1.closeStocktake; } });
78
+ Object.defineProperty(exports, "createStocktake", { enumerable: true, get: function () { return inventur_js_1.createStocktake; } });
79
+ Object.defineProperty(exports, "getStocktake", { enumerable: true, get: function () { return inventur_js_1.getStocktake; } });
80
+ Object.defineProperty(exports, "getStocktakePdf", { enumerable: true, get: function () { return inventur_js_1.getStocktakePdf; } });
81
+ Object.defineProperty(exports, "iterateStocktakeCounts", { enumerable: true, get: function () { return inventur_js_1.iterateStocktakeCounts; } });
82
+ Object.defineProperty(exports, "iterateStocktakeItems", { enumerable: true, get: function () { return inventur_js_1.iterateStocktakeItems; } });
83
+ Object.defineProperty(exports, "iterateStocktakes", { enumerable: true, get: function () { return inventur_js_1.iterateStocktakes; } });
84
+ Object.defineProperty(exports, "listStocktakeCounts", { enumerable: true, get: function () { return inventur_js_1.listStocktakeCounts; } });
85
+ Object.defineProperty(exports, "listStocktakeItems", { enumerable: true, get: function () { return inventur_js_1.listStocktakeItems; } });
86
+ Object.defineProperty(exports, "listStocktakes", { enumerable: true, get: function () { return inventur_js_1.listStocktakes; } });
87
+ Object.defineProperty(exports, "recordStocktakeCount", { enumerable: true, get: function () { return inventur_js_1.recordStocktakeCount; } });
88
+ Object.defineProperty(exports, "recountStocktake", { enumerable: true, get: function () { return inventur_js_1.recountStocktake; } });
89
+ Object.defineProperty(exports, "reviewStocktake", { enumerable: true, get: function () { return inventur_js_1.reviewStocktake; } });
90
+ Object.defineProperty(exports, "voidStocktakeCount", { enumerable: true, get: function () { return inventur_js_1.voidStocktakeCount; } });
72
91
  var webhook_js_1 = require("./webhook.js");
73
92
  Object.defineProperty(exports, "verifyInventoryWebhookSignature", { enumerable: true, get: function () { return webhook_js_1.verifyInventoryWebhookSignature; } });
74
93
  Object.defineProperty(exports, "parseInventoryWebhookEvent", { enumerable: true, get: function () { return webhook_js_1.parseInventoryWebhookEvent; } });
@@ -104,3 +123,14 @@ Object.defineProperty(exports, "VARIANT_ATTRIBUTES_MAX", { enumerable: true, get
104
123
  Object.defineProperty(exports, "VARIANT_VALUES_MAX", { enumerable: true, get: function () { return vertrag_js_1.VARIANT_VALUES_MAX; } });
105
124
  Object.defineProperty(exports, "VARIANT_MATRIX_MAX", { enumerable: true, get: function () { return vertrag_js_1.VARIANT_MATRIX_MAX; } });
106
125
  Object.defineProperty(exports, "VARIANT_GROUP_ACTIVE_MAX", { enumerable: true, get: function () { return vertrag_js_1.VARIANT_GROUP_ACTIVE_MAX; } });
126
+ Object.defineProperty(exports, "STOCKTAKE_STATUSES", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_STATUSES; } });
127
+ Object.defineProperty(exports, "STOCKTAKE_TYPES", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_TYPES; } });
128
+ Object.defineProperty(exports, "STOCKTAKE_SCOPE_TYPES", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_SCOPE_TYPES; } });
129
+ Object.defineProperty(exports, "STOCKTAKE_CHECK_REASONS", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_CHECK_REASONS; } });
130
+ Object.defineProperty(exports, "STOCKTAKE_NOT_BOOKED_REASONS", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_NOT_BOOKED_REASONS; } });
131
+ Object.defineProperty(exports, "STOCKTAKE_SOURCES", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_SOURCES; } });
132
+ Object.defineProperty(exports, "STOCKTAKE_ACTOR_TYPES", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_ACTOR_TYPES; } });
133
+ Object.defineProperty(exports, "STOCKTAKE_INVENTORY_AS_OF", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_INVENTORY_AS_OF; } });
134
+ Object.defineProperty(exports, "STOCKTAKE_ITEMS_MAX", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_ITEMS_MAX; } });
135
+ Object.defineProperty(exports, "STOCKTAKE_RECOUNT_ITEMS_MAX", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_RECOUNT_ITEMS_MAX; } });
136
+ Object.defineProperty(exports, "STOCKTAKE_COUNTS_PER_ITEM_MAX", { enumerable: true, get: function () { return vertrag_js_1.STOCKTAKE_COUNTS_PER_ITEM_MAX; } });