@terkoizmy/intent-sdk 1.0.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 (371) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +258 -0
  3. package/dist/config/chains.d.ts +25 -0
  4. package/dist/config/chains.d.ts.map +1 -0
  5. package/dist/config/chains.js +85 -0
  6. package/dist/config/chains.js.map +1 -0
  7. package/dist/config/default.d.ts +39 -0
  8. package/dist/config/default.d.ts.map +1 -0
  9. package/dist/config/default.js +46 -0
  10. package/dist/config/default.js.map +1 -0
  11. package/dist/config/testnets.d.ts +31 -0
  12. package/dist/config/testnets.d.ts.map +1 -0
  13. package/dist/config/testnets.js +99 -0
  14. package/dist/config/testnets.js.map +1 -0
  15. package/dist/errors/inventory-errors.d.ts +31 -0
  16. package/dist/errors/inventory-errors.d.ts.map +1 -0
  17. package/dist/errors/inventory-errors.js +45 -0
  18. package/dist/errors/inventory-errors.js.map +1 -0
  19. package/dist/errors/settlement-errors.d.ts +27 -0
  20. package/dist/errors/settlement-errors.d.ts.map +1 -0
  21. package/dist/errors/settlement-errors.js +39 -0
  22. package/dist/errors/settlement-errors.js.map +1 -0
  23. package/dist/errors/solver-errors.d.ts +45 -0
  24. package/dist/errors/solver-errors.d.ts.map +1 -0
  25. package/dist/errors/solver-errors.js +66 -0
  26. package/dist/errors/solver-errors.js.map +1 -0
  27. package/dist/index.d.ts +34 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +28 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/parser/classifiers/intent-classifier.d.ts +40 -0
  32. package/dist/parser/classifiers/intent-classifier.d.ts.map +1 -0
  33. package/dist/parser/classifiers/intent-classifier.js +72 -0
  34. package/dist/parser/classifiers/intent-classifier.js.map +1 -0
  35. package/dist/parser/extractors/action.d.ts +32 -0
  36. package/dist/parser/extractors/action.d.ts.map +1 -0
  37. package/dist/parser/extractors/action.js +72 -0
  38. package/dist/parser/extractors/action.js.map +1 -0
  39. package/dist/parser/extractors/amount.d.ts +39 -0
  40. package/dist/parser/extractors/amount.d.ts.map +1 -0
  41. package/dist/parser/extractors/amount.js +113 -0
  42. package/dist/parser/extractors/amount.js.map +1 -0
  43. package/dist/parser/extractors/constraints.d.ts +37 -0
  44. package/dist/parser/extractors/constraints.d.ts.map +1 -0
  45. package/dist/parser/extractors/constraints.js +119 -0
  46. package/dist/parser/extractors/constraints.js.map +1 -0
  47. package/dist/parser/extractors/index.d.ts +5 -0
  48. package/dist/parser/extractors/index.d.ts.map +1 -0
  49. package/dist/parser/extractors/index.js +5 -0
  50. package/dist/parser/extractors/index.js.map +1 -0
  51. package/dist/parser/extractors/token.d.ts +24 -0
  52. package/dist/parser/extractors/token.d.ts.map +1 -0
  53. package/dist/parser/extractors/token.js +124 -0
  54. package/dist/parser/extractors/token.js.map +1 -0
  55. package/dist/parser/index.d.ts +125 -0
  56. package/dist/parser/index.d.ts.map +1 -0
  57. package/dist/parser/index.js +293 -0
  58. package/dist/parser/index.js.map +1 -0
  59. package/dist/parser/template/bridge.d.ts +37 -0
  60. package/dist/parser/template/bridge.d.ts.map +1 -0
  61. package/dist/parser/template/bridge.js +80 -0
  62. package/dist/parser/template/bridge.js.map +1 -0
  63. package/dist/parser/template/claim.d.ts +15 -0
  64. package/dist/parser/template/claim.d.ts.map +1 -0
  65. package/dist/parser/template/claim.js +36 -0
  66. package/dist/parser/template/claim.js.map +1 -0
  67. package/dist/parser/template/index.d.ts +28 -0
  68. package/dist/parser/template/index.d.ts.map +1 -0
  69. package/dist/parser/template/index.js +50 -0
  70. package/dist/parser/template/index.js.map +1 -0
  71. package/dist/parser/template/nft.d.ts +3 -0
  72. package/dist/parser/template/nft.d.ts.map +1 -0
  73. package/dist/parser/template/nft.js +19 -0
  74. package/dist/parser/template/nft.js.map +1 -0
  75. package/dist/parser/template/send.d.ts +24 -0
  76. package/dist/parser/template/send.d.ts.map +1 -0
  77. package/dist/parser/template/send.js +61 -0
  78. package/dist/parser/template/send.js.map +1 -0
  79. package/dist/parser/template/swap.d.ts +3 -0
  80. package/dist/parser/template/swap.d.ts.map +1 -0
  81. package/dist/parser/template/swap.js +21 -0
  82. package/dist/parser/template/swap.js.map +1 -0
  83. package/dist/parser/template/unknown.d.ts +3 -0
  84. package/dist/parser/template/unknown.d.ts.map +1 -0
  85. package/dist/parser/template/unknown.js +11 -0
  86. package/dist/parser/template/unknown.js.map +1 -0
  87. package/dist/parser/template/yield.d.ts +3 -0
  88. package/dist/parser/template/yield.d.ts.map +1 -0
  89. package/dist/parser/template/yield.js +25 -0
  90. package/dist/parser/template/yield.js.map +1 -0
  91. package/dist/parser/utils/normalize.d.ts +41 -0
  92. package/dist/parser/utils/normalize.d.ts.map +1 -0
  93. package/dist/parser/utils/normalize.js +71 -0
  94. package/dist/parser/utils/normalize.js.map +1 -0
  95. package/dist/parser/utils/parser-helpers.d.ts +20 -0
  96. package/dist/parser/utils/parser-helpers.d.ts.map +1 -0
  97. package/dist/parser/utils/parser-helpers.js +282 -0
  98. package/dist/parser/utils/parser-helpers.js.map +1 -0
  99. package/dist/parser/validators/schema.d.ts +14 -0
  100. package/dist/parser/validators/schema.d.ts.map +1 -0
  101. package/dist/parser/validators/schema.js +81 -0
  102. package/dist/parser/validators/schema.js.map +1 -0
  103. package/dist/sdk-factory.d.ts +55 -0
  104. package/dist/sdk-factory.d.ts.map +1 -0
  105. package/dist/sdk-factory.js +49 -0
  106. package/dist/sdk-factory.js.map +1 -0
  107. package/dist/services/token-resolver.d.ts +142 -0
  108. package/dist/services/token-resolver.d.ts.map +1 -0
  109. package/dist/services/token-resolver.js +254 -0
  110. package/dist/services/token-resolver.js.map +1 -0
  111. package/dist/shared/chain-registry/chain-names.d.ts +22 -0
  112. package/dist/shared/chain-registry/chain-names.d.ts.map +1 -0
  113. package/dist/shared/chain-registry/chain-names.js +49 -0
  114. package/dist/shared/chain-registry/chain-names.js.map +1 -0
  115. package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts +9 -0
  116. package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts.map +1 -0
  117. package/dist/shared/chain-registry/configs/arbitrum-sepolia.js +9 -0
  118. package/dist/shared/chain-registry/configs/arbitrum-sepolia.js.map +1 -0
  119. package/dist/shared/chain-registry/configs/base-sepolia.d.ts +9 -0
  120. package/dist/shared/chain-registry/configs/base-sepolia.d.ts.map +1 -0
  121. package/dist/shared/chain-registry/configs/base-sepolia.js +9 -0
  122. package/dist/shared/chain-registry/configs/base-sepolia.js.map +1 -0
  123. package/dist/shared/chain-registry/configs/ethereum.d.ts +7 -0
  124. package/dist/shared/chain-registry/configs/ethereum.d.ts.map +1 -0
  125. package/dist/shared/chain-registry/configs/ethereum.js +7 -0
  126. package/dist/shared/chain-registry/configs/ethereum.js.map +1 -0
  127. package/dist/shared/chain-registry/configs/polygon.d.ts +7 -0
  128. package/dist/shared/chain-registry/configs/polygon.d.ts.map +1 -0
  129. package/dist/shared/chain-registry/configs/polygon.js +7 -0
  130. package/dist/shared/chain-registry/configs/polygon.js.map +1 -0
  131. package/dist/shared/chain-registry/configs/sepolia.d.ts +9 -0
  132. package/dist/shared/chain-registry/configs/sepolia.d.ts.map +1 -0
  133. package/dist/shared/chain-registry/configs/sepolia.js +9 -0
  134. package/dist/shared/chain-registry/configs/sepolia.js.map +1 -0
  135. package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts +9 -0
  136. package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts.map +1 -0
  137. package/dist/shared/chain-registry/configs/unichain-sepolia.js +9 -0
  138. package/dist/shared/chain-registry/configs/unichain-sepolia.js.map +1 -0
  139. package/dist/shared/chain-registry/registry.d.ts +50 -0
  140. package/dist/shared/chain-registry/registry.d.ts.map +1 -0
  141. package/dist/shared/chain-registry/registry.js +72 -0
  142. package/dist/shared/chain-registry/registry.js.map +1 -0
  143. package/dist/shared/rpc/provider-manager.d.ts +111 -0
  144. package/dist/shared/rpc/provider-manager.d.ts.map +1 -0
  145. package/dist/shared/rpc/provider-manager.js +116 -0
  146. package/dist/shared/rpc/provider-manager.js.map +1 -0
  147. package/dist/shared/rpc/viem-provider.d.ts +78 -0
  148. package/dist/shared/rpc/viem-provider.d.ts.map +1 -0
  149. package/dist/shared/rpc/viem-provider.js +187 -0
  150. package/dist/shared/rpc/viem-provider.js.map +1 -0
  151. package/dist/shared/token-registry/enrichment.d.ts +48 -0
  152. package/dist/shared/token-registry/enrichment.d.ts.map +1 -0
  153. package/dist/shared/token-registry/enrichment.js +69 -0
  154. package/dist/shared/token-registry/enrichment.js.map +1 -0
  155. package/dist/shared/token-registry/registry.d.ts +119 -0
  156. package/dist/shared/token-registry/registry.d.ts.map +1 -0
  157. package/dist/shared/token-registry/registry.js +200 -0
  158. package/dist/shared/token-registry/registry.js.map +1 -0
  159. package/dist/shared/utils/erc20-utils.d.ts +24 -0
  160. package/dist/shared/utils/erc20-utils.d.ts.map +1 -0
  161. package/dist/shared/utils/erc20-utils.js +31 -0
  162. package/dist/shared/utils/erc20-utils.js.map +1 -0
  163. package/dist/shared/utils/retry.d.ts +57 -0
  164. package/dist/shared/utils/retry.d.ts.map +1 -0
  165. package/dist/shared/utils/retry.js +104 -0
  166. package/dist/shared/utils/retry.js.map +1 -0
  167. package/dist/shared/wallet-manager/viem-signer.d.ts +68 -0
  168. package/dist/shared/wallet-manager/viem-signer.d.ts.map +1 -0
  169. package/dist/shared/wallet-manager/viem-signer.js +116 -0
  170. package/dist/shared/wallet-manager/viem-signer.js.map +1 -0
  171. package/dist/shared/wallet-manager/wallet-manager.d.ts +96 -0
  172. package/dist/shared/wallet-manager/wallet-manager.d.ts.map +1 -0
  173. package/dist/shared/wallet-manager/wallet-manager.js +104 -0
  174. package/dist/shared/wallet-manager/wallet-manager.js.map +1 -0
  175. package/dist/solver/agent/agent-config.d.ts +62 -0
  176. package/dist/solver/agent/agent-config.d.ts.map +1 -0
  177. package/dist/solver/agent/agent-config.js +59 -0
  178. package/dist/solver/agent/agent-config.js.map +1 -0
  179. package/dist/solver/agent/index.d.ts +6 -0
  180. package/dist/solver/agent/index.d.ts.map +1 -0
  181. package/dist/solver/agent/index.js +6 -0
  182. package/dist/solver/agent/index.js.map +1 -0
  183. package/dist/solver/agent/liquidity-agent.d.ts +118 -0
  184. package/dist/solver/agent/liquidity-agent.d.ts.map +1 -0
  185. package/dist/solver/agent/liquidity-agent.js +285 -0
  186. package/dist/solver/agent/liquidity-agent.js.map +1 -0
  187. package/dist/solver/contracts/intent-settlement/index.d.ts +2 -0
  188. package/dist/solver/contracts/intent-settlement/index.d.ts.map +1 -0
  189. package/dist/solver/contracts/intent-settlement/index.js +2 -0
  190. package/dist/solver/contracts/intent-settlement/index.js.map +1 -0
  191. package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts +22 -0
  192. package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts.map +1 -0
  193. package/dist/solver/contracts/intent-settlement/intent-settlement.js +58 -0
  194. package/dist/solver/contracts/intent-settlement/intent-settlement.js.map +1 -0
  195. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts +226 -0
  196. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts.map +1 -0
  197. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js +204 -0
  198. package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js.map +1 -0
  199. package/dist/solver/index.d.ts +87 -0
  200. package/dist/solver/index.d.ts.map +1 -0
  201. package/dist/solver/index.js +167 -0
  202. package/dist/solver/index.js.map +1 -0
  203. package/dist/solver/inventory/index.d.ts +7 -0
  204. package/dist/solver/inventory/index.d.ts.map +1 -0
  205. package/dist/solver/inventory/index.js +7 -0
  206. package/dist/solver/inventory/index.js.map +1 -0
  207. package/dist/solver/inventory/inventory-manager.d.ts +135 -0
  208. package/dist/solver/inventory/inventory-manager.d.ts.map +1 -0
  209. package/dist/solver/inventory/inventory-manager.js +323 -0
  210. package/dist/solver/inventory/inventory-manager.js.map +1 -0
  211. package/dist/solver/inventory/inventory-monitor.d.ts +72 -0
  212. package/dist/solver/inventory/inventory-monitor.d.ts.map +1 -0
  213. package/dist/solver/inventory/inventory-monitor.js +123 -0
  214. package/dist/solver/inventory/inventory-monitor.js.map +1 -0
  215. package/dist/solver/inventory/rebalancer.d.ts +78 -0
  216. package/dist/solver/inventory/rebalancer.d.ts.map +1 -0
  217. package/dist/solver/inventory/rebalancer.js +210 -0
  218. package/dist/solver/inventory/rebalancer.js.map +1 -0
  219. package/dist/solver/mempool/index.d.ts +8 -0
  220. package/dist/solver/mempool/index.d.ts.map +1 -0
  221. package/dist/solver/mempool/index.js +8 -0
  222. package/dist/solver/mempool/index.js.map +1 -0
  223. package/dist/solver/mempool/intent-filter.d.ts +49 -0
  224. package/dist/solver/mempool/intent-filter.d.ts.map +1 -0
  225. package/dist/solver/mempool/intent-filter.js +75 -0
  226. package/dist/solver/mempool/intent-filter.js.map +1 -0
  227. package/dist/solver/mempool/mempool-client.d.ts +105 -0
  228. package/dist/solver/mempool/mempool-client.d.ts.map +1 -0
  229. package/dist/solver/mempool/mempool-client.js +161 -0
  230. package/dist/solver/mempool/mempool-client.js.map +1 -0
  231. package/dist/solver/mempool/mempool-monitor.d.ts +71 -0
  232. package/dist/solver/mempool/mempool-monitor.d.ts.map +1 -0
  233. package/dist/solver/mempool/mempool-monitor.js +127 -0
  234. package/dist/solver/mempool/mempool-monitor.js.map +1 -0
  235. package/dist/solver/mempool/solution-submitter.d.ts +41 -0
  236. package/dist/solver/mempool/solution-submitter.d.ts.map +1 -0
  237. package/dist/solver/mempool/solution-submitter.js +71 -0
  238. package/dist/solver/mempool/solution-submitter.js.map +1 -0
  239. package/dist/solver/monitoring/alert-manager.d.ts +43 -0
  240. package/dist/solver/monitoring/alert-manager.d.ts.map +1 -0
  241. package/dist/solver/monitoring/alert-manager.js +69 -0
  242. package/dist/solver/monitoring/alert-manager.js.map +1 -0
  243. package/dist/solver/monitoring/health-checker.d.ts +53 -0
  244. package/dist/solver/monitoring/health-checker.d.ts.map +1 -0
  245. package/dist/solver/monitoring/health-checker.js +94 -0
  246. package/dist/solver/monitoring/health-checker.js.map +1 -0
  247. package/dist/solver/monitoring/index.d.ts +7 -0
  248. package/dist/solver/monitoring/index.d.ts.map +1 -0
  249. package/dist/solver/monitoring/index.js +7 -0
  250. package/dist/solver/monitoring/index.js.map +1 -0
  251. package/dist/solver/monitoring/profit-tracker.d.ts +47 -0
  252. package/dist/solver/monitoring/profit-tracker.d.ts.map +1 -0
  253. package/dist/solver/monitoring/profit-tracker.js +112 -0
  254. package/dist/solver/monitoring/profit-tracker.js.map +1 -0
  255. package/dist/solver/pricing/dynamic-pricing.d.ts +86 -0
  256. package/dist/solver/pricing/dynamic-pricing.d.ts.map +1 -0
  257. package/dist/solver/pricing/dynamic-pricing.js +189 -0
  258. package/dist/solver/pricing/dynamic-pricing.js.map +1 -0
  259. package/dist/solver/pricing/fee-calculator.d.ts +101 -0
  260. package/dist/solver/pricing/fee-calculator.d.ts.map +1 -0
  261. package/dist/solver/pricing/fee-calculator.js +149 -0
  262. package/dist/solver/pricing/fee-calculator.js.map +1 -0
  263. package/dist/solver/pricing/index.d.ts +7 -0
  264. package/dist/solver/pricing/index.d.ts.map +1 -0
  265. package/dist/solver/pricing/index.js +7 -0
  266. package/dist/solver/pricing/index.js.map +1 -0
  267. package/dist/solver/pricing/slippage-capture.d.ts +47 -0
  268. package/dist/solver/pricing/slippage-capture.d.ts.map +1 -0
  269. package/dist/solver/pricing/slippage-capture.js +63 -0
  270. package/dist/solver/pricing/slippage-capture.js.map +1 -0
  271. package/dist/solver/protocols/aggregators/lifi.d.ts +109 -0
  272. package/dist/solver/protocols/aggregators/lifi.d.ts.map +1 -0
  273. package/dist/solver/protocols/aggregators/lifi.js +110 -0
  274. package/dist/solver/protocols/aggregators/lifi.js.map +1 -0
  275. package/dist/solver/protocols/aggregators/swing.d.ts +67 -0
  276. package/dist/solver/protocols/aggregators/swing.d.ts.map +1 -0
  277. package/dist/solver/protocols/aggregators/swing.js +212 -0
  278. package/dist/solver/protocols/aggregators/swing.js.map +1 -0
  279. package/dist/solver/protocols/base-protocol.d.ts +42 -0
  280. package/dist/solver/protocols/base-protocol.d.ts.map +1 -0
  281. package/dist/solver/protocols/base-protocol.js +16 -0
  282. package/dist/solver/protocols/base-protocol.js.map +1 -0
  283. package/dist/solver/protocols/index.d.ts +10 -0
  284. package/dist/solver/protocols/index.d.ts.map +1 -0
  285. package/dist/solver/protocols/index.js +10 -0
  286. package/dist/solver/protocols/index.js.map +1 -0
  287. package/dist/solver/protocols/lending/aave.d.ts +51 -0
  288. package/dist/solver/protocols/lending/aave.d.ts.map +1 -0
  289. package/dist/solver/protocols/lending/aave.js +172 -0
  290. package/dist/solver/protocols/lending/aave.js.map +1 -0
  291. package/dist/solver/protocols/protocol-registry.d.ts +28 -0
  292. package/dist/solver/protocols/protocol-registry.d.ts.map +1 -0
  293. package/dist/solver/protocols/protocol-registry.js +40 -0
  294. package/dist/solver/protocols/protocol-registry.js.map +1 -0
  295. package/dist/solver/settlement/index.d.ts +7 -0
  296. package/dist/solver/settlement/index.d.ts.map +1 -0
  297. package/dist/solver/settlement/index.js +7 -0
  298. package/dist/solver/settlement/index.js.map +1 -0
  299. package/dist/solver/settlement/live-settlement-manager.d.ts +62 -0
  300. package/dist/solver/settlement/live-settlement-manager.d.ts.map +1 -0
  301. package/dist/solver/settlement/live-settlement-manager.js +68 -0
  302. package/dist/solver/settlement/live-settlement-manager.js.map +1 -0
  303. package/dist/solver/settlement/proof-generator.d.ts +48 -0
  304. package/dist/solver/settlement/proof-generator.d.ts.map +1 -0
  305. package/dist/solver/settlement/proof-generator.js +100 -0
  306. package/dist/solver/settlement/proof-generator.js.map +1 -0
  307. package/dist/solver/settlement/proof-verifier.d.ts +31 -0
  308. package/dist/solver/settlement/proof-verifier.d.ts.map +1 -0
  309. package/dist/solver/settlement/proof-verifier.js +46 -0
  310. package/dist/solver/settlement/proof-verifier.js.map +1 -0
  311. package/dist/solver/settlement/settlement-manager.d.ts +97 -0
  312. package/dist/solver/settlement/settlement-manager.d.ts.map +1 -0
  313. package/dist/solver/settlement/settlement-manager.js +220 -0
  314. package/dist/solver/settlement/settlement-manager.js.map +1 -0
  315. package/dist/solver/types/agent.d.ts +92 -0
  316. package/dist/solver/types/agent.d.ts.map +1 -0
  317. package/dist/solver/types/agent.js +8 -0
  318. package/dist/solver/types/agent.js.map +1 -0
  319. package/dist/solver/types/execution.d.ts +70 -0
  320. package/dist/solver/types/execution.d.ts.map +1 -0
  321. package/dist/solver/types/execution.js +7 -0
  322. package/dist/solver/types/execution.js.map +1 -0
  323. package/dist/solver/types/index.d.ts +13 -0
  324. package/dist/solver/types/index.d.ts.map +1 -0
  325. package/dist/solver/types/index.js +13 -0
  326. package/dist/solver/types/index.js.map +1 -0
  327. package/dist/solver/types/intent.d.ts +82 -0
  328. package/dist/solver/types/intent.d.ts.map +1 -0
  329. package/dist/solver/types/intent.js +33 -0
  330. package/dist/solver/types/intent.js.map +1 -0
  331. package/dist/solver/types/inventory.d.ts +83 -0
  332. package/dist/solver/types/inventory.d.ts.map +1 -0
  333. package/dist/solver/types/inventory.js +8 -0
  334. package/dist/solver/types/inventory.js.map +1 -0
  335. package/dist/solver/types/pricing.d.ts +59 -0
  336. package/dist/solver/types/pricing.d.ts.map +1 -0
  337. package/dist/solver/types/pricing.js +8 -0
  338. package/dist/solver/types/pricing.js.map +1 -0
  339. package/dist/solver/types/settlement.d.ts +98 -0
  340. package/dist/solver/types/settlement.d.ts.map +1 -0
  341. package/dist/solver/types/settlement.js +9 -0
  342. package/dist/solver/types/settlement.js.map +1 -0
  343. package/dist/types/chain.d.ts +66 -0
  344. package/dist/types/chain.d.ts.map +1 -0
  345. package/dist/types/chain.js +7 -0
  346. package/dist/types/chain.js.map +1 -0
  347. package/dist/types/common.d.ts +44 -0
  348. package/dist/types/common.d.ts.map +1 -0
  349. package/dist/types/common.js +8 -0
  350. package/dist/types/common.js.map +1 -0
  351. package/dist/types/entities.d.ts +61 -0
  352. package/dist/types/entities.d.ts.map +1 -0
  353. package/dist/types/entities.js +2 -0
  354. package/dist/types/entities.js.map +1 -0
  355. package/dist/types/index.d.ts +44 -0
  356. package/dist/types/index.d.ts.map +1 -0
  357. package/dist/types/index.js +8 -0
  358. package/dist/types/index.js.map +1 -0
  359. package/dist/types/intent.d.ts +70 -0
  360. package/dist/types/intent.d.ts.map +1 -0
  361. package/dist/types/intent.js +2 -0
  362. package/dist/types/intent.js.map +1 -0
  363. package/dist/types/templates.d.ts +18 -0
  364. package/dist/types/templates.d.ts.map +1 -0
  365. package/dist/types/templates.js +2 -0
  366. package/dist/types/templates.js.map +1 -0
  367. package/dist/types/token.d.ts +132 -0
  368. package/dist/types/token.d.ts.map +1 -0
  369. package/dist/types/token.js +8 -0
  370. package/dist/types/token.js.map +1 -0
  371. package/package.json +62 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Inventory Errors
