@crvouga/mockingbird-service-junction 3.4.0 → 3.5.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 +6 -0
- package/DISCOVERY.md +2 -0
- package/README.md +27 -19
- package/SUPPORT.md +1 -1
- package/dist/{chunk-SN6QTJKH.js → chunk-KMCP67GK.js} +85 -13
- package/dist/{chunk-SN6QTJKH.js.map → chunk-KMCP67GK.js.map} +2 -2
- package/dist/{chunk-ZTMQ5RIL.js → chunk-Y477MTXC.js} +3 -3
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +74 -61
- package/dist/index.js +1 -1
- package/dist/server.d.ts +43 -30
- package/dist/server.js +2 -2
- package/openapi.yaml +2 -2
- package/package.json +4 -2
- /package/dist/{chunk-ZTMQ5RIL.js.map → chunk-Y477MTXC.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-junction
|
|
2
2
|
|
|
3
|
+
## 3.5.0 (2026-10-16)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- resolve SQL, routing and writer gaps ([73f97d0](https://github.com/crvouga/mockingbird/commit/73f97d0d2379f44b9131180498f4fab76648fed9))
|
|
8
|
+
|
|
3
9
|
## 3.4.0 (2026-10-15)
|
|
4
10
|
|
|
5
11
|
### Features
|
package/DISCOVERY.md
CHANGED
|
@@ -41,6 +41,8 @@ repository; live parity is an additional oracle check, not a substitute for the
|
|
|
41
41
|
- `GET /__admin/metrics`
|
|
42
42
|
- `GET /__admin/faults/presets`
|
|
43
43
|
- `GET /__admin/ui`
|
|
44
|
+
- `GET/PUT /__admin/lab-account-omission-policies`
|
|
45
|
+
- `GET/PUT /__admin/requisitions/:id`
|
|
44
46
|
|
|
45
47
|
For HTTP services, use `x-mockingbird-namespace` (or the documented credential/path carrier) so
|
|
46
48
|
parallel tests do not share state. Admin state, journal, metrics and fault-preset endpoints are
|
package/README.md
CHANGED
|
@@ -330,23 +330,31 @@ invented.
|
|
|
330
330
|
|
|
331
331
|
## Lab accounts
|
|
332
332
|
|
|
333
|
-
`create_order`
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
333
|
+
`create_order` selects explicit linked accounts in either `active` or `ready_to_launch`
|
|
334
|
+
status. With no id, exactly one orderable linked account is selected. Multiple orderable
|
|
335
|
+
accounts use the per-lab `labAccountOmissionPolicies` control (`platform`, the default, or
|
|
336
|
+
`reject`). Platform selection uses an orderable linked account with `org_id: null`, or an
|
|
337
|
+
opaque platform account for a supported platform lab. It never chooses a customer account
|
|
338
|
+
by listing order. With no linked accounts, supported labs use the platform; with linked
|
|
339
|
+
accounts but none orderable, ordering fails. Billing type and patient state are checked
|
|
340
|
+
against the selected account. This follows the
|
|
341
|
+
[Junction guide](https://docs.junction.com/lab/overview/lab-accounts); the choice between
|
|
342
|
+
platform fallback and rejection varies by lab/team, so configure `reject` where appropriate.
|
|
343
|
+
Set `{ labAccountOmissionPolicies: { bioreference: "platform" } }` at runtime creation, or
|
|
344
|
+
`PUT /__admin/lab-account-omission-policies` with `{ "policies": { "bioreference": "reject" } }`.
|
|
345
|
+
`GET` reads the effective overrides. Overrides are namespace isolated and kept across reset.
|
|
346
|
+
|
|
347
|
+
Explicit ids naming another lab's account remain accepted, matching the sandbox probe in
|
|
348
|
+
`corpus/lab-account-probes.json` and [#138](https://github.com/crvouga/mockingbird/issues/138).
|
|
349
|
+
Delegation alone does not change account selection.
|
|
350
|
+
|
|
351
|
+
Requisition PDFs are synthetic and contain labelled `Account number:` evidence copied from
|
|
352
|
+
the selected account's `provider_account_id` **when the order is created**. Later account edits,
|
|
353
|
+
reordering or routing changes cannot change that evidence. Opaque platform accounts show
|
|
354
|
+
`unknown`. Use `GET /__admin/requisitions/:id` to inspect it, or `PUT` with
|
|
355
|
+
`{ "provider_account_id": "MOCK-CUSTOMER" }` (or `null` for explicitly unknown evidence) to
|
|
356
|
+
install a namespace-isolated fixture. Reset removes the orders and their requisition fixtures.
|
|
357
|
+
This models account evidence, not a vendor's exact PDF layout or proof of a real association.
|
|
350
358
|
|
|
351
359
|
Junction's order (`ClientFacingOrder`) has no `lab_account_id`, so neither does the emulator's: not on
|
|
352
360
|
the create response, `GET /v3/order/{id}`, `GET /v3/orders` or webhooks. The account an order was
|
|
@@ -705,8 +713,8 @@ An emulator that is silent about its gaps is how a green suite starts lying. Spe
|
|
|
705
713
|
accounts is not reproduced. Run `verify --orders` with your team's corpus to check what you rely on.
|
|
706
714
|
- Rate limits and outages, except when injected as faults or switched on as
|
|
707
715
|
[limits](#sandbox-limits).
|
|
708
|
-
-
|
|
709
|
-
|
|
716
|
+
- Lab/team-specific omission defaults must be configured through `labAccountOmissionPolicies`
|
|
717
|
+
(see [Lab accounts](#lab-accounts)); exact vendor requisition layout is not modelled.
|
|
710
718
|
- Adopted users (`adopt-users`) have `client_user_id` equal to their `user_id`; nothing in
|
|
711
719
|
Junction corresponds to adoption.
|
|
712
720
|
- Real 429 / 5xx bodies: the presets are plausible, not recorded.
|
package/SUPPORT.md
CHANGED
|
@@ -44,7 +44,7 @@ Generated from `openapi.yaml`; do not edit by hand.
|
|
|
44
44
|
| `get_result_raw_v3_order__order_id__result_get` | `GET /v3/order/{order_id}/result` | ✅ supported | ❌ disabled | results carry provider-side specimen data; covered by the emulator-internal results property suite instead |
|
|
45
45
|
| `get_result_metadata_v3_order__order_id__result_metadata_get` | `GET /v3/order/{order_id}/result/metadata` | ✅ supported | ✅ | |
|
|
46
46
|
| `get_result_pdf_v3_order__order_id__result_pdf_get` | `GET /v3/order/{order_id}/result/pdf` | ✅ supported | ❌ disabled | PDF bytes are provider-rendered; compared by shape (byteLength) only in the scenario script |
|
|
47
|
-
| `get_order_requisition_pdf_v3_order__order_id__requisition_pdf_get` | `GET /v3/order/{order_id}/requisition/pdf` | ✅ supported | ❌ disabled | PDF
|
|
47
|
+
| `get_order_requisition_pdf_v3_order__order_id__requisition_pdf_get` | `GET /v3/order/{order_id}/requisition/pdf` | ✅ supported | ❌ disabled | Synthetic PDF includes persisted selected provider account number or unknown; admin evidence override supported; live comparison remains shape-only |
|
|
48
48
|
| `get_orders_v3_orders_get` | `GET /v3/orders` | ✅ supported | ✅ | |
|
|
49
49
|
| `get_order_transaction_v3_order_transaction__transaction_id__get` | `GET /v3/order_transaction/{transaction_id}` | ✅ supported | ❌ disabled | order transactions are not available to the sandbox team (feature not available) |
|
|
50
50
|
| `get_order_transaction_result_v3_order_transaction__transaction_id__result_get` | `GET /v3/order_transaction/{transaction_id}/result` | ✅ supported | ❌ disabled | lab results are not available to the sandbox team (feature not available) |
|