@plumbus/ai-bedrock 0.2.2 → 0.3.0-beta.1

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
@@ -1,5 +1,24 @@
1
1
  # @plumbus/ai-bedrock
2
2
 
3
+ ## 0.3.0-beta.1 — 2026-10-12
4
+
5
+ ### Added
6
+
7
+ - Carry Converse/ConverseStream prompt caching from stable 0.2.2 into the beta family, preserving native structured-output schemas and per-call deadlines. Use with core 0.8.0-beta.10.
8
+
9
+ ### Fixed
10
+
11
+ - **A request its timeout ends is reported as a timeout.** When `requestTimeout`, or the request's own `timeout` (a prompt's `model.timeoutMs` or a call's `timeoutMs` in core), ended a Converse call, it failed with the AWS SDK's bare `AbortError: Request aborted`, the same as a caller's cancellation. It now fails with core's `ProviderAPIError` shape (`name: 'ProviderAPIError'`, `providerName: 'bedrock'`, `retryable: false`, `timeoutMs`), message `Bedrock request timed out after <ms> ms`, which core's `isProviderAPIError` recognises; a stream ends with an `error` event carrying that message, also when the timeout cuts it off after some deltas — whether the SDK's event stream then breaks or just ends, which could otherwise be reported as some other error or as a finished answer. A caller's abort is still rethrown as raised.
12
+ - **Embeddings honour a per-call timeout.** `embed()` gave every InvokeModel call the adapter's `requestTimeout`, ignoring the request, and a call it ended failed with a bare `AbortError`. `EmbeddingRequest.timeout` (core's RAG `ingest`/`retrieve` and `ctx.ai.retrieve` `timeoutMs`) now sets it, per InvokeModel call, and a call the timeout ends fails with the same `ProviderAPIError` shape as Converse (`Bedrock request timed out after <ms> ms`, `timeoutMs`), which core's `isProviderTimeoutError` recognises.
13
+ - **An unusable timeout is refused before anything is sent.** A `requestTimeout` or request `timeout` that was not a whole number of milliseconds from 1 to 2 147 483 647 went straight to `AbortSignal.timeout`, which threw a bare `RangeError` for `-1`, `1.5` or `NaN` (an `AI_BEDROCK_REQUEST_TIMEOUT` that is not a number), ended the request at once for `0`, and fired after 1 ms above the maximum. `complete()`, `stream()` and `embed()` now fail with core's `AIInvalidRequestError` (`reason: 'timeout_invalid'`) before loading pricing or calling Bedrock, as core's OpenAI and Anthropic adapters do.
14
+ - **Embeddings stop when the caller cancels.** `embed()` ignored the request's signal (core had none on `EmbeddingRequest`), so a cancelled `ctx.ai.retrieve` or RAG `ingest` kept every InvokeModel call running and sent the remaining texts. `embed()` now honours `EmbeddingRequest.signal` (core's new field): the calls in flight are aborted and fail as `complete()` does on a caller abort (the AWS SDK's `AbortError`, the caller's reason as its `cause`), no further text is sent once it fires between texts (rejecting with the caller's reason as raised), and an already-aborted signal rejects with its reason before pricing is loaded or Bedrock is called. Needs the `@plumbus/core` release that adds `EmbeddingRequest.signal`.
15
+
16
+ ## 0.3.0-beta.0 — 2026-09-11 — core 0.8 beta family
17
+
18
+ ### Upgrade boundary
19
+
20
+ - Beta prerelease of the coordinated core 0.8 family (core 0.8.x, UI 0.9.x, MCP 0.7.x, voice 0.6.x, other add-ons 0.3.x), published under the branch-named npm dist-tag `plumbus-next` (`latest` stays on the 0.7 family). Previous caret ranges exclude it; install the whole family together and follow the [0.8 upgrade notes](../../docs/upgrading-core-0.8.md). Internal peers use prerelease-inclusive ranges (for example `>=0.8.0-beta.0 <0.9.0`) until the family goes stable.
21
+
3
22
  ## 0.2.2 — 2026-10-08
4
23
 
5
24
  ### Added
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@plumbus/ai-bedrock.svg)](https://www.npmjs.com/package/@plumbus/ai-bedrock)
6
6
  [![license](https://img.shields.io/npm/l/@plumbus/ai-bedrock.svg)](https://github.com/plumbus-framework/plumbus/blob/main/LICENSE)
7
- [![peer: @plumbus/core 0.7.x](https://img.shields.io/badge/peer-%40plumbus%2Fcore%200.7.x-blue)](https://www.npmjs.com/package/@plumbus/core)
7
+ [![peer: @plumbus/core 0.8.x](https://img.shields.io/badge/peer-%40plumbus%2Fcore%200.8.x-blue)](https://www.npmjs.com/package/@plumbus/core)
8
8
 
9
9
  ## What is this?
10
10
 
@@ -46,7 +46,7 @@ An opt-in peer keeps core lean while giving AWS shops a first-class `provider: '
46
46
 
47
47
  ## Status
48
48
 
49
- Optional peer of `@plumbus/core` (version-locked **`0.2.x`**; required peer `@plumbus/core` **`0.7.x`**). **Runtime floor:** `@plumbus/core` **≥ 0.7.0**; prompt caching through `ctx.ai` needs **≥ 0.7.9**. Install alone is not enough until the adapter is registered (env discovery or `createBedrockAdapter`).
49
+ Optional peer of `@plumbus/core` (beta family version **`0.3.0-beta.1`**, npm dist-tag `plumbus-next`; required peer `@plumbus/core` **`>=0.8.0-beta.0 <0.9.0`**). The beta includes prompt caching through `ctx.ai`; on the stable 0.7 line caching needs core **≥ 0.7.9** and Bedrock **≥ 0.2.2**. Install alone is not enough until the adapter is registered (env discovery or `createBedrockAdapter`).
50
50
 
51
51
  ## Install
52
52
 
@@ -54,7 +54,7 @@ Optional peer of `@plumbus/core` (version-locked **`0.2.x`**; required peer `@pl
54
54
  pnpm add @plumbus/ai-bedrock
55
55
  ```
56
56
 
57
- Peer (copy literally): `@plumbus/core` `0.7.x`. See `packages/plumbus-core/instructions/peer-dependencies.md`.
57
+ Peer (copy literally): `@plumbus/core` `0.8.x`. See `packages/plumbus-core/instructions/peer-dependencies.md`.
58
58
 
59
59
  If agent wiring predates Bedrock instructions, refresh:
60
60