xoonya 1.14.0 → 1.16.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,12 @@ 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`
146
+ - `POST /v1/proof-center/result-package-handoff/review/handoff-continuity`
147
+ - `POST /v1/proof-center/result-package-handoff/review/handoff-run`
142
148
  - `POST /v1/proof-center/result-package-handoff/run`
143
149
 
144
150
  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 +153,10 @@ It now also exposes a reusable-default continuation summary so that same stable
147
153
  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
154
  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
155
  It now also exposes compact contract-carry summaries so the stable proof-side contract context is easier to inspect directly without expanding proof scope.
156
+ 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.
157
+ 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.
158
+ It now also exposes a handoff-continuity summary so the proof-side bridge can be treated more clearly as a stable handoff contract into proof-native execution.
159
+ It now also exposes a handoff-run summary so that same handoff contract can be read directly as the final proof-native run posture instead of only as continuity guidance.
150
160
  - `POST /v1/events/canonicalize`
151
161
  - `POST /v1/events/hash`
152
162
  - `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.16.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,89 @@ 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
+
1575
+ function summarizeReviewHandoffContinuity(input) {
1576
+ const bridgeRun = summarizeReviewBridgeRun(input);
1577
+ return {
1578
+ ok: bridgeRun.ok === true,
1579
+ adapter_bridge_ref: bridgeRun.adapter_bridge_ref || null,
1580
+ handoff_contract_ref: bridgeRun.adapter_bridge_ref ? `handoff.${bridgeRun.adapter_bridge_ref}` : null,
1581
+ stable_handoff_ids: Array.isArray(bridgeRun.accepted_bridge_ids) ? bridgeRun.accepted_bridge_ids : [],
1582
+ handoff_ready: bridgeRun.bridge_ready === true,
1583
+ run_surface: bridgeRun.run_surface || null,
1584
+ continuity_path_ids: Array.isArray(bridgeRun.run_path_ids) ? bridgeRun.run_path_ids : []
1585
+ };
1586
+ }
1587
+
1588
+ function summarizeReviewHandoffRun(input) {
1589
+ const continuity = summarizeReviewHandoffContinuity(input);
1590
+ return {
1591
+ ok: continuity.ok === true,
1592
+ handoff_contract_ref: continuity.handoff_contract_ref || null,
1593
+ accepted_handoff_ids: Array.isArray(continuity.stable_handoff_ids) ? continuity.stable_handoff_ids : [],
1594
+ handoff_ready: continuity.handoff_ready === true,
1595
+ run_surface: continuity.run_surface || null,
1596
+ run_path_ids: Array.isArray(continuity.continuity_path_ids) ? continuity.continuity_path_ids : []
1597
+ };
1598
+ }
1599
+
1517
1600
  function runDefaultProofLoop(loopRef, input) {
1518
1601
  const loop = getDefaultProofLoop(loopRef);
1519
1602
  if (!loop) {
@@ -1577,6 +1660,12 @@ module.exports = {
1577
1660
  summarizeReviewCompositionContract,
1578
1661
  summarizeReviewCompositionContractBoundary,
1579
1662
  summarizeReviewCompositionContractCarry,
1663
+ summarizeReviewBridgeSummary,
1664
+ summarizeReviewBridgeBoundary,
1665
+ summarizeReviewBridgeCarry,
1666
+ summarizeReviewBridgeRun,
1667
+ summarizeReviewHandoffContinuity,
1668
+ summarizeReviewHandoffRun,
1580
1669
  runInteractionResultPackageHandoff,
1581
1670
  runInteractionSpineProofHandoff,
1582
1671
  runTransactionProofHandoff,
package/server.js CHANGED
@@ -281,6 +281,72 @@ 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
+
328
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/handoff-continuity') {
329
+ try {
330
+ const body = await readJsonBody(req);
331
+ const result = proofSdk.summarizeReviewHandoffContinuity(body);
332
+ sendJson(res, 200, result);
333
+ } catch (error) {
334
+ sendJson(res, 400, { ok: false, reason: error.message });
335
+ }
336
+ return;
337
+ }
338
+
339
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/handoff-run') {
340
+ try {
341
+ const body = await readJsonBody(req);
342
+ const result = proofSdk.summarizeReviewHandoffRun(body);
343
+ sendJson(res, 200, result);
344
+ } catch (error) {
345
+ sendJson(res, 400, { ok: false, reason: error.message });
346
+ }
347
+ return;
348
+ }
349
+
284
350
  if (req.method === 'POST' && url.pathname === '/v1/receipts/verify') {
285
351
  try {
286
352
  const body = await readJsonBody(req);