xoonya 2.4.0 → 2.5.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.
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ const {
4
+ buildPhase9TreasuryConnectivityPack,
5
+ summarizePhase9TreasuryConnectivityPack
6
+ } = require("./phase_9_treasury_connectivity_pack");
7
+ const {
8
+ buildProofBridgeLanePack,
9
+ summarizeProofBridgeLanePack
10
+ } = require("./proof_bridge_lane_contract");
11
+
12
+ function buildTreasuryProofLanePack() {
13
+ return {
14
+ product: "xoonya",
15
+ category: "proof-treasury-lane-pack",
16
+ pack_version: "xoonya-treasury-lane-pack-v1",
17
+ lane_state: "first_party_treasury_proof_connectivity_present",
18
+ posture: "treasury_destination_and_accounting_evidence_followthrough_lane",
19
+ phase_alignment: {
20
+ connectivity: {
21
+ pack: buildPhase9TreasuryConnectivityPack(),
22
+ summary: summarizePhase9TreasuryConnectivityPack()
23
+ },
24
+ proof_bridge: {
25
+ pack: buildProofBridgeLanePack(),
26
+ summary: summarizeProofBridgeLanePack()
27
+ }
28
+ },
29
+ reserve_doctrine: {
30
+ strategic_native_treasury: "bsv_teranode",
31
+ stable_operating_reserves: ["dai", "usdc"],
32
+ optional_hidden_privacy_reserve: "monero",
33
+ privacy_guardrails: [
34
+ "monero_never_becomes_public_treasury_identity",
35
+ "monero_never_replaces_compliant_accounting_evidence",
36
+ "monero_only_exists_as_internal_optional_reserve_technique_where_operator_policy_explicitly_allows_it"
37
+ ]
38
+ },
39
+ supported_surfaces: {
40
+ phase_summary_ref: "/v1/phases/phase-9/summary",
41
+ treasury_destinations_proof_summary_ref: "/v1/phases/phase-9/treasury-destinations/proof/summary",
42
+ custody_refs_proof_summary_ref: "/v1/phases/phase-9/custody-refs/proof/summary",
43
+ operator_accounting_bridges_proof_summary_ref: "/v1/phases/phase-9/operator-accounting-bridges/proof/summary",
44
+ treasury_continuity_summary_ref: "/v1/phases/phase-9/treasury-continuity/summary",
45
+ proof_bridge_ref: "/v1/proof-bridge/summary"
46
+ },
47
+ first_run_flows: [
48
+ {
49
+ flow_ref: "treasury_proof_continuity",
50
+ recommended_reason: "best first path for understanding how treasury destinations, custody refs, and accounting bridges stay provable and reviewable",
51
+ sequence: [
52
+ "inspect_treasury_proof_lane_summary",
53
+ "inspect_phase_9_connectivity_summary",
54
+ "inspect_treasury_destination_and_accounting_bridge_proof_summaries",
55
+ "inspect_proof_bridge_followthrough_for_bounded_review_posture"
56
+ ]
57
+ }
58
+ ],
59
+ guardrails: [
60
+ "treasury proof lanes should strengthen operator trust without turning xoonya into treasury logic",
61
+ "reserve doctrine remains internal while proof continuity remains externally reviewable"
62
+ ]
63
+ };
64
+ }
65
+
66
+ function summarizeTreasuryProofLanePack() {
67
+ const pack = buildTreasuryProofLanePack();
68
+ return {
69
+ product: "xoonya",
70
+ category: "proof-treasury-lane-pack-summary",
71
+ summary_version: "xoonya-treasury-lane-pack-summary-v1",
72
+ lane_state: pack.lane_state,
73
+ strategic_native_treasury: pack.reserve_doctrine.strategic_native_treasury,
74
+ stable_reserve_count: pack.reserve_doctrine.stable_operating_reserves.length,
75
+ first_run_flow_count: pack.first_run_flows.length,
76
+ linked_surfaces: pack.supported_surfaces
77
+ };
78
+ }
79
+
80
+ module.exports = {
81
+ buildTreasuryProofLanePack,
82
+ summarizeTreasuryProofLanePack
83
+ };
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "xoonya",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "Deterministic proof SDK for canonical events, receipts, proof bundles, and verification.",
5
5
  "main": "index.js",
6
6
  "bin": {
7
- "xoonya-review": "./bin/xoonya-review.js",
8
- "xoonya-release": "./bin/xoonya-release.js"
7
+ "xoonya": "bin/xoonya.js",
8
+ "xoonya-review": "bin/xoonya-review.js",
9
+ "xoonya-release": "bin/xoonya-release.js"
9
10
  },
