@crvouga/mockingbird-service-odx 3.0.0 → 3.2.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 +16 -4
- package/DISCOVERY.md +2 -2
- package/README.md +8 -8
- package/SUPPORT.md +2 -2
- package/dist/{chunk-FAO4SU3C.js → chunk-DURUZQSB.js} +260 -172
- package/dist/chunk-DURUZQSB.js.map +7 -0
- package/dist/{chunk-AYHENXWT.js → chunk-P3NYTZ3J.js} +8 -6
- package/dist/chunk-P3NYTZ3J.js.map +7 -0
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +84 -69
- package/dist/index.js +1 -1
- package/dist/server.d.ts +129 -96
- package/dist/server.js +2 -2
- package/openapi.yaml +2 -2
- package/package.json +3 -3
- package/dist/chunk-AYHENXWT.js.map +0 -7
- package/dist/chunk-FAO4SU3C.js.map +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-odx
|
|
2
2
|
|
|
3
|
+
## 3.2.0 (2026-10-09)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- match Emulate provider coverage ([16b65ce](https://github.com/crvouga/mockingbird/commit/16b65ce791fa216f28ec1521df636f57771d9c5e))
|
|
8
|
+
|
|
9
|
+
### Dependencies
|
|
10
|
+
|
|
11
|
+
- `@crvouga/mockingbird-service-sqlite`
|
|
12
|
+
|
|
13
|
+
## 3.1.0 (2026-10-08)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- redesign emulator experience ([d6038c2](https://github.com/crvouga/mockingbird/commit/d6038c27eebbaa1751f02bc9305002a5b1304779))
|
|
18
|
+
|
|
3
19
|
## 3.0.0 (2026-10-07)
|
|
4
20
|
|
|
5
21
|
### ⚠️ Breaking changes
|
|
@@ -14,10 +30,6 @@
|
|
|
14
30
|
- typecheck the brand gate before builds ([fc36095](https://github.com/crvouga/mockingbird/commit/fc3609514de70ffe3170a5d216fb8a49f9ce7cbb))
|
|
15
31
|
- format the emulates records query ([8698872](https://github.com/crvouga/mockingbird/commit/8698872509d06002be5a8fcdc85d79f8462320c3))
|
|
16
32
|
|
|
17
|
-
### Dependencies
|
|
18
|
-
|
|
19
|
-
- `@crvouga/mockingbird-service-sqlite`
|
|
20
|
-
|
|
21
33
|
## 2.3.0 (2026-10-04)
|
|
22
34
|
|
|
23
35
|
### Features
|
package/DISCOVERY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @crvouga/mockingbird-service-odx 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-odx/`; no repository checkout is needed to discover the
|
|
4
|
+
inside `node_modules/@crvouga/mockingbird-service-odx/`; 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
|
|
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,16 +1,16 @@
|
|
|
1
1
|
# @crvouga/mockingbird-service-odx
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Local emulators. Real API contracts. Part of [Mockingbird](https://github.com/crvouga/mockingbird).
|
|
4
4
|
|
|
5
|
-
Stateful
|
|
5
|
+
Stateful emulator of the **Optimal DX (ODX)** partner API for test suites: partner labs and their
|
|
6
6
|
biomarker elements, practice patients (create, update, delete, partner link, search), lab
|
|
7
7
|
imports (HL7 v2 ORU and structured results), the Functional Health Report (JSON or PDF),
|
|
8
8
|
webhook registrations, and the signed `PatientTest` webhooks ODX posts back.
|
|
9
9
|
|
|
10
10
|
> **The vendor was retired 2026-07-22.** Our queue paths are gated only by the
|
|
11
11
|
> `acme-pdf-enabled` flag (default `false`), so a local stack with no PostHog still calls ODX.
|
|
12
|
-
> The cheaper fix is to turn that flag on through the PostHog
|
|
13
|
-
> (`@crvouga/mockingbird-service-posthog`); use this
|
|
12
|
+
> The cheaper fix is to turn that flag on through the PostHog emulator
|
|
13
|
+
> (`@crvouga/mockingbird-service-posthog`); use this emulator when a suite must exercise the ODX
|
|
14
14
|
> path itself (bio-age webhooks, the Healthie PDF upload, migrations).
|
|
15
15
|
|
|
16
16
|
- Operation coverage: [SUPPORT.md](https://github.com/crvouga/mockingbird/blob/main/packages/service/odx/SUPPORT.md)
|
|
@@ -31,7 +31,7 @@ Fetch server.
|
|
|
31
31
|
|
|
32
32
|
The real base URL is `https://odxinstanceresource.azure-api.net/<partner>`; the partner segment is
|
|
33
33
|
your account's slug.
|
|
34
|
-
Point `OPTIMAL_URL` at the
|
|
34
|
+
Point `OPTIMAL_URL` at the emulator (it is overridable; no path prefix is needed), keep any
|
|
35
35
|
`OPTIMAL_API_KEY` and `OPTIMAL_PRACTICE_ID`. Pre-register the backend's webhook, or let
|
|
36
36
|
`manageWebhooks` register it through `POST /v1/webhook` as it does in production:
|
|
37
37
|
|
|
@@ -56,7 +56,7 @@ const call = (path: string, body?: unknown) =>
|
|
|
56
56
|
const patient = await (
|
|
57
57
|
await call("/v1/practice/p1/patient", { firstName: "Ada", lastName: "Lovelace", gender: "Female", email: "ada@example.com" })
|
|
58
58
|
).json()
|
|
59
|
-
// …the app posts HL7 to /v1/practice/p1/patient/{patientId}/test; the
|
|
59
|
+
// …the app posts HL7 to /v1/practice/p1/patient/{patientId}/test; the emulator answers the parsed
|
|
60
60
|
// PatientTest and posts a signed `Created` webhook to /odx/webhook.
|
|
61
61
|
```
|
|
62
62
|
|
|
@@ -133,8 +133,8 @@ Fault presets (`POST /__admin/faults {"preset": "<name>", "count"?: n}`): `wrong
|
|
|
133
133
|
|
|
134
134
|
| Export | Kind | Description |
|
|
135
135
|
| --- | --- | --- |
|
|
136
|
-
| `OdxAPI` | class | The in-process
|
|
137
|
-
| `createRuntime` | function | The
|
|
136
|
+
| `OdxAPI` | class | The in-process emulator: `fetch(request)`, `reset()`, `emit(testId, eventType, signature?)`, `patients()`, `tests()`. Options: `sqlite`, `now`, `namespace`, `settings`, `onWebhook`. |
|
|
137
|
+
| `createRuntime` | function | The emulator with the full service contract. Options: `webhook: {url, signingKey?}`, `settings`, `retryDelaysMs`, `fetch`, `clock`, `seed`, `adminKey`, `onLog`. |
|
|
138
138
|
| `ODX_PRESETS` | object | Every named fault preset. |
|
|
139
139
|
| `ODX_NAMESPACE` | string | The service name, `"odx"`. |
|
|
140
140
|
| `SIGNATURE_HEADER` | string | `"optimaldx-signature"`. |
|
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: **15**
|
|
6
|
-
- supported by the
|
|
6
|
+
- supported by the emulator: **15**
|
|
7
7
|
- parity enabled: **15**
|
|
8
8
|
|
|
9
|
-
| operationId | route |
|
|
9
|
+
| operationId | route | emulator | parity | notes |
|
|
10
10
|
| --- | --- | --- | --- | --- |
|
|
11
11
|
| `ListPartnerLabs` | `GET /v1/partner/labs` | ✅ supported | ✅ | |
|
|
12
12
|
| `ListElements` | `GET /v1/elements/{labId}` | ✅ supported | ✅ | |
|