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.
Files changed (373) hide show
  1. package/.env.example +67 -58
  2. package/ADAPTER_START_HERE.md +56 -56
  3. package/CARRIED_HANDOFF_DEMO.md +60 -60
  4. package/EXAMPLE_PATHS.md +53 -53
  5. package/FINAL_CONTRACT.md +498 -498
  6. package/LICENSE +201 -201
  7. package/NOTICE +3 -3
  8. package/PARTNER_READY_PATH.md +71 -71
  9. package/PUBLIC_DEMO_SCRIPT.md +78 -78
  10. package/README.md +6 -1
  11. package/REAL_PAYMENT_SETUP.md +32 -3
  12. package/RELEASE_NOTES.md +14 -14
  13. package/SERVICE_CONTRACT.md +419 -419
  14. package/START_HERE.md +1 -1
  15. package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -61
  16. package/TERMINOLOGY.md +50 -50
  17. package/WHY_XYTARA_XOONYA.md +63 -63
  18. package/XT1_EXECUTION_TRUTH_STANDARD.md +78 -78
  19. package/XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md +75 -75
  20. package/XYTARA_AUTONOMOUS_ENTRY_MODEL.md +124 -124
  21. package/XYTARA_DEFAULT_PATH_MODEL.md +84 -84
  22. package/XYTARA_EXECUTION_TRUTH_MODEL.md +171 -171
  23. package/XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md +68 -68
  24. package/adapters/AUTHORING_GUIDE.md +243 -243
  25. package/adapters/ONBOARDING_POSTURE.md +61 -61
  26. package/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md +84 -84
  27. package/adapters/adapter-manifest.schema.json +283 -283
  28. package/adapters/examples/example-execution-adapter.js +61 -61
  29. package/adapters/examples/example-execution-adapter.manifest.json +81 -81
  30. package/adapters/examples/example-settlement-adapter.js +55 -55
  31. package/adapters/examples/example-settlement-adapter.manifest.json +78 -78
  32. package/adapters/examples/example-third-party-acp-registration.submission-bundle.json +124 -124
  33. package/adapters/examples/example-third-party-erc8004-registration.submission-bundle.json +121 -121
  34. package/adapters/examples/example-third-party-identity-registration.certification-pack.json +22 -22
  35. package/adapters/examples/example-third-party-identity-registration.record.json +26 -26
  36. package/adapters/examples/example-third-party-identity-registration.submission-bundle.json +126 -126
  37. package/adapters/examples/example-third-party-langchain-registration.submission-bundle.json +124 -124
  38. package/adapters/examples/example-third-party-mpp-registration.submission-bundle.json +120 -120
  39. package/adapters/examples/example-third-party-registration.certification-pack.json +22 -22
  40. package/adapters/examples/example-third-party-registration.record.json +28 -28
  41. package/adapters/examples/example-third-party-registration.submission-bundle.json +126 -126
  42. package/adapters/examples/example-third-party-settlement-registration.certification-pack.json +22 -22
  43. package/adapters/examples/example-third-party-settlement-registration.record.json +26 -26
  44. package/adapters/examples/example-third-party-settlement-registration.submission-bundle.json +127 -127
  45. package/adapters/examples/langchain-reference-execution-adapter.js +81 -81
  46. package/adapters/examples/langchain-reference-execution-adapter.manifest.json +79 -79
  47. package/adapters/examples/langgraph-reference-execution-adapter.js +81 -81
  48. package/adapters/examples/langgraph-reference-execution-adapter.manifest.json +79 -79
  49. package/adapters/examples/minimal-third-party-execution-adapter.js +61 -61
  50. package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -79
  51. package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -26
  52. package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -22
  53. package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -126
  54. package/adapters/integration-certification-pack.schema.json +82 -82
  55. package/adapters/integration-registration-record.schema.json +114 -114
  56. package/adapters/integration-submission-bundle-set.schema.json +39 -39
  57. package/adapters/integration-submission-bundle.schema.json +34 -34
  58. package/adapters/interfaces.js +56 -56
  59. package/bin/xytara-first-run.js +244 -244
  60. package/bin/xytara-release.js +1429 -1429
  61. package/bin/xytara-run.js +186 -186
  62. package/bin/xytara.js +80 -80
  63. package/client.js +3 -3
  64. package/examples/_demo_env.js +40 -0
  65. package/examples/adapter_review_walkthrough.js +54 -53
  66. package/examples/export_carried_handoff.js +81 -80
  67. package/examples/funded_runtime_walkthrough.js +71 -70
  68. package/examples/generated.carried-handoff.json +30 -0
  69. package/examples/partner_launch_walkthrough.js +44 -43
  70. package/examples/quickstart.js +3256 -3255
  71. package/fixtures/catalog.js +1134 -1134
  72. package/index.js +395 -395
  73. package/integrations/dispatch.js +276 -276
  74. package/integrations/registry-snapshot.schema.json +36 -36
  75. package/integrations/registry.js +2261 -2261
  76. package/integrations/views.js +28 -28
  77. package/lib/a2a_lane_contract.js +104 -104
  78. package/lib/a2c_lane_contract.js +111 -111
  79. package/lib/account_auth.js +518 -518
  80. package/lib/acp_lane_contract.js +54 -54
  81. package/lib/activity_audit_contract.js +322 -322
  82. package/lib/adapter_certification_contract.js +130 -130
  83. package/lib/adapter_depth_contract.js +156 -156
  84. package/lib/adapter_pack.js +118 -118
  85. package/lib/adapter_partner_pack.js +89 -89
  86. package/lib/adapter_promotion_pack.js +89 -89
  87. package/lib/adapter_protocol_truth_contract.js +229 -229
  88. package/lib/announcement_pack.js +61 -61
  89. package/lib/artifact_distribution_lane_contract.js +54 -54
  90. package/lib/asyncapi_contract.js +150 -150
  91. package/lib/auth_interop_contract.js +80 -80
  92. package/lib/authority_binding_lifecycle_contract.js +182 -182
  93. package/lib/autonomous_entry_contract.js +409 -409
  94. package/lib/bolt_lane_contract.js +55 -55
  95. package/lib/bolt_payment_front.js +172 -172
  96. package/lib/business_cockpit.js +378 -378
  97. package/lib/capability_execution_truth.js +272 -272
  98. package/lib/capability_registry.js +633 -633
  99. package/lib/catalog_contract.js +966 -966
  100. package/lib/catalog_family_model.js +193 -193
  101. package/lib/catalog_views.js +55 -55
  102. package/lib/checkout_event_security.js +142 -142
  103. package/lib/cloudevents_contract.js +80 -80
  104. package/lib/command_flow.js +411 -406
  105. package/lib/commerce_artifacts.js +503 -503
  106. package/lib/commerce_authority.js +449 -449
  107. package/lib/commerce_cases.js +317 -317
  108. package/lib/commerce_checkout.js +509 -509
  109. package/lib/commerce_client.js +7687 -7676
  110. package/lib/commerce_coordination.js +346 -346
  111. package/lib/commerce_economics.js +4017 -4016
  112. package/lib/commerce_identity.js +578 -578
  113. package/lib/commerce_quotes.js +237 -237
  114. package/lib/commerce_reports.js +14461 -14461
  115. package/lib/commerce_runtime.js +315 -315
  116. package/lib/commerce_shell.js +257 -257
  117. package/lib/crypto_agility_matrix.js +125 -125
  118. package/lib/default_path_contract.js +412 -412
  119. package/lib/delivery_summary_contract.js +95 -95
  120. package/lib/ecosystem_entry.js +64 -64
  121. package/lib/erc8004_lane_contract.js +65 -65
  122. package/lib/event_system_lane_contract.js +75 -75
  123. package/lib/execution_truth_contract.js +234 -234
  124. package/lib/external_credit_bridge.js +142 -142
  125. package/lib/external_execution_runtime.js +132 -132
  126. package/lib/feature_control_lane_contract.js +54 -54
  127. package/lib/first_run_conversion_contract.js +290 -290
  128. package/lib/framework_lane_contract.js +89 -89
  129. package/lib/framework_provider_promotion.js +235 -235
  130. package/lib/full_catalog_contract.js +525 -525
  131. package/lib/go_live_operator_pack.js +391 -391
  132. package/lib/http_transport.js +73 -73
  133. package/lib/identity_auth.js +175 -175
  134. package/lib/identity_interop_contract.js +82 -82
  135. package/lib/integration_matrix_contract.js +102 -102
  136. package/lib/l402_lane_contract.js +55 -55
  137. package/lib/l402_payment_front.js +192 -192
  138. package/lib/launch_narrative.js +53 -53
  139. package/lib/lifecycle_continuity_contract.js +115 -115
  140. package/lib/machine_identity_registry_contract.js +199 -199
  141. package/lib/major_rails_lane_contract.js +150 -150
  142. package/lib/market_lane_contract.js +467 -467
  143. package/lib/market_lane_depth_contract.js +182 -182
  144. package/lib/market_lane_promotion_contract.js +210 -210
  145. package/lib/market_lane_trace_contract.js +278 -278
  146. package/lib/mcp_lane_contract.js +137 -137
  147. package/lib/network_transport.js +110 -110
  148. package/lib/offline_verifiability_recovery_contract.js +155 -155
  149. package/lib/openapi_contract.js +296 -296
  150. package/lib/operational_receipt_contract.js +165 -165
  151. package/lib/operator_intelligence.js +407 -407
  152. package/lib/outreach_copy_pack.js +51 -51
  153. package/lib/outreach_message_pack.js +71 -71
  154. package/lib/outreach_proof.js +71 -71
  155. package/lib/outreach_target_pack.js +60 -60
  156. package/lib/partner_intelligence.js +105 -105
  157. package/lib/payment_config.js +239 -191
  158. package/lib/payment_front_registry.js +53 -53
  159. package/lib/payment_protocol_contract.js +165 -165
  160. package/lib/payment_rail_truth_contract.js +324 -324
  161. package/lib/payment_verification.js +312 -264
  162. package/lib/phase_10_closeout_pack.js +45 -45
  163. package/lib/phase_10_completion_pack.js +76 -76
  164. package/lib/phase_10_decision_record_pack.js +54 -54
  165. package/lib/phase_10_decision_resolution_pack.js +53 -53
  166. package/lib/phase_10_demand_signal_adapters_runtime_pack.js +74 -74
  167. package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +74 -74
  168. package/lib/phase_10_freeze_baseline_pack.js +67 -67
  169. package/lib/phase_10_freeze_review_pack.js +64 -64
  170. package/lib/phase_10_gate_pack.js +57 -57
  171. package/lib/phase_10_long_tail_continuity_pack.js +80 -80
  172. package/lib/phase_10_long_tail_ecosystem_pack.js +66 -66
  173. package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -74
  174. package/lib/phase_1_claude_mcp_pack.js +60 -60
  175. package/lib/phase_1_claude_mcp_runtime_pack.js +52 -52
  176. package/lib/phase_1_ecosystem_pack.js +67 -67
  177. package/lib/phase_1_openai_codex_pack.js +60 -60
  178. package/lib/phase_1_openai_codex_runtime_pack.js +52 -52
  179. package/lib/phase_2_base_runtime_pack.js +71 -71
  180. package/lib/phase_2_base_usdc_runtime_pack.js +72 -72
  181. package/lib/phase_2_closeout_pack.js +65 -65
  182. package/lib/phase_2_completion_pack.js +113 -113
  183. package/lib/phase_2_decision_record_pack.js +66 -66
  184. package/lib/phase_2_decision_resolution_pack.js +69 -69
  185. package/lib/phase_2_eth_runtime_pack.js +70 -70
  186. package/lib/phase_2_evm_base_runtime_pack.js +73 -73
  187. package/lib/phase_2_evm_runtime_pack.js +71 -71
  188. package/lib/phase_2_flip_preview_pack.js +60 -60
  189. package/lib/phase_2_freeze_review_pack.js +99 -99
  190. package/lib/phase_2_gate_pack.js +77 -77
  191. package/lib/phase_2_payment_rails_pack.js +71 -71
  192. package/lib/phase_2_usdc_runtime_pack.js +71 -71
  193. package/lib/phase_3_brc_runtime_pack.js +81 -81
  194. package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -83
  195. package/lib/phase_3_closeout_pack.js +62 -62
  196. package/lib/phase_3_completion_pack.js +94 -94
  197. package/lib/phase_3_decision_record_pack.js +64 -64
  198. package/lib/phase_3_decision_resolution_pack.js +69 -69
  199. package/lib/phase_3_freeze_baseline_pack.js +67 -67
  200. package/lib/phase_3_freeze_review_pack.js +80 -80
  201. package/lib/phase_3_gate_pack.js +76 -76
  202. package/lib/phase_3_metanet_runtime_pack.js +81 -81
  203. package/lib/phase_3_native_bsv_pack.js +91 -91
  204. package/lib/phase_3_native_continuity_pack.js +82 -82
  205. package/lib/phase_4_attestation_runtime_pack.js +75 -75
  206. package/lib/phase_4_closeout_pack.js +45 -45
  207. package/lib/phase_4_completion_pack.js +94 -94
  208. package/lib/phase_4_decision_record_pack.js +54 -54
  209. package/lib/phase_4_decision_resolution_pack.js +45 -45
  210. package/lib/phase_4_erc8004_runtime_pack.js +76 -76
  211. package/lib/phase_4_freeze_baseline_pack.js +67 -67
  212. package/lib/phase_4_freeze_review_pack.js +68 -68
  213. package/lib/phase_4_gate_pack.js +58 -58
  214. package/lib/phase_4_identity_registry_runtime_pack.js +75 -75
  215. package/lib/phase_4_identity_trust_pack.js +73 -73
  216. package/lib/phase_4_trust_continuity_pack.js +86 -86
  217. package/lib/phase_5_antelope_runtime_pack.js +76 -76
  218. package/lib/phase_5_closeout_pack.js +44 -44
  219. package/lib/phase_5_completion_pack.js +82 -82
  220. package/lib/phase_5_constellation_dag_runtime_pack.js +76 -76
  221. package/lib/phase_5_decision_record_pack.js +54 -54
  222. package/lib/phase_5_decision_resolution_pack.js +45 -45
  223. package/lib/phase_5_digibyte_dgb_runtime_pack.js +76 -76
  224. package/lib/phase_5_freeze_baseline_pack.js +67 -67
  225. package/lib/phase_5_freeze_review_pack.js +68 -68
  226. package/lib/phase_5_gate_pack.js +58 -58
  227. package/lib/phase_5_hedera_hbar_runtime_pack.js +76 -76
  228. package/lib/phase_5_kaspa_kas_runtime_pack.js +76 -76
  229. package/lib/phase_5_major_rails_continuity_pack.js +86 -86
  230. package/lib/phase_5_major_rails_pack.js +110 -110
  231. package/lib/phase_5_metal_runtime_pack.js +76 -76
  232. package/lib/phase_5_polkadot_dot_runtime_pack.js +76 -76
  233. package/lib/phase_5_proton_xpr_runtime_pack.js +76 -76
  234. package/lib/phase_5_solana_runtime_pack.js +76 -76
  235. package/lib/phase_6_autogen_runtime_pack.js +72 -72
  236. package/lib/phase_6_closeout_pack.js +46 -46
  237. package/lib/phase_6_completion_pack.js +77 -77
  238. package/lib/phase_6_decision_record_pack.js +54 -54
  239. package/lib/phase_6_decision_resolution_pack.js +53 -53
  240. package/lib/phase_6_framework_continuity_pack.js +81 -81
  241. package/lib/phase_6_framework_runtime_pack.js +68 -68
  242. package/lib/phase_6_freeze_baseline_pack.js +68 -68
  243. package/lib/phase_6_freeze_review_pack.js +65 -65
  244. package/lib/phase_6_gate_pack.js +59 -59
  245. package/lib/phase_6_langchain_runtime_pack.js +72 -72
  246. package/lib/phase_6_langgraph_runtime_pack.js +72 -72
  247. package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -72
  248. package/lib/phase_7_closeout_pack.js +45 -45
  249. package/lib/phase_7_completion_pack.js +85 -85
  250. package/lib/phase_7_decision_record_pack.js +53 -53
  251. package/lib/phase_7_decision_resolution_pack.js +53 -53
  252. package/lib/phase_7_event_system_continuity_pack.js +89 -89
  253. package/lib/phase_7_event_system_pack.js +76 -76
  254. package/lib/phase_7_freeze_baseline_pack.js +74 -74
  255. package/lib/phase_7_freeze_review_pack.js +65 -65
  256. package/lib/phase_7_gate_pack.js +58 -58
  257. package/lib/phase_7_kafka_runtime_pack.js +74 -74
  258. package/lib/phase_7_mqtt_runtime_pack.js +74 -74
  259. package/lib/phase_7_nats_runtime_pack.js +74 -74
  260. package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -74
  261. package/lib/phase_8_closeout_pack.js +46 -46
  262. package/lib/phase_8_completion_pack.js +82 -82
  263. package/lib/phase_8_decision_record_pack.js +54 -54
  264. package/lib/phase_8_decision_resolution_pack.js +53 -53
  265. package/lib/phase_8_external_receipt_import_runtime_pack.js +74 -74
  266. package/lib/phase_8_external_result_import_runtime_pack.js +74 -74
  267. package/lib/phase_8_freeze_baseline_pack.js +71 -71
  268. package/lib/phase_8_freeze_review_pack.js +64 -64
  269. package/lib/phase_8_gate_pack.js +58 -58
  270. package/lib/phase_8_proof_bridge_continuity_pack.js +86 -86
  271. package/lib/phase_8_proof_bridges_pack.js +72 -72
  272. package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +74 -74
  273. package/lib/phase_9_closeout_pack.js +46 -46
  274. package/lib/phase_9_completion_pack.js +82 -82
  275. package/lib/phase_9_custody_refs_runtime_pack.js +74 -74
  276. package/lib/phase_9_decision_record_pack.js +54 -54
  277. package/lib/phase_9_decision_resolution_pack.js +53 -53
  278. package/lib/phase_9_freeze_baseline_pack.js +71 -71
  279. package/lib/phase_9_freeze_review_pack.js +64 -64
  280. package/lib/phase_9_gate_pack.js +58 -58
  281. package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +74 -74
  282. package/lib/phase_9_treasury_connectivity_pack.js +72 -72
  283. package/lib/phase_9_treasury_continuity_pack.js +86 -86
  284. package/lib/phase_9_treasury_destinations_runtime_pack.js +74 -74
  285. package/lib/phase_program_pack.js +120 -120
  286. package/lib/pricing_optimization_contract.js +775 -775
  287. package/lib/protocol_lane_contract.js +117 -117
  288. package/lib/provenance_lane_contract.js +54 -54
  289. package/lib/provider_lane_contract.js +240 -240
  290. package/lib/provider_runtime_journey_contract.js +183 -183
  291. package/lib/public_surface_policy_contract.js +111 -111
  292. package/lib/publish_plan.js +51 -51
  293. package/lib/record_queries.js +48 -48
  294. package/lib/release_candidate.js +50 -50
  295. package/lib/release_center.js +1093 -1093
  296. package/lib/release_history.js +205 -205
  297. package/lib/release_manifest.js +113 -113
  298. package/lib/release_pack.js +453 -453
  299. package/lib/request_rate_limit.js +144 -144
  300. package/lib/resource_views.js +31 -31
  301. package/lib/revenue_launch_path_contract.js +326 -326
  302. package/lib/route_matchers.js +34 -34
  303. package/lib/route_params.js +19 -19
  304. package/lib/runtime_bridge.js +124 -124
  305. package/lib/runtime_operations_worker.js +282 -282
  306. package/lib/runtime_state_store.js +354 -354
  307. package/lib/settlement_lane_contract.js +111 -111
  308. package/lib/shared_signals_lane_contract.js +54 -54
  309. package/lib/signed_audit_provenance_contract.js +83 -83
  310. package/lib/soft_launch_pack.js +78 -78
  311. package/lib/stablecoin_lane_contract.js +76 -76
  312. package/lib/stripe_mpp_lane_contract.js +96 -96
  313. package/lib/stripe_mpp_payment_front.js +158 -158
  314. package/lib/telemetry_lane_contract.js +54 -54
  315. package/lib/treasury_destinations_contract.js +764 -764
  316. package/lib/treasury_egress_policy_contract.js +91 -91
  317. package/lib/treasury_lane_contract.js +84 -84
  318. package/lib/trust_portability_boundary_contract.js +72 -72
  319. package/lib/x402_facilitator.js +155 -0
  320. package/lib/x402_lane_contract.js +118 -118
  321. package/package.json +106 -105
  322. package/scripts/registry_cli.js +275 -275
  323. package/scripts/verify_adapters.js +554 -554
  324. package/scripts/verify_all.js +4962 -4962
  325. package/scripts/verify_control_plane_contracts.js +34 -34
  326. package/scripts/verify_control_plane_routes.js +70 -70
  327. package/scripts/verify_delivery_summary.js +112 -112
  328. package/scripts/verify_examples.js +19 -19
  329. package/scripts/verify_first_run_conversions.js +81 -81
  330. package/scripts/verify_framework_provider_promotion.js +152 -152
  331. package/scripts/verify_full_catalog.js +174 -174
  332. package/scripts/verify_integrations.js +620 -620
  333. package/scripts/verify_lifecycle_continuity.js +96 -96
  334. package/scripts/verify_market_lane_depth.js +94 -94
  335. package/scripts/verify_market_lane_promotion.js +103 -103
  336. package/scripts/verify_market_lane_traces.js +98 -98
  337. package/scripts/verify_market_lanes.js +102 -102
  338. package/scripts/verify_operator_observability_boundary.js +83 -83
  339. package/scripts/verify_pricing_experiment_plan.js +124 -124
  340. package/scripts/verify_provider_runtime_breadth.js +109 -109
  341. package/scripts/verify_provider_runtime_journeys.js +111 -111
  342. package/scripts/verify_revenue_launch_paths.js +105 -105
  343. package/scripts/verify_runtime_durability.js +52 -52
  344. package/scripts/verify_service.js +15410 -15250
  345. package/scripts/verify_tooling.js +1412 -1412
  346. package/scripts/verify_treasury_public_boundary.js +97 -97
  347. package/scripts/verify_x402_facilitator.js +174 -0
  348. package/server.js +11117 -11006
  349. package/.env.production.checklist +0 -77
  350. package/.env.production.template +0 -54
  351. package/.github/workflows/publish-mcp-executor.yml +0 -43
  352. package/ADAPTER_PARTNER_PATH.md +0 -47
  353. package/ADAPTER_PROMOTION_START_HERE.md +0 -44
  354. package/BOLT_BINDINGS.production.worksheet.json +0 -31
  355. package/EXECUTION_TARGETS.production.worksheet.json +0 -73
  356. package/GO_LIVE_OPERATOR_PACK.md +0 -412
  357. package/L402_BINDINGS.production.worksheet.json +0 -30
  358. package/OPERATIONS_RUNBOOK.md +0 -115
  359. package/OPERATOR_START_HERE.md +0 -63
  360. package/OUTREACH_MESSAGES.md +0 -19
  361. package/OUTREACH_START_HERE.md +0 -36
  362. package/PRODUCTION_MANUAL_CLOSEOUT_SEQUENCE.md +0 -172
  363. package/PROGRAM_COMPLETE_RELEASE.md +0 -63
  364. package/PROGRAM_STATUS.md +0 -57
  365. package/PUBLISH_PLAN.md +0 -26
  366. package/RELEASE_CHECKLIST.md +0 -16
  367. package/SOFT_LAUNCH_KIT.md +0 -47
  368. package/services/mcp-execution-target/DISCOVERY_REGISTRY_PLAYBOOK.md +0 -141
  369. package/services/mcp-execution-target/README.md +0 -319
  370. package/services/mcp-execution-target/package.json +0 -14
  371. package/services/mcp-execution-target/server.js +0 -1031
  372. package/services/mcp-execution-target/server.json +0 -16
  373. package/services/mcp-execution-target/verify.js +0 -308