10
11
  "type": "commonjs",
11
12
  "license": "Apache-2.0",
package/server.js CHANGED
@@ -3,6 +3,7 @@ const { URL } = require('url');
3
3
  const proofSdk = require('./index.js');
4
4
  const {
5
5
  getIntegration,
6
+ listIntegrations,
6
7
  exportIntegrationRegistrySnapshot,
7
8
  summarizeIntegrationPromotionWorkflow,
8
9
  summarizeIntegrationPromotionWorkflowList,
@@ -75,6 +76,86 @@ const {
75
76
  buildBridgeIntelligencePack,
76
77
  summarizeBridgeIntelligencePack
77
78
  } = require('./lib/bridge_intelligence');
79
+ const {
80
+ buildOpenApiDocument,
81
+ summarizeOpenApiDocument,
82
+ } = require('./lib/openapi_contract');
83
+ const {
84
+ buildAsyncApiDocument,
85
+ summarizeAsyncApiDocument,
86
+ } = require('./lib/asyncapi_contract');
87
+ const {
88
+ buildCloudEventsContract,
89
+ summarizeCloudEventsContract,
90
+ } = require('./lib/cloudevents_contract');
91
+ const {
92
+ buildAuthInteropContract,
93
+ summarizeAuthInteropContract,
94
+ } = require('./lib/auth_interop_contract');
95
+ const {
96
+ buildIdentityInteropContract,
97
+ summarizeIdentityInteropContract,
98
+ } = require('./lib/identity_interop_contract');
99
+ const {
100
+ buildProviderLanePack,
101
+ summarizeProviderLanePack,
102
+ } = require('./lib/provider_lane_contract');
103
+ const {
104
+ buildFrameworkLanePack,
105
+ summarizeFrameworkLanePack,
106
+ } = require('./lib/framework_lane_contract');
107
+ const {
108
+ buildIntegrationMatrixPack,
109
+ summarizeIntegrationMatrixPack,
110
+ } = require('./lib/integration_matrix_contract');
111
+ const {
112
+ buildMajorRailsProofLanePack,
113
+ summarizeMajorRailsProofLanePack,
114
+ } = require('./lib/major_rails_proof_lane_contract');
115
+ const {
116
+ buildTreasuryProofLanePack,
117
+ summarizeTreasuryProofLanePack,
118
+ } = require('./lib/treasury_proof_lane_contract');
119
+ const {
120
+ buildErc8004ProofLanePack,
121
+ summarizeErc8004ProofLanePack,
122
+ } = require('./lib/erc8004_proof_lane_contract');
123
+ const {
124
+ buildProofBridgeLanePack,
125
+ summarizeProofBridgeLanePack,
126
+ } = require('./lib/proof_bridge_lane_contract');
127
+ const {
128
+ buildExternalProofImportLanePack,
129
+ summarizeExternalProofImportLanePack,
130
+ } = require('./lib/external_proof_import_lane_contract');
131
+ const {
132
+ buildResultPackageTrustLanePack,
133
+ summarizeResultPackageTrustLanePack,
134
+ } = require('./lib/result_package_trust_lane_contract');
135
+ const {
136
+ buildEventSystemLanePack,
137
+ summarizeEventSystemLanePack,
138
+ } = require('./lib/event_system_lane_contract');
139
+ const {
140
+ buildTelemetryLanePack,
141
+ summarizeTelemetryLanePack,
142
+ } = require('./lib/telemetry_lane_contract');
143
+ const {
144
+ buildProvenanceLanePack,
145
+ summarizeProvenanceLanePack,
146
+ } = require('./lib/provenance_lane_contract');
147
+ const {
148
+ buildArtifactDistributionLanePack,
149
+ summarizeArtifactDistributionLanePack,
150
+ } = require('./lib/artifact_distribution_lane_contract');
151
+ const {
152
+ buildSharedSignalsLanePack,
153
+ summarizeSharedSignalsLanePack,
154
+ } = require('./lib/shared_signals_lane_contract');
155
+ const {
156
+ buildFeatureControlLanePack,
157
+ summarizeFeatureControlLanePack,
158
+ } = require('./lib/feature_control_lane_contract');
78
159
  const {
79
160
  buildRoleFreezePack,
80
161
  summarizeRoleFreezePack,
@@ -630,6 +711,206 @@ async function routeRequest(req, res) {
630
711
  return;
631
712
  }
632
713
 
714
+ if (req.method === 'GET' && (url.pathname === '/openapi.json' || url.pathname === '/v1/openapi')) {
715
+ sendJson(res, 200, buildOpenApiDocument());
716
+ return;
717
+ }
718
+
719
+ if (req.method === 'GET' && url.pathname === '/v1/openapi/summary') {
720
+ sendJson(res, 200, summarizeOpenApiDocument());
721
+ return;
722
+ }
723
+
724
+ if (req.method === 'GET' && (url.pathname === '/asyncapi.json' || url.pathname === '/v1/asyncapi')) {
725
+ sendJson(res, 200, buildAsyncApiDocument());
726
+ return;
727
+ }
728
+
729
+ if (req.method === 'GET' && url.pathname === '/v1/asyncapi/summary') {
730
+ sendJson(res, 200, summarizeAsyncApiDocument());
731
+ return;
732
+ }
733
+
734
+ if (req.method === 'GET' && (url.pathname === '/cloudevents.json' || url.pathname === '/v1/cloudevents')) {
735
+ sendJson(res, 200, buildCloudEventsContract());
736
+ return;
737
+ }
738
+
739
+ if (req.method === 'GET' && url.pathname === '/v1/cloudevents/summary') {
740
+ sendJson(res, 200, summarizeCloudEventsContract());
741
+ return;
742
+ }
743
+
744
+ if (req.method === 'GET' && (url.pathname === '/v1/auth-profiles' || url.pathname === '/v1/auth-interop')) {
745
+ sendJson(res, 200, buildAuthInteropContract());
746
+ return;
747
+ }
748
+
749
+ if (req.method === 'GET' && (url.pathname === '/v1/auth-profiles/summary' || url.pathname === '/v1/auth-interop/summary')) {
750
+ sendJson(res, 200, summarizeAuthInteropContract());
751
+ return;
752
+ }
753
+
754
+ if (req.method === 'GET' && (url.pathname === '/v1/identity-interop' || url.pathname === '/v1/credential-interop')) {
755
+ sendJson(res, 200, buildIdentityInteropContract());
756
+ return;
757
+ }
758
+
759
+ if (req.method === 'GET' && (url.pathname === '/v1/identity-interop/summary' || url.pathname === '/v1/credential-interop/summary')) {
760
+ sendJson(res, 200, summarizeIdentityInteropContract());
761
+ return;
762
+ }
763
+
764
+ if (req.method === 'GET' && url.pathname === '/v1/providers') {
765
+ sendJson(res, 200, buildProviderLanePack());
766
+ return;
767
+ }
768
+
769
+ if (req.method === 'GET' && url.pathname === '/v1/providers/summary') {
770
+ sendJson(res, 200, summarizeProviderLanePack());
771
+ return;
772
+ }
773
+
774
+ if (req.method === 'GET' && url.pathname === '/v1/frameworks') {
775
+ sendJson(res, 200, buildFrameworkLanePack());
776
+ return;
777
+ }
778
+
779
+ if (req.method === 'GET' && url.pathname === '/v1/frameworks/summary') {
780
+ sendJson(res, 200, summarizeFrameworkLanePack());
781
+ return;
782
+ }
783
+
784
+ if (req.method === 'GET' && url.pathname === '/v1/integration-matrix') {
785
+ sendJson(res, 200, buildIntegrationMatrixPack(listIntegrations()));
786
+ return;
787
+ }
788
+
789
+ if (req.method === 'GET' && url.pathname === '/v1/integration-matrix/summary') {
790
+ sendJson(res, 200, summarizeIntegrationMatrixPack(listIntegrations()));
791
+ return;
792
+ }
793
+
794
+ if (req.method === 'GET' && url.pathname === '/v1/major-rails') {
795
+ sendJson(res, 200, buildMajorRailsProofLanePack());
796
+ return;
797
+ }
798
+
799
+ if (req.method === 'GET' && url.pathname === '/v1/major-rails/summary') {
800
+ sendJson(res, 200, summarizeMajorRailsProofLanePack());
801
+ return;
802
+ }
803
+
804
+ if (req.method === 'GET' && url.pathname === '/v1/treasury') {
805
+ sendJson(res, 200, buildTreasuryProofLanePack());
806
+ return;
807
+ }
808
+
809
+ if (req.method === 'GET' && url.pathname === '/v1/treasury/summary') {
810
+ sendJson(res, 200, summarizeTreasuryProofLanePack());
811
+ return;
812
+ }
813
+
814
+ if (req.method === 'GET' && url.pathname === '/v1/erc8004') {
815
+ sendJson(res, 200, buildErc8004ProofLanePack());
816
+ return;
817
+ }
818
+
819
+ if (req.method === 'GET' && url.pathname === '/v1/erc8004/summary') {
820
+ sendJson(res, 200, summarizeErc8004ProofLanePack());
821
+ return;
822
+ }
823
+
824
+ if (req.method === 'GET' && url.pathname === '/v1/proof-bridge') {
825
+ sendJson(res, 200, buildProofBridgeLanePack());
826
+ return;
827
+ }
828
+
829
+ if (req.method === 'GET' && url.pathname === '/v1/proof-bridge/summary') {
830
+ sendJson(res, 200, summarizeProofBridgeLanePack());
831
+ return;
832
+ }
833
+
834
+ if (req.method === 'GET' && url.pathname === '/v1/external-proof-import') {
835
+ sendJson(res, 200, buildExternalProofImportLanePack());
836
+ return;
837
+ }
838
+
839
+ if (req.method === 'GET' && url.pathname === '/v1/external-proof-import/summary') {
840
+ sendJson(res, 200, summarizeExternalProofImportLanePack());
841
+ return;
842
+ }
843
+
844
+ if (req.method === 'GET' && url.pathname === '/v1/result-package-trust') {
845
+ sendJson(res, 200, buildResultPackageTrustLanePack());
846
+ return;
847
+ }
848
+
849
+ if (req.method === 'GET' && url.pathname === '/v1/result-package-trust/summary') {
850
+ sendJson(res, 200, summarizeResultPackageTrustLanePack());
851
+ return;
852
+ }
853
+
854
+ if (req.method === 'GET' && url.pathname === '/v1/event-systems') {
855
+ sendJson(res, 200, buildEventSystemLanePack());
856
+ return;
857
+ }
858
+
859
+ if (req.method === 'GET' && url.pathname === '/v1/event-systems/summary') {
860
+ sendJson(res, 200, summarizeEventSystemLanePack());
861
+ return;
862
+ }
863
+
864
+ if (req.method === 'GET' && url.pathname === '/v1/telemetry') {
865
+ sendJson(res, 200, buildTelemetryLanePack());
866
+ return;
867
+ }
868
+
869
+ if (req.method === 'GET' && url.pathname === '/v1/telemetry/summary') {
870
+ sendJson(res, 200, summarizeTelemetryLanePack());
871
+ return;
872
+ }
873
+
874
+ if (req.method === 'GET' && url.pathname === '/v1/provenance') {
875
+ sendJson(res, 200, buildProvenanceLanePack());
876
+ return;
877
+ }
878
+
879
+ if (req.method === 'GET' && url.pathname === '/v1/provenance/summary') {
880
+ sendJson(res, 200, summarizeProvenanceLanePack());
881
+ return;
882
+ }
883
+
884
+ if (req.method === 'GET' && url.pathname === '/v1/artifact-distribution') {
885
+ sendJson(res, 200, buildArtifactDistributionLanePack());
886
+ return;
887
+ }
888
+
889
+ if (req.method === 'GET' && url.pathname === '/v1/artifact-distribution/summary') {
890
+ sendJson(res, 200, summarizeArtifactDistributionLanePack());
891
+ return;
892
+ }
893
+
894
+ if (req.method === 'GET' && url.pathname === '/v1/shared-signals') {
895
+ sendJson(res, 200, buildSharedSignalsLanePack());
896
+ return;
897
+ }
898
+
899
+ if (req.method === 'GET' && url.pathname === '/v1/shared-signals/summary') {
900
+ sendJson(res, 200, summarizeSharedSignalsLanePack());
901
+ return;
902
+ }
903
+
904
+ if (req.method === 'GET' && url.pathname === '/v1/feature-control') {
905
+ sendJson(res, 200, buildFeatureControlLanePack());
906
+ return;
907
+ }
908
+
909
+ if (req.method === 'GET' && url.pathname === '/v1/feature-control/summary') {
910
+ sendJson(res, 200, summarizeFeatureControlLanePack());
911
+ return;
912
+ }
913
+
633
914
  if (req.method === 'GET' && url.pathname === '/v1/release-pack') {
634
915
  sendJson(res, 200, buildReleasePack());
635
916
  return;