@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.
- package/LICENSE +21 -0
- package/README.md +258 -0
- package/dist/config/chains.d.ts +25 -0
- package/dist/config/chains.d.ts.map +1 -0
- package/dist/config/chains.js +85 -0
- package/dist/config/chains.js.map +1 -0
- package/dist/config/default.d.ts +39 -0
- package/dist/config/default.d.ts.map +1 -0
- package/dist/config/default.js +46 -0
- package/dist/config/default.js.map +1 -0
- package/dist/config/testnets.d.ts +31 -0
- package/dist/config/testnets.d.ts.map +1 -0
- package/dist/config/testnets.js +99 -0
- package/dist/config/testnets.js.map +1 -0
- package/dist/errors/inventory-errors.d.ts +31 -0
- package/dist/errors/inventory-errors.d.ts.map +1 -0
- package/dist/errors/inventory-errors.js +45 -0
- package/dist/errors/inventory-errors.js.map +1 -0
- package/dist/errors/settlement-errors.d.ts +27 -0
- package/dist/errors/settlement-errors.d.ts.map +1 -0
- package/dist/errors/settlement-errors.js +39 -0
- package/dist/errors/settlement-errors.js.map +1 -0
- package/dist/errors/solver-errors.d.ts +45 -0
- package/dist/errors/solver-errors.d.ts.map +1 -0
- package/dist/errors/solver-errors.js +66 -0
- package/dist/errors/solver-errors.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/classifiers/intent-classifier.d.ts +40 -0
- package/dist/parser/classifiers/intent-classifier.d.ts.map +1 -0
- package/dist/parser/classifiers/intent-classifier.js +72 -0
- package/dist/parser/classifiers/intent-classifier.js.map +1 -0
- package/dist/parser/extractors/action.d.ts +32 -0
- package/dist/parser/extractors/action.d.ts.map +1 -0
- package/dist/parser/extractors/action.js +72 -0
- package/dist/parser/extractors/action.js.map +1 -0
- package/dist/parser/extractors/amount.d.ts +39 -0
- package/dist/parser/extractors/amount.d.ts.map +1 -0
- package/dist/parser/extractors/amount.js +113 -0
- package/dist/parser/extractors/amount.js.map +1 -0
- package/dist/parser/extractors/constraints.d.ts +37 -0
- package/dist/parser/extractors/constraints.d.ts.map +1 -0
- package/dist/parser/extractors/constraints.js +119 -0
- package/dist/parser/extractors/constraints.js.map +1 -0
- package/dist/parser/extractors/index.d.ts +5 -0
- package/dist/parser/extractors/index.d.ts.map +1 -0
- package/dist/parser/extractors/index.js +5 -0
- package/dist/parser/extractors/index.js.map +1 -0
- package/dist/parser/extractors/token.d.ts +24 -0
- package/dist/parser/extractors/token.d.ts.map +1 -0
- package/dist/parser/extractors/token.js +124 -0
- package/dist/parser/extractors/token.js.map +1 -0
- package/dist/parser/index.d.ts +125 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +293 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/template/bridge.d.ts +37 -0
- package/dist/parser/template/bridge.d.ts.map +1 -0
- package/dist/parser/template/bridge.js +80 -0
- package/dist/parser/template/bridge.js.map +1 -0
- package/dist/parser/template/claim.d.ts +15 -0
- package/dist/parser/template/claim.d.ts.map +1 -0
- package/dist/parser/template/claim.js +36 -0
- package/dist/parser/template/claim.js.map +1 -0
- package/dist/parser/template/index.d.ts +28 -0
- package/dist/parser/template/index.d.ts.map +1 -0
- package/dist/parser/template/index.js +50 -0
- package/dist/parser/template/index.js.map +1 -0
- package/dist/parser/template/nft.d.ts +3 -0
- package/dist/parser/template/nft.d.ts.map +1 -0
- package/dist/parser/template/nft.js +19 -0
- package/dist/parser/template/nft.js.map +1 -0
- package/dist/parser/template/send.d.ts +24 -0
- package/dist/parser/template/send.d.ts.map +1 -0
- package/dist/parser/template/send.js +61 -0
- package/dist/parser/template/send.js.map +1 -0
- package/dist/parser/template/swap.d.ts +3 -0
- package/dist/parser/template/swap.d.ts.map +1 -0
- package/dist/parser/template/swap.js +21 -0
- package/dist/parser/template/swap.js.map +1 -0
- package/dist/parser/template/unknown.d.ts +3 -0
- package/dist/parser/template/unknown.d.ts.map +1 -0
- package/dist/parser/template/unknown.js +11 -0
- package/dist/parser/template/unknown.js.map +1 -0
- package/dist/parser/template/yield.d.ts +3 -0
- package/dist/parser/template/yield.d.ts.map +1 -0
- package/dist/parser/template/yield.js +25 -0
- package/dist/parser/template/yield.js.map +1 -0
- package/dist/parser/utils/normalize.d.ts +41 -0
- package/dist/parser/utils/normalize.d.ts.map +1 -0
- package/dist/parser/utils/normalize.js +71 -0
- package/dist/parser/utils/normalize.js.map +1 -0
- package/dist/parser/utils/parser-helpers.d.ts +20 -0
- package/dist/parser/utils/parser-helpers.d.ts.map +1 -0
- package/dist/parser/utils/parser-helpers.js +282 -0
- package/dist/parser/utils/parser-helpers.js.map +1 -0
- package/dist/parser/validators/schema.d.ts +14 -0
- package/dist/parser/validators/schema.d.ts.map +1 -0
- package/dist/parser/validators/schema.js +81 -0
- package/dist/parser/validators/schema.js.map +1 -0
- package/dist/sdk-factory.d.ts +55 -0
- package/dist/sdk-factory.d.ts.map +1 -0
- package/dist/sdk-factory.js +49 -0
- package/dist/sdk-factory.js.map +1 -0
- package/dist/services/token-resolver.d.ts +142 -0
- package/dist/services/token-resolver.d.ts.map +1 -0
- package/dist/services/token-resolver.js +254 -0
- package/dist/services/token-resolver.js.map +1 -0
- package/dist/shared/chain-registry/chain-names.d.ts +22 -0
- package/dist/shared/chain-registry/chain-names.d.ts.map +1 -0
- package/dist/shared/chain-registry/chain-names.js +49 -0
- package/dist/shared/chain-registry/chain-names.js.map +1 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.js.map +1 -0
- package/dist/shared/chain-registry/configs/base-sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/base-sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/base-sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/base-sepolia.js.map +1 -0
- package/dist/shared/chain-registry/configs/ethereum.d.ts +7 -0
- package/dist/shared/chain-registry/configs/ethereum.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/ethereum.js +7 -0
- package/dist/shared/chain-registry/configs/ethereum.js.map +1 -0
- package/dist/shared/chain-registry/configs/polygon.d.ts +7 -0
- package/dist/shared/chain-registry/configs/polygon.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/polygon.js +7 -0
- package/dist/shared/chain-registry/configs/polygon.js.map +1 -0
- package/dist/shared/chain-registry/configs/sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/sepolia.js.map +1 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.js.map +1 -0
- package/dist/shared/chain-registry/registry.d.ts +50 -0
- package/dist/shared/chain-registry/registry.d.ts.map +1 -0
- package/dist/shared/chain-registry/registry.js +72 -0
- package/dist/shared/chain-registry/registry.js.map +1 -0
- package/dist/shared/rpc/provider-manager.d.ts +111 -0
- package/dist/shared/rpc/provider-manager.d.ts.map +1 -0
- package/dist/shared/rpc/provider-manager.js +116 -0
- package/dist/shared/rpc/provider-manager.js.map +1 -0
- package/dist/shared/rpc/viem-provider.d.ts +78 -0
- package/dist/shared/rpc/viem-provider.d.ts.map +1 -0
- package/dist/shared/rpc/viem-provider.js +187 -0
- package/dist/shared/rpc/viem-provider.js.map +1 -0
- package/dist/shared/token-registry/enrichment.d.ts +48 -0
- package/dist/shared/token-registry/enrichment.d.ts.map +1 -0
- package/dist/shared/token-registry/enrichment.js +69 -0
- package/dist/shared/token-registry/enrichment.js.map +1 -0
- package/dist/shared/token-registry/registry.d.ts +119 -0
- package/dist/shared/token-registry/registry.d.ts.map +1 -0
- package/dist/shared/token-registry/registry.js +200 -0
- package/dist/shared/token-registry/registry.js.map +1 -0
- package/dist/shared/utils/erc20-utils.d.ts +24 -0
- package/dist/shared/utils/erc20-utils.d.ts.map +1 -0
- package/dist/shared/utils/erc20-utils.js +31 -0
- package/dist/shared/utils/erc20-utils.js.map +1 -0
- package/dist/shared/utils/retry.d.ts +57 -0
- package/dist/shared/utils/retry.d.ts.map +1 -0
- package/dist/shared/utils/retry.js +104 -0
- package/dist/shared/utils/retry.js.map +1 -0
- package/dist/shared/wallet-manager/viem-signer.d.ts +68 -0
- package/dist/shared/wallet-manager/viem-signer.d.ts.map +1 -0
- package/dist/shared/wallet-manager/viem-signer.js +116 -0
- package/dist/shared/wallet-manager/viem-signer.js.map +1 -0
- package/dist/shared/wallet-manager/wallet-manager.d.ts +96 -0
- package/dist/shared/wallet-manager/wallet-manager.d.ts.map +1 -0
- package/dist/shared/wallet-manager/wallet-manager.js +104 -0
- package/dist/shared/wallet-manager/wallet-manager.js.map +1 -0
- package/dist/solver/agent/agent-config.d.ts +62 -0
- package/dist/solver/agent/agent-config.d.ts.map +1 -0
- package/dist/solver/agent/agent-config.js +59 -0
- package/dist/solver/agent/agent-config.js.map +1 -0
- package/dist/solver/agent/index.d.ts +6 -0
- package/dist/solver/agent/index.d.ts.map +1 -0
- package/dist/solver/agent/index.js +6 -0
- package/dist/solver/agent/index.js.map +1 -0
- package/dist/solver/agent/liquidity-agent.d.ts +118 -0
- package/dist/solver/agent/liquidity-agent.d.ts.map +1 -0
- package/dist/solver/agent/liquidity-agent.js +285 -0
- package/dist/solver/agent/liquidity-agent.js.map +1 -0
- package/dist/solver/contracts/intent-settlement/index.d.ts +2 -0
- package/dist/solver/contracts/intent-settlement/index.d.ts.map +1 -0
- package/dist/solver/contracts/intent-settlement/index.js +2 -0
- package/dist/solver/contracts/intent-settlement/index.js.map +1 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts +22 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts.map +1 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.js +58 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.js.map +1 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts +226 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts.map +1 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js +204 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js.map +1 -0
- package/dist/solver/index.d.ts +87 -0
- package/dist/solver/index.d.ts.map +1 -0
- package/dist/solver/index.js +167 -0
- package/dist/solver/index.js.map +1 -0
- package/dist/solver/inventory/index.d.ts +7 -0
- package/dist/solver/inventory/index.d.ts.map +1 -0
- package/dist/solver/inventory/index.js +7 -0
- package/dist/solver/inventory/index.js.map +1 -0
- package/dist/solver/inventory/inventory-manager.d.ts +135 -0
- package/dist/solver/inventory/inventory-manager.d.ts.map +1 -0
- package/dist/solver/inventory/inventory-manager.js +323 -0
- package/dist/solver/inventory/inventory-manager.js.map +1 -0
- package/dist/solver/inventory/inventory-monitor.d.ts +72 -0
- package/dist/solver/inventory/inventory-monitor.d.ts.map +1 -0
- package/dist/solver/inventory/inventory-monitor.js +123 -0
- package/dist/solver/inventory/inventory-monitor.js.map +1 -0
- package/dist/solver/inventory/rebalancer.d.ts +78 -0
- package/dist/solver/inventory/rebalancer.d.ts.map +1 -0
- package/dist/solver/inventory/rebalancer.js +210 -0
- package/dist/solver/inventory/rebalancer.js.map +1 -0
- package/dist/solver/mempool/index.d.ts +8 -0
- package/dist/solver/mempool/index.d.ts.map +1 -0
- package/dist/solver/mempool/index.js +8 -0
- package/dist/solver/mempool/index.js.map +1 -0
- package/dist/solver/mempool/intent-filter.d.ts +49 -0
- package/dist/solver/mempool/intent-filter.d.ts.map +1 -0
- package/dist/solver/mempool/intent-filter.js +75 -0
- package/dist/solver/mempool/intent-filter.js.map +1 -0
- package/dist/solver/mempool/mempool-client.d.ts +105 -0
- package/dist/solver/mempool/mempool-client.d.ts.map +1 -0
- package/dist/solver/mempool/mempool-client.js +161 -0
- package/dist/solver/mempool/mempool-client.js.map +1 -0
- package/dist/solver/mempool/mempool-monitor.d.ts +71 -0
- package/dist/solver/mempool/mempool-monitor.d.ts.map +1 -0
- package/dist/solver/mempool/mempool-monitor.js +127 -0
- package/dist/solver/mempool/mempool-monitor.js.map +1 -0
- package/dist/solver/mempool/solution-submitter.d.ts +41 -0
- package/dist/solver/mempool/solution-submitter.d.ts.map +1 -0
- package/dist/solver/mempool/solution-submitter.js +71 -0
- package/dist/solver/mempool/solution-submitter.js.map +1 -0
- package/dist/solver/monitoring/alert-manager.d.ts +43 -0
- package/dist/solver/monitoring/alert-manager.d.ts.map +1 -0
- package/dist/solver/monitoring/alert-manager.js +69 -0
- package/dist/solver/monitoring/alert-manager.js.map +1 -0
- package/dist/solver/monitoring/health-checker.d.ts +53 -0
- package/dist/solver/monitoring/health-checker.d.ts.map +1 -0
- package/dist/solver/monitoring/health-checker.js +94 -0
- package/dist/solver/monitoring/health-checker.js.map +1 -0
- package/dist/solver/monitoring/index.d.ts +7 -0
- package/dist/solver/monitoring/index.d.ts.map +1 -0
- package/dist/solver/monitoring/index.js +7 -0
- package/dist/solver/monitoring/index.js.map +1 -0
- package/dist/solver/monitoring/profit-tracker.d.ts +47 -0
- package/dist/solver/monitoring/profit-tracker.d.ts.map +1 -0
- package/dist/solver/monitoring/profit-tracker.js +112 -0
- package/dist/solver/monitoring/profit-tracker.js.map +1 -0
- package/dist/solver/pricing/dynamic-pricing.d.ts +86 -0
- package/dist/solver/pricing/dynamic-pricing.d.ts.map +1 -0
- package/dist/solver/pricing/dynamic-pricing.js +189 -0
- package/dist/solver/pricing/dynamic-pricing.js.map +1 -0
- package/dist/solver/pricing/fee-calculator.d.ts +101 -0
- package/dist/solver/pricing/fee-calculator.d.ts.map +1 -0
- package/dist/solver/pricing/fee-calculator.js +149 -0
- package/dist/solver/pricing/fee-calculator.js.map +1 -0
- package/dist/solver/pricing/index.d.ts +7 -0
- package/dist/solver/pricing/index.d.ts.map +1 -0
- package/dist/solver/pricing/index.js +7 -0
- package/dist/solver/pricing/index.js.map +1 -0
- package/dist/solver/pricing/slippage-capture.d.ts +47 -0
- package/dist/solver/pricing/slippage-capture.d.ts.map +1 -0
- package/dist/solver/pricing/slippage-capture.js +63 -0
- package/dist/solver/pricing/slippage-capture.js.map +1 -0
- package/dist/solver/protocols/aggregators/lifi.d.ts +109 -0
- package/dist/solver/protocols/aggregators/lifi.d.ts.map +1 -0
- package/dist/solver/protocols/aggregators/lifi.js +110 -0
- package/dist/solver/protocols/aggregators/lifi.js.map +1 -0
- package/dist/solver/protocols/aggregators/swing.d.ts +67 -0
- package/dist/solver/protocols/aggregators/swing.d.ts.map +1 -0
- package/dist/solver/protocols/aggregators/swing.js +212 -0
- package/dist/solver/protocols/aggregators/swing.js.map +1 -0
- package/dist/solver/protocols/base-protocol.d.ts +42 -0
- package/dist/solver/protocols/base-protocol.d.ts.map +1 -0
- package/dist/solver/protocols/base-protocol.js +16 -0
- package/dist/solver/protocols/base-protocol.js.map +1 -0
- package/dist/solver/protocols/index.d.ts +10 -0
- package/dist/solver/protocols/index.d.ts.map +1 -0
- package/dist/solver/protocols/index.js +10 -0
- package/dist/solver/protocols/index.js.map +1 -0
- package/dist/solver/protocols/lending/aave.d.ts +51 -0
- package/dist/solver/protocols/lending/aave.d.ts.map +1 -0
- package/dist/solver/protocols/lending/aave.js +172 -0
- package/dist/solver/protocols/lending/aave.js.map +1 -0
- package/dist/solver/protocols/protocol-registry.d.ts +28 -0
- package/dist/solver/protocols/protocol-registry.d.ts.map +1 -0
- package/dist/solver/protocols/protocol-registry.js +40 -0
- package/dist/solver/protocols/protocol-registry.js.map +1 -0
- package/dist/solver/settlement/index.d.ts +7 -0
- package/dist/solver/settlement/index.d.ts.map +1 -0
- package/dist/solver/settlement/index.js +7 -0
- package/dist/solver/settlement/index.js.map +1 -0
- package/dist/solver/settlement/live-settlement-manager.d.ts +62 -0
- package/dist/solver/settlement/live-settlement-manager.d.ts.map +1 -0
- package/dist/solver/settlement/live-settlement-manager.js +68 -0
- package/dist/solver/settlement/live-settlement-manager.js.map +1 -0
- package/dist/solver/settlement/proof-generator.d.ts +48 -0
- package/dist/solver/settlement/proof-generator.d.ts.map +1 -0
- package/dist/solver/settlement/proof-generator.js +100 -0
- package/dist/solver/settlement/proof-generator.js.map +1 -0
- package/dist/solver/settlement/proof-verifier.d.ts +31 -0
- package/dist/solver/settlement/proof-verifier.d.ts.map +1 -0
- package/dist/solver/settlement/proof-verifier.js +46 -0
- package/dist/solver/settlement/proof-verifier.js.map +1 -0
- package/dist/solver/settlement/settlement-manager.d.ts +97 -0
- package/dist/solver/settlement/settlement-manager.d.ts.map +1 -0
- package/dist/solver/settlement/settlement-manager.js +220 -0
- package/dist/solver/settlement/settlement-manager.js.map +1 -0
- package/dist/solver/types/agent.d.ts +92 -0
- package/dist/solver/types/agent.d.ts.map +1 -0
- package/dist/solver/types/agent.js +8 -0
- package/dist/solver/types/agent.js.map +1 -0
- package/dist/solver/types/execution.d.ts +70 -0
- package/dist/solver/types/execution.d.ts.map +1 -0
- package/dist/solver/types/execution.js +7 -0
- package/dist/solver/types/execution.js.map +1 -0
- package/dist/solver/types/index.d.ts +13 -0
- package/dist/solver/types/index.d.ts.map +1 -0
- package/dist/solver/types/index.js +13 -0
- package/dist/solver/types/index.js.map +1 -0
- package/dist/solver/types/intent.d.ts +82 -0
- package/dist/solver/types/intent.d.ts.map +1 -0
- package/dist/solver/types/intent.js +33 -0
- package/dist/solver/types/intent.js.map +1 -0
- package/dist/solver/types/inventory.d.ts +83 -0
- package/dist/solver/types/inventory.d.ts.map +1 -0
- package/dist/solver/types/inventory.js +8 -0
- package/dist/solver/types/inventory.js.map +1 -0
- package/dist/solver/types/pricing.d.ts +59 -0
- package/dist/solver/types/pricing.d.ts.map +1 -0
- package/dist/solver/types/pricing.js +8 -0
- package/dist/solver/types/pricing.js.map +1 -0
- package/dist/solver/types/settlement.d.ts +98 -0
- package/dist/solver/types/settlement.d.ts.map +1 -0
- package/dist/solver/types/settlement.js +9 -0
- package/dist/solver/types/settlement.js.map +1 -0
- package/dist/types/chain.d.ts +66 -0
- package/dist/types/chain.d.ts.map +1 -0
- package/dist/types/chain.js +7 -0
- package/dist/types/chain.js.map +1 -0
- package/dist/types/common.d.ts +44 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +8 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/entities.d.ts +61 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/entities.js +2 -0
- package/dist/types/entities.js.map +1 -0
- package/dist/types/index.d.ts +44 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/intent.d.ts +70 -0
- package/dist/types/intent.d.ts.map +1 -0
- package/dist/types/intent.js +2 -0
- package/dist/types/intent.js.map +1 -0
- package/dist/types/templates.d.ts +18 -0
- package/dist/types/templates.d.ts.map +1 -0
- package/dist/types/templates.js +2 -0
- package/dist/types/templates.js.map +1 -0
- package/dist/types/token.d.ts +132 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/types/token.js +8 -0
- package/dist/types/token.js.map +1 -0
- 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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|