@juliantanx/aiusage 1.0.6 → 1.1.0
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 +8 -5
- package/dist/index.js +1 -1
- package/dist/web/_app/immutable/assets/0.VBArfZAW.css +1 -0
- package/dist/web/_app/immutable/assets/11.D5bUq0yE.css +1 -0
- package/dist/web/_app/immutable/assets/12.BA90S8v7.css +1 -0
- package/dist/web/_app/immutable/assets/3.DwwXF_G1.css +1 -0
- package/dist/web/_app/immutable/assets/4.Dec4y3Rk.css +1 -0
- package/dist/web/_app/immutable/assets/5.DM2hVWjt.css +1 -0
- package/dist/web/_app/immutable/assets/6.NdKfVCiG.css +1 -0
- package/dist/web/_app/immutable/assets/7.CeV8yHSX.css +1 -0
- package/dist/web/_app/immutable/assets/8.BCdjuhVX.css +1 -0
- package/dist/web/_app/immutable/assets/9.ClvwkhDe.css +1 -0
- package/dist/web/_app/immutable/assets/_layout.DSAoTzJ2.css +1 -0
- package/dist/web/_app/immutable/assets/_page.BA90S8v7.css +1 -0
- package/dist/web/_app/immutable/assets/_page.BCdjuhVX.css +1 -0
- package/dist/web/_app/immutable/assets/_page.CeV8yHSX.css +1 -0
- package/dist/web/_app/immutable/assets/_page.ClvwkhDe.css +1 -0
- package/dist/web/_app/immutable/assets/_page.D5bUq0yE.css +1 -0
- package/dist/web/_app/immutable/assets/_page.DM2hVWjt.css +1 -0
- package/dist/web/_app/immutable/assets/_page.Dec4y3Rk.css +1 -0
- package/dist/web/_app/immutable/assets/_page.DwwXF_G1.css +1 -0
- package/dist/web/_app/immutable/assets/_page.NdKfVCiG.css +1 -0
- package/dist/web/_app/immutable/chunks/ToolSelector.DBA69ls-.js +2 -0
- package/dist/web/_app/immutable/chunks/api.Cv9iCeAW.js +1 -0
- package/dist/web/_app/immutable/chunks/entry.rQf9wfsR.js +3 -0
- package/dist/web/_app/immutable/chunks/i18n.CrmYDWvg.js +1 -0
- package/dist/web/_app/immutable/chunks/{stores.Cp39aUQW.js → stores.LwWmHglO.js} +1 -1
- package/dist/web/_app/immutable/entry/app.Cllvcs6u.js +2 -0
- package/dist/web/_app/immutable/entry/start.CPve6dv-.js +1 -0
- package/dist/web/_app/immutable/nodes/0.BPA3Ag-N.js +1 -0
- package/dist/web/_app/immutable/nodes/{1.Cp66IFeL.js → 1.pvmAynb7.js} +1 -1
- package/dist/web/_app/immutable/nodes/10.Jb_wogsG.js +1 -0
- package/dist/web/_app/immutable/nodes/11.DBXRH-Pv.js +1 -0
- package/dist/web/_app/immutable/nodes/12.CW90mvWi.js +1 -0
- package/dist/web/_app/immutable/nodes/{2.C_8jrQsV.js → 2.CQudsTBz.js} +2 -2
- package/dist/web/_app/immutable/nodes/3.Dj6kNwjm.js +1 -0
- package/dist/web/_app/immutable/nodes/4.C8nxZ9Vo.js +11 -0
- package/dist/web/_app/immutable/nodes/5.yl3PlP-P.js +1 -0
- package/dist/web/_app/immutable/nodes/6.UARXHK2e.js +1 -0
- package/dist/web/_app/immutable/nodes/7.B2wRNntO.js +1 -0
- package/dist/web/_app/immutable/nodes/8.CVHaFhS0.js +1 -0
- package/dist/web/_app/immutable/nodes/9.BMmvuct0.js +1 -0
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +6 -6
- package/package.json +2 -2
- package/dist/web/_app/immutable/assets/0.DDbFsqNI.css +0 -1
- package/dist/web/_app/immutable/assets/10.BcbNCOTS.css +0 -1
- package/dist/web/_app/immutable/assets/11.QhlpTtkf.css +0 -1
- package/dist/web/_app/immutable/assets/3.BmO4KrOR.css +0 -1
- package/dist/web/_app/immutable/assets/4.TAVgUi8b.css +0 -1
- package/dist/web/_app/immutable/assets/5.I4bgY8QS.css +0 -1
- package/dist/web/_app/immutable/assets/6.BeDwa7mS.css +0 -1
- package/dist/web/_app/immutable/assets/7.BYQidWiw.css +0 -1
- package/dist/web/_app/immutable/assets/8.9sovMx-u.css +0 -1
- package/dist/web/_app/immutable/assets/_layout.RgD-pTKj.css +0 -1
- package/dist/web/_app/immutable/assets/_page.9sovMx-u.css +0 -1
- package/dist/web/_app/immutable/assets/_page.BYQidWiw.css +0 -1
- package/dist/web/_app/immutable/assets/_page.BcbNCOTS.css +0 -1
- package/dist/web/_app/immutable/assets/_page.BeDwa7mS.css +0 -1
- package/dist/web/_app/immutable/assets/_page.BmO4KrOR.css +0 -1
- package/dist/web/_app/immutable/assets/_page.I4bgY8QS.css +0 -1
- package/dist/web/_app/immutable/assets/_page.QhlpTtkf.css +0 -1
- package/dist/web/_app/immutable/assets/_page.TAVgUi8b.css +0 -1
- package/dist/web/_app/immutable/chunks/ToolSelector.DIzQsA4_.js +0 -2
- package/dist/web/_app/immutable/chunks/api.D-M_rVlI.js +0 -1
- package/dist/web/_app/immutable/chunks/entry.x1b0D3rq.js +0 -3
- package/dist/web/_app/immutable/entry/app.C-fwEHF5.js +0 -2
- package/dist/web/_app/immutable/entry/start.CP0TvF1t.js +0 -1
- package/dist/web/_app/immutable/nodes/0.7Ydb_jS_.js +0 -1
- package/dist/web/_app/immutable/nodes/10.1LgqVOtM.js +0 -1
- package/dist/web/_app/immutable/nodes/11.BOfGogcw.js +0 -1
- package/dist/web/_app/immutable/nodes/3.Lz_pbSpS.js +0 -1
- package/dist/web/_app/immutable/nodes/4.BCB36ta_.js +0 -1
- package/dist/web/_app/immutable/nodes/5.CykeLKzi.js +0 -1
- package/dist/web/_app/immutable/nodes/6.De73932o.js +0 -1
- package/dist/web/_app/immutable/nodes/7.6OEKXCWR.js +0 -1
- package/dist/web/_app/immutable/nodes/8.niqPZkB9.js +0 -1
- package/dist/web/_app/immutable/nodes/9.DRZSbXAV.js +0 -1
- /package/dist/web/_app/immutable/assets/{9.Doxq00gF.css → 10.Doxq00gF.css} +0 -0
package/README.md
CHANGED
|
@@ -57,11 +57,13 @@ pnpm build
|
|
|
57
57
|
|
|
58
58
|
</details>
|
|
59
59
|
|
|
60
|
-
##
|
|
60
|
+
## Screenshots
|
|
61
61
|
|
|
62
|
-

|
|
63
63
|
|
|
64
|
-
|
|
64
|
+

|
|
65
|
+
|
|
66
|
+

