@routstr/sdk 0.2.5 → 0.2.6

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.
@@ -55,20 +55,13 @@ interface ChildKeyEntry {
55
55
  validityDate?: number;
56
56
  createdAt: number;
57
57
  }
58
+ interface XCashuTokenEntry {
59
+ baseUrl: string;
60
+ token: string;
61
+ createdAt: number;
62
+ tryCount: number;
63
+ }
58
64
  interface StorageAdapter {
59
- /** Get stored API token for a provider */
60
- getToken(baseUrl: string): string | null;
61
- /** Store API token for a provider */
62
- setToken(baseUrl: string, token: string): void;
63
- /** Remove API token for a provider */
64
- removeToken(baseUrl: string): void;
65
- /** Update balance for an existing stored token */
66
- updateTokenBalance(baseUrl: string, balance: number): void;
67
- /** Get all stored tokens as distribution (baseUrl -> amount in sats) */
68
- getCachedTokenDistribution(): Array<{
69
- baseUrl: string;
70
- amount: number;
71
- }>;
72
65
  /** Save provider info to cache */
73
66
  saveProviderInfo(baseUrl: string, info: ProviderInfo): void;
74
67
  /** Get cached provider info */
@@ -112,6 +105,18 @@ interface StorageAdapter {
112
105
  unit: "sat" | "msat";
113
106
  createdAt?: number;
114
107
  }>): void;
108
+ /** Get all stored xcashu tokens */
109
+ getXcashuTokens(): Record<string, XCashuTokenEntry[]>;
110
+ /** Get xcashu tokens for a specific baseUrl */
111
+ getXcashuTokensForBaseUrl(baseUrl: string): XCashuTokenEntry[];
112
+ /** Add an xcashu token for a baseUrl */
113
+ addXcashuToken(baseUrl: string, token: string): void;
114
+ /** Remove an xcashu token */
115
+ removeXcashuToken(baseUrl: string, token: string): void;
116
+ /** Clear all xcashu tokens for a baseUrl */
117
+ clearXcashuTokensForBaseUrl(baseUrl: string): void;
118
+ /** Update try count for a specific token */
119
+ updateXcashuTokenTryCount(token: string, tryCount: number): void;
115
120
  }
116
121
  /**
117
122
  * ProviderRegistry - Provides access to provider/model data
@@ -168,4 +173,4 @@ interface RoutstrClientOptions {
168
173
  relayUrls?: string[];
169
174
  }
170
175
 
171
- export type { ApiKeyEntry as A, ChildKeyEntry as C, ProviderRegistry as P, RoutstrClientOptions as R, StorageAdapter as S, WalletAdapter as W, StreamingCallbacks as a };
176
+ export type { ApiKeyEntry as A, ChildKeyEntry as C, ProviderRegistry as P, RoutstrClientOptions as R, StorageAdapter as S, WalletAdapter as W, XCashuTokenEntry as X, StreamingCallbacks as a };
@@ -55,20 +55,13 @@ interface ChildKeyEntry {
55
55
  validityDate?: number;
56
56
  createdAt: number;
57
57
  }
58
+ interface XCashuTokenEntry {
59
+ baseUrl: string;
60
+ token: string;
61
+ createdAt: number;
62
+ tryCount: number;
63
+ }
58
64
  interface StorageAdapter {
59
- /** Get stored API token for a provider */
60
- getToken(baseUrl: string): string | null;
61
- /** Store API token for a provider */
62
- setToken(baseUrl: string, token: string): void;
63
- /** Remove API token for a provider */
64
- removeToken(baseUrl: string): void;
65
- /** Update balance for an existing stored token */
66
- updateTokenBalance(baseUrl: string, balance: number): void;
67
- /** Get all stored tokens as distribution (baseUrl -> amount in sats) */
68
- getCachedTokenDistribution(): Array<{
69
- baseUrl: string;
70
- amount: number;
71
- }>;
72
65
  /** Save provider info to cache */
