xytara 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 +67 -58
- package/ADAPTER_START_HERE.md +56 -56
- package/CARRIED_HANDOFF_DEMO.md +60 -60
- package/EXAMPLE_PATHS.md +53 -53
- package/FINAL_CONTRACT.md +498 -498
- package/LICENSE +201 -201
- package/NOTICE +3 -3
- package/PARTNER_READY_PATH.md +71 -71
- package/PUBLIC_DEMO_SCRIPT.md +78 -78
- package/README.md +6 -1
- package/REAL_PAYMENT_SETUP.md +32 -3
- package/RELEASE_NOTES.md +14 -14
- package/SERVICE_CONTRACT.md +419 -419
- package/START_HERE.md +1 -1
- package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -61
- package/TERMINOLOGY.md +50 -50
- package/WHY_XYTARA_XOONYA.md +63 -63
- package/XT1_EXECUTION_TRUTH_STANDARD.md +78 -78
- package/XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md +75 -75
- package/XYTARA_AUTONOMOUS_ENTRY_MODEL.md +124 -124
- package/XYTARA_DEFAULT_PATH_MODEL.md +84 -84
- package/XYTARA_EXECUTION_TRUTH_MODEL.md +171 -171
- package/XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md +68 -68
- package/adapters/AUTHORING_GUIDE.md +243 -243
- package/adapters/ONBOARDING_POSTURE.md +61 -61
- package/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md +84 -84
- package/adapters/adapter-manifest.schema.json +283 -283
- package/adapters/examples/example-execution-adapter.js +61 -61
- package/adapters/examples/example-execution-adapter.manifest.json +81 -81
- package/adapters/examples/example-settlement-adapter.js +55 -55
- package/adapters/examples/example-settlement-adapter.manifest.json +78 -78
- package/adapters/examples/example-third-party-acp-registration.submission-bundle.json +124 -124
- package/adapters/examples/example-third-party-erc8004-registration.submission-bundle.json +121 -121
- package/adapters/examples/example-third-party-identity-registration.certification-pack.json +22 -22
- package/adapters/examples/example-third-party-identity-registration.record.json +26 -26
- package/adapters/examples/example-third-party-identity-registration.submission-bundle.json +126 -126
- package/adapters/examples/example-third-party-langchain-registration.submission-bundle.json +124 -124
- package/adapters/examples/example-third-party-mpp-registration.submission-bundle.json +120 -120
- package/adapters/examples/example-third-party-registration.certification-pack.json +22 -22
- package/adapters/examples/example-third-party-registration.record.json +28 -28
- package/adapters/examples/example-third-party-registration.submission-bundle.json +126 -126
- package/adapters/examples/example-third-party-settlement-registration.certification-pack.json +22 -22
- package/adapters/examples/example-third-party-settlement-registration.record.json +26 -26
- package/adapters/examples/example-third-party-settlement-registration.submission-bundle.json +127 -127
- package/adapters/examples/langchain-reference-execution-adapter.js +81 -81
- package/adapters/examples/langchain-reference-execution-adapter.manifest.json +79 -79
- package/adapters/examples/langgraph-reference-execution-adapter.js +81 -81
- package/adapters/examples/langgraph-reference-execution-adapter.manifest.json +79 -79
- package/adapters/examples/minimal-third-party-execution-adapter.js +61 -61
- package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -79
- package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -26
- package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -22
- package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -126
- package/adapters/integration-certification-pack.schema.json +82 -82
- package/adapters/integration-registration-record.schema.json +114 -114
- package/adapters/integration-submission-bundle-set.schema.json +39 -39
- package/adapters/integration-submission-bundle.schema.json +34 -34
- package/adapters/interfaces.js +56 -56
- package/bin/xytara-first-run.js +244 -244
- package/bin/xytara-release.js +1429 -1429
- package/bin/xytara-run.js +186 -186
- package/bin/xytara.js +80 -80
- package/client.js +3 -3
- package/examples/_demo_env.js +40 -0
- package/examples/adapter_review_walkthrough.js +54 -53
- package/examples/export_carried_handoff.js +81 -80
- package/examples/funded_runtime_walkthrough.js +71 -70
- package/examples/generated.carried-handoff.json +30 -0
- package/examples/partner_launch_walkthrough.js +44 -43
- package/examples/quickstart.js +3256 -3255
- package/fixtures/catalog.js +1134 -1134
- package/index.js +395 -395
- package/integrations/dispatch.js +276 -276
- package/integrations/registry-snapshot.schema.json +36 -36
- package/integrations/registry.js +2261 -2261
- package/integrations/views.js +28 -28
- package/lib/a2a_lane_contract.js +104 -104
- package/lib/a2c_lane_contract.js +111 -111
- package/lib/account_auth.js +518 -518
- package/lib/acp_lane_contract.js +54 -54
- package/lib/activity_audit_contract.js +322 -322
- package/lib/adapter_certification_contract.js +130 -130
- package/lib/adapter_depth_contract.js +156 -156
- package/lib/adapter_pack.js +118 -118
- package/lib/adapter_partner_pack.js +89 -89
- package/lib/adapter_promotion_pack.js +89 -89
- package/lib/adapter_protocol_truth_contract.js +229 -229
- package/lib/announcement_pack.js +61 -61
- package/lib/artifact_distribution_lane_contract.js +54 -54
- package/lib/asyncapi_contract.js +150 -150
- package/lib/auth_interop_contract.js +80 -80
- package/lib/authority_binding_lifecycle_contract.js +182 -182
- package/lib/autonomous_entry_contract.js +409 -409
- package/lib/bolt_lane_contract.js +55 -55
- package/lib/bolt_payment_front.js +172 -172
- package/lib/business_cockpit.js +378 -378
- package/lib/capability_execution_truth.js +272 -272
- package/lib/capability_registry.js +633 -633
- package/lib/catalog_contract.js +966 -966
- package/lib/catalog_family_model.js +193 -193
- package/lib/catalog_views.js +55 -55
- package/lib/checkout_event_security.js +142 -142
- package/lib/cloudevents_contract.js +80 -80
- package/lib/command_flow.js +411 -406
- package/lib/commerce_artifacts.js +503 -503
- package/lib/commerce_authority.js +449 -449
- package/lib/commerce_cases.js +317 -317
- package/lib/commerce_checkout.js +509 -509
- package/lib/commerce_client.js +7687 -7676
- package/lib/commerce_coordination.js +346 -346
- package/lib/commerce_economics.js +4017 -4016
- package/lib/commerce_identity.js +578 -578
- package/lib/commerce_quotes.js +237 -237
- package/lib/commerce_reports.js +14461 -14461
- package/lib/commerce_runtime.js +315 -315
- package/lib/commerce_shell.js +257 -257
- package/lib/crypto_agility_matrix.js +125 -125
- package/lib/default_path_contract.js +412 -412
- package/lib/delivery_summary_contract.js +95 -95
- package/lib/ecosystem_entry.js +64 -64
- package/lib/erc8004_lane_contract.js +65 -65
- package/lib/event_system_lane_contract.js +75 -75
- package/lib/execution_truth_contract.js +234 -234
- package/lib/external_credit_bridge.js +142 -142
- package/lib/external_execution_runtime.js +132 -132
- package/lib/feature_control_lane_contract.js +54 -54
- package/lib/first_run_conversion_contract.js +290 -290
- package/lib/framework_lane_contract.js +89 -89
- package/lib/framework_provider_promotion.js +235 -235
- package/lib/full_catalog_contract.js +525 -525
- package/lib/go_live_operator_pack.js +391 -391
- package/lib/http_transport.js +73 -73
- package/lib/identity_auth.js +175 -175
- package/lib/identity_interop_contract.js +82 -82
- package/lib/integration_matrix_contract.js +102 -102
- package/lib/l402_lane_contract.js +55 -55
- package/lib/l402_payment_front.js +192 -192
- package/lib/launch_narrative.js +53 -53
- package/lib/lifecycle_continuity_contract.js +115 -115
- package/lib/machine_identity_registry_contract.js +199 -199
- package/lib/major_rails_lane_contract.js +150 -150
- package/lib/market_lane_contract.js +467 -467
- package/lib/market_lane_depth_contract.js +182 -182
- package/lib/market_lane_promotion_contract.js +210 -210
- package/lib/market_lane_trace_contract.js +278 -278
- package/lib/mcp_lane_contract.js +137 -137
- package/lib/network_transport.js +110 -110
- package/lib/offline_verifiability_recovery_contract.js +155 -155
- package/lib/openapi_contract.js +296 -296
- package/lib/operational_receipt_contract.js +165 -165
- package/lib/operator_intelligence.js +407 -407
- package/lib/outreach_copy_pack.js +51 -51
- package/lib/outreach_message_pack.js +71 -71
- package/lib/outreach_proof.js +71 -71
- package/lib/outreach_target_pack.js +60 -60
- package/lib/partner_intelligence.js +105 -105
- package/lib/payment_config.js +239 -191
- package/lib/payment_front_registry.js +53 -53
- package/lib/payment_protocol_contract.js +165 -165
- package/lib/payment_rail_truth_contract.js +324 -324
- package/lib/payment_verification.js +312 -264
- 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_runtime_pack.js +74 -74
- package/lib/phase_10_ecosystem_backlog_triage_runtime_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 +66 -66
- package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -74
- package/lib/phase_1_claude_mcp_pack.js +60 -60
- package/lib/phase_1_claude_mcp_runtime_pack.js +52 -52
- package/lib/phase_1_ecosystem_pack.js +67 -67
- package/lib/phase_1_openai_codex_pack.js +60 -60
- package/lib/phase_1_openai_codex_runtime_pack.js +52 -52
- package/lib/phase_2_base_runtime_pack.js +71 -71
- package/lib/phase_2_base_usdc_runtime_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_runtime_pack.js +70 -70
- package/lib/phase_2_evm_base_runtime_pack.js +73 -73
- package/lib/phase_2_evm_runtime_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_runtime_pack.js +71 -71
- package/lib/phase_3_brc_runtime_pack.js +81 -81
- package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -83
- package/lib/phase_3_closeout_pack.js +62 -62
- package/lib/phase_3_completion_pack.js +94 -94
- 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_runtime_pack.js +81 -81
- package/lib/phase_3_native_bsv_pack.js +91 -91
- package/lib/phase_3_native_continuity_pack.js +82 -82
- package/lib/phase_4_attestation_runtime_pack.js +75 -75
- package/lib/phase_4_closeout_pack.js +45 -45
- package/lib/phase_4_completion_pack.js +94 -94
- 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_runtime_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_runtime_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_runtime_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_constellation_dag_runtime_pack.js +76 -76
- package/lib/phase_5_decision_record_pack.js +54 -54
- package/lib/phase_5_decision_resolution_pack.js +45 -45
- package/lib/phase_5_digibyte_dgb_runtime_pack.js +76 -76
- 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_hedera_hbar_runtime_pack.js +76 -76
- package/lib/phase_5_kaspa_kas_runtime_pack.js +76 -76
- package/lib/phase_5_major_rails_continuity_pack.js +86 -86
- package/lib/phase_5_major_rails_pack.js +110 -110
- package/lib/phase_5_metal_runtime_pack.js +76 -76
- package/lib/phase_5_polkadot_dot_runtime_pack.js +76 -76
- package/lib/phase_5_proton_xpr_runtime_pack.js +76 -76
- package/lib/phase_5_solana_runtime_pack.js +76 -76
- package/lib/phase_6_autogen_runtime_pack.js +72 -72
- 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_runtime_pack.js +72 -72
- package/lib/phase_6_langgraph_runtime_pack.js +72 -72
- package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -72
- 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_runtime_pack.js +74 -74
- package/lib/phase_7_mqtt_runtime_pack.js +74 -74
- package/lib/phase_7_nats_runtime_pack.js +74 -74
- package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -74
- 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_runtime_pack.js +74 -74
- package/lib/phase_8_external_result_import_runtime_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_runtime_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_runtime_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_runtime_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_runtime_pack.js +74 -74
- package/lib/phase_program_pack.js +120 -120
- package/lib/pricing_optimization_contract.js +775 -775
- package/lib/protocol_lane_contract.js +117 -117
- package/lib/provenance_lane_contract.js +54 -54
- package/lib/provider_lane_contract.js +240 -240
- package/lib/provider_runtime_journey_contract.js +183 -183
- package/lib/public_surface_policy_contract.js +111 -111
- package/lib/publish_plan.js +51 -51
- package/lib/record_queries.js +48 -48
- package/lib/release_candidate.js +50 -50
- package/lib/release_center.js +1093 -1093
- package/lib/release_history.js +205 -205
- package/lib/release_manifest.js +113 -113
- package/lib/release_pack.js +453 -453
- package/lib/request_rate_limit.js +144 -144
- package/lib/resource_views.js +31 -31
- package/lib/revenue_launch_path_contract.js +326 -326
- package/lib/route_matchers.js +34 -34
- package/lib/route_params.js +19 -19
- package/lib/runtime_bridge.js +124 -124
- package/lib/runtime_operations_worker.js +282 -282
- package/lib/runtime_state_store.js +354 -354
- package/lib/settlement_lane_contract.js +111 -111
- package/lib/shared_signals_lane_contract.js +54 -54
- package/lib/signed_audit_provenance_contract.js +83 -83
- package/lib/soft_launch_pack.js +78 -78
- package/lib/stablecoin_lane_contract.js +76 -76
- package/lib/stripe_mpp_lane_contract.js +96 -96
- package/lib/stripe_mpp_payment_front.js +158 -158
- package/lib/telemetry_lane_contract.js +54 -54
- package/lib/treasury_destinations_contract.js +764 -764
- package/lib/treasury_egress_policy_contract.js +91 -91
- package/lib/treasury_lane_contract.js +84 -84
- package/lib/trust_portability_boundary_contract.js +72 -72
- package/lib/x402_facilitator.js +155 -0
- package/lib/x402_lane_contract.js +118 -118
- package/package.json +106 -105
- package/scripts/registry_cli.js +275 -275
- package/scripts/verify_adapters.js +554 -554
- package/scripts/verify_all.js +4962 -4962
- package/scripts/verify_control_plane_contracts.js +34 -34
- package/scripts/verify_control_plane_routes.js +70 -70
- package/scripts/verify_delivery_summary.js +112 -112
- package/scripts/verify_examples.js +19 -19
- package/scripts/verify_first_run_conversions.js +81 -81
- package/scripts/verify_framework_provider_promotion.js +152 -152
- package/scripts/verify_full_catalog.js +174 -174
- package/scripts/verify_integrations.js +620 -620
- package/scripts/verify_lifecycle_continuity.js +96 -96
- package/scripts/verify_market_lane_depth.js +94 -94
- package/scripts/verify_market_lane_promotion.js +103 -103
- package/scripts/verify_market_lane_traces.js +98 -98
- package/scripts/verify_market_lanes.js +102 -102
- package/scripts/verify_operator_observability_boundary.js +83 -83
- package/scripts/verify_pricing_experiment_plan.js +124 -124
- package/scripts/verify_provider_runtime_breadth.js +109 -109
- package/scripts/verify_provider_runtime_journeys.js +111 -111
- package/scripts/verify_revenue_launch_paths.js +105 -105
- package/scripts/verify_runtime_durability.js +52 -52
- package/scripts/verify_service.js +15410 -15250
- package/scripts/verify_tooling.js +1412 -1412
- package/scripts/verify_treasury_public_boundary.js +97 -97
- package/scripts/verify_x402_facilitator.js +174 -0
- package/server.js +11117 -11006
- package/.env.production.checklist +0 -77
- package/.env.production.template +0 -54
- package/.github/workflows/publish-mcp-executor.yml +0 -43
- package/ADAPTER_PARTNER_PATH.md +0 -47
- package/ADAPTER_PROMOTION_START_HERE.md +0 -44
- package/BOLT_BINDINGS.production.worksheet.json +0 -31
- package/EXECUTION_TARGETS.production.worksheet.json +0 -73
- package/GO_LIVE_OPERATOR_PACK.md +0 -412
- package/L402_BINDINGS.production.worksheet.json +0 -30
- package/OPERATIONS_RUNBOOK.md +0 -115
- package/OPERATOR_START_HERE.md +0 -63
- package/OUTREACH_MESSAGES.md +0 -19
- package/OUTREACH_START_HERE.md +0 -36
- package/PRODUCTION_MANUAL_CLOSEOUT_SEQUENCE.md +0 -172
- package/PROGRAM_COMPLETE_RELEASE.md +0 -63
- package/PROGRAM_STATUS.md +0 -57
- package/PUBLISH_PLAN.md +0 -26
- package/RELEASE_CHECKLIST.md +0 -16
- package/SOFT_LAUNCH_KIT.md +0 -47
- package/services/mcp-execution-target/DISCOVERY_REGISTRY_PLAYBOOK.md +0 -141
- package/services/mcp-execution-target/README.md +0 -319
- package/services/mcp-execution-target/package.json +0 -14
- package/services/mcp-execution-target/server.js +0 -1031
- package/services/mcp-execution-target/server.json +0 -16
- package/services/mcp-execution-target/verify.js +0 -308
|
@@ -1,244 +1,244 @@
|
|
|
1
|
-
# Adapter Authoring Guide
|
|
2
|
-
|
|
3
|
-
This guide describes the minimum process for a third party to build an adapter on top of `xytara`.
|
|
4
|
-
|
|
5
|
-
## 1. Choose an adapter class
|
|
6
|
-
|
|
7
|
-
Supported starter classes:
|
|
8
|
-
|
|
9
|
-
- `execution_adapter`
|
|
10
|
-
- `payment_rail_adapter`
|
|
11
|
-
- `settlement_adapter`
|
|
12
|
-
- `agent_protocol_adapter`
|
|
13
|
-
- `identity_registry_adapter`
|
|
14
|
-
|
|
15
|
-
Pick the class that matches the boundary you are integrating.
|
|
16
|
-
|
|
17
|
-
## 2. Start from the manifest schema
|
|
18
|
-
|
|
19
|
-
Use:
|
|
20
|
-
|
|
21
|
-
- [adapter-manifest.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/adapter-manifest.schema.json)
|
|
22
|
-
- [integration-registration-record.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-registration-record.schema.json)
|
|
23
|
-
- [integration-certification-pack.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-certification-pack.schema.json)
|
|
24
|
-
- [integration-submission-bundle.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle.schema.json)
|
|
25
|
-
- [integration-submission-bundle-set.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle-set.schema.json)
|
|
26
|
-
|
|
27
|
-
Every adapter must publish a manifest that defines:
|
|
28
|
-
|
|
29
|
-
- adapter identity
|
|
30
|
-
- adapter class
|
|
31
|
-
- interface version
|
|
32
|
-
- registration contract
|
|
33
|
-
- certification contract
|
|
34
|
-
- compatibility
|
|
35
|
-
- health contract
|
|
36
|
-
- idempotency contract
|
|
37
|
-
- failure contract
|
|
38
|
-
- proof contract
|
|
39
|
-
|
|
40
|
-
## 3. Implement the interface contract
|
|
41
|
-
|
|
42
|
-
Use:
|
|
43
|
-
|
|
44
|
-
- [interfaces.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/interfaces.js)
|
|
45
|
-
|
|
46
|
-
All adapters must provide:
|
|
47
|
-
|
|
48
|
-
- `manifest`
|
|
49
|
-
- `getHealth()`
|
|
50
|
-
- `describeCapabilities()`
|
|
51
|
-
|
|
52
|
-
Execution adapters should also provide:
|
|
53
|
-
|
|
54
|
-
- `preview()`
|
|
55
|
-
- `execute()`
|
|
56
|
-
|
|
57
|
-
Settlement adapters should also provide:
|
|
58
|
-
|
|
59
|
-
- `settle()`
|
|
60
|
-
- `getFinality()`
|
|
61
|
-
|
|
62
|
-
## 4. Start from an example
|
|
63
|
-
|
|
64
|
-
Current examples:
|
|
65
|
-
|
|
66
|
-
- [example-execution-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.manifest.json)
|
|
67
|
-
- [example-execution-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.js)
|
|
68
|
-
- [example-settlement-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.manifest.json)
|
|
69
|
-
- [example-settlement-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.js)
|
|
70
|
-
- [example-third-party-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.submission-bundle.json)
|
|
71
|
-
- [example-third-party-acp-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-acp-registration.submission-bundle.json)
|
|
72
|
-
- [example-third-party-identity-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-identity-registration.submission-bundle.json)
|
|
73
|
-
- [example-third-party-erc8004-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-erc8004-registration.submission-bundle.json)
|
|
74
|
-
- [example-third-party-langchain-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-langchain-registration.submission-bundle.json)
|
|
75
|
-
- [example-third-party-mpp-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-mpp-registration.submission-bundle.json)
|
|
76
|
-
- [example-third-party-settlement-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.submission-bundle.json)
|
|
77
|
-
|
|
78
|
-
If you want the shortest reviewable end-to-end path, use:
|
|
79
|
-
|
|
80
|
-
- [THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
|
|
81
|
-
|
|
82
|
-
## 5. Run certification
|
|
83
|
-
|
|
84
|
-
Run:
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
npm run verify:adapters
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
That currently validates:
|
|
91
|
-
|
|
92
|
-
- manifest shape
|
|
93
|
-
- interface version
|
|
94
|
-
- manifest/implementation agreement
|
|
95
|
-
- representative health/capability behavior
|
|
96
|
-
- representative method behavior for example adapters
|
|
97
|
-
|
|
98
|
-
## 6. Declare registration posture
|
|
99
|
-
|
|
100
|
-
Each manifest should also declare how the integration is intended to enter runtime selection:
|
|
101
|
-
|
|
102
|
-
- `registration_contract.integration_id`
|
|
103
|
-
- `registration_contract.integration_maturity`
|
|
104
|
-
- `registration_contract.bundled`
|
|
105
|
-
- `registration_contract.default_selection_enabled`
|
|
106
|
-
- optional selection controls such as priority and explicit-selection posture
|
|
107
|
-
|
|
108
|
-
This keeps registration explicit and makes future third-party promotion predictable.
|
|
109
|
-
|
|
110
|
-
## 7. Declare certification posture
|
|
111
|
-
|
|
112
|
-
Each manifest should say what level of trust it is claiming:
|
|
113
|
-
|
|
114
|
-
- `reference_example`
|
|
115
|
-
- `self_attested`
|
|
116
|
-
- `certified`
|
|
117
|
-
|
|
118
|
-
and which checks that claim is based on through:
|
|
119
|
-
|
|
120
|
-
- `certification_contract.certification_scope`
|
|
121
|
-
- `certification_contract.verified_with`
|
|
122
|
-
- `certification_contract.last_verified_contract_version`
|
|
123
|
-
|
|
124
|
-
This lets discovery and promotion make trust visible instead of hidden.
|
|
125
|
-
|
|
126
|
-
## 8. Prepare a registration record
|
|
127
|
-
|
|
128
|
-
Before an adapter is promoted into staging or production, create a registration record that captures:
|
|
129
|
-
|
|
130
|
-
- registration state
|
|
131
|
-
- maturity
|
|
132
|
-
- certification state
|
|
133
|
-
- bundled vs third-party posture
|
|
134
|
-
- default-selection posture
|
|
135
|
-
- who registered it and when
|
|
136
|
-
|
|
137
|
-
Use:
|
|
138
|
-
|
|
139
|
-
- [integration-registration-record.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-registration-record.schema.json)
|
|
140
|
-
- [example-third-party-registration.record.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.record.json)
|
|
141
|
-
- [example-third-party-settlement-registration.record.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.record.json)
|
|
142
|
-
|
|
143
|
-
This keeps promotion explicit and gives future registry services a stable data shape to adopt.
|
|
144
|
-
|
|
145
|
-
Toolkit helpers are also available in the package surface for registry-side tooling:
|
|
146
|
-
|
|
147
|
-
- `validateIntegrationRegistration(...)`
|
|
148
|
-
- `validateIntegrationCertificationPack(...)`
|
|
149
|
-
- `validateIntegrationSubmission(...)`
|
|
150
|
-
- `importRegisteredIntegration(...)`
|
|
151
|
-
- `createIntegrationRegistrySnapshot(...)`
|
|
152
|
-
- `exportIntegrationRegistrySnapshot(...)`
|
|
153
|
-
- `validateIntegrationSubmissionBundle(...)`
|
|
154
|
-
- `createIntegrationSubmissionBundle(...)`
|
|
155
|
-
- `importIntegrationSubmissionBundle(...)`
|
|
156
|
-
- `exportIntegrationSubmissionBundles(...)`
|
|
157
|
-
- `createIntegrationRegistrySnapshotFromBundles(...)`
|
|
158
|
-
- `createIntegrationSubmissionBundleSet(...)`
|
|
159
|
-
- `validateIntegrationSubmissionBundleSet(...)`
|
|
160
|
-
- `exportIntegrationSubmissionBundleSet(...)`
|
|
161
|
-
|
|
162
|
-
That means future registry automation can validate and normalize a manifest + registration-record pair without reimplementing the rules.
|
|
163
|
-
|
|
164
|
-
## 9. Prepare a certification pack
|
|
165
|
-
|
|
166
|
-
Before a staged or production registration is trusted, assemble a certification pack that records:
|
|
167
|
-
|
|
168
|
-
- claimed certification state
|
|
169
|
-
- certification scope
|
|
170
|
-
- verification evidence and reports
|
|
171
|
-
- submission timestamp and operator
|
|
172
|
-
|
|
173
|
-
Use:
|
|
174
|
-
|
|
175
|
-
- [integration-certification-pack.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-certification-pack.schema.json)
|
|
176
|
-
- [example-third-party-registration.certification-pack.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.certification-pack.json)
|
|
177
|
-
- [example-third-party-settlement-registration.certification-pack.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.certification-pack.json)
|
|
178
|
-
|
|
179
|
-
This keeps certification evidence explicit instead of leaving it as an undocumented side channel.
|
|
180
|
-
|
|
181
|
-
## 10. Assemble a submission bundle
|
|
182
|
-
|
|
183
|
-
When you want one reusable handoff artifact for staging or review, combine:
|
|
184
|
-
|
|
185
|
-
- manifest
|
|
186
|
-
- registration record
|
|
187
|
-
- certification pack
|
|
188
|
-
- optional normalized snapshot entry
|
|
189
|
-
|
|
190
|
-
Use:
|
|
191
|
-
|
|
192
|
-
- [integration-submission-bundle.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle.schema.json)
|
|
193
|
-
- [example-third-party-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.submission-bundle.json)
|
|
194
|
-
- [example-third-party-settlement-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.submission-bundle.json)
|
|
195
|
-
|
|
196
|
-
This gives future integrations one predictable artifact for authoring review, staging review, or registry import.
|
|
197
|
-
|
|
198
|
-
Public posture rule:
|
|
199
|
-
|
|
200
|
-
- native support means `xytara` ships a bundled first-party integration in the registry
|
|
201
|
-
- adapter support means the public contract and authoring path are available for that class or lane
|
|
202
|
-
- third-party plugin posture means the integration should normally enter through explicit submission bundles and staged registration before default rollout
|
|
203
|
-
|
|
204
|
-
Bundle-driven staging/export is also supported, so a set of reviewed third-party integrations can be turned into a normalized registry snapshot without custom glue code.
|
|
205
|
-
|
|
206
|
-
If you need to hand off multiple reviewed integrations together, package them as a bundle set rather than inventing a one-off folder convention each time.
|
|
207
|
-
|
|
208
|
-
Practical rule:
|
|
209
|
-
|
|
210
|
-
- staged third-party integrations can be visible in discovery
|
|
211
|
-
- staged third-party integrations should normally require explicit selection
|
|
212
|
-
- becoming visible is not the same thing as becoming a default
|
|
213
|
-
|
|
214
|
-
That keeps reviewable integrations easy to inspect without letting them quietly replace bundled defaults.
|
|
215
|
-
|
|
216
|
-
## 11. Bundle-set review flow
|
|
217
|
-
|
|
218
|
-
For a small multi-integration review pass, the clean sequence is:
|
|
219
|
-
|
|
220
|
-
1. validate each submission bundle
|
|
221
|
-
2. export a submission bundle set
|
|
222
|
-
3. derive a registry snapshot from that reviewed set
|
|
223
|
-
4. only then consider staging or production registration
|
|
224
|
-
|
|
225
|
-
The repo-local CLI supports that review loop directly when working from a cloned `xytara` repository:
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
node scripts/registry_cli.js validate-bundle --example protocol
|
|
229
|
-
node scripts/registry_cli.js validate-bundle --example identity
|
|
230
|
-
node scripts/registry_cli.js validate-bundle --example settlement
|
|
231
|
-
node scripts/registry_cli.js export-bundle-set --notes "review batch"
|
|
232
|
-
node scripts/registry_cli.js export-snapshot
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## 12. Keep the boundary clean
|
|
236
|
-
|
|
237
|
-
Adapters should integrate external systems without redefining:
|
|
238
|
-
|
|
239
|
-
- proof semantics
|
|
240
|
-
- quote semantics
|
|
241
|
-
- core commerce lifecycle semantics
|
|
242
|
-
|
|
243
|
-
They translate external systems into the stack contract. They do not replace the stack contract.
|
|
1
|
+
# Adapter Authoring Guide
|
|
2
|
+
|
|
3
|
+
This guide describes the minimum process for a third party to build an adapter on top of `xytara`.
|
|
4
|
+
|
|
5
|
+
## 1. Choose an adapter class
|
|
6
|
+
|
|
7
|
+
Supported starter classes:
|
|
8
|
+
|
|
9
|
+
- `execution_adapter`
|
|
10
|
+
- `payment_rail_adapter`
|
|
11
|
+
- `settlement_adapter`
|
|
12
|
+
- `agent_protocol_adapter`
|
|
13
|
+
- `identity_registry_adapter`
|
|
14
|
+
|
|
15
|
+
Pick the class that matches the boundary you are integrating.
|
|
16
|
+
|
|
17
|
+
## 2. Start from the manifest schema
|
|
18
|
+
|
|
19
|
+
Use:
|
|
20
|
+
|
|
21
|
+
- [adapter-manifest.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/adapter-manifest.schema.json)
|
|
22
|
+
- [integration-registration-record.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-registration-record.schema.json)
|
|
23
|
+
- [integration-certification-pack.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-certification-pack.schema.json)
|
|
24
|
+
- [integration-submission-bundle.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle.schema.json)
|
|
25
|
+
- [integration-submission-bundle-set.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle-set.schema.json)
|
|
26
|
+
|
|
27
|
+
Every adapter must publish a manifest that defines:
|
|
28
|
+
|
|
29
|
+
- adapter identity
|
|
30
|
+
- adapter class
|
|
31
|
+
- interface version
|
|
32
|
+
- registration contract
|
|
33
|
+
- certification contract
|
|
34
|
+
- compatibility
|
|
35
|
+
- health contract
|
|
36
|
+
- idempotency contract
|
|
37
|
+
- failure contract
|
|
38
|
+
- proof contract
|
|
39
|
+
|
|
40
|
+
## 3. Implement the interface contract
|
|
41
|
+
|
|
42
|
+
Use:
|
|
43
|
+
|
|
44
|
+
- [interfaces.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/interfaces.js)
|
|
45
|
+
|
|
46
|
+
All adapters must provide:
|
|
47
|
+
|
|
48
|
+
- `manifest`
|
|
49
|
+
- `getHealth()`
|
|
50
|
+
- `describeCapabilities()`
|
|
51
|
+
|
|
52
|
+
Execution adapters should also provide:
|
|
53
|
+
|
|
54
|
+
- `preview()`
|
|
55
|
+
- `execute()`
|
|
56
|
+
|
|
57
|
+
Settlement adapters should also provide:
|
|
58
|
+
|
|
59
|
+
- `settle()`
|
|
60
|
+
- `getFinality()`
|
|
61
|
+
|
|
62
|
+
## 4. Start from an example
|
|
63
|
+
|
|
64
|
+
Current examples:
|
|
65
|
+
|
|
66
|
+
- [example-execution-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.manifest.json)
|
|
67
|
+
- [example-execution-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.js)
|
|
68
|
+
- [example-settlement-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.manifest.json)
|
|
69
|
+
- [example-settlement-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.js)
|
|
70
|
+
- [example-third-party-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.submission-bundle.json)
|
|
71
|
+
- [example-third-party-acp-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-acp-registration.submission-bundle.json)
|
|
72
|
+
- [example-third-party-identity-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-identity-registration.submission-bundle.json)
|
|
73
|
+
- [example-third-party-erc8004-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-erc8004-registration.submission-bundle.json)
|
|
74
|
+
- [example-third-party-langchain-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-langchain-registration.submission-bundle.json)
|
|
75
|
+
- [example-third-party-mpp-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-mpp-registration.submission-bundle.json)
|
|
76
|
+
- [example-third-party-settlement-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.submission-bundle.json)
|
|
77
|
+
|
|
78
|
+
If you want the shortest reviewable end-to-end path, use:
|
|
79
|
+
|
|
80
|
+
- [THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
|
|
81
|
+
|
|
82
|
+
## 5. Run certification
|
|
83
|
+
|
|
84
|
+
Run:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm run verify:adapters
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
That currently validates:
|
|
91
|
+
|
|
92
|
+
- manifest shape
|
|
93
|
+
- interface version
|
|
94
|
+
- manifest/implementation agreement
|
|
95
|
+
- representative health/capability behavior
|
|
96
|
+
- representative method behavior for example adapters
|
|
97
|
+
|
|
98
|
+
## 6. Declare registration posture
|
|
99
|
+
|
|
100
|
+
Each manifest should also declare how the integration is intended to enter runtime selection:
|
|
101
|
+
|
|
102
|
+
- `registration_contract.integration_id`
|
|
103
|
+
- `registration_contract.integration_maturity`
|
|
104
|
+
- `registration_contract.bundled`
|
|
105
|
+
- `registration_contract.default_selection_enabled`
|
|
106
|
+
- optional selection controls such as priority and explicit-selection posture
|
|
107
|
+
|
|
108
|
+
This keeps registration explicit and makes future third-party promotion predictable.
|
|
109
|
+
|
|
110
|
+
## 7. Declare certification posture
|
|
111
|
+
|
|
112
|
+
Each manifest should say what level of trust it is claiming:
|
|
113
|
+
|
|
114
|
+
- `reference_example`
|
|
115
|
+
- `self_attested`
|
|
116
|
+
- `certified`
|
|
117
|
+
|
|
118
|
+
and which checks that claim is based on through:
|
|
119
|
+
|
|
120
|
+
- `certification_contract.certification_scope`
|
|
121
|
+
- `certification_contract.verified_with`
|
|
122
|
+
- `certification_contract.last_verified_contract_version`
|
|
123
|
+
|
|
124
|
+
This lets discovery and promotion make trust visible instead of hidden.
|
|
125
|
+
|
|
126
|
+
## 8. Prepare a registration record
|
|
127
|
+
|
|
128
|
+
Before an adapter is promoted into staging or production, create a registration record that captures:
|
|
129
|
+
|
|
130
|
+
- registration state
|
|
131
|
+
- maturity
|
|
132
|
+
- certification state
|
|
133
|
+
- bundled vs third-party posture
|
|
134
|
+
- default-selection posture
|
|
135
|
+
- who registered it and when
|
|
136
|
+
|
|
137
|
+
Use:
|
|
138
|
+
|
|
139
|
+
- [integration-registration-record.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-registration-record.schema.json)
|
|
140
|
+
- [example-third-party-registration.record.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.record.json)
|
|
141
|
+
- [example-third-party-settlement-registration.record.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.record.json)
|
|
142
|
+
|
|
143
|
+
This keeps promotion explicit and gives future registry services a stable data shape to adopt.
|
|
144
|
+
|
|
145
|
+
Toolkit helpers are also available in the package surface for registry-side tooling:
|
|
146
|
+
|
|
147
|
+
- `validateIntegrationRegistration(...)`
|
|
148
|
+
- `validateIntegrationCertificationPack(...)`
|
|
149
|
+
- `validateIntegrationSubmission(...)`
|
|
150
|
+
- `importRegisteredIntegration(...)`
|
|
151
|
+
- `createIntegrationRegistrySnapshot(...)`
|
|
152
|
+
- `exportIntegrationRegistrySnapshot(...)`
|
|
153
|
+
- `validateIntegrationSubmissionBundle(...)`
|
|
154
|
+
- `createIntegrationSubmissionBundle(...)`
|
|
155
|
+
- `importIntegrationSubmissionBundle(...)`
|
|
156
|
+
- `exportIntegrationSubmissionBundles(...)`
|
|
157
|
+
- `createIntegrationRegistrySnapshotFromBundles(...)`
|
|
158
|
+
- `createIntegrationSubmissionBundleSet(...)`
|
|
159
|
+
- `validateIntegrationSubmissionBundleSet(...)`
|
|
160
|
+
- `exportIntegrationSubmissionBundleSet(...)`
|
|
161
|
+
|
|
162
|
+
That means future registry automation can validate and normalize a manifest + registration-record pair without reimplementing the rules.
|
|
163
|
+
|
|
164
|
+
## 9. Prepare a certification pack
|
|
165
|
+
|
|
166
|
+
Before a staged or production registration is trusted, assemble a certification pack that records:
|
|
167
|
+
|
|
168
|
+
- claimed certification state
|
|
169
|
+
- certification scope
|
|
170
|
+
- verification evidence and reports
|
|
171
|
+
- submission timestamp and operator
|
|
172
|
+
|
|
173
|
+
Use:
|
|
174
|
+
|
|
175
|
+
- [integration-certification-pack.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-certification-pack.schema.json)
|
|
176
|
+
- [example-third-party-registration.certification-pack.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.certification-pack.json)
|
|
177
|
+
- [example-third-party-settlement-registration.certification-pack.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.certification-pack.json)
|
|
178
|
+
|
|
179
|
+
This keeps certification evidence explicit instead of leaving it as an undocumented side channel.
|
|
180
|
+
|
|
181
|
+
## 10. Assemble a submission bundle
|
|
182
|
+
|
|
183
|
+
When you want one reusable handoff artifact for staging or review, combine:
|
|
184
|
+
|
|
185
|
+
- manifest
|
|
186
|
+
- registration record
|
|
187
|
+
- certification pack
|
|
188
|
+
- optional normalized snapshot entry
|
|
189
|
+
|
|
190
|
+
Use:
|
|
191
|
+
|
|
192
|
+
- [integration-submission-bundle.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle.schema.json)
|
|
193
|
+
- [example-third-party-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-registration.submission-bundle.json)
|
|
194
|
+
- [example-third-party-settlement-registration.submission-bundle.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-third-party-settlement-registration.submission-bundle.json)
|
|
195
|
+
|
|
196
|
+
This gives future integrations one predictable artifact for authoring review, staging review, or registry import.
|
|
197
|
+
|
|
198
|
+
Public posture rule:
|
|
199
|
+
|
|
200
|
+
- native support means `xytara` ships a bundled first-party integration in the registry
|
|
201
|
+
- adapter support means the public contract and authoring path are available for that class or lane
|
|
202
|
+
- third-party plugin posture means the integration should normally enter through explicit submission bundles and staged registration before default rollout
|
|
203
|
+
|
|
204
|
+
Bundle-driven staging/export is also supported, so a set of reviewed third-party integrations can be turned into a normalized registry snapshot without custom glue code.
|
|
205
|
+
|
|
206
|
+
If you need to hand off multiple reviewed integrations together, package them as a bundle set rather than inventing a one-off folder convention each time.
|
|
207
|
+
|
|
208
|
+
Practical rule:
|
|
209
|
+
|
|
210
|
+
- staged third-party integrations can be visible in discovery
|
|
211
|
+
- staged third-party integrations should normally require explicit selection
|
|
212
|
+
- becoming visible is not the same thing as becoming a default
|
|
213
|
+
|
|
214
|
+
That keeps reviewable integrations easy to inspect without letting them quietly replace bundled defaults.
|
|
215
|
+
|
|
216
|
+
## 11. Bundle-set review flow
|
|
217
|
+
|
|
218
|
+
For a small multi-integration review pass, the clean sequence is:
|
|
219
|
+
|
|
220
|
+
1. validate each submission bundle
|
|
221
|
+
2. export a submission bundle set
|
|
222
|
+
3. derive a registry snapshot from that reviewed set
|
|
223
|
+
4. only then consider staging or production registration
|
|
224
|
+
|
|
225
|
+
The repo-local CLI supports that review loop directly when working from a cloned `xytara` repository:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
node scripts/registry_cli.js validate-bundle --example protocol
|
|
229
|
+
node scripts/registry_cli.js validate-bundle --example identity
|
|
230
|
+
node scripts/registry_cli.js validate-bundle --example settlement
|
|
231
|
+
node scripts/registry_cli.js export-bundle-set --notes "review batch"
|
|
232
|
+
node scripts/registry_cli.js export-snapshot
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 12. Keep the boundary clean
|
|
236
|
+
|
|
237
|
+
Adapters should integrate external systems without redefining:
|
|
238
|
+
|
|
239
|
+
- proof semantics
|
|
240
|
+
- quote semantics
|
|
241
|
+
- core commerce lifecycle semantics
|
|
242
|
+
|
|
243
|
+
They translate external systems into the stack contract. They do not replace the stack contract.
|
|
244
244
|
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# Adapter Onboarding Posture
|
|
2
|
-
|
|
3
|
-
This note captures the current intended onboarding flow for third-party adapters.
|
|
4
|
-
|
|
5
|
-
## Current onboarding path
|
|
6
|
-
|
|
7
|
-
1. implement adapter against the public interface version
|
|
8
|
-
2. publish a manifest that satisfies the schema
|
|
9
|
-
3. validate implementation behavior with the adapter verifier
|
|
10
|
-
4. confirm compatibility with the current commerce and proof contracts
|
|
11
|
-
5. declare registration and certification posture in the manifest
|
|
12
|
-
6. add the adapter into catalog/runtime registration only after certification passes
|
|
13
|
-
|
|
14
|
-
## Current registration stance
|
|
15
|
-
|
|
16
|
-
This repo does not yet provide a full public adapter registry service.
|
|
17
|
-
|
|
18
|
-
The current posture is:
|
|
19
|
-
|
|
20
|
-
- adapter manifests and implementations can be authored against the public contract
|
|
21
|
-
- certification begins locally with `npm run verify:adapters`
|
|
22
|
-
- registration posture should be declared explicitly through manifest metadata
|
|
23
|
-
- promotion should also create a normalized registration record
|
|
24
|
-
- runtime registration remains an explicit product step, not an implicit side effect of dropping files into the repo
|
|
25
|
-
|
|
26
|
-
## Promotion model
|
|
27
|
-
|
|
28
|
-
Recommended promotion flow:
|
|
29
|
-
|
|
30
|
-
1. local development
|
|
31
|
-
2. local certification
|
|
32
|
-
3. self-attested or certified manifest posture
|
|
33
|
-
4. registration record creation
|
|
34
|
-
5. staging/runtime integration
|
|
35
|
-
6. production registration
|
|
36
|
-
|
|
37
|
-
## Review checkpoints
|
|
38
|
-
|
|
39
|
-
Before a third-party integration is treated as operationally serious, we should be able to answer:
|
|
40
|
-
|
|
41
|
-
- is it review-ready?
|
|
42
|
-
- is it default-eligible?
|
|
43
|
-
- is it production-default-ready?
|
|
44
|
-
- what blockers are still present?
|
|
45
|
-
|
|
46
|
-
Those answers should come from the artifact model and review helpers, not from private judgment calls.
|
|
47
|
-
|
|
48
|
-
Use:
|
|
49
|
-
|
|
50
|
-
- [THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
|
|
51
|
-
|
|
52
|
-
to keep that process repeatable for external builders and internal reviewers.
|
|
53
|
-
|
|
54
|
-
## Why this matters
|
|
55
|
-
|
|
56
|
-
This keeps adapter support:
|
|
57
|
-
|
|
58
|
-
- flexible
|
|
59
|
-
- testable
|
|
60
|
-
- explicit
|
|
61
|
-
- less likely to drift into hidden private assumptions
|
|
1
|
+
# Adapter Onboarding Posture
|
|
2
|
+
|
|
3
|
+
This note captures the current intended onboarding flow for third-party adapters.
|
|
4
|
+
|
|
5
|
+
## Current onboarding path
|
|
6
|
+
|
|
7
|
+
1. implement adapter against the public interface version
|
|
8
|
+
2. publish a manifest that satisfies the schema
|
|
9
|
+
3. validate implementation behavior with the adapter verifier
|
|
10
|
+
4. confirm compatibility with the current commerce and proof contracts
|
|
11
|
+
5. declare registration and certification posture in the manifest
|
|
12
|
+
6. add the adapter into catalog/runtime registration only after certification passes
|
|
13
|
+
|
|
14
|
+
## Current registration stance
|
|
15
|
+
|
|
16
|
+
This repo does not yet provide a full public adapter registry service.
|
|
17
|
+
|
|
18
|
+
The current posture is:
|
|
19
|
+
|
|
20
|
+
- adapter manifests and implementations can be authored against the public contract
|
|
21
|
+
- certification begins locally with `npm run verify:adapters`
|
|
22
|
+
- registration posture should be declared explicitly through manifest metadata
|
|
23
|
+
- promotion should also create a normalized registration record
|
|
24
|
+
- runtime registration remains an explicit product step, not an implicit side effect of dropping files into the repo
|
|
25
|
+
|
|
26
|
+
## Promotion model
|
|
27
|
+
|
|
28
|
+
Recommended promotion flow:
|
|
29
|
+
|
|
30
|
+
1. local development
|
|
31
|
+
2. local certification
|
|
32
|
+
3. self-attested or certified manifest posture
|
|
33
|
+
4. registration record creation
|
|
34
|
+
5. staging/runtime integration
|
|
35
|
+
6. production registration
|
|
36
|
+
|
|
37
|
+
## Review checkpoints
|
|
38
|
+
|
|
39
|
+
Before a third-party integration is treated as operationally serious, we should be able to answer:
|
|
40
|
+
|
|
41
|
+
- is it review-ready?
|
|
42
|
+
- is it default-eligible?
|
|
43
|
+
- is it production-default-ready?
|
|
44
|
+
- what blockers are still present?
|
|
45
|
+
|
|
46
|
+
Those answers should come from the artifact model and review helpers, not from private judgment calls.
|
|
47
|
+
|
|
48
|
+
Use:
|
|
49
|
+
|
|
50
|
+
- [THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
|
|
51
|
+
|
|
52
|
+
to keep that process repeatable for external builders and internal reviewers.
|
|
53
|
+
|
|
54
|
+
## Why this matters
|
|
55
|
+
|
|
56
|
+
This keeps adapter support:
|
|
57
|
+
|
|
58
|
+
- flexible
|
|
59
|
+
- testable
|
|
60
|
+
- explicit
|
|
61
|
+
- less likely to drift into hidden private assumptions
|