@routstr/sdk 0.2.6 → 0.2.7
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.d.mts +16 -2
- package/dist/client/index.d.ts +16 -2
- package/dist/client/index.js +276 -37
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +276 -37
- package/dist/client/index.mjs.map +1 -1
- package/dist/discovery/index.js +1 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/index.mjs +1 -1
- package/dist/discovery/index.mjs.map +1 -1
- package/dist/index.d.mts +9 -5
- package/dist/index.d.ts +9 -5
- package/dist/index.js +281 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +281 -41
- package/dist/index.mjs.map +1 -1
- package/dist/storage/index.d.mts +5 -2
- package/dist/storage/index.d.ts +5 -2
- package/dist/storage/index.js +95 -4
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/index.mjs +95 -4
- package/dist/storage/index.mjs.map +1 -1
- package/dist/{store-C5lnyX8k.d.mts → store-DGeLPv9E.d.mts} +21 -0
- package/dist/{store-BJlwiDX5.d.ts → store-h7m23ffq.d.ts} +21 -0
- package/dist/wallet/index.d.mts +10 -4
- package/dist/wallet/index.d.ts +10 -4
- package/dist/wallet/index.js +45 -24
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/index.mjs +45 -24
- package/dist/wallet/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/storage/index.mjs
CHANGED
|
@@ -353,7 +353,10 @@ var SDK_STORAGE_KEYS = {
|
|
|
353
353
|
LAST_ROUTSTR21_MODELS_UPDATE: "lastRoutstr21ModelsUpdate",
|
|
354
354
|
CACHED_RECEIVE_TOKENS: "cached_receive_tokens",
|
|
355
355
|
USAGE_TRACKING: "usage_tracking",
|
|
356
|
-
CLIENT_IDS: "client_ids"
|
|
356
|
+
CLIENT_IDS: "client_ids",
|
|
357
|
+
FAILED_PROVIDERS: "failed_providers",
|
|
358
|
+
LAST_FAILED: "last_failed",
|
|
359
|
+
PROVIDERS_ON_COOLDOWN: "providers_on_cooldown"
|
|
357
360
|
};
|
|
358
361
|
|
|
359
362
|
// storage/usageTracking/indexedDB.ts
|
|
@@ -1000,6 +1003,9 @@ var createEmptyStore = (driver) => createStore((set, get) => ({
|
|
|
1000
1003
|
lastRoutstr21ModelsUpdate: null,
|
|
1001
1004
|
cachedReceiveTokens: [],
|
|
1002
1005
|
clientIds: [],
|
|
1006
|
+
failedProviders: [],
|
|
1007
|
+
lastFailed: {},
|
|
1008
|
+
providersOnCooldown: [],
|
|
1003
1009
|
setModelsFromAllProviders: (value) => {
|
|
1004
1010
|
const normalized = {};
|
|
1005
1011
|
for (const [baseUrl, models] of Object.entries(value)) {
|
|
@@ -1139,6 +1145,71 @@ var createEmptyStore = (driver) => createStore((set, get) => ({
|
|
|
1139
1145
|
void driver.setItem(SDK_STORAGE_KEYS.CLIENT_IDS, normalized);
|
|
1140
1146
|
return { clientIds: normalized };
|
|
1141
1147
|
});
|
|
1148
|
+
},
|
|
1149
|
+
// ========== Failure Tracking ==========
|
|
1150
|
+
setFailedProviders: (value) => {
|
|
1151
|
+
const normalized = value.map((url) => normalizeBaseUrl5(url));
|
|
1152
|
+
void driver.setItem(SDK_STORAGE_KEYS.FAILED_PROVIDERS, normalized);
|
|
1153
|
+
set({ failedProviders: normalized });
|
|
1154
|
+
},
|
|
1155
|
+
addFailedProvider: (baseUrl) => {
|
|
1156
|
+
const normalized = normalizeBaseUrl5(baseUrl);
|
|
1157
|
+
const current = get().failedProviders;
|
|
1158
|
+
if (!current.includes(normalized)) {
|
|
1159
|
+
const updated = [...current, normalized];
|
|
1160
|
+
void driver.setItem(SDK_STORAGE_KEYS.FAILED_PROVIDERS, updated);
|
|
1161
|
+
set({ failedProviders: updated });
|
|
1162
|
+
}
|
|
1163
|
+
},
|
|
1164
|
+
removeFailedProvider: (baseUrl) => {
|
|
1165
|
+
const normalized = normalizeBaseUrl5(baseUrl);
|
|
1166
|
+
const current = get().failedProviders;
|
|
1167
|
+
const updated = current.filter((url) => url !== normalized);
|
|
1168
|
+
void driver.setItem(SDK_STORAGE_KEYS.FAILED_PROVIDERS, updated);
|
|
1169
|
+
set({ failedProviders: updated });
|
|
1170
|
+
},
|
|
1171
|
+
setLastFailed: (value) => {
|
|
1172
|
+
const normalized = {};
|
|
1173
|
+
for (const [baseUrl, timestamp] of Object.entries(value)) {
|
|
1174
|
+
normalized[normalizeBaseUrl5(baseUrl)] = timestamp;
|
|
1175
|
+
}
|
|
1176
|
+
void driver.setItem(SDK_STORAGE_KEYS.LAST_FAILED, normalized);
|
|
1177
|
+
set({ lastFailed: normalized });
|
|
1178
|
+
},
|
|
1179
|
+
setLastFailedTimestamp: (baseUrl, timestamp) => {
|
|
1180
|
+
const normalized = normalizeBaseUrl5(baseUrl);
|
|
1181
|
+
const current = get().lastFailed;
|
|
1182
|
+
const updated = { ...current, [normalized]: timestamp };
|
|
1183
|
+
void driver.setItem(SDK_STORAGE_KEYS.LAST_FAILED, updated);
|
|
1184
|
+
set({ lastFailed: updated });
|
|
1185
|
+
},
|
|
1186
|
+
setProvidersOnCooldown: (value) => {
|
|
1187
|
+
const normalized = value.map((entry) => ({
|
|
1188
|
+
baseUrl: normalizeBaseUrl5(entry.baseUrl),
|
|
1189
|
+
timestamp: entry.timestamp
|
|
1190
|
+
}));
|
|
1191
|
+
void driver.setItem(SDK_STORAGE_KEYS.PROVIDERS_ON_COOLDOWN, normalized);
|
|
1192
|
+
set({ providersOnCooldown: normalized });
|
|
1193
|
+
},
|
|
1194
|
+
addProviderOnCooldown: (baseUrl, timestamp) => {
|
|
1195
|
+
const normalized = normalizeBaseUrl5(baseUrl);
|
|
1196
|
+
const current = get().providersOnCooldown;
|
|
1197
|
+
if (!current.some((entry) => entry.baseUrl === normalized)) {
|
|
1198
|
+
const updated = [...current, { baseUrl: normalized, timestamp }];
|
|
1199
|
+
void driver.setItem(SDK_STORAGE_KEYS.PROVIDERS_ON_COOLDOWN, updated);
|
|
1200
|
+
set({ providersOnCooldown: updated });
|
|
1201
|
+
}
|
|
1202
|
+
},
|
|
1203
|
+
removeProviderFromCooldown: (baseUrl) => {
|
|
1204
|
+
const normalized = normalizeBaseUrl5(baseUrl);
|
|
1205
|
+
const current = get().providersOnCooldown;
|
|
1206
|
+
const updated = current.filter((entry) => entry.baseUrl !== normalized);
|
|
1207
|
+
void driver.setItem(SDK_STORAGE_KEYS.PROVIDERS_ON_COOLDOWN, updated);
|
|
1208
|
+
set({ providersOnCooldown: updated });
|
|
1209
|
+
},
|
|
1210
|
+
clearProvidersOnCooldown: () => {
|
|
1211
|
+
void driver.setItem(SDK_STORAGE_KEYS.PROVIDERS_ON_COOLDOWN, []);
|
|
1212
|
+
set({ providersOnCooldown: [] });
|
|
1142
1213
|
}
|
|
1143
1214
|
}));
|
|
1144
1215
|
var hydrateStoreFromDriver = async (store, driver) => {
|
|
@@ -1157,7 +1228,10 @@ var hydrateStoreFromDriver = async (store, driver) => {
|
|
|
1157
1228
|
rawRoutstr21Models,
|
|
1158
1229
|
rawLastRoutstr21ModelsUpdate,
|
|
1159
1230
|
rawCachedReceiveTokens,
|
|
1160
|
-
rawClientIds
|
|
1231
|
+
rawClientIds,
|
|
1232
|
+
rawFailedProviders,
|
|
1233
|
+
rawLastFailed,
|
|
1234
|
+
rawProvidersOnCooldown
|
|
1161
1235
|
] = await Promise.all([
|
|
1162
1236
|
driver.getItem(
|
|
1163
1237
|
SDK_STORAGE_KEYS.MODELS_FROM_ALL_PROVIDERS,
|
|
@@ -1188,7 +1262,10 @@ var hydrateStoreFromDriver = async (store, driver) => {
|
|
|
1188
1262
|
null
|
|
1189
1263
|
),
|
|
1190
1264
|
driver.getItem(SDK_STORAGE_KEYS.CACHED_RECEIVE_TOKENS, []),
|
|
1191
|
-
driver.getItem(SDK_STORAGE_KEYS.CLIENT_IDS, [])
|
|
1265
|
+
driver.getItem(SDK_STORAGE_KEYS.CLIENT_IDS, []),
|
|
1266
|
+
driver.getItem(SDK_STORAGE_KEYS.FAILED_PROVIDERS, []),
|
|
1267
|
+
driver.getItem(SDK_STORAGE_KEYS.LAST_FAILED, {}),
|
|
1268
|
+
driver.getItem(SDK_STORAGE_KEYS.PROVIDERS_ON_COOLDOWN, [])
|
|
1192
1269
|
]);
|
|
1193
1270
|
const modelsFromAllProviders = Object.fromEntries(
|
|
1194
1271
|
Object.entries(rawModels).map(([baseUrl, models]) => [
|
|
@@ -1256,6 +1333,17 @@ var hydrateStoreFromDriver = async (store, driver) => {
|
|
|
1256
1333
|
createdAt: entry.createdAt ?? Date.now(),
|
|
1257
1334
|
lastUsed: entry.lastUsed ?? null
|
|
1258
1335
|
}));
|
|
1336
|
+
const failedProviders = rawFailedProviders.map((url) => normalizeBaseUrl5(url));
|
|
1337
|
+
const lastFailed = Object.fromEntries(
|
|
1338
|
+
Object.entries(rawLastFailed).map(([baseUrl, timestamp]) => [
|
|
1339
|
+
normalizeBaseUrl5(baseUrl),
|
|
1340
|
+
timestamp
|
|
1341
|
+
])
|
|
1342
|
+
);
|
|
1343
|
+
const providersOnCooldown = rawProvidersOnCooldown.map((entry) => ({
|
|
1344
|
+
baseUrl: normalizeBaseUrl5(entry.baseUrl),
|
|
1345
|
+
timestamp: entry.timestamp
|
|
1346
|
+
}));
|
|
1259
1347
|
store.setState({
|
|
1260
1348
|
modelsFromAllProviders,
|
|
1261
1349
|
lastUsedModel,
|
|
@@ -1271,7 +1359,10 @@ var hydrateStoreFromDriver = async (store, driver) => {
|
|
|
1271
1359
|
routstr21Models,
|
|
1272
1360
|
lastRoutstr21ModelsUpdate,
|
|
1273
1361
|
cachedReceiveTokens,
|
|
1274
|
-
clientIds
|
|
1362
|
+
clientIds,
|
|
1363
|
+
failedProviders,
|
|
1364
|
+
lastFailed,
|
|
1365
|
+
providersOnCooldown
|
|
1275
1366
|
});
|
|
1276
1367
|
};
|
|
1277
1368
|
var createSdkStore = ({
|