xoonya 1.14.0 → 1.15.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/README.md CHANGED
@@ -139,6 +139,10 @@ Primary proof-model routes:
139
139
  - `POST /v1/proof-center/result-package-handoff/review/contract-summary`
140
140
  - `POST /v1/proof-center/result-package-handoff/review/contract-boundary`
141
141
  - `POST /v1/proof-center/result-package-handoff/review/contract-carry`
142
+ - `POST /v1/proof-center/result-package-handoff/review/bridge-summary`
143
+ - `POST /v1/proof-center/result-package-handoff/review/bridge-boundary`
144
+ - `POST /v1/proof-center/result-package-handoff/review/bridge-carry`
145
+ - `POST /v1/proof-center/result-package-handoff/review/bridge-run`
142
146
  - `POST /v1/proof-center/result-package-handoff/run`
143
147
 
144
148
  The result-package review surface now also returns a durability summary so the preserved execution, economic, and proof-facing context is easier to inspect before proof-native execution.
@@ -147,6 +151,8 @@ It now also exposes a reusable-default continuation summary so that same stable
147
151
  It now also exposes a compact reusable-default boundary summary so the proof-side default seam can be treated as a stable public boundary, not just a recommended path.
148
152
  It now also exposes composition-contract summaries so the proof-side default seam can be treated more clearly as a stable public contract across review and run.
149
153
  It now also exposes compact contract-carry summaries so the stable proof-side contract context is easier to inspect directly without expanding proof scope.
154
+ It now also exposes bridge summaries, bridge-boundary summaries, and bridge-carry summaries so the proof-side review seam is easier to treat as an adapter-ready bridge without widening proof scope.
155
+ It now also exposes a bridge-run summary so that same proof-side bridge can be read directly as the final run posture instead of only as review-stage carry.
150
156
  - `POST /v1/events/canonicalize`
151
157
  - `POST /v1/events/hash`
152
158
  - `POST /v1/receipts/emit`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xoonya",
3
- "version": "1.14.0",
3
+ "version": "1.15.0",
4
4
  "description": "Deterministic proof SDK for canonical events, receipts, proof bundles, and verification.",
5
5
  "main": "index.js",
6
6
  "type": "commonjs",
package/proof_sdk.js CHANGED
@@ -1514,6 +1514,64 @@ function summarizeReviewCompositionContractCarry(input) {
1514
1514
  };
1515
1515
  }
1516
1516
 
