@routstr/sdk 0.1.1 → 0.1.3

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.
@@ -34,6 +34,7 @@ interface WalletAdapter {
34
34
  success: boolean;
35
35
  amount: number;
36
36
  unit: "sat" | "msat";
37
+ message?: string;
37
38
  }>;
38
39
  }
39
40
  /**
@@ -97,6 +98,20 @@ interface StorageAdapter {
97
98
  removeChildKey(parentBaseUrl: string): void;
98
99
  /** Get all stored child keys */
99
100
  getAllChildKeys(): ChildKeyEntry[];
101
+ /** Get cached receive tokens (tokens that failed to receive due to mint errors) */
102
+ getCachedReceiveTokens(): Array<{
103
+ token: string;
104
+ amount: number;
105
+ unit: "sat" | "msat";
106
+ createdAt: number;
107
+ }>;
108
+ /** Set cached receive tokens */
109
+ setCachedReceiveTokens(tokens: Array<{
110
+ token: string;
111
+ amount: number;
112
+ unit: "sat" | "msat";
113
+ createdAt?: number;
114
+ }>): void;
100
115
  }
101
116
  /**
102
117
  * ProviderRegistry - Provides access to provider/model data
@@ -34,6 +34,7 @@ interface WalletAdapter {
34
34
  success: boolean;
35
35
  amount: number;
36
36
  unit: "sat" | "msat";
37
+ message?: string;
37
38
  }>;
38
39
  }
39
40
  /**
@@ -97,6 +98,20 @@ interface StorageAdapter {
97
98
  removeChildKey(parentBaseUrl: string): void;
98
99
  /** Get all stored child keys */
99
100
  getAllChildKeys(): ChildKeyEntry[];
101
+ /** Get cached receive tokens (tokens that failed to receive due to mint errors) */
102
+ getCachedReceiveTokens(): Array<{
103
+ token: string;
104
+ amount: number;
105
+ unit: "sat" | "msat";
106
+ createdAt: number;
107
+ }>;
108
+ /** Set cached receive tokens */
109
+ setCachedReceiveTokens(tokens: Array<{
110
+ token: string;
111
+ amount: number;
112
+ unit: "sat" | "msat";
113
+ createdAt?: number;
114
+ }>): void;
100
115
  }
101
116
  /**
102
117
  * ProviderRegistry - Provides access to provider/model data
@@ -87,6 +87,26 @@ interface DiscoveryAdapter {
87
87
  * @param timestamp Timestamp in milliseconds
88
88
  */
89
89
  setBaseUrlsLastUpdate(timestamp: number): void;
90
+ /**
91
+ * Get list of routstr21 models
92
+ * @returns Array of model IDs
93
+ */
94
+ getRoutstr21Models(): string[];
95
+ /**
96
+ * Save routstr21 models list
97
+ * @param models Array of model IDs
98
+ */
99
+ setRoutstr21Models(models: string[]): void;
100
+ /**
101
+ * Get routstr21 models last update timestamp
102
+ * @returns Timestamp in milliseconds or null if never updated
103
+ */
104
+ getRoutstr21ModelsLastUpdate(): number | null;
105
+ /**
106
+ * Set routstr21 models last update timestamp
107
+ * @param timestamp Timestamp in milliseconds
108
+ */
109
+ setRoutstr21ModelsLastUpdate(timestamp: number): void;
90
110
  }
91
111
 
92
112
  export type { DiscoveryAdapter as D };
@@ -87,6 +87,26 @@ interface DiscoveryAdapter {
87
87
  * @param timestamp Timestamp in milliseconds
88
88
  */
89
89
  setBaseUrlsLastUpdate(timestamp: number): void;
90
+ /**
91
+ * Get list of routstr21 models
92
+ * @returns Array of model IDs
93
+ */
94
+ getRoutstr21Models(): string[];
95
+ /**
96
+ * Save routstr21 models list
97
+ * @param models Array of model IDs
98
+ */
99
+ setRoutstr21Models(models: string[]): void;
100
+ /**
101
+ * Get routstr21 models last update timestamp
102
+ * @returns Timestamp in milliseconds or null if never updated
103
+ */
104
+ getRoutstr21ModelsLastUpdate(): number | null;
105
+ /**
106
+ * Set routstr21 models last update timestamp
107
+ * @param timestamp Timestamp in milliseconds
108
+ */
109
+ setRoutstr21ModelsLastUpdate(timestamp: number): void;
90
110
  }