73
66
  saveProviderInfo(baseUrl: string, info: ProviderInfo): void;
74
67
  /** Get cached provider info */
@@ -112,6 +105,18 @@ interface StorageAdapter {
112
105
  unit: "sat" | "msat";
113
106
  createdAt?: number;
114
107
  }>): void;
108
+ /** Get all stored xcashu tokens */
109
+ getXcashuTokens(): Record<string, XCashuTokenEntry[]>;
110
+ /** Get xcashu tokens for a specific baseUrl */
111
+ getXcashuTokensForBaseUrl(baseUrl: string): XCashuTokenEntry[];
112
+ /** Add an xcashu token for a baseUrl */
113
+ addXcashuToken(baseUrl: string, token: string): void;
114
+ /** Remove an xcashu token */
115
+ removeXcashuToken(baseUrl: string, token: string): void;
116
+ /** Clear all xcashu tokens for a baseUrl */
117
+ clearXcashuTokensForBaseUrl(baseUrl: string): void;
118
+ /** Update try count for a specific token */
119
+ updateXcashuTokenTryCount(token: string, tryCount: number): void;
115
120
  }
116
121
  /**
117
122
  * ProviderRegistry - Provides access to provider/model data
@@ -168,4 +173,4 @@ interface RoutstrClientOptions {
168
173
  relayUrls?: string[];
169
174
  }
170
175
 
171
- export type { ApiKeyEntry as A, ChildKeyEntry as C, ProviderRegistry as P, RoutstrClientOptions as R, StorageAdapter as S, WalletAdapter as W, StreamingCallbacks as a };
176
+ export type { ApiKeyEntry as A, ChildKeyEntry as C, ProviderRegistry as P, RoutstrClientOptions as R, StorageAdapter as S, WalletAdapter as W, XCashuTokenEntry as X, StreamingCallbacks as a };
@@ -1,109 +1,10 @@
1
- import { M as Model, P as ProviderInfo } from '../types-BYj_8c5c.mjs';
2
- import { StoreApi } from 'zustand/vanilla';
1
+ import { a as StorageDriver, U as UsageTrackingDriver, b as UsageTrackingEntry, S as SdkStore } from '../store-C5lnyX8k.mjs';
2
+ export { L as ListUsageTrackingOptions, c as createDiscoveryAdapterFromStore, d as createProviderRegistryFromStore, e as createSdkStore, f as createStorageAdapterFromStore } from '../store-C5lnyX8k.mjs';
3
3
  import { D as DiscoveryAdapter } from '../interfaces-BWJJTCXO.mjs';
4
- import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-C6Dr6hKy.mjs';
5
-
6
- interface StorageDriver {
7
- getItem<T>(key: string, defaultValue: T): Promise<T>;
8
- setItem<T>(key: string, value: T): Promise<void>;
9
- removeItem(key: string): Promise<void>;
10
- }
11
- interface SdkStorageState {
12
- modelsFromAllProviders: Record<string, Model[]>;
13
- lastUsedModel: string | null;
14
- baseUrlsList: string[];
15
- disabledProviders: string[];
16
- mintsFromAllProviders: Record<string, string[]>;
17
- infoFromAllProviders: Record<string, ProviderInfo>;
18
- lastModelsUpdate: Record<string, number>;
19
- lastBaseUrlsUpdate: number | null;
20
- cachedTokens: Array<{
21
- baseUrl: string;
22
- token: string;
23
- balance: number;
24
- lastUsed: number | null;
25
- }>;
26
- apiKeys: Array<{
27
- baseUrl: string;
28
- key: string;
29
- balance: number;
30
- lastUsed: number | null;
31
- }>;
32
- childKeys: Array<{
33
- parentBaseUrl: string;
34
- childKey: string;
35
- balance: number;
36
- balanceLimit?: number;
37
- validityDate?: number;
38
- createdAt: number;
39
- }>;
40
- routstr21Models: string[];
41
- lastRoutstr21ModelsUpdate: number | null;
42
- cachedReceiveTokens: Array<{
43
- token: string;
44
- amount: number;
45
- unit: "sat" | "msat";
46
- createdAt: number;
47
- }>;
48
- clientIds: Array<{
49
- clientId: string;
50
- name: string;
51
- apiKey: string;
52
- createdAt: number;
53
- lastUsed?: number | null;
54
- }>;
55
- }
56
-
57
- declare const localStorageDriver: StorageDriver;
58
-
59
- declare const createMemoryDriver: (seed?: Record<string, string>) => StorageDriver;
60
-
61
- interface SqliteDriverOptions {
62
- dbPath?: string;
63
- tableName?: string;
64
- }
65
- declare const createSqliteDriver: (options?: SqliteDriverOptions) => StorageDriver;
66
-
67
- interface IndexedDBDriverOptions {
68
- dbName?: string;
69
- storeName?: string;
70
- }
71
- declare const createIndexedDBDriver: (options?: IndexedDBDriverOptions) => StorageDriver;
72
-
73
- interface UsageTrackingEntry {
74
- id: string;
75
- timestamp: number;
76
- modelId: string;
77
- baseUrl: string;
78
- requestId: string;
79
- cost: number;
80
- satsCost: number;
81
- promptTokens: number;
82
- completionTokens: number;
83
- totalTokens: number;
84
- client?: string;
85
- sessionId?: string;
86
- tags?: string[];
87
- }
88
-
89
- interface ListUsageTrackingOptions {
90
- limit?: number;
91
- before?: number;
92
- after?: number;
93
- modelId?: string;
94
- baseUrl?: string;
95
- sessionId?: string;
96
- client?: string;
97
- }
98
- interface UsageTrackingDriver {
99
- migrate(): Promise<void>;
100
- append(entry: UsageTrackingEntry): Promise<void>;
101
- appendMany(entries: UsageTrackingEntry[]): Promise<void>;
102
- list(options?: ListUsageTrackingOptions): Promise<UsageTrackingEntry[]>;
103
- count(options?: Omit<ListUsageTrackingOptions, "limit">): Promise<number>;
104
- deleteOlderThan(timestamp: number): Promise<number>;
105
- clear(): Promise<void>;
106
- }
4
+ import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-C5fLD3jB.mjs';
5
+ export { X as XCashuTokenEntry } from '../interfaces-C5fLD3jB.mjs';
6
+ import 'zustand/vanilla';
7
+ import '../types-BYj_8c5c.mjs';
107
8
 
108
9
  interface IndexedDBUsageTrackingDriverOptions {
109
10
  dbName?: string;
@@ -119,65 +20,34 @@ interface SqliteUsageTrackingDriverOptions {
119
20
  }
120
21
  declare const createSqliteUsageTrackingDriver: (options?: SqliteUsageTrackingDriverOptions) => UsageTrackingDriver;
121
22
 
23
+ interface BunSqliteUsageTrackingDriverOptions {
24
+ dbPath?: string;
25
+ tableName?: string;
26
+ legacyStorageDriver?: StorageDriver;
27
+ sqlite?: {
28
+ Database: any;
29
+ };
30
+ }
31
+ declare const createBunSqliteUsageTrackingDriver: (options?: BunSqliteUsageTrackingDriverOptions) => UsageTrackingDriver;
32
+
122
33
  declare const createMemoryUsageTrackingDriver: (seed?: UsageTrackingEntry[]) => UsageTrackingDriver;
123
34
 
124
- interface SdkStoreOptions {
125
- driver: StorageDriver;
35
+ declare const localStorageDriver: StorageDriver;
36
+
37
+ declare const createMemoryDriver: (seed?: Record<string, string>) => StorageDriver;
38
+
39
+ interface SqliteDriverOptions {
40
+ dbPath?: string;
41
+ tableName?: string;
126
42
  }
127
- interface SdkStorageStore extends SdkStorageState {
128
- setModelsFromAllProviders: (value: Record<string, Model[]>) => void;
129
- setLastUsedModel: (value: string | null) => void;
130
- setBaseUrlsList: (value: string[]) => void;
131
- setBaseUrlsLastUpdate: (value: number | null) => void;
132
- setDisabledProviders: (value: string[]) => void;
133
- setMintsFromAllProviders: (value: Record<string, string[]>) => void;
134
- setInfoFromAllProviders: (value: Record<string, ProviderInfo>) => void;
135
- setLastModelsUpdate: (value: Record<string, number>) => void;
136
- setCachedTokens: (value: Array<{
137
- baseUrl: string;
138
- token: string;
139
- balance?: number;
140
- lastUsed?: number | null;
141
- }> | ((current: SdkStorageStore["cachedTokens"]) => SdkStorageStore["cachedTokens"])) => void;
142
- setApiKeys: (value: Array<{
143
- baseUrl: string;
144
- key: string;
145
- balance?: number;
146
- lastUsed?: number | null;
147
- }> | ((current: SdkStorageStore["apiKeys"]) => SdkStorageStore["apiKeys"])) => void;
148
- setChildKeys: (value: Array<{
149
- parentBaseUrl: string;
150
- childKey: string;
151
- balance?: number;
152
- balanceLimit?: number;
153
- validityDate?: number;
154
- createdAt?: number;
155
- }>) => void;
156
- setRoutstr21Models: (value: string[]) => void;
157
- setRoutstr21ModelsLastUpdate: (value: number | null) => void;
158
- setCachedReceiveTokens: (value: Array<{
159
- token: string;
160
- amount: number;
161
- unit: "sat" | "msat";
162
- createdAt?: number;
163
- }>) => void;
164
- setClientIds: (value: Array<{
165
- clientId: string;
166
- name: string;
167
- apiKey: string;
168
- createdAt?: number;
169
- lastUsed?: number | null;
170
- }> | ((current: SdkStorageStore["clientIds"]) => SdkStorageStore["clientIds"])) => void;
43
+ declare const createSqliteDriver: (options?: SqliteDriverOptions) => StorageDriver;
44
+ declare function createBunSqliteDriver(dbPath: string): Promise<StorageDriver>;
45
+
46
+ interface IndexedDBDriverOptions {
47
+ dbName?: string;
48
+ storeName?: string;
171
49
  }
172
- /** Store type returned after async initialization */
173
- type SdkStore = StoreApi<SdkStorageStore>;
174
- declare const createSdkStore: ({ driver, }: SdkStoreOptions) => {
175
- store: SdkStore;
176
- hydrate: Promise<void>;
177
- };
178
- declare const createDiscoveryAdapterFromStore: (store: SdkStore) => DiscoveryAdapter;
179
- declare const createStorageAdapterFromStore: (store: SdkStore) => StorageAdapter;
180
- declare const createProviderRegistryFromStore: (store: SdkStore) => ProviderRegistry;
50
+ declare const createIndexedDBDriver: (options?: IndexedDBDriverOptions) => StorageDriver;
181
51
 
