@synoi/gateway-lite 0.1.0 → 0.1.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.
@@ -180,7 +180,10 @@ function mirrorManifest(input) {
180
180
  store.putCDRO(cdro, 'manifest');
181
181
  bumpStats('gateway_manifest', true);
182
182
  // Return the oid_hex for the heartbeat to send alongside manifest_sha256.
183
- const stored = store.getCDROById(cdro.object_id);
183
+ // gateway_manifest is a genuinely global infra object type (edge-store.ts
184
+ // INFRA_OBJECT_TYPES), not tenant-scoped -- allowGlobal is the sanctioned
185
+ // scope-blind read path for it (Saga tenant-isolation work).
186
+ const stored = store.getCDROById(cdro.object_id, undefined, { allowGlobal: true });
184
187
  return stored?.oid_hex ?? null;
185
188
  }
186
189
  catch (err) {
@@ -232,14 +235,17 @@ function getMirroredReceipt(receipt_id) {
232
235
  const store = lazyStore();
233
236
  if (!store)
234
237
  return null;
235
- const row = store.getCDROById(receipt_id);
238
+ // decision_receipt is a genuinely global infra object type (edge-store.ts
239
+ // INFRA_OBJECT_TYPES), not tenant-scoped -- allowGlobal is the sanctioned
240
+ // scope-blind read path for it (Saga tenant-isolation work).
241
+ const row = store.getCDROById(receipt_id, undefined, { allowGlobal: true });
236
242
  return row?.cdro ?? null;
237
243
  }
238
244
  function getMirroredManifest(manifest_sha256) {
239
245
  const store = lazyStore();
240
246
  if (!store)
241
247
  return null;
242
- const row = store.getCDROById(`manifest:${manifest_sha256}`);
248
+ const row = store.getCDROById(`manifest:${manifest_sha256}`, undefined, { allowGlobal: true });
243
249
  return row?.cdro ?? null;
244
250
  }
245
251
  // ── Stats ──────────────────────────────────────────────────────────────────
@@ -755,7 +755,7 @@ from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey
755
755
  import requests
756
756
  receipt = requests.get('/verify/RECEIPT_ID').json()['receipt']
757
757
  pubkey_pem = requests.get('/verify/pubkey').json()['public_key'].encode()
758
- fields = sorted([f for f in ['action_class','decision','degraded','gateway_manifest_sha256','grant_oid','intent_oid','oid_hex','receipt_id','recorded_at','risk_level','rule_id','subject_oid','tenant_id'] if receipt.get(f) is not None])
758
+ fields = sorted([f for f in ${JSON.stringify([...exports.CANONICAL_FIELDS].sort())} if receipt.get(f) is not None])
759
759
  canonical = json.dumps({k: receipt[k] for k in fields}, separators=(',',':')).encode()
760
760
  from cryptography.hazmat.primitives.serialization import load_pem_public_key
761
761
  pub = load_pem_public_key(pubkey_pem)