@routstr/sdk 0.1.3 → 0.1.5
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/client/index.js +12 -4
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +12 -4
- package/dist/client/index.mjs.map +1 -1
- package/dist/index.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +17 -5
- package/dist/index.mjs.map +1 -1
- package/dist/wallet/index.js +3 -0
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/index.mjs +3 -0
- package/dist/wallet/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -6,7 +6,8 @@ export { MintDiscovery, ModelManagerConfig } from './discovery/index.mjs';
|
|
|
6
6
|
import { W as WalletAdapter, S as StorageAdapter, P as ProviderRegistry } from './interfaces-B85Wx7ni.mjs';
|
|
7
7
|
export { A as ApiKeyEntry, C as ChildKeyEntry, R as RoutstrClientOptions, a as StreamingCallbacks } from './interfaces-B85Wx7ni.mjs';
|
|
8
8
|
export { BalanceManager, CashuSpender, CreateProviderTokenOptions, ProviderTokenResult, RefundApiKeyOptions, RefundOptions, SpendOptions, TopUpOptions } from './wallet/index.mjs';
|
|
9
|
-
|
|
9
|
+
import { DebugLevel } from './client/index.mjs';
|
|
10
|
+
export { AlertLevel, FetchOptions, ModelProviderPrice, ProviderManager, RouteRequestParams, RoutstrClient, RoutstrClientMode, StreamCallbacks, StreamProcessor } from './client/index.mjs';
|
|
10
11
|
export { SDK_STORAGE_KEYS, SdkStore, StorageDriver, createDiscoveryAdapterFromStore, createIndexedDBDriver, createMemoryDriver, createProviderRegistryFromStore, createSdkStore, createSqliteDriver, createStorageAdapterFromStore, getDefaultDiscoveryAdapter, getDefaultProviderRegistry, getDefaultSdkDriver, getDefaultSdkStore, getDefaultStorageAdapter, localStorageDriver } from './storage/index.mjs';
|
|
11
12
|
import 'zustand/vanilla';
|
|
12
13
|
|
|
@@ -141,6 +142,8 @@ interface RouteRequestOptions {
|
|
|
141
142
|
forceRefresh?: boolean;
|
|
142
143
|
/** Optional: pre-initialized ModelManager (skips bootstrap if provided) */
|
|
143
144
|
modelManager?: ModelManager;
|
|
145
|
+
/** Optional: set RoutstrClient debug level */
|
|
146
|
+
debugLevel?: DebugLevel;
|
|
144
147
|
}
|
|
145
148
|
/**
|
|
146
149
|
* Result from routeRequests function
|
|
@@ -179,4 +182,4 @@ interface RouteRequestResult {
|
|
|
179
182
|
*/
|
|
180
183
|
declare function routeRequests(options: RouteRequestOptions): Promise<Response>;
|
|
181
184
|
|
|
182
|
-
export { DiscoveryAdapter, FailoverError, InsufficientBalanceError, MintDiscoveryError, MintUnreachableError, Model, ModelManager, ModelNotFoundError, NoProvidersAvailableError, ProviderBootstrapError, type ProviderDirectoryEntry, ProviderError, ProviderRegistry, type RouteRequestOptions, type RouteRequestResult, StorageAdapter, StreamingError, TokenOperationError, WalletAdapter, filterBaseUrlsForTor, getProviderEndpoints, isOnionUrl, isTorContext, normalizeProviderUrl, routeRequests };
|
|
185
|
+
export { DebugLevel, DiscoveryAdapter, FailoverError, InsufficientBalanceError, MintDiscoveryError, MintUnreachableError, Model, ModelManager, ModelNotFoundError, NoProvidersAvailableError, ProviderBootstrapError, type ProviderDirectoryEntry, ProviderError, ProviderRegistry, type RouteRequestOptions, type RouteRequestResult, StorageAdapter, StreamingError, TokenOperationError, WalletAdapter, filterBaseUrlsForTor, getProviderEndpoints, isOnionUrl, isTorContext, normalizeProviderUrl, routeRequests };
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ export { MintDiscovery, ModelManagerConfig } from './discovery/index.js';
|
|
|
6
6
|
import { W as WalletAdapter, S as StorageAdapter, P as ProviderRegistry } from './interfaces-BVNyAmKu.js';
|
|
7
7
|
export { A as ApiKeyEntry, C as ChildKeyEntry, R as RoutstrClientOptions, a as StreamingCallbacks } from './interfaces-BVNyAmKu.js';
|
|
8
8
|
export { BalanceManager, CashuSpender, CreateProviderTokenOptions, ProviderTokenResult, RefundApiKeyOptions, RefundOptions, SpendOptions, TopUpOptions } from './wallet/index.js';
|
|
9
|
-
|
|
9
|
+
import { DebugLevel } from './client/index.js';
|
|
10
|
+
export { AlertLevel, FetchOptions, ModelProviderPrice, ProviderManager, RouteRequestParams, RoutstrClient, RoutstrClientMode, StreamCallbacks, StreamProcessor } from './client/index.js';
|
|
10
11
|
export { SDK_STORAGE_KEYS, SdkStore, StorageDriver, createDiscoveryAdapterFromStore, createIndexedDBDriver, createMemoryDriver, createProviderRegistryFromStore, createSdkStore, createSqliteDriver, createStorageAdapterFromStore, getDefaultDiscoveryAdapter, getDefaultProviderRegistry, getDefaultSdkDriver, getDefaultSdkStore, getDefaultStorageAdapter, localStorageDriver } from './storage/index.js';
|
|
11
12
|
import 'zustand/vanilla';
|
|
12
13
|
|
|
@@ -141,6 +142,8 @@ interface RouteRequestOptions {
|
|
|
141
142
|
forceRefresh?: boolean;
|
|
142
143
|
/** Optional: pre-initialized ModelManager (skips bootstrap if provided) */
|
|
143
144
|
modelManager?: ModelManager;
|
|
145
|
+
/** Optional: set RoutstrClient debug level */
|
|
146
|
+
debugLevel?: DebugLevel;
|
|
144
147
|
}
|
|
145
148
|
/**
|
|
146
149
|
* Result from routeRequests function
|
|
@@ -179,4 +182,4 @@ interface RouteRequestResult {
|
|
|
179
182
|
*/
|
|
180
183
|
declare function routeRequests(options: RouteRequestOptions): Promise<Response>;
|
|
181
184
|
|
|
182
|
-
export { DiscoveryAdapter, FailoverError, InsufficientBalanceError, MintDiscoveryError, MintUnreachableError, Model, ModelManager, ModelNotFoundError, NoProvidersAvailableError, ProviderBootstrapError, type ProviderDirectoryEntry, ProviderError, ProviderRegistry, type RouteRequestOptions, type RouteRequestResult, StorageAdapter, StreamingError, TokenOperationError, WalletAdapter, filterBaseUrlsForTor, getProviderEndpoints, isOnionUrl, isTorContext, normalizeProviderUrl, routeRequests };
|
|
185
|
+
export { DebugLevel, DiscoveryAdapter, FailoverError, InsufficientBalanceError, MintDiscoveryError, MintUnreachableError, Model, ModelManager, ModelNotFoundError, NoProvidersAvailableError, ProviderBootstrapError, type ProviderDirectoryEntry, ProviderError, ProviderRegistry, type RouteRequestOptions, type RouteRequestResult, StorageAdapter, StreamingError, TokenOperationError, WalletAdapter, filterBaseUrlsForTor, getProviderEndpoints, isOnionUrl, isTorContext, normalizeProviderUrl, routeRequests };
|
package/dist/index.js
CHANGED
|
@@ -1316,6 +1316,9 @@ var BalanceManager = class {
|
|
|
1316
1316
|
fetchResult.token
|
|
1317
1317
|
);
|
|
1318
1318
|
const totalAmountMsat = receiveResult.unit === "msat" ? receiveResult.amount : receiveResult.amount * 1e3;
|
|
1319
|
+
if (receiveResult.success) {
|
|
1320
|
+
this.storageAdapter.removeApiKey(baseUrl);
|
|
1321
|
+
}
|
|
1319
1322
|
return {
|
|
1320
1323
|
success: receiveResult.success,
|
|
1321
1324
|
refundedAmount: totalAmountMsat,
|
|
@@ -2452,7 +2455,7 @@ var ProviderManager = class {
|
|
|
2452
2455
|
};
|
|
2453
2456
|
|
|
2454
2457
|
// client/RoutstrClient.ts
|
|
2455
|
-
var TOPUP_MARGIN =
|
|
2458
|
+
var TOPUP_MARGIN = 1.2;
|
|
2456
2459
|
var RoutstrClient = class {
|
|
2457
2460
|
constructor(walletAdapter, storageAdapter, providerRegistry, alertLevel, mode = "xcashu") {
|
|
2458
2461
|
this.walletAdapter = walletAdapter;
|
|
@@ -2739,12 +2742,14 @@ var RoutstrClient = class {
|
|
|
2739
2742
|
try {
|
|
2740
2743
|
const url = `${baseUrl.replace(/\/$/, "")}${path}`;
|
|
2741
2744
|
if (this.mode === "xcashu") this._log("DEBUG", "HEADERS,", headers);
|
|
2745
|
+
this._log("DEBUG", "HEADERS,", headers);
|
|
2742
2746
|
const response = await fetch(url, {
|
|
2743
2747
|
method,
|
|
2744
2748
|
headers,
|
|
2745
2749
|
body: body === void 0 || method === "GET" ? void 0 : JSON.stringify(body)
|
|
2746
2750
|
});
|
|
2747
2751
|
if (this.mode === "xcashu") this._log("DEBUG", "response,", response);
|
|
2752
|
+
this._log("DEBUG", "response,", response);
|
|
2748
2753
|
response.baseUrl = baseUrl;
|
|
2749
2754
|
response.token = token;
|
|
2750
2755
|
if (!response.ok) {
|
|
@@ -2851,6 +2856,7 @@ var RoutstrClient = class {
|
|
|
2851
2856
|
}
|
|
2852
2857
|
}
|
|
2853
2858
|
if ((status === 402 || status === 413 && responseBody?.includes("Insufficient balance")) && !tryNextProvider && (this.mode === "apikeys" || this.mode === "lazyrefund")) {
|
|
2859
|
+
console.log("RESPONSFE ", responseBody);
|
|
2854
2860
|
const topupResult = await this.balanceManager.topUp({
|
|
2855
2861
|
mintUrl,
|
|
2856
2862
|
baseUrl,
|
|
@@ -2953,8 +2959,6 @@ var RoutstrClient = class {
|
|
|
2953
2959
|
status,
|
|
2954
2960
|
refundResult.message ?? "Unknown error"
|
|
2955
2961
|
);
|
|
2956
|
-
} else {
|
|
2957
|
-
this.storageAdapter.removeApiKey(baseUrl);
|
|
2958
2962
|
}
|
|
2959
2963
|
}
|
|
2960
2964
|
}
|
|
@@ -3053,7 +3057,11 @@ var RoutstrClient = class {
|
|
|
3053
3057
|
baseUrl
|
|
3054
3058
|
);
|
|
3055
3059
|
const latestTokenBalance = latestBalanceInfo.unit === "msat" ? latestBalanceInfo.amount / 1e3 : latestBalanceInfo.amount;
|
|
3056
|
-
this.storageAdapter.
|
|
3060
|
+
const storedApiKeyEntry = this.storageAdapter.getApiKey(baseUrl);
|
|
3061
|
+
if (storedApiKeyEntry?.key.startsWith("cashu") && latestBalanceInfo.apiKey) {
|
|
3062
|
+
this.storageAdapter.removeApiKey(baseUrl);
|
|
3063
|
+
this.storageAdapter.setApiKey(baseUrl, latestBalanceInfo.apiKey);
|
|
3064
|
+
}
|
|
3057
3065
|
this.storageAdapter.updateApiKeyBalance(baseUrl, latestTokenBalance);
|
|
3058
3066
|
satsSpent = initialTokenBalance - latestTokenBalance;
|
|
3059
3067
|
} catch (e) {
|
|
@@ -4215,7 +4223,8 @@ async function routeRequests(options) {
|
|
|
4215
4223
|
includeProviderUrls = [],
|
|
4216
4224
|
torMode = false,
|
|
4217
4225
|
forceRefresh = false,
|
|
4218
|
-
modelManager: providedModelManager
|
|
4226
|
+
modelManager: providedModelManager,
|
|
4227
|
+
debugLevel
|
|
4219
4228
|
} = options;
|
|
4220
4229
|
let modelManager;
|
|
4221
4230
|
let providers;
|
|
@@ -4282,6 +4291,9 @@ async function routeRequests(options) {
|
|
|
4282
4291
|
alertLevel,
|
|
4283
4292
|
"apikeys"
|
|
4284
4293
|
);
|
|
4294
|
+
if (debugLevel) {
|
|
4295
|
+
client.setDebugLevel(debugLevel);
|
|
4296
|
+
}
|
|
4285
4297
|
const maxTokens = extractMaxTokens(requestBody);
|
|
4286
4298
|
const stream = extractStream(requestBody);
|
|
4287
4299
|
let response = null;
|