182
52
  declare const SDK_STORAGE_KEYS: {
183
53
  readonly MODELS_FROM_ALL_PROVIDERS: "modelsFromAllProviders";
@@ -188,9 +58,9 @@ declare const SDK_STORAGE_KEYS: {
188
58
  readonly INFO_FROM_ALL_PROVIDERS: "info_from_all_providers";
189
59
  readonly LAST_MODELS_UPDATE: "lastModelsUpdate";
190
60
  readonly LAST_BASE_URLS_UPDATE: "lastBaseUrlsUpdate";
191
- readonly LOCAL_CASHU_TOKENS: "local_cashu_tokens";
192
61
  readonly API_KEYS: "api_keys";
193
62
  readonly CHILD_KEYS: "child_keys";
63
+ readonly XCASHU_TOKENS: "xcashu_tokens";
194
64
  readonly ROUTSTR21_MODELS: "routstr21Models";
195
65
  readonly LAST_ROUTSTR21_MODELS_UPDATE: "lastRoutstr21ModelsUpdate";
196
66
  readonly CACHED_RECEIVE_TOKENS: "cached_receive_tokens";
@@ -201,8 +71,12 @@ declare const SDK_STORAGE_KEYS: {
201
71
  declare const getDefaultSdkDriver: () => StorageDriver;
202
72
  declare const getDefaultSdkStore: () => Promise<SdkStore>;
203
73
  declare const getDefaultUsageTrackingDriver: () => UsageTrackingDriver;
74
+ /**
75
+ * Allow setting a custom usage tracking driver (useful for routstrd to use proper DB path)
76
+ */
77
+ declare const setDefaultUsageTrackingDriver: (driver: UsageTrackingDriver) => void;
204
78
  declare const getDefaultDiscoveryAdapter: () => Promise<DiscoveryAdapter>;
205
79
  declare const getDefaultStorageAdapter: () => Promise<StorageAdapter>;
206
80
  declare const getDefaultProviderRegistry: () => Promise<ProviderRegistry>;
207
81
 
208
- export { DiscoveryAdapter, type ListUsageTrackingOptions, ProviderRegistry, SDK_STORAGE_KEYS, type SdkStore, StorageAdapter, type StorageDriver, type UsageTrackingDriver, type UsageTrackingEntry, createDiscoveryAdapterFromStore, createIndexedDBDriver, createIndexedDBUsageTrackingDriver, createMemoryDriver, createMemoryUsageTrackingDriver, createProviderRegistryFromStore, createSdkStore, createSqliteDriver, createSqliteUsageTrackingDriver, createStorageAdapterFromStore, getDefaultDiscoveryAdapter, getDefaultProviderRegistry, getDefaultSdkDriver, getDefaultSdkStore, getDefaultStorageAdapter, getDefaultUsageTrackingDriver, localStorageDriver };
82
+ export { DiscoveryAdapter, ProviderRegistry, SDK_STORAGE_KEYS, SdkStore, StorageAdapter, StorageDriver, UsageTrackingDriver, UsageTrackingEntry, createBunSqliteDriver, createBunSqliteUsageTrackingDriver, createIndexedDBDriver, createIndexedDBUsageTrackingDriver, createMemoryDriver, createMemoryUsageTrackingDriver, createSqliteDriver, createSqliteUsageTrackingDriver, getDefaultDiscoveryAdapter, getDefaultProviderRegistry, getDefaultSdkDriver, getDefaultSdkStore, getDefaultStorageAdapter, getDefaultUsageTrackingDriver, localStorageDriver, setDefaultUsageTrackingDriver };
@@ -1,109 +1,10 @@
1
- import { M as Model, P as ProviderInfo } from '../types-BYj_8c5c.js';
2
- import { StoreApi } from 'zustand/vanilla';
1
+ import { a as StorageDriver, U as UsageTrackingDriver, b as UsageTrackingEntry, S as SdkStore } from '../store-BJlwiDX5.js';
2
+ export { L as ListUsageTrackingOptions, c as createDiscoveryAdapterFromStore, d as createProviderRegistryFromStore, e as createSdkStore, f as createStorageAdapterFromStore } from '../store-BJlwiDX5.js';
3
3
  import { D as DiscoveryAdapter } from '../interfaces-BxDEka72.js';
4
- import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-CluftN4z.js';
5
-
6
- interface StorageDriver {
7
- getItem<T>(key: string, defaultValue: T): Promise<T>;
8
- setItem<T>(key: string, value: T): Promise<void>;
9
- removeItem(key: string): Promise<void>;
10
- }
11
- interface SdkStorageState {
12
- modelsFromAllProviders: Record<string, Model[]>;
13
- lastUsedModel: string | null;
14
- baseUrlsList: string[];
15
- disabledProviders: string[];
16
- mintsFromAllProviders: Record<string, string[]>;
17
- infoFromAllProviders: Record<string, ProviderInfo>;
18
- lastModelsUpdate: Record<string, number>;
19
- lastBaseUrlsUpdate: number | null;
20
- cachedTokens: Array<{
21
- baseUrl: string;
22
- token: string;
23
- balance: number;
24
- lastUsed: number | null;
25
- }>;
26
- apiKeys: Array<{
27
- baseUrl: string;
28
- key: string;
29
- balance: number;
30
- lastUsed: number | null;
31
- }>;
32
- childKeys: Array<{
33
- parentBaseUrl: string;
34
- childKey: string;
35
- balance: number;
36
- balanceLimit?: number;
37
- validityDate?: number;
38
- createdAt: number;
39
- }>;
40
- routstr21Models: string[];
41
- lastRoutstr21ModelsUpdate: number | null;
42
- cachedReceiveTokens: Array<{
43
- token: string;
44
- amount: number;
45
- unit: "sat" | "msat";
46
- createdAt: number;
47
- }>;
48
- clientIds: Array<{
49
- clientId: string;
50
- name: string;
51
- apiKey: string;
52
- createdAt: number;
53
- lastUsed?: number | null;
54
- }>;
55
- }
56
-
57
- declare const localStorageDriver: StorageDriver;
58
-
59
- declare const createMemoryDriver: (seed?: Record<string, string>) => StorageDriver;
60
-
61
- interface SqliteDriverOptions {
62
- dbPath?: string;
63
- tableName?: string;
64
- }
65
- declare const createSqliteDriver: (options?: SqliteDriverOptions) => StorageDriver;
66
-
67
- interface IndexedDBDriverOptions {
68
- dbName?: string;
69
- storeName?: string;
70
- }
71
- declare const createIndexedDBDriver: (options?: IndexedDBDriverOptions) => StorageDriver;
72
-
73
- interface UsageTrackingEntry {
74
- id: string;
75
- timestamp: number;
76
- modelId: string;
77
- baseUrl: string;
78
- requestId: string;
79
- cost: number;
80
- satsCost: number;
81
- promptTokens: number;
82
- completionTokens: number;
83
- totalTokens: number;
84
- client?: string;
85
- sessionId?: string;
86
- tags?: string[];
87
- }
88
-
89
- interface ListUsageTrackingOptions {
90
- limit?: number;
91
- before?: number;
92
- after?: number;
93
- modelId?: string;
94
- baseUrl?: string;
95
- sessionId?: string;
96
- client?: string;
97
- }
98
- interface UsageTrackingDriver {
99
- migrate(): Promise<void>;
100
- append(entry: UsageTrackingEntry): Promise<void>;
101
- appendMany(entries: UsageTrackingEntry[]): Promise<void>;
102
- list(options?: ListUsageTrackingOptions): Promise<UsageTrackingEntry[]>;
103
- count(options?: Omit<ListUsageTrackingOptions, "limit">): Promise<number>;
104
- deleteOlderThan(timestamp: number): Promise<number>;
105
- clear(): Promise<void>;
106
- }
4
+ import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-B62Rw-dd.js';
5
+ export { X as XCashuTokenEntry } from '../interfaces-B62Rw-dd.js';
6
+ import 'zustand/vanilla';
7
+ import '../types-BYj_8c5c.js';
107
8
 
108
9
  interface IndexedDBUsageTrackingDriverOptions {
109
10
  dbName?: string;
@@ -119,65 +20,34 @@ interface SqliteUsageTrackingDriverOptions {
119
20
  }
120
21
  declare const createSqliteUsageTrackingDriver: (options?: SqliteUsageTrackingDriverOptions) => UsageTrackingDriver;
121
22
 
23
+ interface BunSqliteUsageTrackingDriverOptions {
24
+ dbPath?: string;
25
+ tableName?: string;
26
+ legacyStorageDriver?: StorageDriver;
27
+ sqlite?: {
28
+ Database: any;
29
+ };
30
+ }
31
+ declare const createBunSqliteUsageTrackingDriver: (options?: BunSqliteUsageTrackingDriverOptions) => UsageTrackingDriver;
32
+
122
33
  declare const createMemoryUsageTrackingDriver: (seed?: UsageTrackingEntry[]) => UsageTrackingDriver;
123
34
 
124
- interface SdkStoreOptions {
125
- driver: StorageDriver;
35
+ declare const localStorageDriver: StorageDriver;
36
+
37
+ declare const createMemoryDriver: (seed?: Record<string, string>) => StorageDriver;
38
+
39
+ interface SqliteDriverOptions {
40
+ dbPath?: string;
41
+ tableName?: string;
126
42
  }
127
- interface SdkStorageStore extends SdkStorageState {
128
- setModelsFromAllProviders: (value: Record<string, Model[]>) => void;
129
- setLastUsedModel: (value: string | null) => void;
130
- setBaseUrlsList: (value: string[]) => void;
131
- setBaseUrlsLastUpdate: (value: number | null) => void;
132
- setDisabledProviders: (value: string[]) => void;
133
- setMintsFromAllProviders: (value: Record<string, string[]>) => void;
134
- setInfoFromAllProviders: (value: Record<string, ProviderInfo>) => void;
135
- setLastModelsUpdate: (value: Record<string, number>) => void;
136
- setCachedTokens: (value: Array<{
137
- baseUrl: string;
138
- token: string;
139
- balance?: number;
140
- lastUsed?: number | null;
141
- }> | ((current: SdkStorageStore["cachedTokens"]) => SdkStorageStore["cachedTokens"])) => void;
142
- setApiKeys: (value: Array<{
143
- baseUrl: string;
144
- key: string;
145
- balance?: number;
146
- lastUsed?: number | null;
147
- }> | ((current: SdkStorageStore["apiKeys"]) => SdkStorageStore["apiKeys"])) => void;
148
- setChildKeys: (value: Array<{
149
- parentBaseUrl: string;
150
- childKey: string;
151
- balance?: number;
152
- balanceLimit?: number;
153
- validityDate?: number;
154
- createdAt?: number;
155
- }>) => void;
156
- setRoutstr21Models: (value: string[]) => void;
157
- setRoutstr21ModelsLastUpdate: (value: number | null) => void;
158
- setCachedReceiveTokens: (value: Array<{
159
- token: string;
160
- amount: number;
161
- unit: "sat" | "msat";
162
- createdAt?: number;
163
- }>) => void;
164
- setClientIds: (value: Array<{
165
- clientId: string;
166
- name: string;
167
- apiKey: string;
168
- createdAt?: number;
169
- lastUsed?: number | null;
170
- }> | ((current: SdkStorageStore["clientIds"]) => SdkStorageStore["clientIds"])) => void;
43
+ declare const createSqliteDriver: (options?: SqliteDriverOptions) => StorageDriver;
44
+ declare function createBunSqliteDriver(dbPath: string): Promise<StorageDriver>;
45
+
46
+ interface IndexedDBDriverOptions {
47
+ dbName?: string;
48
+ storeName?: string;
171
49
  }
172
- /** Store type returned after async initialization */
173
- type SdkStore = StoreApi<SdkStorageStore>;
174
- declare const createSdkStore: ({ driver, }: SdkStoreOptions) => {
175
- store: SdkStore;
176
- hydrate: Promise<void>;
177
- };
178
- declare const createDiscoveryAdapterFromStore: (store: SdkStore) => DiscoveryAdapter;
179
- declare const createStorageAdapterFromStore: (store: SdkStore) => StorageAdapter;
180
- declare const createProviderRegistryFromStore: (store: SdkStore) => ProviderRegistry;
50
+ declare const createIndexedDBDriver: (options?: IndexedDBDriverOptions) => StorageDriver;
181
51
 
182
52
  declare const SDK_STORAGE_KEYS: {
183
53
  readonly MODELS_FROM_ALL_PROVIDERS: "modelsFromAllProviders";
@@ -188,9 +58,9 @@ declare const SDK_STORAGE_KEYS: {
188
58
  readonly INFO_FROM_ALL_PROVIDERS: "info_from_all_providers";
189
59
  readonly LAST_MODELS_UPDATE: "lastModelsUpdate";
190
60
  readonly LAST_BASE_URLS_UPDATE: "lastBaseUrlsUpdate";
191
- readonly LOCAL_CASHU_TOKENS: "local_cashu_tokens";
192
61
  readonly API_KEYS: "api_keys";
193
62
  readonly CHILD_KEYS: "child_keys";
63
+ readonly XCASHU_TOKENS: "xcashu_tokens";
194
64
  readonly ROUTSTR21_MODELS: "routstr21Models";
195
65
  readonly LAST_ROUTSTR21_MODELS_UPDATE: "lastRoutstr21ModelsUpdate";
196
66
  readonly CACHED_RECEIVE_TOKENS: "cached_receive_tokens";
@@ -201,8 +71,12 @@ declare const SDK_STORAGE_KEYS: {
201
71
  declare const getDefaultSdkDriver: () => StorageDriver;
202
72
  declare const getDefaultSdkStore: () => Promise<SdkStore>;
203
73
  declare const getDefaultUsageTrackingDriver: () => UsageTrackingDriver;
74
+ /**
75
+ * Allow setting a custom usage tracking driver (useful for routstrd to use proper DB path)
76
+ */
77
+ declare const setDefaultUsageTrackingDriver: (driver: UsageTrackingDriver) => void;
204
78
  declare const getDefaultDiscoveryAdapter: () => Promise<DiscoveryAdapter>;
205
79
  declare const getDefaultStorageAdapter: () => Promise<StorageAdapter>;
206
80
  declare const getDefaultProviderRegistry: () => Promise<ProviderRegistry>;
207
81
 
208
- export { DiscoveryAdapter, type ListUsageTrackingOptions, ProviderRegistry, SDK_STORAGE_KEYS, type SdkStore, StorageAdapter, type StorageDriver, type UsageTrackingDriver, type UsageTrackingEntry, createDiscoveryAdapterFromStore, createIndexedDBDriver, createIndexedDBUsageTrackingDriver, createMemoryDriver, createMemoryUsageTrackingDriver, createProviderRegistryFromStore, createSdkStore, createSqliteDriver, createSqliteUsageTrackingDriver, createStorageAdapterFromStore, getDefaultDiscoveryAdapter, getDefaultProviderRegistry, getDefaultSdkDriver, getDefaultSdkStore, getDefaultStorageAdapter, getDefaultUsageTrackingDriver, localStorageDriver };
82
+ export { DiscoveryAdapter, ProviderRegistry, SDK_STORAGE_KEYS, SdkStore, StorageAdapter, StorageDriver, UsageTrackingDriver, UsageTrackingEntry, createBunSqliteDriver, createBunSqliteUsageTrackingDriver, createIndexedDBDriver, createIndexedDBUsageTrackingDriver, createMemoryDriver, createMemoryUsageTrackingDriver, createSqliteDriver, createSqliteUsageTrackingDriver, getDefaultDiscoveryAdapter, getDefaultProviderRegistry, getDefaultSdkDriver, getDefaultSdkStore, getDefaultStorageAdapter, getDefaultUsageTrackingDriver, localStorageDriver, setDefaultUsageTrackingDriver };