@routstr/sdk 0.2.4 → 0.2.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/README.md +9 -0
- package/dist/client/index.d.mts +21 -8
- package/dist/client/index.d.ts +21 -8
- package/dist/client/index.js +1379 -54
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +1379 -55
- package/dist/client/index.mjs.map +1 -1
- package/dist/discovery/index.d.mts +2 -2
- package/dist/discovery/index.d.ts +2 -2
- package/dist/discovery/index.js +1 -4
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/index.mjs +1 -4
- package/dist/discovery/index.mjs.map +1 -1
- package/dist/index.d.mts +15 -19
- package/dist/index.d.ts +15 -19
- package/dist/index.js +2671 -1872
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2666 -1873
- package/dist/index.mjs.map +1 -1
- package/dist/{interfaces-DGdP8fQp.d.mts → interfaces-BWJJTCXO.d.mts} +1 -1
- package/dist/{interfaces-CC0LT9p9.d.ts → interfaces-BxDEka72.d.ts} +1 -1
- package/dist/{interfaces-B85Wx7ni.d.mts → interfaces-C6Dr6hKy.d.mts} +1 -1
- package/dist/{interfaces-BVNyAmKu.d.ts → interfaces-CluftN4z.d.ts} +1 -1
- package/dist/storage/index.d.mts +56 -34
- package/dist/storage/index.d.ts +56 -34
- package/dist/storage/index.js +500 -51
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/index.mjs +497 -52
- package/dist/storage/index.mjs.map +1 -1
- package/dist/{types-BlHjmWRK.d.mts → types-BYj_8c5c.d.mts} +3 -0
- package/dist/{types-BlHjmWRK.d.ts → types-BYj_8c5c.d.ts} +3 -0
- package/dist/wallet/index.d.mts +9 -5
- package/dist/wallet/index.d.ts +9 -5
- package/dist/wallet/index.js +27 -7
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/index.mjs +27 -7
- package/dist/wallet/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,10 +25,19 @@ This SDK lives under `sdk/` and exposes a framework-agnostic surface for Routstr
|
|
|
25
25
|
- `sdk/storage/index.ts` exposes:
|
|
26
26
|
- `getDefaultSdkDriver()` (localStorage -> sqlite -> memory)
|
|
27
27
|
- `getDefaultSdkStore()`
|
|
28
|
+
- `getDefaultUsageTrackingDriver()`
|
|
28
29
|
- `getDefaultDiscoveryAdapter()`
|
|
29
30
|
- `getDefaultStorageAdapter()`
|
|
30
31
|
- `getDefaultProviderRegistry()`
|
|
31
32
|
|
|
33
|
+
Usage tracking is now stored separately from the Zustand-backed SDK state:
|
|
34
|
+
|
|
35
|
+
- browser: IndexedDB usage-tracking object store
|
|
36
|
+
- node: SQLite usage-tracking table
|
|
37
|
+
- bun/ephemeral: in-memory usage-tracking driver
|
|
38
|
+
|
|
39
|
+
The usage tracking driver also exposes `migrate()` so apps can proactively move legacy blob data into the new backend during startup instead of waiting for the first append/read operation.
|
|
40
|
+
|
|
32
41
|
## Minimal Usage
|
|
33
42
|
|
|
34
43
|
```ts
|
package/dist/client/index.d.mts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { M as Model, a as Message, T as TransactionHistory, l as StreamingResult } from '../types-
|
|
2
|
-
import { P as ProviderRegistry, W as WalletAdapter, S as StorageAdapter, a as StreamingCallbacks } from '../interfaces-
|
|
1
|
+
import { M as Model, a as Message, T as TransactionHistory, l as StreamingResult } from '../types-BYj_8c5c.mjs';
|
|
2
|
+
import { P as ProviderRegistry, W as WalletAdapter, S as StorageAdapter, a as StreamingCallbacks } from '../interfaces-C6Dr6hKy.mjs';
|
|
3
|
+
import { ServerResponse } from 'http';
|
|
3
4
|
import { CashuSpender, BalanceManager } from '../wallet/index.mjs';
|
|
5
|
+
import { Transform } from 'stream';
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* ProviderManager - Handles provider selection and failover logic
|
|
@@ -172,6 +174,9 @@ interface RouteRequestParams {
|
|
|
172
174
|
mintUrl: string;
|
|
173
175
|
modelId?: string;
|
|
174
176
|
}
|
|
177
|
+
interface RouteRequestToNodeResponseParams extends RouteRequestParams {
|
|
178
|
+
res: ServerResponse;
|
|
179
|
+
}
|
|
175
180
|
declare class RoutstrClient {
|
|
176
181
|
private walletAdapter;
|
|
177
182
|
private storageAdapter;
|
|
@@ -216,6 +221,8 @@ declare class RoutstrClient {
|
|
|
216
221
|
* requests and get responses back.
|
|
217
222
|
*/
|
|
218
223
|
routeRequest(params: RouteRequestParams): Promise<Response>;
|
|
224
|
+
routeRequestToNodeResponse(params: RouteRequestToNodeResponseParams): Promise<void>;
|
|
225
|
+
private _prepareRoutedRequest;
|
|
219
226
|
/**
|
|
220
227
|
* Fetch AI response with streaming
|
|
221
228
|
*/
|
|
@@ -232,6 +239,7 @@ declare class RoutstrClient {
|
|
|
232
239
|
* Handle post-response balance update for all modes
|
|
233
240
|
*/
|
|
234
241
|
private _handlePostResponseBalanceUpdate;
|
|
242
|
+
private _trackResponseUsage;
|
|
235
243
|
/**
|
|
236
244
|
* Convert messages for API format
|
|
237
245
|
*/
|
|
@@ -240,11 +248,6 @@ declare class RoutstrClient {
|
|
|
240
248
|
* Create assistant message from streaming result
|
|
241
249
|
*/
|
|
242
250
|
private _createAssistantMessage;
|
|
243
|
-
/**
|
|
244
|
-
* Create a child key for a parent API key via the provider's API
|
|
245
|
-
* POST /v1/balance/child-key
|
|
246
|
-
*/
|
|
247
|
-
private _createChildKey;
|
|
248
251
|
/**
|
|
249
252
|
* Calculate estimated costs from usage
|
|
250
253
|
*/
|
|
@@ -333,4 +336,14 @@ declare class StreamProcessor {
|
|
|
333
336
|
private _mergeImages;
|
|
334
337
|
}
|
|
335
338
|
|
|
336
|
-
|
|
339
|
+
interface UsageTrackingData {
|
|
340
|
+
promptTokens: number;
|
|
341
|
+
completionTokens: number;
|
|
342
|
+
totalTokens: number;
|
|
343
|
+
cost: number;
|
|
344
|
+
satsCost: number;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
declare function createSSEParserTransform(onUsage: (usage: UsageTrackingData) => void, onResponseId?: (responseId: string) => void): Transform;
|
|
348
|
+
|
|
349
|
+
export { type AlertLevel, type DebugLevel, type FetchOptions, type ModelProviderPrice, ProviderManager, type RouteRequestParams, type RouteRequestToNodeResponseParams, RoutstrClient, type RoutstrClientMode, type StreamCallbacks, StreamProcessor, createSSEParserTransform };
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { M as Model, a as Message, T as TransactionHistory, l as StreamingResult } from '../types-
|
|
2
|
-
import { P as ProviderRegistry, W as WalletAdapter, S as StorageAdapter, a as StreamingCallbacks } from '../interfaces-
|
|
1
|
+
import { M as Model, a as Message, T as TransactionHistory, l as StreamingResult } from '../types-BYj_8c5c.js';
|
|
2
|
+
import { P as ProviderRegistry, W as WalletAdapter, S as StorageAdapter, a as StreamingCallbacks } from '../interfaces-CluftN4z.js';
|
|
3
|
+
import { ServerResponse } from 'http';
|
|
3
4
|
import { CashuSpender, BalanceManager } from '../wallet/index.js';
|
|
5
|
+
import { Transform } from 'stream';
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* ProviderManager - Handles provider selection and failover logic
|
|
@@ -172,6 +174,9 @@ interface RouteRequestParams {
|
|
|
172
174
|
mintUrl: string;
|
|
173
175
|
modelId?: string;
|
|
174
176
|
}
|
|
177
|
+
interface RouteRequestToNodeResponseParams extends RouteRequestParams {
|
|
178
|
+
res: ServerResponse;
|
|
179
|
+
}
|
|
175
180
|
declare class RoutstrClient {
|
|
176
181
|
private walletAdapter;
|
|
177
182
|
private storageAdapter;
|
|
@@ -216,6 +221,8 @@ declare class RoutstrClient {
|
|
|
216
221
|
* requests and get responses back.
|
|
217
222
|
*/
|
|
218
223
|
routeRequest(params: RouteRequestParams): Promise<Response>;
|
|
224
|
+
routeRequestToNodeResponse(params: RouteRequestToNodeResponseParams): Promise<void>;
|
|
225
|
+
private _prepareRoutedRequest;
|
|
219
226
|
/**
|
|
220
227
|
* Fetch AI response with streaming
|
|
221
228
|
*/
|
|
@@ -232,6 +239,7 @@ declare class RoutstrClient {
|
|
|
232
239
|
* Handle post-response balance update for all modes
|
|
233
240
|
*/
|
|
234
241
|
private _handlePostResponseBalanceUpdate;
|
|
242
|
+
private _trackResponseUsage;
|
|
235
243
|
/**
|
|
236
244
|
* Convert messages for API format
|
|
237
245
|
*/
|
|
@@ -240,11 +248,6 @@ declare class RoutstrClient {
|
|
|
240
248
|
* Create assistant message from streaming result
|
|
241
249
|
*/
|
|
242
250
|
private _createAssistantMessage;
|
|
243
|
-
/**
|
|
244
|
-
* Create a child key for a parent API key via the provider's API
|
|
245
|
-
* POST /v1/balance/child-key
|
|
246
|
-
*/
|
|
247
|
-
private _createChildKey;
|
|
248
251
|
/**
|
|
249
252
|
* Calculate estimated costs from usage
|
|
250
253
|
*/
|
|
@@ -333,4 +336,14 @@ declare class StreamProcessor {
|
|
|
333
336
|
private _mergeImages;
|
|
334
337
|
}
|
|
335
338
|
|
|
336
|
-
|
|
339
|
+
interface UsageTrackingData {
|
|
340
|
+
promptTokens: number;
|
|
341
|
+
completionTokens: number;
|
|
342
|
+
totalTokens: number;
|
|
343
|
+
cost: number;
|
|
344
|
+
satsCost: number;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
declare function createSSEParserTransform(onUsage: (usage: UsageTrackingData) => void, onResponseId?: (responseId: string) => void): Transform;
|
|
348
|
+
|
|
349
|
+
export { type AlertLevel, type DebugLevel, type FetchOptions, type ModelProviderPrice, ProviderManager, type RouteRequestParams, type RouteRequestToNodeResponseParams, RoutstrClient, type RoutstrClientMode, type StreamCallbacks, StreamProcessor, createSSEParserTransform };
|