1517
+ function summarizeReviewBridgeSummary(input) {
1518
+ const contract = summarizeReviewCompositionContract(input);
1519
+ return {
1520
+ ok: contract.ok === true,
1521
+ composition_contract_ref: contract.composition_contract_ref || null,
1522
+ adapter_bridge_ref: contract.composition_contract_ref
1523
+ ? `bridge.${contract.composition_contract_ref}`
1524
+ : null,
1525
+ stable_bridge_ids: [
1526
+ "review_bridge_summary",
1527
+ "proof_run"
1528
+ ],
1529
+ bridge_carry: contract.stable_contract_context || {},
1530
+ bridge_ready: contract.contract_ready === true,
1531
+ next_surface: contract.next_surface || null
1532
+ };
1533
+ }
1534
+
1535
+ function summarizeReviewBridgeBoundary(input) {
1536
+ const bridge = summarizeReviewBridgeSummary(input);
1537
+ return {
1538
+ ok: bridge.ok === true,
1539
+ adapter_bridge_ref: bridge.adapter_bridge_ref || null,
1540
+ stable_boundary_ids: [
1541
+ "review_bridge_summary",
1542
+ "proof_run"
1543
+ ],
1544
+ bridge_ready: bridge.bridge_ready === true,
1545
+ next_surface: bridge.next_surface || null
1546
+ };
1547
+ }
1548
+
1549
+ function summarizeReviewBridgeCarry(input) {
1550
+ const bridge = summarizeReviewBridgeSummary(input);
1551
+ return {
1552
+ ok: bridge.ok === true,
1553
+ adapter_bridge_ref: bridge.adapter_bridge_ref || null,
1554
+ stable_bridge_ids: Array.isArray(bridge.stable_bridge_ids) ? bridge.stable_bridge_ids : [],
1555
+ bridge_carry: bridge.bridge_carry || {},
1556
+ bridge_ready: bridge.bridge_ready === true,
1557
+ next_surface: bridge.next_surface || null
1558
+ };
1559
+ }
1560
+
1561
+ function summarizeReviewBridgeRun(input) {
1562
+ const bridge = summarizeReviewBridgeSummary(input);
1563
+ return {
1564
+ ok: bridge.ok === true,
1565
+ adapter_bridge_ref: bridge.adapter_bridge_ref || null,
1566
+ accepted_bridge_ids: Array.isArray(bridge.stable_bridge_ids) ? bridge.stable_bridge_ids : [],
1567
+ bridge_ready: bridge.bridge_ready === true,
1568
+ run_surface: bridge.next_surface || null,
1569
+ run_path_ids: [
1570
+ "proof_run"
1571
+ ]
1572
+ };
1573
+ }
1574
+
1517
1575
  function runDefaultProofLoop(loopRef, input) {
1518
1576
  const loop = getDefaultProofLoop(loopRef);
1519
1577
  if (!loop) {
@@ -1577,6 +1635,10 @@ module.exports = {
1577
1635
  summarizeReviewCompositionContract,
1578
1636
  summarizeReviewCompositionContractBoundary,
1579
1637
  summarizeReviewCompositionContractCarry,
1638
+ summarizeReviewBridgeSummary,
1639
+ summarizeReviewBridgeBoundary,
1640
+ summarizeReviewBridgeCarry,
1641
+ summarizeReviewBridgeRun,
1580
1642
  runInteractionResultPackageHandoff,
1581
1643
  runInteractionSpineProofHandoff,
1582
1644
  runTransactionProofHandoff,
package/server.js CHANGED
@@ -281,6 +281,50 @@ async function routeRequest(req, res) {
281
281
  return;
282
282
  }
283
283
 
284
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/bridge-summary') {
285
+ try {
286
+ const body = await readJsonBody(req);
287
+ const result = proofSdk.summarizeReviewBridgeSummary(body);
288
+ sendJson(res, 200, result);
289
+ } catch (error) {
290
+ sendJson(res, 400, { ok: false, reason: error.message });
291
+ }
292
+ return;
293
+ }
294
+
295
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/bridge-boundary') {
296
+ try {
297
+ const body = await readJsonBody(req);
298
+ const result = proofSdk.summarizeReviewBridgeBoundary(body);
299
+ sendJson(res, 200, result);
300
+ } catch (error) {
301
+ sendJson(res, 400, { ok: false, reason: error.message });
302
+ }
303
+ return;
304
+ }
305
+
306
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/bridge-carry') {
307
+ try {
308
+ const body = await readJsonBody(req);
309
+ const result = proofSdk.summarizeReviewBridgeCarry(body);
310
+ sendJson(res, 200, result);
311
+ } catch (error) {
312
+ sendJson(res, 400, { ok: false, reason: error.message });
313
+ }
314
+ return;
315
+ }
316
+
317
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/bridge-run') {
318
+ try {
319
+ const body = await readJsonBody(req);
320
+ const result = proofSdk.summarizeReviewBridgeRun(body);
321
+ sendJson(res, 200, result);
322
+ } catch (error) {
323
+ sendJson(res, 400, { ok: false, reason: error.message });
324
+ }
325
+ return;
326
+ }
327
+
284
328
  if (req.method === 'POST' && url.pathname === '/v1/receipts/verify') {
285
329
  try {
286
330
  const body = await readJsonBody(req);