xytara 2.5.0 → 2.7.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.
Files changed (71) hide show
  1. package/.env.example +29 -0
  2. package/BSV_TERANODE_SETUP.md +43 -0
  3. package/README.md +66 -7
  4. package/REAL_PAYMENT_SETUP.md +61 -0
  5. package/RELEASE_NOTES.md +23 -6
  6. package/SERVICE_CONTRACT.md +31 -0
  7. package/START_HERE.md +107 -6
  8. package/TREASURY_DESTINATIONS.example.json +66 -0
  9. package/TREASURY_DESTINATIONS.production.template.json +108 -0
  10. package/adapters/examples/langchain-reference-execution-adapter.js +81 -0
  11. package/adapters/examples/langchain-reference-execution-adapter.manifest.json +79 -0
  12. package/adapters/examples/langgraph-reference-execution-adapter.js +81 -0
  13. package/adapters/examples/langgraph-reference-execution-adapter.manifest.json +79 -0
  14. package/bin/xytara-first-run.js +244 -0
  15. package/bin/xytara.js +30 -5
  16. package/integrations/dispatch.js +7 -2
  17. package/integrations/registry.js +123 -2
  18. package/lib/activity_audit_contract.js +322 -0
  19. package/lib/adapter_depth_contract.js +156 -0
  20. package/lib/bolt_lane_contract.js +55 -0
  21. package/lib/bolt_payment_front.js +172 -0
  22. package/lib/capability_execution_truth.js +269 -0
  23. package/lib/capability_registry.js +39 -2
  24. package/lib/checkout_event_security.js +142 -0
  25. package/lib/command_flow.js +169 -36
  26. package/lib/commerce_artifacts.js +23 -4
  27. package/lib/commerce_checkout.js +134 -4
  28. package/lib/commerce_client.js +20 -0
  29. package/lib/commerce_economics.js +109 -9
  30. package/lib/commerce_runtime.js +38 -2
  31. package/lib/commerce_shell.js +4 -2
  32. package/lib/external_execution_runtime.js +132 -0
  33. package/lib/go_live_operator_pack.js +339 -0
  34. package/lib/http_transport.js +32 -0
  35. package/lib/integration_matrix_contract.js +6 -0
  36. package/lib/l402_lane_contract.js +55 -0
  37. package/lib/l402_payment_front.js +192 -0
  38. package/lib/network_transport.js +110 -0
  39. package/lib/operator_intelligence.js +215 -1
  40. package/lib/payment_config.js +80 -3
  41. package/lib/payment_front_registry.js +53 -0
  42. package/lib/payment_protocol_contract.js +165 -0
  43. package/lib/payment_verification.js +23 -3
  44. package/lib/pricing_optimization_contract.js +556 -0
  45. package/lib/release_history.js +27 -0
  46. package/lib/request_rate_limit.js +144 -0
  47. package/lib/runtime_bridge.js +10 -2
  48. package/lib/runtime_operations_worker.js +282 -0
  49. package/lib/settlement_bsv_live.js +79 -4
  50. package/lib/stripe_mpp_lane_contract.js +3 -0
  51. package/lib/stripe_mpp_payment_front.js +158 -0
  52. package/lib/treasury_destinations_contract.js +543 -0
  53. package/lib/treasury_egress_policy_contract.js +91 -0
  54. package/package.json +15 -21
  55. package/scripts/generate_treasury_destinations.js +195 -0
  56. package/scripts/registry_cli.js +275 -0
  57. package/scripts/verify_adapters.js +554 -0
  58. package/scripts/verify_all.js +4963 -0
  59. package/scripts/verify_examples.js +19 -0
  60. package/scripts/verify_integrations.js +620 -0
  61. package/scripts/verify_production_readiness.js +251 -0
  62. package/scripts/verify_release_candidate.js +54 -0
  63. package/scripts/verify_service.js +14810 -0
  64. package/scripts/verify_tooling.js +1404 -0
  65. package/server.js +627 -88
  66. package/OPERATIONS_RUNBOOK.md +0 -66
  67. package/OPERATOR_START_HERE.md +0 -63
  68. package/PROGRAM_COMPLETE_RELEASE.md +0 -63
  69. package/PROGRAM_STATUS.md +0 -57
  70. package/PUBLISH_PLAN.md +0 -14
  71. package/RELEASE_CHECKLIST.md +0 -16
