@crvouga/mockingbird-service-junction 3.6.0 → 3.6.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 CHANGED
@@ -1,6 +1,12 @@
1
1
  # Changelog — @crvouga/mockingbird-service-junction
2
2
 
3
- ## 3.6.0 (2026-10-17)
3
+ ## 3.6.1 (2026-10-18)
4
+
5
+ ### Fixes and improvements
6
+
7
+ - sandbox-observed omission controls place orders on the platform account ([c9146ea](https://github.com/crvouga/mockingbird/commit/c9146eae3c867dcfee1ef00053288cd5407b5e9c))
8
+
9
+ ## 3.6.0 (2026-10-16)
4
10
 
5
11
  ### Features
6
12
 
package/README.md CHANGED
@@ -948,6 +948,14 @@ namespace's policy; changes survive its reset and never affect another namespace
948
948
  Unknown profile names are rejected. CLI/server equivalents are `--lab-account-profile`
949
949
  and `--lab-account-sandbox-policies <json-file>` (the account-policy object).
950
950
 
951
+ `sandbox-observed` also encodes the owner-recorded October 2026 sandbox omission controls
952
+ (#439), which are recorded observations, not a live repository probe: an order whose
953
+ **root** `lab_account_id` is omitted, nested only in `order_set`, or an unknown UUID is
954
+ placed on the lab's platform account (`lab_account_id: null` on POST and GET, no listed
955
+ `allowed_billing` check), while a root ID naming a listed account keeps its identity and
956
+ policy. `expected-contract` keeps the strict behavior (unknown ID → 400, omission → the
957
+ house account).
958
+
951
959
  The explicit profiles also accept `order_set.add_on` with `provider_ids` or `marker_ids`
952
960
  from one lab's configured marker catalog. The selected markers determine the synthetic
953
961
  custom panel; unresolved or cross-lab combinations refuse without placing an order.
@@ -12,7 +12,7 @@ import {
12
12
  pullCorpus,
13
13
  resolveAdminPrefix,
14
14
  restoreClock
15
- } from "./chunk-ZRF3DDJ4.js";
15
+ } from "./chunk-VHVGQ3WX.js";
16
16
  import {
17
17
  defaultCorpus
18
18
  } from "./chunk-2FZJPMTR.js";
@@ -3026,7 +3026,7 @@ async function preflightFleet(config, options) {
3026
3026
  break;
3027
3027
  }
3028
3028
  }
3029
- targets.set(name, { ...target, packageVersion: packageVersion ?? "3.6.0" });
3029
+ targets.set(name, { ...target, packageVersion: packageVersion ?? "3.6.1" });
3030
3030
  } catch (error) {
3031
3031
  throw new Error(`service ${name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
3032
3032
  }
@@ -5135,4 +5135,4 @@ export {
5135
5135
  createServer2 as createServer,
5136
5136
  serveTarget
5137
5137
  };
5138
- //# sourceMappingURL=chunk-WMJJYHRV.js.map
5138
+ //# sourceMappingURL=chunk-HJJCEIVH.js.map
@@ -3692,7 +3692,7 @@ var stateAdminRoutes = (routes) => {
3692
3692
  };
3693
3693
 
3694
3694
  // ../core/dist/version.js
3695
- var PACKAGE_VERSION = true ? "3.6.0" : UNRELEASED_VERSION;
3695
+ var PACKAGE_VERSION = true ? "3.6.1" : UNRELEASED_VERSION;
3696
3696
 
3697
3697
  // ../core/dist/webhooks.js
3698
3698
  var json4 = (status, body) => new Response(JSON.stringify(body), {
@@ -9477,9 +9477,11 @@ var orderHandlers = (state) => ({
9477
9477
  const stateError2 = labStateSupportError(labTest, address.state);
9478
9478
  if (stateError2) throw new HttpError(400, { detail: stateError2 });
9479
9479
  const labSlug = typeof labTest.lab?.slug === "string" ? labTest.lab.slug.toLowerCase() : "";
9480
- const labAccount = selectLabAccount(
9480
+ const requestedAccountId = typeof body.lab_account_id === "string" ? body.lab_account_id : null;
9481
+ const sandboxPlatformFallback = state.labAccountBehavior.profile === "sandbox-observed" && PLATFORM_ACCOUNT_LABS.includes(labSlug) && (requestedAccountId === null || !state.listLabAccounts().some((a) => a.id === requestedAccountId));
9482
+ const labAccount = sandboxPlatformFallback ? "platform" : selectLabAccount(
9481
9483
  labSlug,
9482
- typeof body.lab_account_id === "string" ? body.lab_account_id : null,
9484
+ requestedAccountId,
9483
9485
  state.teamId,
9484
9486
  state.listLabAccounts(),
9485
9487
  state.labAccountOmissionPolicies
@@ -13116,4 +13118,4 @@ export {
13116
13118
  JunctionAPI,
13117
13119
  LabAccountConflict
13118
13120
  };
13119
- //# sourceMappingURL=chunk-ZRF3DDJ4.js.map
13121
+ //# sourceMappingURL=chunk-VHVGQ3WX.js.map