xytara 3.1.16 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -92
- package/RELEASE_NOTES.md +7 -3
- package/START_HERE.md +56 -224
- package/bin/xytara.js +21 -8
- package/client.js +79 -1
- package/lib/{delivery_receipt.js → delivery_receipt_verify.js} +14 -100
- package/package.json +25 -35
- package/scripts/verify_client.js +418 -0
- package/scripts/verify_release_candidate.js +146 -45
- package/.env.example +0 -173
- package/ADAPTER_START_HERE.md +0 -56
- package/BSV_TERANODE_PLATFORM_DISCONTINUITY_RUNBOOK.md +0 -126
- package/CARRIED_HANDOFF_DEMO.md +0 -60
- package/EXAMPLE_PATHS.md +0 -53
- package/FINAL_CONTRACT.md +0 -498
- package/PARTNER_READY_PATH.md +0 -71
- package/PUBLIC_DEMO_SCRIPT.md +0 -78
- package/REAL_PAYMENT_SETUP.md +0 -320
- package/SERVICE_CONTRACT.md +0 -419
- package/SUPABASE_RUNTIME_STATE_SETUP.md +0 -61
- package/TERMINOLOGY.md +0 -50
- package/WHY_XYTARA_XOONYA.md +0 -63
- package/XT1_EXECUTION_TRUTH_STANDARD.md +0 -78
- package/XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md +0 -75
- package/XYTARA_AUTONOMOUS_ENTRY_MODEL.md +0 -124
- package/XYTARA_DEFAULT_PATH_MODEL.md +0 -84
- package/XYTARA_EXECUTION_TRUTH_MODEL.md +0 -171
- package/XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md +0 -68
- package/adapters/AUTHORING_GUIDE.md +0 -244
- package/adapters/ONBOARDING_POSTURE.md +0 -61
- package/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md +0 -84
- package/adapters/adapter-manifest.schema.json +0 -283
- package/adapters/examples/example-execution-adapter.js +0 -61
- package/adapters/examples/example-execution-adapter.manifest.json +0 -81
- package/adapters/examples/example-settlement-adapter.js +0 -55
- package/adapters/examples/example-settlement-adapter.manifest.json +0 -78
- package/adapters/examples/example-third-party-acp-registration.submission-bundle.json +0 -124
- package/adapters/examples/example-third-party-erc8004-registration.submission-bundle.json +0 -121
- package/adapters/examples/example-third-party-identity-registration.certification-pack.json +0 -22
- package/adapters/examples/example-third-party-identity-registration.record.json +0 -26
- package/adapters/examples/example-third-party-identity-registration.submission-bundle.json +0 -126
- package/adapters/examples/example-third-party-langchain-registration.submission-bundle.json +0 -124
- package/adapters/examples/example-third-party-mpp-registration.submission-bundle.json +0 -120
- package/adapters/examples/example-third-party-registration.certification-pack.json +0 -22
- package/adapters/examples/example-third-party-registration.record.json +0 -28
- package/adapters/examples/example-third-party-registration.submission-bundle.json +0 -126
- package/adapters/examples/example-third-party-settlement-registration.certification-pack.json +0 -22
- package/adapters/examples/example-third-party-settlement-registration.record.json +0 -26
- package/adapters/examples/example-third-party-settlement-registration.submission-bundle.json +0 -127
- package/adapters/examples/langchain-reference-execution-adapter.js +0 -81
- package/adapters/examples/langchain-reference-execution-adapter.manifest.json +0 -79
- package/adapters/examples/langgraph-reference-execution-adapter.js +0 -81
- package/adapters/examples/langgraph-reference-execution-adapter.manifest.json +0 -79
- package/adapters/examples/minimal-third-party-execution-adapter.js +0 -61
- package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +0 -79
- package/adapters/examples/minimal-third-party-execution-registration.record.json +0 -26
- package/adapters/examples/minimal-third-party-execution.certification-pack.json +0 -22
- package/adapters/examples/minimal-third-party-execution.submission-bundle.json +0 -126
- package/adapters/integration-certification-pack.schema.json +0 -82
- package/adapters/integration-registration-record.schema.json +0 -114
- package/adapters/integration-submission-bundle-set.schema.json +0 -39
- package/adapters/integration-submission-bundle.schema.json +0 -34
- package/adapters/interfaces.js +0 -56
- package/bin/xytara-release.js +0 -1429
- package/examples/_demo_env.js +0 -40
- package/examples/adapter_review_walkthrough.js +0 -54
- package/examples/export_carried_handoff.js +0 -81
- package/examples/funded_runtime_walkthrough.js +0 -71
- package/examples/partner_launch_walkthrough.js +0 -44
- package/examples/quickstart.js +0 -3256
- package/fixtures/catalog.js +0 -1156
- package/index.js +0 -395
- package/integrations/dispatch.js +0 -276
- package/integrations/registry-snapshot.schema.json +0 -36
- package/integrations/registry.js +0 -2261
- package/integrations/views.js +0 -28
- package/lib/a2a_lane_contract.js +0 -104
- package/lib/a2a_rpc.js +0 -287
- package/lib/a2c_lane_contract.js +0 -111
- package/lib/account_auth.js +0 -585
- package/lib/acp_lane_contract.js +0 -54
- package/lib/activity_audit_contract.js +0 -322
- package/lib/adapter_certification_contract.js +0 -130
- package/lib/adapter_depth_contract.js +0 -218
- package/lib/adapter_pack.js +0 -118
- package/lib/adapter_partner_pack.js +0 -89
- package/lib/adapter_promotion_pack.js +0 -89
- package/lib/adapter_protocol_truth_contract.js +0 -229
- package/lib/agent_identity.js +0 -162
- package/lib/announcement_pack.js +0 -61
- package/lib/artifact_distribution_lane_contract.js +0 -54
- package/lib/asyncapi_contract.js +0 -150
- package/lib/auth_interop_contract.js +0 -80
- package/lib/authority_binding_lifecycle_contract.js +0 -182
- package/lib/autonomous_entry_contract.js +0 -409
- package/lib/bolt_adapter.js +0 -187
- package/lib/bolt_lane_contract.js +0 -55
- package/lib/bolt_payment_front.js +0 -224
- package/lib/business_cockpit.js +0 -378
- package/lib/buyer_event_log.js +0 -230
- package/lib/buyer_safety_policy.js +0 -132
- package/lib/capability_execution_truth.js +0 -276
- package/lib/capability_registry.js +0 -633
- package/lib/catalog_contract.js +0 -966
- package/lib/catalog_family_model.js +0 -193
- package/lib/catalog_views.js +0 -55
- package/lib/cdp_jwt.js +0 -57
- package/lib/checkout_event_security.js +0 -142
- package/lib/checkout_processor_adapter.js +0 -217
- package/lib/cloudevents_contract.js +0 -80
- package/lib/command_flow.js +0 -911
- package/lib/commerce_artifacts.js +0 -591
- package/lib/commerce_authority.js +0 -449
- package/lib/commerce_bridge.js +0 -274
- package/lib/commerce_cases.js +0 -399
- package/lib/commerce_checkout.js +0 -509
- package/lib/commerce_coordination.js +0 -346
- package/lib/commerce_economics.js +0 -4017
- package/lib/commerce_identity.js +0 -578
- package/lib/commerce_quotes.js +0 -266
- package/lib/commerce_reports.js +0 -14461
- package/lib/commerce_runtime.js +0 -322
- package/lib/commerce_shell.js +0 -257
- package/lib/crypto_agility_matrix.js +0 -125
- package/lib/default_path_contract.js +0 -412
- package/lib/delivery_summary_contract.js +0 -95
- package/lib/ecosystem_entry.js +0 -64
- package/lib/erc8004_lane_contract.js +0 -65
- package/lib/event_system_lane_contract.js +0 -75
- package/lib/execution_dedupe.js +0 -86
- package/lib/execution_truth_contract.js +0 -234
- package/lib/external_credit_bridge.js +0 -142
- package/lib/external_execution_policy.js +0 -143
- package/lib/external_execution_runtime.js +0 -238
- package/lib/feature_control_lane_contract.js +0 -54
- package/lib/first_run_conversion_contract.js +0 -290
- package/lib/framework_lane_contract.js +0 -89
- package/lib/framework_provider_promotion.js +0 -235
- package/lib/full_catalog_contract.js +0 -525
- package/lib/go_live_operator_pack.js +0 -391
- package/lib/http_transport.js +0 -99
- package/lib/identity_auth.js +0 -175
- package/lib/identity_interop_contract.js +0 -82
- package/lib/integration_matrix_contract.js +0 -102
- package/lib/l402_adapter.js +0 -241
- package/lib/l402_lane_contract.js +0 -55
- package/lib/l402_payment_front.js +0 -265
- package/lib/launch_narrative.js +0 -53
- package/lib/lifecycle_continuity_contract.js +0 -115
- package/lib/machine_identity_registry_contract.js +0 -199
- package/lib/major_rails_lane_contract.js +0 -150
- package/lib/market_lane_contract.js +0 -467
- package/lib/market_lane_depth_contract.js +0 -182
- package/lib/market_lane_promotion_contract.js +0 -210
- package/lib/market_lane_trace_contract.js +0 -278
- package/lib/mcp_lane_contract.js +0 -137
- package/lib/mpp_adapter.js +0 -237
- package/lib/network_transport.js +0 -110
- package/lib/offline_verifiability_recovery_contract.js +0 -155
- package/lib/openapi_contract.js +0 -300
- package/lib/operational_receipt_contract.js +0 -165
- package/lib/operator_intelligence.js +0 -407
- package/lib/outreach_copy_pack.js +0 -51
- package/lib/outreach_message_pack.js +0 -71
- package/lib/outreach_proof.js +0 -71
- package/lib/outreach_target_pack.js +0 -60
- package/lib/partner_intelligence.js +0 -105
- package/lib/payment_config.js +0 -257
- package/lib/payment_front_registry.js +0 -53
- package/lib/payment_protocol_contract.js +0 -165
- package/lib/payment_rail_truth_contract.js +0 -324
- package/lib/payment_verification.js +0 -357
- package/lib/phase_10_closeout_pack.js +0 -45
- package/lib/phase_10_completion_pack.js +0 -76
- package/lib/phase_10_decision_record_pack.js +0 -54
- package/lib/phase_10_decision_resolution_pack.js +0 -53
- package/lib/phase_10_demand_signal_adapters_runtime_pack.js +0 -74
- package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +0 -74
- package/lib/phase_10_freeze_baseline_pack.js +0 -67
- package/lib/phase_10_freeze_review_pack.js +0 -64
- package/lib/phase_10_gate_pack.js +0 -57
- package/lib/phase_10_long_tail_continuity_pack.js +0 -80
- package/lib/phase_10_long_tail_ecosystem_pack.js +0 -66
- package/lib/phase_10_niche_extension_registry_runtime_pack.js +0 -74
- package/lib/phase_1_claude_mcp_pack.js +0 -60
- package/lib/phase_1_claude_mcp_runtime_pack.js +0 -52
- package/lib/phase_1_ecosystem_pack.js +0 -67
- package/lib/phase_1_openai_codex_pack.js +0 -60
- package/lib/phase_1_openai_codex_runtime_pack.js +0 -52
- package/lib/phase_2_base_runtime_pack.js +0 -71
- package/lib/phase_2_base_usdc_runtime_pack.js +0 -72
- package/lib/phase_2_closeout_pack.js +0 -65
- package/lib/phase_2_completion_pack.js +0 -113
- package/lib/phase_2_decision_record_pack.js +0 -66
- package/lib/phase_2_decision_resolution_pack.js +0 -69
- package/lib/phase_2_eth_runtime_pack.js +0 -70
- package/lib/phase_2_evm_base_runtime_pack.js +0 -73
- package/lib/phase_2_evm_runtime_pack.js +0 -71
- package/lib/phase_2_flip_preview_pack.js +0 -60
- package/lib/phase_2_freeze_review_pack.js +0 -99
- package/lib/phase_2_gate_pack.js +0 -77
- package/lib/phase_2_payment_rails_pack.js +0 -71
- package/lib/phase_2_usdc_runtime_pack.js +0 -71
- package/lib/phase_3_brc_runtime_pack.js +0 -81
- package/lib/phase_3_bsv_teranode_runtime_pack.js +0 -83
- package/lib/phase_3_closeout_pack.js +0 -62
- package/lib/phase_3_completion_pack.js +0 -94
- package/lib/phase_3_decision_record_pack.js +0 -64
- package/lib/phase_3_decision_resolution_pack.js +0 -69
- package/lib/phase_3_freeze_baseline_pack.js +0 -67
- package/lib/phase_3_freeze_review_pack.js +0 -80
- package/lib/phase_3_gate_pack.js +0 -76
- package/lib/phase_3_metanet_runtime_pack.js +0 -81
- package/lib/phase_3_native_bsv_pack.js +0 -91
- package/lib/phase_3_native_continuity_pack.js +0 -82
- package/lib/phase_4_attestation_runtime_pack.js +0 -75
- package/lib/phase_4_closeout_pack.js +0 -45
- package/lib/phase_4_completion_pack.js +0 -94
- package/lib/phase_4_decision_record_pack.js +0 -54
- package/lib/phase_4_decision_resolution_pack.js +0 -45
- package/lib/phase_4_erc8004_runtime_pack.js +0 -76
- package/lib/phase_4_freeze_baseline_pack.js +0 -67
- package/lib/phase_4_freeze_review_pack.js +0 -68
- package/lib/phase_4_gate_pack.js +0 -58
- package/lib/phase_4_identity_registry_runtime_pack.js +0 -75
- package/lib/phase_4_identity_trust_pack.js +0 -73
- package/lib/phase_4_trust_continuity_pack.js +0 -86
- package/lib/phase_5_antelope_runtime_pack.js +0 -76
- package/lib/phase_5_closeout_pack.js +0 -44
- package/lib/phase_5_completion_pack.js +0 -82
- package/lib/phase_5_constellation_dag_runtime_pack.js +0 -76
- package/lib/phase_5_decision_record_pack.js +0 -54
- package/lib/phase_5_decision_resolution_pack.js +0 -45
- package/lib/phase_5_digibyte_dgb_runtime_pack.js +0 -76
- package/lib/phase_5_freeze_baseline_pack.js +0 -67
- package/lib/phase_5_freeze_review_pack.js +0 -68
- package/lib/phase_5_gate_pack.js +0 -58
- package/lib/phase_5_hedera_hbar_runtime_pack.js +0 -76
- package/lib/phase_5_kaspa_kas_runtime_pack.js +0 -76
- package/lib/phase_5_major_rails_continuity_pack.js +0 -86
- package/lib/phase_5_major_rails_pack.js +0 -110
- package/lib/phase_5_metal_runtime_pack.js +0 -76
- package/lib/phase_5_polkadot_dot_runtime_pack.js +0 -76
- package/lib/phase_5_proton_xpr_runtime_pack.js +0 -76
- package/lib/phase_5_solana_runtime_pack.js +0 -76
- package/lib/phase_6_autogen_runtime_pack.js +0 -72
- package/lib/phase_6_closeout_pack.js +0 -46
- package/lib/phase_6_completion_pack.js +0 -77
- package/lib/phase_6_decision_record_pack.js +0 -54
- package/lib/phase_6_decision_resolution_pack.js +0 -53
- package/lib/phase_6_framework_continuity_pack.js +0 -81
- package/lib/phase_6_framework_runtime_pack.js +0 -68
- package/lib/phase_6_freeze_baseline_pack.js +0 -68
- package/lib/phase_6_freeze_review_pack.js +0 -65
- package/lib/phase_6_gate_pack.js +0 -59
- package/lib/phase_6_langchain_runtime_pack.js +0 -72
- package/lib/phase_6_langgraph_runtime_pack.js +0 -72
- package/lib/phase_6_semantic_kernel_runtime_pack.js +0 -72
- package/lib/phase_7_closeout_pack.js +0 -45
- package/lib/phase_7_completion_pack.js +0 -85
- package/lib/phase_7_decision_record_pack.js +0 -53
- package/lib/phase_7_decision_resolution_pack.js +0 -53
- package/lib/phase_7_event_system_continuity_pack.js +0 -89
- package/lib/phase_7_event_system_pack.js +0 -76
- package/lib/phase_7_freeze_baseline_pack.js +0 -74
- package/lib/phase_7_freeze_review_pack.js +0 -65
- package/lib/phase_7_gate_pack.js +0 -58
- package/lib/phase_7_kafka_runtime_pack.js +0 -74
- package/lib/phase_7_mqtt_runtime_pack.js +0 -74
- package/lib/phase_7_nats_runtime_pack.js +0 -74
- package/lib/phase_7_webhook_event_bus_runtime_pack.js +0 -74
- package/lib/phase_8_closeout_pack.js +0 -46
- package/lib/phase_8_completion_pack.js +0 -82
- package/lib/phase_8_decision_record_pack.js +0 -54
- package/lib/phase_8_decision_resolution_pack.js +0 -53
- package/lib/phase_8_external_receipt_import_runtime_pack.js +0 -74
- package/lib/phase_8_external_result_import_runtime_pack.js +0 -74
- package/lib/phase_8_freeze_baseline_pack.js +0 -71
- package/lib/phase_8_freeze_review_pack.js +0 -64
- package/lib/phase_8_gate_pack.js +0 -58
- package/lib/phase_8_proof_bridge_continuity_pack.js +0 -86
- package/lib/phase_8_proof_bridges_pack.js +0 -72
- package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +0 -74
- package/lib/phase_9_closeout_pack.js +0 -46
- package/lib/phase_9_completion_pack.js +0 -82
- package/lib/phase_9_custody_refs_runtime_pack.js +0 -74
- package/lib/phase_9_decision_record_pack.js +0 -54
- package/lib/phase_9_decision_resolution_pack.js +0 -53
- package/lib/phase_9_freeze_baseline_pack.js +0 -71
- package/lib/phase_9_freeze_review_pack.js +0 -64
- package/lib/phase_9_gate_pack.js +0 -58
- package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +0 -74
- package/lib/phase_9_treasury_connectivity_pack.js +0 -72
- package/lib/phase_9_treasury_continuity_pack.js +0 -86
- package/lib/phase_9_treasury_destinations_runtime_pack.js +0 -74
- package/lib/phase_program_pack.js +0 -120
- package/lib/pricing_optimization_contract.js +0 -775
- package/lib/protocol_lane_contract.js +0 -117
- package/lib/provenance_lane_contract.js +0 -54
- package/lib/provider_lane_contract.js +0 -240
- package/lib/provider_network_contract.js +0 -149
- package/lib/provider_payout_execution.js +0 -155
- package/lib/provider_registry.js +0 -852
- package/lib/provider_runtime_journey_contract.js +0 -183
- package/lib/public_surface_policy_contract.js +0 -111
- package/lib/publish_plan.js +0 -51
- package/lib/rate_limiter.js +0 -81
- package/lib/record_queries.js +0 -48
- package/lib/release_candidate.js +0 -50
- package/lib/release_center.js +0 -1093
- package/lib/release_history.js +0 -205
- package/lib/release_manifest.js +0 -113
- package/lib/release_pack.js +0 -453
- package/lib/request_rate_limit.js +0 -144
- package/lib/resource_views.js +0 -31
- package/lib/revenue_launch_path_contract.js +0 -326
- package/lib/route_matchers.js +0 -34
- package/lib/route_params.js +0 -19
- package/lib/runtime_bridge.js +0 -124
- package/lib/runtime_operations_worker.js +0 -282
- package/lib/runtime_state_store.js +0 -495
- package/lib/settlement_bsv_live.js +0 -600
- package/lib/settlement_bsv_teranode.js +0 -117
- package/lib/settlement_lane_contract.js +0 -111
- package/lib/shared_signals_lane_contract.js +0 -54
- package/lib/signed_audit_provenance_contract.js +0 -83
- package/lib/soft_launch_pack.js +0 -78
- package/lib/stablecoin_lane_contract.js +0 -76
- package/lib/stripe_mpp_lane_contract.js +0 -96
- package/lib/stripe_mpp_payment_front.js +0 -258
- package/lib/telemetry_lane_contract.js +0 -54
- package/lib/treasury_destinations_contract.js +0 -764
- package/lib/treasury_egress_policy_contract.js +0 -91
- package/lib/treasury_lane_contract.js +0 -84
- package/lib/trust_portability_boundary_contract.js +0 -72
- package/lib/x402_facilitator.js +0 -198
- package/lib/x402_lane_contract.js +0 -136
- package/lib/x402_settlement_recovery.js +0 -175
- package/scripts/buyer_events_daily_report.js +0 -79
- package/scripts/registry_cli.js +0 -275
- package/scripts/state_backup_offsite.js +0 -196
- package/scripts/verify_a2a_rpc.js +0 -131
- package/scripts/verify_adapters.js +0 -554
- package/scripts/verify_agent_identity.js +0 -153
- package/scripts/verify_all.js +0 -4963
- package/scripts/verify_bolt_adapter.js +0 -128
- package/scripts/verify_buyer_event_log.js +0 -128
- package/scripts/verify_buyer_safety.js +0 -141
- package/scripts/verify_cdp_facilitator.js +0 -110
- package/scripts/verify_checkout_processor.js +0 -109
- package/scripts/verify_commerce_bridge.js +0 -177
- package/scripts/verify_control_plane_contracts.js +0 -34
- package/scripts/verify_control_plane_routes.js +0 -70
- package/scripts/verify_delivery_summary.js +0 -112
- package/scripts/verify_examples.js +0 -19
- package/scripts/verify_execution_dedupe.js +0 -189
- package/scripts/verify_execution_surfacing.js +0 -76
- package/scripts/verify_external_execution_retry.js +0 -140
- package/scripts/verify_final_activation.js +0 -191
- package/scripts/verify_first_run_conversions.js +0 -81
- package/scripts/verify_framework_provider_promotion.js +0 -152
- package/scripts/verify_full_catalog.js +0 -174
- package/scripts/verify_integrations.js +0 -620
- package/scripts/verify_l402_adapter.js +0 -86
- package/scripts/verify_lifecycle_continuity.js +0 -96
- package/scripts/verify_lifecycle_spend_binding.js +0 -88
- package/scripts/verify_market_lane_depth.js +0 -94
- package/scripts/verify_market_lane_promotion.js +0 -103
- package/scripts/verify_market_lane_traces.js +0 -98
- package/scripts/verify_market_lanes.js +0 -102
- package/scripts/verify_mpp_adapter.js +0 -128
- package/scripts/verify_operator_observability_boundary.js +0 -83
- package/scripts/verify_pricing_experiment_plan.js +0 -124
- package/scripts/verify_production_readiness.js +0 -268
- package/scripts/verify_provider_network.js +0 -819
- package/scripts/verify_provider_runtime_breadth.js +0 -109
- package/scripts/verify_provider_runtime_journeys.js +0 -111
- package/scripts/verify_rate_limiter.js +0 -52
- package/scripts/verify_refund_credit.js +0 -106
- package/scripts/verify_revenue_launch_paths.js +0 -105
- package/scripts/verify_runtime_durability.js +0 -52
- package/scripts/verify_runtime_state_guard.js +0 -117
- package/scripts/verify_service.js +0 -15421
- package/scripts/verify_settlement.js +0 -116
- package/scripts/verify_tooling.js +0 -1412
- package/scripts/verify_treasury_public_boundary.js +0 -97
- package/scripts/verify_verify_execute_settle.js +0 -209
- package/scripts/verify_x402_facilitator.js +0 -307
- package/scripts/verify_x402_settlement_recovery.js +0 -153
- package/server.js +0 -12245
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
// Money-safety policy for the buyer path. Like the provider endpoint policy, each rule is
|
|
4
|
-
// "strict" by default on a hosted deploy (RENDER is set) and "permissive" locally, so the local
|
|
5
|
-
// verification suites (which exercise catalog tasks without a live execution target) keep working.
|
|
6
|
-
//
|
|
7
|
-
// - Paid execution: only a task that resolves to a REAL execution target (an operator-pinned
|
|
8
|
-
// env target or an active open-network provider) may be quoted for payment. Anything else is
|
|
9
|
-
// refused up front with capability_not_executable, so a buyer is never charged for a
|
|
10
|
-
// synthetic result. (XYTARA_PAID_EXECUTION_POLICY=strict|permissive)
|
|
11
|
-
// - Credit spend: spending an account's credits requires a spend credential (xytara_spend_…
|
|
12
|
-
// bearer) bound to that account. A bare account_id is never authority — payer addresses are
|
|
13
|
-
// public on-chain. (XYTARA_CREDIT_SPEND_POLICY=strict|permissive)
|
|
14
|
-
|
|
15
|
-
function policyMode(envName) {
|
|
16
|
-
const raw = String(process.env[envName] || "").trim().toLowerCase();
|
|
17
|
-
if (raw === "strict" || raw === "permissive") return raw;
|
|
18
|
-
return process.env.RENDER ? "strict" : "permissive";
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function paidExecutionPolicyMode() {
|
|
22
|
-
return policyMode("XYTARA_PAID_EXECUTION_POLICY");
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function creditSpendPolicyMode() {
|
|
26
|
-
return policyMode("XYTARA_CREDIT_SPEND_POLICY");
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Ledger/business reads (payer addresses, every quote, receipts, operations, revenue metrics) are
|
|
30
|
-
// operator-only on a hosted deploy. (XYTARA_LEDGER_READ_POLICY=strict|permissive)
|
|
31
|
-
function ledgerReadPolicyMode() {
|
|
32
|
-
return policyMode("XYTARA_LEDGER_READ_POLICY");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const PRIVATE_READ_PREFIXES = [
|
|
36
|
-
"/v1/payment-ledger",
|
|
37
|
-
"/v1/operator-export-pack",
|
|
38
|
-
"/v1/receipts",
|
|
39
|
-
"/v1/operations/",
|
|
40
|
-
"/v1/economics/accounts/",
|
|
41
|
-
"/v1/pricing-optimization/",
|
|
42
|
-
"/v1/revenue-signal",
|
|
43
|
-
"/v1/activity-ledger"
|
|
44
|
-
];
|
|
45
|
-
|
|
46
|
-
// Whether a GET is a private ledger read. A single quote by id stays public (its holder needs it).
|
|
47
|
-
function isPrivateLedgerRead(method, pathname) {
|
|
48
|
-
if (String(method || "").toUpperCase() !== "GET") return false;
|
|
49
|
-
if (pathname === "/v1/payment-quotes") return true;
|
|
50
|
-
return PRIVATE_READ_PREFIXES.some((prefix) => pathname === prefix || pathname.startsWith(prefix.endsWith("/") ? prefix : `${prefix}/`) || pathname.startsWith(`${prefix}-`));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Test networks: their USDC is free from faucets, so by default it cannot buy credits that are
|
|
54
|
-
// spendable on real (mainnet-paid-out) provider work. Pay-per-call on a testnet is unaffected.
|
|
55
|
-
const TESTNET_NETWORKS = new Set(["eip155:84532", "eip155:11155111"]);
|
|
56
|
-
|
|
57
|
-
function isTestnetNetwork(network) {
|
|
58
|
-
return TESTNET_NETWORKS.has(String(network || "").trim().toLowerCase());
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// What one credit unit costs, in the payment asset's base units (USDC: 6 decimals). Default
|
|
62
|
-
// 2500 = $0.0025, so a decision-support call (3 units) costs $0.0075 — never more than the flat
|
|
63
|
-
// pay-per-call price for the executable lanes.
|
|
64
|
-
function creditUnitPriceAtomic() {
|
|
65
|
-
const value = Number(process.env.XYTARA_CREDIT_UNIT_PRICE_ATOMIC || 2500);
|
|
66
|
-
return Number.isFinite(value) && value >= 1 ? Math.floor(value) : 2500;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// A top-up is priced as a multiple of the per-call accepts amount (default 100x: $0.01 -> $1.00).
|
|
70
|
-
function topupAmountMultiplier() {
|
|
71
|
-
const value = Number(process.env.XYTARA_X402_TOPUP_AMOUNT_MULTIPLIER || 100);
|
|
72
|
-
return Number.isFinite(value) && value >= 1 ? Math.floor(value) : 100;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// The accepts a credit top-up is paid with: mainnet-only unless testnet top-ups are explicitly
|
|
76
|
-
// enabled, each amount scaled to the top-up price.
|
|
77
|
-
function buildTopupAccepts(accepts) {
|
|
78
|
-
const allowTestnet = String(process.env.XYTARA_X402_TESTNET_TOPUP || "").trim() === "1";
|
|
79
|
-
const multiplier = BigInt(topupAmountMultiplier());
|
|
80
|
-
return (Array.isArray(accepts) ? accepts : [])
|
|
81
|
-
.filter((accept) => accept && (allowTestnet || !isTestnetNetwork(accept.network)))
|
|
82
|
-
.filter((accept) => /^\d{1,30}$/.test(String(accept.amount)))
|
|
83
|
-
.map((accept) => ({ ...accept, amount: (BigInt(String(accept.amount)) * multiplier).toString() }));
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Credits granted for a settled top-up: always derived from what was actually paid, so a unit is
|
|
87
|
-
// never worth less than creditUnitPriceAtomic(). An accepts entry's own extra.credits may lower
|
|
88
|
-
// that, never raise it.
|
|
89
|
-
function topupUnitsForAccept(accept) {
|
|
90
|
-
const amount = accept && /^\d{1,30}$/.test(String(accept.amount)) ? Number(accept.amount) : 0;
|
|
91
|
-
const derived = Math.floor(amount / creditUnitPriceAtomic());
|
|
92
|
-
const explicit = accept && accept.extra ? Number(accept.extra.credits) : NaN;
|
|
93
|
-
return Number.isFinite(explicit) && explicit > 0 ? Math.min(Math.floor(explicit), derived) : derived;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// While the durable state has not been restored yet (boot, or a Supabase outage), balances read
|
|
97
|
-
// as empty: a credit spend would wrongly say "insufficient credits" and a top-up could be lost if
|
|
98
|
-
// the process died before the restore merged. Those routes answer 503 + Retry-After instead.
|
|
99
|
-
let stateRestorePendingProbe = () => false;
|
|
100
|
-
|
|
101
|
-
function setStateRestorePendingProbe(probe) {
|
|
102
|
-
stateRestorePendingProbe = typeof probe === "function" ? probe : () => false;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function isStateRestorePending() {
|
|
106
|
-
try {
|
|
107
|
-
return stateRestorePendingProbe() === true;
|
|
108
|
-
} catch (_) {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const STATE_RESTORE_PENDING_RESPONSE = Object.freeze({
|
|
114
|
-
ok: false,
|
|
115
|
-
reason: "state_restore_pending",
|
|
116
|
-
detail: "Account balances are being restored after a restart. Retry in about 30 seconds; nothing was charged. Pay-per-call x402 (without payment_preference) works meanwhile."
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
module.exports = {
|
|
120
|
-
STATE_RESTORE_PENDING_RESPONSE,
|
|
121
|
-
isPrivateLedgerRead,
|
|
122
|
-
ledgerReadPolicyMode,
|
|
123
|
-
isStateRestorePending,
|
|
124
|
-
setStateRestorePendingProbe,
|
|
125
|
-
paidExecutionPolicyMode,
|
|
126
|
-
creditSpendPolicyMode,
|
|
127
|
-
isTestnetNetwork,
|
|
128
|
-
creditUnitPriceAtomic,
|
|
129
|
-
topupAmountMultiplier,
|
|
130
|
-
buildTopupAccepts,
|
|
131
|
-
topupUnitsForAccept
|
|
132
|
-
};
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
const { catalog } = require("../fixtures/catalog");
|
|
5
|
-
const { summarizeAdapterDepthPack } = require("./adapter_depth_contract");
|
|
6
|
-
const { loadExecutionTargetRegistry } = require("./external_execution_runtime");
|
|
7
|
-
const { loadBsvSettlementRuntimeConfig } = require("./settlement_bsv_live");
|
|
8
|
-
const { summarizeTreasuryDestinationsPack } = require("./treasury_destinations_contract");
|
|
9
|
-
|
|
10
|
-
const NATIVE_RUNTIME_CATEGORIES = new Set([
|
|
11
|
-
"trust",
|
|
12
|
-
"receipt",
|
|
13
|
-
"runtime",
|
|
14
|
-
"jobs",
|
|
15
|
-
"credits",
|
|
16
|
-
"a2a",
|
|
17
|
-
"a2c",
|
|
18
|
-
"policy",
|
|
19
|
-
"identity",
|
|
20
|
-
"registry",
|
|
21
|
-
"anchoring",
|
|
22
|
-
"discovery",
|
|
23
|
-
"admission"
|
|
24
|
-
]);
|
|
25
|
-
|
|
26
|
-
function normalizeString(value) {
|
|
27
|
-
return typeof value === "string" ? value.trim() : "";
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function hasMerchantIdentity() {
|
|
31
|
-
return Boolean(
|
|
32
|
-
normalizeString(process.env.XYTARA_BSV_TERANODE_MERCHANT_ADDRESS)
|
|
33
|
-
|| normalizeString(process.env.XYTARA_BSV_TERANODE_MERCHANT_PAYMAIL)
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function isLiveRuntimeMode(mode) {
|
|
38
|
-
return normalizeString(mode).toLowerCase() !== "mock";
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function buildSettlementReadiness() {
|
|
42
|
-
const runtimeConfig = loadBsvSettlementRuntimeConfig();
|
|
43
|
-
const treasurySummary = summarizeTreasuryDestinationsPack();
|
|
44
|
-
const liveMode = isLiveRuntimeMode(runtimeConfig.mode);
|
|
45
|
-
const merchantConfigured = hasMerchantIdentity();
|
|
46
|
-
const treasuryConfigured = Number(treasurySummary.configured_profile_count || 0) > 0;
|
|
47
|
-
const ready = liveMode && merchantConfigured && treasuryConfigured;
|
|
48
|
-
return {
|
|
49
|
-
ready,
|
|
50
|
-
runtime_mode: runtimeConfig.mode,
|
|
51
|
-
merchant_identity_configured: merchantConfigured,
|
|
52
|
-
treasury_configured: treasuryConfigured,
|
|
53
|
-
configured_profile_count: Number(treasurySummary.configured_profile_count || 0),
|
|
54
|
-
explicit_per_rail_configured_count: Number(treasurySummary.explicit_per_rail_configured_count || 0)
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function findMatchingExecutionTargets(task) {
|
|
59
|
-
const targets = loadExecutionTargetRegistry();
|
|
60
|
-
const taskRefs = new Set(
|
|
61
|
-
[task && task.task_ref, task && task.public_task_ref]
|
|
62
|
-
.map((value) => normalizeString(value))
|
|
63
|
-
.filter(Boolean)
|
|
64
|
-
);
|
|
65
|
-
return targets.filter((target) => {
|
|
66
|
-
const targetTaskRef = normalizeString(target && target.task_ref);
|
|
67
|
-
if (targetTaskRef && taskRefs.has(targetTaskRef)) return true;
|
|
68
|
-
if (
|
|
69
|
-
normalizeString(task && task.public_task_ref) === "adapter.mcp.invoke"
|
|
70
|
-
|| normalizeString(task && task.public_task_ref).startsWith("adapter.mcp.")
|
|
71
|
-
) {
|
|
72
|
-
return Boolean(normalizeString(target && target.tool_name) || normalizeString(target && target.integration_id));
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function classifyTask(task, settlementReadiness) {
|
|
79
|
-
const matches = findMatchingExecutionTargets(task);
|
|
80
|
-
const providerTargets = matches.map((target) => ({
|
|
81
|
-
target_id: target.target_id,
|
|
82
|
-
provider: target.provider,
|
|
83
|
-
task_ref: target.task_ref || null,
|
|
84
|
-
tool_name: target.tool_name || null,
|
|
85
|
-
integration_id: target.integration_id || null,
|
|
86
|
-
enabled: target.enabled !== false
|
|
87
|
-
}));
|
|
88
|
-
|
|
89
|
-
if (normalizeString(task && task.public_category) === "settlement") {
|
|
90
|
-
return {
|
|
91
|
-
task_ref: task.public_task_ref,
|
|
92
|
-
internal_task_ref: task.task_ref,
|
|
93
|
-
public_title: task.public_title,
|
|
94
|
-
public_category: task.public_category,
|
|
95
|
-
execution_mode: task.execution_mode,
|
|
96
|
-
latency_class: task.latency_class,
|
|
97
|
-
execution_truth: settlementReadiness.ready ? "native_live" : "operator_inputs_pending",
|
|
98
|
-
execution_origin: "native_settlement_runtime",
|
|
99
|
-
commercialization_posture: settlementReadiness.ready ? "sellable_live_now" : "sellable_when_operator_configured",
|
|
100
|
-
matching_execution_target_count: providerTargets.length,
|
|
101
|
-
matching_execution_targets: providerTargets,
|
|
102
|
-
requirements: {
|
|
103
|
-
bsv_runtime_mode: settlementReadiness.runtime_mode,
|
|
104
|
-
merchant_identity_configured: settlementReadiness.merchant_identity_configured,
|
|
105
|
-
treasury_configured: settlementReadiness.treasury_configured
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (normalizeString(task && task.public_category) === "adapter") {
|
|
111
|
-
// Only ENABLED targets make an adapter lane live — a bound-but-disabled target must not be
|
|
112
|
-
// reported as provider_live (adapter-depth filters the same way; the two surfaces must agree).
|
|
113
|
-
const enabledTargets = providerTargets.filter((target) => target.enabled);
|
|
114
|
-
return {
|
|
115
|
-
task_ref: task.public_task_ref,
|
|
116
|
-
internal_task_ref: task.task_ref,
|
|
117
|
-
public_title: task.public_title,
|
|
118
|
-
public_category: task.public_category,
|
|
119
|
-
execution_mode: task.execution_mode,
|
|
120
|
-
latency_class: task.latency_class,
|
|
121
|
-
execution_truth: enabledTargets.length > 0 ? "provider_live" : "provider_wiring_required",
|
|
122
|
-
execution_origin: enabledTargets.length > 0 ? "external_execution_target" : "adapter_lane_without_bound_target",
|
|
123
|
-
commercialization_posture: enabledTargets.length > 0 ? "sellable_live_now" : "sellable_by_integration",
|
|
124
|
-
matching_execution_target_count: enabledTargets.length,
|
|
125
|
-
disabled_execution_target_count: providerTargets.length - enabledTargets.length,
|
|
126
|
-
matching_execution_targets: providerTargets,
|
|
127
|
-
requirements: {
|
|
128
|
-
configured_provider_target_required: true
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if (NATIVE_RUNTIME_CATEGORIES.has(normalizeString(task && task.public_category))) {
|
|
134
|
-
return {
|
|
135
|
-
task_ref: task.public_task_ref,
|
|
136
|
-
internal_task_ref: task.task_ref,
|
|
137
|
-
public_title: task.public_title,
|
|
138
|
-
public_category: task.public_category,
|
|
139
|
-
execution_mode: task.execution_mode,
|
|
140
|
-
latency_class: task.latency_class,
|
|
141
|
-
execution_truth: "native_live",
|
|
142
|
-
execution_origin: "native_runtime_contract",
|
|
143
|
-
commercialization_posture: "sellable_live_now",
|
|
144
|
-
matching_execution_target_count: providerTargets.length,
|
|
145
|
-
matching_execution_targets: providerTargets,
|
|
146
|
-
requirements: {
|
|
147
|
-
configured_provider_target_required: false
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
return {
|
|
153
|
-
task_ref: task.public_task_ref,
|
|
154
|
-
internal_task_ref: task.task_ref,
|
|
155
|
-
public_title: task.public_title,
|
|
156
|
-
public_category: task.public_category,
|
|
157
|
-
execution_mode: task.execution_mode,
|
|
158
|
-
latency_class: task.latency_class,
|
|
159
|
-
execution_truth: providerTargets.length > 0 ? "provider_live" : "operator_classification_required",
|
|
160
|
-
execution_origin: providerTargets.length > 0 ? "external_execution_target" : "uncategorized_runtime_surface",
|
|
161
|
-
commercialization_posture: providerTargets.length > 0 ? "sellable_live_now" : "hold_until_classified",
|
|
162
|
-
matching_execution_target_count: providerTargets.length,
|
|
163
|
-
matching_execution_targets: providerTargets,
|
|
164
|
-
requirements: {
|
|
165
|
-
configured_provider_target_required: providerTargets.length < 1
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
function buildCapabilityExecutionTruthBundle() {
|
|
171
|
-
const settlementReadiness = buildSettlementReadiness();
|
|
172
|
-
const adapterDepth = summarizeAdapterDepthPack();
|
|
173
|
-
const tasks = (Array.isArray(catalog.tasks) ? catalog.tasks : []).map((task) => classifyTask(task, settlementReadiness));
|
|
174
|
-
const counts = {
|
|
175
|
-
task_count: tasks.length,
|
|
176
|
-
native_live_count: tasks.filter((task) => task.execution_truth === "native_live").length,
|
|
177
|
-
provider_live_count: tasks.filter((task) => task.execution_truth === "provider_live").length,
|
|
178
|
-
operator_inputs_pending_count: tasks.filter((task) => task.execution_truth === "operator_inputs_pending").length,
|
|
179
|
-
provider_wiring_required_count: tasks.filter((task) => task.execution_truth === "provider_wiring_required").length,
|
|
180
|
-
operator_classification_required_count: tasks.filter((task) => task.execution_truth === "operator_classification_required").length
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
return {
|
|
184
|
-
ok: true,
|
|
185
|
-
product: packageJson.name,
|
|
186
|
-
category: "machine-commerce-capability-execution-truth",
|
|
187
|
-
bundle_version: "xytara-capability-execution-truth-v1",
|
|
188
|
-
execution_posture: {
|
|
189
|
-
native_runtime_categories: Array.from(NATIVE_RUNTIME_CATEGORIES.values()),
|
|
190
|
-
settlement_readiness: settlementReadiness,
|
|
191
|
-
configured_execution_target_count: loadExecutionTargetRegistry().length,
|
|
192
|
-
adapter_depth_state: adapterDepth.adapter_depth_state,
|
|
193
|
-
adapter_depth_counts: adapterDepth.counts
|
|
194
|
-
},
|
|
195
|
-
counts,
|
|
196
|
-
tasks,
|
|
197
|
-
linked_surfaces: {
|
|
198
|
-
capability_registry_ref: "/v1/capability-registry",
|
|
199
|
-
execution_truth_summary_ref: "/v1/capability-registry/execution-truth/summary",
|
|
200
|
-
adapter_depth_ref: "/v1/adapter-depth",
|
|
201
|
-
adapter_depth_summary_ref: "/v1/adapter-depth/summary",
|
|
202
|
-
treasury_readiness_ref: "/v1/treasury-destinations",
|
|
203
|
-
native_settlement_readiness_ref: "/v1/settlement/bsv-teranode/readiness"
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
function summarizeCapabilityExecutionTruthBundle() {
|
|
209
|
-
const bundle = buildCapabilityExecutionTruthBundle();
|
|
210
|
-
return {
|
|
211
|
-
ok: true,
|
|
212
|
-
product: bundle.product,
|
|
213
|
-
category: bundle.category,
|
|
214
|
-
bundle_version: bundle.bundle_version,
|
|
215
|
-
counts: bundle.counts,
|
|
216
|
-
execution_posture: bundle.execution_posture,
|
|
217
|
-
linked_surfaces: bundle.linked_surfaces
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
function buildCapabilityCommercializationSummary() {
|
|
222
|
-
const bundle = buildCapabilityExecutionTruthBundle();
|
|
223
|
-
const tasks = Array.isArray(bundle.tasks) ? bundle.tasks : [];
|
|
224
|
-
const selfServeLiveNow = tasks.filter((task) =>
|
|
225
|
-
task.commercialization_posture === "sellable_live_now"
|
|
226
|
-
);
|
|
227
|
-
const operatorEnabledAfterConfig = tasks.filter((task) =>
|
|
228
|
-
task.commercialization_posture === "sellable_when_operator_configured"
|
|
229
|
-
|| task.commercialization_posture === "sellable_by_integration"
|
|
230
|
-
);
|
|
231
|
-
const holdUntilClassified = tasks.filter((task) =>
|
|
232
|
-
task.commercialization_posture === "hold_until_classified"
|
|
233
|
-
);
|
|
234
|
-
|
|
235
|
-
return {
|
|
236
|
-
ok: true,
|
|
237
|
-
product: packageJson.name,
|
|
238
|
-
category: "machine-commerce-capability-commercialization-summary",
|
|
239
|
-
summary_version: "xytara-capability-commercialization-summary-v1",
|
|
240
|
-
commercialization_posture: {
|
|
241
|
-
primary_agent_entry_surfaces: ["x402", "mcp", "a2a", "a2c", "http_api"],
|
|
242
|
-
secondary_human_entry_surfaces: ["hosted_checkout", "web_docs", "npm_package"],
|
|
243
|
-
primary_payment_surfaces: ["x402", "credits", "hosted_checkout"],
|
|
244
|
-
discovery_surfaces: ["capability_registry", "catalog", "execution_truth"]
|
|
245
|
-
},
|
|
246
|
-
counts: {
|
|
247
|
-
self_serve_live_now: selfServeLiveNow.length,
|
|
248
|
-
operator_enabled_after_config: operatorEnabledAfterConfig.length,
|
|
249
|
-
hold_until_classified: holdUntilClassified.length
|
|
250
|
-
},
|
|
251
|
-
sellable_now_task_refs: selfServeLiveNow.map((task) => task.task_ref),
|
|
252
|
-
operator_enabled_task_refs: operatorEnabledAfterConfig.map((task) => task.task_ref),
|
|
253
|
-
hold_task_refs: holdUntilClassified.map((task) => task.task_ref),
|
|
254
|
-
recommendations: [
|
|
255
|
-
"Use x402 for machine-native pay-per-use access and keep hosted checkout as the human-friendly money-in lane.",
|
|
256
|
-
"Expose MCP and A2A entry paths for interoperable agent consumption while preserving execution-truth visibility.",
|
|
257
|
-
"Only market provider-backed capabilities as instant self-serve once execution targets are configured and operator readiness is green."
|
|
258
|
-
],
|
|
259
|
-
linked_surfaces: {
|
|
260
|
-
capability_registry_ref: "/v1/capability-registry",
|
|
261
|
-
execution_truth_ref: "/v1/capability-registry/execution-truth",
|
|
262
|
-
execution_truth_summary_ref: "/v1/capability-registry/execution-truth/summary",
|
|
263
|
-
x402_ref: "/v1/x402",
|
|
264
|
-
mcp_ref: "/v1/mcp",
|
|
265
|
-
a2a_ref: "/v1/a2a",
|
|
266
|
-
a2c_ref: "/v1/a2c",
|
|
267
|
-
checkout_ref: "/v1/checkout/purchase-intents"
|
|
268
|
-
}
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
module.exports = {
|
|
273
|
-
buildCapabilityExecutionTruthBundle,
|
|
274
|
-
summarizeCapabilityExecutionTruthBundle,
|
|
275
|
-
buildCapabilityCommercializationSummary
|
|
276
|
-
};
|