3
+ *
4
+ * Errors specific to inventory management operations.
5
+ */
6
+ /**
7
+ * Base error class for inventory-related errors
8
+ */
9
+ export class InventoryError extends Error {
10
+ code;
11
+ constructor(message, code = "INVENTORY_ERROR") {
12
+ super(message);
13
+ this.name = "InventoryError";
14
+ this.code = code;
15
+ }
16
+ }
17
+ /**
18
+ * Thrown when trying to lock more inventory than available
19
+ */
20
+ export class InventoryLockError extends InventoryError {
21
+ intentId;
22
+ constructor(intentId, message) {
23
+ super(message ?? `Failed to lock inventory for intent ${intentId}`, "INVENTORY_LOCK_FAILED");
24
+ this.name = "InventoryLockError";
25
+ this.intentId = intentId;
26
+ }
27
+ }
28
+ /**
29
+ * Thrown when a rebalancing operation fails
30
+ */
31
+ export class RebalancingFailedError extends InventoryError {
32
+ fromChain;
33
+ toChain;
34
+ amount;
35
+ reason;
36
+ constructor(fromChain, toChain, amount, reason) {
37
+ super(`Rebalancing failed: ${amount} from chain ${fromChain} to chain ${toChain} — ${reason}`, "REBALANCING_FAILED");
38
+ this.name = "RebalancingFailedError";
39
+ this.fromChain = fromChain;
40
+ this.toChain = toChain;
41
+ this.amount = amount;
42
+ this.reason = reason;
43
+ }
44
+ }
45
+ //# sourceMappingURL=inventory-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory-errors.js","sourceRoot":"","sources":["../../src/errors/inventory-errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACrB,IAAI,CAAS;IAE7B,YAAY,OAAe,EAAE,OAAe,iBAAiB;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAClC,QAAQ,CAAS;IAEjC,YAAY,QAAgB,EAAE,OAAgB;QAC1C,KAAK,CACD,OAAO,IAAI,uCAAuC,QAAQ,EAAE,EAC5D,uBAAuB,CAC1B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACtC,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,MAAM,CAAS;IACf,MAAM,CAAS;IAE/B,YACI,SAAkB,EAClB,OAAgB,EAChB,MAAc,EACd,MAAc;QAEd,KAAK,CACD,uBAAuB,MAAM,eAAe,SAAS,aAAa,OAAO,MAAM,MAAM,EAAE,EACvF,oBAAoB,CACvB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Settlement Errors
3
+ *
4
+ * Errors specific to cross-chain settlement and proof operations.
5
+ */
6
+ /**
7
+ * Base error class for settlement-related errors
8
+ */
9
+ export declare class SettlementError extends Error {
10
+ readonly code: string;
11
+ constructor(message: string, code?: string);
12
+ }
13
+ /**
14
+ * Thrown when proof generation fails (e.g., cannot sign, invalid data)
15
+ */
16
+ export declare class ProofGenerationError extends SettlementError {
17
+ constructor(message?: string);
18
+ }
19
+ /**
20
+ * Thrown when claim on source chain fails
21
+ */
22
+ export declare class ClaimFailedError extends SettlementError {
23
+ readonly intentId: string;
24
+ readonly reason: string;
25
+ constructor(intentId: string, reason: string);
26
+ }
27
+ //# sourceMappingURL=settlement-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement-errors.d.ts","sourceRoot":"","sources":["../../src/errors/settlement-errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA2B;CAKjE;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;gBACzC,OAAO,CAAC,EAAE,MAAM;CAO/B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACjD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAS/C"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Settlement Errors
3
+ *
4
+ * Errors specific to cross-chain settlement and proof operations.
5
+ */
6
+ /**
7
+ * Base error class for settlement-related errors
8
+ */
9
+ export class SettlementError extends Error {
10
+ code;
11
+ constructor(message, code = "SETTLEMENT_ERROR") {
12
+ super(message);
13
+ this.name = "SettlementError";
14
+ this.code = code;
15
+ }
16
+ }
17
+ /**
18
+ * Thrown when proof generation fails (e.g., cannot sign, invalid data)
19
+ */
20
+ export class ProofGenerationError extends SettlementError {
21
+ constructor(message) {
22
+ super(message ?? "Failed to generate cross-chain proof", "PROOF_GENERATION_FAILED");
23
+ this.name = "ProofGenerationError";
24
+ }
25
+ }
26
+ /**
27
+ * Thrown when claim on source chain fails
28
+ */
29
+ export class ClaimFailedError extends SettlementError {
30
+ intentId;
31
+ reason;
32
+ constructor(intentId, reason) {
33
+ super(`Claim failed for intent ${intentId}: ${reason}`, "CLAIM_FAILED");
34
+ this.name = "ClaimFailedError";
35
+ this.intentId = intentId;
36
+ this.reason = reason;
37
+ }
38
+ }
39
+ //# sourceMappingURL=settlement-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement-errors.js","sourceRoot":"","sources":["../../src/errors/settlement-errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACtB,IAAI,CAAS;IAE7B,YAAY,OAAe,EAAE,OAAe,kBAAkB;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IACrD,YAAY,OAAgB;QACxB,KAAK,CACD,OAAO,IAAI,sCAAsC,EACjD,yBAAyB,CAC5B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACvC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IACjC,QAAQ,CAAS;IACjB,MAAM,CAAS;IAE/B,YAAY,QAAgB,EAAE,MAAc;QACxC,KAAK,CACD,2BAA2B,QAAQ,KAAK,MAAM,EAAE,EAChD,cAAc,CACjB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Solver Errors
3
+ *
4
+ * Domain-specific errors for the solver module.
5
+ * All solver errors extend SolverError base class.
6
+ */
7
+ import type { ChainId } from "../types/common";
8
+ /**
9
+ * Base error class for all solver-related errors
10
+ */
11
+ export declare class SolverError extends Error {
12
+ readonly code: string;
13
+ constructor(message: string, code?: string);
14
+ }
15
+ /**
16
+ * Thrown when solver doesn't have enough inventory to fulfill an intent.
17
+ *
18
+ * CONTOH:
19
+ * throw new InsufficientInventoryError(137, "USDC", "1000000000", "500000000")
20
+ * → "Insufficient USDC on chain 137: required 1000000000, available 500000000"
21
+ */
22
+ export declare class InsufficientInventoryError extends SolverError {
23
+ readonly chainId: ChainId;
24
+ readonly token: string;
25
+ readonly required: string;
26
+ readonly available: string;
27
+ constructor(chainId: ChainId, token: string, required: string, available: string);
28
+ }
29
+ /**
30
+ * Thrown when an intent has passed its deadline
31
+ */
32
+ export declare class IntentExpiredError extends SolverError {
33
+ readonly intentId: string;
34
+ readonly deadline: number;
35
+ constructor(intentId: string, deadline: number);
36
+ }
37
+ /**
38
+ * Thrown when solver receives an intent type it cannot handle
39
+ */
40
+ export declare class UnsupportedIntentError extends SolverError {
41
+ readonly intentType: string;
42
+ readonly reason: string;
43
+ constructor(intentType: string, reason: string);
44
+ }
45
+ //# sourceMappingURL=solver-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solver-errors.d.ts","sourceRoot":"","sources":["../../src/errors/solver-errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAuB;CAK7D;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,WAAW;IACvD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAG9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;CAYxB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IAC/C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CASjD;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;IACnD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CASjD"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Solver Errors
3
+ *
4
+ * Domain-specific errors for the solver module.
5
+ * All solver errors extend SolverError base class.
6
+ */
7
+ import { getChainDisplayName } from "../shared/chain-registry/chain-names";
8
+ /**
9
+ * Base error class for all solver-related errors
10
+ */
11
+ export class SolverError extends Error {
12
+ code;
13
+ constructor(message, code = "SOLVER_ERROR") {
14
+ super(message);
15
+ this.name = "SolverError";
16
+ this.code = code;
17
+ }
18
+ }
19
+ /**
20
+ * Thrown when solver doesn't have enough inventory to fulfill an intent.
21
+ *
22
+ * CONTOH:
23
+ * throw new InsufficientInventoryError(137, "USDC", "1000000000", "500000000")
24
+ * → "Insufficient USDC on chain 137: required 1000000000, available 500000000"
25
+ */
26
+ export class InsufficientInventoryError extends SolverError {
27
+ chainId;
28
+ token;
29
+ required;
30
+ available;
31
+ constructor(chainId, token, required, available) {
32
+ super(`Insufficient ${token} on ${getChainDisplayName(chainId)}: required ${required}, available ${available}`, "INSUFFICIENT_INVENTORY");
33
+ this.name = "InsufficientInventoryError";
34
+ this.chainId = chainId;
35
+ this.token = token;
36
+ this.required = required;
37
+ this.available = available;
38
+ }
39
+ }
40
+ /**
41
+ * Thrown when an intent has passed its deadline
42
+ */
43
+ export class IntentExpiredError extends SolverError {
44
+ intentId;
45
+ deadline;
46
+ constructor(intentId, deadline) {
47
+ super(`Intent ${intentId} expired: deadline was ${new Date(deadline * 1000).toISOString()}`, "INTENT_EXPIRED");
48
+ this.name = "IntentExpiredError";
49
+ this.intentId = intentId;
50
+ this.deadline = deadline;
51
+ }
52
+ }
53
+ /**
54
+ * Thrown when solver receives an intent type it cannot handle
55
+ */
56
+ export class UnsupportedIntentError extends SolverError {
57
+ intentType;
58
+ reason;
59
+ constructor(intentType, reason) {
60
+ super(`Unsupported intent type "${intentType}": ${reason}`, "UNSUPPORTED_INTENT");
61
+ this.name = "UnsupportedIntentError";
62
+ this.intentType = intentType;
63
+ this.reason = reason;
64
+ }
65
+ }
66
+ //# sourceMappingURL=solver-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solver-errors.js","sourceRoot":"","sources":["../../src/errors/solver-errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAClB,IAAI,CAAS;IAE7B,YAAY,OAAe,EAAE,OAAe,cAAc;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACvC,OAAO,CAAU;IACjB,KAAK,CAAS;IACd,QAAQ,CAAS;IACjB,SAAS,CAAS;IAElC,YACI,OAAgB,EAChB,KAAa,EACb,QAAgB,EAChB,SAAiB;QAEjB,KAAK,CACD,gBAAgB,KAAK,OAAO,mBAAmB,CAAC,OAAO,CAAC,cAAc,QAAQ,eAAe,SAAS,EAAE,EACxG,wBAAwB,CAC3B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAC/B,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAEjC,YAAY,QAAgB,EAAE,QAAgB;QAC1C,KAAK,CACD,UAAU,QAAQ,0BAA0B,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,EACrF,gBAAgB,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACnC,UAAU,CAAS;IACnB,MAAM,CAAS;IAE/B,YAAY,UAAkB,EAAE,MAAc;QAC1C,KAAK,CACD,4BAA4B,UAAU,MAAM,MAAM,EAAE,EACpD,oBAAoB,CACvB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Intent Parser SDK — Main Entry Point
3
+ *
4
+ * @packageDocumentation
5
+ * @module @terkoizmy/intent-sdk
6
+ *
7
+ * Usage:
8
+ * import { IntentParser, IntentSolver, createIntentSDK } from "@terkoizmy/intent-sdk";
9
+ *
10
+ * // Parser only
11
+ * const parser = new IntentParser();
12
+ * const result = parser.parse("Bridge 100 USDC from Ethereum to Arbitrum");
13
+ *
14
+ * // Full SDK (parser + solver)
15
+ * const { parser, solver } = createIntentSDK(config);
16
+ */
17
+ export { IntentParser } from "./parser";
18
+ export { IntentSolver } from "./solver";
19
+ export { createIntentSDK } from "./sdk-factory";
20
+ export type { ParseResult, ParserConfig } from "./types";
21
+ export type { IntentType, StructuredIntent, IntentParameters, IntentConstraints, IntentMetadata } from "./types/intent";
22
+ export type { AgentConfig, SolutionResult, AgentStatus } from "./solver/types/agent";
23
+ export type { SolverIntent, BridgeIntent } from "./solver/types/intent";
24
+ export type { PricingResult, PricingConfig } from "./solver/types/pricing";
25
+ export type { Settlement, SettlementStatus, CrossChainProof } from "./solver/types/settlement";
26
+ export type { InventoryBalance, InventorySnapshot } from "./solver/types/inventory";
27
+ export type { Address, ChainId, Hash, Amount } from "./types/common";
28
+ export type { ChainConfig } from "./types/chain";
29
+ export { SolverError, InsufficientInventoryError, IntentExpiredError, UnsupportedIntentError, } from "./errors/solver-errors";
30
+ export { SettlementError, ProofGenerationError, ClaimFailedError, } from "./errors/settlement-errors";
31
+ export { withRetry, isTransientNetworkError } from "./shared/utils/retry";
32
+ export type { RetryOptions } from "./shared/utils/retry";
33
+ export { getChainDisplayName, CHAIN_NAMES } from "./shared/chain-registry/chain-names";
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGxH,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC/F,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Intent Parser SDK — Main Entry Point
3
+ *
4
+ * @packageDocumentation
5
+ * @module @terkoizmy/intent-sdk
6
+ *
7
+ * Usage:
8
+ * import { IntentParser, IntentSolver, createIntentSDK } from "@terkoizmy/intent-sdk";
9
+ *
10
+ * // Parser only
11
+ * const parser = new IntentParser();
12
+ * const result = parser.parse("Bridge 100 USDC from Ethereum to Arbitrum");
13
+ *
14
+ * // Full SDK (parser + solver)
15
+ * const { parser, solver } = createIntentSDK(config);
16
+ */
17
+ // ─── Core Classes ───────────────────────────────
18
+ export { IntentParser } from "./parser";
19
+ export { IntentSolver } from "./solver";
20
+ // ─── Factory ────────────────────────────────────
21
+ export { createIntentSDK } from "./sdk-factory";
22
+ // ─── Error Classes ──────────────────────────────
23
+ export { SolverError, InsufficientInventoryError, IntentExpiredError, UnsupportedIntentError, } from "./errors/solver-errors";
24
+ export { SettlementError, ProofGenerationError, ClaimFailedError, } from "./errors/settlement-errors";
25
+ // ─── Utilities ──────────────────────────────────
26
+ export { withRetry, isTransientNetworkError } from "./shared/utils/retry";
27
+ export { getChainDisplayName, CHAIN_NAMES } from "./shared/chain-registry/chain-names";
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,mDAAmD;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAiBhD,mDAAmD;AACnD,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC,mDAAmD;AACnD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { IntentType } from "../../types";
2
+ /**
3
+ * Intent Classifier
4
+ * Determines the type of intent from natural language
5
+ */
6
+ export declare class IntentClassifier {
7
+ private patterns;
8
+ constructor();
9
+ /**
10
+ * Classify intent type from text
11
+ *
12
+ * INPUT: Normalized text string
13
+ * OUTPUT: IntentType
14
+ *
15
+ * LOGIC:
16
+ * 1. Check text against each pattern group
17
+ * 2. Return first match
18
+ * 3. Default to 'unknown' if no match
19
+ *
20
+ * TODO:
21
+ * - Implement pattern matching
22
+ * - Add confidence scoring
23
+ * - Handle ambiguous cases
24
+ */
25
+ classify(text: string): IntentType;
26
+ /**
27
+ * Initialize pattern matchers for each intent type
28
+ *
29
+ * OUTPUT: Map of IntentType to RegExp patterns
30
+ *
31
+ * TODO: Define patterns for:
32
+ * - swap: /swap|trade|exchange|convert/i
33
+ * - yield_strategy: /yield|stake|earn|maximize|apy/i
34
+ * - nft_purchase: /buy.*nft|purchase.*collection|mint/i
35
+ * - send: /send|transfer|pay/i
36
+ * - bridge: /bridge|cross.?chain/i
37
+ */
38
+ private initializePatterns;
39
+ }
40
+ //# sourceMappingURL=intent-classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-classifier.d.ts","sourceRoot":"","sources":["../../../src/parser/classifiers/intent-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAA4B;;IAM5C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAelC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;CAsB3B"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Intent Classifier
3
+ * Determines the type of intent from natural language
4
+ */
5
+ export class IntentClassifier {
6
+ patterns;
7
+ constructor() {
8
+ this.patterns = this.initializePatterns();
9
+ }
10
+ /**
11
+ * Classify intent type from text
12
+ *
13
+ * INPUT: Normalized text string
14
+ * OUTPUT: IntentType
15
+ *
16
+ * LOGIC:
17
+ * 1. Check text against each pattern group
18
+ * 2. Return first match
19
+ * 3. Default to 'unknown' if no match
20
+ *
21
+ * TODO:
22
+ * - Implement pattern matching
23
+ * - Add confidence scoring
24
+ * - Handle ambiguous cases
25
+ */
26
+ classify(text) {
27
+ // TODO: Implement classification logic
28
+ // Example structure:
29
+ for (const [intentType, patterns] of this.patterns.entries()) {
30
+ for (const pattern of patterns) {
31
+ if (pattern.test(text)) {
32
+ return intentType;
33
+ }
34
+ }
35
+ }
36
+ return "unknown";
37
+ }
38
+ /**
39
+ * Initialize pattern matchers for each intent type
40
+ *
41
+ * OUTPUT: Map of IntentType to RegExp patterns
42
+ *
43
+ * TODO: Define patterns for:
44
+ * - swap: /swap|trade|exchange|convert/i
45
+ * - yield_strategy: /yield|stake|earn|maximize|apy/i
46
+ * - nft_purchase: /buy.*nft|purchase.*collection|mint/i
47
+ * - send: /send|transfer|pay/i
48
+ * - bridge: /bridge|cross.?chain/i
49
+ */
50
+ initializePatterns() {
51
+ // TODO: Implement pattern initialization
52
+ return new Map([
53
+ ["swap", [/swap/i, /trade/i, /exchange/i, /convert/i]],
54
+ [
55
+ "yield_strategy",
56
+ [/yield/i, /stake/i, /earn/i, /maximize/i, /apy/i, /farm/i],
57
+ ],
58
+ [
59
+ "nft_purchase",
60
+ [/buy.*nft/i, /purchase.*nft/i, /buy.*collection/i, /mint/i],
61
+ ],
62
+ [
63
+ "claim",
64
+ [/claim/i, /collect.*reward/i, /withdraw.*reward/i, /\bvest(?:ing|ed)?\b/i],
65
+ ],
66
+ // Bridge MUST be checked before send — "cross-chain transfer" must match bridge, not send
67
+ ["bridge", [/bridge/i, /cross[\s-]?chain/i]],
68
+ ["send", [/send/i, /transfer/i, /pay/i]],
69
+ ]);
70
+ }
71
+ }
72
+ //# sourceMappingURL=intent-classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-classifier.js","sourceRoot":"","sources":["../../../src/parser/classifiers/intent-classifier.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAA4B;IAE5C;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,IAAY;QACnB,uCAAuC;QAEvC,qBAAqB;QACrB,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,kBAAkB;QACxB,yCAAyC;QAEzC,OAAO,IAAI,GAAG,CAAuB;YACnC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACtD;gBACE,gBAAgB;gBAChB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;aAC5D;YACD;gBACE,cAAc;gBACd,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,CAAC;aAC7D;YACD;gBACE,OAAO;gBACP,CAAC,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;aAC5E;YACD,0FAA0F;YAC1F,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAC5C,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import type { ActionEntity } from "../../types";
2
+ /**
3
+ * Action Extractor
4
+ * Extracts action verbs from text
5
+ */
6
+ export declare class ActionExtractor {
7
+ private actionMap;
8
+ constructor();
9
+ /**
10
+ * Extract action entities from text
11
+ *
12
+ * INPUT: Text string
13
+ * OUTPUT: Array of ActionEntity
14
+ *
15
+ * EXAMPLES:
16
+ * "Swap USDC to ETH" -> [{ action: "swap", category: "trade" }]
17
+ * "Maximize my yield" -> [{ action: "maximize", category: "yield" }]
18
+ *
19
+ * TODO:
20
+ * 1. Match action verbs (swap, send, buy, etc.)
21
+ * 2. Normalize to infinitive form
22
+ * 3. Categorize action type
23
+ * 4. Return array of ActionEntity
24
+ */
25
+ extract(text: string): ActionEntity[];
26
+ /**
27
+ * Initialize action mapping
28
+ * Maps various forms to normalized action + category
29
+ */
30
+ private initializeActionMap;
31
+ }
32
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/parser/extractors/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAGf;;IAMF;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAwBrC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CA0B5B"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Action Extractor
3
+ * Extracts action verbs from text
4
+ */
5
+ export class ActionExtractor {
6
+ actionMap;
7
+ constructor() {
8
+ this.actionMap = this.initializeActionMap();
9
+ }
10
+ /**
11
+ * Extract action entities from text
12
+ *
13
+ * INPUT: Text string
14
+ * OUTPUT: Array of ActionEntity
15
+ *
16
+ * EXAMPLES:
17
+ * "Swap USDC to ETH" -> [{ action: "swap", category: "trade" }]
18
+ * "Maximize my yield" -> [{ action: "maximize", category: "yield" }]
19
+ *
20
+ * TODO:
21
+ * 1. Match action verbs (swap, send, buy, etc.)
22
+ * 2. Normalize to infinitive form
23
+ * 3. Categorize action type
24
+ * 4. Return array of ActionEntity
25
+ */
26
+ extract(text) {
27
+ const entities = [];
28
+ // TODO: Implement extraction logic
29
+ const lowerText = text.toLowerCase();
30
+ for (const [pattern, metadata] of this.actionMap.entries()) {
31
+ const regex = new RegExp(`\\b${pattern}\\b`, "gi");
32
+ let match;
33
+ while ((match = regex.exec(lowerText)) !== null) {
34
+ entities.push({
35
+ action: metadata.normalized,
36
+ rawText: match[0],
37
+ category: metadata.category,
38
+ position: [match.index, match.index + match[0].length],
39
+ });
40
+ }
41
+ }
42
+ return entities;
43
+ }
44
+ /**
45
+ * Initialize action mapping
46
+ * Maps various forms to normalized action + category
47
+ */
48
+ initializeActionMap() {
49
+ return new Map([
50
+ // Trade actions
51
+ ["swap", { normalized: "swap", category: "trade" }],
52
+ ["swapping", { normalized: "swap", category: "trade" }],
53
+ ["trade", { normalized: "trade", category: "trade" }],
54
+ ["exchange", { normalized: "exchange", category: "trade" }],
55
+ ["convert", { normalized: "convert", category: "trade" }],
56
+ // Yield actions
57
+ ["maximize", { normalized: "maximize", category: "yield" }],
58
+ ["earn", { normalized: "earn", category: "yield" }],
59
+ ["stake", { normalized: "stake", category: "yield" }],
60
+ ["farm", { normalized: "farm", category: "yield" }],
61
+ // Purchase actions
62
+ ["buy", { normalized: "buy", category: "purchase" }],
63
+ ["purchase", { normalized: "purchase", category: "purchase" }],
64
+ ["mint", { normalized: "mint", category: "purchase" }],
65
+ // Transfer actions
66
+ ["send", { normalized: "send", category: "transfer" }],
67
+ ["transfer", { normalized: "transfer", category: "transfer" }],
68
+ ["pay", { normalized: "pay", category: "transfer" }],
69
+ ]);
70
+ }
71
+ }
72
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/parser/extractors/action.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAClB,SAAS,CAGf;IAEF;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,QAAQ,GAAmB,EAAE,CAAC;QAEpC,mCAAmC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC;YAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,QAAQ,CAAC,UAAU;oBAC3B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACzB,OAAO,IAAI,GAAG,CAAC;YACb,gBAAgB;YAChB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAC5D,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAChE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAC9D,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YACpE,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAElE,gBAAgB;YAChB,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YACpE,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAC5D,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAC9D,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAE5D,mBAAmB;YACnB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC;YAC7D,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC;YACvE,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC;YAE/D,mBAAmB;YACnB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC;YAC/D,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC;YACvE,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import type { AmountEntity } from "../../types";
2
+ /**
3
+ * Amount Extractor
4
+ * Extracts numerical amounts from text
5
+ */
6
+ export declare class AmountExtractor {
7
+ private patterns;
8
+ constructor();
9
+ /**
10
+ * Extract all amount entities from text
11
+ *
12
+ * INPUT: Text string
13
+ * OUTPUT: Array of AmountEntity
14
+ *
15
+ * EXAMPLES:
16
+ * "1000 USDC" -> [{ value: 1000, rawText: "1000", unit: "USDC" }]
17
+ * "10k ETH" -> [{ value: 10000, rawText: "10k", unit: "ETH" }]
18
+ * "0.5 BTC" -> [{ value: 0.5, rawText: "0.5", unit: "BTC" }]
19
+ *
20
+ * TODO:
21
+ * 1. Match patterns for amounts
22
+ * 2. Parse numeric value (handle k, m suffixes)
23
+ * 3. Extract optional unit (token symbol)
24
+ * 4. Return array of AmountEntity
25
+ */
26
+ extract(text: string): AmountEntity[];
27
+ /**
28
+ * Parse numeric value with k/m suffixes
29
+ *
30
+ * INPUT: Value string and suffix string
31
+ * OUTPUT: Numeric value
32
+ */
33
+ private parseNumericValue;
34
+ /**
35
+ * Initialize regex patterns for amount matching
36
+ */
37
+ private initializePatterns;
38
+ }
39
+ //# sourceMappingURL=amount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount.d.ts","sourceRoot":"","sources":["../../../src/parser/extractors/amount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAW;;IAM3B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IA+DrC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAY3B"}