@m8tes/sdk 0.1.0-alpha.6 → 0.1.0-alpha.7

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/CHANGELOG.md CHANGED
@@ -13,6 +13,28 @@ All notable changes to `@m8tes/sdk`.
13
13
  > While the version is a `-alpha.N` prerelease, publish with dist-tag `alpha`.
14
14
  > The first stable release is published with `--tag latest` deliberately.
15
15
 
16
+ ## [0.1.0-alpha.7] - 2026-09-06
17
+
18
+ ### Fixed
19
+
20
+ - **`runs.reply()` forwards every per-reply override.** The body was hard-coded to `{ message }`,
21
+ so `tools`, `permission_mode`, `task_setup_tools`, `feedback` and `human_in_the_loop` never
22
+ reached the server, though `RunReply` accepts all five and the Python SDK sends them. An object
23
+ literal was a compile error, so the silent path was narrow but real: an options object built in a
24
+ variable that ALSO sets `raiseOnError` or `idempotencyKey` — an SDK wrapper forwarding caller
25
+ options is the obvious shape — type-checks clean and dropped the rest. `human_in_the_loop: false`
26
+ is the one that bites: it is the documented way to pin non-interactive behaviour, so an unattended
27
+ TypeScript reply loop could still pause on a question. `RunReplyOptions` now declares all five and
28
+ is the single source of truth for the body; `test/server-drift.test.ts` pins it against the
29
+ server's own `RunReply` model. `stream` is now sent explicitly, as `sdk/py` and `@m8tes/react`
30
+ already do.
31
+ - **A mid-turn override 409 is `ConflictError`, not `RunNotStreamingError`.** Sending any
32
+ per-reply override while the current turn is still executing is refused with 409 so the
33
+ override cannot be silently dropped. `http.stream()` used to map every stream 409 to
34
+ "the run already finished, fall back to `get()`" — true for `GET /runs/{id}/stream`,
35
+ false for POST reply/create. Callers pinning `human_in_the_loop: false` mid-turn would
36
+ have been told the run ended while it was still executing under the old settings.
37
+
16
38
  ## [0.1.0-alpha.6] - 2026-09-05
17
39
 
18
40
  ### Fixed
@@ -1117,5 +1117,5 @@ function seg(value) {
1117
1117
  }
1118
1118
 
1119
1119
  export { APIError, AuthenticationError, BillingError, ConflictError, M8tesApiError, NotFoundError, PROTOCOL_VERSION, PermissionDeniedError, RateLimitError, RunFailedError, RunNotStreamingError, TERMINAL_EVENT_TYPES, ValidationError, accumulate, createAccumulator, createNormalizer, createSseDecoder, errorClassForStatus, errorFromResponse, initialConversationState, isTerminalEvent, parseErrorEnvelope, parseRetryAfter, parseSse, seg, splitConcatenatedJson };
1120
- //# sourceMappingURL=chunk-F6B6R3SP.js.map
1121
- //# sourceMappingURL=chunk-F6B6R3SP.js.map
1120
+ //# sourceMappingURL=chunk-5X7I2XPE.js.map
1121
+ //# sourceMappingURL=chunk-5X7I2XPE.js.map