@crvouga/mockingbird-service-junction 3.7.0 → 3.7.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 +7 -1
- package/README.md +51 -12
- package/SUPPORT.md +1 -1
- package/dist/{chunk-NTGGNJKR.js → chunk-BGYGWODK.js} +3 -3
- package/dist/{chunk-27N4VA23.js → chunk-ZJCE4VM4.js} +3 -3
- package/dist/{chunk-27N4VA23.js.map → chunk-ZJCE4VM4.js.map} +2 -2
- package/dist/cli.js +2 -2
- package/dist/index.js +1 -1
- package/dist/server.js +2 -2
- package/openapi.yaml +1 -1
- package/package.json +1 -1
- /package/dist/{chunk-NTGGNJKR.js.map → chunk-BGYGWODK.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-junction
|
|
2
2
|
|
|
3
|
-
## 3.7.
|
|
3
|
+
## 3.7.1 (2026-10-20)
|
|
4
|
+
|
|
5
|
+
### Fixes and improvements
|
|
6
|
+
|
|
7
|
+
- resolve issues without an oracle gate ([96e84be](https://github.com/crvouga/mockingbird/commit/96e84be3964a0baa5d8d82c59339d4bbc264b1a6))
|
|
8
|
+
|
|
9
|
+
## 3.7.0 (2026-10-18)
|
|
4
10
|
|
|
5
11
|
### Features
|
|
6
12
|
|
package/README.md
CHANGED
|
@@ -1049,32 +1049,71 @@ from the public contract, **not measured production parity**. Both `expected-con
|
|
|
1049
1049
|
and `sandbox-observed` return the persisted account association in POST/GET; a synthetic
|
|
1050
1050
|
requisition uses that same stored provider account number.
|
|
1051
1051
|
|
|
1052
|
-
|
|
1053
|
-
|
|
1052
|
+
For [#440](https://github.com/crvouga/mockingbird/issues/440), the scoped account-owned
|
|
1053
|
+
billing control is a **best guess, not oracle-verified**. The reporter observed an explicit
|
|
1054
|
+
`client_bill` refusal for a root-selected delegated BioReference account even though its listing
|
|
1055
|
+
allowed that billing in AZ. They reported `400 {"detail":"Lab 13 does not support billing type patient_bill_passthrough"}`
|
|
1056
|
+
in the sandbox and the same error with `Lab 14` in production, including sandbox panel/add-on,
|
|
1057
|
+
home/walk-in and physician-present controls. These are report-derived errors; neither their
|
|
1058
|
+
cause nor a general vendor billing rule has been established. The repository's
|
|
1059
|
+
[2026-10-20 sanitized probe](https://github.com/crvouga/mockingbird/actions/runs/39397939244)
|
|
1060
|
+
could not find matching account/test inventory, recorded no order observations and created no
|
|
1061
|
+
user or orders. This evidence limit does not prevent a suite from testing the explicit fallback.
|
|
1062
|
+
|
|
1063
|
+
Configure the reported refusal against the ID of a synthetic account loaded by `labAccounts`
|
|
1064
|
+
or your corpus. For example:
|
|
1054
1065
|
|
|
1055
1066
|
```ts
|
|
1056
1067
|
import { createRuntime } from "@crvouga/mockingbird-service-junction"
|
|
1057
1068
|
|
|
1069
|
+
const delegatedAccountId = "11111111-1111-4111-8111-111111111111"
|
|
1058
1070
|
const runtime = createRuntime({
|
|
1071
|
+
labAccounts: [{
|
|
1072
|
+
id: delegatedAccountId,
|
|
1073
|
+
lab: "bioreference",
|
|
1074
|
+
org_id: "55555555-5555-4555-8555-555555555555",
|
|
1075
|
+
delegated_flow: "order_delegated",
|
|
1076
|
+
allowed_billing: { client_bill: ["AZ"] },
|
|
1077
|
+
}],
|
|
1059
1078
|
labAccountBehavior: {
|
|
1060
|
-
profile: "
|
|
1079
|
+
profile: "observed",
|
|
1080
|
+
oracle: "sandbox",
|
|
1061
1081
|
accounts: {
|
|
1062
|
-
|
|
1082
|
+
[delegatedAccountId]: {
|
|
1063
1083
|
rejectBilling: { client_bill: "Lab 13 does not support billing type patient_bill_passthrough" },
|
|
1064
1084
|
},
|
|
1065
|
-
"synthetic-ny-id": { allowBilling: { client_bill: ["NY", "NJ"] } },
|
|
1066
1085
|
},
|
|
1067
1086
|
},
|
|
1068
1087
|
})
|
|
1069
1088
|
```
|
|
1070
1089
|
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1090
|
+
Load a BioReference panel or marker catalog in the same runtime's corpus, then submit your
|
|
1091
|
+
normal valid order with root `lab_account_id: delegatedAccountId` and
|
|
1092
|
+
`billing_type: "client_bill"`. This configuration returns the exact configured 400 detail before
|
|
1093
|
+
creating an order or webhook, including when `physician` is present. It applies to both panel
|
|
1094
|
+
and add-on orders and home/walk-in collection. To model the production report, choose
|
|
1095
|
+
`oracle: "production"` and change the configured detail to `Lab 14 ...`; the oracle label
|
|
1096
|
+
describes the intended environment, not proof of verification. `sandbox-observed` remains an
|
|
1097
|
+
alias for `observed` with `oracle: "sandbox"`.
|
|
1098
|
+
|
|
1099
|
+
The fallback is deliberately narrow: only that listed account's explicit root ID and explicit
|
|
1100
|
+
billing activate `rejectBilling`. Other delegated accounts keep their own policies. Omitting
|
|
1101
|
+
`billing_type` still uses `defaultBillingTypes` (or `client_bill` when no default is configured)
|
|
1102
|
+
and checks the account's listed billing. Thus this fixture accepts an omitted default
|
|
1103
|
+
`client_bill` even though it refuses explicit `client_bill`; configuring an omitted
|
|
1104
|
+
`patient_bill_passthrough` default rejects because the account lacks that billing, independently
|
|
1105
|
+
of `rejectBilling`. This distinction is the chosen emulator contract, not a verified production
|
|
1106
|
+
omission behavior. Nested-only IDs do not select the customer account. In the sandbox profile
|
|
1107
|
+
they follow the platform fallback with null POST/GET association; a successful root-selected
|
|
1108
|
+
account retains its persisted ID on both responses. Never treat nested-only acceptance as a
|
|
1109
|
+
successful delegated-account selection or retry a rejected customer order by dropping its ID.
|
|
1110
|
+
|
|
1111
|
+
These controls do not model why Junction overrides the requested billing, validate physician
|
|
1112
|
+
selection, or establish any production omission/returned-identity rule. Native behavior remains
|
|
1113
|
+
the default. For the separately reported NY/NJ exception in #441, `allowBilling` can map an
|
|
1114
|
+
explicit billing type to allowed states on that fixture's account, for example
|
|
1115
|
+
`{ allowBilling: { client_bill: ["NY", "NJ"] } }`; this too is a best guess, not oracle-verified.
|
|
1116
|
+
`GET/PUT /__admin/lab-account-behavior` inspect/change one
|
|
1078
1117
|
namespace's policy; changes survive its reset and never affect another namespace.
|
|
1079
1118
|
Unknown profile names are rejected. CLI/server equivalents are `--lab-account-profile`
|
|
1080
1119
|
and `--lab-account-sandbox-policies <json-file>` (the account-policy object).
|
package/SUPPORT.md
CHANGED
|
@@ -25,7 +25,7 @@ Generated from `openapi.yaml`; do not edit by hand.
|
|
|
25
25
|
| `get_markers_v3_lab_tests_markers_get` | `GET /v3/lab_tests/markers` | ✅ supported | ❌ disabled | the marker inventory is the team's catalog (and any configured marker catalog); prices and availability are account-owned, so the emulator models the documented shape and filters, not a live inventory |
|
|
26
26
|
| `get_markers_for_lab_test_v3_lab_tests__lab_test_id__markers_get` | `GET /v3/lab_tests/{lab_test_id}/markers` | ✅ supported | ✅ | |
|
|
27
27
|
| `list_order_set_markers_v3_lab_tests_list_order_set_markers_post` | `POST /v3/lab_tests/list_order_set_markers` | ✅ supported | ✅ | |
|
|
28
|
-
| `create_order_v3_order_post` | `POST /v3/order` | ✅ supported | ✅ | Native profile parity only; explicit account profiles add fixture-owned billing policies and custom-marker orders,
|
|
28
|
+
| `create_order_v3_order_post` | `POST /v3/order` | ✅ supported | ✅ | Native profile parity only; explicit account profiles add fixture-owned billing policies and custom-marker orders as a best guess, not oracle-verified. Account-specific billing refusals are opt-in report-derived behavior, not a global vendor rule. |
|
|
29
29
|
| `get_area_info_v3_order_area_info_get` | `GET /v3/order/area/info` | ✅ supported | ❌ disabled | central_labs presence, within_radius counts and getlabs market coverage are provider-owned geo data that an emulator cannot replicate per-zip; covered by the client-parity scenario shape checks instead |
|
|
30
30
|
| `get_psc_info_v3_order_psc_info_get` | `GET /v3/order/psc/info` | ✅ supported | ❌ disabled | patient_service_centers are real site inventories per zip (thousands of sites, result-capped at 30) that a fixture emulator cannot replicate per-zip; covered by the client-parity scenario shape checks instead |
|
|
31
31
|
| `get_phlebotomy_appointment_availability_v3_order_phlebotomy_appointment_availability_post` | `POST /v3/order/phlebotomy/appointment/availability` | ✅ supported | ❌ disabled | availability slots are provider-side data whose values shift between sandbox calls; covered by the emulator-internal scheduling property suite instead |
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
pullCorpus,
|
|
14
14
|
resolveAdminPrefix,
|
|
15
15
|
restoreClock
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ZJCE4VM4.js";
|
|
17
17
|
import {
|
|
18
18
|
defaultCorpus
|
|
19
19
|
} from "./chunk-2FZJPMTR.js";
|
|
@@ -3070,7 +3070,7 @@ async function preflightFleet(config, options) {
|
|
|
3070
3070
|
break;
|
|
3071
3071
|
}
|
|
3072
3072
|
}
|
|
3073
|
-
targets.set(name, { ...target, packageVersion: packageVersion ?? "3.7.
|
|
3073
|
+
targets.set(name, { ...target, packageVersion: packageVersion ?? "3.7.1" });
|
|
3074
3074
|
} catch (error) {
|
|
3075
3075
|
throw new Error(`service ${name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
3076
3076
|
}
|
|
@@ -5255,4 +5255,4 @@ export {
|
|
|
5255
5255
|
createServer2 as createServer,
|
|
5256
5256
|
serveTarget
|
|
5257
5257
|
};
|
|
5258
|
-
//# sourceMappingURL=chunk-
|
|
5258
|
+
//# sourceMappingURL=chunk-BGYGWODK.js.map
|