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,54 +1,54 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function buildArtifactDistributionLanePack() {
|
|
4
|
-
return {
|
|
5
|
-
product: "xytara",
|
|
6
|
-
category: "machine-commerce-artifact-distribution-lane-pack",
|
|
7
|
-
pack_version: "xytara-artifact-distribution-lane-pack-v1",
|
|
8
|
-
lane_state: "first_party_artifact_distribution_lane_present",
|
|
9
|
-
posture: "oci_style_distribution_and_export_lane",
|
|
10
|
-
standards: ["oci_artifacts", "oras_style_distribution"],
|
|
11
|
-
artifact_families: ["adapter_packs", "submission_bundles", "registry_snapshots", "release_artifacts"],
|
|
12
|
-
supported_surfaces: {
|
|
13
|
-
integrations_ref: "/v1/integrations",
|
|
14
|
-
integration_snapshot_ref: "/v1/integrations/review/registry-snapshot",
|
|
15
|
-
adapter_pack_ref: "/v1/adapter-pack",
|
|
16
|
-
release_center_ref: "/v1/release-center",
|
|
17
|
-
release_pack_ref: "/v1/release-pack"
|
|
18
|
-
},
|
|
19
|
-
first_run_flows: [
|
|
20
|
-
{
|
|
21
|
-
flow_ref: "artifact_distribution_alignment",
|
|
22
|
-
recommended_reason: "best path for teams that want portable adapter, registry, and release artifacts instead of ad hoc zip-and-doc distribution",
|
|
23
|
-
sequence: [
|
|
24
|
-
"inspect_artifact_distribution_lane_summary",
|
|
25
|
-
"inspect_adapter_and_registry_export_surfaces",
|
|
26
|
-
"treat_release_and_submission bundles as distribution-ready artifacts",
|
|
27
|
-
"publish_or_transfer_artifacts through standard registries later without changing canonical shapes"
|
|
28
|
-
]
|
|
29
|
-
}
|
|
30
|
-
],
|
|
31
|
-
guardrails: [
|
|
32
|
-
"artifact portability should preserve canonical bundle shapes instead of inventing a second artifact model",
|
|
33
|
-
"distribution posture should remain subordinate to runtime, proof, and integration truth"
|
|
34
|
-
]
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function summarizeArtifactDistributionLanePack() {
|
|
39
|
-
const pack = buildArtifactDistributionLanePack();
|
|
40
|
-
return {
|
|
41
|
-
product: "xytara",
|
|
42
|
-
category: "machine-commerce-artifact-distribution-lane-pack-summary",
|
|
43
|
-
summary_version: "xytara-artifact-distribution-lane-pack-summary-v1",
|
|
44
|
-
lane_state: pack.lane_state,
|
|
45
|
-
standard_count: pack.standards.length,
|
|
46
|
-
artifact_family_count: pack.artifact_families.length,
|
|
47
|
-
linked_surfaces: pack.supported_surfaces
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
module.exports = {
|
|
52
|
-
buildArtifactDistributionLanePack,
|
|
53
|
-
summarizeArtifactDistributionLanePack
|
|
54
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function buildArtifactDistributionLanePack() {
|
|
4
|
+
return {
|
|
5
|
+
product: "xytara",
|
|
6
|
+
category: "machine-commerce-artifact-distribution-lane-pack",
|
|
7
|
+
pack_version: "xytara-artifact-distribution-lane-pack-v1",
|
|
8
|
+
lane_state: "first_party_artifact_distribution_lane_present",
|
|
9
|
+
posture: "oci_style_distribution_and_export_lane",
|
|
10
|
+
standards: ["oci_artifacts", "oras_style_distribution"],
|
|
11
|
+
artifact_families: ["adapter_packs", "submission_bundles", "registry_snapshots", "release_artifacts"],
|
|
12
|
+
supported_surfaces: {
|
|
13
|
+
integrations_ref: "/v1/integrations",
|
|
14
|
+
integration_snapshot_ref: "/v1/integrations/review/registry-snapshot",
|
|
15
|
+
adapter_pack_ref: "/v1/adapter-pack",
|
|
16
|
+
release_center_ref: "/v1/release-center",
|
|
17
|
+
release_pack_ref: "/v1/release-pack"
|
|
18
|
+
},
|
|
19
|
+
first_run_flows: [
|
|
20
|
+
{
|
|
21
|
+
flow_ref: "artifact_distribution_alignment",
|
|
22
|
+
recommended_reason: "best path for teams that want portable adapter, registry, and release artifacts instead of ad hoc zip-and-doc distribution",
|
|
23
|
+
sequence: [
|
|
24
|
+
"inspect_artifact_distribution_lane_summary",
|
|
25
|
+
"inspect_adapter_and_registry_export_surfaces",
|
|
26
|
+
"treat_release_and_submission bundles as distribution-ready artifacts",
|
|
27
|
+
"publish_or_transfer_artifacts through standard registries later without changing canonical shapes"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
guardrails: [
|
|
32
|
+
"artifact portability should preserve canonical bundle shapes instead of inventing a second artifact model",
|
|
33
|
+
"distribution posture should remain subordinate to runtime, proof, and integration truth"
|
|
34
|
+
]
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function summarizeArtifactDistributionLanePack() {
|
|
39
|
+
const pack = buildArtifactDistributionLanePack();
|
|
40
|
+
return {
|
|
41
|
+
product: "xytara",
|
|
42
|
+
category: "machine-commerce-artifact-distribution-lane-pack-summary",
|
|
43
|
+
summary_version: "xytara-artifact-distribution-lane-pack-summary-v1",
|
|
44
|
+
lane_state: pack.lane_state,
|
|
45
|
+
standard_count: pack.standards.length,
|
|
46
|
+
artifact_family_count: pack.artifact_families.length,
|
|
47
|
+
linked_surfaces: pack.supported_surfaces
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = {
|
|
52
|
+
buildArtifactDistributionLanePack,
|
|
53
|
+
summarizeArtifactDistributionLanePack
|
|
54
|
+
};
|
package/lib/asyncapi_contract.js
CHANGED
|
@@ -1,150 +1,150 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const pkg = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildAsyncApiDocument() {
|
|
6
|
-
return {
|
|
7
|
-
asyncapi: "3.0.0",
|
|
8
|
-
info: {
|
|
9
|
-
title: "xytara Event Contract",
|
|
10
|
-
version: pkg.version,
|
|
11
|
-
summary: "Machine-commerce runtime event and handoff contract.",
|
|
12
|
-
description: "This AsyncAPI document describes the stable runtime event and handoff surfaces that outside builders and partners should rely on first."
|
|
13
|
-
},
|
|
14
|
-
servers: {
|
|
15
|
-
httpRuntime: {
|
|
16
|
-
host: "127.0.0.1:4320",
|
|
17
|
-
protocol: "http",
|
|
18
|
-
description: "Local xytara HTTP event and handoff entrypoint"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
channels: {
|
|
22
|
-
"runtime/events/emit": {
|
|
23
|
-
address: "/v1/runtime/emit",
|
|
24
|
-
messages: {
|
|
25
|
-
runtimeEmitRequest: {
|
|
26
|
-
name: "runtimeEmitRequest",
|
|
27
|
-
title: "Runtime emit request",
|
|
28
|
-
summary: "Append a runtime event record."
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"runtime/events/anchor": {
|
|
33
|
-
address: "/v1/runtime/anchor",
|
|
34
|
-
messages: {
|
|
35
|
-
runtimeAnchorRequest: {
|
|
36
|
-
name: "runtimeAnchorRequest",
|
|
37
|
-
title: "Runtime anchor request",
|
|
38
|
-
summary: "Anchor a runtime event into registry/anchor posture."
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
"runtime/events/emit-anchor": {
|
|
43
|
-
address: "/v1/runtime/emit-anchor",
|
|
44
|
-
messages: {
|
|
45
|
-
runtimeEmitAnchorRequest: {
|
|
46
|
-
name: "runtimeEmitAnchorRequest",
|
|
47
|
-
title: "Runtime emit-anchor request",
|
|
48
|
-
summary: "Emit and anchor a runtime event in one call."
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"handoffs/trust/emit": {
|
|
53
|
-
address: "/v1/trust/handoffs/emit",
|
|
54
|
-
messages: {
|
|
55
|
-
trustHandoffEmitRequest: {
|
|
56
|
-
name: "trustHandoffEmitRequest",
|
|
57
|
-
title: "Trust handoff emit request",
|
|
58
|
-
summary: "Emit a trust-compatible handoff bundle."
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
"handoffs/execution-receipts/emit": {
|
|
63
|
-
address: "/v1/execution-receipts/handoffs/emit",
|
|
64
|
-
messages: {
|
|
65
|
-
executionReceiptHandoffEmitRequest: {
|
|
66
|
-
name: "executionReceiptHandoffEmitRequest",
|
|
67
|
-
title: "Execution receipt handoff emit request",
|
|
68
|
-
summary: "Emit an execution receipt handoff bundle."
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
"handoffs/receipt-ledger/emit": {
|
|
73
|
-
address: "/v1/receipt-ledger/handoffs/emit",
|
|
74
|
-
messages: {
|
|
75
|
-
receiptLedgerHandoffEmitRequest: {
|
|
76
|
-
name: "receiptLedgerHandoffEmitRequest",
|
|
77
|
-
title: "Receipt ledger handoff emit request",
|
|
78
|
-
summary: "Emit a receipt-ledger handoff bundle."
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
operations: {
|
|
84
|
-
publishRuntimeEvent: {
|
|
85
|
-
action: "send",
|
|
86
|
-
channel: { $ref: "#/channels/runtime/events/emit" },
|
|
87
|
-
summary: "Publish runtime event data through the stable emit surface."
|
|
88
|
-
},
|
|
89
|
-
publishRuntimeAnchor: {
|
|
90
|
-
action: "send",
|
|
91
|
-
channel: { $ref: "#/channels/runtime/events/anchor" },
|
|
92
|
-
summary: "Publish anchoring data through the stable anchor surface."
|
|
93
|
-
},
|
|
94
|
-
publishRuntimeEmitAnchor: {
|
|
95
|
-
action: "send",
|
|
96
|
-
channel: { $ref: "#/channels/runtime/events/emit-anchor" },
|
|
97
|
-
summary: "Publish combined emit-anchor data through the stable combined surface."
|
|
98
|
-
},
|
|
99
|
-
publishTrustHandoff: {
|
|
100
|
-
action: "send",
|
|
101
|
-
channel: { $ref: "#/channels/handoffs/trust/emit" },
|
|
102
|
-
summary: "Publish trust handoff data for proof followthrough."
|
|
103
|
-
},
|
|
104
|
-
publishExecutionReceiptHandoff: {
|
|
105
|
-
action: "send",
|
|
106
|
-
channel: { $ref: "#/channels/handoffs/execution-receipts/emit" },
|
|
107
|
-
summary: "Publish execution receipt handoff data."
|
|
108
|
-
},
|
|
109
|
-
publishReceiptLedgerHandoff: {
|
|
110
|
-
action: "send",
|
|
111
|
-
channel: { $ref: "#/channels/handoffs/receipt-ledger/emit" },
|
|
112
|
-
summary: "Publish receipt-ledger handoff data."
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
"x-naxytra-contract": {
|
|
116
|
-
product: "xytara",
|
|
117
|
-
stability: "stable_public_event_layer",
|
|
118
|
-
channel_count: 6,
|
|
119
|
-
linked_docs: [
|
|
120
|
-
"SERVICE_CONTRACT.md",
|
|
121
|
-
"FINAL_CONTRACT.md",
|
|
122
|
-
"START_HERE.md"
|
|
123
|
-
]
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function summarizeAsyncApiDocument() {
|
|
129
|
-
const document = buildAsyncApiDocument();
|
|
130
|
-
return {
|
|
131
|
-
product: "xytara",
|
|
132
|
-
category: "machine-commerce-asyncapi-contract-summary",
|
|
133
|
-
summary_version: "xytara-asyncapi-contract-summary-v1",
|
|
134
|
-
asyncapi_version: document.asyncapi,
|
|
135
|
-
info_version: document.info.version,
|
|
136
|
-
channel_count: Object.keys(document.channels).length,
|
|
137
|
-
operation_count: Object.keys(document.operations).length,
|
|
138
|
-
primary_event_lanes: ["runtime", "handoff"],
|
|
139
|
-
linked_surfaces: {
|
|
140
|
-
asyncapi_ref: "/asyncapi.json",
|
|
141
|
-
service_contract_ref: "SERVICE_CONTRACT.md",
|
|
142
|
-
openapi_ref: "/openapi.json"
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
module.exports = {
|
|
148
|
-
buildAsyncApiDocument,
|
|
149
|
-
summarizeAsyncApiDocument
|
|
150
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const pkg = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildAsyncApiDocument() {
|
|
6
|
+
return {
|
|
7
|
+
asyncapi: "3.0.0",
|
|
8
|
+
info: {
|
|
9
|
+
title: "xytara Event Contract",
|
|
10
|
+
version: pkg.version,
|
|
11
|
+
summary: "Machine-commerce runtime event and handoff contract.",
|
|
12
|
+
description: "This AsyncAPI document describes the stable runtime event and handoff surfaces that outside builders and partners should rely on first."
|
|
13
|
+
},
|
|
14
|
+
servers: {
|
|
15
|
+
httpRuntime: {
|
|
16
|
+
host: "127.0.0.1:4320",
|
|
17
|
+
protocol: "http",
|
|
18
|
+
description: "Local xytara HTTP event and handoff entrypoint"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
channels: {
|
|
22
|
+
"runtime/events/emit": {
|
|
23
|
+
address: "/v1/runtime/emit",
|
|
24
|
+
messages: {
|
|
25
|
+
runtimeEmitRequest: {
|
|
26
|
+
name: "runtimeEmitRequest",
|
|
27
|
+
title: "Runtime emit request",
|
|
28
|
+
summary: "Append a runtime event record."
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"runtime/events/anchor": {
|
|
33
|
+
address: "/v1/runtime/anchor",
|
|
34
|
+
messages: {
|
|
35
|
+
runtimeAnchorRequest: {
|
|
36
|
+
name: "runtimeAnchorRequest",
|
|
37
|
+
title: "Runtime anchor request",
|
|
38
|
+
summary: "Anchor a runtime event into registry/anchor posture."
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"runtime/events/emit-anchor": {
|
|
43
|
+
address: "/v1/runtime/emit-anchor",
|
|
44
|
+
messages: {
|
|
45
|
+
runtimeEmitAnchorRequest: {
|
|
46
|
+
name: "runtimeEmitAnchorRequest",
|
|
47
|
+
title: "Runtime emit-anchor request",
|
|
48
|
+
summary: "Emit and anchor a runtime event in one call."
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"handoffs/trust/emit": {
|
|
53
|
+
address: "/v1/trust/handoffs/emit",
|
|
54
|
+
messages: {
|
|
55
|
+
trustHandoffEmitRequest: {
|
|
56
|
+
name: "trustHandoffEmitRequest",
|
|
57
|
+
title: "Trust handoff emit request",
|
|
58
|
+
summary: "Emit a trust-compatible handoff bundle."
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"handoffs/execution-receipts/emit": {
|
|
63
|
+
address: "/v1/execution-receipts/handoffs/emit",
|
|
64
|
+
messages: {
|
|
65
|
+
executionReceiptHandoffEmitRequest: {
|
|
66
|
+
name: "executionReceiptHandoffEmitRequest",
|
|
67
|
+
title: "Execution receipt handoff emit request",
|
|
68
|
+
summary: "Emit an execution receipt handoff bundle."
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"handoffs/receipt-ledger/emit": {
|
|
73
|
+
address: "/v1/receipt-ledger/handoffs/emit",
|
|
74
|
+
messages: {
|
|
75
|
+
receiptLedgerHandoffEmitRequest: {
|
|
76
|
+
name: "receiptLedgerHandoffEmitRequest",
|
|
77
|
+
title: "Receipt ledger handoff emit request",
|
|
78
|
+
summary: "Emit a receipt-ledger handoff bundle."
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
operations: {
|
|
84
|
+
publishRuntimeEvent: {
|
|
85
|
+
action: "send",
|
|
86
|
+
channel: { $ref: "#/channels/runtime/events/emit" },
|
|
87
|
+
summary: "Publish runtime event data through the stable emit surface."
|
|
88
|
+
},
|
|
89
|
+
publishRuntimeAnchor: {
|
|
90
|
+
action: "send",
|
|
91
|
+
channel: { $ref: "#/channels/runtime/events/anchor" },
|
|
92
|
+
summary: "Publish anchoring data through the stable anchor surface."
|
|
93
|
+
},
|
|
94
|
+
publishRuntimeEmitAnchor: {
|
|
95
|
+
action: "send",
|
|
96
|
+
channel: { $ref: "#/channels/runtime/events/emit-anchor" },
|
|
97
|
+
summary: "Publish combined emit-anchor data through the stable combined surface."
|
|
98
|
+
},
|
|
99
|
+
publishTrustHandoff: {
|
|
100
|
+
action: "send",
|
|
101
|
+
channel: { $ref: "#/channels/handoffs/trust/emit" },
|
|
102
|
+
summary: "Publish trust handoff data for proof followthrough."
|
|
103
|
+
},
|
|
104
|
+
publishExecutionReceiptHandoff: {
|
|
105
|
+
action: "send",
|
|
106
|
+
channel: { $ref: "#/channels/handoffs/execution-receipts/emit" },
|
|
107
|
+
summary: "Publish execution receipt handoff data."
|
|
108
|
+
},
|
|
109
|
+
publishReceiptLedgerHandoff: {
|
|
110
|
+
action: "send",
|
|
111
|
+
channel: { $ref: "#/channels/handoffs/receipt-ledger/emit" },
|
|
112
|
+
summary: "Publish receipt-ledger handoff data."
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"x-naxytra-contract": {
|
|
116
|
+
product: "xytara",
|
|
117
|
+
stability: "stable_public_event_layer",
|
|
118
|
+
channel_count: 6,
|
|
119
|
+
linked_docs: [
|
|
120
|
+
"SERVICE_CONTRACT.md",
|
|
121
|
+
"FINAL_CONTRACT.md",
|
|
122
|
+
"START_HERE.md"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function summarizeAsyncApiDocument() {
|
|
129
|
+
const document = buildAsyncApiDocument();
|
|
130
|
+
return {
|
|
131
|
+
product: "xytara",
|
|
132
|
+
category: "machine-commerce-asyncapi-contract-summary",
|
|
133
|
+
summary_version: "xytara-asyncapi-contract-summary-v1",
|
|
134
|
+
asyncapi_version: document.asyncapi,
|
|
135
|
+
info_version: document.info.version,
|
|
136
|
+
channel_count: Object.keys(document.channels).length,
|
|
137
|
+
operation_count: Object.keys(document.operations).length,
|
|
138
|
+
primary_event_lanes: ["runtime", "handoff"],
|
|
139
|
+
linked_surfaces: {
|
|
140
|
+
asyncapi_ref: "/asyncapi.json",
|
|
141
|
+
service_contract_ref: "SERVICE_CONTRACT.md",
|
|
142
|
+
openapi_ref: "/openapi.json"
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
module.exports = {
|
|
148
|
+
buildAsyncApiDocument,
|
|
149
|
+
summarizeAsyncApiDocument
|
|
150
|
+
};
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const pkg = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildAuthInteropContract() {
|
|
6
|
-
return {
|
|
7
|
-
product: "xytara",
|
|
8
|
-
category: "machine-commerce-auth-interop-contract",
|
|
9
|
-
contract_version: "xytara-auth-interop-contract-v1",
|
|
10
|
-
service_version: pkg.version,
|
|
11
|
-
primary_posture: "native_authority_with_oauth_oidc_token_exchange_interop",
|
|
12
|
-
supported_interop_profiles: [
|
|
13
|
-
{
|
|
14
|
-
profile_id: "oauth_client_credentials_runtime",
|
|
15
|
-
standards: ["oauth_2_0", "oidc_optional"],
|
|
16
|
-
intended_use: "machine-to-machine runtime invocation",
|
|
17
|
-
primary_routes: ["/v1/commands/execute", "/v1/mcp/tools/invoke"]
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
profile_id: "bounded_delegation_token_exchange",
|
|
21
|
-
standards: ["oauth_2_0_token_exchange", "jwt_bearer_optional"],
|
|
22
|
-
intended_use: "map upstream bearer posture into bounded delegated authority",
|
|
23
|
-
primary_routes: [
|
|
24
|
-
"/v1/account-auth/spend-credentials",
|
|
25
|
-
"/v1/account-auth/authority-bindings",
|
|
26
|
-
"/v1/commands/execute"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
profile_id: "mcp_a2a_a2c_interop_auth",
|
|
31
|
-
standards: ["oauth_2_0", "oidc", "token_exchange_optional"],
|
|
32
|
-
intended_use: "protocol-lane authentication for MCP, A2A, and A2C usage",
|
|
33
|
-
primary_routes: ["/v1/mcp/tools/invoke", "/x402/mcp/tools/invoke", "/v1/commands/execute"]
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
profile_id: "x402_payment_plus_bounded_auth",
|
|
37
|
-
standards: ["oauth_2_0_optional", "x402"],
|
|
38
|
-
intended_use: "combine payment challenge posture with bounded authenticated execution",
|
|
39
|
-
primary_routes: ["/x402/mcp/tools/invoke", "/x402/commands/execute"]
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
native_authority_mapping: {
|
|
43
|
-
authority_bindings: "/v1/account-auth/authority-bindings",
|
|
44
|
-
spend_credentials: "/v1/account-auth/spend-credentials",
|
|
45
|
-
execution_entry: "/v1/commands/execute",
|
|
46
|
-
mcp_entry: "/v1/mcp/tools/invoke"
|
|
47
|
-
},
|
|
48
|
-
guardrails: [
|
|
49
|
-
"native authority bindings remain canonical for bounded execution",
|
|
50
|
-
"oauth or oidc interop must not replace native consequence bounds",
|
|
51
|
-
"token exchange may map into delegation but must not bypass authority contracts",
|
|
52
|
-
"payment verification and auth posture remain separate concerns even when combined in one flow"
|
|
53
|
-
],
|
|
54
|
-
linked_surfaces: {
|
|
55
|
-
openapi_ref: "/openapi.json",
|
|
56
|
-
asyncapi_ref: "/asyncapi.json",
|
|
57
|
-
cloudevents_ref: "/cloudevents.json",
|
|
58
|
-
service_contract_ref: "SERVICE_CONTRACT.md"
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function summarizeAuthInteropContract() {
|
|
64
|
-
const contract = buildAuthInteropContract();
|
|
65
|
-
return {
|
|
66
|
-
product: "xytara",
|
|
67
|
-
category: "machine-commerce-auth-interop-contract-summary",
|
|
68
|
-
summary_version: "xytara-auth-interop-contract-summary-v1",
|
|
69
|
-
contract_version: contract.contract_version,
|
|
70
|
-
profile_count: contract.supported_interop_profiles.length,
|
|
71
|
-
primary_posture: contract.primary_posture,
|
|
72
|
-
primary_protocol_lanes: ["mcp", "a2a", "a2c", "x402"],
|
|
73
|
-
linked_surfaces: contract.linked_surfaces
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
module.exports = {
|
|
78
|
-
buildAuthInteropContract,
|
|
79
|
-
summarizeAuthInteropContract
|
|
80
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const pkg = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildAuthInteropContract() {
|
|
6
|
+
return {
|
|
7
|
+
product: "xytara",
|
|
8
|
+
category: "machine-commerce-auth-interop-contract",
|
|
9
|
+
contract_version: "xytara-auth-interop-contract-v1",
|
|
10
|
+
service_version: pkg.version,
|
|
11
|
+
primary_posture: "native_authority_with_oauth_oidc_token_exchange_interop",
|
|
12
|
+
supported_interop_profiles: [
|
|
13
|
+
{
|
|
14
|
+
profile_id: "oauth_client_credentials_runtime",
|
|
15
|
+
standards: ["oauth_2_0", "oidc_optional"],
|
|
16
|
+
intended_use: "machine-to-machine runtime invocation",
|
|
17
|
+
primary_routes: ["/v1/commands/execute", "/v1/mcp/tools/invoke"]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
profile_id: "bounded_delegation_token_exchange",
|
|
21
|
+
standards: ["oauth_2_0_token_exchange", "jwt_bearer_optional"],
|
|
22
|
+
intended_use: "map upstream bearer posture into bounded delegated authority",
|
|
23
|
+
primary_routes: [
|
|
24
|
+
"/v1/account-auth/spend-credentials",
|
|
25
|
+
"/v1/account-auth/authority-bindings",
|
|
26
|
+
"/v1/commands/execute"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
profile_id: "mcp_a2a_a2c_interop_auth",
|
|
31
|
+
standards: ["oauth_2_0", "oidc", "token_exchange_optional"],
|
|
32
|
+
intended_use: "protocol-lane authentication for MCP, A2A, and A2C usage",
|
|
33
|
+
primary_routes: ["/v1/mcp/tools/invoke", "/x402/mcp/tools/invoke", "/v1/commands/execute"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
profile_id: "x402_payment_plus_bounded_auth",
|
|
37
|
+
standards: ["oauth_2_0_optional", "x402"],
|
|
38
|
+
intended_use: "combine payment challenge posture with bounded authenticated execution",
|
|
39
|
+
primary_routes: ["/x402/mcp/tools/invoke", "/x402/commands/execute"]
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
native_authority_mapping: {
|
|
43
|
+
authority_bindings: "/v1/account-auth/authority-bindings",
|
|
44
|
+
spend_credentials: "/v1/account-auth/spend-credentials",
|
|
45
|
+
execution_entry: "/v1/commands/execute",
|
|
46
|
+
mcp_entry: "/v1/mcp/tools/invoke"
|
|
47
|
+
},
|
|
48
|
+
guardrails: [
|
|
49
|
+
"native authority bindings remain canonical for bounded execution",
|
|
50
|
+
"oauth or oidc interop must not replace native consequence bounds",
|
|
51
|
+
"token exchange may map into delegation but must not bypass authority contracts",
|
|
52
|
+
"payment verification and auth posture remain separate concerns even when combined in one flow"
|
|
53
|
+
],
|
|
54
|
+
linked_surfaces: {
|
|
55
|
+
openapi_ref: "/openapi.json",
|
|
56
|
+
asyncapi_ref: "/asyncapi.json",
|
|
57
|
+
cloudevents_ref: "/cloudevents.json",
|
|
58
|
+
service_contract_ref: "SERVICE_CONTRACT.md"
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function summarizeAuthInteropContract() {
|
|
64
|
+
const contract = buildAuthInteropContract();
|
|
65
|
+
return {
|
|
66
|
+
product: "xytara",
|
|
67
|
+
category: "machine-commerce-auth-interop-contract-summary",
|
|
68
|
+
summary_version: "xytara-auth-interop-contract-summary-v1",
|
|
69
|
+
contract_version: contract.contract_version,
|
|
70
|
+
profile_count: contract.supported_interop_profiles.length,
|
|
71
|
+
primary_posture: contract.primary_posture,
|
|
72
|
+
primary_protocol_lanes: ["mcp", "a2a", "a2c", "x402"],
|
|
73
|
+
linked_surfaces: contract.linked_surfaces
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
module.exports = {
|
|
78
|
+
buildAuthInteropContract,
|
|
79
|
+
summarizeAuthInteropContract
|
|
80
|
+
};
|