@crvouga/mockingbird-service-bedrock 2.3.0 → 3.1.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/CHANGELOG.md CHANGED
@@ -1,6 +1,31 @@
1
1
  # Changelog — @crvouga/mockingbird-service-bedrock
2
2
 
3
- ## 2.3.0 (2026-10-05)
3
+ ## 3.1.0 (2026-10-08)
4
+
5
+ ### Features
6
+
7
+ - redesign emulator experience ([d6038c2](https://github.com/crvouga/mockingbird/commit/d6038c27eebbaa1751f02bc9305002a5b1304779))
8
+
9
+ ### Dependencies
10
+
11
+ - `@crvouga/mockingbird-service-sqlite`
12
+
13
+ ## 3.0.0 (2026-10-07)
14
+
15
+ ### ⚠️ Breaking changes
16
+
17
+ - point the repo at crvouga/mockingbird ([1bf35a4](https://github.com/crvouga/mockingbird/commit/1bf35a422b84a85b50b09b72bd7cc7093082a86e))
18
+ - point the repo at crvouga/emulates ([cdb5e53](https://github.com/crvouga/mockingbird/commit/cdb5e536ed8c1f52345e3984f089001c25fdb08a))
19
+ - rename Emulators to Emulates ([2e10d9c](https://github.com/crvouga/mockingbird/commit/2e10d9cff84c54ac37768fc9a19d1aefd3943744))
20
+ - rebrand Mockingbird to Emulators ([1adca65](https://github.com/crvouga/mockingbird/commit/1adca65ce28242f11cff98eac05d2be88f680cbe))
21
+
22
+ ### Fixes and improvements
23
+
24
+ - typecheck the brand gate before builds ([fc36095](https://github.com/crvouga/mockingbird/commit/fc3609514de70ffe3170a5d216fb8a49f9ce7cbb))
25
+ - format the emulates records query ([8698872](https://github.com/crvouga/mockingbird/commit/8698872509d06002be5a8fcdc85d79f8462320c3))
26
+ - align rename fixtures and formatting ([69e0bee](https://github.com/crvouga/mockingbird/commit/69e0beefe44c9541e46740d3c177bde832340f90))
27
+
28
+ ## 2.3.0 (2026-10-04)
4
29
 
5
30
  ### Features
6
31
 
@@ -17,10 +42,6 @@
17
42
  - reconcile combined PR integration ([124d5be](https://github.com/crvouga/mockingbird/commit/124d5bed7576535ff481ce6da7d2369957799665))
18
43
  - preserve inferred form headers ([02bdd28](https://github.com/crvouga/mockingbird/commit/02bdd2806a9a934607ecd7ffd0cfbe4f6ba80c91))
19
44
 
20
- ### Dependencies
21
-
22
- - `@crvouga/mockingbird-service-sqlite`
23
-
24
45
  ## 2.2.0 (2026-10-04)
25
46
 
26
47
  ### Features
package/DISCOVERY.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @crvouga/mockingbird-service-bedrock discovery
2
2
 
3
3
  This is the installed-package index for coding agents and tooling. All relative links resolve
4
- inside `node_modules/@crvouga/mockingbird-service-bedrock/`; no repository checkout is needed to discover the mock's
4
+ inside `node_modules/@crvouga/mockingbird-service-bedrock/`; no repository checkout is needed to discover the emulator's
5
5
  supported surface or documented behavior.
6
6
 
7
7
  ## Capability and behavior sources
@@ -48,7 +48,7 @@ designed for assertions and diagnosis by consuming test suites.
48
48
  ## Report a mismatch or missing capability
49
49
 
50
50
  Follow the [agent reporting contract](https://github.com/crvouga/mockingbird/blob/main/docs/REPORTING_ISSUES.md). Include package version,
51
- operation/command, a minimal redacted request, actual mock result, expected oracle result or vendor
51
+ operation/command, a minimal redacted request, actual emulator result, expected oracle result or vendor
52
52
  documentation, and whether the mismatch appears in the matrix. Never include keys, tokens,
53
53
  customer data, prompts, PHI, card data, or unredacted recordings.
54
54
 
package/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # @crvouga/mockingbird-service-bedrock
2
2
 
3
- > Familiar calls. Faithful echoes. Part of [Mockingbird](https://github.com/crvouga/mockingbird).
3
+ > Local emulators. Real API contracts. Part of [Mockingbird](https://github.com/crvouga/mockingbird).
4
4
 
5
- Stateful, scriptable mock of **Amazon Bedrock Runtime** for test suites: `Converse`,
5
+ Stateful, scriptable emulator of **Amazon Bedrock Runtime** for test suites: `Converse`,
6
6
  `ConverseStream` (byte-exact `application/vnd.amazon.eventstream` frames), `InvokeModel`
7
7
  (Anthropic Messages bodies and Titan text embeddings), `InvokeModelWithBidirectionalStream`
8
8
  (Nova Sonic over HTTP/2 duplex), and the AgentCore `InvokeHarness` event stream.
9
9
 
10
- The mock never generates language. It replays **scripts**: a test says "when the chat model
10
+ The emulator never generates language. It replays **scripts**: a test says "when the chat model
11
11
  sees *dizzy* with `report_rx_symptom` available, emit this `toolUse`; after the tool result
12
12
  comes back, say this". Chat turns, approval cards, guardrail blocks, structured output and
13
13
  throttles become deterministic and take milliseconds.
@@ -112,7 +112,7 @@ how many calls it answers.
112
112
  conversation starts over. `expectToolResult: {name}` makes a turn answer only when the last
113
113
  user message carries that tool's result. Nova Sonic counts answers within the session.
114
114
  - **A turn** is any of: `text` (streamed in `chunkSize`-character deltas, `delayMsPerChunk`
115
- mock-clock ms apart), `reasoning`, `toolUse` (`{name, input, toolUseId?}` or a list), `json`
115
+ emulator-clock ms apart), `reasoning`, `toolUse` (`{name, input, toolUseId?}` or a list), `json`
116
116
  (structured output, rendered in the form the request asked for — see below), `guardrail`
117
117
  (`true` or `{text, trace}`: `guardrail_intervened` with Bedrock's refusal text and a trace),
118
118
  `toolResult` (harness), `userTranscript` (Nova Sonic), `stopReason`, `usage`, `fault`.
@@ -140,11 +140,11 @@ applies to every model and harness call in the calling namespace):
140
140
  | `mid_stream_throttling` | the same with a `throttlingException` frame |
141
141
  | `validation_exception` / `validation` | 400 `ValidationException` |
142
142
  | `max_tokens` | output cut in half, `stopReason: "max_tokens"` |
143
- | `latency` (`latencyMs`) | the response starts after 2 s on the mock clock |
143
+ | `latency` (`latencyMs`) | the response starts after 2 s on the emulator clock |
144
144
  | `truncated_frame` | the stream stops half-way through a frame (both decoders throw) |
145
145
  | `model_timeout`, `service_unavailable`, `access_denied`, `internal_server` | 408 / 503 / 403 / 500 with the matching `x-amzn-ErrorType` |
146
146
 
147
- Chunk pacing and latency wait on the **mock clock**: freeze it (`POST /__admin/clock
147
+ Chunk pacing and latency wait on the **emulator clock**: freeze it (`POST /__admin/clock
148
148
  {"freeze": true}`) and advance it to release each chunk, so time-to-first-token tests are exact.
149
149
 
150
150
  ### Admin (beyond the standard contract)
@@ -182,13 +182,13 @@ cannot add headers, so map each worker's access key id:
182
182
 
183
183
  | Export | Kind | Description |
184
184
  | --- | --- | --- |
185
- | `BedrockAPI` | class | The in-process mock: `fetch`, `reset`, `scripts()`, `putScripts(scripts, replace?)`, `removeScripts(id?)`, `stats()`. Options: `sqlite`, `now`, `namespace`, `settings`, `scripts`, `sleep`. |
186
- | `createRuntime` | function | The mock with the full service contract (health, admin, namespaces, SigV4 credentials, presets, scripts). Options: `settings`, `scripts`, `clock`, `seed`, `adminKey`, `onLog`, `sqlite`. |
185
+ | `BedrockAPI` | class | The in-process emulator: `fetch`, `reset`, `scripts()`, `putScripts(scripts, replace?)`, `removeScripts(id?)`, `stats()`. Options: `sqlite`, `now`, `namespace`, `settings`, `scripts`, `sleep`. |
186
+ | `createRuntime` | function | The emulator with the full service contract (health, admin, namespaces, SigV4 credentials, presets, scripts). Options: `settings`, `scripts`, `clock`, `seed`, `adminKey`, `onLog`, `sqlite`. |
187
187
  | `BEDROCK_PRESETS` | object | Every named fault preset. |
188
188
  | `BEDROCK_NAMESPACE` | string | The service name, `"bedrock"`. |
189
189
  | `bedrockError` | function | A Bedrock error response (`status`, `x-amzn-ErrorType`, `{message}`). |
190
190
  | `accessKeyCredential` | function | The SigV4 access key id of a request (how credentials map to namespaces). |
191
- | `clockSleep` | function | A sleep that waits on a (possibly frozen) mock clock. |
191
+ | `clockSleep` | function | A sleep that waits on a (possibly frozen) emulator clock. |
192
192
  | `titanEmbedding` | function | The deterministic unit vector Titan answers with. |
193
193
  | `sampleSchema` | function | The minimal instance of a JSON Schema (the unscripted structured output). |
194
194
  | `parseScript` | function | Validate one script (what `PUT /__admin/scripts` runs). |
package/SUPPORT.md CHANGED
@@ -3,10 +3,10 @@
3
3
  Generated from `openapi.yaml`; do not edit by hand.
4
4
 
5
5
  - operations in spec: **6**
6
- - supported by the mock: **5**
6
+ - supported by the emulator: **5**
7
7
  - parity enabled: **4**
8
8
 
9
- | operationId | route | mock | parity | notes |
9
+ | operationId | route | emulator | parity | notes |
10
10
  | --- | --- | --- | --- | --- |
11
11
  | `Converse` | `POST /model/{modelId}/converse` | ✅ supported | ✅ | |
12
12
  | `ConverseStream` | `POST /model/{modelId}/converse-stream` | ✅ supported | ✅ | |