xoonya 1.21.0 → 1.22.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
@@ -159,6 +159,9 @@ Primary proof-model routes:
159
159
  - `POST /v1/proof-center/result-package-handoff/review/operating-contract`
160
160
  - `POST /v1/proof-center/result-package-handoff/review/operating-contract-carry`
161
161
  - `POST /v1/proof-center/result-package-handoff/review/operating-contract-run`
162
+ - `POST /v1/proof-center/result-package-handoff/review/operating-interface`
163
+ - `POST /v1/proof-center/result-package-handoff/review/operating-interface-carry`
164
+ - `POST /v1/proof-center/result-package-handoff/review/operating-interface-run`
162
165
  - `POST /v1/proof-center/result-package-handoff/review/handoff-run`
163
166
  - `POST /v1/proof-center/result-package-handoff/run`
164
167
 
@@ -210,6 +213,15 @@ The current `1.21.0` line starts turning that adapter-operable execution contrac
210
213
  - clearer operating-contract ids across review, carry, and proof-native run posture
211
214
 
212
215
  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.
216
+
217
+ The current `1.22.0` line starts turning that adapter-stable operating contract into a clearer adapter-reliable operating interface:
218
+
219
+ - proof-side operating-interface posture on top of the operating-contract path
220
+ - compact operating-interface carry for direct reliable proof-side interface carry
221
+ - proof-side operating-interface run posture for direct default proof-native reliable posture
222
+ - clearer operating-interface ids across review, carry, and proof-native run posture
223
+
224
+ This is intended to make the proof-side continuation path easier to rely on operationally as a durable public interface instead of only a stable operating contract shape.
213
225
  - `POST /v1/events/canonicalize`
214
226
  - `POST /v1/events/hash`
215
227
  - `POST /v1/receipts/emit`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xoonya",
3
- "version": "1.21.0",
3
+ "version": "1.22.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
@@ -1792,6 +1792,45 @@ function summarizeReviewOperatingContractRun(input) {
1792
1792
  };
1793
1793
  }
1794
1794
 
1795
+ function summarizeReviewOperatingInterface(input) {
1796
+ const operatingContract = summarizeReviewOperatingContractRun(input);
1797
+ return {
1798
+ ok: operatingContract.ok === true,
1799
+ operating_contract_ref: operatingContract.operating_contract_ref || null,
1800
+ operating_interface_ref: operatingContract.operating_contract_ref ? `interface.${operatingContract.operating_contract_ref}` : null,
1801
+ accepted_operating_interface_ids: Array.isArray(operatingContract.accepted_operating_contract_ids) ? operatingContract.accepted_operating_contract_ids : [],
1802
+ adapter_reliable: operatingContract.operating_stable_by_default === true,
1803
+ run_surface: operatingContract.run_surface || null,
1804
+ run_path_ids: Array.isArray(operatingContract.default_run_path_ids) ? operatingContract.default_run_path_ids : []
1805
+ };
1806
+ }
1807
+
1808
+ function summarizeReviewOperatingInterfaceCarry(input) {
1809
+ const operatingInterface = summarizeReviewOperatingInterface(input);
1810
+ return {
1811
+ ok: operatingInterface.ok === true,
1812
+ operating_interface_ref: operatingInterface.operating_interface_ref || null,
1813
+ accepted_operating_interface_ids: Array.isArray(operatingInterface.accepted_operating_interface_ids) ? operatingInterface.accepted_operating_interface_ids : [],
1814
+ operating_interface_carry: {
1815
+ run_surface: operatingInterface.run_surface || null,
1816
+ run_path_ids: Array.isArray(operatingInterface.run_path_ids) ? operatingInterface.run_path_ids : []
1817
+ },
1818
+ adapter_reliable: operatingInterface.adapter_reliable === true
1819
+ };
1820
+ }
1821
+
1822
+ function summarizeReviewOperatingInterfaceRun(input) {
1823
+ const operatingInterface = summarizeReviewOperatingInterface(input);
1824
+ return {
1825
+ ok: operatingInterface.ok === true,
1826
+ operating_interface_ref: operatingInterface.operating_interface_ref || null,
1827
+ accepted_operating_interface_ids: Array.isArray(operatingInterface.accepted_operating_interface_ids) ? operatingInterface.accepted_operating_interface_ids : [],
1828
+ operating_interface_reliable_by_default: operatingInterface.adapter_reliable === true,
1829
+ run_surface: operatingInterface.run_surface || null,
1830
+ default_run_path_ids: Array.isArray(operatingInterface.run_path_ids) ? operatingInterface.run_path_ids : []
1831
+ };
1832
+ }
1833
+
1795
1834
  function runDefaultProofLoop(loopRef, input) {
1796
1835
  const loop = getDefaultProofLoop(loopRef);
1797
1836
  if (!loop) {
@@ -1875,6 +1914,9 @@ module.exports = {
1875
1914
  summarizeReviewOperatingContract,
1876
1915
  summarizeReviewOperatingContractCarry,
1877
1916
  summarizeReviewOperatingContractRun,
1917
+ summarizeReviewOperatingInterface,
1918
+ summarizeReviewOperatingInterfaceCarry,
1919
+ summarizeReviewOperatingInterfaceRun,
1878
1920
  summarizeReviewHandoffRun,
1879
1921
  runInteractionResultPackageHandoff,
1880
1922
  runInteractionSpineProofHandoff,
package/server.js CHANGED
@@ -501,6 +501,39 @@ async function routeRequest(req, res) {
501
501
  return;
502
502
  }
503
503
 
504
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/operating-interface') {
505
+ try {
506
+ const body = await readJsonBody(req);
507
+ const result = proofSdk.summarizeReviewOperatingInterface(body);
508
+ sendJson(res, 200, result);
509
+ } catch (error) {
510
+ sendJson(res, 400, { ok: false, reason: error.message });
511
+ }
512
+ return;
513
+ }
514
+
515
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/operating-interface-carry') {
516
+ try {
517
+ const body = await readJsonBody(req);
518
+ const result = proofSdk.summarizeReviewOperatingInterfaceCarry(body);
519
+ sendJson(res, 200, result);
520
+ } catch (error) {
521
+ sendJson(res, 400, { ok: false, reason: error.message });
522
+ }
523
+ return;
524
+ }
525
+
526
+ if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/operating-interface-run') {
527
+ try {
528
+ const body = await readJsonBody(req);
529
+ const result = proofSdk.summarizeReviewOperatingInterfaceRun(body);
530
+ sendJson(res, 200, result);
531
+ } catch (error) {
532
+ sendJson(res, 400, { ok: false, reason: error.message });
533
+ }
534
+ return;
535
+ }
536
+
504
537
  if (req.method === 'POST' && url.pathname === '/v1/proof-center/result-package-handoff/review/handoff-run') {
505
538
  try {
506
539
  const body = await readJsonBody(req);