xoonya 1.13.0 → 1.14.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 +5 -0
- package/package.json +1 -1
- package/proof_sdk.js +62 -0
- package/server.js +33 -0
package/README.md
CHANGED
|
@@ -136,12 +136,17 @@ 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`
|
|
139
142
|
- `POST /v1/proof-center/result-package-handoff/run`
|
|
140
143
|
|
|
141
144
|
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
145
|
It also now exposes an extension-readiness summary so the stable post-review proof boundary is easier to treat as a reusable seam.
|
|
143
146
|
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
147
|
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
|
+
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
|
+
It now also exposes compact contract-carry summaries so the stable proof-side contract context is easier to inspect directly without expanding proof scope.
|
|
145
150
|
- `POST /v1/events/canonicalize`
|
|
146
151
|
- `POST /v1/events/hash`
|
|
147
152
|
- `POST /v1/receipts/emit`
|
package/package.json
CHANGED
package/proof_sdk.js
CHANGED
|
@@ -1455,6 +1455,65 @@ 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
|
+
|
|
1458
1517
|
function runDefaultProofLoop(loopRef, input) {
|
|
1459
1518
|
const loop = getDefaultProofLoop(loopRef);
|
|
1460
1519
|
if (!loop) {
|
|
@@ -1515,6 +1574,9 @@ module.exports = {
|
|
|
1515
1574
|
summarizeReviewExtensionBoundary,
|
|
1516
1575
|
summarizeReviewReusableDefaultContinuation,
|
|
1517
1576
|
summarizeReviewReusableDefaultBoundary,
|
|
1577
|
+
summarizeReviewCompositionContract,
|
|
1578
|
+
summarizeReviewCompositionContractBoundary,
|
|
1579
|
+
summarizeReviewCompositionContractCarry,
|
|
1518
1580
|
runInteractionResultPackageHandoff,
|
|
1519
1581
|
runInteractionSpineProofHandoff,
|
|
1520
1582
|
runTransactionProofHandoff,
|
package/server.js
CHANGED
|
@@ -248,6 +248,39 @@ 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
|
+
|
|
251
284
|
if (req.method === 'POST' && url.pathname === '/v1/receipts/verify') {
|
|
252
285
|
try {
|
|
253
286
|
const body = await readJsonBody(req);
|