tenzro-wallet 0.1.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 (471) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +128 -0
  3. package/dist/balance/aggregator.d.ts +16 -0
  4. package/dist/balance/aggregator.d.ts.map +1 -0
  5. package/dist/balance/aggregator.js +73 -0
  6. package/dist/balance/aggregator.js.map +1 -0
  7. package/dist/balance/index.d.ts +3 -0
  8. package/dist/balance/index.d.ts.map +1 -0
  9. package/dist/balance/index.js +2 -0
  10. package/dist/balance/index.js.map +1 -0
  11. package/dist/consent/index.d.ts +3 -0
  12. package/dist/consent/index.d.ts.map +1 -0
  13. package/dist/consent/index.js +2 -0
  14. package/dist/consent/index.js.map +1 -0
  15. package/dist/consent/policy.d.ts +27 -0
  16. package/dist/consent/policy.d.ts.map +1 -0
  17. package/dist/consent/policy.js +121 -0
  18. package/dist/consent/policy.js.map +1 -0
  19. package/dist/crypto/eip1559.d.ts +53 -0
  20. package/dist/crypto/eip1559.d.ts.map +1 -0
  21. package/dist/crypto/eip1559.js +79 -0
  22. package/dist/crypto/eip1559.js.map +1 -0
  23. package/dist/crypto/keccak256.d.ts +20 -0
  24. package/dist/crypto/keccak256.d.ts.map +1 -0
  25. package/dist/crypto/keccak256.js +167 -0
  26. package/dist/crypto/keccak256.js.map +1 -0
  27. package/dist/crypto/rlp.d.ts +30 -0
  28. package/dist/crypto/rlp.d.ts.map +1 -0
  29. package/dist/crypto/rlp.js +165 -0
  30. package/dist/crypto/rlp.js.map +1 -0
  31. package/dist/crypto/sha256.d.ts +14 -0
  32. package/dist/crypto/sha256.d.ts.map +1 -0
  33. package/dist/crypto/sha256.js +33 -0
  34. package/dist/crypto/sha256.js.map +1 -0
  35. package/dist/crypto/solana.d.ts +86 -0
  36. package/dist/crypto/solana.d.ts.map +1 -0
  37. package/dist/crypto/solana.js +218 -0
  38. package/dist/crypto/solana.js.map +1 -0
  39. package/dist/custody/frost/backend.d.ts +59 -0
  40. package/dist/custody/frost/backend.d.ts.map +1 -0
  41. package/dist/custody/frost/backend.js +83 -0
  42. package/dist/custody/frost/backend.js.map +1 -0
  43. package/dist/custody/frost/coordinator.d.ts +148 -0
  44. package/dist/custody/frost/coordinator.d.ts.map +1 -0
  45. package/dist/custody/frost/coordinator.js +58 -0
  46. package/dist/custody/frost/coordinator.js.map +1 -0
  47. package/dist/custody/frost/ed25519-driver.d.ts +30 -0
  48. package/dist/custody/frost/ed25519-driver.d.ts.map +1 -0
  49. package/dist/custody/frost/ed25519-driver.js +76 -0
  50. package/dist/custody/frost/ed25519-driver.js.map +1 -0
  51. package/dist/custody/frost/http-adapter.d.ts +77 -0
  52. package/dist/custody/frost/http-adapter.d.ts.map +1 -0
  53. package/dist/custody/frost/http-adapter.js +168 -0
  54. package/dist/custody/frost/http-adapter.js.map +1 -0
  55. package/dist/custody/frost/hybrid-driver.d.ts +37 -0
  56. package/dist/custody/frost/hybrid-driver.d.ts.map +1 -0
  57. package/dist/custody/frost/hybrid-driver.js +60 -0
  58. package/dist/custody/frost/hybrid-driver.js.map +1 -0
  59. package/dist/custody/frost/index.d.ts +12 -0
  60. package/dist/custody/frost/index.d.ts.map +1 -0
  61. package/dist/custody/frost/index.js +6 -0
  62. package/dist/custody/frost/index.js.map +1 -0
  63. package/dist/custody/frost/secp256k1-driver.d.ts +26 -0
  64. package/dist/custody/frost/secp256k1-driver.d.ts.map +1 -0
  65. package/dist/custody/frost/secp256k1-driver.js +78 -0
  66. package/dist/custody/frost/secp256k1-driver.js.map +1 -0
  67. package/dist/custody/index.d.ts +9 -0
  68. package/dist/custody/index.d.ts.map +1 -0
  69. package/dist/custody/index.js +11 -0
  70. package/dist/custody/index.js.map +1 -0
  71. package/dist/custody/internal-mpc.d.ts +14 -0
  72. package/dist/custody/internal-mpc.d.ts.map +1 -0
  73. package/dist/custody/internal-mpc.js +40 -0
  74. package/dist/custody/internal-mpc.js.map +1 -0
  75. package/dist/custody/mldsa/coordinator.d.ts +63 -0
  76. package/dist/custody/mldsa/coordinator.d.ts.map +1 -0
  77. package/dist/custody/mldsa/coordinator.js +44 -0
  78. package/dist/custody/mldsa/coordinator.js.map +1 -0
  79. package/dist/custody/mldsa/driver.d.ts +23 -0
  80. package/dist/custody/mldsa/driver.d.ts.map +1 -0
  81. package/dist/custody/mldsa/driver.js +43 -0
  82. package/dist/custody/mldsa/driver.js.map +1 -0
  83. package/dist/custody/mldsa/http-adapter.d.ts +59 -0
  84. package/dist/custody/mldsa/http-adapter.d.ts.map +1 -0
  85. package/dist/custody/mldsa/http-adapter.js +103 -0
  86. package/dist/custody/mldsa/http-adapter.js.map +1 -0
  87. package/dist/custody/mldsa/index.d.ts +7 -0
  88. package/dist/custody/mldsa/index.d.ts.map +1 -0
  89. package/dist/custody/mldsa/index.js +4 -0
  90. package/dist/custody/mldsa/index.js.map +1 -0
  91. package/dist/custody/pairing/http-adapter.d.ts +40 -0
  92. package/dist/custody/pairing/http-adapter.d.ts.map +1 -0
  93. package/dist/custody/pairing/http-adapter.js +113 -0
  94. package/dist/custody/pairing/http-adapter.js.map +1 -0
  95. package/dist/custody/pairing/index.d.ts +10 -0
  96. package/dist/custody/pairing/index.d.ts.map +1 -0
  97. package/dist/custody/pairing/index.js +8 -0
  98. package/dist/custody/pairing/index.js.map +1 -0
  99. package/dist/custody/pairing/port.d.ts +121 -0
  100. package/dist/custody/pairing/port.d.ts.map +1 -0
  101. package/dist/custody/pairing/port.js +40 -0
  102. package/dist/custody/pairing/port.js.map +1 -0
  103. package/dist/custody/passkey-share/http-adapter.d.ts +77 -0
  104. package/dist/custody/passkey-share/http-adapter.d.ts.map +1 -0
  105. package/dist/custody/passkey-share/http-adapter.js +125 -0
  106. package/dist/custody/passkey-share/http-adapter.js.map +1 -0
  107. package/dist/custody/passkey-share/index.d.ts +7 -0
  108. package/dist/custody/passkey-share/index.d.ts.map +1 -0
  109. package/dist/custody/passkey-share/index.js +4 -0
  110. package/dist/custody/passkey-share/index.js.map +1 -0
  111. package/dist/custody/passkey-share/unwrapper.d.ts +174 -0
  112. package/dist/custody/passkey-share/unwrapper.d.ts.map +1 -0
  113. package/dist/custody/passkey-share/unwrapper.js +132 -0
  114. package/dist/custody/passkey-share/unwrapper.js.map +1 -0
  115. package/dist/custody/passkey-share/webauthn-adapter.d.ts +112 -0
  116. package/dist/custody/passkey-share/webauthn-adapter.d.ts.map +1 -0
  117. package/dist/custody/passkey-share/webauthn-adapter.js +150 -0
  118. package/dist/custody/passkey-share/webauthn-adapter.js.map +1 -0
  119. package/dist/custody/surface-key-id.d.ts +15 -0
  120. package/dist/custody/surface-key-id.d.ts.map +1 -0
  121. package/dist/custody/surface-key-id.js +25 -0
  122. package/dist/custody/surface-key-id.js.map +1 -0
  123. package/dist/dapp/eip6963.d.ts +64 -0
  124. package/dist/dapp/eip6963.d.ts.map +1 -0
  125. package/dist/dapp/eip6963.js +55 -0
  126. package/dist/dapp/eip6963.js.map +1 -0
  127. package/dist/dapp/index.d.ts +21 -0
  128. package/dist/dapp/index.d.ts.map +1 -0
  129. package/dist/dapp/index.js +24 -0
  130. package/dist/dapp/index.js.map +1 -0
  131. package/dist/identity/delegate-set.d.ts +57 -0
  132. package/dist/identity/delegate-set.d.ts.map +1 -0
  133. package/dist/identity/delegate-set.js +85 -0
  134. package/dist/identity/delegate-set.js.map +1 -0
  135. package/dist/identity/did.d.ts +17 -0
  136. package/dist/identity/did.d.ts.map +1 -0
  137. package/dist/identity/did.js +60 -0
  138. package/dist/identity/did.js.map +1 -0
  139. package/dist/identity/index.d.ts +14 -0
  140. package/dist/identity/index.d.ts.map +1 -0
  141. package/dist/identity/index.js +8 -0
  142. package/dist/identity/index.js.map +1 -0
  143. package/dist/identity/provision.d.ts +13 -0
  144. package/dist/identity/provision.d.ts.map +1 -0
  145. package/dist/identity/provision.js +151 -0
  146. package/dist/identity/provision.js.map +1 -0
  147. package/dist/identity/provisioning-http-adapter.d.ts +81 -0
  148. package/dist/identity/provisioning-http-adapter.d.ts.map +1 -0
  149. package/dist/identity/provisioning-http-adapter.js +114 -0
  150. package/dist/identity/provisioning-http-adapter.js.map +1 -0
  151. package/dist/identity/recovery-http-adapter.d.ts +83 -0
  152. package/dist/identity/recovery-http-adapter.d.ts.map +1 -0
  153. package/dist/identity/recovery-http-adapter.js +139 -0
  154. package/dist/identity/recovery-http-adapter.js.map +1 -0
  155. package/dist/identity/wallet-new.d.ts +132 -0
  156. package/dist/identity/wallet-new.d.ts.map +1 -0
  157. package/dist/identity/wallet-new.js +94 -0
  158. package/dist/identity/wallet-new.js.map +1 -0
  159. package/dist/identity/wallet-recover.d.ts +116 -0
  160. package/dist/identity/wallet-recover.d.ts.map +1 -0
  161. package/dist/identity/wallet-recover.js +95 -0
  162. package/dist/identity/wallet-recover.js.map +1 -0
  163. package/dist/index.d.ts +12 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +11 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/kernel.d.ts +119 -0
  168. package/dist/kernel.d.ts.map +1 -0
  169. package/dist/kernel.js +144 -0
  170. package/dist/kernel.js.map +1 -0
  171. package/dist/ports/adapters/tenzro-identity-adapter.d.ts +44 -0
  172. package/dist/ports/adapters/tenzro-identity-adapter.d.ts.map +1 -0
  173. package/dist/ports/adapters/tenzro-identity-adapter.js +60 -0
  174. package/dist/ports/adapters/tenzro-identity-adapter.js.map +1 -0
  175. package/dist/ports/adapters/tenzro-sdk-adapter.d.ts +86 -0
  176. package/dist/ports/adapters/tenzro-sdk-adapter.d.ts.map +1 -0
  177. package/dist/ports/adapters/tenzro-sdk-adapter.js +100 -0
  178. package/dist/ports/adapters/tenzro-sdk-adapter.js.map +1 -0
  179. package/dist/ports/agent/acp.d.ts +66 -0
  180. package/dist/ports/agent/acp.d.ts.map +1 -0
  181. package/dist/ports/agent/acp.js +27 -0
  182. package/dist/ports/agent/acp.js.map +1 -0
  183. package/dist/ports/agent/adapters/acp-adapter.d.ts +67 -0
  184. package/dist/ports/agent/adapters/acp-adapter.d.ts.map +1 -0
  185. package/dist/ports/agent/adapters/acp-adapter.js +70 -0
  186. package/dist/ports/agent/adapters/acp-adapter.js.map +1 -0
  187. package/dist/ports/agent/adapters/agent-bond-adapter.d.ts +31 -0
  188. package/dist/ports/agent/adapters/agent-bond-adapter.d.ts.map +1 -0
  189. package/dist/ports/agent/adapters/agent-bond-adapter.js +82 -0
  190. package/dist/ports/agent/adapters/agent-bond-adapter.js.map +1 -0
  191. package/dist/ports/agent/adapters/agent-payment-adapter.d.ts +66 -0
  192. package/dist/ports/agent/adapters/agent-payment-adapter.d.ts.map +1 -0
  193. package/dist/ports/agent/adapters/agent-payment-adapter.js +75 -0
  194. package/dist/ports/agent/adapters/agent-payment-adapter.js.map +1 -0
  195. package/dist/ports/agent/adapters/ap2-adapter.d.ts +28 -0
  196. package/dist/ports/agent/adapters/ap2-adapter.d.ts.map +1 -0
  197. package/dist/ports/agent/adapters/ap2-adapter.js +97 -0
  198. package/dist/ports/agent/adapters/ap2-adapter.js.map +1 -0
  199. package/dist/ports/agent/adapters/auth-approval-adapter.d.ts +26 -0
  200. package/dist/ports/agent/adapters/auth-approval-adapter.d.ts.map +1 -0
  201. package/dist/ports/agent/adapters/auth-approval-adapter.js +37 -0
  202. package/dist/ports/agent/adapters/auth-approval-adapter.js.map +1 -0
  203. package/dist/ports/agent/adapters/erc7802-adapter.d.ts +30 -0
  204. package/dist/ports/agent/adapters/erc7802-adapter.d.ts.map +1 -0
  205. package/dist/ports/agent/adapters/erc7802-adapter.js +60 -0
  206. package/dist/ports/agent/adapters/erc7802-adapter.js.map +1 -0
  207. package/dist/ports/agent/adapters/erc8004-adapter.d.ts +54 -0
  208. package/dist/ports/agent/adapters/erc8004-adapter.d.ts.map +1 -0
  209. package/dist/ports/agent/adapters/erc8004-adapter.js +53 -0
  210. package/dist/ports/agent/adapters/erc8004-adapter.js.map +1 -0
  211. package/dist/ports/agent/adapters/escrow-adapter.d.ts +33 -0
  212. package/dist/ports/agent/adapters/escrow-adapter.d.ts.map +1 -0
  213. package/dist/ports/agent/adapters/escrow-adapter.js +109 -0
  214. package/dist/ports/agent/adapters/escrow-adapter.js.map +1 -0
  215. package/dist/ports/agent/adapters/fee-estimator-adapter.d.ts +31 -0
  216. package/dist/ports/agent/adapters/fee-estimator-adapter.d.ts.map +1 -0
  217. package/dist/ports/agent/adapters/fee-estimator-adapter.js +103 -0
  218. package/dist/ports/agent/adapters/fee-estimator-adapter.js.map +1 -0
  219. package/dist/ports/agent/adapters/htlc-escrow-adapter.d.ts +68 -0
  220. package/dist/ports/agent/adapters/htlc-escrow-adapter.d.ts.map +1 -0
  221. package/dist/ports/agent/adapters/htlc-escrow-adapter.js +131 -0
  222. package/dist/ports/agent/adapters/htlc-escrow-adapter.js.map +1 -0
  223. package/dist/ports/agent/adapters/insurance-adapter.d.ts +32 -0
  224. package/dist/ports/agent/adapters/insurance-adapter.d.ts.map +1 -0
  225. package/dist/ports/agent/adapters/insurance-adapter.js +103 -0
  226. package/dist/ports/agent/adapters/insurance-adapter.js.map +1 -0
  227. package/dist/ports/agent/adapters/lifecycle-adapter.d.ts +26 -0
  228. package/dist/ports/agent/adapters/lifecycle-adapter.d.ts.map +1 -0
  229. package/dist/ports/agent/adapters/lifecycle-adapter.js +136 -0
  230. package/dist/ports/agent/adapters/lifecycle-adapter.js.map +1 -0
  231. package/dist/ports/agent/adapters/nanopayment-adapter.d.ts +62 -0
  232. package/dist/ports/agent/adapters/nanopayment-adapter.d.ts.map +1 -0
  233. package/dist/ports/agent/adapters/nanopayment-adapter.js +76 -0
  234. package/dist/ports/agent/adapters/nanopayment-adapter.js.map +1 -0
  235. package/dist/ports/agent/adapters/payment-rails-adapter.d.ts +67 -0
  236. package/dist/ports/agent/adapters/payment-rails-adapter.d.ts.map +1 -0
  237. package/dist/ports/agent/adapters/payment-rails-adapter.js +108 -0
  238. package/dist/ports/agent/adapters/payment-rails-adapter.js.map +1 -0
  239. package/dist/ports/agent/adapters/principal-chain-adapter.d.ts +23 -0
  240. package/dist/ports/agent/adapters/principal-chain-adapter.d.ts.map +1 -0
  241. package/dist/ports/agent/adapters/principal-chain-adapter.js +156 -0
  242. package/dist/ports/agent/adapters/principal-chain-adapter.js.map +1 -0
  243. package/dist/ports/agent/adapters/session-key-adapter.d.ts +45 -0
  244. package/dist/ports/agent/adapters/session-key-adapter.d.ts.map +1 -0
  245. package/dist/ports/agent/adapters/session-key-adapter.js +80 -0
  246. package/dist/ports/agent/adapters/session-key-adapter.js.map +1 -0
  247. package/dist/ports/agent/adapters/tee-attestation-adapter.d.ts +32 -0
  248. package/dist/ports/agent/adapters/tee-attestation-adapter.d.ts.map +1 -0
  249. package/dist/ports/agent/adapters/tee-attestation-adapter.js +38 -0
  250. package/dist/ports/agent/adapters/tee-attestation-adapter.js.map +1 -0
  251. package/dist/ports/agent/agent-bond.d.ts +80 -0
  252. package/dist/ports/agent/agent-bond.d.ts.map +1 -0
  253. package/dist/ports/agent/agent-bond.js +23 -0
  254. package/dist/ports/agent/agent-bond.js.map +1 -0
  255. package/dist/ports/agent/agent-payment.d.ts +72 -0
  256. package/dist/ports/agent/agent-payment.d.ts.map +1 -0
  257. package/dist/ports/agent/agent-payment.js +17 -0
  258. package/dist/ports/agent/agent-payment.js.map +1 -0
  259. package/dist/ports/agent/ap2.d.ts +104 -0
  260. package/dist/ports/agent/ap2.d.ts.map +1 -0
  261. package/dist/ports/agent/ap2.js +22 -0
  262. package/dist/ports/agent/ap2.js.map +1 -0
  263. package/dist/ports/agent/auth-approval.d.ts +40 -0
  264. package/dist/ports/agent/auth-approval.d.ts.map +1 -0
  265. package/dist/ports/agent/auth-approval.js +23 -0
  266. package/dist/ports/agent/auth-approval.js.map +1 -0
  267. package/dist/ports/agent/erc7802.d.ts +94 -0
  268. package/dist/ports/agent/erc7802.d.ts.map +1 -0
  269. package/dist/ports/agent/erc7802.js +30 -0
  270. package/dist/ports/agent/erc7802.js.map +1 -0
  271. package/dist/ports/agent/erc8004.d.ts +57 -0
  272. package/dist/ports/agent/erc8004.d.ts.map +1 -0
  273. package/dist/ports/agent/erc8004.js +20 -0
  274. package/dist/ports/agent/erc8004.js.map +1 -0
  275. package/dist/ports/agent/escrow.d.ts +74 -0
  276. package/dist/ports/agent/escrow.d.ts.map +1 -0
  277. package/dist/ports/agent/escrow.js +18 -0
  278. package/dist/ports/agent/escrow.js.map +1 -0
  279. package/dist/ports/agent/fee-estimator.d.ts +71 -0
  280. package/dist/ports/agent/fee-estimator.d.ts.map +1 -0
  281. package/dist/ports/agent/fee-estimator.js +21 -0
  282. package/dist/ports/agent/fee-estimator.js.map +1 -0
  283. package/dist/ports/agent/htlc-escrow.d.ts +94 -0
  284. package/dist/ports/agent/htlc-escrow.d.ts.map +1 -0
  285. package/dist/ports/agent/htlc-escrow.js +25 -0
  286. package/dist/ports/agent/htlc-escrow.js.map +1 -0
  287. package/dist/ports/agent/index.d.ts +58 -0
  288. package/dist/ports/agent/index.d.ts.map +1 -0
  289. package/dist/ports/agent/index.js +24 -0
  290. package/dist/ports/agent/index.js.map +1 -0
  291. package/dist/ports/agent/insurance.d.ts +65 -0
  292. package/dist/ports/agent/insurance.d.ts.map +1 -0
  293. package/dist/ports/agent/insurance.js +18 -0
  294. package/dist/ports/agent/insurance.js.map +1 -0
  295. package/dist/ports/agent/lifecycle.d.ts +69 -0
  296. package/dist/ports/agent/lifecycle.d.ts.map +1 -0
  297. package/dist/ports/agent/lifecycle.js +17 -0
  298. package/dist/ports/agent/lifecycle.js.map +1 -0
  299. package/dist/ports/agent/nanopayment.d.ts +72 -0
  300. package/dist/ports/agent/nanopayment.d.ts.map +1 -0
  301. package/dist/ports/agent/nanopayment.js +16 -0
  302. package/dist/ports/agent/nanopayment.js.map +1 -0
  303. package/dist/ports/agent/payment-rails.d.ts +140 -0
  304. package/dist/ports/agent/payment-rails.d.ts.map +1 -0
  305. package/dist/ports/agent/payment-rails.js +25 -0
  306. package/dist/ports/agent/payment-rails.js.map +1 -0
  307. package/dist/ports/agent/principal-chain.d.ts +95 -0
  308. package/dist/ports/agent/principal-chain.d.ts.map +1 -0
  309. package/dist/ports/agent/principal-chain.js +16 -0
  310. package/dist/ports/agent/principal-chain.js.map +1 -0
  311. package/dist/ports/agent/session-key.d.ts +94 -0
  312. package/dist/ports/agent/session-key.d.ts.map +1 -0
  313. package/dist/ports/agent/session-key.js +31 -0
  314. package/dist/ports/agent/session-key.js.map +1 -0
  315. package/dist/ports/agent/tee-attestation.d.ts +51 -0
  316. package/dist/ports/agent/tee-attestation.d.ts.map +1 -0
  317. package/dist/ports/agent/tee-attestation.js +28 -0
  318. package/dist/ports/agent/tee-attestation.js.map +1 -0
  319. package/dist/ports/bridge/adapters/bridge-adapter-base.d.ts +47 -0
  320. package/dist/ports/bridge/adapters/bridge-adapter-base.d.ts.map +1 -0
  321. package/dist/ports/bridge/adapters/bridge-adapter-base.js +144 -0
  322. package/dist/ports/bridge/adapters/bridge-adapter-base.js.map +1 -0
  323. package/dist/ports/bridge/adapters/canton-bridge-adapter.d.ts +30 -0
  324. package/dist/ports/bridge/adapters/canton-bridge-adapter.d.ts.map +1 -0
  325. package/dist/ports/bridge/adapters/canton-bridge-adapter.js +31 -0
  326. package/dist/ports/bridge/adapters/canton-bridge-adapter.js.map +1 -0
  327. package/dist/ports/bridge/adapters/ccip-adapter.d.ts +30 -0
  328. package/dist/ports/bridge/adapters/ccip-adapter.d.ts.map +1 -0
  329. package/dist/ports/bridge/adapters/ccip-adapter.js +31 -0
  330. package/dist/ports/bridge/adapters/ccip-adapter.js.map +1 -0
  331. package/dist/ports/bridge/adapters/debridge-adapter.d.ts +27 -0
  332. package/dist/ports/bridge/adapters/debridge-adapter.d.ts.map +1 -0
  333. package/dist/ports/bridge/adapters/debridge-adapter.js +28 -0
  334. package/dist/ports/bridge/adapters/debridge-adapter.js.map +1 -0
  335. package/dist/ports/bridge/adapters/layerzero-adapter.d.ts +30 -0
  336. package/dist/ports/bridge/adapters/layerzero-adapter.d.ts.map +1 -0
  337. package/dist/ports/bridge/adapters/layerzero-adapter.js +31 -0
  338. package/dist/ports/bridge/adapters/layerzero-adapter.js.map +1 -0
  339. package/dist/ports/bridge/adapters/lifi-adapter.d.ts +48 -0
  340. package/dist/ports/bridge/adapters/lifi-adapter.d.ts.map +1 -0
  341. package/dist/ports/bridge/adapters/lifi-adapter.js +49 -0
  342. package/dist/ports/bridge/adapters/lifi-adapter.js.map +1 -0
  343. package/dist/ports/bridge/adapters/wormhole-adapter.d.ts +26 -0
  344. package/dist/ports/bridge/adapters/wormhole-adapter.d.ts.map +1 -0
  345. package/dist/ports/bridge/adapters/wormhole-adapter.js +27 -0
  346. package/dist/ports/bridge/adapters/wormhole-adapter.js.map +1 -0
  347. package/dist/ports/bridge/bridge.d.ts +123 -0
  348. package/dist/ports/bridge/bridge.d.ts.map +1 -0
  349. package/dist/ports/bridge/bridge.js +20 -0
  350. package/dist/ports/bridge/bridge.js.map +1 -0
  351. package/dist/ports/bridge/index.d.ts +13 -0
  352. package/dist/ports/bridge/index.d.ts.map +1 -0
  353. package/dist/ports/bridge/index.js +11 -0
  354. package/dist/ports/bridge/index.js.map +1 -0
  355. package/dist/ports/canton/adapters/ledger-api-adapter.d.ts +52 -0
  356. package/dist/ports/canton/adapters/ledger-api-adapter.d.ts.map +1 -0
  357. package/dist/ports/canton/adapters/ledger-api-adapter.js +232 -0
  358. package/dist/ports/canton/adapters/ledger-api-adapter.js.map +1 -0
  359. package/dist/ports/canton/canton-identity.d.ts +60 -0
  360. package/dist/ports/canton/canton-identity.d.ts.map +1 -0
  361. package/dist/ports/canton/canton-identity.js +28 -0
  362. package/dist/ports/canton/canton-identity.js.map +1 -0
  363. package/dist/ports/canton/canton-validator.d.ts +182 -0
  364. package/dist/ports/canton/canton-validator.d.ts.map +1 -0
  365. package/dist/ports/canton/canton-validator.js +39 -0
  366. package/dist/ports/canton/canton-validator.js.map +1 -0
  367. package/dist/ports/canton/fingerprint.d.ts +24 -0
  368. package/dist/ports/canton/fingerprint.d.ts.map +1 -0
  369. package/dist/ports/canton/fingerprint.js +31 -0
  370. package/dist/ports/canton/fingerprint.js.map +1 -0
  371. package/dist/ports/canton/hash.d.ts +37 -0
  372. package/dist/ports/canton/hash.d.ts.map +1 -0
  373. package/dist/ports/canton/hash.js +68 -0
  374. package/dist/ports/canton/hash.js.map +1 -0
  375. package/dist/ports/canton/http.d.ts +64 -0
  376. package/dist/ports/canton/http.d.ts.map +1 -0
  377. package/dist/ports/canton/http.js +177 -0
  378. package/dist/ports/canton/http.js.map +1 -0
  379. package/dist/ports/cross-vm.d.ts +79 -0
  380. package/dist/ports/cross-vm.d.ts.map +1 -0
  381. package/dist/ports/cross-vm.js +81 -0
  382. package/dist/ports/cross-vm.js.map +1 -0
  383. package/dist/ports/index.d.ts +18 -0
  384. package/dist/ports/index.d.ts.map +1 -0
  385. package/dist/ports/index.js +11 -0
  386. package/dist/ports/index.js.map +1 -0
  387. package/dist/ports/tenzro-identity.d.ts +29 -0
  388. package/dist/ports/tenzro-identity.d.ts.map +1 -0
  389. package/dist/ports/tenzro-identity.js +19 -0
  390. package/dist/ports/tenzro-identity.js.map +1 -0
  391. package/dist/ports/tenzro-rpc.d.ts +79 -0
  392. package/dist/ports/tenzro-rpc.d.ts.map +1 -0
  393. package/dist/ports/tenzro-rpc.js +21 -0
  394. package/dist/ports/tenzro-rpc.js.map +1 -0
  395. package/dist/router/index.d.ts +3 -0
  396. package/dist/router/index.d.ts.map +1 -0
  397. package/dist/router/index.js +2 -0
  398. package/dist/router/index.js.map +1 -0
  399. package/dist/router/route.d.ts +17 -0
  400. package/dist/router/route.d.ts.map +1 -0
  401. package/dist/router/route.js +78 -0
  402. package/dist/router/route.js.map +1 -0
  403. package/dist/settlement/nanopayment-flow.d.ts +48 -0
  404. package/dist/settlement/nanopayment-flow.d.ts.map +1 -0
  405. package/dist/settlement/nanopayment-flow.js +111 -0
  406. package/dist/settlement/nanopayment-flow.js.map +1 -0
  407. package/dist/surfaces/canton-external.d.ts +43 -0
  408. package/dist/surfaces/canton-external.d.ts.map +1 -0
  409. package/dist/surfaces/canton-external.js +252 -0
  410. package/dist/surfaces/canton-external.js.map +1 -0
  411. package/dist/surfaces/canton-internal.d.ts +34 -0
  412. package/dist/surfaces/canton-internal.d.ts.map +1 -0
  413. package/dist/surfaces/canton-internal.js +163 -0
  414. package/dist/surfaces/canton-internal.js.map +1 -0
  415. package/dist/surfaces/canton-onboarding.d.ts +64 -0
  416. package/dist/surfaces/canton-onboarding.d.ts.map +1 -0
  417. package/dist/surfaces/canton-onboarding.js +113 -0
  418. package/dist/surfaces/canton-onboarding.js.map +1 -0
  419. package/dist/surfaces/evm-on-tenzro.d.ts +29 -0
  420. package/dist/surfaces/evm-on-tenzro.d.ts.map +1 -0
  421. package/dist/surfaces/evm-on-tenzro.js +226 -0
  422. package/dist/surfaces/evm-on-tenzro.js.map +1 -0
  423. package/dist/surfaces/index.d.ts +13 -0
  424. package/dist/surfaces/index.d.ts.map +1 -0
  425. package/dist/surfaces/index.js +7 -0
  426. package/dist/surfaces/index.js.map +1 -0
  427. package/dist/surfaces/svm-on-tenzro.d.ts +24 -0
  428. package/dist/surfaces/svm-on-tenzro.d.ts.map +1 -0
  429. package/dist/surfaces/svm-on-tenzro.js +238 -0
  430. package/dist/surfaces/svm-on-tenzro.js.map +1 -0
  431. package/dist/surfaces/tenzro-native.d.ts +45 -0
  432. package/dist/surfaces/tenzro-native.d.ts.map +1 -0
  433. package/dist/surfaces/tenzro-native.js +299 -0
  434. package/dist/surfaces/tenzro-native.js.map +1 -0
  435. package/dist/surfaces/util.d.ts +18 -0
  436. package/dist/surfaces/util.d.ts.map +1 -0
  437. package/dist/surfaces/util.js +36 -0
  438. package/dist/surfaces/util.js.map +1 -0
  439. package/dist/types/asset.d.ts +43 -0
  440. package/dist/types/asset.d.ts.map +1 -0
  441. package/dist/types/asset.js +13 -0
  442. package/dist/types/asset.js.map +1 -0
  443. package/dist/types/consent.d.ts +46 -0
  444. package/dist/types/consent.d.ts.map +1 -0
  445. package/dist/types/consent.js +18 -0
  446. package/dist/types/consent.js.map +1 -0
  447. package/dist/types/identity.d.ts +115 -0
  448. package/dist/types/identity.d.ts.map +1 -0
  449. package/dist/types/identity.js +12 -0
  450. package/dist/types/identity.js.map +1 -0
  451. package/dist/types/index.d.ts +10 -0
  452. package/dist/types/index.d.ts.map +1 -0
  453. package/dist/types/index.js +3 -0
  454. package/dist/types/index.js.map +1 -0
  455. package/dist/types/intent.d.ts +132 -0
  456. package/dist/types/intent.d.ts.map +1 -0
  457. package/dist/types/intent.js +8 -0
  458. package/dist/types/intent.js.map +1 -0
  459. package/dist/types/signing-driver.d.ts +48 -0
  460. package/dist/types/signing-driver.d.ts.map +1 -0
  461. package/dist/types/signing-driver.js +9 -0
  462. package/dist/types/signing-driver.js.map +1 -0
  463. package/dist/types/surface-module.d.ts +38 -0
  464. package/dist/types/surface-module.d.ts.map +1 -0
  465. package/dist/types/surface-module.js +19 -0
  466. package/dist/types/surface-module.js.map +1 -0
  467. package/dist/types/surface.d.ts +17 -0
  468. package/dist/types/surface.d.ts.map +1 -0
  469. package/dist/types/surface.js +28 -0
  470. package/dist/types/surface.js.map +1 -0
  471. package/package.json +84 -0