91
111
 
92
112
  export type { DiscoveryAdapter as D };
@@ -1,7 +1,7 @@
1
1
  import { M as Model, P as ProviderInfo } from '../types-BlHjmWRK.mjs';
2
2
  import { StoreApi } from 'zustand/vanilla';
3
- import { D as DiscoveryAdapter } from '../interfaces-CEOwpdG0.mjs';
4
- import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-BOfiz3Tt.mjs';
3
+ import { D as DiscoveryAdapter } from '../interfaces-DGdP8fQp.mjs';
4
+ import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-B85Wx7ni.mjs';
5
5
 
6
6
  interface StorageDriver {
7
7
  getItem<T>(key: string, defaultValue: T): Promise<T>;
@@ -37,6 +37,14 @@ interface SdkStorageState {
37
37
  validityDate?: number;
38
38
  createdAt: number;
39
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
+ }>;
40
48
  }
41
49
 
42
50
  declare const localStorageDriver: StorageDriver;
@@ -82,10 +90,18 @@ interface SdkStorageStore extends SdkStorageState {
82
90
  setChildKeys: (value: Array<{
83
91
  parentBaseUrl: string;
84
92
  childKey: string;
85
- balance: number;
93
+ balance?: number;
86
94
  balanceLimit?: number;
87
95
  validityDate?: number;
88
- createdAt: number;
96
+ createdAt?: number;
97
+ }>) => void;
98
+ setRoutstr21Models: (value: string[]) => void;
99
+ setRoutstr21ModelsLastUpdate: (value: number | null) => void;
100
+ setCachedReceiveTokens: (value: Array<{
101
+ token: string;
102
+ amount: number;
103
+ unit: "sat" | "msat";
104
+ createdAt?: number;
89
105
  }>) => void;
90
106
  }
91
107
  /** Store type returned after async initialization */
@@ -107,6 +123,9 @@ declare const SDK_STORAGE_KEYS: {
107
123
  readonly LOCAL_CASHU_TOKENS: "local_cashu_tokens";
108
124
  readonly API_KEYS: "api_keys";
109
125
  readonly CHILD_KEYS: "child_keys";
126
+ readonly ROUTSTR21_MODELS: "routstr21Models";
127
+ readonly LAST_ROUTSTR21_MODELS_UPDATE: "lastRoutstr21ModelsUpdate";
128
+ readonly CACHED_RECEIVE_TOKENS: "cached_receive_tokens";
110
129
  };
111
130
 
112
131
  declare const getDefaultSdkDriver: () => StorageDriver;
@@ -1,7 +1,7 @@
1
1
  import { M as Model, P as ProviderInfo } from '../types-BlHjmWRK.js';
2
2
  import { StoreApi } from 'zustand/vanilla';
3
- import { D as DiscoveryAdapter } from '../interfaces-CW773NQv.js';
4
- import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-BbAtkq7z.js';
3
+ import { D as DiscoveryAdapter } from '../interfaces-CC0LT9p9.js';
4
+ import { P as ProviderRegistry, S as StorageAdapter } from '../interfaces-BVNyAmKu.js';
5
5
 
6
6
  interface StorageDriver {
7
7
  getItem<T>(key: string, defaultValue: T): Promise<T>;
@@ -37,6 +37,14 @@ interface SdkStorageState {
37
37
  validityDate?: number;
38
38
  createdAt: number;
39
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
+ }>;
40
48
  }
41
49
 
42
50
  declare const localStorageDriver: StorageDriver;