@@ -0,0 +1,66 @@
1
+ {
2
+ "bsv_teranode": {
3
+ "destination_id": "treasury_bsv_main",
4
+ "destination_kind": "bsv_teranode_address",
5
+ "external_ref": "1ReplaceWithRealBsvAddressOrPaymail",
6
+ "custody_ref": "vault.bsv.primary",
7
+ "reporting_ref": "ledger.bsv.primary",
8
+ "wallet_ref": "wallet.bsv.primary",
9
+ "provider_ref": "arc.bsv.primary",
10
+ "network": "mainnet",
11
+ "storage_class": "cold_primary"
12
+ },
13
+ "evm": {
14
+ "destination_id": "treasury_evm_main",
15
+ "destination_kind": "evm_address",
16
+ "external_ref": "0xReplaceWithRealEvmTreasuryAddress",
17
+ "chain_id": "1",
18
+ "custody_ref": "vault.evm.primary",
19
+ "reporting_ref": "ledger.evm.primary",
20
+ "wallet_ref": "wallet.evm.primary",
21
+ "provider_ref": "rpc.evm.primary",
22
+ "storage_class": "warm_operational"
23
+ },
24
+ "base": {
25
+ "destination_id": "treasury_base_main",
26
+ "destination_kind": "evm_address",
27
+ "external_ref": "0xReplaceWithRealBaseTreasuryAddress",
28
+ "chain_id": "8453",
29
+ "custody_ref": "vault.base.primary",
30
+ "reporting_ref": "ledger.base.primary",
31
+ "wallet_ref": "wallet.base.primary",
32
+ "provider_ref": "rpc.base.primary",
33
+ "storage_class": "warm_operational"
34
+ },
35
+ "usdc": {
36
+ "destination_id": "treasury_usdc_primary",
37
+ "destination_kind": "stablecoin_address",
38
+ "external_ref": "0xReplaceWithRealUsdcReceivingAddress",
39
+ "asset_symbol": "USDC",
40
+ "chain_id": "8453",
41
+ "custody_ref": "vault.usdc.primary",
42
+ "reporting_ref": "ledger.usdc.primary",
43
+ "wallet_ref": "wallet.usdc.primary",
44
+ "storage_class": "warm_operational"
45
+ },
46
+ "dai": {
47
+ "destination_id": "treasury_dai_primary",
48
+ "destination_kind": "stablecoin_address",
49
+ "external_ref": "0xReplaceWithRealDaiReceivingAddress",
50
+ "asset_symbol": "DAI",
51
+ "chain_id": "1",
52
+ "custody_ref": "vault.dai.primary",
53
+ "reporting_ref": "ledger.dai.primary",
54
+ "wallet_ref": "wallet.dai.primary",
55
+ "storage_class": "warm_operational"
56
+ },
57
+ "monero": {
58
+ "destination_id": "treasury_monero_private",
59
+ "destination_kind": "monero_address",
60
+ "external_ref": "8ReplaceWithRealMoneroAddress",
61
+ "policy_scope": "internal_optional_privacy_reserve",
62
+ "custody_ref": "vault.monero.policy_gated",
63
+ "reporting_ref": "ledger.monero.internal",
64
+ "storage_class": "isolated_policy_gated"
65
+ }
66
+ }
@@ -0,0 +1,108 @@
1
+ {
2
+ "_notes": [
3
+ "Copy this file to TREASURY_DESTINATIONS.production.json and replace every placeholder before use.",
4
+ "Only claim a rail as live treasury landing if its entry has a real destination you control.",
5
+ "external_ref is the real receiving destination: address, paymail, or equivalent custody landing reference.",
6
+ "monero should remain internal-only and policy-gated."
7
+ ],
8
+ "bsv_teranode": {
9
+ "destination_id": "treasury_bsv_main",
10
+ "destination_kind": "bsv_teranode_address",
11
+ "external_ref": "REPLACE_WITH_REAL_BSV_ADDRESS_OR_PAYMAIL",
12
+ "custody_ref": "vault.bsv.primary",
13
+ "reporting_ref": "ledger.bsv.primary",
14
+ "wallet_ref": "wallet.bsv.primary",
15
+ "provider_ref": "arc.bsv.primary",
16
+ "network": "mainnet",
17
+ "storage_class": "cold_primary"
18
+ },
19
+ "evm": {
20
+ "destination_id": "treasury_evm_main",
21
+ "destination_kind": "evm_address",
22
+ "external_ref": "REPLACE_WITH_REAL_EVM_MAINNET_ADDRESS",
23
+ "chain_id": "1",
24
+ "custody_ref": "vault.evm.primary",
25
+ "reporting_ref": "ledger.evm.primary",
26
+ "wallet_ref": "wallet.evm.primary",
27
+ "provider_ref": "rpc.evm.primary",
28
+ "storage_class": "warm_operational"
29
+ },
30
+ "base": {
31
+ "destination_id": "treasury_base_main",
32
+ "destination_kind": "evm_address",
33
+ "external_ref": "REPLACE_WITH_REAL_BASE_ADDRESS",
34
+ "chain_id": "8453",
35
+ "custody_ref": "vault.base.primary",
36
+ "reporting_ref": "ledger.base.primary",
37
+ "wallet_ref": "wallet.base.primary",
38
+ "provider_ref": "rpc.base.primary",
39
+ "storage_class": "warm_operational"
40
+ },
41
+ "solana_payment": {
42
+ "destination_id": "treasury_solana_main",
43
+ "destination_kind": "solana_address",
44
+ "external_ref": "REPLACE_WITH_REAL_SOLANA_ADDRESS",
45
+ "network": "mainnet-beta",
46
+ "asset_symbol": "SOL_OR_SPL",
47
+ "custody_ref": "vault.solana.primary",
48
+ "reporting_ref": "ledger.solana.primary",
49
+ "wallet_ref": "wallet.solana.primary",
50
+ "provider_ref": "rpc.solana.primary",
51
+ "storage_class": "warm_operational"
52
+ },
53
+ "xpr_payment": {
54
+ "destination_id": "treasury_xpr_main",
55
+ "destination_kind": "proton_xpr_account",
56
+ "external_ref": "REPLACE_WITH_REAL_XPR_ACCOUNT",
57
+ "network": "mainnet",
58
+ "asset_symbol": "XPR",
59
+ "custody_ref": "vault.xpr.primary",
60
+ "reporting_ref": "ledger.xpr.primary",
61
+ "wallet_ref": "wallet.xpr.primary",
62
+ "provider_ref": "rpc.xpr.primary",
63
+ "storage_class": "warm_operational"
64
+ },
65
+ "antelope_payment": {
66
+ "destination_id": "treasury_antelope_main",
67
+ "destination_kind": "antelope_account",
68
+ "external_ref": "REPLACE_WITH_REAL_ANTELOPE_ACCOUNT",
69
+ "network": "mainnet",
70
+ "asset_symbol": "EOSIO_OR_ANTILOPE",
71
+ "custody_ref": "vault.antelope.primary",
72
+ "reporting_ref": "ledger.antelope.primary",
73
+ "wallet_ref": "wallet.antelope.primary",
74
+ "provider_ref": "rpc.antelope.primary",
75
+ "storage_class": "warm_operational"
76
+ },
77
+ "usdc": {
78
+ "destination_id": "treasury_usdc_primary",
79
+ "destination_kind": "stablecoin_address",
80
+ "external_ref": "REPLACE_WITH_REAL_USDC_RECEIVING_ADDRESS",
81
+ "asset_symbol": "USDC",
82
+ "chain_id": "8453",
83
+ "custody_ref": "vault.usdc.primary",
84
+ "reporting_ref": "ledger.usdc.primary",
85
+ "wallet_ref": "wallet.usdc.primary",
86
+ "storage_class": "warm_operational"
87
+ },
88
+ "dai": {
89
+ "destination_id": "treasury_dai_primary",
90
+ "destination_kind": "stablecoin_address",
91
+ "external_ref": "REPLACE_WITH_REAL_DAI_RECEIVING_ADDRESS",
92
+ "asset_symbol": "DAI",
93
+ "chain_id": "1",
94
+ "custody_ref": "vault.dai.primary",
95
+ "reporting_ref": "ledger.dai.primary",
96
+ "wallet_ref": "wallet.dai.primary",
97
+ "storage_class": "warm_operational"
98
+ },
99
+ "monero": {
100
+ "destination_id": "treasury_monero_private",
101
+ "destination_kind": "monero_address",
102
+ "external_ref": "REPLACE_WITH_REAL_MONERO_ADDRESS",
103
+ "policy_scope": "internal_optional_privacy_reserve",
104
+ "custody_ref": "vault.monero.policy_gated",
105
+ "reporting_ref": "ledger.monero.internal",
106
+ "storage_class": "isolated_policy_gated"
107
+ }
108
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const manifest = JSON.parse(
7
+ fs.readFileSync(path.resolve(__dirname, "langchain-reference-execution-adapter.manifest.json"), "utf8")
8
+ );
9
+
10
+ function normalizeChainRequest(request) {
11
+ const body = request && request.body && typeof request.body === "object" ? request.body : {};
12
+ const chainRef = String(body.chain_ref || body.chain_id || request.task_ref || "langchain.reference.chain").trim();
13
+ const toolTraceRef = String(body.tool_trace_ref || body.trace_id || "trace.reference").trim();
14
+ const contextRef = String(body.context_ref || body.session_id || "context.reference").trim();
15
+ return {
16
+ chain_ref: chainRef,
17
+ tool_trace_ref: toolTraceRef,
18
+ context_ref: contextRef,
19
+ input: body.input && typeof body.input === "object" ? body.input : {}
20
+ };
21
+ }
22
+
23
+ async function getHealth() {
24
+ return {
25
+ status: "ok",
26
+ readiness: "ready",
27
+ adapter_id: manifest.adapter_id,
28
+ provider_claim: "reference_local_contract_adapter"
29
+ };
30
+ }
31
+
32
+ function describeCapabilities() {
33
+ return {
34
+ adapter_id: manifest.adapter_id,
35
+ adapter_class: manifest.adapter_class,
36
+ capabilities: manifest.capabilities.slice(),
37
+ execution_modes: Array.isArray(manifest.execution_modes) ? manifest.execution_modes.slice() : [],
38
+ claim_boundary: "normalizes_langchain_style_payloads_without_claiming_external_provider_execution"
39
+ };
40
+ }
41
+
42
+ async function preview(request) {
43
+ const normalized = normalizeChainRequest(request || {});
44
+ return {
45
+ adapter_id: manifest.adapter_id,
46
+ accepted: true,
47
+ preview: {
48
+ mode: "preview",
49
+ ...normalized
50
+ }
51
+ };
52
+ }
53
+
54
+ async function execute(request) {
55
+ const normalized = normalizeChainRequest(request || {});
56
+ return {
57
+ adapter_id: manifest.adapter_id,
58
+ status: "completed",
59
+ result: {
60
+ mode: "execute",
61
+ framework: "langchain",
62
+ ...normalized
63
+ },
64
+ proof_facts: {
65
+ emits_proof_compatible_facts: true,
66
+ proof_mode: manifest.proof_contract.proof_mode,
67
+ framework: "langchain",
68
+ chain_ref: normalized.chain_ref,
69
+ tool_trace_ref: normalized.tool_trace_ref,
70
+ context_ref: normalized.context_ref
71
+ }
72
+ };
73
+ }
74
+
75
+ module.exports = {
76
+ manifest,
77
+ getHealth,
78
+ describeCapabilities,
79
+ preview,
80
+ execute
81
+ };
@@ -0,0 +1,79 @@
1
+ {
2
+ "adapter_id": "reference.framework.langchain",
3
+ "adapter_class": "execution_adapter",
4
+ "adapter_version": "0.1.0",
5
+ "interface_version": "commerce-adapter-interface/v1",
6
+ "display_name": "LangChain Reference Execution Adapter",
7
+ "description": "Reference execution adapter for LangChain-style chain, tool, and trace payloads without claiming a live external LangChain provider.",
8
+ "capabilities": [
9
+ "framework.langchain.preview",
10
+ "framework.langchain.execute"
11
+ ],
12
+ "compatibility": {
13
+ "node": ">=18",
14
+ "commerce_contract": "xytara/v1",
15
+ "proof_contract": "xoonya/v1"
16
+ },
17
+ "health_contract": {
18
+ "check_kind": "self_reported",
19
+ "supports_readiness": true
20
+ },
21
+ "idempotency_contract": {
22
+ "strategy": "caller_supplied_key",
23
+ "scope": "framework_execution"
24
+ },
25
+ "failure_contract": {
26
+ "categories": [
27
+ "invalid_chain_payload",
28
+ "timeout",
29
+ "upstream_unavailable"
30
+ ],
31
+ "retryable_categories": [
32
+ "timeout",
33
+ "upstream_unavailable"
34
+ ]
35
+ },
36
+ "proof_contract": {
37
+ "emits_proof_compatible_facts": true,
38
+ "proof_mode": "framework_execution_facts"
39
+ },
40
+ "latency_class": "interactive",
41
+ "pricing_basis": "per_chain_execution",
42
+ "execution_modes": [
43
+ "sync"
44
+ ],
45
+ "required_secrets": [],
46
+ "required_permissions": [],
47
+ "supported_profiles": [
48
+ "reference",
49
+ "framework"
50
+ ],
51
+ "supported_regions": [
52
+ "local"
53
+ ],
54
+ "supported_settlement_modes": [
55
+ "credits_first",
56
+ "bsv_teranode",
57
+ "x402"
58
+ ],
59
+ "registration_contract": {
60
+ "integration_id": "reference.framework.langchain",
61
+ "integration_maturity": "reference_example",
62
+ "bundled": true,
63
+ "default_selection_enabled": false,
64
+ "selection_priority": 430,
65
+ "requires_explicit_selection": true
66
+ },
67
+ "certification_contract": {
68
+ "certification_state": "reference_example",
69
+ "certification_scope": [
70
+ "contract_shape",
71
+ "framework_payload_normalization",
72
+ "proof_fact_emission"
73
+ ],
74
+ "verified_with": [
75
+ "npm run verify:adapters"
76
+ ],
77
+ "last_verified_contract_version": "commerce-adapter-interface/v1"
78
+ }
79
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const manifest = JSON.parse(
7
+ fs.readFileSync(path.resolve(__dirname, "langgraph-reference-execution-adapter.manifest.json"), "utf8")
8
+ );
9
+
10
+ function normalizeGraphRequest(request) {
11
+ const body = request && request.body && typeof request.body === "object" ? request.body : {};
12
+ const graphRef = String(body.graph_ref || body.graph_id || request.task_ref || "langgraph.reference.graph").trim();
13
+ const nodeRef = String(body.node_ref || body.node_id || "entry").trim();
14
+ const checkpointRef = String(body.checkpoint_ref || body.thread_id || "checkpoint.reference").trim();
15
+ return {
16
+ graph_ref: graphRef,
17
+ node_ref: nodeRef,
18
+ checkpoint_ref: checkpointRef,
19
+ input: body.input && typeof body.input === "object" ? body.input : {}
20
+ };
21
+ }
22
+
23
+ async function getHealth() {
24
+ return {
25
+ status: "ok",
26
+ readiness: "ready",
27
+ adapter_id: manifest.adapter_id,
28
+ provider_claim: "reference_local_contract_adapter"
29
+ };
30
+ }
31
+
32
+ function describeCapabilities() {
33
+ return {
34
+ adapter_id: manifest.adapter_id,
35
+ adapter_class: manifest.adapter_class,
36
+ capabilities: manifest.capabilities.slice(),
37
+ execution_modes: Array.isArray(manifest.execution_modes) ? manifest.execution_modes.slice() : [],
38
+ claim_boundary: "normalizes_langgraph_style_payloads_without_claiming_external_provider_execution"
39
+ };
40
+ }
41
+
42
+ async function preview(request) {
43
+ const normalized = normalizeGraphRequest(request || {});
44
+ return {
45
+ adapter_id: manifest.adapter_id,
46
+ accepted: true,
47
+ preview: {
48
+ mode: "preview",
49
+ ...normalized
50
+ }
51
+ };
52
+ }
53
+
54
+ async function execute(request) {
55
+ const normalized = normalizeGraphRequest(request || {});
56
+ return {
57
+ adapter_id: manifest.adapter_id,
58
+ status: "completed",
59
+ result: {
60
+ mode: "execute",
61
+ framework: "langgraph",
62
+ ...normalized
63
+ },
64
+ proof_facts: {
65
+ emits_proof_compatible_facts: true,
66
+ proof_mode: manifest.proof_contract.proof_mode,
67
+ framework: "langgraph",
68
+ graph_ref: normalized.graph_ref,
69
+ node_ref: normalized.node_ref,
70
+ checkpoint_ref: normalized.checkpoint_ref
71
+ }
72
+ };
73
+ }
74
+
75
+ module.exports = {
76
+ manifest,
77
+ getHealth,
78
+ describeCapabilities,
79
+ preview,
80
+ execute
81
+ };
@@ -0,0 +1,79 @@
1
+ {
2
+ "adapter_id": "reference.framework.langgraph",
3
+ "adapter_class": "execution_adapter",
4
+ "adapter_version": "0.1.0",
5
+ "interface_version": "commerce-adapter-interface/v1",
6
+ "display_name": "LangGraph Reference Execution Adapter",
7
+ "description": "Reference execution adapter for LangGraph-style graph, node, and checkpoint payloads without claiming a live external LangGraph provider.",
8
+ "capabilities": [
9
+ "framework.langgraph.preview",
10
+ "framework.langgraph.execute"
11
+ ],
12
+ "compatibility": {
13
+ "node": ">=18",
14
+ "commerce_contract": "xytara/v1",
15
+ "proof_contract": "xoonya/v1"
16
+ },
17
+ "health_contract": {
18
+ "check_kind": "self_reported",
19
+ "supports_readiness": true
20
+ },
21
+ "idempotency_contract": {
22
+ "strategy": "caller_supplied_key",
23
+ "scope": "framework_execution"
24
+ },
25
+ "failure_contract": {
26
+ "categories": [
27
+ "invalid_graph_payload",
28
+ "timeout",
29
+ "upstream_unavailable"
30
+ ],
31
+ "retryable_categories": [
32
+ "timeout",
33
+ "upstream_unavailable"
34
+ ]
35
+ },
36
+ "proof_contract": {
37
+ "emits_proof_compatible_facts": true,
38
+ "proof_mode": "framework_execution_facts"
39
+ },
40
+ "latency_class": "interactive",
41
+ "pricing_basis": "per_graph_execution",
42
+ "execution_modes": [
43
+ "sync"
44
+ ],
45
+ "required_secrets": [],
46
+ "required_permissions": [],
47
+ "supported_profiles": [
48
+ "reference",
49
+ "framework"
50
+ ],
51
+ "supported_regions": [
52
+ "local"
53
+ ],
54
+ "supported_settlement_modes": [
55
+ "credits_first",
56
+ "bsv_teranode",
57
+ "x402"
58
+ ],
59
+ "registration_contract": {
60
+ "integration_id": "reference.framework.langgraph",
61
+ "integration_maturity": "reference_example",
62
+ "bundled": true,
63
+ "default_selection_enabled": false,
64
+ "selection_priority": 420,
65
+ "requires_explicit_selection": true
66
+ },
67
+ "certification_contract": {
68
+ "certification_state": "reference_example",
69
+ "certification_scope": [
70
+ "contract_shape",
71
+ "framework_payload_normalization",
72
+ "proof_fact_emission"
73
+ ],
74
+ "verified_with": [
75
+ "npm run verify:adapters"
76
+ ],
77
+ "last_verified_contract_version": "commerce-adapter-interface/v1"
78
+ }
79
+ }