@@ -0,0 +1,44 @@
1
+ /**
2
+ * TenzroIdentityAdapter — wraps the SDK's `IdentityClient.resolveDidDocument`
3
+ * and exposes the narrow `TenzroIdentityPort` the kernel uses.
4
+ *
5
+ * Mapping `DidDocument` → tenzro-native address:
6
+ * - Find the verification method whose key is tagged for the tenzro-native
7
+ * surface. The DID Document carries a list of `verificationMethod`
8
+ * entries; the one we want has a controller key suitable for native
9
+ * signing (Ed25519, the canonical scheme for tenzro-native per
10
+ * `SurfaceKey`).
11
+ * - Decode `publicKeyMultibase` (multibase prefix `z` → base58btc) to raw
12
+ * public-key bytes.
13
+ * - Base58-encode those bytes — that *is* the Tenzro address (per the
14
+ * SDK's `Address = Base58-encoded` convention).
15
+ *
16
+ * What's NOT here: per-surface address resolution for EVM/SVM/Canton.
17
+ * The current kernel only needs tenzro-native recipient resolution because
18
+ * that's the only surface that accepts TDIP recipients today; EVM/SVM
19
+ * recipients arrive as raw addresses, Canton as raw partyId. Extending
20
+ * to full surface-aware resolution lands when M4 adds Canton-via-DID.
21
+ */
22
+ import type { TdipDid } from '../../types/identity.js';
23
+ import type { TenzroIdentityPort } from '../tenzro-identity.js';
24
+ /**
25
+ * The slice of `IdentityClient` the adapter touches. Listed explicitly so
26
+ * tests can inject a hand-rolled object. Mirrors the pattern used by
27
+ * `TenzroSdkAdapter` / `TenzroClientLike`.
28
+ */
29
+ export interface IdentityClientLike {
30
+ resolveDidDocument(did: string): Promise<{
31
+ verificationMethod: ReadonlyArray<{
32
+ id: string;
33
+ type: string;
34
+ controller: string;
35
+ publicKeyMultibase?: string;
36
+ }>;
37
+ }>;
38
+ }
39
+ export declare class TenzroIdentityAdapter implements TenzroIdentityPort {
40
+ private readonly client;
41
+ constructor(client: IdentityClientLike);
42
+ resolveTenzroAddress(did: TdipDid): Promise<string | undefined>;
43
+ }
44
+ //# sourceMappingURL=tenzro-identity-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenzro-identity-adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/adapters/tenzro-identity-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QACvC,kBAAkB,EAAE,aAAa,CAAC;YAChC,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC7B,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,kBAAkB;IAEjD,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAatE"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * TenzroIdentityAdapter — wraps the SDK's `IdentityClient.resolveDidDocument`
3
+ * and exposes the narrow `TenzroIdentityPort` the kernel uses.
4
+ *
5
+ * Mapping `DidDocument` → tenzro-native address:
6
+ * - Find the verification method whose key is tagged for the tenzro-native
7
+ * surface. The DID Document carries a list of `verificationMethod`
8
+ * entries; the one we want has a controller key suitable for native
9
+ * signing (Ed25519, the canonical scheme for tenzro-native per
10
+ * `SurfaceKey`).
11
+ * - Decode `publicKeyMultibase` (multibase prefix `z` → base58btc) to raw
12
+ * public-key bytes.
13
+ * - Base58-encode those bytes — that *is* the Tenzro address (per the
14
+ * SDK's `Address = Base58-encoded` convention).
15
+ *
16
+ * What's NOT here: per-surface address resolution for EVM/SVM/Canton.
17
+ * The current kernel only needs tenzro-native recipient resolution because
18
+ * that's the only surface that accepts TDIP recipients today; EVM/SVM
19
+ * recipients arrive as raw addresses, Canton as raw partyId. Extending
20
+ * to full surface-aware resolution lands when M4 adds Canton-via-DID.
21
+ */
22
+ import { base58Decode, base58Encode } from "../../crypto/solana.js";
23
+ export class TenzroIdentityAdapter {
24
+ client;
25
+ constructor(client) {
26
+ this.client = client;
27
+ }
28
+ async resolveTenzroAddress(did) {
29
+ const doc = await this.client.resolveDidDocument(did);
30
+ // Pick the first Ed25519 verification method — that's the tenzro-native
31
+ // signing key. The W3C type tag for Ed25519 is `Ed25519VerificationKey2020`
32
+ // (or the older `Ed25519VerificationKey2018`); accept both since the
33
+ // node-side serialization isn't pinned in the SDK.
34
+ const vm = doc.verificationMethod.find((m) => m.type === 'Ed25519VerificationKey2020' || m.type === 'Ed25519VerificationKey2018');
35
+ if (!vm || !vm.publicKeyMultibase)
36
+ return undefined;
37
+ const pubkey = decodeMultibase(vm.publicKeyMultibase);
38
+ return base58Encode(pubkey);
39
+ }
40
+ }
41
+ /**
42
+ * Decode a multibase string to raw bytes. Multibase prefixes the encoded
43
+ * string with a single character identifying the base; `z` is base58btc,
44
+ * which is what Tenzro / W3C DID v1 use for Ed25519 keys.
45
+ *
46
+ * Spec: https://github.com/multiformats/multibase
47
+ */
48
+ function decodeMultibase(s) {
49
+ if (s.length === 0)
50
+ throw new Error('multibase: empty input');
51
+ const prefix = s[0];
52
+ const body = s.slice(1);
53
+ switch (prefix) {
54
+ case 'z':
55
+ return base58Decode(body);
56
+ default:
57
+ throw new Error(`multibase: unsupported prefix '${prefix}' (expected 'z')`);
58
+ }
59
+ }
60
+ //# sourceMappingURL=tenzro-identity-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenzro-identity-adapter.js","sourceRoot":"","sources":["../../../src/ports/adapters/tenzro-identity-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAoBpE,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,KAAK,CAAC,oBAAoB,CAAC,GAAY;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtD,wEAAwE;QACxE,4EAA4E;QAC5E,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,4BAA4B,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAC1F,CAAC;QACF,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QACpD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACtD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,CAAS;IAChC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,kBAAkB,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * TenzroSdkAdapter — the only kernel file that imports from `tenzro-sdk`.
3
+ *
4
+ * Wraps a `TenzroClient` (or any object with the same shape — useful when
5
+ * tests want to swap a partial fake) and exposes the narrow `TenzroRpcPort`
6
+ * surface the kernel actually uses. If the SDK's shape changes, this is the
7
+ * single file that breaks; the rest of the kernel stays put.
8
+ *
9
+ * Two construction paths:
10
+ *
11
+ * 1. **Direct fetch transport** — `fromClient(new TenzroClient(config))`
12
+ * is the M2 path: the kernel/host owns the bearer JWT + DPoP proof and
13
+ * the SDK's default `RpcClient` reads them from ambient env (`rpc.ts`).
14
+ *
15
+ * 2. **Injected EIP-1193 transport** — `fromInjected({rdns, timeoutMs})`
16
+ * is the M6 path: a dApp page loads, discovers `window.tenzro` via
17
+ * EIP-6963, and routes every `client.rpc.call(...)` through
18
+ * `provider.request(...)` so the extension owns auth + user
19
+ * confirmation. The SDK's `TenzroClient.fromInjected()` does the
20
+ * discovery + transport wiring for us.
21
+ */
22
+ import { type TenzroClient as SdkTenzroClient, type TenzroConfig, TenzroNotInstalledError } from 'tenzro-sdk';
23
+ import type { TenzroRpcPort, TenzroSendArgs, TenzroTxStatus } from '../tenzro-rpc.js';
24
+ /**
25
+ * Just the slice of `TenzroClient` the adapter touches. Listed explicitly so
26
+ * tests can inject a hand-rolled object instead of the full SDK class.
27
+ */
28
+ export interface TenzroClientLike {
29
+ getNonce(address: string): Promise<number>;
30
+ getChainId(): Promise<number>;
31
+ getFinalizedBlock(): Promise<number>;
32
+ getTransaction(hash: string): Promise<{
33
+ hash: string;
34
+ blockHeight?: number;
35
+ } | null>;
36
+ sendTransaction(params: {
37
+ from: string;
38
+ to: string;
39
+ value: bigint;
40
+ gas_limit?: number;
41
+ gas_price?: number;
42
+ nonce?: number;
43
+ chain_id?: number;
44
+ }): Promise<string>;
45
+ }
46
+ export declare class TenzroSdkAdapter implements TenzroRpcPort {
47
+ private readonly client;
48
+ constructor(client: TenzroClientLike);
49
+ /** Construct from a real `TenzroClient`. The cast is safe because
50
+ * `TenzroClient` already implements `TenzroClientLike`. */
51
+ static fromClient(client: SdkTenzroClient): TenzroSdkAdapter;
52
+ /**
53
+ * Construct an adapter that routes RPCs through an injected EIP-1193
54
+ * provider (`window.tenzro`) discovered via EIP-6963.
55
+ *
56
+ * Resolves only after the extension announces a provider matching
57
+ * `rdns` (defaults to `TENZRO_PROVIDER_RDNS`). Rejects with the SDK's
58
+ * `TenzroNotInstalledError` if no announcement arrives within
59
+ * `timeoutMs` (default 3000) — dApps should catch that and render an
60
+ * "Install Tenzro" CTA.
61
+ *
62
+ * The SDK's `fromInjected` wires `Eip1193Transport` internally, so
63
+ * neither this adapter nor the rest of the kernel needs to know that
64
+ * the underlying transport is a `provider.request(...)` call rather
65
+ * than a `fetch` to `rpc.tenzro.network`.
66
+ *
67
+ * Re-exports `TenzroNotInstalledError` so callers don't need a second
68
+ * dependency on `tenzro-sdk` purely to type the catch arm.
69
+ */
70
+ static fromInjected(options?: {
71
+ config?: TenzroConfig;
72
+ timeoutMs?: number;
73
+ rdns?: string;
74
+ }): Promise<TenzroSdkAdapter>;
75
+ getNonce(address: string): Promise<number>;
76
+ getChainId(): Promise<number>;
77
+ sendTransaction(args: TenzroSendArgs): Promise<string>;
78
+ getTransaction(hash: string): Promise<TenzroTxStatus | null>;
79
+ }
80
+ /**
81
+ * Re-export so kernel consumers can `instanceof`-check the not-installed
82
+ * case without taking a direct dependency on `tenzro-sdk`. The kernel's
83
+ * adapter layer is the only place SDK types should leak in from.
84
+ */
85
+ export { TenzroNotInstalledError };
86
+ //# sourceMappingURL=tenzro-sdk-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenzro-sdk-adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/adapters/tenzro-sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,KAAK,YAAY,IAAI,eAAe,EAEpC,KAAK,YAAY,EACjB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,CAAC,CAAC;IACV,eAAe,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,qBAAa,gBAAiB,YAAW,aAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAErD;gEAC4D;IAC5D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB;IAI5D;;;;;;;;;;;;;;;;;OAiBG;WACU,YAAY,CAAC,OAAO,CAAC,EAAE;QAClC,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IActD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAcnE;AAED;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * TenzroSdkAdapter — the only kernel file that imports from `tenzro-sdk`.
3
+ *
4
+ * Wraps a `TenzroClient` (or any object with the same shape — useful when
5
+ * tests want to swap a partial fake) and exposes the narrow `TenzroRpcPort`
6
+ * surface the kernel actually uses. If the SDK's shape changes, this is the
7
+ * single file that breaks; the rest of the kernel stays put.
8
+ *
9
+ * Two construction paths:
10
+ *
11
+ * 1. **Direct fetch transport** — `fromClient(new TenzroClient(config))`
12
+ * is the M2 path: the kernel/host owns the bearer JWT + DPoP proof and
13
+ * the SDK's default `RpcClient` reads them from ambient env (`rpc.ts`).
14
+ *
15
+ * 2. **Injected EIP-1193 transport** — `fromInjected({rdns, timeoutMs})`
16
+ * is the M6 path: a dApp page loads, discovers `window.tenzro` via
17
+ * EIP-6963, and routes every `client.rpc.call(...)` through
18
+ * `provider.request(...)` so the extension owns auth + user
19
+ * confirmation. The SDK's `TenzroClient.fromInjected()` does the
20
+ * discovery + transport wiring for us.
21
+ */
22
+ import { TenzroClient, TenzroNotInstalledError, } from 'tenzro-sdk';
23
+ export class TenzroSdkAdapter {
24
+ client;
25
+ constructor(client) {
26
+ this.client = client;
27
+ }
28
+ /** Construct from a real `TenzroClient`. The cast is safe because
29
+ * `TenzroClient` already implements `TenzroClientLike`. */
30
+ static fromClient(client) {
31
+ return new TenzroSdkAdapter(client);
32
+ }
33
+ /**
34
+ * Construct an adapter that routes RPCs through an injected EIP-1193
35
+ * provider (`window.tenzro`) discovered via EIP-6963.
36
+ *
37
+ * Resolves only after the extension announces a provider matching
38
+ * `rdns` (defaults to `TENZRO_PROVIDER_RDNS`). Rejects with the SDK's
39
+ * `TenzroNotInstalledError` if no announcement arrives within
40
+ * `timeoutMs` (default 3000) — dApps should catch that and render an
41
+ * "Install Tenzro" CTA.
42
+ *
43
+ * The SDK's `fromInjected` wires `Eip1193Transport` internally, so
44
+ * neither this adapter nor the rest of the kernel needs to know that
45
+ * the underlying transport is a `provider.request(...)` call rather
46
+ * than a `fetch` to `rpc.tenzro.network`.
47
+ *
48
+ * Re-exports `TenzroNotInstalledError` so callers don't need a second
49
+ * dependency on `tenzro-sdk` purely to type the catch arm.
50
+ */
51
+ static async fromInjected(options) {
52
+ const client = await TenzroClient.fromInjected(options);
53
+ return TenzroSdkAdapter.fromClient(client);
54
+ }
55
+ getNonce(address) {
56
+ return this.client.getNonce(address);
57
+ }
58
+ getChainId() {
59
+ return this.client.getChainId();
60
+ }
61
+ async sendTransaction(args) {
62
+ // Map our camelCase port shape to the SDK's snake_case wire shape.
63
+ const params = {
64
+ from: args.from,
65
+ to: args.to,
66
+ value: args.value,
67
+ };
68
+ if (args.gasLimit !== undefined)
69
+ params.gas_limit = args.gasLimit;
70
+ if (args.gasPrice !== undefined)
71
+ params.gas_price = args.gasPrice;
72
+ if (args.nonce !== undefined)
73
+ params.nonce = args.nonce;
74
+ if (args.chainId !== undefined)
75
+ params.chain_id = args.chainId;
76
+ return this.client.sendTransaction(params);
77
+ }
78
+ async getTransaction(hash) {
79
+ const tx = await this.client.getTransaction(hash);
80
+ if (tx === null)
81
+ return null;
82
+ // The SDK's `Transaction` has no explicit status field; we infer:
83
+ // - `blockHeight` unset → still in mempool → 'pending'
84
+ // - `blockHeight` set, ≤ finalized → 'finalized'
85
+ // - `blockHeight` set, > finalized → 'included'
86
+ if (tx.blockHeight === undefined) {
87
+ return { hash: tx.hash, status: 'pending' };
88
+ }
89
+ const finalized = await this.client.getFinalizedBlock();
90
+ const status = tx.blockHeight <= finalized ? 'finalized' : 'included';
91
+ return { hash: tx.hash, status, blockHeight: tx.blockHeight };
92
+ }
93
+ }
94
+ /**
95
+ * Re-export so kernel consumers can `instanceof`-check the not-installed
96
+ * case without taking a direct dependency on `tenzro-sdk`. The kernel's
97
+ * adapter layer is the only place SDK types should leak in from.
98
+ */
99
+ export { TenzroNotInstalledError };
100
+ //# sourceMappingURL=tenzro-sdk-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenzro-sdk-adapter.js","sourceRoot":"","sources":["../../../src/ports/adapters/tenzro-sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAEL,YAAY,EAEZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AA0BpB,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD;gEAC4D;IAC5D,MAAM,CAAC,UAAU,CAAC,MAAuB;QACvC,OAAO,IAAI,gBAAgB,CAAC,MAAqC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAIzB;QACC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAoB;QACxC,mEAAmE;QACnE,MAAM,MAAM,GAAuD;YACjE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7B,kEAAkE;QAClE,wDAAwD;QACxD,kDAAkD;QAClD,iDAAiD;QACjD,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,MAAM,GAA6B,EAAE,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QAChG,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;CACF;AAED;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * AcpPort — buyer-side OpenAI Agentic Commerce Protocol (ACP).
3
+ *
4
+ * ACP went live with ChatGPT Instant Checkout on 2026-02-16 (Etsy /
5
+ * Shopify / PayPal). Per `reference_agentic_payments_2026.md`, Tenzro's
6
+ * adopt-don't-rebuild stance is: implement the *buyer* side so a Tenzro
7
+ * agent can complete a ChatGPT-initiated purchase.
8
+ *
9
+ * The wallet is the buyer agent. It receives an ACP `CheckoutSession`
10
+ * from the merchant (typically through ChatGPT), confirms with the user
11
+ * via the standard consent flow, and submits a `CheckoutAuthorization`
12
+ * back. Settlement happens on the merchant side; the wallet does not
13
+ * transfer funds directly through ACP — it provides authorisation that
14
+ * the merchant redeems via their PSP (Stripe is the typical processor).
15
+ *
16
+ * SDK status (2026-05): `tenzro-sdk` does NOT yet expose an ACP client.
17
+ * This port is declared so the kernel surface is stable; `AcpSdkAdapter`
18
+ * lands when the SDK ships `AcpClient` (tracked as DESIGN.md §11 SDK gap).
19
+ *
20
+ * Wire shape follows the public ACP v1 spec:
21
+ * • CheckoutSession: { id, merchant, line_items[], total, currency,
22
+ * psp, expires_at }
23
+ * • CheckoutAuthorization: { session_id, buyer, payment_method,
24
+ * authorisation_proof, signature }
25
+ */
26
+ export interface AcpLineItem {
27
+ readonly sku: string;
28
+ readonly description: string;
29
+ readonly quantity: number;
30
+ readonly unitPrice: string;
31
+ }
32
+ export interface AcpCheckoutSession {
33
+ readonly sessionId: string;
34
+ readonly merchant: string;
35
+ readonly lineItems: readonly AcpLineItem[];
36
+ readonly total: string;
37
+ readonly currency: string;
38
+ /** Payment service provider (e.g. "stripe", "adyen"). */
39
+ readonly psp: string;
40
+ readonly expiresAt: number;
41
+ }
42
+ export interface AcpAuthorizeRequest {
43
+ readonly sessionId: string;
44
+ /** Buyer DID — the agent / human authorising the purchase. */
45
+ readonly buyer: string;
46
+ /**
47
+ * Payment method handle issued by the buyer's PSP. ACP carries the
48
+ * handle, not raw card data.
49
+ */
50
+ readonly paymentMethod: string;
51
+ }
52
+ export interface AcpAuthorizationResult {
53
+ readonly sessionId: string;
54
+ readonly authorizationId: string;
55
+ readonly status: 'authorised' | 'declined' | 'pending';
56
+ readonly reason?: string;
57
+ }
58
+ export interface AcpPort {
59
+ /** Fetch a checkout session by id (typically issued by the merchant). */
60
+ getSession(sessionId: string): Promise<AcpCheckoutSession>;
61
+ /** Authorise a checkout session. The wallet runs its consent flow first. */
62
+ authorize(req: AcpAuthorizeRequest): Promise<AcpAuthorizationResult>;
63
+ /** Cancel a session before authorisation. */
64
+ cancel(sessionId: string): Promise<void>;
65
+ }
66
+ //# sourceMappingURL=acp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/acp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,yEAAyE;IACzE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE3D,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAErE,6CAA6C;IAC7C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * AcpPort — buyer-side OpenAI Agentic Commerce Protocol (ACP).
3
+ *
4
+ * ACP went live with ChatGPT Instant Checkout on 2026-02-16 (Etsy /
5
+ * Shopify / PayPal). Per `reference_agentic_payments_2026.md`, Tenzro's
6
+ * adopt-don't-rebuild stance is: implement the *buyer* side so a Tenzro
7
+ * agent can complete a ChatGPT-initiated purchase.
8
+ *
9
+ * The wallet is the buyer agent. It receives an ACP `CheckoutSession`
10
+ * from the merchant (typically through ChatGPT), confirms with the user
11
+ * via the standard consent flow, and submits a `CheckoutAuthorization`
12
+ * back. Settlement happens on the merchant side; the wallet does not
13
+ * transfer funds directly through ACP — it provides authorisation that
14
+ * the merchant redeems via their PSP (Stripe is the typical processor).
15
+ *
16
+ * SDK status (2026-05): `tenzro-sdk` does NOT yet expose an ACP client.
17
+ * This port is declared so the kernel surface is stable; `AcpSdkAdapter`
18
+ * lands when the SDK ships `AcpClient` (tracked as DESIGN.md §11 SDK gap).
19
+ *
20
+ * Wire shape follows the public ACP v1 spec:
21
+ * • CheckoutSession: { id, merchant, line_items[], total, currency,
22
+ * psp, expires_at }
23
+ * • CheckoutAuthorization: { session_id, buyer, payment_method,
24
+ * authorisation_proof, signature }
25
+ */
26
+ export {};
27
+ //# sourceMappingURL=acp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/ports/agent/acp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * AcpSdkAdapter — buyer-side OpenAI Agentic Commerce Protocol (ACP) wrapper.
3
+ *
4
+ * **SDK status (2026-05):** `tenzro-sdk` does NOT yet expose an `AcpClient`.
5
+ * This adapter therefore depends on a structural `AcpClientLike` interface
6
+ * the kernel defines itself, mirroring the public ACP v1 wire shape. When
7
+ * the SDK ships `AcpClient`, swap `AcpClientLike` for the SDK type and
8
+ * delete the structural definition — the wire mapping below is already
9
+ * the one we'll need.
10
+ *
11
+ * Wire shape pinned to the public ACP spec:
12
+ * GET /sessions/{id} → AcpCheckoutSession (snake_case)
13
+ * POST /sessions/{id}/authorize → AcpAuthorizationResult
14
+ * POST /sessions/{id}/cancel → 204
15
+ *
16
+ * Field-mapping rules, identical to the rest of the agent-port adapter set:
17
+ * - snake_case on the wire ↔ camelCase on the port.
18
+ * - decimal-string amounts on the wire (ACP carries no bigint over the
19
+ * wire — all amounts are "1234.56" strings — so we forward verbatim).
20
+ * - missing optional fields use the conditional-spread idiom required
21
+ * by the kernel's `exactOptionalPropertyTypes: true`.
22
+ */
23
+ import type { AcpAuthorizationResult, AcpAuthorizeRequest, AcpCheckoutSession, AcpPort } from '../acp.js';
24
+ interface RawLineItem {
25
+ readonly sku: string;
26
+ readonly description: string;
27
+ readonly quantity: number;
28
+ readonly unit_price: string;
29
+ }
30
+ interface RawCheckoutSession {
31
+ readonly session_id: string;
32
+ readonly merchant: string;
33
+ readonly line_items: ReadonlyArray<RawLineItem>;
34
+ readonly total: string;
35
+ readonly currency: string;
36
+ readonly psp: string;
37
+ readonly expires_at: number;
38
+ }
39
+ interface RawAuthorizationResult {
40
+ readonly session_id: string;
41
+ readonly authorization_id: string;
42
+ readonly status: 'authorised' | 'declined' | 'pending';
43
+ readonly reason?: string;
44
+ }
45
+ /**
46
+ * Structural shape the adapter expects from the SDK client. When `tenzro-sdk`
47
+ * exposes `AcpClient`, this becomes `import type { AcpClient } from 'tenzro-sdk'`
48
+ * and the structural type goes away.
49
+ */
50
+ export interface AcpClientLike {
51
+ getSession(sessionId: string): Promise<RawCheckoutSession>;
52
+ authorize(req: {
53
+ session_id: string;
54
+ buyer: string;
55
+ payment_method: string;
56
+ }): Promise<RawAuthorizationResult>;
57
+ cancel(sessionId: string): Promise<void>;
58
+ }
59
+ export declare class AcpSdkAdapter implements AcpPort {
60
+ private readonly client;
61
+ constructor(client: AcpClientLike);
62
+ getSession(sessionId: string): Promise<AcpCheckoutSession>;
63
+ authorize(req: AcpAuthorizeRequest): Promise<AcpAuthorizationResult>;
64
+ cancel(sessionId: string): Promise<void>;
65
+ }
66
+ export {};
67
+ //# sourceMappingURL=acp-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/acp-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAElB,OAAO,EACR,MAAM,WAAW,CAAC;AAEnB,UAAU,WAAW;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAgCD,qBAAa,aAAc,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAE5C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI1D,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IASpE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * AcpSdkAdapter — buyer-side OpenAI Agentic Commerce Protocol (ACP) wrapper.
3
+ *
4
+ * **SDK status (2026-05):** `tenzro-sdk` does NOT yet expose an `AcpClient`.
5
+ * This adapter therefore depends on a structural `AcpClientLike` interface
6
+ * the kernel defines itself, mirroring the public ACP v1 wire shape. When
7
+ * the SDK ships `AcpClient`, swap `AcpClientLike` for the SDK type and
8
+ * delete the structural definition — the wire mapping below is already
9
+ * the one we'll need.
10
+ *
11
+ * Wire shape pinned to the public ACP spec:
12
+ * GET /sessions/{id} → AcpCheckoutSession (snake_case)
13
+ * POST /sessions/{id}/authorize → AcpAuthorizationResult
14
+ * POST /sessions/{id}/cancel → 204
15
+ *
16
+ * Field-mapping rules, identical to the rest of the agent-port adapter set:
17
+ * - snake_case on the wire ↔ camelCase on the port.
18
+ * - decimal-string amounts on the wire (ACP carries no bigint over the
19
+ * wire — all amounts are "1234.56" strings — so we forward verbatim).
20
+ * - missing optional fields use the conditional-spread idiom required
21
+ * by the kernel's `exactOptionalPropertyTypes: true`.
22
+ */
23
+ function mapLineItem(raw) {
24
+ return {
25
+ sku: raw.sku,
26
+ description: raw.description,
27
+ quantity: raw.quantity,
28
+ unitPrice: raw.unit_price,
29
+ };
30
+ }
31
+ function mapSession(raw) {
32
+ return {
33
+ sessionId: raw.session_id,
34
+ merchant: raw.merchant,
35
+ lineItems: raw.line_items.map(mapLineItem),
36
+ total: raw.total,
37
+ currency: raw.currency,
38
+ psp: raw.psp,
39
+ expiresAt: raw.expires_at,
40
+ };
41
+ }
42
+ function mapAuthorizationResult(raw) {
43
+ return {
44
+ sessionId: raw.session_id,
45
+ authorizationId: raw.authorization_id,
46
+ status: raw.status,
47
+ ...(raw.reason !== undefined ? { reason: raw.reason } : {}),
48
+ };
49
+ }
50
+ export class AcpSdkAdapter {
51
+ client;
52
+ constructor(client) {
53
+ this.client = client;
54
+ }
55
+ async getSession(sessionId) {
56
+ return mapSession(await this.client.getSession(sessionId));
57
+ }
58
+ async authorize(req) {
59
+ const raw = await this.client.authorize({
60
+ session_id: req.sessionId,
61
+ buyer: req.buyer,
62
+ payment_method: req.paymentMethod,
63
+ });
64
+ return mapAuthorizationResult(raw);
65
+ }
66
+ async cancel(sessionId) {
67
+ await this.client.cancel(sessionId);
68
+ }
69
+ }
70
+ //# sourceMappingURL=acp-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-adapter.js","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/acp-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiDH,SAAS,WAAW,CAAC,GAAgB;IACnC,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAuB;IACzC,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;QAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAA2B;IACzD,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAwB;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACtC,UAAU,EAAE,GAAG,CAAC,SAAS;YACzB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,cAAc,EAAE,GAAG,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * AgentBondSdkAdapter — wraps `BondClient` so the kernel can drive the
3
+ * Agent-Swarm Spec 9 bond primitive without owning the typed-tx encoding.
4
+ *
5
+ * Wire:
6
+ * post → BondClient.postAgentBond(controller, agentDid, controllerDid, amount)
7
+ * increase → BondClient.increaseAgentBond(controller, agentDid, amount)
8
+ * withdraw → BondClient.withdrawAgentBond(controller, agentDid)
9
+ * get → BondClient.getAgentBond(bondId)
10
+ * list → BondClient.listAgentBondsByController(controllerDid)
11
+ *
12
+ * The SDK already handles `tenzro_signAndSendTransaction` routing for
13
+ * hybrid (server-side MPC) signing, so we forward verbatim.
14
+ */
15
+ import type { BondClient } from 'tenzro-sdk';
16
+ import type { AgentBondPort, AgentBondRecord, IncreaseAgentBondRequest, PostAgentBondRequest, WithdrawAgentBondRequest } from '../agent-bond.js';
17
+ /**
18
+ * Slice of `BondClient` the adapter relies on, anchored to the SDK via
19
+ * `Pick<>` so a method-rename in `tenzro-sdk` breaks the build.
20
+ */
21
+ export type BondClientLike = Pick<BondClient, 'postAgentBond' | 'increaseAgentBond' | 'withdrawAgentBond' | 'getAgentBond' | 'listAgentBondsByController'>;
22
+ export declare class AgentBondSdkAdapter implements AgentBondPort {
23
+ private readonly client;
24
+ constructor(client: BondClientLike);
25
+ post(req: PostAgentBondRequest): Promise<string>;
26
+ increase(req: IncreaseAgentBondRequest): Promise<string>;
27
+ withdraw(req: WithdrawAgentBondRequest): Promise<string>;
28
+ get(bondId: string): Promise<AgentBondRecord | null>;
29
+ listByController(controllerDid: string): Promise<AgentBondRecord[]>;
30
+ }
31
+ //# sourceMappingURL=agent-bond-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-bond-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/agent-bond-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEf,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,UAAU,EACR,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,4BAA4B,CAC/B,CAAC;AAsBF,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEnD,IAAI,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,QAAQ,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,QAAQ,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAKpD,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAa1E"}