@@ -82,10 +90,18 @@ interface SdkStorageStore extends SdkStorageState {
82
90
  setChildKeys: (value: Array<{
83
91
  parentBaseUrl: string;
84
92
  childKey: string;
85
- balance: number;
93
+ balance?: number;
86
94
  balanceLimit?: number;
87
95
  validityDate?: number;
88
- createdAt: number;
96
+ createdAt?: number;
97
+ }>) => void;
98
+ setRoutstr21Models: (value: string[]) => void;
99
+ setRoutstr21ModelsLastUpdate: (value: number | null) => void;
100
+ setCachedReceiveTokens: (value: Array<{
101
+ token: string;
102
+ amount: number;
103
+ unit: "sat" | "msat";
104
+ createdAt?: number;
89
105
  }>) => void;
90
106
  }
91
107
  /** Store type returned after async initialization */
@@ -107,6 +123,9 @@ declare const SDK_STORAGE_KEYS: {
107
123
  readonly LOCAL_CASHU_TOKENS: "local_cashu_tokens";
108
124
  readonly API_KEYS: "api_keys";
109
125
  readonly CHILD_KEYS: "child_keys";
126
+ readonly ROUTSTR21_MODELS: "routstr21Models";
127
+ readonly LAST_ROUTSTR21_MODELS_UPDATE: "lastRoutstr21ModelsUpdate";
128
+ readonly CACHED_RECEIVE_TOKENS: "cached_receive_tokens";
110
129
  };
111
130
 
112
131
  declare const getDefaultSdkDriver: () => StorageDriver;
@@ -288,7 +288,10 @@ var SDK_STORAGE_KEYS = {
288
288
  LAST_BASE_URLS_UPDATE: "lastBaseUrlsUpdate",
289
289
  LOCAL_CASHU_TOKENS: "local_cashu_tokens",
290
290
  API_KEYS: "api_keys",
291
- CHILD_KEYS: "child_keys"
291
+ CHILD_KEYS: "child_keys",
292
+ ROUTSTR21_MODELS: "routstr21Models",
293
+ LAST_ROUTSTR21_MODELS_UPDATE: "lastRoutstr21ModelsUpdate",
294
+ CACHED_RECEIVE_TOKENS: "cached_receive_tokens"
292
295
  };
293
296
 
294
297
  // storage/store.ts
