node-autotask 0.15.0 → 0.16.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 CHANGED
@@ -534,6 +534,14 @@ export interface RequestOptions {
534
534
  that premise is unprovable from the response, and the #104 classifier pins this
535
535
  code as `unknown` for a write (never blindly resend). `idempotent: true` /
536
536
  `maxRetries` remain the explicit opt-ins.
537
+ - **Maintenance-window wait (weekly window):** a non-JSON `2xx` that reads as a
538
+ maintenance notice is waited out for up to `maintenanceMaxWaitMs` (default 1 h,
539
+ polled every `maintenancePollMs` = 30 s) from the first such page — for reads
540
+ AND writes, because the edge answered before the vendor application saw the
541
+ request. It does not consume `maxRetries`, each post-wait attempt gets a fresh
542
+ `timeoutMs`, and the timer is re-armed around the wait. On exhaustion the error
543
+ carries `details.maintenance = { waits, waitedMs, maxWaitMs, exhausted }`. A page
544
+ that does not read as maintenance (a wrong `baseUrl`) never enters the loop.
537
545
  - **Per-call budget override:** `InvokeOptions.maxRetries` / `MutationOpts.maxRetries`
538
546
  threads the transport's per-request override through a mutation (and its
539
547
  auxiliary reads, e.g. a partial-update merge read); `0` = exactly one send per
package/README.md CHANGED
@@ -397,8 +397,10 @@ The SDK ships the mechanical substrate, not a server (no MCP imports, no zod):
397
397
  gains two server-category codes: `UNEXPECTED_CONTENT_TYPE` (a non-JSON 2xx
398
398
  whose `Content-Type` is not a JSON media type — the vendor maintenance
399
399
  page; `details` carries the content-type + a 256-byte truncated snippet
400
- that the MCP servers wrap as untrusted host text; a `GET` or an explicitly
401
- `idempotent`-flagged call retries, a write makes ONE call and says the write
400
+ that the MCP servers wrap as untrusted host text; a maintenance notice is waited
401
+ out for up to `maintenanceMaxWaitMs` (default 1 h — the weekly window is usually
402
+ under 30 min) for reads and writes, otherwise a `GET` or an explicitly
403
+ `idempotent`-flagged call retries and a write makes ONE call and says the write
402
404
  may have taken effect) and `EMPTY_RESPONSE` (a blank 2xx on a call that expects a result
403
405
  — `expectBody`, non-DELETE by default; `DELETE` / 204 keep `undefined` and
404
406
  the delete ops synthesize `{ id }` from the path id on a blank answer). A
@@ -127,13 +127,13 @@ import {
127
127
  VersionInformationResource,
128
128
  VersionResource,
129
129
  ZoneInformationResource
130
- } from "./chunk-AXVYQPTB.js";
130
+ } from "./chunk-NB254T3F.js";
131
131
  import {
132
132
  AutotaskConfigError,
133
133
  HttpClient,
134
134
  resolveConfig,
135
135
  runWithSignal
136
- } from "./chunk-CSA6QSV6.js";
136
+ } from "./chunk-U6JUHHMB.js";
137
137
 
138
138
  // src/client.ts
139
139
  var AutotaskClient = class {