@inowu/cashdro 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -11,6 +11,8 @@ withdrawals and cash-management operations, plus cash-level and reporting querie
11
11
  - [Authentication](#authentication)
12
12
  - [Configuration](#configuration)
13
13
  - [How transactions work](#how-transactions-work)
14
+ - [Non-blocking usage](#non-blocking-usage)
15
+ - [Debug mode](#debug-mode)
14
16
  - [Client reference](#client-reference)
15
17
  - [Connectivity & health](#connectivity--health)
16
18
  - [Transactions — lifecycle](#transactions--lifecycle)
@@ -82,6 +84,7 @@ The optional `posuser`, `posid` and `aliasid` fields accepted by transactions ar
82
84
  | `maxRetries` | Automatic retries with exponential backoff (default 2). |
83
85
  | `headers` | Extra headers to send on every request. |
84
86
  | `fetch` | Custom `fetch` implementation (see [Advanced](#custom-fetch--self-signed-tls)). |
87
+ | `debug` | Trace the multi-operation helpers — `true` to log, or a handler function (see [Debug mode](#debug-mode)). |
85
88
 
86
89
  ```ts
87
90
  const cashdro = new CashDroClient({
@@ -123,6 +126,83 @@ is configured for.
123
126
  while one is active fails with `code -2`. Use `askOperationExecuting()` to detect
124
127
  and recover a stuck operation.
125
128
 
129
+ ## Non-blocking usage
130
+
131
+ A sale can take a while — the unit waits for the customer to insert cash. Don't
132
+ `await` the whole `start → wait → import` chain in a request handler; instead let
133
+ it run in the background and react via callbacks. The `onStart` callback hands you
134
+ the `operationId` the instant it's known (before any waiting), so the UI can show a
135
+ pay screen and offer a Cancel button immediately.
136
+
137
+ ```ts
138
+ import { CashDroClient, CashDroTimeoutError } from "@inowu/cashdro";
139
+
140
+ // Fire-and-forget: runs start → acknowledge → poll → import in the background.
141
+ void cashdro
142
+ .sale(1250, {
143
+ waitForFinish: true, // poll until the customer finishes paying
144
+ autoImport: true, // record it on the unit when done
145
+ onStart: (operationId) => showPayScreen(operationId), // returned immediately
146
+ poll: { onPoll: (status) => updateUi(status), timeoutMs: 120_000 },
147
+ })
148
+ .then((r) => onPaid(r.final?.response?.operation?.operation)) // totalin / totalout
149
+ .catch((err) => {
150
+ if (err instanceof CashDroTimeoutError) return; // nobody paid in time
151
+ onError(err);
152
+ });
153
+ ```
154
+
155
+ To let a **Cancel** button stop a sale in flight, cancel it on the unit — the
156
+ background poll then resolves at state `F` on its next tick:
157
+
158
+ ```ts
159
+ cancelButton.onclick = () => cashdro.finishOperation(operationId, 2);
160
+ ```
161
+
162
+ Equivalently you can drive the steps yourself: `await cashdro.sale(...)` returns
163
+ after start+acknowledge (fast), then call `cashdro.pollUntilFinished(id)` from a
164
+ background task. Pass an `AbortSignal` in `poll`/`pollUntilFinished` options if you
165
+ need to stop polling without cancelling the transaction.
166
+
167
+ ## Debug mode
168
+
169
+ The multi-operation helpers (`sale`, `runOperation`, `pollUntilFinished`, …) can
170
+ trace exactly what they do — each underlying call, its result, and every status
171
+ poll. Pass `debug: true` to log to the console:
172
+
173
+ ```ts
174
+ const cashdro = new CashDroClient({ baseUrl, username, password, debug: true });
175
+ await cashdro.sale(100, { waitForFinish: true, autoImport: true });
176
+ ```
177
+
178
+ ```text
179
+ [cashdro] sale: startOperation(type=4, amount=100)
180
+ [cashdro] sale: startOperation → operationId=128 (code=1, 41ms)
181
+ [cashdro] sale: acknowledgeOperationId(128) → code=1
182
+ [cashdro] pollUntilFinished(128): polling every 1000ms, timeout 120000ms
183
+ [cashdro] pollUntilFinished(128): poll #1 → state=Q
184
+ [cashdro] pollUntilFinished(128): poll #2 → state=E
185
+ [cashdro] pollUntilFinished(128): finished after 3 poll(s)
186
+ [cashdro] sale: setOperationImported(128) → code=1
187
+ [cashdro] sale: done (operationId=128)
188
+ ```
189
+
190
+ For structured logging, pass a handler instead and route the `CashDroDebugEvent`s
191
+ to your own logger:
192
+
193
+ ```ts
194
+ const cashdro = new CashDroClient({
195
+ baseUrl,
196
+ username,
197
+ password,
198
+ debug: (e) => logger.debug({ seq: e.seq, helper: e.helper, op: e.op, ...e.detail }, e.message),
199
+ });
200
+ ```
201
+
202
+ Each event is `{ seq, at, helper, op, phase, detail, message }` — `phase` is
203
+ `"call"`, `"result"`, `"poll"`, or `"info"`. This traces the helper orchestration
204
+ and is independent of the transport layer.
205
+
126
206
  ## Client reference
127
207
 
128
208
  Methods that map 1:1 to a device operation return the raw response; the convenience
package/dist/cashdro.d.ts CHANGED
@@ -14,6 +14,29 @@
14
14
  * purely a nicer surface and is never overwritten by `fern generate`.
15
15
  */
16
16
  import { CashDroApiClient, CashDroApi } from "./index.js";
17
+ /**
18
+ * A single trace event emitted by the multi-operation helpers when debug is
19
+ * enabled (see {@link CashDroOptions.debug}). One is emitted before and after
20
+ * each underlying call, plus one per status poll.
21
+ */
22
+ export interface CashDroDebugEvent {
23
+ /** 1-based sequence number within this client instance. */
24
+ seq: number;
25
+ /** Timestamp (ms since epoch) the event was emitted. */
26
+ at: number;
27
+ /** The high-level helper in play, e.g. "sale", "runOperation", "pollUntilFinished". */
28
+ helper?: string;
29
+ /** The underlying operation, e.g. "startOperation", "askOperation", "done". */
30
+ op: string;
31
+ /** "call" before a request, "result" after it, "poll" per status poll, "info" for milestones. */
32
+ phase: "call" | "result" | "poll" | "info";
33
+ /** Structured details (operationId, type, amount, code, state, attempt, durationMs, ...). */
34
+ detail?: Record<string, unknown>;
35
+ /** Pre-formatted, human-readable one-liner. */
36
+ message: string;
37
+ }
38
+ /** Receives {@link CashDroDebugEvent}s. Pass one as `debug` to integrate with your own logger. */
39
+ export type CashDroDebugHandler = (event: CashDroDebugEvent) => void;
17
40
  /** Thrown when a CashDro call returns a non-success `code`. Carries the raw response. */
18
41
  export declare class CashDroError extends Error {
19
42
  readonly response: unknown;
@@ -46,6 +69,8 @@ export interface RunOperationOptions {
46
69
  onStart?: (operationId: number, started: CashDroApi.StartOperationResponse) => void;
47
70
  /** Forwarded to pollUntilFinished when waitForFinish is true. */
48
71
  poll?: PollOptions;
72
+ /** Label shown in debug output (e.g. "sale"). Defaults to "runOperation". */
73
+ helper?: string;
49
74
  }
50
75
  /**
51
76
  * Result of {@link CashDroClient.runOperation}. Nothing is hidden — every raw
@@ -69,8 +94,18 @@ export interface RunOperationResult {
69
94
  * e.g. `{ baseUrl: "https://cashdro.prod.example/" }`.
70
95
  * - `environment` — alternative to baseUrl (baseUrl takes precedence).
71
96
  * - `headers`, `fetch`, `timeoutInSeconds`, `maxRetries`, `auth`, ...
97
+ *
98
+ * Plus a `debug` option to trace the multi-operation helpers.
72
99
  */
73
- export type CashDroOptions = CashDroApiClient.Options;
100
+ export type CashDroOptions = CashDroApiClient.Options & {
101
+ /**
102
+ * Trace the multi-operation helpers (`runOperation`, `pollUntilFinished`,
103
+ * `sale`, …) so you can see each underlying call, its result, and every
104
+ * status poll. `true` logs to the console; pass a function to receive
105
+ * structured {@link CashDroDebugEvent}s and route them to your own logger.
106
+ */
107
+ debug?: boolean | CashDroDebugHandler;
108
+ };
74
109
  /** type id for startOperation. 4 = sale, 3 = payment, 1 = load, 2 = withdrawal, 8 = transfer, 16 = deposit, 18 = change. */
75
110
  export type OperationType = number;
76
111
  export interface StartOperationParams {
@@ -95,9 +130,13 @@ export interface DenominationPiece {
95
130
  isBill: boolean;
96
131
  }
97
132
  export declare class CashDroClient {
98
- /** The underlying Fern-generated client, exposed for escape-hatch access. */
133
+ /** The underlying generated client, exposed for escape-hatch access. */
99
134
  readonly api: CashDroApiClient;
135
+ private readonly emitDebug?;
136
+ private seq;
100
137
  constructor(options: CashDroOptions);
138
+ /** Emit a debug event if a handler is configured (no-op otherwise). */
139
+ private emit;
101
140
  /** Verify connection and credentials. */
102
141
  doTest(requestOptions?: CashDroApiClient.RequestOptions): import("./core/index.js").HttpResponsePromise<CashDroApi.SimpleResponse>;
103
142
  /** Open a cash-movement transaction; returns an operationId. */
@@ -1 +1 @@
1
- {"version":3,"file":"cashdro.d.ts","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI1D,yFAAyF;AACzF,qBAAa,YAAa,SAAQ,KAAK;IAG/B,QAAQ,CAAC,QAAQ,EAAE,OAAO;gBAD1B,OAAO,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO;CAKjC;AAED,sGAAsG;AACtG,qBAAa,mBAAoB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,oBAAoB;gBADrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,CAAC,oBAAoB;CAKrD;AAED,MAAM,WAAW,WAAW;IACxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oFAAoF;IACpF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,oBAAoB,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,mBAAmB;IAChC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,sBAAsB,KAAK,IAAI,CAAC;IACpF,iEAAiE;IACjE,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,OAAO,EAAE,UAAU,CAAC,sBAAsB,CAAC;IAC3C,iFAAiF;IACjF,KAAK,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC;IACxC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAEtD,4HAA4H;AAC5H,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,2GAA2G;IAC3G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAE3G,wGAAwG;AACxG,MAAM,WAAW,iBAAiB;IAC9B,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;CACnB;AAaD,qBAAa,aAAa;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBAEnB,OAAO,EAAE,cAAc;IAInC,yCAAyC;IACzC,MAAM,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAIvD,gEAAgE;IAChE,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAiB7F,4CAA4C;IAC5C,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAO5F,kCAAkC;IAClC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAIlF,0EAA0E;IAC1E,qBAAqB,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAItE;;;;OAIG;IACH,eAAe,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EACf,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAQpD,iDAAiD;IACjD,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAO1F,yCAAyC;IACzC,oBAAoB,CAChB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,EAChE,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAKpD,0CAA0C;IAC1C,iBAAiB,CACb,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9E,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAKpD,wCAAwC;IACxC,SAAS,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAI1D,4CAA4C;IAC5C,YAAY,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAI7D,0CAA0C;IAC1C,YAAY,CACR,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EACrF,cAAc,CAAC,EAAE,gBAAgB,CAAC,cAAc;IAOpD;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAa9G;;;;;;;;;OASG;IACG,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAe7G,kEAAkE;IAClE,OAAO,CAAC,GAAG;IAUX,6BAA6B;IAC7B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe;IAG1C,+BAA+B;IAC/B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe;IAG7C,yDAAyD;IACzD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe;IAMrD,wFAAwF;IACxF,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,GAAE,UAAe;IASxE,+FAA+F;IAC/F,OAAO,CAAC,IAAI,GAAE,UAAe;IAG7B,iCAAiC;IACjC,MAAM,CAAC,IAAI,GAAE,UAAe;IAG5B,6BAA6B;IAC7B,IAAI,CAAC,IAAI,GAAE,UAAe;IAG1B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,GAAE,UAAe;IAG9B,sFAAsF;IACtF,kBAAkB,CAAC,IAAI,GAAE,UAAe;IAGxC,uEAAuE;IACvE,iBAAiB,CAAC,IAAI,GAAE,UAAe;IAGvC,sEAAsE;IACtE,iBAAiB,CAAC,IAAI,GAAE,UAAe;IAIvC;;;;;OAKG;IACH,gBAAgB,CACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAE;CAQjF"}
1
+ {"version":3,"file":"cashdro.d.ts","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"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"}
package/dist/cashdro.js CHANGED
@@ -15,6 +15,10 @@
15
15
  */
16
16
  import { CashDroApiClient } from "./index.js";
17
17
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
18
+ const defaultDebugHandler = (e) => {
19
+ // eslint-disable-next-line no-console
20
+ console.debug(`[cashdro] ${e.message}`);
21
+ };
18
22
  /** Thrown when a CashDro call returns a non-success `code`. Carries the raw response. */
19
23
  export class CashDroError extends Error {
20
24
  response;
@@ -46,10 +50,21 @@ const toSpanishPiece = (p) => ({
46
50
  isBillete: String(p.isBill),
47
51
  });
48
52
  export class CashDroClient {
49
- /** The underlying Fern-generated client, exposed for escape-hatch access. */
53
+ /** The underlying generated client, exposed for escape-hatch access. */
50
54
  api;
55
+ emitDebug;
56
+ seq = 0;
51
57
  constructor(options) {
52
- this.api = new CashDroApiClient(options);
58
+ const { debug, ...apiOptions } = options;
59
+ this.api = new CashDroApiClient(apiOptions);
60
+ this.emitDebug =
61
+ debug === true ? defaultDebugHandler : typeof debug === "function" ? debug : undefined;
62
+ }
63
+ /** Emit a debug event if a handler is configured (no-op otherwise). */
64
+ emit(event) {
65
+ const handler = this.emitDebug;
66
+ if (handler)
67
+ handler({ seq: ++this.seq, at: Date.now(), ...event });
53
68
  }
54
69
  /** Verify connection and credentials. */
55
70
  doTest(requestOptions) {
@@ -122,15 +137,51 @@ export class CashDroClient {
122
137
  async pollUntilFinished(operationId, opts = {}) {
123
138
  const { intervalMs = 1000, timeoutMs = 120_000, signal, onPoll } = opts;
124
139
  const deadline = Date.now() + timeoutMs;
140
+ this.emit({
141
+ op: "pollUntilFinished",
142
+ phase: "info",
143
+ detail: { operationId, intervalMs, timeoutMs },
144
+ message: `pollUntilFinished(${operationId}): polling every ${intervalMs}ms, timeout ${timeoutMs}ms`,
145
+ });
146
+ let attempt = 0;
125
147
  while (true) {
148
+ attempt++;
126
149
  const status = await this.askOperation(operationId);
150
+ const state = status.response?.operation?.operation?.state;
151
+ this.emit({
152
+ op: "askOperation",
153
+ phase: "poll",
154
+ detail: { operationId, attempt, state },
155
+ message: `pollUntilFinished(${operationId}): poll #${attempt} → state=${state ?? "?"}`,
156
+ });
127
157
  onPoll?.(status);
128
- if (status.response?.operation?.operation?.state === "F")
158
+ if (state === "F") {
159
+ this.emit({
160
+ op: "pollUntilFinished",
161
+ phase: "info",
162
+ detail: { operationId, attempt, state },
163
+ message: `pollUntilFinished(${operationId}): finished after ${attempt} poll(s)`,
164
+ });
129
165
  return status;
130
- if (signal?.aborted)
166
+ }
167
+ if (signal?.aborted) {
168
+ this.emit({
169
+ op: "pollUntilFinished",
170
+ phase: "info",
171
+ detail: { operationId, attempt, aborted: true },
172
+ message: `pollUntilFinished(${operationId}): aborted after ${attempt} poll(s)`,
173
+ });
131
174
  throw new CashDroError(`poll aborted for operation ${operationId}`, status);
132
- if (Date.now() >= deadline)
175
+ }
176
+ if (Date.now() >= deadline) {
177
+ this.emit({
178
+ op: "pollUntilFinished",
179
+ phase: "info",
180
+ detail: { operationId, attempt, timedOut: true },
181
+ message: `pollUntilFinished(${operationId}): timed out after ${attempt} poll(s)`,
182
+ });
133
183
  throw new CashDroTimeoutError(operationId, status);
184
+ }
134
185
  await sleep(intervalMs);
135
186
  }
136
187
  }
@@ -146,75 +197,116 @@ export class CashDroClient {
146
197
  */
147
198
  async runOperation(params, opts = {}) {
148
199
  const { acknowledge = true, waitForFinish = false, autoImport = false, onStart, poll } = opts;
200
+ const helper = opts.helper ?? "runOperation";
201
+ this.emit({
202
+ helper,
203
+ op: "startOperation",
204
+ phase: "call",
205
+ detail: { type: params.type, amount: params.amount, parameters: params.parameters },
206
+ message: `${helper}: startOperation(type=${params.type}${params.amount != null ? `, amount=${params.amount}` : ""})`,
207
+ });
208
+ let t = Date.now();
149
209
  const started = await this.startOperation(params);
150
210
  const operationId = Number(started.response?.operation?.operationId);
211
+ this.emit({
212
+ helper,
213
+ op: "startOperation",
214
+ phase: "result",
215
+ detail: { operationId, code: started.code, durationMs: Date.now() - t },
216
+ message: `${helper}: startOperation → operationId=${operationId} (code=${started.code}, ${Date.now() - t}ms)`,
217
+ });
151
218
  if (started.code !== 1 || Number.isNaN(operationId)) {
152
219
  throw new CashDroError(`startOperation failed (code ${started.code})`, started);
153
220
  }
154
221
  onStart?.(operationId, started);
155
222
  const result = { operationId, started };
156
- if (acknowledge)
157
- await this.acknowledgeOperationId(operationId);
223
+ if (acknowledge) {
224
+ t = Date.now();
225
+ const ack = await this.acknowledgeOperationId(operationId);
226
+ this.emit({
227
+ helper,
228
+ op: "acknowledgeOperationId",
229
+ phase: "result",
230
+ detail: { operationId, code: ack.code, durationMs: Date.now() - t },
231
+ message: `${helper}: acknowledgeOperationId(${operationId}) → code=${ack.code}`,
232
+ });
233
+ }
158
234
  if (waitForFinish)
159
235
  result.final = await this.pollUntilFinished(operationId, poll);
160
- if (autoImport)
236
+ if (autoImport) {
237
+ t = Date.now();
161
238
  result.imported = await this.setOperationImported(operationId);
239
+ this.emit({
240
+ helper,
241
+ op: "setOperationImported",
242
+ phase: "result",
243
+ detail: { operationId, code: result.imported.code, durationMs: Date.now() - t },
244
+ message: `${helper}: setOperationImported(${operationId}) → code=${result.imported.code}`,
245
+ });
246
+ }
247
+ this.emit({
248
+ helper,
249
+ op: "done",
250
+ phase: "info",
251
+ detail: { operationId, finalState: result.final?.response?.operation?.operation?.state },
252
+ message: `${helper}: done (operationId=${operationId})`,
253
+ });
162
254
  return result;
163
255
  }
164
256
  /** Shared plumbing for the per-transaction conveniences below. */
165
- txn(type, opts, extra) {
257
+ txn(type, opts, extra, helper) {
166
258
  const { posid, posuser, aliasid, ...run } = opts;
167
- return this.runOperation({ type, posid, posuser, aliasid, amount: extra?.amount, parameters: extra?.parameters }, run);
259
+ return this.runOperation({ type, posid, posuser, aliasid, amount: extra?.amount, parameters: extra?.parameters }, { ...run, helper: helper ?? run.helper });
168
260
  }
169
261
  // --- amount-based transactions (parameters = {"amount":"<minor units>"}) ---
170
262
  /** Sale / venta (type 4). */
171
263
  sale(amount, opts = {}) {
172
- return this.txn(4, opts, { amount });
264
+ return this.txn(4, opts, { amount }, "sale");
173
265
  }
174
266
  /** Payment / pago (type 3). */
175
267
  payment(amount, opts = {}) {
176
- return this.txn(3, opts, { amount });
268
+ return this.txn(3, opts, { amount }, "payment");
177
269
  }
178
270
  /** Deposit by amount / ingreso por importe (type 17). */
179
271
  depositByAmount(amount, opts = {}) {
180
- return this.txn(17, opts, { amount });
272
+ return this.txn(17, opts, { amount }, "depositByAmount");
181
273
  }
182
274
  // --- denomination-based payment (parameters = {"pieces":{"piece":[...]}}) ---
183
275
  /** Pay by denomination / pago por denominación (type 3) — dispense the given pieces. */
184
276
  paymentByDenomination(pieces, opts = {}) {
185
277
  const parameters = JSON.stringify({ pieces: { piece: pieces.map(toEnglishPiece) } });
186
- return this.txn(3, opts, { parameters });
278
+ return this.txn(3, opts, { parameters }, "paymentByDenomination");
187
279
  }
188
280
  // --- transactions with no startOperation parameters ---
189
281
  // (driven to completion on the unit's web UI, by finishOperation, or by the
190
282
  // operator; use waitForFinish / finishOperation / finishWithPieces as needed)
191
283
  /** Deposit / ingreso (type 16). Finalize with finishOperation(id, 1) once the user is done. */
192
284
  deposit(opts = {}) {
193
- return this.txn(16, opts);
285
+ return this.txn(16, opts, undefined, "deposit");
194
286
  }
195
287
  /** Change / cambio (type 18). */
196
288
  change(opts = {}) {
197
- return this.txn(18, opts);
289
+ return this.txn(18, opts, undefined, "change");
198
290
  }
199
291
  /** Load / carga (type 1). */
200
292
  load(opts = {}) {
201
- return this.txn(1, opts);
293
+ return this.txn(1, opts, undefined, "load");
202
294
  }
203
295
  /** Withdrawal / retirada (type 2), driven by the unit's web UI. */
204
296
  withdraw(opts = {}) {
205
- return this.txn(2, opts);
297
+ return this.txn(2, opts, undefined, "withdraw");
206
298
  }
207
299
  /** Transfer to cassette / traspaso a casete (type 8), driven by the unit's web UI. */
208
300
  transferToCassette(opts = {}) {
209
- return this.txn(8, opts);
301
+ return this.txn(8, opts, undefined, "transferToCassette");
210
302
  }
211
303
  /** Empty the note cassette / retirada casete de billetes (type 10). */
212
304
  emptyNoteCassette(opts = {}) {
213
- return this.txn(10, opts);
305
+ return this.txn(10, opts, undefined, "emptyNoteCassette");
214
306
  }
215
307
  /** Empty the coin cassette / retirada casete de monedas (type 11). */
216
308
  emptyCoinCassette(opts = {}) {
217
- return this.txn(11, opts);
309
+ return this.txn(11, opts, undefined, "emptyCoinCassette");
218
310
  }
219
311
  /**
220
312
  * Finalize a "sin interfaz web" withdrawal (type 2) or transfer to cassette
@@ -1 +1 @@
1
- {"version":3,"file":"cashdro.js","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashdro.js","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,47 +1,49 @@
1
1
  {
2
- "name": "@inowu/cashdro",
3
- "version": "0.1.0",
4
- "description": "TypeScript client for CashDro automated cash recyclers over the Web Service integration API.",
5
- "license": "UNLICENSED",
6
- "author": "Inowu",
7
- "keywords": [
8
- "cashdro",
9
- "cash-recycler",
10
- "payments",
11
- "point-of-sale",
12
- "sdk"
13
- ],
14
- "repository": {
15
- "type": "git",
16
- "url": "git+https://github.com/Inowu/cashdro-sdk-typescript.git"
17
- },
18
- "type": "module",
19
- "main": "./dist/main.js",
20
- "module": "./dist/main.js",
21
- "types": "./dist/main.d.ts",
22
- "exports": {
23
- ".": {
24
- "types": "./dist/main.d.ts",
25
- "import": "./dist/main.js",
26
- "default": "./dist/main.js"
2
+ "name": "@inowu/cashdro",
3
+ "version": "0.2.0",
4
+ "description": "TypeScript client for CashDro automated cash recyclers over the Web Service integration API.",
5
+ "license": "UNLICENSED",
6
+ "author": "Inowu",
7
+ "keywords": [
8
+ "cashdro",
9
+ "cash-recycler",
10
+ "payments",
11
+ "point-of-sale",
12
+ "sdk"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/Inowu/cashdro-sdk-typescript.git"
17
+ },
18
+ "type": "module",
19
+ "main": "./dist/main.js",
20
+ "module": "./dist/main.js",
21
+ "types": "./dist/main.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/main.d.ts",
25
+ "import": "./dist/main.js",
26
+ "default": "./dist/main.js"
27
+ },
28
+ "./package.json": "./package.json"
29
+ },
30
+ "files": [
31
+ "dist",
32
+ "README.md"
33
+ ],
34
+ "sideEffects": false,
35
+ "engines": {
36
+ "node": ">=18"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ },
41
+ "scripts": {
42
+ "build": "tsc -p tsconfig.json",
43
+ "prepack": "npm run build"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^22",
47
+ "typescript": "^5.6.3"
27
48
  }
28
- },
29
- "files": [
30
- "dist",
31
- "README.md"
32
- ],
33
- "sideEffects": false,
34
- "engines": {
35
- "node": ">=18"
36
- },
37
- "publishConfig": {
38
- "access": "public"
39
- },
40
- "devDependencies": {
41
- "@types/node": "^22",
42
- "typescript": "^5.6.3"
43
- },
44
- "scripts": {
45
- "build": "tsc -p tsconfig.json"
46
- }
47
- }
49
+ }