node-autotask 0.17.0 → 0.19.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/ARCHITECTURE.md +25 -12
- package/CHANGELOG.md +574 -0
- package/MCP_TOOL_CATALOG.json +2 -2
- package/MCP_TOOL_MANIFEST.md +5 -5
- package/N8N_MCP_MANIFEST.json +2 -2
- package/N8N_MCP_MANIFEST.md +3 -3
- package/README.md +8 -4
- package/capabilities.json +1574 -1574
- package/dist/capabilities.cjs +2 -2
- package/dist/capabilities.js +1 -1
- package/dist/{chunk-UV2PECAL.js → chunk-4YKV7ORF.js} +2 -2
- package/dist/{chunk-NQVD2XLH.cjs → chunk-7RDR5DSI.cjs} +393 -393
- package/dist/{chunk-EGR2ZLYM.js → chunk-D5RAQ4DE.js} +2 -2
- package/dist/{chunk-5ZGXWS4E.cjs → chunk-JM52ZU7T.cjs} +1573 -1573
- package/dist/{chunk-HC6YWPIY.js → chunk-LB2X4X4B.js} +116 -24
- package/dist/{chunk-6SP6GJJR.js → chunk-NDK7WYWA.js} +1573 -1573
- package/dist/{chunk-4RJG73GY.cjs → chunk-QDYSHAU6.cjs} +177 -85
- package/dist/{chunk-DQIZUZWP.cjs → chunk-TIM75K3G.cjs} +135 -135
- package/dist/{index-BAFdPxjG.d.ts → index-DLugNSr7.d.ts} +59 -21
- package/dist/{index-CjC0oWZX.d.cts → index-aZ3tCh1h.d.cts} +59 -21
- package/dist/index.cjs +26 -22
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +8 -4
- package/dist/operations/index.cjs +178 -105
- package/dist/operations/index.d.cts +12 -3
- package/dist/operations/index.d.ts +12 -3
- package/dist/operations/index.js +77 -4
- package/dist/pool.cjs +8 -8
- package/dist/pool.d.cts +1 -1
- package/dist/pool.d.ts +1 -1
- package/dist/pool.js +4 -4
- package/dist/resources/index.cjs +4 -4
- package/dist/resources/index.d.cts +1 -1
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.js +3 -3
- package/docs/API.md +92 -26
- package/package.json +4 -2
package/ARCHITECTURE.md
CHANGED
|
@@ -396,8 +396,13 @@ The only total is `count()` (`/query/count`); "more rows exist" is `nextPageUrl
|
|
|
396
396
|
The node follows `pageDetails.nextPageUrl` (an absolute vendor URL, POSTing the
|
|
397
397
|
filter to it), and the SDK does the same: the walk is the fetcher
|
|
398
398
|
(`BaseResource.fetchPage`), which POSTs the `QueryModel` body to
|
|
399
|
-
`/V1.0/<E>/query` for page 1 (`MaxRecords = pageSize`) and POSTs the
|
|
400
|
-
|
|
399
|
+
`/V1.0/<E>/query` for page 1 (`MaxRecords = pageSize`) and POSTs the SAME body
|
|
400
|
+
(`buildQueryBody` — `MaxRecords`, `IncludeFields` with the `id` append, the
|
|
401
|
+
preserved `filter`) to the ABSOLUTE cursor for every later page (issue #118:
|
|
402
|
+
before the fix the continuation carried `{ filter }` alone and returned the
|
|
403
|
+
full vendor model). Live-verified 2026-10-19: the vendor HONOURS
|
|
404
|
+
`IncludeFields` on a continuation and IGNORES `MaxRecords` (its own 500-row
|
|
405
|
+
page; the walk slices to its limit). The cursor is rebased to
|
|
401
406
|
the client base URL (`cursorToPath`): same-origin cursors are stripped of the
|
|
402
407
|
base and used verbatim, cross-origin ones are re-based onto the client base —
|
|
403
408
|
mirroring the node's custom-zone behaviour. A page reports `hasMore` when
|
|
@@ -534,14 +539,21 @@ export interface RequestOptions {
|
|
|
534
539
|
that premise is unprovable from the response, and the #104 classifier pins this
|
|
535
540
|
code as `unknown` for a write (never blindly resend). `idempotent: true` /
|
|
536
541
|
`maxRetries` remain the explicit opt-ins.
|
|
537
|
-
- **Maintenance-window wait (weekly window):** a
|
|
538
|
-
maintenance notice is waited out
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
542
|
+
- **Maintenance-window wait (weekly window):** a NON-JSON body whose first
|
|
543
|
+
256 bytes read as a maintenance notice is waited out at any status
|
|
544
|
+
(`2xx`/`4xx`/`5xx` — issue #114; a JSON body never enters) for up to
|
|
545
|
+
`maintenanceMaxWaitMs` (default 1 h; the observed ceiling is 4 h, exported as
|
|
546
|
+
`MAINTENANCE_WINDOW_MAX_MS`, polled every `maintenancePollMs` = 30 s) from the
|
|
547
|
+
first such page. A non-JSON `2xx` page is waited out for reads AND writes (edge-
|
|
548
|
+
served before execution). A non-JSON `4xx`/`5xx` page only for calls safe to
|
|
549
|
+
re-send (`retriable5xx`: GET / explicitly idempotent-flagged) — an unflagged
|
|
550
|
+
mutation makes ONE send and carries `details.maintenanceDetected`, because a
|
|
551
|
+
proxy can serve that page after forwarding the write. It does
|
|
552
|
+
not consume `maxRetries`, each post-wait attempt gets a fresh `timeoutMs`, and the
|
|
553
|
+
timer is re-armed around the wait. On exhaustion the error carries
|
|
554
|
+
`details.maintenance = { waits, waitedMs, maxWaitMs, exhausted }`. A non-JSON page
|
|
555
|
+
that does not read as maintenance (a wrong `baseUrl`) never enters the loop and
|
|
556
|
+
stamps `details.maintenancePatternMiss` (snippet at `debug`).
|
|
545
557
|
- **Per-call budget override:** `InvokeOptions.maxRetries` / `MutationOpts.maxRetries`
|
|
546
558
|
threads the transport's per-request override through a mutation (and its
|
|
547
559
|
auxiliary reads, e.g. a partial-update merge read); `0` = exactly one send per
|
|
@@ -993,8 +1005,9 @@ export const NoopLogger: Logger = {};
|
|
|
993
1005
|
envelope pass-through, per-envelope unwrap errors, error mapping per status (vendor error
|
|
994
1006
|
body formatting), retry/backoff on 429 with `Retry-After`, `Itgenatr005` as retryable
|
|
995
1007
|
`RateLimitError`, `AbortSignal` timeout, concurrency guard.
|
|
996
|
-
- **Pagination (`pagination.test.ts`)**: multi-page cursor-follow walk (POST the
|
|
997
|
-
to the absolute `nextPageUrl`, rebased to the client base URL
|
|
1008
|
+
- **Pagination (`pagination.test.ts`)**: multi-page cursor-follow walk (POST the same
|
|
1009
|
+
`QueryModel` body to the absolute `nextPageUrl`, rebased to the client base URL;
|
|
1010
|
+
issue #118 pins the continuation's `IncludeFields`/`MaxRecords`), early stop on short
|
|
998
1011
|
page, **1000-page guard** (`PaginationLimitError`), `collectAll` equivalence.
|
|
999
1012
|
- **Query (`query.test.ts`)**: filter builder (13 operators, and/or wrapping, UDF flag),
|
|
1000
1013
|
cap enforcement (500 OR-conditions, 1 UDF/query), GET-length measurement.
|