xoonya 1.20.0 → 1.21.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
@@ -156,6 +156,9 @@ Primary proof-model routes:
156
156
  - `POST /v1/proof-center/result-package-handoff/review/execution-contract`
157
157
  - `POST /v1/proof-center/result-package-handoff/review/execution-contract-carry`
158
158
  - `POST /v1/proof-center/result-package-handoff/review/execution-contract-run`
159
+ - `POST /v1/proof-center/result-package-handoff/review/operating-contract`
160
+ - `POST /v1/proof-center/result-package-handoff/review/operating-contract-carry`
161
+ - `POST /v1/proof-center/result-package-handoff/review/operating-contract-run`
159
162
  - `POST /v1/proof-center/result-package-handoff/review/handoff-run`
160
163
  - `POST /v1/proof-center/result-package-handoff/run`
161
164
 
@@ -198,6 +201,15 @@ The current `1.20.0` line starts turning that adapter-ready execution package in
198
201
  - clearer execution-contract ids across review, carry, and proof-native run posture
199
202
 
200
203
  This is intended to make the proof-side continuation path easier to operate against repeatedly as a stable public contract instead of only a package that is execution-ready by posture.
204
+
205
+ The current `1.21.0` line starts turning that adapter-operable execution contract into a clearer adapter-stable operating contract:
206
+
207
+ - proof-side operating-contract posture on top of the execution-contract path
208
+ - compact operating-contract carry for direct stable proof-side operating carry
209
+ - proof-side operating-contract run posture for direct default proof-native operating posture
210
+ - clearer operating-contract ids across review, carry, and proof-native run posture
211
+
212
+ This is intended to make the proof-side continuation path easier to depend on repeatedly as a durable public operating contract instead of only a contract that is operable in the moment.
201
213
  - `POST /v1/events/canonicalize`
202
214
  - `POST /v1/events/hash`
203
215
  - `POST /v1/receipts/emit`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xoonya",
3
- "version": "1.20.0",
3
+ "version": "1.21.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
@@ -1753,6 +1753,45 @@ function summarizeReviewExecutionContractRun(input) {
1753
1753
  };
1754
1754
  }
1755
1755
 
1756
+ function summarizeReviewOperatingContract(input) {
1757
+ const executionContract = summarizeReviewExecutionContractRun(input);
1758
+ return {
1759
+ ok: executionContract.ok === true,
1760
+ execution_contract_ref: executionContract.execution_contract_ref || null,
1761
+ operating_contract_ref: executionContract.execution_contract_ref ? `operating.${executionContract.execution_contract_ref}` : null,
1762
+ accepted_operating_contract_ids: Array.isArray(executionContract.accepted_execution_contract_ids) ? executionContract.accepted_execution_contract_ids : [],
1763
+ adapter_stable: executionContract.execution_operable_by_default === true,
1764
+ run_surface: executionContract.run_surface || null,
1765
+ run_path_ids: Array.isArray(executionContract.default_run_path_ids) ? executionContract.default_run_path_ids : []
1766
+ };
1767
+ }
1768
+
1769
+ function summarizeReviewOperatingContractCarry(input) {
1770
+ const operatingContract = summarizeReviewOperatingContract(input);
1771
+ return {
1772
+ ok: operatingContract.ok === true,
1773
+ operating_contract_ref: operatingContract.operating_contract_ref || null,
1774
+ accepted_operating_contract_ids: Array.isArray(operatingContract.accepted_operating_contract_ids) ? operatingContract.accepted_operating_contract_ids : [],
1775
+ operating_contract_carry: {
1776
+ run_surface: operatingContract.run_surface || null,
1777
+ run_path_ids: Array.isArray(operatingContract.run_path_ids) ? operatingContract.run_path_ids : []
1778
+ },
1779
+ adapter_stable: operatingContract.adapter_stable === true
1780
+ };
1781
+ }
1782
+
1783
+ function summarizeReviewOperatingContractRun(input) {
1784
+ const operatingContract = summarizeReviewOperatingContract(input);
1785
+ return {
1786
+ ok: operatingContract.ok === true,
1787
+ operating_contract_ref: operatingContract.operating_contract_ref || null,
1788
+ accepted_operating_contract_ids: Array.isArray(operatingContract.accepted_operating_contract_ids) ? operatingContract.accepted_operating_contract_ids : [],
1789
+ operating_stable_by_default: operatingContract.adapter_stable === true,
1790
+ run_surface: operatingContract.run_surface || null,
1791
+ default_run_path_ids: Array.isArray(operatingContract.run_path_ids) ? operatingContract.run_path_ids : []
1792
+ };
1793
+ }
1794
+
1756
1795
  function runDefaultProofLoop(loopRef, input) {
1757
1796
  const loop = getDefaultProofLoop(loopRef);
1758
1797
  if (!loop) {
@@ -1833,6 +1872,9 @@ module.exports = {
1833
1872
  summarizeReviewExecutionContract,
1834
1873
  summarizeReviewExecutionContractCarry,
1835
1874
  summarizeReviewExecutionContractRun,
1875
+ summarizeReviewOperatingContract,
1876
+ summarizeReviewOperatingContractCarry,
1877
+ summarizeReviewOperatingContractRun,
1836
1878
  summarizeReviewHandoffRun,
1837
1879
  runInteractionResultPackageHandoff,
1838
1880
  runInteractionSpineProofHandoff,
package/server.js CHANGED
@@ -468,6 +468,39 @@ async function routeRequest(req, res) {
468
468
  return;
469
469
  }
470
470
 
471
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/operating-contract') {
472
+ try {
473
+ const body = await readJsonBody(req);
474
+ const result = proofSdk.summarizeReviewOperatingContract(body);
475
+ sendJson(res, 200, result);
476
+ } catch (error) {
477
+ sendJson(res, 400, { ok: false, reason: error.message });
478
+ }
479
+ return;
480
+ }
481
+
482
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/operating-contract-carry') {
483
+ try {
484
+ const body = await readJsonBody(req);
485
+ const result = proofSdk.summarizeReviewOperatingContractCarry(body);
486
+ sendJson(res, 200, result);
487
+ } catch (error) {
488
+ sendJson(res, 400, { ok: false, reason: error.message });
489
+ }
490
+ return;
491
+ }
492
+
493
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/operating-contract-run') {
494
+ try {
495
+ const body = await readJsonBody(req);
496
+ const result = proofSdk.summarizeReviewOperatingContractRun(body);
497
+ sendJson(res, 200, result);
498
+ } catch (error) {
499
+ sendJson(res, 400, { ok: false, reason: error.message });
500
+ }
501
+ return;
502
+ }
503
+
471
504
  if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/handoff-run') {
472
505
  try {
473
506
  const body = await readJsonBody(req);