@crvouga/mockingbird-service-aws-speech 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,30 @@
1
1
  # Changelog — @crvouga/mockingbird-service-aws-speech
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
+
27
+ ## 2.3.0 (2026-10-04)
4
28
 
5
29
  ### Features
6
30
 
@@ -17,10 +41,6 @@
17
41
  - reconcile combined PR integration ([124d5be](https://github.com/crvouga/mockingbird/commit/124d5bed7576535ff481ce6da7d2369957799665))
18
42
  - preserve inferred form headers ([02bdd28](https://github.com/crvouga/mockingbird/commit/02bdd2806a9a934607ecd7ffd0cfbe4f6ba80c91))
19
43
 
20
- ### Dependencies
21
-
22
- - `@crvouga/mockingbird-service-sqlite`
23
-
24
44
  ## 2.2.0 (2026-10-04)
25
45
 
26
46
  ### Features
package/DISCOVERY.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @crvouga/mockingbird-service-aws-speech 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-aws-speech/`; no repository checkout is needed to discover the mock's
4
+ inside `node_modules/@crvouga/mockingbird-service-aws-speech/`; 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,8 +1,8 @@
1
1
  # @crvouga/mockingbird-service-aws-speech
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 mock of **Amazon Polly** and **Amazon Transcribe** for test suites: Polly
5
+ Stateful emulator of **Amazon Polly** and **Amazon Transcribe** for test suites: Polly
6
6
  `SynthesizeSpeech` and `StartSpeechSynthesisStream` (HTTP/2 duplex event stream), Transcribe
7
7
  Streaming `StartStreamTranscription` (HTTP/2 duplex) and Transcribe batch
8
8
  `StartTranscriptionJob` / `GetTranscriptionJob`. Chat voice turns run end to end with no audio
@@ -62,7 +62,7 @@ another service's CLI, and `createRuntime` behind a plain Fetch server, speak HT
62
62
  | `POST /v1/speech` | Polly `SynthesizeSpeech`. `OutputFormat: pcm` → raw PCM s16le mono 440 Hz tone (`audio/pcm`, even byte count, `SampleRate` 8000/16000, default 16000); `mp3` → valid MPEG-2 Layer III frames (`audio/mpeg`, 8000/16000/22050/24000). 60 ms of audio per character, byte-identical on every run; `x-amzn-RequestCharacters`. Errors: `ValidationException` (unknown voice or engine), `InvalidSampleRateException`, `TextLengthExceededException` (> 3000 characters). |
63
63
  | `POST /v1/synthesisStream` | Polly `StartSpeechSynthesisStream` (HTTP/2 duplex, parameters in `x-amzn-Engine` / `x-amzn-VoiceId` / `x-amzn-OutputFormat` / `x-amzn-SampleRate`; generative engine only). Each `TextEvent` answers `AudioEvent`s (24 kHz MP3 frames mpg123 decodes); `CloseStreamEvent` (or the end of input) answers `StreamClosedEvent {RequestCharacters}`. |
64
64
  | `POST /stream-transcription` | Transcribe `StartStreamTranscription` (HTTP/2 duplex). Validates the `x-amzn-transcribe-*` parameters (400 `BadRequestException`), echoes them in the response headers with `x-amzn-transcribe-session-id`. Sends one scripted partial (`IsPartial: true`) per `AudioEvent` received, the rest when the audio ends, then the final result, then closes. Audio bytes are counted, never kept. |
65
- | `POST /` | Transcribe batch (AWS JSON 1.1, `X-Amz-Target`). `StartTranscriptionJob` → `IN_PROGRESS` (`ConflictException` for a repeated name); `GetTranscriptionJob` → `COMPLETED` once `jobDurationMs` (2 s) have passed on the mock clock, with `Transcript.TranscriptFileUri` = `https://s3.<region>.amazonaws.com/<OutputBucketName>/<OutputKey>`; `BadRequestException` for an unknown job. |
65
+ | `POST /` | Transcribe batch (AWS JSON 1.1, `X-Amz-Target`). `StartTranscriptionJob` → `IN_PROGRESS` (`ConflictException` for a repeated name); `GetTranscriptionJob` → `COMPLETED` once `jobDurationMs` (2 s) have passed on the emulator clock, with `Transcript.TranscriptFileUri` = `https://s3.<region>.amazonaws.com/<OutputBucketName>/<OutputKey>`; `BadRequestException` for an unknown job. |
66
66
 
67
67
  ### Transcripts (`PUT /__admin/transcripts`)
68
68
 
@@ -77,7 +77,7 @@ job), or `{any: true}`; an exact match wins over `any`. Unscripted sessions and
77
77
  | Route | Effect |
78
78
  | --- | --- |
79
79
  | `PUT` / `POST` / `GET` / `DELETE /__admin/transcripts` | Replace, add, list (with `stats`), remove (`?id=`). |
80
- | `GET /__admin/jobs` | Batch jobs (advanced on the mock clock). |
80
+ | `GET /__admin/jobs` | Batch jobs (advanced on the emulator clock). |
81
81
  | `POST /__admin/jobs/:name/complete` | Complete now, optionally with `{transcript}`. |
82
82
  | `POST /__admin/jobs/:name/fail` | Fail with `{reason}` (`FailureReason`). |
83
83
  | `GET /__admin/jobs/:name/transcript` | The transcript JSON Transcribe would write to S3. |
@@ -118,11 +118,11 @@ records voice, engine, format, character counts and script ids — never text.
118
118
 
119
119
  | Export | Kind | Description |
120
120
  | --- | --- | --- |
121
- | `SpeechAPI` | class | The in-process mock: `fetch`, `reset`, `jobs()`, `complete(name, transcript?)`, `fail(name, reason)`, `transcriptDocument(job)`, `speechLog()`, `stats()`. Options: `sqlite`, `now`, `namespace`, `settings`, `transcripts`, `transcriptStore`. |
122
- | `createRuntime` | function | The mock with the full service contract. Options: `settings`, `transcripts`, `transcriptStore`, `clock`, `seed`, `adminKey`, `onLog`, `sqlite`. |
121
+ | `SpeechAPI` | class | The in-process emulator: `fetch`, `reset`, `jobs()`, `complete(name, transcript?)`, `fail(name, reason)`, `transcriptDocument(job)`, `speechLog()`, `stats()`. Options: `sqlite`, `now`, `namespace`, `settings`, `transcripts`, `transcriptStore`. |
122
+ | `createRuntime` | function | The emulator with the full service contract. Options: `settings`, `transcripts`, `transcriptStore`, `clock`, `seed`, `adminKey`, `onLog`, `sqlite`. |
123
123
  | `SPEECH_PRESETS` | object | Every named fault preset. |
124
124
  | `SPEECH_NAMESPACE` | string | The service name, `"aws-speech"`. |
125
- | `POLLY_VOICES` | array | Every Polly voice id the mock accepts. |
125
+ | `POLLY_VOICES` | array | Every Polly voice id the emulator accepts. |
126
126
  | `speechError` | function | A restJson1 error response (`x-amzn-ErrorType` + `{message}`). |
127
127
  | `accessKeyCredential` | function | The SigV4 access key id of a request (how credentials map to namespaces). |
128
128
  | `pcmTone`, `mp3Audio`, `mp3Frame`, `durationFor`, `MS_PER_CHARACTER`, `MP3_SAMPLE_RATES`, `MP3_SAMPLES_PER_FRAME` | audio | The deterministic synthetic audio. |
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: **4**
6
- - supported by the mock: **4**
6
+ - supported by the emulator: **4**
7
7
  - parity enabled: **2**
8
8
 
9
- | operationId | route | mock | parity | notes |
9
+ | operationId | route | emulator | parity | notes |
10
10
  | --- | --- | --- | --- | --- |
11
11
  | `SynthesizeSpeech` | `POST /v1/speech` | ✅ supported | ✅ | |
12
12
  | `StartSpeechSynthesisStream` | `POST /v1/synthesisStream` | ✅ supported | ❌ disabled | A duplex HTTP/2 session driven by the SDK's event stream; random bodies cannot drive it. |
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createRuntime
3
- } from "./chunk-UUVGFG5L.js";
3
+ } from "./chunk-NQQSHZ6K.js";
4
4
 
5
5
  // src/h2c.ts
6
6
  import {
@@ -304,4 +304,4 @@ export {
304
304
  createServer,
305
305
  serveTarget
306
306
  };
307
- //# sourceMappingURL=chunk-EXH4VDZI.js.map
307
+ //# sourceMappingURL=chunk-KX3DZ6N5.js.map