@@ -320,7 +323,10 @@ var createSdkStore = async ({
320
323
  rawLastModelsUpdate,
321
324
  rawCachedTokens,
322
325
  rawApiKeys,
323
- rawChildKeys
326
+ rawChildKeys,
327
+ rawRoutstr21Models,
328
+ rawLastRoutstr21ModelsUpdate,
329
+ rawCachedReceiveTokens
324
330
  ] = await Promise.all([
325
331
  driver.getItem(
326
332
  SDK_STORAGE_KEYS.MODELS_FROM_ALL_PROVIDERS,
@@ -344,7 +350,13 @@ var createSdkStore = async ({
344
350
  ),
345
351
  driver.getItem(SDK_STORAGE_KEYS.LOCAL_CASHU_TOKENS, []),
346
352
  driver.getItem(SDK_STORAGE_KEYS.API_KEYS, []),
347
- driver.getItem(SDK_STORAGE_KEYS.CHILD_KEYS, [])
353
+ driver.getItem(SDK_STORAGE_KEYS.CHILD_KEYS, []),
354
+ driver.getItem(SDK_STORAGE_KEYS.ROUTSTR21_MODELS, []),
355
+ driver.getItem(
356
+ SDK_STORAGE_KEYS.LAST_ROUTSTR21_MODELS_UPDATE,
357
+ null
358
+ ),
359
+ driver.getItem(SDK_STORAGE_KEYS.CACHED_RECEIVE_TOKENS, [])
348
360
  ]);
349
361
  const modelsFromAllProviders = Object.fromEntries(
350
362
  Object.entries(rawModels).map(([baseUrl, models]) => [
@@ -394,6 +406,14 @@ var createSdkStore = async ({
394
406
  validityDate: entry.validityDate,
395
407
  createdAt: entry.createdAt ?? Date.now()
396
408
  }));
409
+ const routstr21Models = rawRoutstr21Models;
410
+ const lastRoutstr21ModelsUpdate = rawLastRoutstr21ModelsUpdate;
411
+ const cachedReceiveTokens = rawCachedReceiveTokens?.map((entry) => ({
412
+ token: entry.token,
413
+ amount: entry.amount,
414
+ unit: entry.unit || "sat",
415
+ createdAt: entry.createdAt ?? Date.now()
416
+ }));
397
417
  return vanilla.createStore((set, get) => ({
398
418
  modelsFromAllProviders,
399
419
  lastUsedModel,
@@ -406,6 +426,9 @@ var createSdkStore = async ({
406
426
  cachedTokens,
407
427
  apiKeys,
408
428
  childKeys,
429
+ routstr21Models,
430
+ lastRoutstr21ModelsUpdate,
431
+ cachedReceiveTokens,
409
432
  setModelsFromAllProviders: (value) => {
410
433
  const normalized = {};
411
434
  for (const [baseUrl, models] of Object.entries(value)) {
@@ -504,6 +527,24 @@ var createSdkStore = async ({
504
527
  void driver.setItem(SDK_STORAGE_KEYS.CHILD_KEYS, normalized);
505
528
  return { childKeys: normalized };
506
529
  });
530
+ },
531
+ setRoutstr21Models: (value) => {
532
+ void driver.setItem(SDK_STORAGE_KEYS.ROUTSTR21_MODELS, value);
533
+ set({ routstr21Models: value });
534
+ },
535
+ setRoutstr21ModelsLastUpdate: (value) => {
536
+ void driver.setItem(SDK_STORAGE_KEYS.LAST_ROUTSTR21_MODELS_UPDATE, value);
537
+ set({ lastRoutstr21ModelsUpdate: value });
538
+ },
539
+ setCachedReceiveTokens: (value) => {
540
+ const normalized = value.map((entry) => ({
541
+ token: entry.token,
542
+ amount: entry.amount,
543
+ unit: entry.unit || "sat",
544
+ createdAt: entry.createdAt ?? Date.now()
545
+ }));
546
+ void driver.setItem(SDK_STORAGE_KEYS.CACHED_RECEIVE_TOKENS, normalized);
547
+ set({ cachedReceiveTokens: normalized });
507
548
  }
508
549
  }));
509
550
  };
@@ -531,7 +572,11 @@ var createDiscoveryAdapterFromStore = (store) => ({
531
572
  getBaseUrlsList: () => store.getState().baseUrlsList,
532
573
  setBaseUrlsList: (urls) => store.getState().setBaseUrlsList(urls),
533
574
  getBaseUrlsLastUpdate: () => store.getState().lastBaseUrlsUpdate,
534
- setBaseUrlsLastUpdate: (timestamp) => store.getState().setBaseUrlsLastUpdate(timestamp)
575
+ setBaseUrlsLastUpdate: (timestamp) => store.getState().setBaseUrlsLastUpdate(timestamp),
576
+ getRoutstr21Models: () => store.getState().routstr21Models,
577
+ setRoutstr21Models: (models) => store.getState().setRoutstr21Models(models),
578
+ getRoutstr21ModelsLastUpdate: () => store.getState().lastRoutstr21ModelsUpdate,
579
+ setRoutstr21ModelsLastUpdate: (timestamp) => store.getState().setRoutstr21ModelsLastUpdate(timestamp)
535
580
  });
536
581
  var createStorageAdapterFromStore = (store) => ({
537
582
  getToken: (baseUrl) => {
@@ -725,6 +770,12 @@ var createStorageAdapterFromStore = (store) => ({
725
770
  validityDate: entry.validityDate,
726
771
  createdAt: entry.createdAt
727
772
  }));
773
+ },
774
+ getCachedReceiveTokens: () => {
775
+ return store.getState().cachedReceiveTokens;
776
+ },
777
+ setCachedReceiveTokens: (tokens) => {
778
+ store.getState().setCachedReceiveTokens(tokens);
728
779
  }
729
780
  });
730
781
  var createProviderRegistryFromStore = (store) => ({