@@ -1,467 +1,467 @@
1
- "use strict";
2
-
3
- const packageJson = require("../package.json");
4
- const { buildCatalogResponse } = require("./catalog_contract");
5
- const { buildAdapterDepthPack } = require("./adapter_depth_contract");
6
- const { buildFrameworkLanePack } = require("./framework_lane_contract");
7
- const { buildMajorRailsLanePack } = require("./major_rails_lane_contract");
8
- const { buildProtocolLanePack } = require("./protocol_lane_contract");
9
- const { MARKET_CLASS_DEFINITIONS } = require("./catalog_family_model");
10
-
11
- function uniqueSorted(values) {
12
- return Array.from(new Set((Array.isArray(values) ? values : []).filter(Boolean))).sort();
13
- }
14
-
15
- function tasksForMarket(tasks, marketClass) {
16
- return (Array.isArray(tasks) ? tasks : []).filter((entry) => entry && entry.market_class === marketClass);
17
- }
18
-
19
- function buildActivationProfilesByMarket() {
20
- return {
21
- compute: [
22
- {
23
- profile_id: "compute.invoke_primary",
24
- activation_mode: "callable",
25
- activation_label: "invoke primary",
26
- operation_ref: "family.invoke",
27
- call_surface: "/v1/transaction-center/task-packs/invoke",
28
- workflow_ref: "a2c.tooling.flow",
29
- recommended_pack_ref: "default.mcp.tool.invoke",
30
- task_refs: ["adapter.mcp.invoke"],
31
- payload_shape: {
32
- pack_ref: "default.mcp.tool.invoke",
33
- payload_fields: ["tool_name", "arguments"]
34
- },
35
- expected_outcome: "provider-bound compute execution through the canonical MCP invocation lane"
36
- },
37
- {
38
- profile_id: "compute.commitment_flow",
39
- activation_mode: "callable",
40
- activation_label: "commitment flow",
41
- operation_ref: "family.quote_commit",
42
- call_surface: "/v1/transaction-center/transaction-class-packs/run",
43
- workflow_ref: "job.commitment.flow",
44
- recommended_pack_ref: "transaction.job.commitment",
45
- task_refs: ["jobs.quote", "jobs.reserve", "jobs.commit"],
46
- payload_shape: {
47
- class_pack_ref: "transaction.job.commitment",
48
- payload_fields: ["job_type", "job_id"]
49
- },
50
- expected_outcome: "quoted, reserved, and committed compute work inside the governed runtime"
51
- }
52
- ],
53
- data: [
54
- {
55
- profile_id: "data.discovery",
56
- activation_mode: "callable",
57
- activation_label: "discovery",
58
- operation_ref: "family.discover",
59
- call_surface: "/v1/catalog/task?ref=zones.list",
60
- workflow_ref: null,
61
- recommended_pack_ref: null,
62
- task_refs: ["zones.list"],
63
- payload_shape: {
64
- payload_fields: []
65
- },
66
- expected_outcome: "discoverable runtime zones and public data-facing capability posture"
67
- },
68
- {
69
- profile_id: "data.delivery_export",
70
- activation_mode: "callable",
71
- activation_label: "delivery export",
72
- operation_ref: "family.deliver",
73
- call_surface: "/v1/transaction-center/result-packages/export",
74
- workflow_ref: "runtime.consequence.flow",
75
- recommended_pack_ref: "result.spine.a2c.tooling",
76
- task_refs: ["runtime.emit", "jobs.release", "registry.pack.bundle"],
77
- payload_shape: {
78
- result_package_ref: "result.spine.a2c.tooling",
79
- payload_fields: ["workflow_ref", "task_refs"]
80
- },
81
- expected_outcome: "portable result-package export with receipt and delivery continuity"
82
- }
83
- ],
84
- storage: [
85
- {
86
- profile_id: "storage.anchor_registry",
87
- activation_mode: "callable",
88
- activation_label: "anchor registry",
89
- operation_ref: "family.anchor",
90
- call_surface: "/v1/transaction-center/transaction-class-packs/run",
91
- workflow_ref: "registry.anchor.flow",
92
- recommended_pack_ref: "transaction.identity.anchor",
93
- task_refs: ["registry.register", "anchoring.submit"],
94
- payload_shape: {
95
- class_pack_ref: "transaction.identity.anchor",
96
- payload_fields: ["subject_id", "record_type", "commitment_hash"]
97
- },
98
- expected_outcome: "registry-backed storage state carried into anchored commitments"
99
- }
100
- ],
101
- messaging: [
102
- {
103
- profile_id: "messaging.session_tooling",
104
- activation_mode: "callable",
105
- activation_label: "session tooling",
106
- operation_ref: "family.session_send_close",
107
- call_surface: "/v1/transaction-center/task-packs/invoke",
108
- workflow_ref: "a2c.tooling.flow",
109
- recommended_pack_ref: "default.a2c.tooling.run",
110
- task_refs: ["a2c.session.open", "a2c.pack.preview"],
111
- payload_shape: {
112
- pack_ref: "default.a2c.tooling.run",
113
- payload_fields: ["agent_id", "channel_ref", "pack_ref"]
114
- },
115
- expected_outcome: "session-backed messaging and tooling exchange through the canonical A2C lane"
116
- },
117
- {
118
- profile_id: "messaging.negotiation",
119
- activation_mode: "callable",
120
- activation_label: "negotiation",
121
- operation_ref: "family.negotiate",
122
- call_surface: "/v1/transaction-center/precommit-packs/run",
123
- workflow_ref: "a2a.settlement.flow",
124
- recommended_pack_ref: "precommit.a2a.settlement.readiness",
125
- task_refs: ["a2a.negotiate"],
126
- payload_shape: {
127
- precommit_pack_ref: "precommit.a2a.settlement.readiness",
128
- payload_fields: ["counterparty_agent_id", "task_pack_ref"]
129
- },
130
- expected_outcome: "agent-to-agent negotiation readiness with event/system coordination posture"
131
- }
132
- ],
133
- device_robotics: [
134
- {
135
- profile_id: "device_robotics.protocol_anchor_preview",
136
- activation_mode: "preview_only",
137
- activation_label: "protocol anchor preview",
138
- operation_ref: null,
139
- call_surface: null,
140
- workflow_ref: null,
141
- recommended_pack_ref: null,
142
- task_refs: [],
143
- payload_shape: {
144
- supporting_protocols: ["mqtt", "ros2"]
145
- },
146
- expected_outcome: "inspect bounded protocol anchor posture without claiming generalized physical execution truth"
147
- }
148
- ],
149
- treasury_payments: [
150
- {
151
- profile_id: "treasury.preview_credits",
152
- activation_mode: "callable",
153
- activation_label: "preview credits",
154
- operation_ref: "family.meter",
155
- call_surface: "/v1/credits/packs",
156
- workflow_ref: null,
157
- recommended_pack_ref: null,
158
- task_refs: ["credits.preview"],
159
- payload_shape: {
160
- payload_fields: ["account_id"]
161
- },
162
- expected_outcome: "preview treasury spend posture before settlement-bearing execution"
163
- },
164
- {
165
- profile_id: "treasury.settlement_intent",
166
- activation_mode: "callable",
167
- activation_label: "settlement intent",
168
- operation_ref: "family.settlement_intent",
169
- call_surface: "/v1/transaction-center/precommit-packs/run",
170
- workflow_ref: "admission.settlement.flow",
171
- recommended_pack_ref: "precommit.a2a.settlement.readiness",
172
- task_refs: ["policy.simulate", "admission.preview"],
173
- payload_shape: {
174
- precommit_pack_ref: "precommit.a2a.settlement.readiness",
175
- payload_fields: ["source_zone_id", "target_zone_id", "policy"]
176
- },
177
- expected_outcome: "bounded settlement intent and policy posture before submission"
178
- },
179
- {
180
- profile_id: "treasury.submit_settlement",
181
- activation_mode: "callable",
182
- activation_label: "submit settlement",
183
- operation_ref: "family.settle_reconcile",
184
- call_surface: "/v1/settlement/bsv-teranode",
185
- workflow_ref: "policy.transaction.flow",
186
- recommended_pack_ref: null,
187
- task_refs: ["settlement.submit", "credits.apply"],
188
- payload_shape: {
189
- payload_fields: ["intent_id", "account_id", "amount_minor"]
190
- },
191
- expected_outcome: "submission and reconciliation posture for treasury-linked settlement"
192
- }
193
- ]
194
- };
195
- }
196
-
197
- function buildMarketLaneIndex(marketLanes) {
198
- return new Map((Array.isArray(marketLanes) ? marketLanes : []).map((entry) => [entry.market_class, entry]));
199
- }
200
-
201
- function buildMarketLanePack() {
202
- const catalogResponse = buildCatalogResponse();
203
- const tasks = Array.isArray(catalogResponse.tasks) ? catalogResponse.tasks : [];
204
- const adapterDepth = buildAdapterDepthPack();
205
- const frameworkLane = buildFrameworkLanePack();
206
- const protocolLane = buildProtocolLanePack();
207
- const majorRailsLane = buildMajorRailsLanePack();
208
- const activationProfilesByMarket = buildActivationProfilesByMarket();
209
-
210
- const frameworkIds = uniqueSorted([
211
- ...Object.keys(frameworkLane.featured_frameworks || {}),
212
- ...Object.keys(frameworkLane.registry_backed_frameworks || {})
213
- ]);
214
- const messagingProtocolIds = uniqueSorted(
215
- Object.keys(protocolLane.featured_protocols || {}).filter((entry) =>
216
- ["a2a", "a2c", "kafka", "mqtt", "nats", "webhook_event_bus"].includes(entry)
217
- )
218
- );
219
- const deviceProtocolIds = uniqueSorted(
220
- Object.keys(protocolLane.featured_protocols || {}).filter((entry) => ["mqtt", "ros2"].includes(entry))
221
- );
222
- const railIds = uniqueSorted(Object.keys(majorRailsLane.featured_lanes || {}));
223
-
224
- const lanesByMarket = {
225
- compute: {
226
- posture: "provider_bound_execution_and_framework_routed_compute_lane",
227
- claim_status: "bounded_live",
228
- evidence_status: "provider_live_plus_first_party_runtime",
229
- coverage_posture: "provider_live_anchor_with_bounded_family_breadth",
230
- surfaced_task_refs: tasksForMarket(tasks, "compute").map((entry) => entry.public_task_ref),
231
- provider_live_task_refs: adapterDepth.public_claim_boundary && adapterDepth.public_claim_boundary.live_provider_claim_allowed
232
- ? ["adapter.mcp.invoke"]
233
- : [],
234
- supporting_lanes: frameworkIds,
235
- call_surfaces: [
236
- "/v1/transaction-center/task-packs/invoke",
237
- "/v1/transaction-center/transaction-class-packs/run"
238
- ],
239
- supporting_surfaces: [
240
- "/v1/adapter-depth/summary",
241
- "/v1/frameworks/summary",
242
- "/v1/capability-registry/execution-truth/summary"
243
- ],
244
- claim_boundary: "claim_compute_live_only_for_provider_bound_task_refs_listed_by_adapter_depth_and_keep_the_rest_bounded"
245
- },
246
- data: {
247
- posture: "result_package_receipt_identity_and_discovery_data_lane",
248
- claim_status: "bounded_live",
249
- evidence_status: "first_party_runtime",
250
- coverage_posture: "direct_task_backed",
251
- surfaced_task_refs: tasksForMarket(tasks, "data").map((entry) => entry.public_task_ref),
252
- provider_live_task_refs: [],
253
- supporting_lanes: ["/v1/catalog/summary", "/v1/transaction-center/result-packages/summary"],
254
- call_surfaces: [
255
- "/v1/catalog/task?ref=zones.list",
256
- "/v1/transaction-center/result-packages/export",
257
- "/v1/receipts"
258
- ],
259
- supporting_surfaces: [
260
- "/v1/catalog/summary",
261
- "/v1/activity-ledger/summary",
262
- "/v1/identity-interop/summary"
263
- ],
264
- claim_boundary: "claim_data_market_coverage_only_for_discovery_identity_receipt_and_result_package_surfaces_listed_publicly"
265
- },
266
- storage: {
267
- posture: "registry_pack_anchoring_and_provenance_storage_lane",
268
- claim_status: "bounded_live",
269
- evidence_status: "proof_handoff_ready",
270
- coverage_posture: "direct_task_backed",
271
- surfaced_task_refs: tasksForMarket(tasks, "storage").map((entry) => entry.public_task_ref),
272
- provider_live_task_refs: [],
273
- supporting_lanes: ["/v1/artifact-distribution/summary", "/v1/provenance/summary"],
274
- call_surfaces: [
275
- "/v1/transaction-center/transaction-class-packs/run"
276
- ],
277
- supporting_surfaces: [
278
- "/v1/artifact-distribution/summary",
279
- "/v1/provenance/summary",
280
- "/v1/settlement/bsv-teranode"
281
- ],
282
- claim_boundary: "claim_storage_market_coverage_only_for_registry_bundle_anchor_and_provenance_surfaces_listed_publicly"
283
- },
284
- messaging: {
285
- posture: "session_negotiation_and_event_bus_messaging_lane",
286
- claim_status: "bounded_live",
287
- evidence_status: "first_party_runtime",
288
- coverage_posture: "direct_task_backed",
289
- surfaced_task_refs: tasksForMarket(tasks, "messaging").map((entry) => entry.public_task_ref),
290
- provider_live_task_refs: [],
291
- supporting_lanes: messagingProtocolIds,
292
- call_surfaces: [
293
- "/v1/transaction-center/precommit-packs/run",
294
- "/v1/transaction-center/task-packs/invoke"
295
- ],
296
- supporting_surfaces: [
297
- "/v1/protocols/summary",
298
- "/v1/event-systems/summary",
299
- "/v1/transaction-center/task-packs/summary"
300
- ],
301
- claim_boundary: "claim_messaging_market_coverage_only_for_a2a_a2c_and_listed_event_bus_protocol_lanes"
302
- },
303
- device_robotics: {
304
- posture: "protocol_anchor_only_device_and_robotics_bridge_lane",
305
- claim_status: "bounded_live",
306
- evidence_status: "protocol_anchor_only",
307
- coverage_posture: "protocol_anchor_only",
308
- surfaced_task_refs: [],
309
- provider_live_task_refs: [],
310
- supporting_lanes: deviceProtocolIds,
311
- call_surfaces: [],
312
- supporting_surfaces: [
313
- "/v1/protocols",
314
- "/v1/protocols/summary",
315
- "/v1/event-systems/summary",
316
- "/v1/integrations/protocols"
317
- ],
318
- claim_boundary: "claim_device_and_robotics_coverage_only_for_protocol_anchor_lanes_and_not_as_generalized_physical_execution_truth"
319
- },
320
- treasury_payments: {
321
- posture: "credits_policy_and_settlement_treasury_lane",
322
- claim_status: "bounded_live",
323
- evidence_status: "first_party_ledger_and_settlement",
324
- coverage_posture: "direct_task_backed",
325
- surfaced_task_refs: tasksForMarket(tasks, "treasury_payments").map((entry) => entry.public_task_ref),
326
- provider_live_task_refs: [],
327
- supporting_lanes: railIds,
328
- call_surfaces: [
329
- "/v1/credits/packs",
330
- "/v1/transaction-center/precommit-packs/run",
331
- "/v1/settlement/bsv-teranode"
332
- ],
333
- supporting_surfaces: [
334
- "/v1/payment-ledger",
335
- "/v1/pricing-optimization/revenue-signal-summary",
336
- "/v1/settlement/bsv-teranode"
337
- ],
338
- claim_boundary: "claim_treasury_and_payments_coverage_only_for_preview_credit_policy_and_settlement_surfaces_listed_publicly"
339
- }
340
- };
341
-
342
- const marketLanes = MARKET_CLASS_DEFINITIONS.map((definition) => {
343
- const coverage = lanesByMarket[definition.market_class] || {};
344
- const surfacedTaskRefs = uniqueSorted(coverage.surfaced_task_refs || []);
345
- const activationProfiles = Array.isArray(activationProfilesByMarket[definition.market_class])
346
- ? activationProfilesByMarket[definition.market_class]
347
- : [];
348
- return {
349
- market_class: definition.market_class,
350
- market_label: definition.label,
351
- lane_ref: `market.${definition.market_class}`,
352
- posture: coverage.posture || "bounded_market_lane",
353
- claim_status: coverage.claim_status || "bounded_live",
354
- evidence_status: coverage.evidence_status || "first_party_runtime",
355
- coverage_posture: coverage.coverage_posture || "direct_task_backed",
356
- surfaced_task_count: surfacedTaskRefs.length,
357
- surfaced_task_refs: surfacedTaskRefs,
358
- provider_live_task_refs: uniqueSorted(coverage.provider_live_task_refs || []),
359
- supporting_lanes: uniqueSorted(coverage.supporting_lanes || []),
360
- call_surfaces: uniqueSorted(coverage.call_surfaces || []),
361
- supporting_surfaces: uniqueSorted(coverage.supporting_surfaces || []),
362
- activation_profile_count: activationProfiles.length,
363
- activation_profiles: activationProfiles,
364
- activation_posture: activationProfiles.some((entry) => entry.activation_mode === "callable")
365
- ? "callable"
366
- : "preview_only",
367
- claim_boundary: coverage.claim_boundary || "claim_market_class_coverage_only_for_publicly_inspectable_surfaces"
368
- };
369
- });
370
-
371
- return {
372
- ok: true,
373
- product: packageJson.name,
374
- category: "machine-commerce-market-lane-pack",
375
- pack_version: "xytara-market-lane-pack-v1",
376
- posture: "major_market_classes_exposed_as_bounded_runtime_lanes",
377
- doctrine: "one_public_market_lane_per_major_market_class_inside_current_canon",
378
- market_lane_count: marketLanes.length,
379
- market_lanes: marketLanes,
380
- linked_surfaces: {
381
- full_catalog_ref: "/v1/full-catalog",
382
- full_catalog_summary_ref: "/v1/full-catalog/summary",
383
- adapter_depth_summary_ref: "/v1/adapter-depth/summary",
384
- frameworks_summary_ref: "/v1/frameworks/summary",
385
- protocols_summary_ref: "/v1/protocols/summary",
386
- major_rails_summary_ref: "/v1/major-rails/summary",
387
- market_lane_activation_ref: "/v1/full-catalog/market-lanes/activation",
388
- market_lane_activation_summary_ref: "/v1/full-catalog/market-lanes/activation/summary",
389
- market_lane_depth_ref: "/v1/full-catalog/market-lanes/depth",
390
- market_lane_depth_summary_ref: "/v1/full-catalog/market-lanes/depth/summary"
391
- }
392
- };
393
- }
394
-
395
- function getMarketLaneDetail(marketClass) {
396
- const marketLanes = buildMarketLanePack().market_lanes || [];
397
- const normalized = String(marketClass || "").trim().toLowerCase();
398
- return buildMarketLaneIndex(marketLanes).get(normalized) || null;
399
- }
400
-
401
- function buildMarketLaneActivationPack() {
402
- const lanePack = buildMarketLanePack();
403
- const activationLanes = (lanePack.market_lanes || []).map((lane) => ({
404
- market_class: lane.market_class,
405
- market_label: lane.market_label,
406
- activation_posture: lane.activation_posture,
407
- activation_profile_count: lane.activation_profile_count,
408
- activation_profiles: lane.activation_profiles,
409
- claim_boundary: lane.claim_boundary
410
- }));
411
- return {
412
- ok: true,
413
- product: lanePack.product,
414
- category: "machine-commerce-market-lane-activation-pack",
415
- pack_version: "xytara-market-lane-activation-pack-v1",
416
- posture: "canonical_activation_paths_for_major_market_classes",
417
- market_lane_count: activationLanes.length,
418
- callable_market_lane_count: activationLanes.filter((entry) => entry.activation_posture === "callable").length,
419
- preview_only_market_lane_count: activationLanes.filter((entry) => entry.activation_posture === "preview_only").length,
420
- market_lanes: activationLanes,
421
- linked_surfaces: {
422
- market_lanes_ref: "/v1/full-catalog/market-lanes",
423
- market_lanes_summary_ref: "/v1/full-catalog/market-lanes/summary",
424
- full_catalog_ref: "/v1/full-catalog"
425
- }
426
- };
427
- }
428
-
429
- function summarizeMarketLaneActivationPack() {
430
- const pack = buildMarketLaneActivationPack();
431
- return {
432
- ok: true,
433
- product: pack.product,
434
- category: "machine-commerce-market-lane-activation-summary",
435
- summary_version: "xytara-market-lane-activation-summary-v1",
436
- market_lane_count: pack.market_lane_count,
437
- callable_market_lane_count: pack.callable_market_lane_count,
438
- preview_only_market_lane_count: pack.preview_only_market_lane_count,
439
- linked_surfaces: pack.linked_surfaces
440
- };
441
- }
442
-
443
- function summarizeMarketLanePack() {
444
- const pack = buildMarketLanePack();
445
- return {
446
- ok: true,
447
- product: pack.product,
448
- category: "machine-commerce-market-lane-pack-summary",
449
- summary_version: "xytara-market-lane-pack-summary-v1",
450
- market_lane_count: pack.market_lane_count,
451
- bounded_live_market_lane_count: pack.market_lanes.filter((entry) => entry.claim_status === "bounded_live").length,
452
- direct_task_backed_market_lane_count: pack.market_lanes.filter((entry) => Number(entry.surfaced_task_count || 0) > 0).length,
453
- provider_live_anchor_market_lane_count: pack.market_lanes.filter((entry) => Array.isArray(entry.provider_live_task_refs) && entry.provider_live_task_refs.length > 0).length,
454
- protocol_anchor_only_market_lane_count: pack.market_lanes.filter((entry) => entry.coverage_posture === "protocol_anchor_only").length,
455
- callable_market_lane_count: pack.market_lanes.filter((entry) => entry.activation_posture === "callable").length,
456
- preview_only_market_lane_count: pack.market_lanes.filter((entry) => entry.activation_posture === "preview_only").length,
457
- linked_surfaces: pack.linked_surfaces
458
- };
459
- }
460
-
461
- module.exports = {
462
- buildMarketLaneActivationPack,
463
- buildMarketLanePack,
464
- getMarketLaneDetail,
465
- summarizeMarketLaneActivationPack,
466
- summarizeMarketLanePack
467
- };
1
+ "use strict";
2
+
3
+ const packageJson = require("../package.json");
4
+ const { buildCatalogResponse } = require("./catalog_contract");
5
+ const { buildAdapterDepthPack } = require("./adapter_depth_contract");
6
+ const { buildFrameworkLanePack } = require("./framework_lane_contract");
7
+ const { buildMajorRailsLanePack } = require("./major_rails_lane_contract");
8
+ const { buildProtocolLanePack } = require("./protocol_lane_contract");
9
+ const { MARKET_CLASS_DEFINITIONS } = require("./catalog_family_model");
10
+
11
+ function uniqueSorted(values) {
12
+ return Array.from(new Set((Array.isArray(values) ? values : []).filter(Boolean))).sort();
13
+ }
14
+
15
+ function tasksForMarket(tasks, marketClass) {
16
+ return (Array.isArray(tasks) ? tasks : []).filter((entry) => entry && entry.market_class === marketClass);
17
+ }
18
+
19
+ function buildActivationProfilesByMarket() {
20
+ return {
21
+ compute: [
22
+ {
23
+ profile_id: "compute.invoke_primary",
24
+ activation_mode: "callable",
25
+ activation_label: "invoke primary",
26
+ operation_ref: "family.invoke",
27
+ call_surface: "/v1/transaction-center/task-packs/invoke",
28
+ workflow_ref: "a2c.tooling.flow",
29
+ recommended_pack_ref: "default.mcp.tool.invoke",
30
+ task_refs: ["adapter.mcp.invoke"],
31
+ payload_shape: {
32
+ pack_ref: "default.mcp.tool.invoke",
33
+ payload_fields: ["tool_name", "arguments"]
34
+ },
35
+ expected_outcome: "provider-bound compute execution through the canonical MCP invocation lane"
36
+ },
37
+ {
38
+ profile_id: "compute.commitment_flow",
39
+ activation_mode: "callable",
40
+ activation_label: "commitment flow",
41
+ operation_ref: "family.quote_commit",
42
+ call_surface: "/v1/transaction-center/transaction-class-packs/run",
43
+ workflow_ref: "job.commitment.flow",
44
+ recommended_pack_ref: "transaction.job.commitment",
45
+ task_refs: ["jobs.quote", "jobs.reserve", "jobs.commit"],
46
+ payload_shape: {
47
+ class_pack_ref: "transaction.job.commitment",
48
+ payload_fields: ["job_type", "job_id"]
49
+ },
50
+ expected_outcome: "quoted, reserved, and committed compute work inside the governed runtime"
51
+ }
52
+ ],
53
+ data: [
54
+ {
55
+ profile_id: "data.discovery",
56
+ activation_mode: "callable",
57
+ activation_label: "discovery",
58
+ operation_ref: "family.discover",
59
+ call_surface: "/v1/catalog/task?ref=zones.list",
60
+ workflow_ref: null,
61
+ recommended_pack_ref: null,
62
+ task_refs: ["zones.list"],
63
+ payload_shape: {
64
+ payload_fields: []
65
+ },
66
+ expected_outcome: "discoverable runtime zones and public data-facing capability posture"
67
+ },
68
+ {
69
+ profile_id: "data.delivery_export",
70
+ activation_mode: "callable",
71
+ activation_label: "delivery export",
72
+ operation_ref: "family.deliver",
73
+ call_surface: "/v1/transaction-center/result-packages/export",
74
+ workflow_ref: "runtime.consequence.flow",
75
+ recommended_pack_ref: "result.spine.a2c.tooling",
76
+ task_refs: ["runtime.emit", "jobs.release", "registry.pack.bundle"],
77
+ payload_shape: {
78
+ result_package_ref: "result.spine.a2c.tooling",
79
+ payload_fields: ["workflow_ref", "task_refs"]
80
+ },
81
+ expected_outcome: "portable result-package export with receipt and delivery continuity"
82
+ }
83
+ ],
84
+ storage: [
85
+ {
86
+ profile_id: "storage.anchor_registry",
87
+ activation_mode: "callable",
88
+ activation_label: "anchor registry",
89
+ operation_ref: "family.anchor",
90
+ call_surface: "/v1/transaction-center/transaction-class-packs/run",
91
+ workflow_ref: "registry.anchor.flow",
92
+ recommended_pack_ref: "transaction.identity.anchor",
93
+ task_refs: ["registry.register", "anchoring.submit"],
94
+ payload_shape: {
95
+ class_pack_ref: "transaction.identity.anchor",
96
+ payload_fields: ["subject_id", "record_type", "commitment_hash"]
97
+ },
98
+ expected_outcome: "registry-backed storage state carried into anchored commitments"
99
+ }
100
+ ],
101
+ messaging: [
102
+ {
103
+ profile_id: "messaging.session_tooling",
104
+ activation_mode: "callable",
105
+ activation_label: "session tooling",
106
+ operation_ref: "family.session_send_close",
107
+ call_surface: "/v1/transaction-center/task-packs/invoke",
108
+ workflow_ref: "a2c.tooling.flow",
109
+ recommended_pack_ref: "default.a2c.tooling.run",
110
+ task_refs: ["a2c.session.open", "a2c.pack.preview"],
111
+ payload_shape: {
112
+ pack_ref: "default.a2c.tooling.run",
113
+ payload_fields: ["agent_id", "channel_ref", "pack_ref"]
114
+ },
115
+ expected_outcome: "session-backed messaging and tooling exchange through the canonical A2C lane"
116
+ },
117
+ {
118
+ profile_id: "messaging.negotiation",
119
+ activation_mode: "callable",
120
+ activation_label: "negotiation",
121
+ operation_ref: "family.negotiate",
122
+ call_surface: "/v1/transaction-center/precommit-packs/run",
123
+ workflow_ref: "a2a.settlement.flow",
124
+ recommended_pack_ref: "precommit.a2a.settlement.readiness",
125
+ task_refs: ["a2a.negotiate"],
126
+ payload_shape: {
127
+ precommit_pack_ref: "precommit.a2a.settlement.readiness",
128
+ payload_fields: ["counterparty_agent_id", "task_pack_ref"]
129
+ },
130
+ expected_outcome: "agent-to-agent negotiation readiness with event/system coordination posture"
131
+ }
132
+ ],
133
+ device_robotics: [
134
+ {
135
+ profile_id: "device_robotics.protocol_anchor_preview",
136
+ activation_mode: "preview_only",
137
+ activation_label: "protocol anchor preview",
138
+ operation_ref: null,
139
+ call_surface: null,
140
+ workflow_ref: null,
141
+ recommended_pack_ref: null,
142
+ task_refs: [],
143
+ payload_shape: {
144
+ supporting_protocols: ["mqtt", "ros2"]
145
+ },
146
+ expected_outcome: "inspect bounded protocol anchor posture without claiming generalized physical execution truth"
147
+ }
148
+ ],
149
+ treasury_payments: [
150
+ {
151
+ profile_id: "treasury.preview_credits",
152
+ activation_mode: "callable",
153
+ activation_label: "preview credits",
154
+ operation_ref: "family.meter",
155
+ call_surface: "/v1/credits/packs",
156
+ workflow_ref: null,
157
+ recommended_pack_ref: null,
158
+ task_refs: ["credits.preview"],
159
+ payload_shape: {
160
+ payload_fields: ["account_id"]
161
+ },
162
+ expected_outcome: "preview treasury spend posture before settlement-bearing execution"
163
+ },
164
+ {
165
+ profile_id: "treasury.settlement_intent",
166
+ activation_mode: "callable",
167
+ activation_label: "settlement intent",
168
+ operation_ref: "family.settlement_intent",
169
+ call_surface: "/v1/transaction-center/precommit-packs/run",
170
+ workflow_ref: "admission.settlement.flow",
171
+ recommended_pack_ref: "precommit.a2a.settlement.readiness",
172
+ task_refs: ["policy.simulate", "admission.preview"],
173
+ payload_shape: {
174
+ precommit_pack_ref: "precommit.a2a.settlement.readiness",
175
+ payload_fields: ["source_zone_id", "target_zone_id", "policy"]
176
+ },
177
+ expected_outcome: "bounded settlement intent and policy posture before submission"
178
+ },
179
+ {
180
+ profile_id: "treasury.submit_settlement",
181
+ activation_mode: "callable",
182
+ activation_label: "submit settlement",
183
+ operation_ref: "family.settle_reconcile",
184
+ call_surface: "/v1/settlement/bsv-teranode",
185
+ workflow_ref: "policy.transaction.flow",
186
+ recommended_pack_ref: null,
187
+ task_refs: ["settlement.submit", "credits.apply"],
188
+ payload_shape: {
189
+ payload_fields: ["intent_id", "account_id", "amount_minor"]
190
+ },
191
+ expected_outcome: "submission and reconciliation posture for treasury-linked settlement"
192
+ }
193
+ ]
194
+ };
195
+ }
196
+
197
+ function buildMarketLaneIndex(marketLanes) {
198
+ return new Map((Array.isArray(marketLanes) ? marketLanes : []).map((entry) => [entry.market_class, entry]));
199
+ }
200
+
201
+ function buildMarketLanePack() {
202
+ const catalogResponse = buildCatalogResponse();
203
+ const tasks = Array.isArray(catalogResponse.tasks) ? catalogResponse.tasks : [];
204
+ const adapterDepth = buildAdapterDepthPack();
205
+ const frameworkLane = buildFrameworkLanePack();
206
+ const protocolLane = buildProtocolLanePack();
207
+ const majorRailsLane = buildMajorRailsLanePack();
208
+ const activationProfilesByMarket = buildActivationProfilesByMarket();
209
+
210
+ const frameworkIds = uniqueSorted([
211
+ ...Object.keys(frameworkLane.featured_frameworks || {}),
212
+ ...Object.keys(frameworkLane.registry_backed_frameworks || {})
213
+ ]);
214
+ const messagingProtocolIds = uniqueSorted(
215
+ Object.keys(protocolLane.featured_protocols || {}).filter((entry) =>
216
+ ["a2a", "a2c", "kafka", "mqtt", "nats", "webhook_event_bus"].includes(entry)
217
+ )
218
+ );
219
+ const deviceProtocolIds = uniqueSorted(
220
+ Object.keys(protocolLane.featured_protocols || {}).filter((entry) => ["mqtt", "ros2"].includes(entry))
221
+ );
222
+ const railIds = uniqueSorted(Object.keys(majorRailsLane.featured_lanes || {}));
223
+
224
+ const lanesByMarket = {
225
+ compute: {
226
+ posture: "provider_bound_execution_and_framework_routed_compute_lane",
227
+ claim_status: "bounded_live",
228
+ evidence_status: "provider_live_plus_first_party_runtime",
229
+ coverage_posture: "provider_live_anchor_with_bounded_family_breadth",
230
+ surfaced_task_refs: tasksForMarket(tasks, "compute").map((entry) => entry.public_task_ref),
231
+ provider_live_task_refs: adapterDepth.public_claim_boundary && adapterDepth.public_claim_boundary.live_provider_claim_allowed
232
+ ? ["adapter.mcp.invoke"]
233
+ : [],
234
+ supporting_lanes: frameworkIds,
235
+ call_surfaces: [
236
+ "/v1/transaction-center/task-packs/invoke",
237
+ "/v1/transaction-center/transaction-class-packs/run"
238
+ ],
239
+ supporting_surfaces: [
240
+ "/v1/adapter-depth/summary",
241
+ "/v1/frameworks/summary",
242
+ "/v1/capability-registry/execution-truth/summary"
243
+ ],
244
+ claim_boundary: "claim_compute_live_only_for_provider_bound_task_refs_listed_by_adapter_depth_and_keep_the_rest_bounded"
245
+ },
246
+ data: {
247
+ posture: "result_package_receipt_identity_and_discovery_data_lane",
248
+ claim_status: "bounded_live",
249
+ evidence_status: "first_party_runtime",
250
+ coverage_posture: "direct_task_backed",
251
+ surfaced_task_refs: tasksForMarket(tasks, "data").map((entry) => entry.public_task_ref),
252
+ provider_live_task_refs: [],
253
+ supporting_lanes: ["/v1/catalog/summary", "/v1/transaction-center/result-packages/summary"],
254
+ call_surfaces: [
255
+ "/v1/catalog/task?ref=zones.list",
256
+ "/v1/transaction-center/result-packages/export",
257
+ "/v1/receipts"
258
+ ],
259
+ supporting_surfaces: [
260
+ "/v1/catalog/summary",
261
+ "/v1/activity-ledger/summary",
262
+ "/v1/identity-interop/summary"
263
+ ],
264
+ claim_boundary: "claim_data_market_coverage_only_for_discovery_identity_receipt_and_result_package_surfaces_listed_publicly"
265
+ },
266
+ storage: {
267
+ posture: "registry_pack_anchoring_and_provenance_storage_lane",
268
+ claim_status: "bounded_live",
269
+ evidence_status: "proof_handoff_ready",
270
+ coverage_posture: "direct_task_backed",
271
+ surfaced_task_refs: tasksForMarket(tasks, "storage").map((entry) => entry.public_task_ref),
272
+ provider_live_task_refs: [],
273
+ supporting_lanes: ["/v1/artifact-distribution/summary", "/v1/provenance/summary"],
274
+ call_surfaces: [
275
+ "/v1/transaction-center/transaction-class-packs/run"
276
+ ],
277
+ supporting_surfaces: [
278
+ "/v1/artifact-distribution/summary",
279
+ "/v1/provenance/summary",
280
+ "/v1/settlement/bsv-teranode"
281
+ ],
282
+ claim_boundary: "claim_storage_market_coverage_only_for_registry_bundle_anchor_and_provenance_surfaces_listed_publicly"
283
+ },
284
+ messaging: {
285
+ posture: "session_negotiation_and_event_bus_messaging_lane",
286
+ claim_status: "bounded_live",
287
+ evidence_status: "first_party_runtime",
288
+ coverage_posture: "direct_task_backed",
289
+ surfaced_task_refs: tasksForMarket(tasks, "messaging").map((entry) => entry.public_task_ref),
290
+ provider_live_task_refs: [],
291
+ supporting_lanes: messagingProtocolIds,
292
+ call_surfaces: [
293
+ "/v1/transaction-center/precommit-packs/run",
294
+ "/v1/transaction-center/task-packs/invoke"
295
+ ],
296
+ supporting_surfaces: [
297
+ "/v1/protocols/summary",
298
+ "/v1/event-systems/summary",
299
+ "/v1/transaction-center/task-packs/summary"
300
+ ],
301
+ claim_boundary: "claim_messaging_market_coverage_only_for_a2a_a2c_and_listed_event_bus_protocol_lanes"
302
+ },
303
+ device_robotics: {
304
+ posture: "protocol_anchor_only_device_and_robotics_bridge_lane",
305
+ claim_status: "bounded_live",
306
+ evidence_status: "protocol_anchor_only",
307
+ coverage_posture: "protocol_anchor_only",
308
+ surfaced_task_refs: [],
309
+ provider_live_task_refs: [],
310
+ supporting_lanes: deviceProtocolIds,
311
+ call_surfaces: [],
312
+ supporting_surfaces: [
313
+ "/v1/protocols",
314
+ "/v1/protocols/summary",
315
+ "/v1/event-systems/summary",
316
+ "/v1/integrations/protocols"
317
+ ],
318
+ claim_boundary: "claim_device_and_robotics_coverage_only_for_protocol_anchor_lanes_and_not_as_generalized_physical_execution_truth"
319
+ },
320
+ treasury_payments: {
321
+ posture: "credits_policy_and_settlement_treasury_lane",
322
+ claim_status: "bounded_live",
323
+ evidence_status: "first_party_ledger_and_settlement",
324
+ coverage_posture: "direct_task_backed",
325
+ surfaced_task_refs: tasksForMarket(tasks, "treasury_payments").map((entry) => entry.public_task_ref),
326
+ provider_live_task_refs: [],
327
+ supporting_lanes: railIds,
328
+ call_surfaces: [
329
+ "/v1/credits/packs",
330
+ "/v1/transaction-center/precommit-packs/run",
331
+ "/v1/settlement/bsv-teranode"
332
+ ],
333
+ supporting_surfaces: [
334
+ "/v1/payment-ledger",
335
+ "/v1/pricing-optimization/revenue-signal-summary",
336
+ "/v1/settlement/bsv-teranode"
337
+ ],
338
+ claim_boundary: "claim_treasury_and_payments_coverage_only_for_preview_credit_policy_and_settlement_surfaces_listed_publicly"
339
+ }
340
+ };
341
+
342
+ const marketLanes = MARKET_CLASS_DEFINITIONS.map((definition) => {
343
+ const coverage = lanesByMarket[definition.market_class] || {};
344
+ const surfacedTaskRefs = uniqueSorted(coverage.surfaced_task_refs || []);
345
+ const activationProfiles = Array.isArray(activationProfilesByMarket[definition.market_class])
346
+ ? activationProfilesByMarket[definition.market_class]
347
+ : [];
348
+ return {
349
+ market_class: definition.market_class,
350
+ market_label: definition.label,
351
+ lane_ref: `market.${definition.market_class}`,
352
+ posture: coverage.posture || "bounded_market_lane",
353
+ claim_status: coverage.claim_status || "bounded_live",
354
+ evidence_status: coverage.evidence_status || "first_party_runtime",
355
+ coverage_posture: coverage.coverage_posture || "direct_task_backed",
356
+ surfaced_task_count: surfacedTaskRefs.length,
357
+ surfaced_task_refs: surfacedTaskRefs,
358
+ provider_live_task_refs: uniqueSorted(coverage.provider_live_task_refs || []),
359
+ supporting_lanes: uniqueSorted(coverage.supporting_lanes || []),
360
+ call_surfaces: uniqueSorted(coverage.call_surfaces || []),
361
+ supporting_surfaces: uniqueSorted(coverage.supporting_surfaces || []),
362
+ activation_profile_count: activationProfiles.length,
363
+ activation_profiles: activationProfiles,
364
+ activation_posture: activationProfiles.some((entry) => entry.activation_mode === "callable")
365
+ ? "callable"
366
+ : "preview_only",
367
+ claim_boundary: coverage.claim_boundary || "claim_market_class_coverage_only_for_publicly_inspectable_surfaces"
368
+ };
369
+ });
370
+
371
+ return {
372
+ ok: true,
373
+ product: packageJson.name,
374
+ category: "machine-commerce-market-lane-pack",
375
+ pack_version: "xytara-market-lane-pack-v1",
376
+ posture: "major_market_classes_exposed_as_bounded_runtime_lanes",
377
+ doctrine: "one_public_market_lane_per_major_market_class_inside_current_canon",
378
+ market_lane_count: marketLanes.length,
379
+ market_lanes: marketLanes,
380
+ linked_surfaces: {
381
+ full_catalog_ref: "/v1/full-catalog",
382
+ full_catalog_summary_ref: "/v1/full-catalog/summary",
383
+ adapter_depth_summary_ref: "/v1/adapter-depth/summary",
384
+ frameworks_summary_ref: "/v1/frameworks/summary",
385
+ protocols_summary_ref: "/v1/protocols/summary",
386
+ major_rails_summary_ref: "/v1/major-rails/summary",
387
+ market_lane_activation_ref: "/v1/full-catalog/market-lanes/activation",
388
+ market_lane_activation_summary_ref: "/v1/full-catalog/market-lanes/activation/summary",
389
+ market_lane_depth_ref: "/v1/full-catalog/market-lanes/depth",
390
+ market_lane_depth_summary_ref: "/v1/full-catalog/market-lanes/depth/summary"
391
+ }
392
+ };
393
+ }
394
+
395
+ function getMarketLaneDetail(marketClass) {
396
+ const marketLanes = buildMarketLanePack().market_lanes || [];
397
+ const normalized = String(marketClass || "").trim().toLowerCase();
398
+ return buildMarketLaneIndex(marketLanes).get(normalized) || null;
399
+ }
400
+
401
+ function buildMarketLaneActivationPack() {
402
+ const lanePack = buildMarketLanePack();
403
+ const activationLanes = (lanePack.market_lanes || []).map((lane) => ({
404
+ market_class: lane.market_class,
405
+ market_label: lane.market_label,
406
+ activation_posture: lane.activation_posture,
407
+ activation_profile_count: lane.activation_profile_count,
408
+ activation_profiles: lane.activation_profiles,
409
+ claim_boundary: lane.claim_boundary
410
+ }));
411
+ return {
412
+ ok: true,
413
+ product: lanePack.product,
414
+ category: "machine-commerce-market-lane-activation-pack",
415
+ pack_version: "xytara-market-lane-activation-pack-v1",
416
+ posture: "canonical_activation_paths_for_major_market_classes",
417
+ market_lane_count: activationLanes.length,
418
+ callable_market_lane_count: activationLanes.filter((entry) => entry.activation_posture === "callable").length,
419
+ preview_only_market_lane_count: activationLanes.filter((entry) => entry.activation_posture === "preview_only").length,
420
+ market_lanes: activationLanes,
421
+ linked_surfaces: {
422
+ market_lanes_ref: "/v1/full-catalog/market-lanes",
423
+ market_lanes_summary_ref: "/v1/full-catalog/market-lanes/summary",
424
+ full_catalog_ref: "/v1/full-catalog"
425
+ }
426
+ };
427
+ }
428
+
429
+ function summarizeMarketLaneActivationPack() {
430
+ const pack = buildMarketLaneActivationPack();
431
+ return {
432
+ ok: true,
433
+ product: pack.product,
434
+ category: "machine-commerce-market-lane-activation-summary",
435
+ summary_version: "xytara-market-lane-activation-summary-v1",
436
+ market_lane_count: pack.market_lane_count,
437
+ callable_market_lane_count: pack.callable_market_lane_count,
438
+ preview_only_market_lane_count: pack.preview_only_market_lane_count,
439
+ linked_surfaces: pack.linked_surfaces
440
+ };
441
+ }
442
+
443
+ function summarizeMarketLanePack() {
444
+ const pack = buildMarketLanePack();
445
+ return {
446
+ ok: true,
447
+ product: pack.product,
448
+ category: "machine-commerce-market-lane-pack-summary",
449
+ summary_version: "xytara-market-lane-pack-summary-v1",
450
+ market_lane_count: pack.market_lane_count,
451
+ bounded_live_market_lane_count: pack.market_lanes.filter((entry) => entry.claim_status === "bounded_live").length,
452
+ direct_task_backed_market_lane_count: pack.market_lanes.filter((entry) => Number(entry.surfaced_task_count || 0) > 0).length,
453
+ provider_live_anchor_market_lane_count: pack.market_lanes.filter((entry) => Array.isArray(entry.provider_live_task_refs) && entry.provider_live_task_refs.length > 0).length,
454
+ protocol_anchor_only_market_lane_count: pack.market_lanes.filter((entry) => entry.coverage_posture === "protocol_anchor_only").length,
455
+ callable_market_lane_count: pack.market_lanes.filter((entry) => entry.activation_posture === "callable").length,
456
+ preview_only_market_lane_count: pack.market_lanes.filter((entry) => entry.activation_posture === "preview_only").length,
457
+ linked_surfaces: pack.linked_surfaces
458
+ };
459
+ }
460
+
461
+ module.exports = {
462
+ buildMarketLaneActivationPack,
463
+ buildMarketLanePack,
464
+ getMarketLaneDetail,
465
+ summarizeMarketLaneActivationPack,
466
+ summarizeMarketLanePack
467
+ };