@blockrun/llm 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -36436,10 +36436,12 @@ __export(index_exports, {
36436
36436
  WALLET_DIR_PATH: () => WALLET_DIR_PATH,
36437
36437
  WALLET_FILE_PATH: () => WALLET_FILE_PATH,
36438
36438
  clearCache: () => clearCache,
36439
+ createPaymentPayload: () => createPaymentPayload,
36439
36440
  createSolanaPaymentPayload: () => createSolanaPaymentPayload,
36440
36441
  createSolanaWallet: () => createSolanaWallet,
36441
36442
  createWallet: () => createWallet,
36442
36443
  default: () => client_default,
36444
+ extractPaymentDetails: () => extractPaymentDetails,
36443
36445
  formatFundingMessageCompact: () => formatFundingMessageCompact,
36444
36446
  formatNeedsFundingMessage: () => formatNeedsFundingMessage,
36445
36447
  formatWalletCreatedMessage: () => formatWalletCreatedMessage,
@@ -36454,6 +36456,7 @@ __export(index_exports, {
36454
36456
  loadSolanaWallet: () => loadSolanaWallet,
36455
36457
  loadWallet: () => loadWallet,
36456
36458
  logCost: () => logCost,
36459
+ parsePaymentRequired: () => parsePaymentRequired,
36457
36460
  saveSolanaWallet: () => saveSolanaWallet,
36458
36461
  saveToCache: () => saveToCache,
36459
36462
  saveWallet: () => saveWallet,
@@ -39145,9 +39148,11 @@ var AnthropicClient = class {
39145
39148
  WALLET_DIR_PATH,
39146
39149
  WALLET_FILE_PATH,
39147
39150
  clearCache,
39151
+ createPaymentPayload,
39148
39152
  createSolanaPaymentPayload,
39149
39153
  createSolanaWallet,
39150
39154
  createWallet,
39155
+ extractPaymentDetails,
39151
39156
  formatFundingMessageCompact,
39152
39157
  formatNeedsFundingMessage,
39153
39158
  formatWalletCreatedMessage,
@@ -39162,6 +39167,7 @@ var AnthropicClient = class {
39162
39167
  loadSolanaWallet,
39163
39168
  loadWallet,
39164
39169
  logCost,
39170
+ parsePaymentRequired,
39165
39171
  saveSolanaWallet,
39166
39172
  saveToCache,
39167
39173
  saveWallet,
package/dist/index.d.cts CHANGED
@@ -143,6 +143,29 @@ interface Spending {
143
143
  totalUsd: number;
144
144
  calls: number;
145
145
  }
146
+ interface ResourceInfo {
147
+ url: string;
148
+ description?: string;
149
+ mimeType?: string;
150
+ }
151
+ interface PaymentRequirement {
152
+ scheme: string;
153
+ network: string;
154
+ asset: string;
155
+ amount?: string;
156
+ maxAmountRequired?: string;
157
+ payTo: string;
158
+ maxTimeoutSeconds?: number;
159
+ extra?: {
160
+ name?: string;
161
+ version?: string;
162
+ };
163
+ }
164
+ interface PaymentRequired {
165
+ x402Version: number;
166
+ accepts: PaymentRequirement[];
167
+ resource?: ResourceInfo;
168
+ }
146
169
  interface LLMClientOptions {
147
170
  /** EVM wallet private key (hex string starting with 0x). Optional if BASE_CHAIN_WALLET_KEY env var is set. */
148
171
  privateKey?: `0x${string}` | string;
@@ -874,6 +897,28 @@ declare const BASE_CHAIN_ID = 8453;
874
897
  declare const USDC_BASE: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
875
898
  declare const SOLANA_NETWORK = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
876
899
  declare const USDC_SOLANA = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
900
+ interface CreatePaymentOptions {
901
+ resourceUrl?: string;
902
+ resourceDescription?: string;
903
+ maxTimeoutSeconds?: number;
904
+ extra?: {
905
+ name?: string;
906
+ version?: string;
907
+ };
908
+ extensions?: Record<string, unknown>;
909
+ }
910
+ /**
911
+ * Create a signed x402 v2 payment payload.
912
+ *
913
+ * @param privateKey - Hex-encoded private key
914
+ * @param fromAddress - Sender wallet address
915
+ * @param recipient - Payment recipient address
916
+ * @param amount - Amount in micro USDC (6 decimals)
917
+ * @param network - Network identifier (default: eip155:8453)
918
+ * @param options - Additional options for resource info
919
+ * @returns Base64-encoded signed payment payload
920
+ */
921
+ declare function createPaymentPayload(privateKey: `0x${string}`, fromAddress: string, recipient: string, amount: string, network?: string, options?: CreatePaymentOptions): Promise<string>;
877
922
  interface CreateSolanaPaymentOptions {
878
923
  resourceUrl?: string;
879
924
  resourceDescription?: string;
@@ -899,6 +944,39 @@ interface CreateSolanaPaymentOptions {
899
944
  * @returns Base64-encoded signed payment payload
900
945
  */
901
946
  declare function createSolanaPaymentPayload(secretKey: Uint8Array, fromAddress: string, recipient: string, amount: string, feePayer: string, options?: CreateSolanaPaymentOptions): Promise<string>;
947
+ /**
948
+ * Parse the X-Payment-Required header from a 402 response.
949
+ *
950
+ * @param headerValue - Base64-encoded payment required header
951
+ * @returns Parsed payment required object
952
+ * @throws {Error} If the header cannot be parsed or has invalid structure
953
+ */
954
+ declare function parsePaymentRequired(headerValue: string): PaymentRequired;
955
+ /**
956
+ * Extract payment details from parsed payment required response.
957
+ * Supports both v1 and v2 formats, with optional network preference.
958
+ *
959
+ * @param paymentRequired - Parsed payment required object
960
+ * @param preferredNetwork - Optional network preference. If specified, will try
961
+ * to use matching network option. Defaults to first option (Base).
962
+ * Examples:
963
+ * - "eip155:8453" for Base
964
+ * - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" for Solana
965
+ */
966
+ declare function extractPaymentDetails(paymentRequired: PaymentRequired, preferredNetwork?: string): {
967
+ amount: string;
968
+ recipient: string;
969
+ network: string;
970
+ asset: string;
971
+ scheme: string;
972
+ maxTimeoutSeconds: number;
973
+ extra?: {
974
+ name?: string;
975
+ version?: string;
976
+ feePayer?: string;
977
+ };
978
+ resource?: ResourceInfo;
979
+ };
902
980
 
903
981
  /**
904
982
  * BlockRun Wallet Management - Auto-create and manage wallets.
@@ -1340,4 +1418,4 @@ declare class AnthropicClient {
1340
1418
  getWalletAddress(): string;
1341
1419
  }
1342
1420
 
1343
- export { APIError, AnthropicClient, BASE_CHAIN_ID, type BlockRunAnthropicOptions, BlockrunError, type ChatChoice, type ChatCompletionOptions, type ChatMessage, type ChatOptions, type ChatResponse, type ChatUsage, type CostEntry, type FunctionCall, type FunctionDefinition, ImageClient, type ImageClientOptions, type ImageData, type ImageEditOptions, type ImageGenerateOptions, type ImageModel, type ImageResponse, LLMClient, type LLMClientOptions, type Model, type NewsSearchSource, OpenAI, type OpenAIChatCompletionChoice, type OpenAIChatCompletionChunk, type OpenAIChatCompletionParams, type OpenAIChatCompletionResponse, type OpenAIClientOptions, PaymentError, type PaymentLinks, type RoutingDecision, type RoutingProfile, type RoutingTier, type RssSearchSource, SOLANA_NETWORK, SOLANA_WALLET_FILE as SOLANA_WALLET_FILE_PATH, type SearchOptions, type SearchParameters, type SearchResult, type SearchSource, type SmartChatOptions, type SmartChatResponse, SolanaLLMClient, type SolanaLLMClientOptions, type SolanaWalletInfo, type Spending, type Tool, type ToolCall, type ToolChoice, USDC_BASE, USDC_BASE_CONTRACT, USDC_SOLANA, WALLET_DIR_PATH, WALLET_FILE_PATH, type WalletInfo, type WebSearchSource, type XArticlesRisingResponse, type XAuthorAnalyticsResponse, type XCompareAuthorsResponse, type XFollower, type XFollowersResponse, type XFollowingsResponse, type XMentionsResponse, type XSearchResponse, type XSearchSource, type XTrendingResponse, type XTweet, type XTweetLookupResponse, type XTweetRepliesResponse, type XTweetThreadResponse, type XTweetsResponse, type XUser, type XUserInfoResponse, type XUserLookupResponse, type XVerifiedFollowersResponse, clearCache, createSolanaPaymentPayload, createSolanaWallet, createWallet, LLMClient as default, formatFundingMessageCompact, formatNeedsFundingMessage, formatWalletCreatedMessage, getCached, getCachedByRequest, getCostSummary, getEip681Uri, getOrCreateSolanaWallet, getOrCreateWallet, getPaymentLinks, getWalletAddress, loadSolanaWallet, loadWallet, logCost, saveSolanaWallet, saveToCache, saveWallet, scanSolanaWallets, scanWallets, setCache, setupAgentSolanaWallet, setupAgentWallet, solanaClient, solanaKeyToBytes, solanaPublicKey, status, testnetClient };
1421
+ export { APIError, AnthropicClient, BASE_CHAIN_ID, type BlockRunAnthropicOptions, BlockrunError, type ChatChoice, type ChatCompletionOptions, type ChatMessage, type ChatOptions, type ChatResponse, type ChatUsage, type CostEntry, type CreatePaymentOptions, type FunctionCall, type FunctionDefinition, ImageClient, type ImageClientOptions, type ImageData, type ImageEditOptions, type ImageGenerateOptions, type ImageModel, type ImageResponse, LLMClient, type LLMClientOptions, type Model, type NewsSearchSource, OpenAI, type OpenAIChatCompletionChoice, type OpenAIChatCompletionChunk, type OpenAIChatCompletionParams, type OpenAIChatCompletionResponse, type OpenAIClientOptions, PaymentError, type PaymentLinks, type RoutingDecision, type RoutingProfile, type RoutingTier, type RssSearchSource, SOLANA_NETWORK, SOLANA_WALLET_FILE as SOLANA_WALLET_FILE_PATH, type SearchOptions, type SearchParameters, type SearchResult, type SearchSource, type SmartChatOptions, type SmartChatResponse, SolanaLLMClient, type SolanaLLMClientOptions, type SolanaWalletInfo, type Spending, type Tool, type ToolCall, type ToolChoice, USDC_BASE, USDC_BASE_CONTRACT, USDC_SOLANA, WALLET_DIR_PATH, WALLET_FILE_PATH, type WalletInfo, type WebSearchSource, type XArticlesRisingResponse, type XAuthorAnalyticsResponse, type XCompareAuthorsResponse, type XFollower, type XFollowersResponse, type XFollowingsResponse, type XMentionsResponse, type XSearchResponse, type XSearchSource, type XTrendingResponse, type XTweet, type XTweetLookupResponse, type XTweetRepliesResponse, type XTweetThreadResponse, type XTweetsResponse, type XUser, type XUserInfoResponse, type XUserLookupResponse, type XVerifiedFollowersResponse, clearCache, createPaymentPayload, createSolanaPaymentPayload, createSolanaWallet, createWallet, LLMClient as default, extractPaymentDetails, formatFundingMessageCompact, formatNeedsFundingMessage, formatWalletCreatedMessage, getCached, getCachedByRequest, getCostSummary, getEip681Uri, getOrCreateSolanaWallet, getOrCreateWallet, getPaymentLinks, getWalletAddress, loadSolanaWallet, loadWallet, logCost, parsePaymentRequired, saveSolanaWallet, saveToCache, saveWallet, scanSolanaWallets, scanWallets, setCache, setupAgentSolanaWallet, setupAgentWallet, solanaClient, solanaKeyToBytes, solanaPublicKey, status, testnetClient };
package/dist/index.d.ts CHANGED
@@ -143,6 +143,29 @@ interface Spending {
143
143
  totalUsd: number;
144
144
  calls: number;
145
145
  }
146
+ interface ResourceInfo {
147
+ url: string;
148
+ description?: string;
149
+ mimeType?: string;
150
+ }
151
+ interface PaymentRequirement {
152
+ scheme: string;
153
+ network: string;
154
+ asset: string;
155
+ amount?: string;
156
+ maxAmountRequired?: string;
157
+ payTo: string;
158
+ maxTimeoutSeconds?: number;
159
+ extra?: {
160
+ name?: string;
161
+ version?: string;
162
+ };
163
+ }
164
+ interface PaymentRequired {
165
+ x402Version: number;
166
+ accepts: PaymentRequirement[];
167
+ resource?: ResourceInfo;
168
+ }
146
169
  interface LLMClientOptions {
147
170
  /** EVM wallet private key (hex string starting with 0x). Optional if BASE_CHAIN_WALLET_KEY env var is set. */
148
171
  privateKey?: `0x${string}` | string;
@@ -874,6 +897,28 @@ declare const BASE_CHAIN_ID = 8453;
874
897
  declare const USDC_BASE: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
875
898
  declare const SOLANA_NETWORK = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
876
899
  declare const USDC_SOLANA = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
900
+ interface CreatePaymentOptions {
901
+ resourceUrl?: string;
902
+ resourceDescription?: string;
903
+ maxTimeoutSeconds?: number;
904
+ extra?: {
905
+ name?: string;
906
+ version?: string;
907
+ };
908
+ extensions?: Record<string, unknown>;
909
+ }
910
+ /**
911
+ * Create a signed x402 v2 payment payload.
912
+ *
913
+ * @param privateKey - Hex-encoded private key
914
+ * @param fromAddress - Sender wallet address
915
+ * @param recipient - Payment recipient address
916
+ * @param amount - Amount in micro USDC (6 decimals)
917
+ * @param network - Network identifier (default: eip155:8453)
918
+ * @param options - Additional options for resource info
919
+ * @returns Base64-encoded signed payment payload
920
+ */
921
+ declare function createPaymentPayload(privateKey: `0x${string}`, fromAddress: string, recipient: string, amount: string, network?: string, options?: CreatePaymentOptions): Promise<string>;
877
922
  interface CreateSolanaPaymentOptions {
878
923
  resourceUrl?: string;
879
924
  resourceDescription?: string;
@@ -899,6 +944,39 @@ interface CreateSolanaPaymentOptions {
899
944
  * @returns Base64-encoded signed payment payload
900
945
  */
901
946
  declare function createSolanaPaymentPayload(secretKey: Uint8Array, fromAddress: string, recipient: string, amount: string, feePayer: string, options?: CreateSolanaPaymentOptions): Promise<string>;
947
+ /**
948
+ * Parse the X-Payment-Required header from a 402 response.
949
+ *
950
+ * @param headerValue - Base64-encoded payment required header
951
+ * @returns Parsed payment required object
952
+ * @throws {Error} If the header cannot be parsed or has invalid structure
953
+ */
954
+ declare function parsePaymentRequired(headerValue: string): PaymentRequired;
955
+ /**
956
+ * Extract payment details from parsed payment required response.
957
+ * Supports both v1 and v2 formats, with optional network preference.
958
+ *
959
+ * @param paymentRequired - Parsed payment required object
960
+ * @param preferredNetwork - Optional network preference. If specified, will try
961
+ * to use matching network option. Defaults to first option (Base).
962
+ * Examples:
963
+ * - "eip155:8453" for Base
964
+ * - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" for Solana
965
+ */
966
+ declare function extractPaymentDetails(paymentRequired: PaymentRequired, preferredNetwork?: string): {
967
+ amount: string;
968
+ recipient: string;
969
+ network: string;
970
+ asset: string;
971
+ scheme: string;
972
+ maxTimeoutSeconds: number;
973
+ extra?: {
974
+ name?: string;
975
+ version?: string;
976
+ feePayer?: string;
977
+ };
978
+ resource?: ResourceInfo;
979
+ };
902
980
 
903
981
  /**
904
982
  * BlockRun Wallet Management - Auto-create and manage wallets.
@@ -1340,4 +1418,4 @@ declare class AnthropicClient {
1340
1418
  getWalletAddress(): string;
1341
1419
  }
1342
1420
 
1343
- export { APIError, AnthropicClient, BASE_CHAIN_ID, type BlockRunAnthropicOptions, BlockrunError, type ChatChoice, type ChatCompletionOptions, type ChatMessage, type ChatOptions, type ChatResponse, type ChatUsage, type CostEntry, type FunctionCall, type FunctionDefinition, ImageClient, type ImageClientOptions, type ImageData, type ImageEditOptions, type ImageGenerateOptions, type ImageModel, type ImageResponse, LLMClient, type LLMClientOptions, type Model, type NewsSearchSource, OpenAI, type OpenAIChatCompletionChoice, type OpenAIChatCompletionChunk, type OpenAIChatCompletionParams, type OpenAIChatCompletionResponse, type OpenAIClientOptions, PaymentError, type PaymentLinks, type RoutingDecision, type RoutingProfile, type RoutingTier, type RssSearchSource, SOLANA_NETWORK, SOLANA_WALLET_FILE as SOLANA_WALLET_FILE_PATH, type SearchOptions, type SearchParameters, type SearchResult, type SearchSource, type SmartChatOptions, type SmartChatResponse, SolanaLLMClient, type SolanaLLMClientOptions, type SolanaWalletInfo, type Spending, type Tool, type ToolCall, type ToolChoice, USDC_BASE, USDC_BASE_CONTRACT, USDC_SOLANA, WALLET_DIR_PATH, WALLET_FILE_PATH, type WalletInfo, type WebSearchSource, type XArticlesRisingResponse, type XAuthorAnalyticsResponse, type XCompareAuthorsResponse, type XFollower, type XFollowersResponse, type XFollowingsResponse, type XMentionsResponse, type XSearchResponse, type XSearchSource, type XTrendingResponse, type XTweet, type XTweetLookupResponse, type XTweetRepliesResponse, type XTweetThreadResponse, type XTweetsResponse, type XUser, type XUserInfoResponse, type XUserLookupResponse, type XVerifiedFollowersResponse, clearCache, createSolanaPaymentPayload, createSolanaWallet, createWallet, LLMClient as default, formatFundingMessageCompact, formatNeedsFundingMessage, formatWalletCreatedMessage, getCached, getCachedByRequest, getCostSummary, getEip681Uri, getOrCreateSolanaWallet, getOrCreateWallet, getPaymentLinks, getWalletAddress, loadSolanaWallet, loadWallet, logCost, saveSolanaWallet, saveToCache, saveWallet, scanSolanaWallets, scanWallets, setCache, setupAgentSolanaWallet, setupAgentWallet, solanaClient, solanaKeyToBytes, solanaPublicKey, status, testnetClient };
1421
+ export { APIError, AnthropicClient, BASE_CHAIN_ID, type BlockRunAnthropicOptions, BlockrunError, type ChatChoice, type ChatCompletionOptions, type ChatMessage, type ChatOptions, type ChatResponse, type ChatUsage, type CostEntry, type CreatePaymentOptions, type FunctionCall, type FunctionDefinition, ImageClient, type ImageClientOptions, type ImageData, type ImageEditOptions, type ImageGenerateOptions, type ImageModel, type ImageResponse, LLMClient, type LLMClientOptions, type Model, type NewsSearchSource, OpenAI, type OpenAIChatCompletionChoice, type OpenAIChatCompletionChunk, type OpenAIChatCompletionParams, type OpenAIChatCompletionResponse, type OpenAIClientOptions, PaymentError, type PaymentLinks, type RoutingDecision, type RoutingProfile, type RoutingTier, type RssSearchSource, SOLANA_NETWORK, SOLANA_WALLET_FILE as SOLANA_WALLET_FILE_PATH, type SearchOptions, type SearchParameters, type SearchResult, type SearchSource, type SmartChatOptions, type SmartChatResponse, SolanaLLMClient, type SolanaLLMClientOptions, type SolanaWalletInfo, type Spending, type Tool, type ToolCall, type ToolChoice, USDC_BASE, USDC_BASE_CONTRACT, USDC_SOLANA, WALLET_DIR_PATH, WALLET_FILE_PATH, type WalletInfo, type WebSearchSource, type XArticlesRisingResponse, type XAuthorAnalyticsResponse, type XCompareAuthorsResponse, type XFollower, type XFollowersResponse, type XFollowingsResponse, type XMentionsResponse, type XSearchResponse, type XSearchSource, type XTrendingResponse, type XTweet, type XTweetLookupResponse, type XTweetRepliesResponse, type XTweetThreadResponse, type XTweetsResponse, type XUser, type XUserInfoResponse, type XUserLookupResponse, type XVerifiedFollowersResponse, clearCache, createPaymentPayload, createSolanaPaymentPayload, createSolanaWallet, createWallet, LLMClient as default, extractPaymentDetails, formatFundingMessageCompact, formatNeedsFundingMessage, formatWalletCreatedMessage, getCached, getCachedByRequest, getCostSummary, getEip681Uri, getOrCreateSolanaWallet, getOrCreateWallet, getPaymentLinks, getWalletAddress, loadSolanaWallet, loadWallet, logCost, parsePaymentRequired, saveSolanaWallet, saveToCache, saveWallet, scanSolanaWallets, scanWallets, setCache, setupAgentSolanaWallet, setupAgentWallet, solanaClient, solanaKeyToBytes, solanaPublicKey, status, testnetClient };
package/dist/index.js CHANGED
@@ -2679,10 +2679,12 @@ export {
2679
2679
  WALLET_DIR_PATH,
2680
2680
  WALLET_FILE_PATH,
2681
2681
  clearCache,
2682
+ createPaymentPayload,
2682
2683
  createSolanaPaymentPayload,
2683
2684
  createSolanaWallet,
2684
2685
  createWallet,
2685
2686
  client_default as default,
2687
+ extractPaymentDetails,
2686
2688
  formatFundingMessageCompact,
2687
2689
  formatNeedsFundingMessage,
2688
2690
  formatWalletCreatedMessage,
@@ -2697,6 +2699,7 @@ export {
2697
2699
  loadSolanaWallet,
2698
2700
  loadWallet,
2699
2701
  logCost,
2702
+ parsePaymentRequired,
2700
2703
  saveSolanaWallet,
2701
2704
  saveToCache,
2702
2705
  saveWallet,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/llm",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "type": "module",
5
5
  "description": "BlockRun LLM Gateway SDK - Pay-per-request AI via x402 on Base and Solana",
6
6
  "main": "dist/index.cjs",