|
|
65
67
|
|
|
66
68
|
## Common Commands
|
|
67
69
|
|
|
@@ -85,11 +87,11 @@ aiusage serve
|
|
|
85
87
|
# Open http://localhost:3847
|
|
86
88
|
```
|
|
87
89
|
|
|
88
|
-
`aiusage serve` hosts
|
|
90
|
+
`aiusage serve` hosts the following dashboard pages:
|
|
89
91
|
|
|
90
92
|
- **Home (`/`)** — live counter homepage. On first load it calls `/api/refresh`, runs one incremental local parse, then loads summary data. After that, it refreshes on the configured dashboard poll interval.
|
|
91
93
|
- **Overview (`/overview`)** — totals, cost, active days, and per-tool breakdowns for Today, This Week, This Month, Last 30d, or All Time.
|
|
92
|
-
- **Tokens** — token usage trends over time.
|
|
94
|
+
- **Tokens** — token usage trends over time, with breakdown-by-type or combined total view.
|
|
93
95
|
- **Cost** — cost trends with by-tool and by-model breakdowns.
|
|
94
96
|
- **Models** — model share and distribution.
|
|
95
97
|
- **Tool Calls** — tool call frequency and ranking.
|
|
@@ -97,6 +99,7 @@ aiusage serve
|
|
|
97
99
|
- **Sessions** — session browsing with filters and pagination.
|
|
98
100
|
- **Pricing** — active model pricing reference.
|
|
99
101
|
- **Settings** — configure device name, week start day, dashboard poll interval, auto-parse interval, source paths, sync backend, credentials, and local data retention without editing config files manually.
|
|
102
|
+
- **Docs** — in-app documentation with CLI reference and feature guides.
|
|
100
103
|
|
|
101
104
|
**Settings behavior**
|
|
102
105
|
|
package/dist/index.js
CHANGED
|
@@ -2869,7 +2869,7 @@ function createDatabase(path2) {
|
|
|
2869
2869
|
import { join as join8 } from "path";
|
|
2870
2870
|
var DB_PATH = join8(AIUSAGE_DIR, "cache.db");
|
|
2871
2871
|
var program = new Command();
|
|
2872
|
-
program.name("aiusage").version(true ? "1.0
|
|
2872
|
+
program.name("aiusage").version(true ? "1.1.0" : "dev").description("CLI tool for AI usage statistics");
|
|
2873
2873
|
program.action(() => {
|
|
2874
2874
|
const db = createDatabase(DB_PATH);
|
|
2875
2875
|
const state = getState(AIUSAGE_DIR);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}:root,:root[data-theme=dark]{--bg-base:#0c0f17;--bg-surface:#12161f;--bg-raised:#181d2a;--bg-hover:#1e2436;--sidebar-bg:#0e111a;--border-subtle:rgba(255,255,255,.06);--border-medium:rgba(255,255,255,.11);--text-primary:#e4ecf4;--text-secondary:#8b96a8;--text-muted:#474f5c;--accent:#f0b429;--accent-dim:rgba(240,180,41,.12);--accent-glow:rgba(240,180,41,.28);--green:#2ea66a;--green-dim:rgba(46,166,106,.13);--blue:#3b82f6;--blue-dim:rgba(59,130,246,.13);--purple:#a78bfa;--purple-dim:rgba(167,139,250,.13);--rose:#f43f5e;--rose-dim:rgba(244,63,94,.13);--badge-override-bg:rgba(240,140,30,.15);--badge-override-fg:#f5a623;--badge-matched-bg:rgba(46,166,106,.13);--badge-matched-fg:#4ade80;--badge-noprice-bg:rgba(244,63,94,.13);--badge-noprice-fg:#f87171;--mono:"JetBrains Mono", monospace;--grain-opacity:.025;--sidebar-width:224px;--sidebar-collapsed:60px}:root[data-theme=light]{--bg-base:#f0f2f5;--bg-surface:#ffffff;--bg-raised:#f5f6f8;--bg-hover:#eceef1;--sidebar-bg:#f8f9fb;--border-subtle:rgba(0,0,0,.07);--border-medium:rgba(0,0,0,.13);--text-primary:#1a1d23;--text-secondary:#525968;--text-muted:#9ba3af;--accent:#c27d05;--accent-dim:rgba(194,125,5,.1);--accent-glow:rgba(194,125,5,.16);--green:#1a7f4b;--green-dim:rgba(26,127,75,.1);--blue:#2563eb;--blue-dim:rgba(37,99,235,.1);--purple:#7c3aed;--purple-dim:rgba(124,58,237,.1);--rose:#dc2626;--rose-dim:rgba(220,38,38,.1);--badge-override-bg:rgba(194,125,5,.12);--badge-override-fg:#c27d05;--badge-matched-bg:rgba(26,127,75,.12);--badge-matched-fg:#1a7f4b;--badge-noprice-bg:rgba(220,38,38,.1);--badge-noprice-fg:#dc2626;--mono:"JetBrains Mono", monospace;--grain-opacity:.01;--sidebar-width:224px;--sidebar-collapsed:60px}.grain.svelte-8wfc8x.svelte-8wfc8x{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px}.app.svelte-8wfc8x.svelte-8wfc8x{display:flex;min-height:100vh}.sidebar.svelte-8wfc8x.svelte-8wfc8x{width:var(--sidebar-width);min-height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--border-subtle);position:fixed;top:0;left:0;z-index:200;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.app.collapsed.svelte-8wfc8x .sidebar.svelte-8wfc8x{width:var(--sidebar-collapsed)}.sidebar-inner.svelte-8wfc8x.svelte-8wfc8x{display:flex;flex-direction:column;height:100%;overflow:hidden}.brand.svelte-8wfc8x.svelte-8wfc8x{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1rem .9rem;text-decoration:none;border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow:hidden;white-space:nowrap}.brand-logo.svelte-8wfc8x.svelte-8wfc8x{font-size:1.15rem;color:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow));flex-shrink:0;width:24px;text-align:center;transition:color .3s}.brand-name.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-weight:700;font-size:.9rem;letter-spacing:-.02em;color:var(--text-primary);transition:color .3s}.brand-mobile.svelte-8wfc8x.svelte-8wfc8x{border-bottom:none;padding:0}.sidebar-nav.svelte-8wfc8x.svelte-8wfc8x{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem 0;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.nav-group.svelte-8wfc8x.svelte-8wfc8x{margin-bottom:.25rem}.group-label.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:.6rem 1rem .3rem;white-space:nowrap;overflow:hidden}.nav-item.svelte-8wfc8x.svelte-8wfc8x{display:flex;align-items:center;gap:.65rem;padding:.48rem 1rem;text-decoration:none;color:var(--text-secondary);font-size:.82rem;font-weight:500;border-left:2px solid transparent;transition:color .14s,background .14s,border-color .14s;position:relative;white-space:nowrap;overflow:hidden}.nav-item.svelte-8wfc8x.svelte-8wfc8x:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active.svelte-8wfc8x.svelte-8wfc8x{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent);font-weight:600}.nav-icon.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.nav-label.svelte-8wfc8x.svelte-8wfc8x{flex:1;min-width:0}.active-dot.svelte-8wfc8x.svelte-8wfc8x{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 6px var(--accent-glow)}.sidebar-footer.svelte-8wfc8x.svelte-8wfc8x{padding:.6rem 0;border-top:1px solid var(--border-subtle);flex-shrink:0;display:flex;flex-direction:column;gap:.1rem}.ctrl-btn.svelte-8wfc8x.svelte-8wfc8x{display:flex;align-items:center;gap:.65rem;padding:.42rem 1rem;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .14s,background .14s;white-space:nowrap;overflow:hidden;width:100%;text-align:left}.ctrl-btn.svelte-8wfc8x.svelte-8wfc8x:hover{color:var(--text-primary);background:var(--bg-hover)}.ctrl-btn.svelte-8wfc8x.svelte-8wfc8x:disabled{opacity:.5;cursor:not-allowed}.ctrl-icon.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.lang-icon.svelte-8wfc8x.svelte-8wfc8x{font-size:.65rem;font-weight:700}.ctrl-label.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.02em;flex:1}.ctrl-label.ok.svelte-8wfc8x.svelte-8wfc8x{color:var(--green)}.ctrl-label.err.svelte-8wfc8x.svelte-8wfc8x{color:var(--rose)}.spinning.svelte-8wfc8x.svelte-8wfc8x{animation:svelte-8wfc8x-spin .9s linear infinite;display:inline-block}@keyframes svelte-8wfc8x-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collapse-btn.svelte-8wfc8x.svelte-8wfc8x{margin-top:.15rem}.main-area.svelte-8wfc8x.svelte-8wfc8x{flex:1;margin-left:var(--sidebar-width);transition:margin-left .22s cubic-bezier(.4,0,.2,1);min-height:100vh;display:flex;flex-direction:column}.app.collapsed.svelte-8wfc8x .main-area.svelte-8wfc8x{margin-left:var(--sidebar-collapsed)}.mobile-header.svelte-8wfc8x.svelte-8wfc8x{display:none;align-items:center;gap:.75rem;padding:.65rem 1rem;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hamburger.svelte-8wfc8x.svelte-8wfc8x{display:flex;flex-direction:column;gap:4px;padding:4px;background:transparent;border:none;cursor:pointer}.hamburger.svelte-8wfc8x span.svelte-8wfc8x{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:1px;transition:background .15s}.hamburger.svelte-8wfc8x:hover span.svelte-8wfc8x{background:var(--text-primary)}.mobile-controls.svelte-8wfc8x.svelte-8wfc8x{margin-left:auto;display:flex;gap:.25rem}.mobile-controls.svelte-8wfc8x .ctrl-btn.svelte-8wfc8x{padding:.3rem .5rem;width:auto}.page-content.svelte-8wfc8x.svelte-8wfc8x{flex:1;padding:2rem 2.5rem;max-width:1100px;width:100%;animation:svelte-8wfc8x-fadeUp .35s ease}@keyframes svelte-8wfc8x-fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.mobile-backdrop.svelte-8wfc8x.svelte-8wfc8x{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:190}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:1.25rem;transition:border-color .18s,background .3s}.card:hover{border-color:var(--border-medium)}.section-title{font-family:var(--mono);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.8rem}.page-header{margin-bottom:1.75rem}.page-header h1{font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.3rem}.page-header p{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:.65rem .9rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px}table{width:100%;border-collapse:collapse}th{font-family:var(--mono);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border-subtle)}td{padding:.6rem .75rem;border-bottom:1px solid var(--border-subtle);font-size:.84rem;color:var(--text-secondary);transition:color .3s}tbody tr{transition:background .14s}tbody tr:hover{background:var(--bg-hover)}.mono{font-family:var(--mono)}.accent{color:var(--accent)}.green{color:var(--green)}.blue{color:var(--blue)}.purple{color:var(--purple)}.state-msg{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:.88rem}.state-msg h2{font-family:var(--mono);font-size:.95rem;font-weight:700;color:var(--text-secondary);margin-bottom:.5rem}.state-msg.error{color:var(--rose)}button{font-family:DM Sans,sans-serif}@media (max-width: 800px){.sidebar.svelte-8wfc8x.svelte-8wfc8x{transform:translate(-100%);width:var(--sidebar-width)!important;box-shadow:4px 0 24px #0000004d}.sidebar.open.svelte-8wfc8x.svelte-8wfc8x{transform:translate(0)}.main-area.svelte-8wfc8x.svelte-8wfc8x{margin-left:0!important}.mobile-header.svelte-8wfc8x.svelte-8wfc8x{display:flex}.mobile-backdrop.svelte-8wfc8x.svelte-8wfc8x{display:block}.page-content.svelte-8wfc8x.svelte-8wfc8x{padding:1.25rem 1rem}}@media (min-width: 801px){.mobile-backdrop.svelte-8wfc8x.svelte-8wfc8x{display:none!important}}.sync-btn.svelte-8wfc8x.svelte-8wfc8x:hover{color:var(--accent)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.chart-section.svelte-ry34c.svelte-ry34c{padding-bottom:1.5rem}.chart-header.svelte-ry34c.svelte-ry34c{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.chart-header.svelte-ry34c .section-title.svelte-ry34c{margin-bottom:0}.mode-toggle.svelte-ry34c.svelte-ry34c{display:flex;gap:2px;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:6px;padding:2px}.mode-btn.svelte-ry34c.svelte-ry34c{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.04em;padding:.22rem .65rem;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .14s,color .14s}.mode-btn.svelte-ry34c.svelte-ry34c:hover{color:var(--text-secondary)}.mode-btn.active.svelte-ry34c.svelte-ry34c{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 3px #00000026}.chart.svelte-ry34c.svelte-ry34c{display:flex;align-items:flex-end;gap:3px;height:220px;padding:0 0 16px;border-bottom:1px solid var(--border-subtle);overflow-x:auto;overflow-y:hidden}.bar-group.svelte-ry34c.svelte-ry34c{flex:0 0 auto;min-width:18px;display:flex;flex-direction:column;align-items:center;animation:svelte-ry34c-fadeUp .3s ease both}.bars.svelte-ry34c.svelte-ry34c{display:flex;gap:1px;align-items:flex-end}.bar.svelte-ry34c.svelte-ry34c{width:10px;min-height:2px;border-radius:2px 2px 0 0;transition:height .4s ease}.bar.input.svelte-ry34c.svelte-ry34c{background:var(--green)}.bar.output.svelte-ry34c.svelte-ry34c{background:var(--blue)}.bar.cache-read.svelte-ry34c.svelte-ry34c{background:#d4a574}.bar.cache-write.svelte-ry34c.svelte-ry34c{background:#a0845e}.bar.thinking.svelte-ry34c.svelte-ry34c{background:var(--purple)}.bar.total-bar.svelte-ry34c.svelte-ry34c{background:var(--accent);width:14px}.cache-color.svelte-ry34c.svelte-ry34c{color:#d4a574}.label.svelte-ry34c.svelte-ry34c{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);margin-top:6px}.legend.svelte-ry34c.svelte-ry34c{display:flex;gap:1.25rem;margin-top:1rem;justify-content:center}.legend-item.svelte-ry34c.svelte-ry34c{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-secondary)}.dot.svelte-ry34c.svelte-ry34c{width:8px;height:8px;border-radius:2px}.dot.input.svelte-ry34c.svelte-ry34c{background:var(--green)}.dot.output.svelte-ry34c.svelte-ry34c{background:var(--blue)}.dot.cache-read.svelte-ry34c.svelte-ry34c{background:#d4a574}.dot.cache-write.svelte-ry34c.svelte-ry34c{background:#a0845e}.dot.thinking.svelte-ry34c.svelte-ry34c{background:var(--purple)}.dot.total-bar.svelte-ry34c.svelte-ry34c{background:var(--accent)}@keyframes svelte-ry34c-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ranking.svelte-11ovow4{display:flex;flex-direction:column;gap:.35rem}.row.svelte-11ovow4{display:grid;grid-template-columns:2.5rem 8rem 1fr 4.5rem 3.5rem;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s,background .15s;animation:svelte-11ovow4-fadeUp .3s ease both}.row.svelte-11ovow4:hover{border-color:var(--border-medium);background:var(--bg-raised)}.rank.svelte-11ovow4{color:var(--text-muted);font-size:.75rem}.name.svelte-11ovow4{font-weight:600;font-size:.85rem;color:var(--text-primary)}.bar-container.svelte-11ovow4{height:6px;background:var(--bg-raised);border-radius:3px;overflow:hidden}.bar.svelte-11ovow4{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease;box-shadow:0 0 6px var(--accent-dim)}.count.svelte-11ovow4{text-align:right;font-weight:600;font-size:.85rem;color:var(--text-primary)}.pct.svelte-11ovow4{text-align:right;color:var(--text-muted);font-size:.75rem}@keyframes svelte-11ovow4-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.hero-card.svelte-j2tzhr{display:inline-flex;flex-direction:column;gap:.25rem;background:var(--bg-surface);border:1px solid var(--accent-dim);border-radius:10px;padding:1.25rem 2rem;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--bg-surface),var(--accent-dim))}.hero-label.svelte-j2tzhr{font-family:var(--mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.hero-value.svelte-j2tzhr{font-family:var(--mono);font-size:1.75rem;font-weight:700;color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.chart-section.svelte-j2tzhr{margin-bottom:1.5rem;padding-bottom:1.5rem}.chart.svelte-j2tzhr{display:flex;align-items:flex-end;gap:3px;height:220px;padding:0 0 16px;border-bottom:1px solid var(--border-subtle)}.bar-group.svelte-j2tzhr{flex:1;display:flex;flex-direction:column;align-items:center;animation:svelte-j2tzhr-fadeUp .3s ease both}.bar.svelte-j2tzhr{width:14px;min-height:2px;background:var(--accent);border-radius:2px 2px 0 0;transition:height .4s ease;box-shadow:0 0 8px var(--accent-dim)}.label.svelte-j2tzhr{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);margin-top:6px}.grid-2.svelte-j2tzhr{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.breakdown-row.svelte-j2tzhr{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-secondary)}.breakdown-row.svelte-j2tzhr:last-child{border-bottom:none}@keyframes svelte-j2tzhr-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.grid-2.svelte-j2tzhr{grid-template-columns:1fr}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.docs-layout.svelte-x9sgjs.svelte-x9sgjs{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.toc.svelte-x9sgjs.svelte-x9sgjs{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto;scrollbar-width:thin}@media (max-width: 800px) and (min-width: 701px){.toc.svelte-x9sgjs.svelte-x9sgjs{top:4.5rem;max-height:calc(100vh - 6rem)}}.toc-header.svelte-x9sgjs.svelte-x9sgjs{font-family:var(--mono);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.toc-nav.svelte-x9sgjs.svelte-x9sgjs{display:flex;flex-direction:column;gap:.05rem}.toc-item.svelte-x9sgjs.svelte-x9sgjs{display:block;font-size:.78rem;color:var(--text-secondary);padding:.28rem .6rem;border-left:2px solid transparent;border-radius:0 4px 4px 0;cursor:pointer;transition:color .12s,border-color .12s,background .12s;text-decoration:none}.toc-item.svelte-x9sgjs.svelte-x9sgjs:hover{color:var(--text-primary);background:var(--bg-hover)}.toc-item.active.svelte-x9sgjs.svelte-x9sgjs{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600}.docs-content.svelte-x9sgjs.svelte-x9sgjs{min-width:0}.docs-content.svelte-x9sgjs .page-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}section.svelte-x9sgjs.svelte-x9sgjs{margin-bottom:3rem;padding-top:.5rem}section.svelte-x9sgjs h2.svelte-x9sgjs{font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-subtle)}section.svelte-x9sgjs h3.svelte-x9sgjs{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--text-secondary);letter-spacing:.02em;margin:1.2rem 0 .5rem;text-transform:uppercase}section.svelte-x9sgjs p.svelte-x9sgjs{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.75rem}section.svelte-x9sgjs ul.svelte-x9sgjs,section.svelte-x9sgjs ol.svelte-x9sgjs{padding-left:1.4rem;margin-bottom:.75rem}section.svelte-x9sgjs li.svelte-x9sgjs{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.3rem}section.svelte-x9sgjs strong.svelte-x9sgjs{color:var(--text-primary);font-weight:600}section.svelte-x9sgjs code.svelte-x9sgjs{font-family:var(--mono);font-size:.78rem;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:4px;padding:.1em .4em;color:var(--accent)}pre.svelte-x9sgjs.svelte-x9sgjs{background:var(--bg-raised);border:1px solid var(--border-medium);border-radius:8px;padding:1rem 1.1rem;overflow-x:auto;margin:.75rem 0}pre.svelte-x9sgjs code.svelte-x9sgjs{background:none;border:none;padding:0;font-size:.8rem;color:var(--text-primary)}.callout.svelte-x9sgjs.svelte-x9sgjs{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem 1rem;border-radius:8px;margin:1rem 0;font-size:.84rem;line-height:1.55;border:1px solid}.callout-icon.svelte-x9sgjs.svelte-x9sgjs{font-size:.8rem;flex-shrink:0;margin-top:.08rem}.callout.info.svelte-x9sgjs.svelte-x9sgjs{background:var(--blue-dim);border-color:#3b82f640;color:var(--blue)}.callout.tip.svelte-x9sgjs.svelte-x9sgjs{background:var(--accent-dim);border-color:var(--accent-glow);color:var(--accent)}.callout.warn.svelte-x9sgjs.svelte-x9sgjs{background:var(--rose-dim);border-color:#f43f5e40;color:var(--rose)}.docs-table.svelte-x9sgjs.svelte-x9sgjs{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.84rem}.docs-table.svelte-x9sgjs th.svelte-x9sgjs{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border-medium);background:var(--bg-raised)}.docs-table.svelte-x9sgjs td.svelte-x9sgjs{padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.docs-table.svelte-x9sgjs tr:hover td.svelte-x9sgjs{background:var(--bg-hover)}.docs-table.svelte-x9sgjs td.svelte-x9sgjs:first-child{font-family:var(--mono);font-size:.78rem;color:var(--text-primary);white-space:nowrap}@media (max-width: 800px){.docs-layout.svelte-x9sgjs.svelte-x9sgjs{grid-template-columns:1fr}.toc.svelte-x9sgjs.svelte-x9sgjs{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:.35rem}.toc-header.svelte-x9sgjs.svelte-x9sgjs{width:100%}.toc-item.svelte-x9sgjs.svelte-x9sgjs{border:1px solid var(--border-subtle);border-radius:4px;border-left-width:1px}.toc-item.active.svelte-x9sgjs.svelte-x9sgjs{border-color:var(--accent)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.model-name.svelte-159nh4j{font-weight:600;color:var(--text-primary)}.bar-cell.svelte-159nh4j{display:flex;align-items:center;gap:.5rem}.bar-track.svelte-159nh4j{flex:1;height:6px;background:var(--bg-raised);border-radius:3px;overflow:hidden;max-width:120px}.bar-fill.svelte-159nh4j{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease;box-shadow:0 0 6px var(--accent-dim)}.pct.svelte-159nh4j{font-size:.75rem;color:var(--text-muted);min-width:3rem;text-align:right}.animate-row.svelte-159nh4j{animation:svelte-159nh4j-fadeUp .3s ease both}@keyframes svelte-159nh4j-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.hero-stats.svelte-p75yfk.svelte-p75yfk{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.hero-card.svelte-p75yfk.svelte-p75yfk{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s,box-shadow .2s}.hero-card.svelte-p75yfk.svelte-p75yfk:hover{border-color:var(--border-medium);box-shadow:0 4px 24px #0003}.hero-card.accent.svelte-p75yfk.svelte-p75yfk{border-color:var(--accent-dim);background:linear-gradient(135deg,var(--bg-surface),var(--accent-dim))}.hero-label.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.hero-value.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:1.65rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.hero-card.accent.svelte-p75yfk .hero-value.svelte-p75yfk{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.token-breakdown.svelte-p75yfk.svelte-p75yfk{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.token-item.svelte-p75yfk.svelte-p75yfk{flex:1;min-width:120px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem}.token-item.cache.svelte-p75yfk.svelte-p75yfk{border-color:var(--border-subtle);opacity:.85}.token-label.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.token-value.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:1rem;font-weight:600;color:var(--text-primary)}.grid-2.svelte-p75yfk.svelte-p75yfk{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.muted.svelte-p75yfk.svelte-p75yfk{color:var(--text-muted);font-style:italic;font-size:.85rem}.tc-list.svelte-p75yfk.svelte-p75yfk{display:flex;flex-direction:column;gap:.35rem}.tc-row.svelte-p75yfk.svelte-p75yfk{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;border-radius:6px;background:var(--bg-raised);transition:background .15s;animation:svelte-p75yfk-fadeUp .3s ease both}.tc-row.svelte-p75yfk.svelte-p75yfk:hover{background:var(--bg-hover)}.tc-rank.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:.7rem;color:var(--text-muted);width:2rem;flex-shrink:0}.tc-name.svelte-p75yfk.svelte-p75yfk{flex:1;font-size:.8rem;font-weight:500;color:var(--text-primary)}.tc-count.svelte-p75yfk.svelte-p75yfk{font-size:.8rem;font-weight:600;color:var(--accent)}@keyframes svelte-p75yfk-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.hero-stats.svelte-p75yfk.svelte-p75yfk{grid-template-columns:repeat(2,1fr)}.grid-2.svelte-p75yfk.svelte-p75yfk{grid-template-columns:1fr}.token-breakdown.svelte-p75yfk.svelte-p75yfk{flex-direction:column}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.header-row.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-title.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.btn.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.75rem;font-weight:600;padding:.5rem 1rem;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.btn.svelte-168q7bb.svelte-168q7bb:hover{border-color:var(--accent)}.recalc-status.svelte-168q7bb.svelte-168q7bb{margin-left:.5rem;color:var(--accent)}.grid.svelte-168q7bb.svelte-168q7bb{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.card.svelte-168q7bb.svelte-168q7bb{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s,box-shadow .2s;animation:svelte-168q7bb-fadeUp .3s ease both}.card.svelte-168q7bb.svelte-168q7bb:hover{border-color:var(--border-medium);box-shadow:0 4px 24px #00000026}.card.no-price.svelte-168q7bb.svelte-168q7bb{opacity:.45}@keyframes svelte-168q7bb-fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-head.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.model-name.svelte-168q7bb.svelte-168q7bb{font-size:.8rem;font-weight:600;color:var(--text-primary);word-break:break-all;line-height:1.4}.card-btns.svelte-168q7bb.svelte-168q7bb{display:flex;gap:.35rem;flex-shrink:0}.price-row.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:baseline;gap:.35rem}.price-row.secondary.svelte-168q7bb.svelte-168q7bb{gap:1rem;padding-top:.15rem;border-top:1px solid var(--border-subtle);padding-top:.5rem}.price-block.svelte-168q7bb.svelte-168q7bb{display:flex;flex-direction:column;gap:.05rem}.price-block.primary.svelte-168q7bb.svelte-168q7bb{flex:1}.slash.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.85rem;color:var(--text-muted);padding:0 .15rem;align-self:flex-end;margin-bottom:.1rem}.price-label.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.price-val.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.price-val.sm.svelte-168q7bb.svelte-168q7bb{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.card-footer.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:center;gap:.5rem}.badge.svelte-168q7bb.svelte-168q7bb{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-family:var(--mono);font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.badge.default.svelte-168q7bb.svelte-168q7bb{background:var(--accent-dim);color:var(--accent)}.badge.override.svelte-168q7bb.svelte-168q7bb{background:var(--badge-override-bg);color:var(--badge-override-fg)}.badge.matched.svelte-168q7bb.svelte-168q7bb{background:var(--badge-matched-bg);color:var(--badge-matched-fg);max-width:100%;overflow:hidden;text-overflow:ellipsis}.badge.no-price.svelte-168q7bb.svelte-168q7bb{background:var(--badge-noprice-bg);color:var(--badge-noprice-fg)}.btn-sm.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.6rem;font-weight:600;padding:.2rem .55rem;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-raised);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.btn-sm.svelte-168q7bb.svelte-168q7bb:hover{border-color:var(--accent)}.btn-sm.save.svelte-168q7bb.svelte-168q7bb{border-color:var(--accent);color:var(--accent)}.btn-sm.reset.svelte-168q7bb.svelte-168q7bb{border-color:#f87171;color:#f87171}.edit-fields.svelte-168q7bb.svelte-168q7bb{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.edit-fields.svelte-168q7bb label.svelte-168q7bb{display:flex;flex-direction:column;gap:.2rem;font-family:var(--mono);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.edit-input.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.75rem;width:100%;padding:.3rem .4rem;border:1px solid var(--accent);border-radius:4px;background:var(--bg-raised);color:var(--text-primary);text-align:right}.edit-input.svelte-168q7bb.svelte-168q7bb:focus{outline:none;box-shadow:0 0 0 2px var(--accent-dim)}.edit-btns.svelte-168q7bb.svelte-168q7bb{display:flex;gap:.5rem}.state-msg.svelte-168q7bb.svelte-168q7bb{color:var(--text-muted);padding:2rem;text-align:center}.state-msg.error.svelte-168q7bb.svelte-168q7bb{color:var(--rose)}.mono.svelte-168q7bb.svelte-168q7bb{font-weight:500}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ranking.svelte-vs7xk2{display:flex;flex-direction:column;gap:.35rem}.row.svelte-vs7xk2{display:grid;grid-template-columns:2.5rem 10rem 1fr 5.5rem 4.5rem 3.5rem;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s,background .15s;animation:svelte-vs7xk2-fadeUp .3s ease both}.row.svelte-vs7xk2:hover{border-color:var(--border-medium);background:var(--bg-raised)}.rank.svelte-vs7xk2{color:var(--text-muted);font-size:.75rem}.name.svelte-vs7xk2{font-weight:600;font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-container.svelte-vs7xk2{height:6px;background:var(--bg-raised);border-radius:3px;overflow:hidden}.bar.svelte-vs7xk2{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease;box-shadow:0 0 6px var(--accent-dim)}.tokens.svelte-vs7xk2{text-align:right;font-size:.8rem;font-weight:500;color:var(--text-primary)}.cost.svelte-vs7xk2{text-align:right;font-size:.8rem}.pct.svelte-vs7xk2{text-align:right;color:var(--text-muted);font-size:.75rem}@keyframes svelte-vs7xk2-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.model.svelte-z4sbl7.svelte-z4sbl7{font-size:.8rem;color:var(--text-primary)}.pagination.svelte-z4sbl7.svelte-z4sbl7{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination.svelte-z4sbl7 button.svelte-z4sbl7{padding:.4rem .85rem;border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s ease}.pagination.svelte-z4sbl7 button.svelte-z4sbl7:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination.svelte-z4sbl7 button.svelte-z4sbl7:disabled{opacity:.35;cursor:not-allowed}.page-info.svelte-z4sbl7.svelte-z4sbl7{font-size:.75rem;color:var(--text-muted)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}:root,:root[data-theme=dark]{--bg-base:#0c0f17;--bg-surface:#12161f;--bg-raised:#181d2a;--bg-hover:#1e2436;--sidebar-bg:#0e111a;--border-subtle:rgba(255,255,255,.06);--border-medium:rgba(255,255,255,.11);--text-primary:#e4ecf4;--text-secondary:#8b96a8;--text-muted:#474f5c;--accent:#f0b429;--accent-dim:rgba(240,180,41,.12);--accent-glow:rgba(240,180,41,.28);--green:#2ea66a;--green-dim:rgba(46,166,106,.13);--blue:#3b82f6;--blue-dim:rgba(59,130,246,.13);--purple:#a78bfa;--purple-dim:rgba(167,139,250,.13);--rose:#f43f5e;--rose-dim:rgba(244,63,94,.13);--badge-override-bg:rgba(240,140,30,.15);--badge-override-fg:#f5a623;--badge-matched-bg:rgba(46,166,106,.13);--badge-matched-fg:#4ade80;--badge-noprice-bg:rgba(244,63,94,.13);--badge-noprice-fg:#f87171;--mono:"JetBrains Mono", monospace;--grain-opacity:.025;--sidebar-width:224px;--sidebar-collapsed:60px}:root[data-theme=light]{--bg-base:#f0f2f5;--bg-surface:#ffffff;--bg-raised:#f5f6f8;--bg-hover:#eceef1;--sidebar-bg:#f8f9fb;--border-subtle:rgba(0,0,0,.07);--border-medium:rgba(0,0,0,.13);--text-primary:#1a1d23;--text-secondary:#525968;--text-muted:#9ba3af;--accent:#c27d05;--accent-dim:rgba(194,125,5,.1);--accent-glow:rgba(194,125,5,.16);--green:#1a7f4b;--green-dim:rgba(26,127,75,.1);--blue:#2563eb;--blue-dim:rgba(37,99,235,.1);--purple:#7c3aed;--purple-dim:rgba(124,58,237,.1);--rose:#dc2626;--rose-dim:rgba(220,38,38,.1);--badge-override-bg:rgba(194,125,5,.12);--badge-override-fg:#c27d05;--badge-matched-bg:rgba(26,127,75,.12);--badge-matched-fg:#1a7f4b;--badge-noprice-bg:rgba(220,38,38,.1);--badge-noprice-fg:#dc2626;--mono:"JetBrains Mono", monospace;--grain-opacity:.01;--sidebar-width:224px;--sidebar-collapsed:60px}.grain.svelte-8wfc8x.svelte-8wfc8x{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px}.app.svelte-8wfc8x.svelte-8wfc8x{display:flex;min-height:100vh}.sidebar.svelte-8wfc8x.svelte-8wfc8x{width:var(--sidebar-width);min-height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--border-subtle);position:fixed;top:0;left:0;z-index:200;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.app.collapsed.svelte-8wfc8x .sidebar.svelte-8wfc8x{width:var(--sidebar-collapsed)}.sidebar-inner.svelte-8wfc8x.svelte-8wfc8x{display:flex;flex-direction:column;height:100%;overflow:hidden}.brand.svelte-8wfc8x.svelte-8wfc8x{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1rem .9rem;text-decoration:none;border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow:hidden;white-space:nowrap}.brand-logo.svelte-8wfc8x.svelte-8wfc8x{font-size:1.15rem;color:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow));flex-shrink:0;width:24px;text-align:center;transition:color .3s}.brand-name.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-weight:700;font-size:.9rem;letter-spacing:-.02em;color:var(--text-primary);transition:color .3s}.brand-mobile.svelte-8wfc8x.svelte-8wfc8x{border-bottom:none;padding:0}.sidebar-nav.svelte-8wfc8x.svelte-8wfc8x{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem 0;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.nav-group.svelte-8wfc8x.svelte-8wfc8x{margin-bottom:.25rem}.group-label.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:.6rem 1rem .3rem;white-space:nowrap;overflow:hidden}.nav-item.svelte-8wfc8x.svelte-8wfc8x{display:flex;align-items:center;gap:.65rem;padding:.48rem 1rem;text-decoration:none;color:var(--text-secondary);font-size:.82rem;font-weight:500;border-left:2px solid transparent;transition:color .14s,background .14s,border-color .14s;position:relative;white-space:nowrap;overflow:hidden}.nav-item.svelte-8wfc8x.svelte-8wfc8x:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active.svelte-8wfc8x.svelte-8wfc8x{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent);font-weight:600}.nav-icon.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.nav-label.svelte-8wfc8x.svelte-8wfc8x{flex:1;min-width:0}.active-dot.svelte-8wfc8x.svelte-8wfc8x{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 6px var(--accent-glow)}.sidebar-footer.svelte-8wfc8x.svelte-8wfc8x{padding:.6rem 0;border-top:1px solid var(--border-subtle);flex-shrink:0;display:flex;flex-direction:column;gap:.1rem}.ctrl-btn.svelte-8wfc8x.svelte-8wfc8x{display:flex;align-items:center;gap:.65rem;padding:.42rem 1rem;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .14s,background .14s;white-space:nowrap;overflow:hidden;width:100%;text-align:left}.ctrl-btn.svelte-8wfc8x.svelte-8wfc8x:hover{color:var(--text-primary);background:var(--bg-hover)}.ctrl-btn.svelte-8wfc8x.svelte-8wfc8x:disabled{opacity:.5;cursor:not-allowed}.ctrl-icon.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.lang-icon.svelte-8wfc8x.svelte-8wfc8x{font-size:.65rem;font-weight:700}.ctrl-label.svelte-8wfc8x.svelte-8wfc8x{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.02em;flex:1}.ctrl-label.ok.svelte-8wfc8x.svelte-8wfc8x{color:var(--green)}.ctrl-label.err.svelte-8wfc8x.svelte-8wfc8x{color:var(--rose)}.spinning.svelte-8wfc8x.svelte-8wfc8x{animation:svelte-8wfc8x-spin .9s linear infinite;display:inline-block}@keyframes svelte-8wfc8x-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collapse-btn.svelte-8wfc8x.svelte-8wfc8x{margin-top:.15rem}.main-area.svelte-8wfc8x.svelte-8wfc8x{flex:1;margin-left:var(--sidebar-width);transition:margin-left .22s cubic-bezier(.4,0,.2,1);min-height:100vh;display:flex;flex-direction:column}.app.collapsed.svelte-8wfc8x .main-area.svelte-8wfc8x{margin-left:var(--sidebar-collapsed)}.mobile-header.svelte-8wfc8x.svelte-8wfc8x{display:none;align-items:center;gap:.75rem;padding:.65rem 1rem;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px)}.hamburger.svelte-8wfc8x.svelte-8wfc8x{display:flex;flex-direction:column;gap:4px;padding:4px;background:transparent;border:none;cursor:pointer}.hamburger.svelte-8wfc8x span.svelte-8wfc8x{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:1px;transition:background .15s}.hamburger.svelte-8wfc8x:hover span.svelte-8wfc8x{background:var(--text-primary)}.mobile-controls.svelte-8wfc8x.svelte-8wfc8x{margin-left:auto;display:flex;gap:.25rem}.mobile-controls.svelte-8wfc8x .ctrl-btn.svelte-8wfc8x{padding:.3rem .5rem;width:auto}.page-content.svelte-8wfc8x.svelte-8wfc8x{flex:1;padding:2rem 2.5rem;max-width:1100px;width:100%;animation:svelte-8wfc8x-fadeUp .35s ease}@keyframes svelte-8wfc8x-fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.mobile-backdrop.svelte-8wfc8x.svelte-8wfc8x{display:none;position:fixed;inset:0;background:#00000080;backdrop-filter:blur(3px);z-index:190}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:1.25rem;transition:border-color .18s,background .3s}.card:hover{border-color:var(--border-medium)}.section-title{font-family:var(--mono);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.8rem}.page-header{margin-bottom:1.75rem}.page-header h1{font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.3rem}.page-header p{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:.65rem .9rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px}table{width:100%;border-collapse:collapse}th{font-family:var(--mono);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border-subtle)}td{padding:.6rem .75rem;border-bottom:1px solid var(--border-subtle);font-size:.84rem;color:var(--text-secondary);transition:color .3s}tbody tr{transition:background .14s}tbody tr:hover{background:var(--bg-hover)}.mono{font-family:var(--mono)}.accent{color:var(--accent)}.green{color:var(--green)}.blue{color:var(--blue)}.purple{color:var(--purple)}.state-msg{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:.88rem}.state-msg h2{font-family:var(--mono);font-size:.95rem;font-weight:700;color:var(--text-secondary);margin-bottom:.5rem}.state-msg.error{color:var(--rose)}button{font-family:DM Sans,sans-serif}@media (max-width: 800px){.sidebar.svelte-8wfc8x.svelte-8wfc8x{transform:translate(-100%);width:var(--sidebar-width)!important;box-shadow:4px 0 24px #0000004d}.sidebar.open.svelte-8wfc8x.svelte-8wfc8x{transform:translate(0)}.main-area.svelte-8wfc8x.svelte-8wfc8x{margin-left:0!important}.mobile-header.svelte-8wfc8x.svelte-8wfc8x{display:flex}.mobile-backdrop.svelte-8wfc8x.svelte-8wfc8x{display:block}.page-content.svelte-8wfc8x.svelte-8wfc8x{padding:1.25rem 1rem}}@media (min-width: 801px){.mobile-backdrop.svelte-8wfc8x.svelte-8wfc8x{display:none!important}}.sync-btn.svelte-8wfc8x.svelte-8wfc8x:hover{color:var(--accent)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ranking.svelte-11ovow4{display:flex;flex-direction:column;gap:.35rem}.row.svelte-11ovow4{display:grid;grid-template-columns:2.5rem 8rem 1fr 4.5rem 3.5rem;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s,background .15s;animation:svelte-11ovow4-fadeUp .3s ease both}.row.svelte-11ovow4:hover{border-color:var(--border-medium);background:var(--bg-raised)}.rank.svelte-11ovow4{color:var(--text-muted);font-size:.75rem}.name.svelte-11ovow4{font-weight:600;font-size:.85rem;color:var(--text-primary)}.bar-container.svelte-11ovow4{height:6px;background:var(--bg-raised);border-radius:3px;overflow:hidden}.bar.svelte-11ovow4{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease;box-shadow:0 0 6px var(--accent-dim)}.count.svelte-11ovow4{text-align:right;font-weight:600;font-size:.85rem;color:var(--text-primary)}.pct.svelte-11ovow4{text-align:right;color:var(--text-muted);font-size:.75rem}@keyframes svelte-11ovow4-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ranking.svelte-vs7xk2{display:flex;flex-direction:column;gap:.35rem}.row.svelte-vs7xk2{display:grid;grid-template-columns:2.5rem 10rem 1fr 5.5rem 4.5rem 3.5rem;align-items:center;gap:.75rem;padding:.65rem .85rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s,background .15s;animation:svelte-vs7xk2-fadeUp .3s ease both}.row.svelte-vs7xk2:hover{border-color:var(--border-medium);background:var(--bg-raised)}.rank.svelte-vs7xk2{color:var(--text-muted);font-size:.75rem}.name.svelte-vs7xk2{font-weight:600;font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-container.svelte-vs7xk2{height:6px;background:var(--bg-raised);border-radius:3px;overflow:hidden}.bar.svelte-vs7xk2{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease;box-shadow:0 0 6px var(--accent-dim)}.tokens.svelte-vs7xk2{text-align:right;font-size:.8rem;font-weight:500;color:var(--text-primary)}.cost.svelte-vs7xk2{text-align:right;font-size:.8rem}.pct.svelte-vs7xk2{text-align:right;color:var(--text-muted);font-size:.75rem}@keyframes svelte-vs7xk2-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.header-row.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-title.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.btn.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.75rem;font-weight:600;padding:.5rem 1rem;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.btn.svelte-168q7bb.svelte-168q7bb:hover{border-color:var(--accent)}.recalc-status.svelte-168q7bb.svelte-168q7bb{margin-left:.5rem;color:var(--accent)}.grid.svelte-168q7bb.svelte-168q7bb{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.card.svelte-168q7bb.svelte-168q7bb{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s,box-shadow .2s;animation:svelte-168q7bb-fadeUp .3s ease both}.card.svelte-168q7bb.svelte-168q7bb:hover{border-color:var(--border-medium);box-shadow:0 4px 24px #00000026}.card.no-price.svelte-168q7bb.svelte-168q7bb{opacity:.45}@keyframes svelte-168q7bb-fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-head.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.model-name.svelte-168q7bb.svelte-168q7bb{font-size:.8rem;font-weight:600;color:var(--text-primary);word-break:break-all;line-height:1.4}.card-btns.svelte-168q7bb.svelte-168q7bb{display:flex;gap:.35rem;flex-shrink:0}.price-row.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:baseline;gap:.35rem}.price-row.secondary.svelte-168q7bb.svelte-168q7bb{gap:1rem;padding-top:.15rem;border-top:1px solid var(--border-subtle);padding-top:.5rem}.price-block.svelte-168q7bb.svelte-168q7bb{display:flex;flex-direction:column;gap:.05rem}.price-block.primary.svelte-168q7bb.svelte-168q7bb{flex:1}.slash.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.85rem;color:var(--text-muted);padding:0 .15rem;align-self:flex-end;margin-bottom:.1rem}.price-label.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.price-val.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.price-val.sm.svelte-168q7bb.svelte-168q7bb{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.card-footer.svelte-168q7bb.svelte-168q7bb{display:flex;align-items:center;gap:.5rem}.badge.svelte-168q7bb.svelte-168q7bb{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-family:var(--mono);font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.badge.default.svelte-168q7bb.svelte-168q7bb{background:var(--accent-dim);color:var(--accent)}.badge.override.svelte-168q7bb.svelte-168q7bb{background:var(--badge-override-bg);color:var(--badge-override-fg)}.badge.matched.svelte-168q7bb.svelte-168q7bb{background:var(--badge-matched-bg);color:var(--badge-matched-fg);max-width:100%;overflow:hidden;text-overflow:ellipsis}.badge.no-price.svelte-168q7bb.svelte-168q7bb{background:var(--badge-noprice-bg);color:var(--badge-noprice-fg)}.btn-sm.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.6rem;font-weight:600;padding:.2rem .55rem;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-raised);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.btn-sm.svelte-168q7bb.svelte-168q7bb:hover{border-color:var(--accent)}.btn-sm.save.svelte-168q7bb.svelte-168q7bb{border-color:var(--accent);color:var(--accent)}.btn-sm.reset.svelte-168q7bb.svelte-168q7bb{border-color:#f87171;color:#f87171}.edit-fields.svelte-168q7bb.svelte-168q7bb{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.edit-fields.svelte-168q7bb label.svelte-168q7bb{display:flex;flex-direction:column;gap:.2rem;font-family:var(--mono);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.edit-input.svelte-168q7bb.svelte-168q7bb{font-family:var(--mono);font-size:.75rem;width:100%;padding:.3rem .4rem;border:1px solid var(--accent);border-radius:4px;background:var(--bg-raised);color:var(--text-primary);text-align:right}.edit-input.svelte-168q7bb.svelte-168q7bb:focus{outline:none;box-shadow:0 0 0 2px var(--accent-dim)}.edit-btns.svelte-168q7bb.svelte-168q7bb{display:flex;gap:.5rem}.state-msg.svelte-168q7bb.svelte-168q7bb{color:var(--text-muted);padding:2rem;text-align:center}.state-msg.error.svelte-168q7bb.svelte-168q7bb{color:var(--rose)}.mono.svelte-168q7bb.svelte-168q7bb{font-weight:500}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.model.svelte-z4sbl7.svelte-z4sbl7{font-size:.8rem;color:var(--text-primary)}.pagination.svelte-z4sbl7.svelte-z4sbl7{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination.svelte-z4sbl7 button.svelte-z4sbl7{padding:.4rem .85rem;border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s ease}.pagination.svelte-z4sbl7 button.svelte-z4sbl7:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination.svelte-z4sbl7 button.svelte-z4sbl7:disabled{opacity:.35;cursor:not-allowed}.page-info.svelte-z4sbl7.svelte-z4sbl7{font-size:.75rem;color:var(--text-muted)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.chart-section.svelte-ry34c.svelte-ry34c{padding-bottom:1.5rem}.chart-header.svelte-ry34c.svelte-ry34c{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.chart-header.svelte-ry34c .section-title.svelte-ry34c{margin-bottom:0}.mode-toggle.svelte-ry34c.svelte-ry34c{display:flex;gap:2px;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:6px;padding:2px}.mode-btn.svelte-ry34c.svelte-ry34c{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.04em;padding:.22rem .65rem;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .14s,color .14s}.mode-btn.svelte-ry34c.svelte-ry34c:hover{color:var(--text-secondary)}.mode-btn.active.svelte-ry34c.svelte-ry34c{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 3px #00000026}.chart.svelte-ry34c.svelte-ry34c{display:flex;align-items:flex-end;gap:3px;height:220px;padding:0 0 16px;border-bottom:1px solid var(--border-subtle);overflow-x:auto;overflow-y:hidden}.bar-group.svelte-ry34c.svelte-ry34c{flex:0 0 auto;min-width:18px;display:flex;flex-direction:column;align-items:center;animation:svelte-ry34c-fadeUp .3s ease both}.bars.svelte-ry34c.svelte-ry34c{display:flex;gap:1px;align-items:flex-end}.bar.svelte-ry34c.svelte-ry34c{width:10px;min-height:2px;border-radius:2px 2px 0 0;transition:height .4s ease}.bar.input.svelte-ry34c.svelte-ry34c{background:var(--green)}.bar.output.svelte-ry34c.svelte-ry34c{background:var(--blue)}.bar.cache-read.svelte-ry34c.svelte-ry34c{background:#d4a574}.bar.cache-write.svelte-ry34c.svelte-ry34c{background:#a0845e}.bar.thinking.svelte-ry34c.svelte-ry34c{background:var(--purple)}.bar.total-bar.svelte-ry34c.svelte-ry34c{background:var(--accent);width:14px}.cache-color.svelte-ry34c.svelte-ry34c{color:#d4a574}.label.svelte-ry34c.svelte-ry34c{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);margin-top:6px}.legend.svelte-ry34c.svelte-ry34c{display:flex;gap:1.25rem;margin-top:1rem;justify-content:center}.legend-item.svelte-ry34c.svelte-ry34c{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-secondary)}.dot.svelte-ry34c.svelte-ry34c{width:8px;height:8px;border-radius:2px}.dot.input.svelte-ry34c.svelte-ry34c{background:var(--green)}.dot.output.svelte-ry34c.svelte-ry34c{background:var(--blue)}.dot.cache-read.svelte-ry34c.svelte-ry34c{background:#d4a574}.dot.cache-write.svelte-ry34c.svelte-ry34c{background:#a0845e}.dot.thinking.svelte-ry34c.svelte-ry34c{background:var(--purple)}.dot.total-bar.svelte-ry34c.svelte-ry34c{background:var(--accent)}@keyframes svelte-ry34c-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.model-name.svelte-159nh4j{font-weight:600;color:var(--text-primary)}.bar-cell.svelte-159nh4j{display:flex;align-items:center;gap:.5rem}.bar-track.svelte-159nh4j{flex:1;height:6px;background:var(--bg-raised);border-radius:3px;overflow:hidden;max-width:120px}.bar-fill.svelte-159nh4j{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease;box-shadow:0 0 6px var(--accent-dim)}.pct.svelte-159nh4j{font-size:.75rem;color:var(--text-muted);min-width:3rem;text-align:right}.animate-row.svelte-159nh4j{animation:svelte-159nh4j-fadeUp .3s ease both}@keyframes svelte-159nh4j-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.docs-layout.svelte-x9sgjs.svelte-x9sgjs{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.toc.svelte-x9sgjs.svelte-x9sgjs{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto;scrollbar-width:thin}@media (max-width: 800px) and (min-width: 701px){.toc.svelte-x9sgjs.svelte-x9sgjs{top:4.5rem;max-height:calc(100vh - 6rem)}}.toc-header.svelte-x9sgjs.svelte-x9sgjs{font-family:var(--mono);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.toc-nav.svelte-x9sgjs.svelte-x9sgjs{display:flex;flex-direction:column;gap:.05rem}.toc-item.svelte-x9sgjs.svelte-x9sgjs{display:block;font-size:.78rem;color:var(--text-secondary);padding:.28rem .6rem;border-left:2px solid transparent;border-radius:0 4px 4px 0;cursor:pointer;transition:color .12s,border-color .12s,background .12s;text-decoration:none}.toc-item.svelte-x9sgjs.svelte-x9sgjs:hover{color:var(--text-primary);background:var(--bg-hover)}.toc-item.active.svelte-x9sgjs.svelte-x9sgjs{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600}.docs-content.svelte-x9sgjs.svelte-x9sgjs{min-width:0}.docs-content.svelte-x9sgjs .page-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}section.svelte-x9sgjs.svelte-x9sgjs{margin-bottom:3rem;padding-top:.5rem}section.svelte-x9sgjs h2.svelte-x9sgjs{font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-subtle)}section.svelte-x9sgjs h3.svelte-x9sgjs{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--text-secondary);letter-spacing:.02em;margin:1.2rem 0 .5rem;text-transform:uppercase}section.svelte-x9sgjs p.svelte-x9sgjs{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.75rem}section.svelte-x9sgjs ul.svelte-x9sgjs,section.svelte-x9sgjs ol.svelte-x9sgjs{padding-left:1.4rem;margin-bottom:.75rem}section.svelte-x9sgjs li.svelte-x9sgjs{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.3rem}section.svelte-x9sgjs strong.svelte-x9sgjs{color:var(--text-primary);font-weight:600}section.svelte-x9sgjs code.svelte-x9sgjs{font-family:var(--mono);font-size:.78rem;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:4px;padding:.1em .4em;color:var(--accent)}pre.svelte-x9sgjs.svelte-x9sgjs{background:var(--bg-raised);border:1px solid var(--border-medium);border-radius:8px;padding:1rem 1.1rem;overflow-x:auto;margin:.75rem 0}pre.svelte-x9sgjs code.svelte-x9sgjs{background:none;border:none;padding:0;font-size:.8rem;color:var(--text-primary)}.callout.svelte-x9sgjs.svelte-x9sgjs{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem 1rem;border-radius:8px;margin:1rem 0;font-size:.84rem;line-height:1.55;border:1px solid}.callout-icon.svelte-x9sgjs.svelte-x9sgjs{font-size:.8rem;flex-shrink:0;margin-top:.08rem}.callout.info.svelte-x9sgjs.svelte-x9sgjs{background:var(--blue-dim);border-color:#3b82f640;color:var(--blue)}.callout.tip.svelte-x9sgjs.svelte-x9sgjs{background:var(--accent-dim);border-color:var(--accent-glow);color:var(--accent)}.callout.warn.svelte-x9sgjs.svelte-x9sgjs{background:var(--rose-dim);border-color:#f43f5e40;color:var(--rose)}.docs-table.svelte-x9sgjs.svelte-x9sgjs{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.84rem}.docs-table.svelte-x9sgjs th.svelte-x9sgjs{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border-medium);background:var(--bg-raised)}.docs-table.svelte-x9sgjs td.svelte-x9sgjs{padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.docs-table.svelte-x9sgjs tr:hover td.svelte-x9sgjs{background:var(--bg-hover)}.docs-table.svelte-x9sgjs td.svelte-x9sgjs:first-child{font-family:var(--mono);font-size:.78rem;color:var(--text-primary);white-space:nowrap}@media (max-width: 800px){.docs-layout.svelte-x9sgjs.svelte-x9sgjs{grid-template-columns:1fr}.toc.svelte-x9sgjs.svelte-x9sgjs{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:.35rem}.toc-header.svelte-x9sgjs.svelte-x9sgjs{width:100%}.toc-item.svelte-x9sgjs.svelte-x9sgjs{border:1px solid var(--border-subtle);border-radius:4px;border-left-width:1px}.toc-item.active.svelte-x9sgjs.svelte-x9sgjs{border-color:var(--accent)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.hero-card.svelte-j2tzhr{display:inline-flex;flex-direction:column;gap:.25rem;background:var(--bg-surface);border:1px solid var(--accent-dim);border-radius:10px;padding:1.25rem 2rem;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--bg-surface),var(--accent-dim))}.hero-label.svelte-j2tzhr{font-family:var(--mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.hero-value.svelte-j2tzhr{font-family:var(--mono);font-size:1.75rem;font-weight:700;color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.chart-section.svelte-j2tzhr{margin-bottom:1.5rem;padding-bottom:1.5rem}.chart.svelte-j2tzhr{display:flex;align-items:flex-end;gap:3px;height:220px;padding:0 0 16px;border-bottom:1px solid var(--border-subtle)}.bar-group.svelte-j2tzhr{flex:1;display:flex;flex-direction:column;align-items:center;animation:svelte-j2tzhr-fadeUp .3s ease both}.bar.svelte-j2tzhr{width:14px;min-height:2px;background:var(--accent);border-radius:2px 2px 0 0;transition:height .4s ease;box-shadow:0 0 8px var(--accent-dim)}.label.svelte-j2tzhr{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);margin-top:6px}.grid-2.svelte-j2tzhr{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.breakdown-row.svelte-j2tzhr{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-secondary)}.breakdown-row.svelte-j2tzhr:last-child{border-bottom:none}@keyframes svelte-j2tzhr-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.grid-2.svelte-j2tzhr{grid-template-columns:1fr}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.hero-stats.svelte-p75yfk.svelte-p75yfk{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.hero-card.svelte-p75yfk.svelte-p75yfk{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s,box-shadow .2s}.hero-card.svelte-p75yfk.svelte-p75yfk:hover{border-color:var(--border-medium);box-shadow:0 4px 24px #0003}.hero-card.accent.svelte-p75yfk.svelte-p75yfk{border-color:var(--accent-dim);background:linear-gradient(135deg,var(--bg-surface),var(--accent-dim))}.hero-label.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.hero-value.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:1.65rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.hero-card.accent.svelte-p75yfk .hero-value.svelte-p75yfk{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.token-breakdown.svelte-p75yfk.svelte-p75yfk{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.token-item.svelte-p75yfk.svelte-p75yfk{flex:1;min-width:120px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem}.token-item.cache.svelte-p75yfk.svelte-p75yfk{border-color:var(--border-subtle);opacity:.85}.token-label.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.token-value.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:1rem;font-weight:600;color:var(--text-primary)}.grid-2.svelte-p75yfk.svelte-p75yfk{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.muted.svelte-p75yfk.svelte-p75yfk{color:var(--text-muted);font-style:italic;font-size:.85rem}.tc-list.svelte-p75yfk.svelte-p75yfk{display:flex;flex-direction:column;gap:.35rem}.tc-row.svelte-p75yfk.svelte-p75yfk{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;border-radius:6px;background:var(--bg-raised);transition:background .15s;animation:svelte-p75yfk-fadeUp .3s ease both}.tc-row.svelte-p75yfk.svelte-p75yfk:hover{background:var(--bg-hover)}.tc-rank.svelte-p75yfk.svelte-p75yfk{font-family:var(--mono);font-size:.7rem;color:var(--text-muted);width:2rem;flex-shrink:0}.tc-name.svelte-p75yfk.svelte-p75yfk{flex:1;font-size:.8rem;font-weight:500;color:var(--text-primary)}.tc-count.svelte-p75yfk.svelte-p75yfk{font-size:.8rem;font-weight:600;color:var(--accent)}@keyframes svelte-p75yfk-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.hero-stats.svelte-p75yfk.svelte-p75yfk{grid-template-columns:repeat(2,1fr)}.grid-2.svelte-p75yfk.svelte-p75yfk{grid-template-columns:1fr}.token-breakdown.svelte-p75yfk.svelte-p75yfk{flex-direction:column}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as ae,n as Y,r as Pe,b as Fe,c as H,o as ye}from"./scheduler.DukoKnjQ.js";import{S as re,i as ue,d as k,s as A,z as j,D as $,a as q,b as _,x as S,o as b,A as y,c as T,e as I,f as M,g as B,B as ce,h as D,t as P,j as F,v as fe,r as Te,C as Le}from"./index.CUfK07C5.js";import{e as x,l as Re,t as _e}from"./i18n.CrmYDWvg.js";import{w as he}from"./index.BjVwNvJa.js";const pe=he({range:"day"}),Ue=he("");function Ae(e){Ue.set(e)}const Be=he("");function Ve(e){Be.set(e)}function ze(e){pe.set({range:e})}function De(e,t){pe.set({from:e,to:t})}function xe(e){return new Date(e).toLocaleDateString()}function et(e){return e.toLocaleString()}function tt(e){return e<.01?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`}function lt(e){return e>=1e9?`${(e/1e9).toFixed(1)}B`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function Ce(e,t,l){const o=e.slice();return o[28]=t[l],o}function Ee(e){let t,l=e[17](e[28])+"",o;return{c(){t=D("option"),o=P(l),this.h()},l(n){t=T(n,"OPTION",{});var r=I(t);o=M(r,l),r.forEach(k),this.h()},h(){t.__value=e[28],y(t,t.__value)},m(n,r){q(n,t,r),_(t,o)},p:Y,d(n){n&&k(t)}}}function Ie(e){let t,l=x(e[13]),o=[];for(let n=0;n<l.length;n+=1)o[n]=Ee(Ce(e,l,n));return{c(){for(let n=0;n<o.length;n+=1)o[n].c();t=Te()},l(n){for(let r=0;r<o.length;r+=1)o[r].l(n);t=Te()},m(n,r){for(let a=0;a<o.length;a+=1)o[a]&&o[a].m(n,r);q(n,t,r)},p(n,r){if(r&139264){l=x(n[13]);let a;for(a=0;a<l.length;a+=1){const u=Ce(n,l,a);o[a]?o[a].p(u,r):(o[a]=Ee(u),o[a].c(),o[a].m(t.parentNode,t))}for(;a<o.length;a+=1)o[a].d(1);o.length=l.length}},d(n){n&&k(t),fe(o,n)}}}function Ne(e){let t,l,o,n,r="→",a,u,E,f,s=e[12]("common.apply")+"",i,p,c,m;return{c(){t=D("div"),l=D("input"),o=F(),n=D("span"),n.textContent=r,a=F(),u=D("input"),E=F(),f=D("button"),i=P(s),this.h()},l(d){t=T(d,"DIV",{class:!0});var v=I(t);l=T(v,"INPUT",{type:!0,class:!0}),o=B(v),n=T(v,"SPAN",{class:!0,"data-svelte-h":!0}),ce(n)!=="svelte-1ckiewm"&&(n.textContent=r),a=B(v),u=T(v,"INPUT",{type:!0,class:!0}),E=B(v),f=T(v,"BUTTON",{class:!0});var V=I(f);i=M(V,s),V.forEach(k),v.forEach(k),this.h()},h(){b(l,"type","date"),b(l,"class","svelte-1bp648j"),b(n,"class","arrow svelte-1bp648j"),b(u,"type","date"),b(u,"class","svelte-1bp648j"),b(f,"class","apply svelte-1bp648j"),f.disabled=p=!e[3]||!e[4],b(t,"class","custom svelte-1bp648j")},m(d,v){q(d,t,v),_(t,l),y(l,e[3]),_(t,o),_(t,n),_(t,a),_(t,u),y(u,e[4]),_(t,E),_(t,f),_(f,i),c||(m=[S(l,"input",e[26]),S(u,"input",e[27]),S(f,"click",e[16])],c=!0)},p(d,v){v&8&&y(l,d[3]),v&16&&y(u,d[4]),v&4096&&s!==(s=d[12]("common.apply")+"")&&A(i,s),v&24&&p!==(p=!d[3]||!d[4])&&(f.disabled=p)},d(d){d&&k(t),c=!1,Pe(m)}}}function Je(e){let t,l,o=e[12]("range.today")+"",n,r,a,u=e[12]("range.week")+"",E,f,s,i=e[12]("range.month")+"",p,c,m,d=e[12]("range.last30")+"",v,V,w,K=e[12]("range.allTime")+"",Q,ee,z,oe="|",te,O,L,W=e[12]("range.pickMonth")+"",X,ne=e[11],le,C,R="⊞",G,J,Z,U=Ie(e),N=e[0]&&Ne(e);return{c(){t=D("div"),l=D("button"),n=P(o),r=F(),a=D("button"),E=P(u),f=F(),s=D("button"),p=P(i),c=F(),m=D("button"),v=P(d),V=F(),w=D("button"),Q=P(K),ee=F(),z=D("div"),z.textContent=oe,te=F(),O=D("select"),L=D("option"),X=P(W),U.c(),le=F(),C=D("button"),C.textContent=R,G=F(),N&&N.c(),this.h()},l(g){t=T(g,"DIV",{class:!0});var h=I(t);l=T(h,"BUTTON",{class:!0});var ve=I(l);n=M(ve,o),ve.forEach(k),r=B(h),a=T(h,"BUTTON",{class:!0});var de=I(a);E=M(de,u),de.forEach(k),f=B(h),s=T(h,"BUTTON",{class:!0});var me=I(s);p=M(me,i),me.forEach(k),c=B(h),m=T(h,"BUTTON",{class:!0});var ge=I(m);v=M(ge,d),ge.forEach(k),V=B(h),w=T(h,"BUTTON",{class:!0});var be=I(w);Q=M(be,K),be.forEach(k),ee=B(h),z=T(h,"DIV",{class:!0,"data-svelte-h":!0}),ce(z)!=="svelte-13oazuz"&&(z.textContent=oe),te=B(h),O=T(h,"SELECT",{class:!0});var ie=I(O);L=T(ie,"OPTION",{});var ke=I(L);X=M(ke,W),ke.forEach(k),U.l(ie),ie.forEach(k),le=B(h),C=T(h,"BUTTON",{class:!0,title:!0,"data-svelte-h":!0}),ce(C)!=="svelte-tb9evs"&&(C.textContent=R),G=B(h),N&&N.l(h),h.forEach(k),this.h()},h(){b(l,"class","svelte-1bp648j"),j(l,"active",e[10]),b(a,"class","svelte-1bp648j"),j(a,"active",e[9]),b(s,"class","svelte-1bp648j"),j(s,"active",e[8]),b(m,"class","svelte-1bp648j"),j(m,"active",e[7]),b(w,"class","svelte-1bp648j"),j(w,"active",e[6]),b(z,"class","sep svelte-1bp648j"),L.__value="",y(L,L.__value),b(O,"class","month-select svelte-1bp648j"),e[1]===void 0&&Fe(()=>e[24].call(O)),j(O,"active",!!e[1]),b(C,"class","custom-toggle svelte-1bp648j"),b(C,"title","Custom range"),j(C,"active",e[5]),b(t,"class","date-range svelte-1bp648j")},m(g,h){q(g,t,h),_(t,l),_(l,n),_(t,r),_(t,a),_(a,E),_(t,f),_(t,s),_(s,p),_(t,c),_(t,m),_(m,v),_(t,V),_(t,w),_(w,Q),_(t,ee),_(t,z),_(t,te),_(t,O),_(O,L),_(L,X),U.m(O,null),$(O,e[1],!0),_(t,le),_(t,C),_(t,G),N&&N.m(t,null),J||(Z=[S(l,"click",e[19]),S(a,"click",e[20]),S(s,"click",e[21]),S(m,"click",e[22]),S(w,"click",e[23]),S(O,"change",e[24]),S(O,"change",e[15]),S(C,"click",e[25])],J=!0)},p(g,[h]){h&4096&&o!==(o=g[12]("range.today")+"")&&A(n,o),h&1024&&j(l,"active",g[10]),h&4096&&u!==(u=g[12]("range.week")+"")&&A(E,u),h&512&&j(a,"active",g[9]),h&4096&&i!==(i=g[12]("range.month")+"")&&A(p,i),h&256&&j(s,"active",g[8]),h&4096&&d!==(d=g[12]("range.last30")+"")&&A(v,d),h&128&&j(m,"active",g[7]),h&4096&&K!==(K=g[12]("range.allTime")+"")&&A(Q,K),h&64&&j(w,"active",g[6]),h&4096&&W!==(W=g[12]("range.pickMonth")+"")&&A(X,W),h&2048&&ae(ne,ne=g[11])?(U.d(1),U=Ie(g),U.c(),U.m(O,null)):U.p(g,h),h&8194&&$(O,g[1]),h&2&&j(O,"active",!!g[1]),h&32&&j(C,"active",g[5]),g[0]?N?N.p(g,h):(N=Ne(g),N.c(),N.m(t,null)):N&&(N.d(1),N=null)},i:Y,o:Y,d(g){g&&k(t),U.d(g),N&&N.d(),J=!1,Pe(Z)}}}function Ye(){const e=[],t=new Date;for(let l=0;l<12;l++){const o=new Date(t.getFullYear(),t.getMonth()-l,1),n=`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}`;e.push(n)}return e}function qe(e,t,l){let o,n,r,a,u,E,f,s,i;H(e,Re,C=>l(11,f=C)),H(e,pe,C=>l(18,s=C)),H(e,_e,C=>l(12,i=C));let p=!1,c=!1,m="",d="",v="";const V=Ye();function w(C){ze(C),l(0,c=!1),l(2,p=!1),l(1,v="")}function K(C){const R=C.target.value;if(!R)return;l(1,v=R);const[G,J]=R.split("-").map(Number),Z=`${R}-01`,U=new Date(G,J,0).getDate(),N=`${R}-${String(U).padStart(2,"0")}`;De(Z,N),l(0,c=!1)}function Q(){m&&d&&(De(m,d),l(1,v=""))}function ee(C){const[R,G]=C.split("-"),J={en:["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],zh:["","1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},Z=J[f]||J.en;return`${R} ${Z[parseInt(G)]}`}const z=()=>w("day"),oe=()=>w("week"),te=()=>w("month"),O=()=>w("last30"),L=()=>w("all");function W(){v=Le(this),l(1,v),l(13,V)}const X=()=>{l(0,c=!c),l(2,p=!1)};function ne(){m=this.value,l(3,m)}function le(){d=this.value,l(4,d)}return e.$$.update=()=>{e.$$.dirty&262146&&l(10,o=!v&&s.range==="day"&&!s.from),e.$$.dirty&262146&&l(9,n=!v&&s.range==="week"&&!s.from),e.$$.dirty&262146&&l(8,r=!v&&s.range==="month"&&!s.from),e.$$.dirty&262146&&l(7,a=!v&&s.range==="last30"&&!s.from),e.$$.dirty&262146&&l(6,u=!v&&s.range==="all"&&!s.from),e.$$.dirty&262147&&l(5,E=c||s.from&&!v)},[c,v,p,m,d,E,u,a,r,n,o,f,i,V,w,K,Q,ee,s,z,oe,te,O,L,W,X,ne,le]}class ot extends re{constructor(t){super(),ue(this,t,qe,Je,ae,{})}}function Oe(e,t,l){const o=e.slice();return o[6]=t[l],o}function we(e){let t,l=je(e[6])+"",o,n,r;return{c(){t=D("option"),o=P(l),this.h()},l(a){t=T(a,"OPTION",{title:!0});var u=I(t);o=M(u,l),u.forEach(k),this.h()},h(){t.__value=n=e[6].deviceInstanceId,y(t,t.__value),b(t,"title",r=se(e[6]))},m(a,u){q(a,t,u),_(t,o)},p(a,u){u&1&&l!==(l=je(a[6])+"")&&A(o,l),u&1&&n!==(n=a[6].deviceInstanceId)&&(t.__value=n,y(t,t.__value)),u&1&&r!==(r=se(a[6]))&&b(t,"title",r)},d(a){a&&k(t)}}}function Ke(e){let t,l,o,n=e[4]("device.allDevices")+"",r,a,u,E,f=x(e[0]),s=[];for(let i=0;i<f.length;i+=1)s[i]=we(Oe(e,f,i));return{c(){t=D("div"),l=D("select"),o=D("option"),r=P(n);for(let i=0;i<s.length;i+=1)s[i].c();this.h()},l(i){t=T(i,"DIV",{class:!0});var p=I(t);l=T(p,"SELECT",{title:!0,class:!0});var c=I(l);o=T(c,"OPTION",{});var m=I(o);r=M(m,n),m.forEach(k);for(let d=0;d<s.length;d+=1)s[d].l(c);c.forEach(k),p.forEach(k),this.h()},h(){o.__value="",y(o,o.__value),l.disabled=e[2],b(l,"title",a=e[3]?se(e[3]):e[4]("device.allDevices")),b(l,"class","svelte-1ly3vhf"),b(t,"class","device-selector svelte-1ly3vhf")},m(i,p){q(i,t,p),_(t,l),_(l,o),_(o,r);for(let c=0;c<s.length;c+=1)s[c]&&s[c].m(l,null);$(l,e[1]),u||(E=S(l,"change",e[5]),u=!0)},p(i,[p]){if(p&16&&n!==(n=i[4]("device.allDevices")+"")&&A(r,n),p&1){f=x(i[0]);let c;for(c=0;c<f.length;c+=1){const m=Oe(i,f,c);s[c]?s[c].p(m,p):(s[c]=we(m),s[c].c(),s[c].m(l,null))}for(;c<s.length;c+=1)s[c].d(1);s.length=f.length}p&3&&$(l,i[1]),p&4&&(l.disabled=i[2]),p&24&&a!==(a=i[3]?se(i[3]):i[4]("device.allDevices"))&&b(l,"title",a)},i:Y,o:Y,d(i){i&&k(t),fe(s,i),u=!1,E()}}}function je(e){const t=[];return e.platform?t.push(e.platform):t.push("Unknown"),t.push(e.displayName),t.push(`(${e.recordCount})`),t.join(" ")}function se(e){const t=[`Name: ${e.displayName}`];return e.platform&&t.push(`Platform: ${e.platform}`),t.push(`Records: ${e.recordCount}`),t.push(`ID: ${e.deviceInstanceId}`),t.join(`
|
|
2
|
+
`)}function We(e,t,l){let o,n,r;H(e,Ue,f=>l(1,n=f)),H(e,_e,f=>l(4,r=f));let a=[],u=!0;ye(async()=>{try{const s=await(await fetch("/api/devices")).json();l(0,a=s.devices||[])}catch{l(0,a=[])}finally{l(2,u=!1)}});function E(f){Ae(f.target.value)}return e.$$.update=()=>{e.$$.dirty&3&&l(3,o=a.find(f=>f.deviceInstanceId===n))},[a,n,u,o,r,E]}class nt extends re{constructor(t){super(),ue(this,t,We,Ke,ae,{})}}function Se(e,t,l){const o=e.slice();return o[4]=t[l],o}function Me(e){let t,l=e[4]+"",o;return{c(){t=D("option"),o=P(l),this.h()},l(n){t=T(n,"OPTION",{});var r=I(t);o=M(r,l),r.forEach(k),this.h()},h(){t.__value=e[4],y(t,t.__value)},m(n,r){q(n,t,r),_(t,o)},p:Y,d(n){n&&k(t)}}}function Ge(e){let t,l,o,n=e[1]("tool.allTools")+"",r,a,u,E,f=x(e[2]),s=[];for(let i=0;i<f.length;i+=1)s[i]=Me(Se(e,f,i));return{c(){t=D("div"),l=D("select"),o=D("option"),r=P(n);for(let i=0;i<s.length;i+=1)s[i].c();this.h()},l(i){t=T(i,"DIV",{class:!0});var p=I(t);l=T(p,"SELECT",{title:!0,class:!0});var c=I(l);o=T(c,"OPTION",{});var m=I(o);r=M(m,n),m.forEach(k);for(let d=0;d<s.length;d+=1)s[d].l(c);c.forEach(k),p.forEach(k),this.h()},h(){o.__value="",y(o,o.__value),b(l,"title",a=e[1]("tool.allTools")),b(l,"class","svelte-1xl6um1"),b(t,"class","tool-selector svelte-1xl6um1")},m(i,p){q(i,t,p),_(t,l),_(l,o),_(o,r);for(let c=0;c<s.length;c+=1)s[c]&&s[c].m(l,null);$(l,e[0]),u||(E=S(l,"change",e[3]),u=!0)},p(i,[p]){if(p&2&&n!==(n=i[1]("tool.allTools")+"")&&A(r,n),p&4){f=x(i[2]);let c;for(c=0;c<f.length;c+=1){const m=Se(i,f,c);s[c]?s[c].p(m,p):(s[c]=Me(m),s[c].c(),s[c].m(l,null))}for(;c<s.length;c+=1)s[c].d(1);s.length=f.length}p&5&&$(l,i[0]),p&2&&a!==(a=i[1]("tool.allTools"))&&b(l,"title",a)},i:Y,o:Y,d(i){i&&k(t),fe(s,i),u=!1,E()}}}function He(e,t,l){let o,n;H(e,Be,u=>l(0,o=u)),H(e,_e,u=>l(1,n=u));const r=["claude-code","codex","openclaw","opencode"];function a(u){Ve(u.target.value)}return[o,n,r,a]}class st extends re{constructor(t){super(),ue(this,t,He,Ge,ae,{})}}export{ot as D,st as T,nt as a,Ue as b,et as c,pe as d,lt as e,tt as f,xe as g,Be as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(r,e){const n=new URLSearchParams;for(const[a,c]of Object.entries(e))c&&n.set(a,c);const s=n.toString();return s?`${r}?${s}`:r}async function t(r){var n;const e=await fetch(r);if(!e.ok){const s=await e.json().catch(()=>({error:{message:"API error"}}));throw new Error(((n=s.error)==null?void 0:n.message)||`HTTP ${e.status}`)}return e.json()}async function f(r){return t(o("/api/summary",r))}async function u(r){return t(o("/api/tokens",r))}async function p(r){return t(o("/api/cost",r))}async function h(r){return t(o("/api/models",r))}async function g(r){return t(o("/api/tool-calls",r))}async function y(r){var e,n;return t(o("/api/sessions",{...r,page:(e=r.page)==null?void 0:e.toString(),pageSize:(n=r.pageSize)==null?void 0:n.toString()}))}async function w(r){return t(o("/api/projects",r))}async function d(){return t("/api/refresh")}async function m(){return t("/api/pricing")}async function T(r,e){var s;const n=await fetch("/api/pricing",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:r,...e})});if(!n.ok){const a=await n.json().catch(()=>({error:{message:"API error"}}));throw new Error(((s=a.error)==null?void 0:s.message)||`HTTP ${n.status}`)}return n.json()}async function P(r){var n;const e=await fetch(`/api/pricing?model=${encodeURIComponent(r)}`,{method:"DELETE"});if(!e.ok){const s=await e.json().catch(()=>({error:{message:"API error"}}));throw new Error(((n=s.error)==null?void 0:n.message)||`HTTP ${e.status}`)}return e.json()}async function l(){var e;const r=await fetch("/api/pricing/recalc",{method:"POST"});if(!r.ok){const n=await r.json().catch(()=>({error:{message:"API error"}}));throw new Error(((e=n.error)==null?void 0:e.message)||`HTTP ${r.status}`)}return r.json()}async function S(){var e;const r=await fetch("/api/sync",{method:"POST"});if(!r.ok){const n=await r.json().catch(()=>({error:{message:"API error"}}));throw new Error(((e=n.error)==null?void 0:e.message)||`HTTP ${r.status}`)}return r.json()}async function j(){return t("/api/sync")}async function E(){return t("/api/config")}async function k(r){return t(o("/api/config/credential",{ref:r}))}async function C(r){var n;const e=await fetch("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!e.ok){const s=await e.json().catch(()=>({error:{message:"API error"}}));throw new Error(((n=s.error)==null?void 0:n.message)||`HTTP ${e.status}`)}return e.json()}const i="aiusage:settings-updated";function $(r){typeof window>"u"||window.dispatchEvent(new CustomEvent(i,{detail:r}))}export{i as S,h as a,f as b,m as c,P as d,l as e,p as f,w as g,y as h,E as i,k as j,u as k,g as l,j as m,$ as n,d as r,C as s,S as t,T as u};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var mt=Object.defineProperty;var wt=(e,n,t)=>n in e?mt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var P=(e,n,t)=>wt(e,typeof n!="symbol"?n+"":n,t);import{o as je,t as yt}from"./scheduler.DukoKnjQ.js";import{w as ye}from"./index.BjVwNvJa.js";new URL("sveltekit-internal://");function _t(e,n){return e==="/"||n==="ignore"?e:n==="never"?e.endsWith("/")?e.slice(0,-1):e:n==="always"&&!e.endsWith("/")?e+"/":e}function vt(e){return e.split("%25").map(decodeURI).join("%25")}function bt(e){for(const n in e)e[n]=decodeURIComponent(e[n]);return e}function ue({href:e}){return e.split("#")[0]}function At(e,n,t,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(o,c){if(c==="get"||c==="getAll"||c==="has")return f=>(t(f),o[c](f));n();const i=Reflect.get(o,c);return typeof i=="function"?i.bind(o):i}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const o of s)Object.defineProperty(a,o,{get(){return n(),e[o]},enumerable:!0,configurable:!0});return a}const Et="/__data.json",kt=".html__data.json";function St(e){return e.endsWith(".html")?e.replace(/\.html$/,kt):e.replace(/\/$/,"")+Et}function Rt(...e){let n=5381;for(const t of e)if(typeof t=="string"){let r=t.length;for(;r;)n=n*33^t.charCodeAt(--r)}else if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function It(e){const n=atob(e),t=new Uint8Array(n.length);for(let r=0;r<n.length;r++)t[r]=n.charCodeAt(r);return t.buffer}const He=window.fetch;window.fetch=(e,n)=>((e instanceof Request?e.method:(n==null?void 0:n.method)||"GET")!=="GET"&&M.delete(_e(e)),He(e,n));const M=new Map;function Ut(e,n){const t=_e(e,n),r=document.querySelector(t);if(r!=null&&r.textContent){let{body:a,...s}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&M.set(t,{body:a,init:s,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(a=It(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,n)}function Tt(e,n,t){if(M.size>0){const r=_e(e,t),a=M.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(t==null?void 0:t.cache))return new Response(a.body,a.init);M.delete(r)}}return window.fetch(n,t)}function _e(e,n){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(n!=null&&n.headers||n!=null&&n.body){const a=[];n.headers&&a.push([...new Headers(n.headers)].join(",")),n.body&&(typeof n.body=="string"||ArrayBuffer.isView(n.body))&&a.push(n.body),r+=`[data-hash="${Rt(...a)}"]`}return r}const Lt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Pt(e){const n=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${jt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return n.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const o=r.split(/\[(.+?)\](?!\])/);return"/"+o.map((i,f)=>{if(f%2){if(i.startsWith("x+"))return de(String.fromCharCode(parseInt(i.slice(2),16)));if(i.startsWith("u+"))return de(String.fromCharCode(...i.slice(2).split("-").map(l=>parseInt(l,16))));const h=Lt.exec(i),[,u,g,p,d]=h;return n.push({name:p,matcher:d,optional:!!u,rest:!!g,chained:g?f===1&&o[0]==="":!1}),g?"(.*?)":u?"([^/]*)?":"([^/]+?)"}return de(i)}).join("")}).join("")}/?$`),params:n}}function Ot(e){return!/^\([^)]+\)$/.test(e)}function jt(e){return e.slice(1).split("/").filter(Ot)}function Nt(e,n,t){const r={},a=e.slice(1),s=a.filter(c=>c!==void 0);let o=0;for(let c=0;c<n.length;c+=1){const i=n[c];let f=a[c-o];if(i.chained&&i.rest&&o&&(f=a.slice(c-o,c+1).filter(h=>h).join("/"),o=0),f===void 0){i.rest&&(r[i.name]="");continue}if(!i.matcher||t[i.matcher](f)){r[i.name]=f;const h=n[c+1],u=a[c+1];h&&!h.rest&&h.optional&&u&&i.chained&&(o=0),!h&&!u&&Object.keys(r).length===s.length&&(o=0);continue}if(i.optional&&i.chained){o++;continue}return}if(!o)return r}function de(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function $t({nodes:e,server_loads:n,dictionary:t,matchers:r}){const a=new Set(n);return Object.entries(t).map(([c,[i,f,h]])=>{const{pattern:u,params:g}=Pt(c),p={id:c,exec:d=>{const l=u.exec(d);if(l)return Nt(l,g,r)},errors:[1,...h||[]].map(d=>e[d]),layouts:[0,...f||[]].map(o),leaf:s(i)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function s(c){const i=c<0;return i&&(c=~c),[i,e[c]]}function o(c){return c===void 0?c:[a.has(c),e[c]]}}function Ke(e,n=JSON.parse){try{return n(sessionStorage[e])}catch{}}function Ne(e,n,t=JSON.stringify){const r=t(n);try{sessionStorage[e]=r}catch{}}var Me;const L=((Me=globalThis.__sveltekit_2d4omt)==null?void 0:Me.base)??"";var qe;const xt=((qe=globalThis.__sveltekit_2d4omt)==null?void 0:qe.assets)??L,Ct="1779348730560",We="sveltekit:snapshot",Ye="sveltekit:scroll",Je="sveltekit:states",Dt="sveltekit:pageurl",C="sveltekit:history",H="sveltekit:navigation",z={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},J=location.origin;function ze(e){if(e instanceof URL)return e;let n=document.baseURI;if(!n){const t=document.getElementsByTagName("base");n=t.length?t[0].href:document.URL}return new URL(e,n)}function ve(){return{x:pageXOffset,y:pageYOffset}}function x(e,n){return e.getAttribute(`data-sveltekit-${n}`)}const $e={...z,"":z.hover};function Xe(e){let n=e.assignedSlot??e.parentNode;return(n==null?void 0:n.nodeType)===11&&(n=n.host),n}function Ze(e,n){for(;e&&e!==n;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Xe(e)}}function ge(e,n,t){let r;try{r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||oe(r,n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===J&&e.hasAttribute("download");return{url:r,external:s,target:a,download:o}}function X(e){let n=null,t=null,r=null,a=null,s=null,o=null,c=e;for(;c&&c!==document.documentElement;)r===null&&(r=x(c,"preload-code")),a===null&&(a=x(c,"preload-data")),n===null&&(n=x(c,"keepfocus")),t===null&&(t=x(c,"noscroll")),s===null&&(s=x(c,"reload")),o===null&&(o=x(c,"replacestate")),c=Xe(c);function i(f){switch(f){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:$e[r??"off"],preload_data:$e[a??"off"],keepfocus:i(n),noscroll:i(t),reload:i(s),replace_state:i(o)}}function xe(e){const n=ye(e);let t=!0;function r(){t=!0,n.update(o=>o)}function a(o){t=!1,n.set(o)}function s(o){let c;return n.subscribe(i=>{(c===void 0||t&&i!==c)&&o(c=i)})}return{notify:r,set:a,subscribe:s}}const Qe={v:()=>{}};function Bt(){const{set:e,subscribe:n}=ye(!1);let t;async function r(){clearTimeout(t);try{const a=await fetch(`${xt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==Ct;return o&&(e(!0),Qe.v(),clearTimeout(t)),o}catch{return!1}}return{subscribe:n,check:r}}function oe(e,n,t){return e.origin!==J||!e.pathname.startsWith(n)?!0:t?!(e.pathname===n+"/"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===n):!1}function Ft(e){return Uint8Array.fromBase64(e).buffer}function Vt(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function Mt(e){const n=atob(e),t=n.length,r=new Uint8Array(t);for(let a=0;a<t;a++)r[a]=n.charCodeAt(a);return r.buffer}const qt=typeof Uint8Array.fromBase64=="function";var Ge;const Gt=typeof process=="object"&&((Ge=process.versions)==null?void 0:Ge.node)!==void 0,Ht=qt?Ft:Gt?Vt:Mt,Kt=-1,Wt=-2,Yt=-3,Jt=-4,zt=-5,Xt=-6,Zt=-7;function Qt(e,n){if(typeof e=="number")return s(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,r=Array(t.length);let a=null;function s(o,c=!1){if(o===Kt)return;if(o===Yt)return NaN;if(o===Jt)return 1/0;if(o===zt)return-1/0;if(o===Xt)return-0;if(c||typeof o!="number")throw new Error("Invalid input");if(o in r)return r[o];const i=t[o];if(!i||typeof i!="object")r[o]=i;else if(Array.isArray(i))if(typeof i[0]=="string"){const f=i[0],h=n&&Object.hasOwn(n,f)?n[f]:void 0;if(h){let u=i[1];if(typeof u!="number"&&(u=t.push(i[1])-1),a??(a=new Set),a.has(u))throw new Error("Invalid circular reference");return a.add(u),r[o]=h(s(u)),a.delete(u),r[o]}switch(f){case"Date":r[o]=new Date(i[1]);break;case"Set":const u=new Set;r[o]=u;for(let d=1;d<i.length;d+=1)u.add(s(i[d]));break;case"Map":const g=new Map;r[o]=g;for(let d=1;d<i.length;d+=2)g.set(s(i[d]),s(i[d+1]));break;case"RegExp":r[o]=new RegExp(i[1],i[2]);break;case"Object":{const d=i[1];if(typeof t[d]=="object"&&t[d][0]!=="BigInt")throw new Error("Invalid input");r[o]=Object(s(d));break}case"BigInt":r[o]=BigInt(i[1]);break;case"null":const p=Object.create(null);r[o]=p;for(let d=1;d<i.length;d+=2){if(i[d]==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");p[i[d]]=s(i[d+1])}break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Float16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":case"DataView":{if(t[i[1]][0]!=="ArrayBuffer")throw new Error("Invalid data");const d=globalThis[f],l=s(i[1]);r[o]=i[2]!==void 0?new d(l,i[2],i[3]):new d(l);break}case"ArrayBuffer":{const d=i[1];if(typeof d!="string")throw new Error("Invalid ArrayBuffer encoding");const l=Ht(d);r[o]=l;break}case"Temporal.Duration":case"Temporal.Instant":case"Temporal.PlainDate":case"Temporal.PlainTime":case"Temporal.PlainDateTime":case"Temporal.PlainMonthDay":case"Temporal.PlainYearMonth":case"Temporal.ZonedDateTime":{const d=f.slice(9);r[o]=Temporal[d].from(i[1]);break}case"URL":{const d=new URL(i[1]);r[o]=d;break}case"URLSearchParams":{const d=new URLSearchParams(i[1]);r[o]=d;break}default:throw new Error(`Unknown type ${f}`)}}else if(i[0]===Zt){const f=i[1];if(!Number.isInteger(f)||f<0)throw new Error("Invalid input");const h=new Array(f);r[o]=h;for(let u=2;u<i.length;u+=2){const g=i[u];if(!Number.isInteger(g)||g<0||g>=f)throw new Error("Invalid input");h[g]=s(i[u+1])}}else{const f=new Array(i.length);r[o]=f;for(let h=0;h<i.length;h+=1){const u=i[h];u!==Wt&&(f[h]=s(u))}}else{const f={};r[o]=f;for(const h of Object.keys(i)){if(h==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");const u=i[h];f[h]=s(u)}}return r[o]}return s(0)}const et=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...et];const en=new Set([...et]);[...en];function tn(e){return e.filter(n=>n!=null)}class se{constructor(n,t){this.status=n,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class be{constructor(n,t){this.status=n,this.location=t}}class Ae extends Error{constructor(n,t,r){super(r),this.status=n,this.text=t}}const nn="x-sveltekit-invalidated",rn="x-sveltekit-trailing-slash";function Z(e){return e instanceof se||e instanceof Ae?e.status:500}function an(e){return e instanceof Ae?e.text:"Internal Error"}let I,K,he;const on=je.toString().includes("$$")||/function \w+\(\) \{\}/.test(je.toString());on?(I={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},K={current:null},he={current:!1}):(I=new class{constructor(){P(this,"data",$state.raw({}));P(this,"form",$state.raw(null));P(this,"error",$state.raw(null));P(this,"params",$state.raw({}));P(this,"route",$state.raw({id:null}));P(this,"state",$state.raw({}));P(this,"status",$state.raw(-1));P(this,"url",$state.raw(new URL("https://example.com")))}},K=new class{constructor(){P(this,"current",$state.raw(null))}},he=new class{constructor(){P(this,"current",$state.raw(!1))}},Qe.v=()=>he.current=!0);function sn(e){Object.assign(I,e)}const cn=new Set(["icon","shortcut icon","apple-touch-icon"]),$=Ke(Ye)??{},W=Ke(We)??{},j={url:xe({}),page:xe({}),navigating:ye(null),updated:Bt()};function Ee(e){$[e]=ve()}function ln(e,n){let t=e+1;for(;$[t];)delete $[t],t+=1;for(t=n+1;W[t];)delete W[t],t+=1}function B(e){return location.href=e.href,new Promise(()=>{})}async function tt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}function Ce(){}let ie,me,Q,O,we,A;const nt=[],ee=[];let U=null;const rt=new Set,fn=new Set,q=new Set;let y={branch:[],error:null,url:null},ke=!1,te=!1,De=!0,Y=!1,F=!1,at=!1,Se=!1,ot,R,T,ne;const G=new Set;async function Rn(e,n,t){var a,s,o,c;document.URL!==location.href&&(location.href=location.href),A=e,await((s=(a=e.hooks).init)==null?void 0:s.call(a)),ie=$t(e),O=document.documentElement,we=n,me=e.nodes[0],Q=e.nodes[1],me(),Q(),R=(o=history.state)==null?void 0:o[C],T=(c=history.state)==null?void 0:c[H],R||(R=T=Date.now(),history.replaceState({...history.state,[C]:R,[H]:T},""));const r=$[R];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),t?await yn(we,t):mn(location.href,{replaceState:!0}),wn()}function un(){nt.length=0,Se=!1}function st(e){ee.some(n=>n==null?void 0:n.snapshot)&&(W[e]=ee.map(n=>{var t;return(t=n==null?void 0:n.snapshot)==null?void 0:t.capture()}))}function it(e){var n;(n=W[e])==null||n.forEach((t,r)=>{var a,s;(s=(a=ee[r])==null?void 0:a.snapshot)==null||s.restore(t)})}function Be(){Ee(R),Ne(Ye,$),st(T),Ne(We,W)}async function Re(e,n,t,r){return V({type:"goto",url:ze(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:t,nav_token:r,accept:()=>{n.invalidateAll&&(Se=!0)}})}async function dn(e){if(e.id!==(U==null?void 0:U.id)){const n={};G.add(n),U={id:e.id,token:n,promise:lt({...e,preload:n}).then(t=>(G.delete(n),t.type==="loaded"&&t.state.error&&(U=null),t))}}return U.promise}async function pe(e){const n=ie.find(t=>t.exec(ft(e)));n&&await Promise.all([...n.layouts,n.leaf].map(t=>t==null?void 0:t[1]()))}function ct(e,n,t){var s;y=e.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),Object.assign(I,e.props.page),ot=new A.root({target:n,props:{...e.props,stores:j,components:ee},hydrate:t,sync:!1}),it(T);const a={from:null,to:{params:y.params,route:{id:((s=y.route)==null?void 0:s.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};q.forEach(o=>o(a)),te=!0}function re({url:e,params:n,branch:t,status:r,error:a,route:s,form:o}){let c="never";if(L&&(e.pathname===L||e.pathname===L+"/"))c="always";else for(const p of t)(p==null?void 0:p.slash)!==void 0&&(c=p.slash);e.pathname=_t(e.pathname,c),e.search=e.search;const i={type:"loaded",state:{url:e,params:n,branch:t,error:a,route:s},props:{constructors:tn(t).map(p=>p.node.component),page:Le(I)}};o!==void 0&&(i.props.form=o);let f={},h=!I,u=0;for(let p=0;p<Math.max(t.length,y.branch.length);p+=1){const d=t[p],l=y.branch[p];(d==null?void 0:d.data)!==(l==null?void 0:l.data)&&(h=!0),d&&(f={...f,...d.data},h&&(i.props[`data_${u}`]=f),u+=1)}return(!y.url||e.href!==y.url.href||y.error!==a||o!==void 0&&o!==I.form||h)&&(i.props.page={error:a,params:n,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(e),form:o??null,data:h?f:I.data}),i}async function Ie({loader:e,parent:n,url:t,params:r,route:a,server_data_node:s}){var h,u,g;let o=null,c=!0;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},f=await e();if((h=f.universal)!=null&&h.load){let p=function(...l){for(const m of l){const{href:b}=new URL(m,t);i.dependencies.add(b)}};const d={route:new Proxy(a,{get:(l,m)=>(c&&(i.route=!0),l[m])}),params:new Proxy(r,{get:(l,m)=>(c&&i.params.add(m),l[m])}),data:(s==null?void 0:s.data)??null,url:At(t,()=>{c&&(i.url=!0)},l=>{c&&i.search_params.add(l)},A.hash),async fetch(l,m){let b;l instanceof Request?(b=l.url,m={body:l.method==="GET"||l.method==="HEAD"?void 0:await l.blob(),cache:l.cache,credentials:l.credentials,headers:[...l.headers].length?l.headers:void 0,integrity:l.integrity,keepalive:l.keepalive,method:l.method,mode:l.mode,redirect:l.redirect,referrer:l.referrer,referrerPolicy:l.referrerPolicy,signal:l.signal,...m}):b=l;const k=new URL(b,t);return c&&p(k.href),k.origin===t.origin&&(b=k.href.slice(t.origin.length)),te?Tt(b,k.href,m):Ut(b,m)},setHeaders:()=>{},depends:p,parent(){return c&&(i.parent=!0),n()},untrack(l){c=!1;try{return l()}finally{c=!0}}};o=await f.universal.load.call(null,d)??null}return{node:f,loader:e,server:s,universal:(u=f.universal)!=null&&u.load?{type:"data",data:o,uses:i}:null,data:o??(s==null?void 0:s.data)??null,slash:((g=f.universal)==null?void 0:g.trailingSlash)??(s==null?void 0:s.slash)}}function Fe(e,n,t,r,a,s){if(Se)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&t)return!0;for(const o of a.search_params)if(r.has(o))return!0;for(const o of a.params)if(s[o]!==y.params[o])return!0;for(const o of a.dependencies)if(nt.some(c=>c(new URL(o))))return!0;return!1}function Ue(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}function hn(e,n){if(!e)return new Set(n.searchParams.keys());const t=new Set([...e.searchParams.keys(),...n.searchParams.keys()]);for(const r of t){const a=e.searchParams.getAll(r),s=n.searchParams.getAll(r);a.every(o=>s.includes(o))&&s.every(o=>a.includes(o))&&t.delete(r)}return t}function Ve({error:e,url:n,route:t,params:r}){return{type:"loaded",state:{error:e,url:n,route:t,params:r,branch:[]},props:{page:Le(I),constructors:[]}}}async function lt({id:e,invalidating:n,url:t,params:r,route:a,preload:s}){if((U==null?void 0:U.id)===e)return G.delete(U.token),U.promise;const{errors:o,layouts:c,leaf:i}=a,f=[...c,i];o.forEach(w=>w==null?void 0:w().catch(()=>{})),f.forEach(w=>w==null?void 0:w[1]().catch(()=>{}));let h=null;const u=y.url?e!==ae(y.url):!1,g=y.route?a.id!==y.route.id:!1,p=hn(y.url,t);let d=!1;const l=f.map((w,_)=>{var N;const E=y.branch[_],S=!!(w!=null&&w[0])&&((E==null?void 0:E.loader)!==w[1]||Fe(d,g,u,p,(N=E.server)==null?void 0:N.uses,r));return S&&(d=!0),S});if(l.some(Boolean)){try{h=await ht(t,l)}catch(w){const _=await D(w,{url:t,params:r,route:{id:e}});return G.has(s)?Ve({error:_,url:t,params:r,route:a}):ce({status:Z(w),error:_,url:t,route:a})}if(h.type==="redirect")return h}const m=h==null?void 0:h.nodes;let b=!1;const k=f.map(async(w,_)=>{var le;if(!w)return;const E=y.branch[_],S=m==null?void 0:m[_];if((!S||S.type==="skip")&&w[1]===(E==null?void 0:E.loader)&&!Fe(b,g,u,p,(le=E.universal)==null?void 0:le.uses,r))return E;if(b=!0,(S==null?void 0:S.type)==="error")throw S;return Ie({loader:w[1],url:t,params:r,route:a,parent:async()=>{var Oe;const Pe={};for(let fe=0;fe<_;fe+=1)Object.assign(Pe,(Oe=await k[fe])==null?void 0:Oe.data);return Pe},server_data_node:Ue(S===void 0&&w[0]?{type:"skip"}:S??null,w[0]?E==null?void 0:E.server:void 0)})});for(const w of k)w.catch(()=>{});const v=[];for(let w=0;w<f.length;w+=1)if(f[w])try{v.push(await k[w])}catch(_){if(_ instanceof be)return{type:"redirect",location:_.location};if(G.has(s))return Ve({error:await D(_,{params:r,url:t,route:{id:a.id}}),url:t,params:r,route:a});let E=Z(_),S;if(m!=null&&m.includes(_))E=_.status??E,S=_.error;else if(_ instanceof se)S=_.body;else{if(await j.updated.check())return await tt(),await B(t);S=await D(_,{params:r,url:t,route:{id:a.id}})}const N=await pn(w,v,o);return N?re({url:t,params:r,branch:v.slice(0,N.idx).concat(N.node),status:E,error:S,route:a}):await dt(t,{id:a.id},S,E)}else v.push(void 0);return re({url:t,params:r,branch:v,status:200,error:null,route:a,form:n?void 0:null})}async function pn(e,n,t){for(;e--;)if(t[e]){let r=e;for(;!n[r];)r-=1;try{return{idx:r+1,node:{node:await t[e](),loader:t[e],data:{},server:null,universal:null}}}catch{continue}}}async function ce({status:e,error:n,url:t,route:r}){const a={};let s=null;if(A.server_loads[0]===0)try{const c=await ht(t,[!0]);if(c.type!=="data"||c.nodes[0]&&c.nodes[0].type!=="data")throw 0;s=c.nodes[0]??null}catch{(t.origin!==J||t.pathname!==location.pathname||ke)&&await B(t)}try{const c=await Ie({loader:me,url:t,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Ue(s)}),i={node:await Q(),loader:Q,universal:null,server:null,data:null};return re({url:t,params:a,branch:[c,i],status:e,error:n,route:null})}catch(c){if(c instanceof be)return Re(new URL(c.location,location.href),{},0);throw c}}function Te(e,n){if(!e||oe(e,L,A.hash))return;let t;try{if(t=A.hooks.reroute({url:new URL(e)})??e,typeof t=="string"){const a=new URL(e);A.hash?a.hash=t:a.pathname=t,t=a}}catch{return}const r=ft(t);for(const a of ie){const s=a.exec(r);if(s)return{id:ae(e),invalidating:n,route:a,params:bt(s),url:e}}}function ft(e){return vt(A.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function ae(e){return(A.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ut({url:e,type:n,intent:t,delta:r}){let a=!1;const s=gt(y,t,e,n);r!==void 0&&(s.navigation.delta=r);const o={...s.navigation,cancel:()=>{a=!0,s.reject(new Error("navigation cancelled"))}};return Y||rt.forEach(c=>c(o)),a?null:s}async function V({type:e,url:n,popped:t,keepfocus:r,noscroll:a,replace_state:s,state:o={},redirect_count:c=0,nav_token:i={},accept:f=Ce,block:h=Ce}){const u=Te(n,!1),g=ut({url:n,type:e,delta:t==null?void 0:t.delta,intent:u});if(!g){h();return}const p=R,d=T;f(),Y=!0,te&&j.navigating.set(K.current=g.navigation),ne=i;let l=u&&await lt(u);if(!l){if(oe(n,L,A.hash))return await B(n);l=await dt(n,{id:null},await D(new Ae(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(u==null?void 0:u.url)||n,ne!==i)return g.reject(new Error("navigation aborted")),!1;if(l.type==="redirect")if(c>=20)l=await ce({status:500,error:await D(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return Re(new URL(l.location,n).href,{},c+1,i),!1;else l.props.page.status>=400&&await j.updated.check()&&(await tt(),await B(n));if(un(),Ee(p),st(d),l.props.page.url.pathname!==n.pathname&&(n.pathname=l.props.page.url.pathname),o=t?t.state:o,!t){const v=s?0:1,w={[C]:R+=v,[H]:T+=v,[Je]:o};(s?history.replaceState:history.pushState).call(history,w,"",n),s||ln(R,T)}if(U=null,l.props.page.state=o,te){y=l.state,l.props.page&&(l.props.page.url=n);const v=(await Promise.all(Array.from(fn,w=>w(g.navigation)))).filter(w=>typeof w=="function");if(v.length>0){let w=function(){v.forEach(_=>{q.delete(_)})};v.push(w),v.forEach(_=>{q.add(_)})}ot.$set(l.props),sn(l.props.page),at=!0}else ct(l,we,!1);const{activeElement:m}=document;await yt();const b=t?t.scroll:a?ve():null;if(De){const v=n.hash&&document.getElementById(decodeURIComponent(A.hash?n.hash.split("#")[2]??"":n.hash.slice(1)));b?scrollTo(b.x,b.y):v?v.scrollIntoView():scrollTo(0,0)}const k=document.activeElement!==m&&document.activeElement!==document.body;!r&&!k&&_n(),De=!0,l.props.page&&Object.assign(I,l.props.page),Y=!1,e==="popstate"&&it(T),g.fulfil(void 0),q.forEach(v=>v(g.navigation)),j.navigating.set(K.current=null)}async function dt(e,n,t,r){return e.origin===J&&e.pathname===location.pathname&&!ke?await ce({status:r,error:t,url:e,route:n}):await B(e)}function gn(){let e;O.addEventListener("mousemove",s=>{const o=s.target;clearTimeout(e),e=setTimeout(()=>{r(o,2)},20)});function n(s){s.defaultPrevented||r(s.composedPath()[0],1)}O.addEventListener("mousedown",n),O.addEventListener("touchstart",n,{passive:!0});const t=new IntersectionObserver(s=>{for(const o of s)o.isIntersecting&&(pe(new URL(o.target.href)),t.unobserve(o.target))},{threshold:0});function r(s,o){const c=Ze(s,O);if(!c)return;const{url:i,external:f,download:h}=ge(c,L,A.hash);if(f||h)return;const u=X(c),g=i&&ae(y.url)===ae(i);if(!u.reload&&!g)if(o<=u.preload_data){const p=Te(i,!1);p&&dn(p)}else o<=u.preload_code&&pe(i)}function a(){t.disconnect();for(const s of O.querySelectorAll("a")){const{url:o,external:c,download:i}=ge(s,L,A.hash);if(c||i)continue;const f=X(s);f.reload||(f.preload_code===z.viewport&&t.observe(s),f.preload_code===z.eager&&pe(o))}}q.add(a),a()}function D(e,n){if(e instanceof se)return e.body;const t=Z(e),r=an(e);return A.hooks.handleError({error:e,event:n,status:t,message:r})??{message:r}}function mn(e,n={}){return e=new URL(ze(e)),e.origin!==J?Promise.reject(new Error("goto: invalid URL")):Re(e,n,0)}function wn(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(Be(),!Y){const a=gt(y,void 0,null,"leave"),s={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};rt.forEach(o=>o(s))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Be()}),(n=navigator.connection)!=null&&n.saveData||gn(),O.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Ze(t.composedPath()[0],O);if(!r)return;const{url:a,external:s,target:o,download:c}=ge(r,L,A.hash);if(!a)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const i=X(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||c)return;const[h,u]=(A.hash?a.hash.replace(/^#/,""):a.href).split("#"),g=h===ue(location);if(s||i.reload&&(!g||!u)){ut({url:a,type:"link"})?Y=!0:t.preventDefault();return}if(u!==void 0&&g){const[,p]=y.url.href.split("#");if(p===u){if(t.preventDefault(),u===""||u==="top"&&r.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const d=r.ownerDocument.getElementById(decodeURIComponent(u));d&&(d.scrollIntoView(),d.focus())}return}if(F=!0,Ee(R),e(a),!i.replace_state)return;F=!1}t.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),V({type:"link",url:a,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??a.href===location.href})}),O.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const c=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(oe(c,L,!1))return;const i=t.target,f=X(i);if(f.reload)return;t.preventDefault(),t.stopPropagation();const h=new FormData(i),u=a==null?void 0:a.getAttribute("name");u&&h.append(u,(a==null?void 0:a.getAttribute("value"))??""),c.search=new URLSearchParams(h).toString(),V({type:"form",url:c,keepfocus:f.keepfocus,noscroll:f.noscroll,replace_state:f.replace_state??c.href===location.href})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[C]){const a=t.state[C];if(ne={},a===R)return;const s=$[a],o=t.state[Je]??{},c=new URL(t.state[Dt]??location.href),i=t.state[H],f=y.url?ue(location)===ue(y.url):!1;if(i===T&&(at||f)){o!==I.state&&(I.state=o),e(c),$[R]=ve(),s&&scrollTo(s.x,s.y),R=a;return}const u=a-R;await V({type:"popstate",url:c,popped:{state:o,scroll:s,delta:u},accept:()=>{R=a,T=i},block:()=>{history.go(-u)},nav_token:ne})}else if(!F){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{F?(F=!1,history.replaceState({...history.state,[C]:++R,[H]:T},"",location.href)):A.hash&&y.url.hash===location.hash&&V({type:"goto",url:y.url})});for(const t of document.querySelectorAll("link"))cn.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&j.navigating.set(K.current=null)});function e(t){y.url=I.url=t,j.page.set(Le(I)),j.page.notify()}}async function yn(e,{status:n=200,error:t,node_ids:r,params:a,route:s,data:o,form:c}){ke=!0;const i=new URL(location.href);({params:a={},route:s={id:null}}=Te(i,!1)||{});let f,h=!0;try{const u=r.map(async(d,l)=>{const m=o[l];return m!=null&&m.uses&&(m.uses=pt(m.uses)),Ie({loader:A.nodes[d],url:i,params:a,route:s,parent:async()=>{const b={};for(let k=0;k<l;k+=1)Object.assign(b,(await u[k]).data);return b},server_data_node:Ue(m)})}),g=await Promise.all(u),p=ie.find(({id:d})=>d===s.id);if(p){const d=p.layouts;for(let l=0;l<d.length;l++)d[l]||g.splice(l,0,void 0)}f=re({url:i,params:a,branch:g,status:n,error:t,form:c,route:p??null})}catch(u){if(u instanceof be){await B(new URL(u.location,location.href));return}f=await ce({status:Z(u),error:await D(u,{url:i,params:a,route:s}),url:i,route:s}),e.textContent="",h=!1}f.props.page&&(f.props.page.state={}),ct(f,e,h)}async function ht(e,n){var a;const t=new URL(e);t.pathname=St(e.pathname),e.pathname.endsWith("/")&&t.searchParams.append(rn,"1"),t.searchParams.append(nn,n.map(s=>s?"1":"0").join(""));const r=await He(t.href);if(!r.ok){let s;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?s=await r.json():r.status===404?s="Not Found":r.status===500&&(s="Internal Error"),new se(r.status,s)}return new Promise(async s=>{var u;const o=new Map,c=r.body.getReader(),i=new TextDecoder;function f(g){return Qt(g,{...A.decoders,Promise:p=>new Promise((d,l)=>{o.set(p,{fulfil:d,reject:l})})})}let h="";for(;;){const{done:g,value:p}=await c.read();if(g&&!h)break;for(h+=!p&&h?`
|
|
2
|
+
`:i.decode(p,{stream:!0});;){const d=h.indexOf(`
|
|
3
|
+
`);if(d===-1)break;const l=JSON.parse(h.slice(0,d));if(h=h.slice(d+1),l.type==="redirect")return s(l);if(l.type==="data")(u=l.nodes)==null||u.forEach(m=>{(m==null?void 0:m.type)==="data"&&(m.uses=pt(m.uses),m.data=f(m.data))}),s(l);else if(l.type==="chunk"){const{id:m,data:b,error:k}=l,v=o.get(m);o.delete(m),k?v.reject(f(k)):v.fulfil(f(b))}}}})}function pt(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function _n(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const n=document.body,t=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),t!==null?n.setAttribute("tabindex",t):n.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let s=0;s<r.rangeCount;s+=1)a.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===a.length){for(let s=0;s<r.rangeCount;s+=1){const o=a[s],c=r.getRangeAt(s);if(o.commonAncestorContainer!==c.commonAncestorContainer||o.startContainer!==c.startContainer||o.endContainer!==c.endContainer||o.startOffset!==c.startOffset||o.endOffset!==c.endOffset)return}r.removeAllRanges()}})}}}function gt(e,n,t,r){var i,f;let a,s;const o=new Promise((h,u)=>{a=h,s=u});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((i=e.route)==null?void 0:i.id)??null},url:e.url},to:t&&{params:(n==null?void 0:n.params)??null,route:{id:((f=n==null?void 0:n.route)==null?void 0:f.id)??null},url:t},willUnload:!n,type:r,complete:o},fulfil:a,reject:s}}function Le(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}export{Rn as a,j as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{w as r,d as c}from"./index.BjVwNvJa.js";function p(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}const a={en:{nav:{home:"Home",overview:"Overview",tokens:"Tokens",cost:"Cost",models:"Models",toolCalls:"Tool Calls",projects:"Projects",sessions:"Sessions",pricing:"Pricing",settings:"Settings",docs:"Docs",collapse:"Collapse",expand:"Expand",group:{analytics:"Analytics",data:"Data",manage:"Manage"}},common:{loading:"Loading...",error:"Error",noData:"No data available",noDataHint:"Start using AI tools to see statistics here.",apply:"Apply",all:"All",previous:"Previous",next:"Next",page:"Page",of:"of"},range:{today:"Today",week:"This Week",month:"This Month",last30:"Last 30d",allTime:"All Time",from:"From",to:"To",pickMonth:"Month..."},overview:{title:"Overview",desc:"Aggregated token, cost and session stats across all AI tools.",totalTokens:"Total Tokens",totalCost:"Total Cost",activeDays:"Active Days",totalSessions:"Sessions",inputTokens:"Input",outputTokens:"Output",cacheRead:"Cache Read",cacheWrite:"Cache Write",byTool:"By AI Assistant",byProject:"By Project",topToolCalls:"Top Tool Calls",tool:"Tool",tokens:"Tokens",cost:"Cost",noToolData:"No data",noToolCalls:"No tool calls recorded"},tokens:{title:"Tokens",desc:"Daily token usage breakdown by type.",chartTitle:"Token Usage by Day",input:"Input",output:"Output",cacheRead:"Cache Read",cacheWrite:"Cache Write",thinking:"Thinking",date:"Date",total:"Total",modeBreakdown:"Breakdown",modeTotal:"Total",noData:"No token data",noDataHint:"No token usage recorded for this period."},projects:{title:"Projects",desc:"Token usage and cost ranked by project directory.",project:"Project",sessions:"Sessions",tokens:"Tokens",cost:"Cost",share:"Share",noData:"No project data",noDataHint:"No project usage recorded for this period."},cost:{title:"Cost",desc:"Daily spending trends and cost breakdown by tool and model.",totalCost:"Total Cost",chartTitle:"Cost by Day",byTool:"By AI Assistant",byModel:"By Model",noData:"No cost data",noDataHint:"No costs recorded for this period."},models:{title:"Models",desc:"Usage ranking across all AI models.",model:"Model",provider:"Provider",calls:"Calls",tokens:"Tokens",share:"Share",noData:"No model data",noDataHint:"No model usage recorded for this period."},toolCalls:{title:"Tool Calls",desc:"Most frequently invoked tools by AI assistants.",noData:"No tool call data",noDataHint:"No tool calls recorded for this period."},sessions:{title:"Sessions",desc:"Per-session log with token and cost details.",assistant:"AI Assistant",time:"Time",tool:"Tool",model:"Model",input:"Input",output:"Output",cost:"Cost",noData:"No sessions",noDataHint:"No sessions recorded for this period."},theme:{system:"System",dark:"Dark",light:"Light"},pricing:{title:"Pricing",model:"Model",input:"Input",output:"Output",cacheRead:"Cache Read",cacheWrite:"Cache Write",thinking:"Thinking",status:"Status",actions:"Actions",edit:"Edit",save:"Save",cancel:"Cancel",reset:"Reset",recalc:"Recalculate Costs",recalcDone:"Recalculated",default:"Default",override:"Custom",matched:"Matched by prefix",noPrice:"No pricing",perMillion:"/ 1M tokens"},sync:{trigger:"Sync",syncing:"Syncing...",started:"Sync started",inProgress:"Sync already running",complete:"Synced",failed:"Sync failed",notConfigured:"Not configured",lastSync:"Last sync",never:"Never"},device:{allDevices:"All Devices",loading:"Loading..."},tool:{allTools:"All tools"},settings:{title:"Settings",save:"Save",saved:"Saved",general:"General",sources:"Sources",sync:"Sync",syncHint:"Takes effect on next sync operation",data:"Data",device:"Device Alias",deviceHint:"Optional alias; hostname is used if blank",weekStart:"Week Starts On",weekStartSunday:"Sunday",weekStartMonday:"Monday (ISO)",pollInterval:"Dashboard Poll Interval (ms)",parseInterval:"Auto-Parse Interval (ms)",retentionDays:"Local Data Retention (days)",retentionHint:"Days to keep local data (0 or empty = keep forever)",sourcePath:"Custom path (leave empty for default; takes effect on next parse)",syncBackend:"Backend",syncBackendNone:"Disabled",syncRepo:"Repository (owner/repo)",syncBucket:"Bucket",syncPrefix:"S3 Object Prefix",syncEndpoint:"Endpoint",syncRegion:"Region",syncCredentialRef:"Credential Key Name",syncCredentialValue:"Credential Value",credentialSet:"Set — leave empty to keep",credentialNotSet:"Not set",showCredential:"Show",hideCredential:"Hide"},home:{counterLabel:"AI Tokens Consumed",cfgTitle:"Display Config",timeRange:"Time Range",numFormat:"Number Format",numExact:"Exact",numExactEx:"1,234,567",numShort:"Short",numShortEx:"1.234M",nextRefresh:"next refresh in",seconds:"s",refreshing:"refreshing…",manualMode:"manual mode",refreshNow:"↺ now",refreshBtn:"↺ refresh",refreshInfo:"Refresh interval set in",input:"Input",output:"Output",cache:"Cache"}},zh:{nav:{home:"首页",overview:"概览",tokens:"Token",cost:"费用",models:"模型",toolCalls:"工具调用",projects:"项目",sessions:"会话",pricing:"定价",settings:"设置",docs:"文档",collapse:"收起",expand:"展开",group:{analytics:"统计",data:"数据",manage:"管理"}},common:{loading:"加载中...",error:"错误",noData:"暂无数据",noDataHint:"开始使用 AI 工具后,统计数据将显示在此处。",apply:"应用",all:"全部",previous:"上一页",next:"下一页",page:"第",of:"页,共"},range:{today:"今天",week:"本周",month:"本月",last30:"近 30 天",allTime:"全部",from:"开始",to:"结束",pickMonth:"选择月份..."},overview:{title:"概览",desc:"所有 AI 工具的 Token、费用和会话聚合统计。",totalTokens:"总 Token",totalCost:"总费用",activeDays:"活跃天数",totalSessions:"会话数",inputTokens:"输入",outputTokens:"输出",cacheRead:"缓存读取",cacheWrite:"缓存写入",byTool:"按 AI 助手",byProject:"按项目",topToolCalls:"常用工具",tool:"工具",tokens:"Token",cost:"费用",noToolData:"暂无数据",noToolCalls:"暂无工具调用记录"},tokens:{title:"Token",desc:"按类型分类的每日 Token 用量趋势。",chartTitle:"每日 Token 用量",input:"输入",output:"输出",cacheRead:"缓存读取",cacheWrite:"缓存写入",thinking:"思考",date:"日期",total:"合计",modeBreakdown:"分类",modeTotal:"总量",noData:"暂无 Token 数据",noDataHint:"当前时间段内无 Token 使用记录。"},projects:{title:"项目",desc:"按项目目录排列的 Token 用量和费用排名。",project:"项目",sessions:"会话",tokens:"Token",cost:"费用",share:"占比",noData:"暂无项目数据",noDataHint:"当前时间段内无项目使用记录。"},cost:{title:"费用",desc:"每日费用趋势及按工具、模型的费用分布。",totalCost:"总费用",chartTitle:"每日费用",byTool:"按 AI 助手",byModel:"按模型",noData:"暂无费用数据",noDataHint:"当前时间段内无费用记录。"},models:{title:"模型",desc:"各 AI 模型的用量排名。",model:"模型",provider:"提供商",calls:"调用次数",tokens:"Token",share:"占比",noData:"暂无模型数据",noDataHint:"当前时间段内无模型使用记录。"},toolCalls:{title:"工具调用",desc:"AI 助手最常调用的工具排名。",noData:"暂无工具调用数据",noDataHint:"当前时间段内无工具调用记录。"},sessions:{title:"会话",desc:"每条会话的 Token 用量和费用详细记录。",assistant:"AI 助手",time:"时间",tool:"工具",model:"模型",input:"输入",output:"输出",cost:"费用",noData:"暂无会话",noDataHint:"当前时间段内无会话记录。"},theme:{system:"跟随系统",dark:"深色",light:"浅色"},pricing:{title:"定价管理",model:"模型",input:"输入",output:"输出",cacheRead:"缓存读取",cacheWrite:"缓存写入",thinking:"思考",status:"状态",actions:"操作",edit:"编辑",save:"保存",cancel:"取消",reset:"重置",recalc:"重新计算费用",recalcDone:"已重新计算",default:"默认",override:"自定义",matched:"前缀匹配",noPrice:"无定价",perMillion:"/ 1M tokens"},sync:{trigger:"同步",syncing:"同步中...",started:"已开始同步",inProgress:"同步已在进行中",complete:"已同步",failed:"同步失败",notConfigured:"未配置",lastSync:"上次同步",never:"从未"},device:{allDevices:"全部设备",loading:"加载中..."},tool:{allTools:"全部工具"},settings:{title:"设置",save:"保存",saved:"已保存",general:"通用",sources:"数据源",sync:"同步",syncHint:"下次同步操作时生效",data:"数据管理",device:"设备别名",deviceHint:"可选别名;留空则使用主机名",weekStart:"每周起始日",weekStartSunday:"周日",weekStartMonday:"周一(ISO)",pollInterval:"仪表盘轮询间隔(ms)",parseInterval:"自动解析间隔(ms)",retentionDays:"本地数据保留天数",retentionHint:"0 或留空表示永久保留本地数据",sourcePath:"自定义路径(留空使用默认值;下次解析时生效)",syncBackend:"后端类型",syncBackendNone:"已禁用",syncRepo:"仓库(owner/repo)",syncBucket:"存储桶",syncPrefix:"S3 对象前缀",syncEndpoint:"Endpoint",syncRegion:"Region",syncCredentialRef:"凭据引用名",syncCredentialValue:"凭据值",credentialSet:"已设置,留空则不修改",credentialNotSet:"未设置",showCredential:"显示",hideCredential:"隐藏"},home:{counterLabel:"AI Token 消耗",cfgTitle:"显示配置",timeRange:"时间范围",numFormat:"数字格式",numExact:"精确",numExactEx:"1,234,567",numShort:"简短",numShortEx:"1.234M",nextRefresh:"下次刷新",seconds:"s",refreshing:"刷新中…",manualMode:"手动模式",refreshNow:"↺ 立即",refreshBtn:"↺ 刷新",refreshInfo:"刷新间隔在",input:"输入",output:"输出",cache:"缓存"}}};function d(){return typeof window>"u"?"en":localStorage.getItem("aiusage-lang")||"en"}const s=r(d());function h(){s.update(e=>{const o=e==="en"?"zh":"en";return typeof window<"u"&&localStorage.setItem("aiusage-lang",o),o})}const g=c(s,e=>{const o=a[e]||a.en;return n=>{const i=n.split(".");let t=o;for(const l of i)t=t==null?void 0:t[l];return t||n}});export{h as a,p as e,s as l,g as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e}from"./entry.
|
|
1
|
+
import{s as e}from"./entry.rQf9wfsR.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BPA3Ag-N.js","../chunks/scheduler.DukoKnjQ.js","../chunks/index.CUfK07C5.js","../chunks/i18n.CrmYDWvg.js","../chunks/index.BjVwNvJa.js","../chunks/stores.LwWmHglO.js","../chunks/entry.rQf9wfsR.js","../chunks/api.Cv9iCeAW.js","../assets/0.VBArfZAW.css","../nodes/1.pvmAynb7.js","../nodes/2.CQudsTBz.js","../assets/2.fho1OPpm.css","../nodes/3.Dj6kNwjm.js","../chunks/ToolSelector.DBA69ls-.js","../assets/ToolSelector.HSbC8-q9.css","../assets/3.DwwXF_G1.css","../nodes/4.C8nxZ9Vo.js","../assets/4.Dec4y3Rk.css","../nodes/5.yl3PlP-P.js","../assets/5.DM2hVWjt.css","../nodes/6.UARXHK2e.js","../assets/6.NdKfVCiG.css","../nodes/7.B2wRNntO.js","../assets/7.CeV8yHSX.css","../nodes/8.CVHaFhS0.js","../assets/8.BCdjuhVX.css","../nodes/9.BMmvuct0.js","../assets/9.ClvwkhDe.css","../nodes/10.Jb_wogsG.js","../assets/10.Doxq00gF.css","../nodes/11.DBXRH-Pv.js","../assets/11.D5bUq0yE.css","../nodes/12.CW90mvWi.js","../assets/12.BA90S8v7.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{s as C,h as N,o as B,t as U,j as T}from"../chunks/scheduler.DukoKnjQ.js";import{S as F,i as G,d as h,l as E,m as g,E as D,F as I,a as k,g as W,r as w,j as z,G as R,k as L,u as O,n as A,q as y,o as V,w as p,c as H,e as J,h as K,s as Q,f as X,t as Y}from"../chunks/index.CUfK07C5.js";const Z="modulepreload",M=function(s,e){return new URL(s,e).href},S={},m=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){const t=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.allSettled(n.map(c=>{if(c=M(c,r),c in S)return;S[c]=!0;const a=c.endsWith(".css"),u=a?'[rel="stylesheet"]':"";if(!!r)for(let b=t.length-1;b>=0;b--){const P=t[b];if(P.href===c&&(!a||P.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${u}`))return;const d=document.createElement("link");if(d.rel=a?"stylesheet":Z,a||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),a)return new Promise((b,P)=>{d.addEventListener("load",b),d.addEventListener("error",()=>P(new Error(`Unable to preload CSS for ${c}`)))})}))}function _(t){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=t,window.dispatchEvent(i),!i.defaultPrevented)throw t}return o.then(t=>{for(const i of t||[])i.status==="rejected"&&_(i.reason);return e().catch(_)})},ae={};function $(s){let e,n,r;var o=s[1][0];function _(t,i){return{props:{data:t[3],form:t[2]}}}return o&&(e=R(o,_(s)),s[12](e)),{c(){e&&O(e.$$.fragment),n=w()},l(t){e&&y(e.$$.fragment,t),n=w()},m(t,i){e&&A(e,t,i),k(t,n,i),r=!0},p(t,i){if(i&2&&o!==(o=t[1][0])){if(e){D();const l=e;E(l.$$.fragment,1,0,()=>{L(l,1)}),I()}o?(e=R(o,_(t)),t[12](e),O(e.$$.fragment),g(e.$$.fragment,1),A(e,n.parentNode,n)):e=null}else if(o){const l={};i&8&&(l.data=t[3]),i&4&&(l.form=t[2]),e.$set(l)}},i(t){r||(e&&g(e.$$.fragment,t),r=!0)},o(t){e&&E(e.$$.fragment,t),r=!1},d(t){t&&h(n),s[12](null),e&&L(e,t)}}}function x(s){let e,n,r;var o=s[1][0];function _(t,i){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return o&&(e=R(o,_(s)),s[11](e)),{c(){e&&O(e.$$.fragment),n=w()},l(t){e&&y(e.$$.fragment,t),n=w()},m(t,i){e&&A(e,t,i),k(t,n,i),r=!0},p(t,i){if(i&2&&o!==(o=t[1][0])){if(e){D();const l=e;E(l.$$.fragment,1,0,()=>{L(l,1)}),I()}o?(e=R(o,_(t)),t[11](e),O(e.$$.fragment),g(e.$$.fragment,1),A(e,n.parentNode,n)):e=null}else if(o){const l={};i&8&&(l.data=t[3]),i&8215&&(l.$$scope={dirty:i,ctx:t}),e.$set(l)}},i(t){r||(e&&g(e.$$.fragment,t),r=!0)},o(t){e&&E(e.$$.fragment,t),r=!1},d(t){t&&h(n),s[11](null),e&&L(e,t)}}}function ee(s){let e,n,r;var o=s[1][1];function _(t,i){return{props:{data:t[4],form:t[2]}}}return o&&(e=R(o,_(s)),s[10](e)),{c(){e&&O(e.$$.fragment),n=w()},l(t){e&&y(e.$$.fragment,t),n=w()},m(t,i){e&&A(e,t,i),k(t,n,i),r=!0},p(t,i){if(i&2&&o!==(o=t[1][1])){if(e){D();const l=e;E(l.$$.fragment,1,0,()=>{L(l,1)}),I()}o?(e=R(o,_(t)),t[10](e),O(e.$$.fragment),g(e.$$.fragment,1),A(e,n.parentNode,n)):e=null}else if(o){const l={};i&16&&(l.data=t[4]),i&4&&(l.form=t[2]),e.$set(l)}},i(t){r||(e&&g(e.$$.fragment,t),r=!0)},o(t){e&&E(e.$$.fragment,t),r=!1},d(t){t&&h(n),s[10](null),e&&L(e,t)}}}function j(s){let e,n=s[6]&&q(s);return{c(){e=K("div"),n&&n.c(),this.h()},l(r){e=H(r,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var o=J(e);n&&n.l(o),o.forEach(h),this.h()},h(){V(e,"id","svelte-announcer"),V(e,"aria-live","assertive"),V(e,"aria-atomic","true"),p(e,"position","absolute"),p(e,"left","0"),p(e,"top","0"),p(e,"clip","rect(0 0 0 0)"),p(e,"clip-path","inset(50%)"),p(e,"overflow","hidden"),p(e,"white-space","nowrap"),p(e,"width","1px"),p(e,"height","1px")},m(r,o){k(r,e,o),n&&n.m(e,null)},p(r,o){r[6]?n?n.p(r,o):(n=q(r),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(r){r&&h(e),n&&n.d()}}}function q(s){let e;return{c(){e=Y(s[7])},l(n){e=X(n,s[7])},m(n,r){k(n,e,r)},p(n,r){r&128&&Q(e,n[7])},d(n){n&&h(e)}}}function te(s){let e,n,r,o,_;const t=[x,$],i=[];function l(a,u){return a[1][1]?0:1}e=l(s),n=i[e]=t[e](s);let c=s[5]&&j(s);return{c(){n.c(),r=z(),c&&c.c(),o=w()},l(a){n.l(a),r=W(a),c&&c.l(a),o=w()},m(a,u){i[e].m(a,u),k(a,r,u),c&&c.m(a,u),k(a,o,u),_=!0},p(a,[u]){let v=e;e=l(a),e===v?i[e].p(a,u):(D(),E(i[v],1,1,()=>{i[v]=null}),I(),n=i[e],n?n.p(a,u):(n=i[e]=t[e](a),n.c()),g(n,1),n.m(r.parentNode,r)),a[5]?c?c.p(a,u):(c=j(a),c.c(),c.m(o.parentNode,o)):c&&(c.d(1),c=null)},i(a){_||(g(n),_=!0)},o(a){E(n),_=!1},d(a){a&&(h(r),h(o)),i[e].d(a),c&&c.d(a)}}}function ne(s,e,n){let{stores:r}=e,{page:o}=e,{constructors:_}=e,{components:t=[]}=e,{form:i}=e,{data_0:l=null}=e,{data_1:c=null}=e;N(r.page.notify);let a=!1,u=!1,v=null;B(()=>{const f=r.page.subscribe(()=>{a&&(n(6,u=!0),U().then(()=>{n(7,v=document.title||"untitled page")}))});return n(5,a=!0),f});function d(f){T[f?"unshift":"push"](()=>{t[1]=f,n(0,t)})}function b(f){T[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}function P(f){T[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}return s.$$set=f=>{"stores"in f&&n(8,r=f.stores),"page"in f&&n(9,o=f.page),"constructors"in f&&n(1,_=f.constructors),"components"in f&&n(0,t=f.components),"form"in f&&n(2,i=f.form),"data_0"in f&&n(3,l=f.data_0),"data_1"in f&&n(4,c=f.data_1)},s.$$.update=()=>{s.$$.dirty&768&&r.page.set(o)},[t,_,i,l,c,a,u,v,r,o,d,b,P]}class le extends F{constructor(e){super(),G(this,e,ne,te,C,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ce=[()=>m(()=>import("../nodes/0.BPA3Ag-N.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>m(()=>import("../nodes/1.pvmAynb7.js"),__vite__mapDeps([9,1,2,5,6,4]),import.meta.url),()=>m(()=>import("../nodes/2.CQudsTBz.js"),__vite__mapDeps([10,1,2,3,4,7,11]),import.meta.url),()=>m(()=>import("../nodes/3.Dj6kNwjm.js"),__vite__mapDeps([12,1,2,3,4,13,14,7,15]),import.meta.url),()=>m(()=>import("../nodes/4.C8nxZ9Vo.js"),__vite__mapDeps([16,1,2,3,4,17]),import.meta.url),()=>m(()=>import("../nodes/5.yl3PlP-P.js"),__vite__mapDeps([18,1,2,3,4,13,14,7,19]),import.meta.url),()=>m(()=>import("../nodes/6.UARXHK2e.js"),__vite__mapDeps([20,1,2,3,4,13,14,7,21]),import.meta.url),()=>m(()=>import("../nodes/7.B2wRNntO.js"),__vite__mapDeps([22,1,2,3,4,7,23]),import.meta.url),()=>m(()=>import("../nodes/8.CVHaFhS0.js"),__vite__mapDeps([24,1,2,3,4,13,14,7,25]),import.meta.url),()=>m(()=>import("../nodes/9.BMmvuct0.js"),__vite__mapDeps([26,1,2,3,4,13,14,7,27]),import.meta.url),()=>m(()=>import("../nodes/10.Jb_wogsG.js"),__vite__mapDeps([28,1,2,3,4,7,29]),import.meta.url),()=>m(()=>import("../nodes/11.DBXRH-Pv.js"),__vite__mapDeps([30,1,2,3,4,13,14,7,31]),import.meta.url),()=>m(()=>import("../nodes/12.CW90mvWi.js"),__vite__mapDeps([32,1,2,3,4,13,14,7,33]),import.meta.url)],fe=[],_e={"/":[2],"/cost":[3],"/docs":[4],"/models":[5],"/overview":[6],"/pricing":[7],"/projects":[8],"/sessions":[9],"/settings":[10],"/tokens":[11],"/tool-calls":[12]},ie={handleError:({error:s})=>{console.error(s)},reroute:()=>{},transport:{}},re=Object.fromEntries(Object.entries(ie.transport).map(([s,e])=>[s,e.decode])),ue=!1,me=(s,e)=>re[s](e);export{me as decode,re as decoders,_e as dictionary,ue as hash,ie as hooks,ae as matchers,ce as nodes,le as root,fe as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as t}from"../chunks/entry.rQf9wfsR.js";export{t as start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as Ct,d as Bt,r as Vt,u as Mt,g as Ut,e as Ot,c as Me,o as Lt,f as Rt,n as Ht}from"../chunks/scheduler.DukoKnjQ.js";import{S as jt,i as qt,d as c,v as Tt,l as Kt,m as Yt,s as z,z as G,o as r,a as O,b as o,x as le,c as p,e as m,g as E,B as Ue,f as H,h as _,j as y,t as j}from"../chunks/index.CUfK07C5.js";import{e as Oe,a as ut,t as zt,l as Gt}from"../chunks/i18n.CrmYDWvg.js";import{p as Ft}from"../chunks/stores.LwWmHglO.js";import{w as It}from"../chunks/index.BjVwNvJa.js";import{m as Jt,t as Qt}from"../chunks/api.Cv9iCeAW.js";const Pt="aiusage-theme";function Xe(){return typeof window>"u"?"system":localStorage.getItem(Pt)||"system"}function Dt(){return typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}const Ze=It(Xe()),Wt=It(Dt());function ht(){Ze.update(l=>l==="system"?"dark":l==="dark"?"light":"system")}function Xt(){if(typeof window>"u")return;const l=window.matchMedia("(prefers-color-scheme: dark)");function e(s){const i=s==="system"?Dt():s;document.documentElement.setAttribute("data-theme",i),Wt.set(i)}e(Xe()),Ze.subscribe(s=>{localStorage.setItem(Pt,s),e(s)}),l.addEventListener("change",()=>{Xe()==="system"&&e("system")})}function pt(l,e,s){const i=l.slice();return i[20]=e[s],i}function _t(l,e,s){const i=l.slice();return i[23]=e[s],i}function dt(l){let e,s,i;return{c(){e=_("div"),this.h()},l(t){e=p(t,"DIV",{class:!0}),m(e).forEach(c),this.h()},h(){r(e,"class","mobile-backdrop svelte-8wfc8x")},m(t,a){O(t,e,a),s||(i=le(e,"click",l[14]),s=!0)},p:Ht,d(t){t&&c(e),s=!1,i()}}}function vt(l){let e,s="AIUsage";return{c(){e=_("span"),e.textContent=s,this.h()},l(i){e=p(i,"SPAN",{class:!0,"data-svelte-h":!0}),Ue(e)!=="svelte-u9et1t"&&(e.textContent=s),this.h()},h(){r(e,"class","brand-name svelte-8wfc8x")},m(i,t){O(i,e,t)},d(i){i&&c(e)}}}function mt(l){let e,s=l[6](l[20].key)+"",i;return{c(){e=_("div"),i=j(s),this.h()},l(t){e=p(t,"DIV",{class:!0});var a=m(e);i=H(a,s),a.forEach(c),this.h()},h(){r(e,"class","group-label svelte-8wfc8x")},m(t,a){O(t,e,a),o(e,i)},p(t,a){a&64&&s!==(s=t[6](t[20].key)+"")&&z(i,s)},d(t){t&&c(e)}}}function bt(l){let e,s=l[6](l[23].key)+"",i;return{c(){e=_("span"),i=j(s),this.h()},l(t){e=p(t,"SPAN",{class:!0});var a=m(e);i=H(a,s),a.forEach(c),this.h()},h(){r(e,"class","nav-label svelte-8wfc8x")},m(t,a){O(t,e,a),o(e,i)},p(t,a){a&64&&s!==(s=t[6](t[23].key)+"")&&z(i,s)},d(t){t&&c(e)}}}function gt(l){let e;return{c(){e=_("span"),this.h()},l(s){e=p(s,"SPAN",{class:!0}),m(e).forEach(c),this.h()},h(){r(e,"class","active-dot svelte-8wfc8x")},m(s,i){O(s,e,i)},d(s){s&&c(e)}}}function wt(l){let e,s,i=l[23].icon+"",t,a,d,u,h=!l[1]&&bt(l),f=l[0].url.pathname===l[23].path&>();return{c(){e=_("a"),s=_("span"),t=j(i),a=y(),h&&h.c(),d=y(),f&&f.c(),this.h()},l(b){e=p(b,"A",{href:!0,class:!0,title:!0});var k=m(e);s=p(k,"SPAN",{class:!0});var q=m(s);t=H(q,i),q.forEach(c),a=E(k),h&&h.l(k),d=E(k),f&&f.l(k),k.forEach(c),this.h()},h(){r(s,"class","nav-icon svelte-8wfc8x"),r(e,"href",l[23].path),r(e,"class","nav-item svelte-8wfc8x"),r(e,"title",u=l[1]?l[6](l[23].key):void 0),G(e,"active",l[0].url.pathname===l[23].path)},m(b,k){O(b,e,k),o(e,s),o(s,t),o(e,a),h&&h.m(e,null),o(e,d),f&&f.m(e,null)},p(b,k){b[1]?h&&(h.d(1),h=null):h?h.p(b,k):(h=bt(b),h.c(),h.m(e,d)),b[0].url.pathname===b[23].path?f||(f=gt(),f.c(),f.m(e,null)):f&&(f.d(1),f=null),k&66&&u!==(u=b[1]?b[6](b[23].key):void 0)&&r(e,"title",u),k&513&&G(e,"active",b[0].url.pathname===b[23].path)},d(b){b&&c(e),h&&h.d(),f&&f.d()}}}function kt(l){let e,s,i,t=!l[1]&&mt(l),a=Oe(l[20].items),d=[];for(let u=0;u<a.length;u+=1)d[u]=wt(_t(l,a,u));return{c(){e=_("div"),t&&t.c(),s=y();for(let u=0;u<d.length;u+=1)d[u].c();i=y(),this.h()},l(u){e=p(u,"DIV",{class:!0});var h=m(e);t&&t.l(h),s=E(h);for(let f=0;f<d.length;f+=1)d[f].l(h);i=E(h),h.forEach(c),this.h()},h(){r(e,"class","nav-group svelte-8wfc8x")},m(u,h){O(u,e,h),t&&t.m(e,null),o(e,s);for(let f=0;f<d.length;f+=1)d[f]&&d[f].m(e,null);o(e,i)},p(u,h){if(u[1]?t&&(t.d(1),t=null):t?t.p(u,h):(t=mt(u),t.c(),t.m(e,s)),h&579){a=Oe(u[20].items);let f;for(f=0;f<a.length;f+=1){const b=_t(u,a,f);d[f]?d[f].p(b,h):(d[f]=wt(b),d[f].c(),d[f].m(e,i))}for(;f<d.length;f+=1)d[f].d(1);d.length=a.length}},d(u){u&&c(e),t&&t.d(),Tt(d,u)}}}function Et(l){let e,s=(l[5]||l[6]("sync.trigger"))+"",i;return{c(){e=_("span"),i=j(s),this.h()},l(t){e=p(t,"SPAN",{class:!0});var a=m(e);i=H(a,s),a.forEach(c),this.h()},h(){r(e,"class","ctrl-label svelte-8wfc8x"),G(e,"ok",l[5]===l[6]("sync.complete")),G(e,"err",l[5]===l[6]("sync.failed"))},m(t,a){O(t,e,a),o(e,i)},p(t,a){a&96&&s!==(s=(t[5]||t[6]("sync.trigger"))+"")&&z(i,s),a&96&&G(e,"ok",t[5]===t[6]("sync.complete")),a&96&&G(e,"err",t[5]===t[6]("sync.failed"))},d(t){t&&c(e)}}}function yt(l){let e,s=l[6](`theme.${l[7]}`)+"",i;return{c(){e=_("span"),i=j(s),this.h()},l(t){e=p(t,"SPAN",{class:!0});var a=m(e);i=H(a,s),a.forEach(c),this.h()},h(){r(e,"class","ctrl-label svelte-8wfc8x")},m(t,a){O(t,e,a),o(e,i)},p(t,a){a&192&&s!==(s=t[6](`theme.${t[7]}`)+"")&&z(i,s)},d(t){t&&c(e)}}}function St(l){let e,s=l[8]==="en"?"中文":"English",i;return{c(){e=_("span"),i=j(s),this.h()},l(t){e=p(t,"SPAN",{class:!0});var a=m(e);i=H(a,s),a.forEach(c),this.h()},h(){r(e,"class","ctrl-label svelte-8wfc8x")},m(t,a){O(t,e,a),o(e,i)},p(t,a){a&256&&s!==(s=t[8]==="en"?"中文":"English")&&z(i,s)},d(t){t&&c(e)}}}function Nt(l){let e,s=l[6]("nav.collapse")+"",i;return{c(){e=_("span"),i=j(s),this.h()},l(t){e=p(t,"SPAN",{class:!0});var a=m(e);i=H(a,s),a.forEach(c),this.h()},h(){r(e,"class","ctrl-label svelte-8wfc8x")},m(t,a){O(t,e,a),o(e,i)},p(t,a){a&64&&s!==(s=t[6]("nav.collapse")+"")&&z(i,s)},d(t){t&&c(e)}}}function Zt(l){let e,s,i,t,a,d,u,h,f="⌘",b,k,q,S,N,w,M,W=l[4]?"↻":"⇅",ae,X,ie,_e,L,g,F=l[10][l[7]]+"",ge,Le,we,Re,K,oe,de=l[8]==="en"?"中":"EN",ke,He,Ee,je,Y,re,ve=l[1]?"›":"‹",ye,qe,Se,Ke,Z,J,$,$e='<span class="svelte-8wfc8x"></span><span class="svelte-8wfc8x"></span><span class="svelte-8wfc8x"></span>',Ye,x,xe='<span class="brand-logo svelte-8wfc8x">⌘</span> <span class="brand-name svelte-8wfc8x">AIUsage</span>',ze,ee,se,ce,me=l[10][l[7]]+"",Ne,Ge,ne,fe,be=l[8]==="en"?"中":"EN",Ae,Fe,ue,A,Je,et,P=l[2]&&dt(l),U=!l[1]&&vt(),he=Oe(l[9]),I=[];for(let n=0;n<he.length;n+=1)I[n]=kt(pt(l,he,n));let D=!l[1]&&Et(l),C=!l[1]&&yt(l),B=!l[1]&&St(l),V=!l[1]&&Nt(l);const Qe=l[16].default,R=Bt(Qe,l,l[15],null);return{c(){e=_("div"),s=y(),P&&P.c(),i=y(),t=_("div"),a=_("aside"),d=_("div"),u=_("a"),h=_("span"),h.textContent=f,b=y(),U&&U.c(),k=y(),q=_("nav");for(let n=0;n<I.length;n+=1)I[n].c();S=y(),N=_("div"),w=_("button"),M=_("span"),ae=j(W),X=y(),D&&D.c(),_e=y(),L=_("button"),g=_("span"),ge=j(F),Le=y(),C&&C.c(),Re=y(),K=_("button"),oe=_("span"),ke=j(de),He=y(),B&&B.c(),je=y(),Y=_("button"),re=_("span"),ye=j(ve),qe=y(),V&&V.c(),Ke=y(),Z=_("div"),J=_("header"),$=_("button"),$.innerHTML=$e,Ye=y(),x=_("a"),x.innerHTML=xe,ze=y(),ee=_("div"),se=_("button"),ce=_("span"),Ne=j(me),Ge=y(),ne=_("button"),fe=_("span"),Ae=j(be),Fe=y(),ue=_("main"),R&&R.c(),this.h()},l(n){e=p(n,"DIV",{class:!0}),m(e).forEach(c),s=E(n),P&&P.l(n),i=E(n),t=p(n,"DIV",{class:!0});var v=m(t);a=p(v,"ASIDE",{class:!0});var T=m(a);d=p(T,"DIV",{class:!0});var Q=m(d);u=p(Q,"A",{href:!0,class:!0});var Te=m(u);h=p(Te,"SPAN",{class:!0,"data-svelte-h":!0}),Ue(h)!=="svelte-1ve1lns"&&(h.textContent=f),b=E(Te),U&&U.l(Te),Te.forEach(c),k=E(Q),q=p(Q,"NAV",{class:!0});var tt=m(q);for(let We=0;We<I.length;We+=1)I[We].l(tt);tt.forEach(c),S=E(Q),N=p(Q,"DIV",{class:!0});var te=m(N);w=p(te,"BUTTON",{class:!0,title:!0});var Ie=m(w);M=p(Ie,"SPAN",{class:!0});var lt=m(M);ae=H(lt,W),lt.forEach(c),X=E(Ie),D&&D.l(Ie),Ie.forEach(c),_e=E(te),L=p(te,"BUTTON",{class:!0,title:!0});var Pe=m(L);g=p(Pe,"SPAN",{class:!0});var st=m(g);ge=H(st,F),st.forEach(c),Le=E(Pe),C&&C.l(Pe),Pe.forEach(c),Re=E(te),K=p(te,"BUTTON",{class:!0,title:!0});var De=m(K);oe=p(De,"SPAN",{class:!0});var nt=m(oe);ke=H(nt,de),nt.forEach(c),He=E(De),B&&B.l(De),De.forEach(c),je=E(te),Y=p(te,"BUTTON",{class:!0,title:!0});var Ce=m(Y);re=p(Ce,"SPAN",{class:!0});var at=m(re);ye=H(at,ve),at.forEach(c),qe=E(Ce),V&&V.l(Ce),Ce.forEach(c),te.forEach(c),Q.forEach(c),T.forEach(c),Ke=E(v),Z=p(v,"DIV",{class:!0});var Be=m(Z);J=p(Be,"HEADER",{class:!0});var pe=m(J);$=p(pe,"BUTTON",{class:!0,"data-svelte-h":!0}),Ue($)!=="svelte-tgxof7"&&($.innerHTML=$e),Ye=E(pe),x=p(pe,"A",{href:!0,class:!0,"data-svelte-h":!0}),Ue(x)!=="svelte-13xaxyo"&&(x.innerHTML=xe),ze=E(pe),ee=p(pe,"DIV",{class:!0});var Ve=m(ee);se=p(Ve,"BUTTON",{class:!0});var it=m(se);ce=p(it,"SPAN",{class:!0});var ot=m(ce);Ne=H(ot,me),ot.forEach(c),it.forEach(c),Ge=E(Ve),ne=p(Ve,"BUTTON",{class:!0});var rt=m(ne);fe=p(rt,"SPAN",{class:!0});var ct=m(fe);Ae=H(ct,be),ct.forEach(c),rt.forEach(c),Ve.forEach(c),pe.forEach(c),Fe=E(Be),ue=p(Be,"MAIN",{class:!0});var ft=m(ue);R&&R.l(ft),ft.forEach(c),Be.forEach(c),v.forEach(c),this.h()},h(){r(e,"class","grain svelte-8wfc8x"),r(h,"class","brand-logo svelte-8wfc8x"),r(u,"href","/"),r(u,"class","brand svelte-8wfc8x"),r(q,"class","sidebar-nav svelte-8wfc8x"),r(M,"class","ctrl-icon svelte-8wfc8x"),G(M,"spinning",l[4]),r(w,"class","ctrl-btn sync-btn svelte-8wfc8x"),w.disabled=l[4],r(w,"title",ie=l[3]?`${l[6]("sync.lastSync")}: ${l[12](l[3].lastSyncAt)}`:l[6]("sync.notConfigured")),r(g,"class","ctrl-icon svelte-8wfc8x"),r(L,"class","ctrl-btn svelte-8wfc8x"),r(L,"title",we=l[6](`theme.${l[7]}`)),r(oe,"class","ctrl-icon lang-icon svelte-8wfc8x"),r(K,"class","ctrl-btn svelte-8wfc8x"),r(K,"title",Ee=l[8]==="en"?"中文":"EN"),r(re,"class","ctrl-icon svelte-8wfc8x"),r(Y,"class","ctrl-btn collapse-btn svelte-8wfc8x"),r(Y,"title",Se=l[6](l[1]?"nav.expand":"nav.collapse")),r(N,"class","sidebar-footer svelte-8wfc8x"),r(d,"class","sidebar-inner svelte-8wfc8x"),r(a,"class","sidebar svelte-8wfc8x"),G(a,"open",l[2]),r($,"class","hamburger svelte-8wfc8x"),r(x,"href","/"),r(x,"class","brand brand-mobile svelte-8wfc8x"),r(ce,"class","ctrl-icon svelte-8wfc8x"),r(se,"class","ctrl-btn svelte-8wfc8x"),r(fe,"class","ctrl-icon lang-icon svelte-8wfc8x"),r(ne,"class","ctrl-btn svelte-8wfc8x"),r(ee,"class","mobile-controls svelte-8wfc8x"),r(J,"class","mobile-header svelte-8wfc8x"),r(ue,"class","page-content svelte-8wfc8x"),r(Z,"class","main-area svelte-8wfc8x"),r(t,"class","app svelte-8wfc8x"),G(t,"collapsed",l[1])},m(n,v){O(n,e,v),O(n,s,v),P&&P.m(n,v),O(n,i,v),O(n,t,v),o(t,a),o(a,d),o(d,u),o(u,h),o(u,b),U&&U.m(u,null),o(d,k),o(d,q);for(let T=0;T<I.length;T+=1)I[T]&&I[T].m(q,null);o(d,S),o(d,N),o(N,w),o(w,M),o(M,ae),o(w,X),D&&D.m(w,null),o(N,_e),o(N,L),o(L,g),o(g,ge),o(L,Le),C&&C.m(L,null),o(N,Re),o(N,K),o(K,oe),o(oe,ke),o(K,He),B&&B.m(K,null),o(N,je),o(N,Y),o(Y,re),o(re,ye),o(Y,qe),V&&V.m(Y,null),o(t,Ke),o(t,Z),o(Z,J),o(J,$),o(J,Ye),o(J,x),o(J,ze),o(J,ee),o(ee,se),o(se,ce),o(ce,Ne),o(ee,Ge),o(ee,ne),o(ne,fe),o(fe,Ae),o(Z,Fe),o(Z,ue),R&&R.m(ue,null),A=!0,Je||(et=[le(w,"click",l[11]),le(L,"click",ht),le(K,"click",ut),le(Y,"click",l[13]),le($,"click",l[14]),le(se,"click",ht),le(ne,"click",ut)],Je=!0)},p(n,[v]){if(n[2]?P?P.p(n,v):(P=dt(n),P.c(),P.m(i.parentNode,i)):P&&(P.d(1),P=null),n[1]?U&&(U.d(1),U=null):U||(U=vt(),U.c(),U.m(u,null)),v&579){he=Oe(n[9]);let T;for(T=0;T<he.length;T+=1){const Q=pt(n,he,T);I[T]?I[T].p(Q,v):(I[T]=kt(Q),I[T].c(),I[T].m(q,null))}for(;T<I.length;T+=1)I[T].d(1);I.length=he.length}(!A||v&16)&&W!==(W=n[4]?"↻":"⇅")&&z(ae,W),(!A||v&16)&&G(M,"spinning",n[4]),n[1]?D&&(D.d(1),D=null):D?D.p(n,v):(D=Et(n),D.c(),D.m(w,null)),(!A||v&16)&&(w.disabled=n[4]),(!A||v&72&&ie!==(ie=n[3]?`${n[6]("sync.lastSync")}: ${n[12](n[3].lastSyncAt)}`:n[6]("sync.notConfigured")))&&r(w,"title",ie),(!A||v&128)&&F!==(F=n[10][n[7]]+"")&&z(ge,F),n[1]?C&&(C.d(1),C=null):C?C.p(n,v):(C=yt(n),C.c(),C.m(L,null)),(!A||v&192&&we!==(we=n[6](`theme.${n[7]}`)))&&r(L,"title",we),(!A||v&256)&&de!==(de=n[8]==="en"?"中":"EN")&&z(ke,de),n[1]?B&&(B.d(1),B=null):B?B.p(n,v):(B=St(n),B.c(),B.m(K,null)),(!A||v&256&&Ee!==(Ee=n[8]==="en"?"中文":"EN"))&&r(K,"title",Ee),(!A||v&2)&&ve!==(ve=n[1]?"›":"‹")&&z(ye,ve),n[1]?V&&(V.d(1),V=null):V?V.p(n,v):(V=Nt(n),V.c(),V.m(Y,null)),(!A||v&66&&Se!==(Se=n[6](n[1]?"nav.expand":"nav.collapse")))&&r(Y,"title",Se),(!A||v&4)&&G(a,"open",n[2]),(!A||v&128)&&me!==(me=n[10][n[7]]+"")&&z(Ne,me),(!A||v&256)&&be!==(be=n[8]==="en"?"中":"EN")&&z(Ae,be),R&&R.p&&(!A||v&32768)&&Mt(R,Qe,n,n[15],A?Ot(Qe,n[15],v,null):Ut(n[15]),null),(!A||v&2)&&G(t,"collapsed",n[1])},i(n){A||(Yt(R,n),A=!0)},o(n){Kt(R,n),A=!1},d(n){n&&(c(e),c(s),c(i),c(t)),P&&P.d(n),U&&U.d(),Tt(I,n),D&&D.d(),C&&C.d(),B&&B.d(),V&&V.d(),R&&R.d(n),Je=!1,Vt(et)}}}const At="aiusage-sidebar-collapsed";function $t(l,e,s){let i,t,a,d;Me(l,Ft,g=>s(0,i=g)),Me(l,zt,g=>s(6,t=g)),Me(l,Ze,g=>s(7,a=g)),Me(l,Gt,g=>s(8,d=g));let{$$slots:u={},$$scope:h}=e;const f=[{key:"nav.group.analytics",items:[{path:"/",key:"nav.home",icon:"⌖"},{path:"/overview",key:"nav.overview",icon:"◈"},{path:"/tokens",key:"nav.tokens",icon:"◇"},{path:"/cost",key:"nav.cost",icon:"$"}]},{key:"nav.group.data",items:[{path:"/models",key:"nav.models",icon:"◆"},{path:"/tool-calls",key:"nav.toolCalls",icon:"⚡"},{path:"/projects",key:"nav.projects",icon:"◎"},{path:"/sessions",key:"nav.sessions",icon:"≡"}]},{key:"nav.group.manage",items:[{path:"/pricing",key:"nav.pricing",icon:"¤"},{path:"/settings",key:"nav.settings",icon:"◉"},{path:"/docs",key:"nav.docs",icon:"◐"}]}];let b=!1,k=!1;const q={system:"◐",dark:"●",light:"○"};let S=null,N=!1,w="",M=null;async function W(){try{const g=await Jt();s(3,S=g.status),s(4,N=!!(S!=null&&S.isRunning)),X()}catch{s(3,S=null),s(4,N=!1),X()}}async function ae(){var g;s(5,w="");try{const F=await Qt();s(3,S=F.status),s(4,N=!!((g=F.status)!=null&&g.isRunning)),s(5,w=F.alreadyRunning?t("sync.inProgress"):t("sync.started")),X()}catch{s(5,w=t("sync.failed")),s(4,N=!1),X()}setTimeout(()=>{N||s(5,w="")},3e3)}function X(){M&&(clearInterval(M),M=null),N&&(M=setInterval(async()=>{await W(),S!=null&&S.isRunning||(s(5,w=(S==null?void 0:S.lastSyncStatus)==="ok"?t("sync.complete"):(S==null?void 0:S.lastSyncError)||t("sync.failed")),setTimeout(()=>{s(5,w="")},5e3))},2e3))}function ie(g){return g?new Date(g).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):t("sync.never")}function _e(){s(1,b=!b),typeof window<"u"&&localStorage.setItem(At,String(b))}function L(){s(2,k=!k)}return Lt(()=>{Xt(),W(),typeof window<"u"&&s(1,b=localStorage.getItem(At)==="true")}),Rt(()=>{M&&clearInterval(M)}),l.$$set=g=>{"$$scope"in g&&s(15,h=g.$$scope)},l.$$.update=()=>{l.$$.dirty&1&&s(2,k=!1)},[i,b,k,S,N,w,t,a,d,f,q,ae,ie,_e,L,h,u]}class al extends jt{constructor(e){super(),qt(this,e,$t,Zt,Ct,{})}}export{al as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as x,n as u,c as S}from"../chunks/scheduler.DukoKnjQ.js";import{S as j,i as q,d as c,s as h,a as _,b as d,c as v,e as g,f as b,g as y,h as E,t as $,j as C}from"../chunks/index.CUfK07C5.js";import{p as H}from"../chunks/stores.
|
|
1
|
+
import{s as x,n as u,c as S}from"../chunks/scheduler.DukoKnjQ.js";import{S as j,i as q,d as c,s as h,a as _,b as d,c as v,e as g,f as b,g as y,h as E,t as $,j as C}from"../chunks/index.CUfK07C5.js";import{p as H}from"../chunks/stores.LwWmHglO.js";function P(p){var f;let a,s=p[0].status+"",r,o,n,i=((f=p[0].error)==null?void 0:f.message)+"",m;return{c(){a=E("h1"),r=$(s),o=C(),n=E("p"),m=$(i)},l(e){a=v(e,"H1",{});var t=g(a);r=b(t,s),t.forEach(c),o=y(e),n=v(e,"P",{});var l=g(n);m=b(l,i),l.forEach(c)},m(e,t){_(e,a,t),d(a,r),_(e,o,t),_(e,n,t),d(n,m)},p(e,[t]){var l;t&1&&s!==(s=e[0].status+"")&&h(r,s),t&1&&i!==(i=((l=e[0].error)==null?void 0:l.message)+"")&&h(m,i)},i:u,o:u,d(e){e&&(c(a),c(o),c(n))}}}function k(p,a,s){let r;return S(p,H,o=>s(0,r=o)),[r]}class B extends j{constructor(a){super(),q(this,a,k,P,x,{})}}export{B as component};
|