xoonya 1.13.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 +11 -0
- package/package.json +1 -1
- package/proof_sdk.js +124 -0
- package/server.js +77 -0
package/README.md
CHANGED
|
@@ -136,12 +136,23 @@ Primary proof-model routes:
|
|
|
136
136
|
- `POST /v1/proof-center/result-package-handoff/review/extension-boundary`
|
|
137
137
|
- `POST /v1/proof-center/result-package-handoff/review/default-continuation`
|
|
138
138
|
- `POST /v1/proof-center/result-package-handoff/review/default-boundary`
|
|
139
|
+
- `POST /v1/proof-center/result-package-handoff/review/contract-summary`
|
|
140
|
+
- `POST /v1/proof-center/result-package-handoff/review/contract-boundary`
|
|
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`
|
|
139
146
|
- `POST /v1/proof-center/result-package-handoff/run`
|
|
140
147
|
|
|
141
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.
|
|
142
149
|
It also now exposes an extension-readiness summary so the stable post-review proof boundary is easier to treat as a reusable seam.
|
|
143
150
|
It now also exposes a reusable-default continuation summary so that same stable post-review boundary is easier to reuse as a standard proof-side default path.
|
|
144
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.
|
|
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.
|
|
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.
|
|
145
156
|
- `POST /v1/events/canonicalize`
|
|
146
157
|
- `POST /v1/events/hash`
|
|
147
158
|
- `POST /v1/receipts/emit`
|
package/package.json
CHANGED
package/proof_sdk.js
CHANGED
|
@@ -1455,6 +1455,123 @@ function summarizeReviewReusableDefaultBoundary(input) {
|
|
|
1455
1455
|
};
|
|
1456
1456
|
}
|
|
1457
1457
|
|
|
1458
|
+
function summarizeReviewCompositionContract(input) {
|
|
1459
|
+
const reusableDefault = summarizeReviewReusableDefaultContinuation(input);
|
|
1460
|
+
return {
|
|
1461
|
+
ok: reusableDefault.ok === true,
|
|
1462
|
+
handoff_kind: reusableDefault.handoff_kind || null,
|
|
1463
|
+
result_package_ref: reusableDefault.result_package_ref || null,
|
|
1464
|
+
reusable_default_ref: reusableDefault.reusable_default_ref || null,
|
|
1465
|
+
composition_contract_ref: reusableDefault.reusable_default_ref
|
|
1466
|
+
? `contract.${reusableDefault.reusable_default_ref}`
|
|
1467
|
+
: null,
|
|
1468
|
+
public_contract_ids: [
|
|
1469
|
+
"review_default_continuation",
|
|
1470
|
+
"review_summary",
|
|
1471
|
+
"proof_run"
|
|
1472
|
+
],
|
|
1473
|
+
stable_contract_context: {
|
|
1474
|
+
execution_context_ready: reusableDefault.stable_default_context && reusableDefault.stable_default_context.execution_context_ready === true,
|
|
1475
|
+
economic_context_ready: reusableDefault.stable_default_context && reusableDefault.stable_default_context.economic_context_ready === true,
|
|
1476
|
+
proof_context_ready: reusableDefault.stable_default_context && reusableDefault.stable_default_context.proof_context_ready === true
|
|
1477
|
+
},
|
|
1478
|
+
helper_only_summary_ids: [
|
|
1479
|
+
"review_extension_readiness",
|
|
1480
|
+
"review_extension_boundary"
|
|
1481
|
+
],
|
|
1482
|
+
contract_ready: reusableDefault.default_followthrough && reusableDefault.default_followthrough.reusable_by_default === true,
|
|
1483
|
+
next_surface: reusableDefault.default_followthrough && reusableDefault.default_followthrough.run_surface
|
|
1484
|
+
? reusableDefault.default_followthrough.run_surface
|
|
1485
|
+
: null
|
|
1486
|
+
};
|
|
1487
|
+
}
|
|
1488
|
+
|
|
1489
|
+
function summarizeReviewCompositionContractBoundary(input) {
|
|
1490
|
+
const contract = summarizeReviewCompositionContract(input);
|
|
1491
|
+
return {
|
|
1492
|
+
ok: contract.ok === true,
|
|
1493
|
+
handoff_kind: contract.handoff_kind || null,
|
|
1494
|
+
result_package_ref: contract.result_package_ref || null,
|
|
1495
|
+
composition_contract_ref: contract.composition_contract_ref || null,
|
|
1496
|
+
stable_boundary_ids: [
|
|
1497
|
+
"review_contract_summary",
|
|
1498
|
+
"proof_run"
|
|
1499
|
+
],
|
|
1500
|
+
contract_ready: contract.contract_ready === true,
|
|
1501
|
+
next_surface: contract.next_surface || null
|
|
1502
|
+
};
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
function summarizeReviewCompositionContractCarry(input) {
|
|
1506
|
+
const contract = summarizeReviewCompositionContract(input);
|
|
1507
|
+
return {
|
|
1508
|
+
ok: contract.ok === true,
|
|
1509
|
+
composition_contract_ref: contract.composition_contract_ref || null,
|
|
1510
|
+
stable_contract_carry: contract.stable_contract_context || {},
|
|
1511
|
+
public_contract_ids: Array.isArray(contract.public_contract_ids) ? contract.public_contract_ids : [],
|
|
1512
|
+
contract_ready: contract.contract_ready === true,
|
|
1513
|
+
next_surface: contract.next_surface || null
|
|
1514
|
+
};
|
|
1515
|
+
}
|
|
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
|
+
|
|
1458
1575
|
function runDefaultProofLoop(loopRef, input) {
|
|
1459
1576
|
const loop = getDefaultProofLoop(loopRef);
|
|
1460
1577
|
if (!loop) {
|
|
@@ -1515,6 +1632,13 @@ module.exports = {
|
|
|
1515
1632
|
summarizeReviewExtensionBoundary,
|
|
1516
1633
|
summarizeReviewReusableDefaultContinuation,
|
|
1517
1634
|
summarizeReviewReusableDefaultBoundary,
|
|
1635
|
+
summarizeReviewCompositionContract,
|
|
1636
|
+
summarizeReviewCompositionContractBoundary,
|
|
1637
|
+
summarizeReviewCompositionContractCarry,
|
|
1638
|
+
summarizeReviewBridgeSummary,
|
|
1639
|
+
summarizeReviewBridgeBoundary,
|
|
1640
|
+
summarizeReviewBridgeCarry,
|
|
1641
|
+
summarizeReviewBridgeRun,
|
|
1518
1642
|
runInteractionResultPackageHandoff,
|
|
1519
1643
|
runInteractionSpineProofHandoff,
|
|
1520
1644
|
runTransactionProofHandoff,
|
package/server.js
CHANGED
|
@@ -248,6 +248,83 @@ async function routeRequest(req, res) {
|
|
|
248
248
|
return;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
+
if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/contract-summary') {
|
|
252
|
+
try {
|
|
253
|
+
const body = await readJsonBody(req);
|
|
254
|
+
const result = proofSdk.summarizeReviewCompositionContract(body);
|
|
255
|
+
sendJson(res, 200, result);
|
|
256
|
+
} catch (error) {
|
|
257
|
+
sendJson(res, 400, { ok: false, reason: error.message });
|
|
258
|
+
}
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/contract-boundary') {
|
|
263
|
+
try {
|
|
264
|
+
const body = await readJsonBody(req);
|
|
265
|
+
const result = proofSdk.summarizeReviewCompositionContractBoundary(body);
|
|
266
|
+
sendJson(res, 200, result);
|
|
267
|
+
} catch (error) {
|
|
268
|
+
sendJson(res, 400, { ok: false, reason: error.message });
|
|
269
|
+
}
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/contract-carry') {
|
|
274
|
+
try {
|
|
275
|
+
const body = await readJsonBody(req);
|
|
276
|
+
const result = proofSdk.summarizeReviewCompositionContractCarry(body);
|
|
277
|
+
sendJson(res, 200, result);
|
|
278
|
+
} catch (error) {
|
|
279
|
+
sendJson(res, 400, { ok: false, reason: error.message });
|
|
280
|
+
}
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
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
|
+
|
|
251
328
|
if (req.method === 'POST' && url.pathname === '/v1/receipts/verify') {
|
|
252
329
|
try {
|
|
253
330
|
const body = await readJsonBody(req);
|