@tokenbuddy/tokenbuddy 1.0.14 → 1.0.16
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/src/buyer-store.d.ts +23 -0
- package/dist/src/buyer-store.d.ts.map +1 -1
- package/dist/src/buyer-store.js +31 -6
- package/dist/src/buyer-store.js.map +1 -1
- package/dist/src/clawtip-bootstrap.d.ts +23 -0
- package/dist/src/clawtip-bootstrap.d.ts.map +1 -0
- package/dist/src/clawtip-bootstrap.js +47 -0
- package/dist/src/clawtip-bootstrap.js.map +1 -0
- package/dist/src/cli.d.ts +24 -33
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +157 -58
- package/dist/src/cli.js.map +1 -1
- package/dist/src/daemon.d.ts +79 -1
- package/dist/src/daemon.d.ts.map +1 -1
- package/dist/src/daemon.js +1007 -23
- package/dist/src/daemon.js.map +1 -1
- package/dist/src/model-index.d.ts +1 -1
- package/dist/src/model-index.d.ts.map +1 -1
- package/dist/src/model-index.js +4 -0
- package/dist/src/model-index.js.map +1 -1
- package/dist/src/prewarm-cache.d.ts +4 -0
- package/dist/src/prewarm-cache.d.ts.map +1 -1
- package/dist/src/prewarm-cache.js +2 -1
- package/dist/src/prewarm-cache.js.map +1 -1
- package/dist/src/prewarm-scheduler.d.ts +2 -0
- package/dist/src/prewarm-scheduler.d.ts.map +1 -1
- package/dist/src/prewarm-scheduler.js +4 -2
- package/dist/src/prewarm-scheduler.js.map +1 -1
- package/dist/src/route-failover.d.ts.map +1 -1
- package/dist/src/route-failover.js +10 -0
- package/dist/src/route-failover.js.map +1 -1
- package/dist/src/seller-catalog.d.ts +17 -0
- package/dist/src/seller-catalog.d.ts.map +1 -1
- package/dist/src/seller-catalog.js +15 -1
- package/dist/src/seller-catalog.js.map +1 -1
- package/dist/src/seller-pool.d.ts +12 -1
- package/dist/src/seller-pool.d.ts.map +1 -1
- package/dist/src/seller-pool.js +61 -7
- package/dist/src/seller-pool.js.map +1 -1
- package/dist/src/seller-route-planner.d.ts +11 -1
- package/dist/src/seller-route-planner.d.ts.map +1 -1
- package/dist/src/seller-route-planner.js +21 -9
- package/dist/src/seller-route-planner.js.map +1 -1
- package/dist/src/seller-routing-config.d.ts +2 -0
- package/dist/src/seller-routing-config.d.ts.map +1 -1
- package/dist/src/seller-routing-config.js +11 -1
- package/dist/src/seller-routing-config.js.map +1 -1
- package/package.json +1 -1
- package/src/buyer-store.ts +70 -7
- package/src/clawtip-bootstrap.ts +64 -0
- package/src/cli.ts +201 -76
- package/src/daemon.ts +1159 -25
- package/src/model-index.ts +4 -1
- package/src/prewarm-cache.ts +6 -1
- package/src/prewarm-scheduler.ts +6 -2
- package/src/route-failover.ts +11 -0
- package/src/seller-catalog.ts +24 -1
- package/src/seller-pool.ts +69 -7
- package/src/seller-route-planner.ts +33 -11
- package/src/seller-routing-config.ts +14 -1
- package/static/clawtip/recharge.png +0 -0
- package/static/ui/assets/index-UMiTTeo8.css +1 -0
- package/static/ui/assets/index-YHs-Ca0f.js +206 -0
- package/static/ui/assets/index-YHs-Ca0f.js.map +1 -0
- package/static/ui/icons/apple-touch-icon.png +0 -0
- package/static/ui/icons/tokenbuddy-192.png +0 -0
- package/static/ui/icons/tokenbuddy-512.png +0 -0
- package/static/ui/index.html +21 -0
- package/static/ui/manifest.webmanifest +28 -0
- package/static/ui/sw.js +59 -0
- package/tests/control-plane-ui-endpoints.test.ts +589 -0
- package/tests/daemon-classify.test.ts +9 -0
- package/tests/model-index.test.ts +14 -0
- package/tests/route-failover.test.ts +16 -0
- package/tests/seller-catalog-utilities.test.ts +54 -0
- package/tests/seller-pool.test.ts +56 -0
- package/tests/seller-route-planner.test.ts +40 -0
- package/tests/seller-routing-config.test.ts +13 -0
- package/tests/tokenbuddy.test.ts +200 -7
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta name="theme-color" content="#07111f" />
|
|
7
|
+
<meta name="application-name" content="TokenBuddy" />
|
|
8
|
+
<meta name="apple-mobile-web-app-title" content="TokenBuddy" />
|
|
9
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
10
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
11
|
+
<link rel="manifest" href="/manifest.webmanifest" />
|
|
12
|
+
<link rel="icon" type="image/png" sizes="192x192" href="/icons/tokenbuddy-192.png" />
|
|
13
|
+
<link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" />
|
|
14
|
+
<title>TokenBuddy · Local Control</title>
|
|
15
|
+
<script type="module" crossorigin src="/assets/index-YHs-Ca0f.js"></script>
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-UMiTTeo8.css">
|
|
17
|
+
</head>
|
|
18
|
+
<body>
|
|
19
|
+
<div id="root"></div>
|
|
20
|
+
</body>
|
|
21
|
+
</html>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "/",
|
|
3
|
+
"name": "TokenBuddy Local Control",
|
|
4
|
+
"short_name": "TokenBuddy",
|
|
5
|
+
"description": "Local TokenBuddy buyer control console.",
|
|
6
|
+
"start_url": "/overview",
|
|
7
|
+
"scope": "/",
|
|
8
|
+
"display": "standalone",
|
|
9
|
+
"display_override": ["window-controls-overlay", "standalone", "minimal-ui"],
|
|
10
|
+
"background_color": "#07111f",
|
|
11
|
+
"theme_color": "#07111f",
|
|
12
|
+
"orientation": "any",
|
|
13
|
+
"categories": ["developer", "productivity", "utilities"],
|
|
14
|
+
"icons": [
|
|
15
|
+
{
|
|
16
|
+
"src": "/icons/tokenbuddy-192.png",
|
|
17
|
+
"sizes": "192x192",
|
|
18
|
+
"type": "image/png",
|
|
19
|
+
"purpose": "any maskable"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"src": "/icons/tokenbuddy-512.png",
|
|
23
|
+
"sizes": "512x512",
|
|
24
|
+
"type": "image/png",
|
|
25
|
+
"purpose": "any maskable"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
package/static/ui/sw.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const CACHE_NAME = "tokenbuddy-ui-v1";
|
|
2
|
+
const APP_SHELL = [
|
|
3
|
+
"/",
|
|
4
|
+
"/overview",
|
|
5
|
+
"/manifest.webmanifest",
|
|
6
|
+
"/icons/tokenbuddy-192.png",
|
|
7
|
+
"/icons/tokenbuddy-512.png",
|
|
8
|
+
"/icons/apple-touch-icon.png"
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
self.addEventListener("install", (event) => {
|
|
12
|
+
event.waitUntil(
|
|
13
|
+
caches.open(CACHE_NAME).then((cache) => cache.addAll(APP_SHELL))
|
|
14
|
+
);
|
|
15
|
+
self.skipWaiting();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
self.addEventListener("activate", (event) => {
|
|
19
|
+
event.waitUntil(
|
|
20
|
+
caches.keys().then((keys) =>
|
|
21
|
+
Promise.all(keys.filter((key) => key !== CACHE_NAME).map((key) => caches.delete(key)))
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
self.clients.claim();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
self.addEventListener("fetch", (event) => {
|
|
28
|
+
const { request } = event;
|
|
29
|
+
if (request.method !== "GET") {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const url = new URL(request.url);
|
|
34
|
+
if (url.origin !== self.location.origin) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (request.mode === "navigate") {
|
|
39
|
+
event.respondWith(
|
|
40
|
+
fetch(request).catch(() => caches.match("/overview").then((response) => response || caches.match("/")))
|
|
41
|
+
);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (url.pathname.startsWith("/assets/") || url.pathname.startsWith("/icons/") || url.pathname === "/manifest.webmanifest") {
|
|
46
|
+
event.respondWith(
|
|
47
|
+
caches.match(request).then((cached) => {
|
|
48
|
+
if (cached) {
|
|
49
|
+
return cached;
|
|
50
|
+
}
|
|
51
|
+
return fetch(request).then((response) => {
|
|
52
|
+
const copy = response.clone();
|
|
53
|
+
caches.open(CACHE_NAME).then((cache) => cache.put(request, copy));
|
|
54
|
+
return response;
|
|
55
|
+
});
|
|
56
|
+
})
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
});
|