xoonya 3.1.0 → 3.1.2
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/.env.example +10 -2
- package/CARRIED_HANDOFF_DEMO.md +60 -60
- package/COMPATIBILITY_NOTE.md +27 -27
- package/CROSS_RUNTIME_POSTURE.md +77 -77
- package/EXAMPLE_PATHS.md +53 -53
- package/FINAL_CONTRACT.md +445 -445
- package/LICENSE +201 -201
- package/NOTICE +3 -3
- package/PARTNER_READY_PATH.md +67 -67
- package/PUBLIC_DEMO_SCRIPT.md +79 -79
- package/README.md +843 -808
- package/RELEASE_NOTES.md +10 -15
- package/SERVICE_CONTRACT.md +207 -207
- package/START_HERE.md +159 -159
- package/TERMINOLOGY.md +55 -55
- package/WHY_XYTARA_XOONYA.md +43 -43
- package/XNYA_CONFORMANCE_MARK.md +78 -78
- package/XNYA_REFERENCE_IMPLEMENTATIONS.md +157 -157
- package/XOONYA_DEFAULT_PATH_MODEL.md +63 -63
- package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +63 -63
- package/XOONYA_NATIVE_ATOM_SPEC.md +184 -184
- package/XOONYA_NATIVE_PROOF_FORMAT.md +570 -527
- package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +119 -119
- package/XOONYA_PROOF_TRUTH_MODEL.md +58 -58
- package/bin/xoonya-first-run.js +184 -184
- package/bin/xoonya-release.js +1367 -1367
- package/bin/xoonya-review.js +70 -70
- package/bin/xoonya.js +82 -82
- package/examples/integration_boundary_walkthrough.js +37 -37
- package/examples/package_quickstart.js +1007 -1007
- package/examples/partner_proof_walkthrough.js +68 -68
- package/examples/proof_review_walkthrough.js +66 -66
- package/examples/review_carried_handoff.js +72 -72
- package/index.js +31 -31
- package/integrations/PROOF_INTEGRATION_PROCESS.md +45 -45
- package/integrations/examples/example-third-party-verifier-registration.record.json +22 -22
- package/integrations/registration-record.schema.json +99 -99
- package/integrations/registry-snapshot.schema.json +36 -36
- package/integrations/registry.js +636 -636
- package/integrations/views.js +36 -36
- package/lib/adapter_certification_contract.js +90 -90
- package/lib/announcement_pack.js +61 -61
- package/lib/artifact_distribution_lane_contract.js +54 -54
- package/lib/asyncapi_contract.js +135 -135
- package/lib/auth_interop_contract.js +69 -69
- package/lib/authority_binding_lifecycle_contract.js +182 -182
- package/lib/bridge_intelligence.js +102 -102
- package/lib/cloudevents_contract.js +79 -79
- package/lib/crypto_agility_matrix.js +125 -125
- package/lib/default_path_contract.js +380 -380
- package/lib/ecosystem_entry.js +64 -64
- package/lib/erc8004_proof_lane_contract.js +64 -64
- package/lib/event_system_lane_contract.js +76 -76
- package/lib/external_proof_import_lane_contract.js +87 -87
- package/lib/feature_control_lane_contract.js +54 -54
- package/lib/followthrough_truth_contract.js +214 -214
- package/lib/framework_lane_contract.js +76 -76
- package/lib/governance_disputes_summary.js +36 -36
- package/lib/governance_intelligence.js +108 -108
- package/lib/identity_interop_contract.js +83 -83
- package/lib/integration_matrix_contract.js +81 -81
- package/lib/launch_narrative.js +53 -53
- package/lib/machine_identity_registry_contract.js +199 -199
- package/lib/major_rails_proof_lane_contract.js +87 -87
- package/lib/offline_verifiability_recovery_contract.js +155 -155
- package/lib/openapi_contract.js +227 -227
- package/lib/operational_receipt_contract.js +165 -165
- package/lib/outreach_proof.js +71 -71
- package/lib/phase_10_closeout_pack.js +45 -45
- package/lib/phase_10_completion_pack.js +76 -76
- package/lib/phase_10_decision_record_pack.js +54 -54
- package/lib/phase_10_decision_resolution_pack.js +53 -53
- package/lib/phase_10_demand_signal_adapters_proof_pack.js +74 -74
- package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +74 -74
- package/lib/phase_10_freeze_baseline_pack.js +67 -67
- package/lib/phase_10_freeze_review_pack.js +64 -64
- package/lib/phase_10_gate_pack.js +57 -57
- package/lib/phase_10_long_tail_continuity_pack.js +80 -80
- package/lib/phase_10_long_tail_ecosystem_pack.js +68 -68
- package/lib/phase_10_niche_extension_registry_proof_pack.js +74 -74
- package/lib/phase_1_claude_mcp_pack.js +60 -60
- package/lib/phase_1_claude_mcp_proof_pack.js +57 -57
- package/lib/phase_1_ecosystem_pack.js +51 -51
- package/lib/phase_1_openai_codex_pack.js +60 -60
- package/lib/phase_1_openai_codex_proof_pack.js +57 -57
- package/lib/phase_2_base_proof_pack.js +71 -71
- package/lib/phase_2_base_usdc_proof_pack.js +72 -72
- package/lib/phase_2_closeout_pack.js +65 -65
- package/lib/phase_2_completion_pack.js +113 -113
- package/lib/phase_2_decision_record_pack.js +66 -66
- package/lib/phase_2_decision_resolution_pack.js +69 -69
- package/lib/phase_2_eth_proof_pack.js +70 -70
- package/lib/phase_2_evm_base_proof_pack.js +73 -73
- package/lib/phase_2_evm_proof_pack.js +71 -71
- package/lib/phase_2_flip_preview_pack.js +60 -60
- package/lib/phase_2_freeze_review_pack.js +99 -99
- package/lib/phase_2_gate_pack.js +77 -77
- package/lib/phase_2_payment_rails_pack.js +71 -71
- package/lib/phase_2_usdc_proof_pack.js +71 -71
- package/lib/phase_3_brc_proof_pack.js +81 -81
- package/lib/phase_3_bsv_teranode_proof_pack.js +81 -81
- package/lib/phase_3_closeout_pack.js +62 -62
- package/lib/phase_3_completion_pack.js +92 -92
- package/lib/phase_3_decision_record_pack.js +64 -64
- package/lib/phase_3_decision_resolution_pack.js +69 -69
- package/lib/phase_3_freeze_baseline_pack.js +67 -67
- package/lib/phase_3_freeze_review_pack.js +80 -80
- package/lib/phase_3_gate_pack.js +76 -76
- package/lib/phase_3_metanet_proof_pack.js +81 -81
- package/lib/phase_3_native_bsv_pack.js +89 -89
- package/lib/phase_3_native_continuity_pack.js +82 -82
- package/lib/phase_4_attestation_proof_pack.js +75 -75
- package/lib/phase_4_closeout_pack.js +45 -45
- package/lib/phase_4_completion_pack.js +82 -82
- package/lib/phase_4_decision_record_pack.js +54 -54
- package/lib/phase_4_decision_resolution_pack.js +45 -45
- package/lib/phase_4_erc8004_proof_pack.js +76 -76
- package/lib/phase_4_freeze_baseline_pack.js +67 -67
- package/lib/phase_4_freeze_review_pack.js +68 -68
- package/lib/phase_4_gate_pack.js +58 -58
- package/lib/phase_4_identity_registry_proof_pack.js +75 -75
- package/lib/phase_4_identity_trust_pack.js +73 -73
- package/lib/phase_4_trust_continuity_pack.js +86 -86
- package/lib/phase_5_antelope_proof_pack.js +76 -76
- package/lib/phase_5_closeout_pack.js +44 -44
- package/lib/phase_5_completion_pack.js +82 -82
- package/lib/phase_5_decision_record_pack.js +54 -54
- package/lib/phase_5_decision_resolution_pack.js +45 -45
- package/lib/phase_5_freeze_baseline_pack.js +67 -67
- package/lib/phase_5_freeze_review_pack.js +68 -68
- package/lib/phase_5_gate_pack.js +58 -58
- package/lib/phase_5_major_rails_continuity_pack.js +86 -86
- package/lib/phase_5_major_rails_pack.js +74 -74
- package/lib/phase_5_proton_xpr_proof_pack.js +76 -76
- package/lib/phase_5_solana_proof_pack.js +76 -76
- package/lib/phase_6_autogen_proof_pack.js +74 -74
- package/lib/phase_6_closeout_pack.js +46 -46
- package/lib/phase_6_completion_pack.js +77 -77
- package/lib/phase_6_decision_record_pack.js +54 -54
- package/lib/phase_6_decision_resolution_pack.js +53 -53
- package/lib/phase_6_framework_continuity_pack.js +81 -81
- package/lib/phase_6_framework_runtime_pack.js +68 -68
- package/lib/phase_6_freeze_baseline_pack.js +68 -68
- package/lib/phase_6_freeze_review_pack.js +65 -65
- package/lib/phase_6_gate_pack.js +59 -59
- package/lib/phase_6_langchain_proof_pack.js +74 -74
- package/lib/phase_6_langgraph_proof_pack.js +74 -74
- package/lib/phase_6_semantic_kernel_proof_pack.js +74 -74
- package/lib/phase_7_closeout_pack.js +45 -45
- package/lib/phase_7_completion_pack.js +85 -85
- package/lib/phase_7_decision_record_pack.js +53 -53
- package/lib/phase_7_decision_resolution_pack.js +53 -53
- package/lib/phase_7_event_system_continuity_pack.js +89 -89
- package/lib/phase_7_event_system_pack.js +76 -76
- package/lib/phase_7_freeze_baseline_pack.js +74 -74
- package/lib/phase_7_freeze_review_pack.js +65 -65
- package/lib/phase_7_gate_pack.js +58 -58
- package/lib/phase_7_kafka_proof_pack.js +76 -76
- package/lib/phase_7_mqtt_proof_pack.js +76 -76
- package/lib/phase_7_nats_proof_pack.js +76 -76
- package/lib/phase_7_webhook_event_bus_proof_pack.js +76 -76
- package/lib/phase_8_closeout_pack.js +46 -46
- package/lib/phase_8_completion_pack.js +82 -82
- package/lib/phase_8_decision_record_pack.js +54 -54
- package/lib/phase_8_decision_resolution_pack.js +53 -53
- package/lib/phase_8_external_receipt_import_proof_pack.js +74 -74
- package/lib/phase_8_external_result_import_proof_pack.js +74 -74
- package/lib/phase_8_freeze_baseline_pack.js +71 -71
- package/lib/phase_8_freeze_review_pack.js +64 -64
- package/lib/phase_8_gate_pack.js +58 -58
- package/lib/phase_8_proof_bridge_continuity_pack.js +86 -86
- package/lib/phase_8_proof_bridges_pack.js +72 -72
- package/lib/phase_8_proof_bundle_normalization_proof_pack.js +74 -74
- package/lib/phase_9_closeout_pack.js +46 -46
- package/lib/phase_9_completion_pack.js +82 -82
- package/lib/phase_9_custody_refs_proof_pack.js +74 -74
- package/lib/phase_9_decision_record_pack.js +54 -54
- package/lib/phase_9_decision_resolution_pack.js +53 -53
- package/lib/phase_9_freeze_baseline_pack.js +71 -71
- package/lib/phase_9_freeze_review_pack.js +64 -64
- package/lib/phase_9_gate_pack.js +58 -58
- package/lib/phase_9_operator_accounting_bridges_proof_pack.js +74 -74
- package/lib/phase_9_treasury_connectivity_pack.js +72 -72
- package/lib/phase_9_treasury_continuity_pack.js +86 -86
- package/lib/phase_9_treasury_destinations_proof_pack.js +74 -74
- package/lib/phase_program_pack.js +47 -47
- package/lib/proof_bridge_lane_contract.js +82 -82
- package/lib/proof_truth_contract.js +224 -224
- package/lib/provenance_lane_contract.js +54 -54
- package/lib/provider_lane_contract.js +67 -67
- package/lib/public_surface_policy_contract.js +111 -111
- package/lib/publish_plan.js +51 -51
- package/lib/release_candidate.js +50 -50
- package/lib/release_center.js +1037 -1037
- package/lib/release_history.js +206 -206
- package/lib/release_manifest.js +114 -114
- package/lib/release_pack.js +391 -391
- package/lib/result_package_trust_lane_contract.js +74 -74
- package/lib/review_intelligence.js +100 -100
- package/lib/role_freeze.js +436 -436
- package/lib/shared_signals_lane_contract.js +54 -54
- package/lib/signed_audit_provenance_contract.js +93 -93
- package/lib/telemetry_lane_contract.js +54 -54
- package/lib/treasury_proof_lane_contract.js +83 -83
- package/lib/trust_intelligence.js +106 -106
- package/lib/trust_portability_boundary_contract.js +66 -66
- package/lib/trust_portability_pack.js +224 -224
- package/lib/verification_service_pack.js +149 -149
- package/package.json +98 -97
- package/proof_sdk.js +6561 -6265
- package/reference/python/README.md +35 -35
- package/reference/python/__pycache__/xnya_reference.cpython-314.pyc +0 -0
- package/reference/python/requirements-optional.txt +1 -1
- package/reference/python/verify_vectors.py +223 -223
- package/reference/python/xnya_reference.py +810 -810
- package/reference/rust/Cargo.toml +11 -11
- package/reference/rust/README.md +28 -28
- package/reference/rust/src/lib.rs +87 -87
- package/scripts/registry_cli.js +157 -157
- package/scripts/verify_all.js +603 -603
- package/scripts/verify_control_plane_contracts.js +34 -34
- package/scripts/verify_control_plane_routes.js +70 -70
- package/scripts/verify_examples.js +19 -19
- package/scripts/verify_external_proof_import_gate.js +84 -84
- package/scripts/verify_forgery_resistance.js +281 -0
- package/scripts/verify_integrations.js +170 -170
- package/scripts/verify_native_hybrid_design_gate.js +114 -114
- package/scripts/verify_reference_promotion_gate.js +74 -74
- package/scripts/verify_reference_python.js +49 -49
- package/scripts/verify_reference_python_crypto.js +87 -87
- package/scripts/verify_reference_rust_scaffold.js +50 -50
- package/scripts/verify_release_candidate.js +131 -131
- package/scripts/verify_service.js +3038 -2940
- package/scripts/verify_tooling.js +1251 -1251
- package/scripts/verify_trust_portability.js +56 -56
- package/scripts/verify_vectors.js +192 -192
- package/scripts/verify_verification_services.js +56 -56
- package/server.js +4223 -4099
- package/vectors/adversarial-vectors.json +552 -552
- package/vectors/conformance-vectors.json +446 -446
- package/vectors/native-atom-vectors.json +101 -101
- package/vectors/native-payload-profile-vectors.json +50 -50
- package/OPERATIONS_RUNBOOK.md +0 -50
- package/OPERATOR_START_HERE.md +0 -67
- package/PROGRAM_COMPLETE_RELEASE.md +0 -52
- package/PROGRAM_STATUS.md +0 -57
- package/PUBLISH_PLAN.md +0 -25
- package/RELEASE_CHECKLIST.md +0 -16
package/lib/openapi_contract.js
CHANGED
|
@@ -1,227 +1,227 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const pkg = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildOpenApiDocument() {
|
|
6
|
-
return {
|
|
7
|
-
openapi: "3.1.0",
|
|
8
|
-
info: {
|
|
9
|
-
title: "xoonya Public HTTP Contract",
|
|
10
|
-
version: pkg.version,
|
|
11
|
-
summary: "Proof and review contract for the stable public HTTP layer.",
|
|
12
|
-
description: "This OpenAPI document exposes the stable builder-facing proof, review, and compatibility surfaces that outside builders should rely on first.",
|
|
13
|
-
contact: {
|
|
14
|
-
name: "naxytra"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
jsonSchemaDialect: "https://spec.openapis.org/oas/3.1/dialect/base",
|
|
18
|
-
servers: [
|
|
19
|
-
{
|
|
20
|
-
url: "http://127.0.0.1:4340",
|
|
21
|
-
description: "Local xoonya service"
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
tags: [
|
|
25
|
-
{ name: "health", description: "Service health and readiness." },
|
|
26
|
-
{ name: "proof-center", description: "Core proof and review surfaces." },
|
|
27
|
-
{ name: "events", description: "Canonicalization, hashing, and receipt emission." },
|
|
28
|
-
{ name: "proof-bundles", description: "Proof bundle build and verify surfaces." },
|
|
29
|
-
{ name: "compatibility", description: "Compatibility verification surfaces." },
|
|
30
|
-
{ name: "intelligence", description: "Proof-side intelligence and role surfaces." }
|
|
31
|
-
],
|
|
32
|
-
paths: {
|
|
33
|
-
"/health": {
|
|
34
|
-
get: {
|
|
35
|
-
tags: ["health"],
|
|
36
|
-
summary: "Health check",
|
|
37
|
-
operationId: "getHealth",
|
|
38
|
-
responses: {
|
|
39
|
-
"200": { description: "Service health response" }
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"/v1/proof-center": {
|
|
44
|
-
get: {
|
|
45
|
-
tags: ["proof-center"],
|
|
46
|
-
summary: "Get proof center bundle",
|
|
47
|
-
operationId: "getProofCenter",
|
|
48
|
-
responses: {
|
|
49
|
-
"200": { description: "Proof center bundle" }
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"/v1/proof-center/summary": {
|
|
54
|
-
get: {
|
|
55
|
-
tags: ["proof-center"],
|
|
56
|
-
summary: "Get proof center summary",
|
|
57
|
-
operationId: "getProofCenterSummary",
|
|
58
|
-
responses: {
|
|
59
|
-
"200": { description: "Proof center summary" }
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
"/v1/events/canonicalize": {
|
|
64
|
-
post: {
|
|
65
|
-
tags: ["events"],
|
|
66
|
-
summary: "Canonicalize event payload",
|
|
67
|
-
operationId: "canonicalizeEvent",
|
|
68
|
-
responses: {
|
|
69
|
-
"200": { description: "Canonical event response" },
|
|
70
|
-
"400": { description: "Invalid event payload" }
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
"/v1/events/hash": {
|
|
75
|
-
post: {
|
|
76
|
-
tags: ["events"],
|
|
77
|
-
summary: "Hash canonical event payload",
|
|
78
|
-
operationId: "hashEvent",
|
|
79
|
-
responses: {
|
|
80
|
-
"200": { description: "Event hash response" },
|
|
81
|
-
"400": { description: "Invalid event payload" }
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
"/v1/receipts/emit": {
|
|
86
|
-
post: {
|
|
87
|
-
tags: ["events"],
|
|
88
|
-
summary: "Emit proof receipt",
|
|
89
|
-
operationId: "emitReceipt",
|
|
90
|
-
responses: {
|
|
91
|
-
"200": { description: "Receipt emission response" },
|
|
92
|
-
"400": { description: "Invalid receipt emission request" }
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
"/v1/proof-bundles/build": {
|
|
97
|
-
post: {
|
|
98
|
-
tags: ["proof-bundles"],
|
|
99
|
-
summary: "Build proof bundle",
|
|
100
|
-
operationId: "buildProofBundle",
|
|
101
|
-
responses: {
|
|
102
|
-
"200": { description: "Proof bundle created" },
|
|
103
|
-
"400": { description: "Invalid proof bundle request" }
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
"/v1/proof-bundles/verify": {
|
|
108
|
-
post: {
|
|
109
|
-
tags: ["proof-bundles"],
|
|
110
|
-
summary: "Verify proof bundle",
|
|
111
|
-
operationId: "verifyProofBundle",
|
|
112
|
-
responses: {
|
|
113
|
-
"200": { description: "Proof bundle verification result" },
|
|
114
|
-
"400": { description: "Invalid proof verification request" }
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
"/v1/receipts/verify": {
|
|
119
|
-
post: {
|
|
120
|
-
tags: ["compatibility"],
|
|
121
|
-
summary: "Verify receipt",
|
|
122
|
-
operationId: "verifyReceipt",
|
|
123
|
-
responses: {
|
|
124
|
-
"200": { description: "Receipt verification result" },
|
|
125
|
-
"400": { description: "Invalid receipt verification request" }
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
"/v1/proof-center/bridge/economic-handoff": {
|
|
130
|
-
post: {
|
|
131
|
-
tags: ["proof-center"],
|
|
132
|
-
summary: "Bridge economic handoff into proof review",
|
|
133
|
-
operationId: "bridgeEconomicHandoff",
|
|
134
|
-
responses: {
|
|
135
|
-
"200": { description: "Economic handoff bridge result" },
|
|
136
|
-
"400": { description: "Invalid handoff payload" }
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
"/v1/trust-intelligence/summary": {
|
|
141
|
-
get: {
|
|
142
|
-
tags: ["intelligence"],
|
|
143
|
-
summary: "Get trust intelligence summary",
|
|
144
|
-
operationId: "getTrustIntelligenceSummary",
|
|
145
|
-
responses: {
|
|
146
|
-
"200": { description: "Trust intelligence summary" }
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
"/v1/governance-intelligence/summary": {
|
|
151
|
-
get: {
|
|
152
|
-
tags: ["intelligence"],
|
|
153
|
-
summary: "Get governance intelligence summary",
|
|
154
|
-
operationId: "getGovernanceIntelligenceSummary",
|
|
155
|
-
responses: {
|
|
156
|
-
"200": { description: "Governance intelligence summary" }
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
"/v1/role-freeze/package": {
|
|
161
|
-
get: {
|
|
162
|
-
tags: ["intelligence"],
|
|
163
|
-
summary: "Get canonical role-freeze package",
|
|
164
|
-
operationId: "getRoleFreezePackage",
|
|
165
|
-
responses: {
|
|
166
|
-
"200": { description: "Role-freeze package" }
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
"/v1/role-transition": {
|
|
171
|
-
get: {
|
|
172
|
-
tags: ["intelligence"],
|
|
173
|
-
summary: "Get role transition direction package",
|
|
174
|
-
operationId: "getRoleTransition",
|
|
175
|
-
responses: {
|
|
176
|
-
"200": { description: "Role transition package" }
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
"/v1/capability-registry-home": {
|
|
181
|
-
get: {
|
|
182
|
-
tags: ["intelligence"],
|
|
183
|
-
summary: "Get capability registry home direction package",
|
|
184
|
-
operationId: "getCapabilityRegistryHome",
|
|
185
|
-
responses: {
|
|
186
|
-
"200": { description: "Capability registry home package" }
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
|
-
"x-naxytra-contract": {
|
|
192
|
-
product: "xoonya",
|
|
193
|
-
stability: "stable_public_http_layer",
|
|
194
|
-
route_count: 14,
|
|
195
|
-
target_audience: ["builders", "partners", "reviewers"],
|
|
196
|
-
linked_docs: [
|
|
197
|
-
"SERVICE_CONTRACT.md",
|
|
198
|
-
"FINAL_CONTRACT.md",
|
|
199
|
-
"START_HERE.md"
|
|
200
|
-
]
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
function summarizeOpenApiDocument() {
|
|
206
|
-
const document = buildOpenApiDocument();
|
|
207
|
-
return {
|
|
208
|
-
product: "xoonya",
|
|
209
|
-
category: "proof-openapi-contract-summary",
|
|
210
|
-
summary_version: "xoonya-openapi-contract-summary-v1",
|
|
211
|
-
openapi_version: document.openapi,
|
|
212
|
-
info_version: document.info.version,
|
|
213
|
-
path_count: Object.keys(document.paths).length,
|
|
214
|
-
server_count: document.servers.length,
|
|
215
|
-
primary_protocol_lanes: ["http", "proof", "bridge"],
|
|
216
|
-
linked_surfaces: {
|
|
217
|
-
openapi_ref: "/openapi.json",
|
|
218
|
-
service_contract_ref: "SERVICE_CONTRACT.md",
|
|
219
|
-
final_contract_ref: "FINAL_CONTRACT.md"
|
|
220
|
-
}
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
module.exports = {
|
|
225
|
-
buildOpenApiDocument,
|
|
226
|
-
summarizeOpenApiDocument
|
|
227
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const pkg = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildOpenApiDocument() {
|
|
6
|
+
return {
|
|
7
|
+
openapi: "3.1.0",
|
|
8
|
+
info: {
|
|
9
|
+
title: "xoonya Public HTTP Contract",
|
|
10
|
+
version: pkg.version,
|
|
11
|
+
summary: "Proof and review contract for the stable public HTTP layer.",
|
|
12
|
+
description: "This OpenAPI document exposes the stable builder-facing proof, review, and compatibility surfaces that outside builders should rely on first.",
|
|
13
|
+
contact: {
|
|
14
|
+
name: "naxytra"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
jsonSchemaDialect: "https://spec.openapis.org/oas/3.1/dialect/base",
|
|
18
|
+
servers: [
|
|
19
|
+
{
|
|
20
|
+
url: "http://127.0.0.1:4340",
|
|
21
|
+
description: "Local xoonya service"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
tags: [
|
|
25
|
+
{ name: "health", description: "Service health and readiness." },
|
|
26
|
+
{ name: "proof-center", description: "Core proof and review surfaces." },
|
|
27
|
+
{ name: "events", description: "Canonicalization, hashing, and receipt emission." },
|
|
28
|
+
{ name: "proof-bundles", description: "Proof bundle build and verify surfaces." },
|
|
29
|
+
{ name: "compatibility", description: "Compatibility verification surfaces." },
|
|
30
|
+
{ name: "intelligence", description: "Proof-side intelligence and role surfaces." }
|
|
31
|
+
],
|
|
32
|
+
paths: {
|
|
33
|
+
"/health": {
|
|
34
|
+
get: {
|
|
35
|
+
tags: ["health"],
|
|
36
|
+
summary: "Health check",
|
|
37
|
+
operationId: "getHealth",
|
|
38
|
+
responses: {
|
|
39
|
+
"200": { description: "Service health response" }
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"/v1/proof-center": {
|
|
44
|
+
get: {
|
|
45
|
+
tags: ["proof-center"],
|
|
46
|
+
summary: "Get proof center bundle",
|
|
47
|
+
operationId: "getProofCenter",
|
|
48
|
+
responses: {
|
|
49
|
+
"200": { description: "Proof center bundle" }
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"/v1/proof-center/summary": {
|
|
54
|
+
get: {
|
|
55
|
+
tags: ["proof-center"],
|
|
56
|
+
summary: "Get proof center summary",
|
|
57
|
+
operationId: "getProofCenterSummary",
|
|
58
|
+
responses: {
|
|
59
|
+
"200": { description: "Proof center summary" }
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"/v1/events/canonicalize": {
|
|
64
|
+
post: {
|
|
65
|
+
tags: ["events"],
|
|
66
|
+
summary: "Canonicalize event payload",
|
|
67
|
+
operationId: "canonicalizeEvent",
|
|
68
|
+
responses: {
|
|
69
|
+
"200": { description: "Canonical event response" },
|
|
70
|
+
"400": { description: "Invalid event payload" }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"/v1/events/hash": {
|
|
75
|
+
post: {
|
|
76
|
+
tags: ["events"],
|
|
77
|
+
summary: "Hash canonical event payload",
|
|
78
|
+
operationId: "hashEvent",
|
|
79
|
+
responses: {
|
|
80
|
+
"200": { description: "Event hash response" },
|
|
81
|
+
"400": { description: "Invalid event payload" }
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"/v1/receipts/emit": {
|
|
86
|
+
post: {
|
|
87
|
+
tags: ["events"],
|
|
88
|
+
summary: "Emit proof receipt",
|
|
89
|
+
operationId: "emitReceipt",
|
|
90
|
+
responses: {
|
|
91
|
+
"200": { description: "Receipt emission response" },
|
|
92
|
+
"400": { description: "Invalid receipt emission request" }
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"/v1/proof-bundles/build": {
|
|
97
|
+
post: {
|
|
98
|
+
tags: ["proof-bundles"],
|
|
99
|
+
summary: "Build proof bundle",
|
|
100
|
+
operationId: "buildProofBundle",
|
|
101
|
+
responses: {
|
|
102
|
+
"200": { description: "Proof bundle created" },
|
|
103
|
+
"400": { description: "Invalid proof bundle request" }
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"/v1/proof-bundles/verify": {
|
|
108
|
+
post: {
|
|
109
|
+
tags: ["proof-bundles"],
|
|
110
|
+
summary: "Verify proof bundle",
|
|
111
|
+
operationId: "verifyProofBundle",
|
|
112
|
+
responses: {
|
|
113
|
+
"200": { description: "Proof bundle verification result" },
|
|
114
|
+
"400": { description: "Invalid proof verification request" }
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"/v1/receipts/verify": {
|
|
119
|
+
post: {
|
|
120
|
+
tags: ["compatibility"],
|
|
121
|
+
summary: "Verify receipt",
|
|
122
|
+
operationId: "verifyReceipt",
|
|
123
|
+
responses: {
|
|
124
|
+
"200": { description: "Receipt verification result" },
|
|
125
|
+
"400": { description: "Invalid receipt verification request" }
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"/v1/proof-center/bridge/economic-handoff": {
|
|
130
|
+
post: {
|
|
131
|
+
tags: ["proof-center"],
|
|
132
|
+
summary: "Bridge economic handoff into proof review",
|
|
133
|
+
operationId: "bridgeEconomicHandoff",
|
|
134
|
+
responses: {
|
|
135
|
+
"200": { description: "Economic handoff bridge result" },
|
|
136
|
+
"400": { description: "Invalid handoff payload" }
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"/v1/trust-intelligence/summary": {
|
|
141
|
+
get: {
|
|
142
|
+
tags: ["intelligence"],
|
|
143
|
+
summary: "Get trust intelligence summary",
|
|
144
|
+
operationId: "getTrustIntelligenceSummary",
|
|
145
|
+
responses: {
|
|
146
|
+
"200": { description: "Trust intelligence summary" }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"/v1/governance-intelligence/summary": {
|
|
151
|
+
get: {
|
|
152
|
+
tags: ["intelligence"],
|
|
153
|
+
summary: "Get governance intelligence summary",
|
|
154
|
+
operationId: "getGovernanceIntelligenceSummary",
|
|
155
|
+
responses: {
|
|
156
|
+
"200": { description: "Governance intelligence summary" }
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"/v1/role-freeze/package": {
|
|
161
|
+
get: {
|
|
162
|
+
tags: ["intelligence"],
|
|
163
|
+
summary: "Get canonical role-freeze package",
|
|
164
|
+
operationId: "getRoleFreezePackage",
|
|
165
|
+
responses: {
|
|
166
|
+
"200": { description: "Role-freeze package" }
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"/v1/role-transition": {
|
|
171
|
+
get: {
|
|
172
|
+
tags: ["intelligence"],
|
|
173
|
+
summary: "Get role transition direction package",
|
|
174
|
+
operationId: "getRoleTransition",
|
|
175
|
+
responses: {
|
|
176
|
+
"200": { description: "Role transition package" }
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"/v1/capability-registry-home": {
|
|
181
|
+
get: {
|
|
182
|
+
tags: ["intelligence"],
|
|
183
|
+
summary: "Get capability registry home direction package",
|
|
184
|
+
operationId: "getCapabilityRegistryHome",
|
|
185
|
+
responses: {
|
|
186
|
+
"200": { description: "Capability registry home package" }
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"x-naxytra-contract": {
|
|
192
|
+
product: "xoonya",
|
|
193
|
+
stability: "stable_public_http_layer",
|
|
194
|
+
route_count: 14,
|
|
195
|
+
target_audience: ["builders", "partners", "reviewers"],
|
|
196
|
+
linked_docs: [
|
|
197
|
+
"SERVICE_CONTRACT.md",
|
|
198
|
+
"FINAL_CONTRACT.md",
|
|
199
|
+
"START_HERE.md"
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function summarizeOpenApiDocument() {
|
|
206
|
+
const document = buildOpenApiDocument();
|
|
207
|
+
return {
|
|
208
|
+
product: "xoonya",
|
|
209
|
+
category: "proof-openapi-contract-summary",
|
|
210
|
+
summary_version: "xoonya-openapi-contract-summary-v1",
|
|
211
|
+
openapi_version: document.openapi,
|
|
212
|
+
info_version: document.info.version,
|
|
213
|
+
path_count: Object.keys(document.paths).length,
|
|
214
|
+
server_count: document.servers.length,
|
|
215
|
+
primary_protocol_lanes: ["http", "proof", "bridge"],
|
|
216
|
+
linked_surfaces: {
|
|
217
|
+
openapi_ref: "/openapi.json",
|
|
218
|
+
service_contract_ref: "SERVICE_CONTRACT.md",
|
|
219
|
+
final_contract_ref: "FINAL_CONTRACT.md"
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
module.exports = {
|
|
225
|
+
buildOpenApiDocument,
|
|
226
|
+
summarizeOpenApiDocument
|
|
227
|
+
};
|