@juliantanx/aiusage 1.1.0 → 1.2.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.
Files changed (32) hide show
  1. package/README.md +22 -5
  2. package/dist/index.js +179 -9
  3. package/dist/web/_app/immutable/assets/0.Cynllvu4.css +1 -0
  4. package/dist/web/_app/immutable/assets/4.CVp0A8QV.css +1 -0
  5. package/dist/web/_app/immutable/assets/_layout.BpydV4rl.css +1 -0
  6. package/dist/web/_app/immutable/assets/_page.CVp0A8QV.css +1 -0
  7. package/dist/web/_app/immutable/chunks/{ToolSelector.DBA69ls-.js → ToolSelector.RXWBkdpM.js} +1 -1
  8. package/dist/web/_app/immutable/chunks/entry.C9S4R-C0.js +3 -0
  9. package/dist/web/_app/immutable/chunks/{stores.LwWmHglO.js → stores.Js_X6JN8.js} +1 -1
  10. package/dist/web/_app/immutable/entry/{app.Cllvcs6u.js → app.D2r0s5MX.js} +2 -2
  11. package/dist/web/_app/immutable/entry/start.DosCYfdN.js +1 -0
  12. package/dist/web/_app/immutable/nodes/0.CQBqRzIr.js +1 -0
  13. package/dist/web/_app/immutable/nodes/{1.pvmAynb7.js → 1.CRZFpn26.js} +1 -1
  14. package/dist/web/_app/immutable/nodes/{11.DBXRH-Pv.js → 11.CpuiQa6R.js} +1 -1
  15. package/dist/web/_app/immutable/nodes/{12.CW90mvWi.js → 12.BiWlfD7q.js} +1 -1
  16. package/dist/web/_app/immutable/nodes/{3.Dj6kNwjm.js → 3.Dg9c_XQX.js} +1 -1
  17. package/dist/web/_app/immutable/nodes/4.DE3OvqSg.js +11 -0
  18. package/dist/web/_app/immutable/nodes/{5.yl3PlP-P.js → 5.sGu0NOiv.js} +1 -1
  19. package/dist/web/_app/immutable/nodes/{6.UARXHK2e.js → 6.BOL9Fhgv.js} +1 -1
  20. package/dist/web/_app/immutable/nodes/{8.CVHaFhS0.js → 8.BVACtdPg.js} +1 -1
  21. package/dist/web/_app/immutable/nodes/{9.BMmvuct0.js → 9.DXxXyKe4.js} +1 -1
  22. package/dist/web/_app/version.json +1 -1
  23. package/dist/web/index.html +6 -6
  24. package/package.json +5 -2
  25. package/dist/web/_app/immutable/assets/0.VBArfZAW.css +0 -1
  26. package/dist/web/_app/immutable/assets/4.Dec4y3Rk.css +0 -1
  27. package/dist/web/_app/immutable/assets/_layout.DSAoTzJ2.css +0 -1
  28. package/dist/web/_app/immutable/assets/_page.Dec4y3Rk.css +0 -1
  29. package/dist/web/_app/immutable/chunks/entry.rQf9wfsR.js +0 -3
  30. package/dist/web/_app/immutable/entry/start.CPve6dv-.js +0 -1
  31. package/dist/web/_app/immutable/nodes/0.BPA3Ag-N.js +0 -1
  32. package/dist/web/_app/immutable/nodes/4.C8nxZ9Vo.js +0 -11
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # aiusage
2
2
 
3
- Track AI coding assistant usage, token consumption, cost, and tool calls in one place across Claude Code, Codex, OpenClaw, and OpenCode.
3
+ Track AI coding assistant usage, token consumption, cost, and tool calls in one place across Claude Code, Codex, OpenClaw, OpenCode, and Hermes.
4
4
 
5
5
  English | [中文](https://github.com/juliantanx/aiusage/blob/main/README_zh.md)
6
6
 
@@ -14,7 +14,7 @@ English | [中文](https://github.com/juliantanx/aiusage/blob/main/README_zh.md)
14
14
 
15
15
  ## Quick Start
16
16
 
17
- **Prerequisites:** Node.js >= 18
17
+ **Prerequisites:** Node.js >= 18 (tested on v18 LTS and v22 LTS; Node.js 16 and below are not supported)
18
18
 
19
19
  ```bash
20
20
  # Install
@@ -124,7 +124,7 @@ For single-machine usage, Quick Start is enough.
124
124
 
125
125
  ### Multi-Machine Sync
126
126
 
127
- Use this to aggregate token usage from multiple machines into one dashboard. Works with Claude Code, Codex, OpenClaw, and OpenCode.
127
+ Use this to aggregate token usage from multiple machines into one dashboard. Works with Claude Code, Codex, OpenClaw, OpenCode, and Hermes.
128
128
 
129
129
  **Architecture:**
130
130
 
@@ -149,7 +149,7 @@ Machine C ──┘
149
149
 
150
150
  **Step 2 — Install and configure on each machine**
151
151
 
152
- On every machine that uses Claude Code, Codex, OpenClaw, or OpenCode:
152
+ On every machine that uses Claude Code, Codex, OpenClaw, OpenCode, or Hermes:
153
153
 
154
154
  ```bash
155
155
  # Install aiusage CLI
@@ -324,6 +324,7 @@ docker build -t aiusage .
324
324
  | Codex | `~/.codex/sessions/` | `~/.codex/sessions/` | `%USERPROFILE%\.codex\sessions\` |
325
325
  | OpenClaw | `~/.openclaw/agents/*/sessions/` | `~/.openclaw/agents/*/sessions/` | `%USERPROFILE%\.openclaw\agents\*\sessions\` |
326
326
  | OpenCode | `~/Library/Application Support/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%APPDATA%\opencode\opencode.db` |
327
+ | Hermes | `~/.hermes/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\.hermes\state.db` |
327
328
 
328
329
  Discovery behavior:
329
330
 
@@ -331,6 +332,7 @@ Discovery behavior:
331
332
  - **Codex** — recursively scans `~/.codex/sessions/**` for `.jsonl` files.
332
333
  - **OpenClaw** — scans each agent's `sessions/` directory under `~/.openclaw/agents/*/sessions/` and skips checkpoint files.
333
334
  - **OpenCode** — reads the SQLite database file directly instead of `.jsonl` logs.
335
+ - **Hermes** — reads the SQLite database file (`state.db`) directly. Sessions without a recorded end time are still imported if they have token data (e.g. sessions from a force-quit).
334
336
 
335
337
  > On Linux, OpenCode respects `$XDG_DATA_HOME` if set.
336
338
 
@@ -344,7 +346,8 @@ If you installed a tool to a non-default location, override the paths in the **S
344
346
  "claude-code": "/custom/path/.claude/projects",
345
347
  "codex": "/custom/path/.codex/sessions",
346
348
  "openclaw": "/custom/sessions-dir",
347
- "opencode": "/custom/path/opencode.db"
349
+ "opencode": "/custom/path/opencode.db",
350
+ "hermes": "/custom/path/.hermes/state.db"
348
351
  }
349
352
  }
350
353
  ```
@@ -391,6 +394,20 @@ packages/
391
394
  web/ - SvelteKit web dashboard (SPA)
392
395
  ```
393
396
 
397
+ ## Friends
398
+
399
+ [**linux.do**](https://linux.do/) — Thanks to the linux.do community for their support and inspiration during the development of this project.
400
+
401
+ ## Star History
402
+
403
+ <a href="https://www.star-history.com/?repos=juliantanx%2Faiusage&type=date&logscale=&legend=top-left">
404
+ <picture>
405
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=juliantanx/aiusage&type=date&theme=dark&legend=top-left" />
406
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=juliantanx/aiusage&type=date&legend=top-left" />
407
+ <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=juliantanx/aiusage&type=date&legend=top-left" />
408
+ </picture>
409
+ </a>
410
+
394
411
  ## License
395
412
 
396
413
  MIT
package/dist/index.js CHANGED
@@ -235,7 +235,7 @@ function createApiServer(db, options) {
235
235
  const from = url.searchParams.get("from");
236
236
  const to = url.searchParams.get("to");
237
237
  const toolParam = url.searchParams.get("tool");
238
- const VALID_TOOLS = ["claude-code", "codex", "openclaw", "opencode"];
238
+ const VALID_TOOLS = ["claude-code", "codex", "openclaw", "opencode", "hermes"];
239
239
  if (toolParam && !VALID_TOOLS.includes(toolParam)) {
240
240
  json(res, { error: { code: "INVALID_PARAM", message: "Invalid tool" } }, 400);
241
241
  return;
@@ -1101,7 +1101,8 @@ function defaultFileData() {
1101
1101
  "claude-code": {},
1102
1102
  "codex": {},
1103
1103
  "openclaw": {},
1104
- "opencode": {}
1104
+ "opencode": {},
1105
+ "hermes": {}
1105
1106
  };
1106
1107
  }
1107
1108
  var WatermarkManager = class {
@@ -1121,7 +1122,7 @@ var WatermarkManager = class {
1121
1122
  if (parsed && typeof parsed === "object" && !("files" in parsed)) {
1122
1123
  return { files: { ...defaultFileData(), ...parsed } };
1123
1124
  }
1124
- return { files: parsed.files ?? defaultFileData(), opencode: parsed.opencode ?? null };
1125
+ return { files: parsed.files ?? defaultFileData(), opencode: parsed.opencode ?? null, hermes: parsed.hermes ?? null };
1125
1126
  } catch {
1126
1127
  return { files: defaultFileData() };
1127
1128
  }
@@ -1154,6 +1155,12 @@ var WatermarkManager = class {
1154
1155
  setOpenCodeCursor(cursor) {
1155
1156
  this.data.opencode = cursor;
1156
1157
  }
1158
+ getHermesCursor() {
1159
+ return this.data.hermes ?? null;
1160
+ }
1161
+ setHermesCursor(cursor) {
1162
+ this.data.hermes = cursor;
1163
+ }
1157
1164
  };
1158
1165
 
1159
1166
  // src/commands/parse-opencode.ts
@@ -1256,6 +1263,116 @@ function runParseOpenCode(db, options) {
1256
1263
  return { records, toolCalls, nextCursor: records.length > 0 ? lastCursor : null, errors };
1257
1264
  }
1258
1265
 
1266
+ // src/commands/parse-hermes.ts
1267
+ function runParseHermes(db, options) {
1268
+ const { dbPath, device, deviceInstanceId, platform: platform4, now, cursor } = options;
1269
+ const records = [];
1270
+ const toolCalls = [];
1271
+ const errors = [];
1272
+ let lastCursor = null;
1273
+ const sessions = db.prepare(
1274
+ `SELECT id, model, billing_provider, started_at, ended_at,
1275
+ input_tokens, output_tokens, cache_read_tokens, cache_write_tokens,
1276
+ reasoning_tokens, estimated_cost_usd, actual_cost_usd,
1277
+ COALESCE(ended_at, started_at) AS session_ts
1278
+ FROM sessions
1279
+ WHERE (ended_at IS NOT NULL OR input_tokens > 0 OR output_tokens > 0)
1280
+ AND (COALESCE(ended_at, started_at) > ? OR (COALESCE(ended_at, started_at) = ? AND id > ?))
1281
+ ORDER BY COALESCE(ended_at, started_at), id`
1282
+ ).all(
1283
+ cursor?.lastEndedAt ?? 0,
1284
+ cursor?.lastEndedAt ?? 0,
1285
+ cursor?.lastId ?? ""
1286
+ );
1287
+ const toolCallsStmt = db.prepare(
1288
+ `SELECT id, session_id, tool_calls, timestamp
1289
+ FROM messages
1290
+ WHERE session_id = ? AND tool_calls IS NOT NULL
1291
+ ORDER BY timestamp, id`
1292
+ );
1293
+ for (const session of sessions) {
1294
+ lastCursor = { lastEndedAt: session.session_ts, lastId: session.id };
1295
+ const model = session.model ?? "unknown";
1296
+ const ts = Math.round(session.started_at * 1e3);
1297
+ const rawProvider = session.billing_provider;
1298
+ const provider = rawProvider && rawProvider !== "custom" ? rawProvider : inferProvider(model);
1299
+ const inputTokens = session.input_tokens;
1300
+ const outputTokens = session.output_tokens;
1301
+ const cacheReadTokens = session.cache_read_tokens;
1302
+ const cacheWriteTokens = session.cache_write_tokens;
1303
+ const thinkingTokens = session.reasoning_tokens;
1304
+ const tokenArgs = { inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, thinkingTokens };
1305
+ let cost;
1306
+ let costSource;
1307
+ if (session.actual_cost_usd != null && session.actual_cost_usd > 0) {
1308
+ cost = session.actual_cost_usd;
1309
+ costSource = "log";
1310
+ } else if (session.estimated_cost_usd != null && session.estimated_cost_usd > 0) {
1311
+ cost = session.estimated_cost_usd;
1312
+ costSource = "log";
1313
+ } else if (model !== "unknown") {
1314
+ cost = calculateCost(model, tokenArgs);
1315
+ costSource = cost > 0 ? "pricing" : "unknown";
1316
+ } else {
1317
+ cost = 0;
1318
+ costSource = "unknown";
1319
+ }
1320
+ const recordId = generateRecordId(deviceInstanceId, dbPath + ":" + session.id, ts);
1321
+ const record = {
1322
+ id: recordId,
1323
+ ts,
1324
+ ingestedAt: now,
1325
+ updatedAt: now,
1326
+ lineOffset: 0,
1327
+ tool: "hermes",
1328
+ model,
1329
+ provider,
1330
+ inputTokens,
1331
+ outputTokens,
1332
+ cacheReadTokens,
1333
+ cacheWriteTokens,
1334
+ thinkingTokens,
1335
+ cost,
1336
+ costSource,
1337
+ sessionId: session.id,
1338
+ sourceFile: dbPath,
1339
+ device,
1340
+ deviceInstanceId,
1341
+ platform: platform4
1342
+ };
1343
+ records.push(record);
1344
+ const messages = toolCallsStmt.all(session.id);
1345
+ let callIndex = 0;
1346
+ for (const message of messages) {
1347
+ let toolCallList;
1348
+ try {
1349
+ const parsed = JSON.parse(message.tool_calls);
1350
+ if (!Array.isArray(parsed)) {
1351
+ errors.push(`session ${session.id} message ${message.id}: tool_calls payload is not an array`);
1352
+ continue;
1353
+ }
1354
+ toolCallList = parsed;
1355
+ } catch (e) {
1356
+ errors.push(`session ${session.id} message ${message.id}: invalid tool_calls JSON: ${e instanceof Error ? e.message : e}`);
1357
+ continue;
1358
+ }
1359
+ for (const tc of toolCallList) {
1360
+ const name = tc.function?.name;
1361
+ if (!name) continue;
1362
+ toolCalls.push({
1363
+ id: generateToolCallId(recordId, name, Math.round(message.timestamp * 1e3), callIndex),
1364
+ recordId,
1365
+ name,
1366
+ ts: Math.round(message.timestamp * 1e3),
1367
+ callIndex
1368
+ });
1369
+ callIndex++;
1370
+ }
1371
+ }
1372
+ }
1373
+ return { records, toolCalls, nextCursor: lastCursor, errors };
1374
+ }
1375
+
1259
1376
  // src/commands/parse.ts
1260
1377
  function findJsonlFiles(dir) {
1261
1378
  const results = [];
@@ -1286,6 +1403,9 @@ function defaultOpenCodeDbPath() {
1286
1403
  const xdgDataHome = process.env.XDG_DATA_HOME ?? join3(home, ".local", "share");
1287
1404
  return join3(xdgDataHome, "opencode", "opencode.db");
1288
1405
  }
1406
+ function defaultHermesDbPath() {
1407
+ return join3(homedir2(), ".hermes", "state.db");
1408
+ }
1289
1409
  function discoverLogFiles(sources) {
1290
1410
  const home = homedir2();
1291
1411
  const results = [];
@@ -1448,6 +1568,35 @@ async function runParse(db, filterTool, options) {
1448
1568
  errors.push(`${openCodeDbPath}: ${e instanceof Error ? e.message : e}`);
1449
1569
  }
1450
1570
  }
1571
+ const hermesDbPath = options?.hermesDbPath ?? config?.sources?.["hermes"] ?? defaultHermesDbPath();
1572
+ if ((!filterTool || filterTool === "hermes") && existsSync4(hermesDbPath)) {
1573
+ try {
1574
+ const hermesDb = new Database(hermesDbPath, { readonly: true });
1575
+ try {
1576
+ const result = runParseHermes(hermesDb, {
1577
+ dbPath: hermesDbPath,
1578
+ device,
1579
+ deviceInstanceId,
1580
+ platform: devicePlatform,
1581
+ now: Date.now(),
1582
+ cursor: wm.getHermesCursor()
1583
+ });
1584
+ for (const record of result.records) insertRecord(db, record);
1585
+ for (const tc of result.toolCalls) insertToolCall(db, tc);
1586
+ if (result.nextCursor) {
1587
+ wm.setHermesCursor(result.nextCursor);
1588
+ wm.save();
1589
+ }
1590
+ parsedCount += result.records.length;
1591
+ toolCallCount += result.toolCalls.length;
1592
+ errors.push(...result.errors);
1593
+ } finally {
1594
+ hermesDb.close();
1595
+ }
1596
+ } catch (e) {
1597
+ errors.push(`${hermesDbPath}: ${e instanceof Error ? e.message : e}`);
1598
+ }
1599
+ }
1451
1600
  if (deviceInstanceId !== "unknown") {
1452
1601
  db.prepare(
1453
1602
  `UPDATE records SET device_instance_id = ?, device = ? WHERE device_instance_id = 'unknown'`
@@ -1566,7 +1715,7 @@ function mergeSyncedRecordsIntoRecords(db) {
1566
1715
 
1567
1716
  // src/sync/mapper.ts
1568
1717
  function mapStatsRecordToSyncRecord(record) {
1569
- const id = record.sourceFile.startsWith("synced/") ? record.id : record.tool === "opencode" ? record.id : generateSyncRecordId(record.deviceInstanceId, record.sourceFile, record.lineOffset);
1718
+ const id = record.sourceFile.startsWith("synced/") ? record.id : record.tool === "opencode" || record.tool === "hermes" ? record.id : generateSyncRecordId(record.deviceInstanceId, record.sourceFile, record.lineOffset);
1570
1719
  return {
1571
1720
  id,
1572
1721
  ts: record.ts,
@@ -2210,6 +2359,7 @@ var RuntimeSettingsController = class {
2210
2359
  };
2211
2360
 
2212
2361
  // src/commands/serve.ts
2362
+ var MAX_PORT_ATTEMPTS = 10;
2213
2363
  var MIME_TYPES = {
2214
2364
  ".html": "text/html",
2215
2365
  ".js": "application/javascript",
@@ -2282,9 +2432,29 @@ function serve(options) {
2282
2432
  res.writeHead(404, { "Content-Type": "application/json" });
2283
2433
  res.end(JSON.stringify({ error: { code: "NOT_FOUND", message: "Web dashboard not found. Reinstall the package: npm install -g aiusage" } }));
2284
2434
  });
2285
- server.listen(options.port, "0.0.0.0", () => {
2286
- console.log(`aiusage serve listening on http://localhost:${options.port}`);
2435
+ let currentPort = options.port;
2436
+ let started = false;
2437
+ const listenOnPort = (port) => {
2438
+ currentPort = port;
2439
+ server.listen(port, "0.0.0.0");
2440
+ };
2441
+ server.on("listening", () => {
2442
+ started = true;
2443
+ console.log(`aiusage serve listening on http://localhost:${currentPort}`);
2444
+ });
2445
+ server.on("error", (error) => {
2446
+ if (error.code === "EADDRINUSE" && !started && currentPort < options.port + MAX_PORT_ATTEMPTS - 1) {
2447
+ const nextPort = currentPort + 1;
2448
+ console.warn(`Port ${currentPort} is already in use, trying ${nextPort}...`);
2449
+ server.close(() => {
2450
+ listenOnPort(nextPort);
2451
+ });
2452
+ return;
2453
+ }
2454
+ runtimeSettings.stop();
2455
+ throw error;
2287
2456
  });
2457
+ listenOnPort(options.port);
2288
2458
  process.on("SIGINT", () => {
2289
2459
  console.log("\nShutting down...");
2290
2460
  runtimeSettings.stop();
@@ -2869,7 +3039,7 @@ function createDatabase(path2) {
2869
3039
  import { join as join8 } from "path";
2870
3040
  var DB_PATH = join8(AIUSAGE_DIR, "cache.db");
2871
3041
  var program = new Command();
2872
- program.name("aiusage").version(true ? "1.1.0" : "dev").description("CLI tool for AI usage statistics");
3042
+ program.name("aiusage").version(true ? "1.2.0" : "dev").description("CLI tool for AI usage statistics");
2873
3043
  program.action(() => {
2874
3044
  const db = createDatabase(DB_PATH);
2875
3045
  const state = getState(AIUSAGE_DIR);
@@ -2896,7 +3066,7 @@ program.action(() => {
2896
3066
  }
2897
3067
  db.close();
2898
3068
  });
2899
- program.command("summary").description("Show usage summary").option("--week", "Show this week").option("--month", "Show this month").option("--from <date>", "Start date (YYYY-MM-DD)").option("--to <date>", "End date (YYYY-MM-DD)").option("--device <id>", "Filter by device instance ID").option("--tool <tool>", "Filter by tool type (claude-code|codex|openclaw|opencode)").action((options) => {
3069
+ program.command("summary").description("Show usage summary").option("--week", "Show this week").option("--month", "Show this month").option("--from <date>", "Start date (YYYY-MM-DD)").option("--to <date>", "End date (YYYY-MM-DD)").option("--device <id>", "Filter by device instance ID").option("--tool <tool>", "Filter by tool type (claude-code|codex|openclaw|opencode|hermes)").action((options) => {
2900
3070
  const db = createDatabase(DB_PATH);
2901
3071
  const state = getState(AIUSAGE_DIR);
2902
3072
  const summary = generateSummary(db, {
@@ -2952,7 +3122,7 @@ program.command("export").description("Export data").requiredOption("--format <f
2952
3122
  }
2953
3123
  db.close();
2954
3124
  });
2955
- program.command("parse").description("Parse AI tool session logs").option("--tool <tool>", "Specific tool to parse (claude-code|codex|openclaw|opencode)").action(async (options) => {
3125
+ program.command("parse").description("Parse AI tool session logs").option("--tool <tool>", "Specific tool to parse (claude-code|codex|openclaw|opencode|hermes)").action(async (options) => {
2956
3126
  const db = createDatabase(DB_PATH);
2957
3127
  try {
2958
3128
  const result = await runParse(db, options.tool);
@@ -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-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{display:flex;min-height:100vh}.sidebar.svelte-89n8rl.svelte-89n8rl{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-89n8rl .sidebar.svelte-89n8rl{width:var(--sidebar-collapsed)}.sidebar-inner.svelte-89n8rl.svelte-89n8rl{display:flex;flex-direction:column;height:100%;overflow:hidden}.brand.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{font-family:var(--mono);font-weight:700;font-size:.9rem;letter-spacing:-.02em;color:var(--text-primary);transition:color .3s}.brand-mobile.svelte-89n8rl.svelte-89n8rl{border-bottom:none;padding:0}.sidebar-nav.svelte-89n8rl.svelte-89n8rl{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem 0;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.nav-group.svelte-89n8rl.svelte-89n8rl{margin-bottom:.25rem}.group-label.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active.svelte-89n8rl.svelte-89n8rl{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent);font-weight:600}.nav-icon.svelte-89n8rl.svelte-89n8rl{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.nav-label.svelte-89n8rl.svelte-89n8rl{flex:1;min-width:0}.active-dot.svelte-89n8rl.svelte-89n8rl{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 6px var(--accent-glow)}.sidebar-footer.svelte-89n8rl.svelte-89n8rl{padding:.6rem 0;border-top:1px solid var(--border-subtle);flex-shrink:0;display:flex;flex-direction:column;gap:.1rem}.ctrl-btn.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl:hover{color:var(--text-primary);background:var(--bg-hover)}.ctrl-btn.svelte-89n8rl.svelte-89n8rl:disabled{opacity:.5;cursor:not-allowed}.ctrl-icon.svelte-89n8rl.svelte-89n8rl{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.lang-icon.svelte-89n8rl.svelte-89n8rl{font-size:.65rem;font-weight:700}.ctrl-label.svelte-89n8rl.svelte-89n8rl{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.02em;flex:1}.ctrl-label.ok.svelte-89n8rl.svelte-89n8rl{color:var(--green)}.ctrl-label.err.svelte-89n8rl.svelte-89n8rl{color:var(--rose)}.spinning.svelte-89n8rl.svelte-89n8rl{animation:svelte-89n8rl-spin .9s linear infinite;display:inline-block}@keyframes svelte-89n8rl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collapse-btn.svelte-89n8rl.svelte-89n8rl{margin-top:.15rem}.main-area.svelte-89n8rl.svelte-89n8rl{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-89n8rl .main-area.svelte-89n8rl{margin-left:var(--sidebar-collapsed)}.mobile-header.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{display:flex;flex-direction:column;gap:4px;padding:4px;background:transparent;border:none;cursor:pointer}.hamburger.svelte-89n8rl span.svelte-89n8rl{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:1px;transition:background .15s}.hamburger.svelte-89n8rl:hover span.svelte-89n8rl{background:var(--text-primary)}.mobile-controls.svelte-89n8rl.svelte-89n8rl{margin-left:auto;display:flex;gap:.25rem}.mobile-controls.svelte-89n8rl .ctrl-btn.svelte-89n8rl{padding:.3rem .5rem;width:auto}.page-content.svelte-89n8rl.svelte-89n8rl{flex:1;padding:2rem 2.5rem;width:100%;animation:svelte-89n8rl-fadeUp .35s ease}@keyframes svelte-89n8rl-fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.mobile-backdrop.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{transform:translate(-100%);width:var(--sidebar-width)!important;box-shadow:4px 0 24px #0000004d}.sidebar.open.svelte-89n8rl.svelte-89n8rl{transform:translate(0)}.main-area.svelte-89n8rl.svelte-89n8rl{margin-left:0!important}.mobile-header.svelte-89n8rl.svelte-89n8rl{display:flex}.mobile-backdrop.svelte-89n8rl.svelte-89n8rl{display:block}.page-content.svelte-89n8rl.svelte-89n8rl{padding:1.25rem 1rem}}@media (min-width: 801px){.mobile-backdrop.svelte-89n8rl.svelte-89n8rl{display:none!important}}.sync-btn.svelte-89n8rl.svelte-89n8rl:hover{color:var(--accent)}
@@ -0,0 +1 @@
1
+ .docs-layout.svelte-p0wuyk.svelte-p0wuyk{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.toc.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{top:4.5rem;max-height:calc(100vh - 6rem)}}.toc-header.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{display:flex;flex-direction:column;gap:.05rem}.toc-item.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk:hover{color:var(--text-primary);background:var(--bg-hover)}.toc-item.active.svelte-p0wuyk.svelte-p0wuyk{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600}.docs-content.svelte-p0wuyk.svelte-p0wuyk{min-width:0;max-width:72ch}.docs-content.svelte-p0wuyk .page-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}section.svelte-p0wuyk.svelte-p0wuyk{margin-bottom:3rem;padding-top:.5rem}section.svelte-p0wuyk h2.svelte-p0wuyk{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-p0wuyk h3.svelte-p0wuyk{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-p0wuyk p.svelte-p0wuyk{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.75rem}section.svelte-p0wuyk ul.svelte-p0wuyk,section.svelte-p0wuyk ol.svelte-p0wuyk{padding-left:1.4rem;margin-bottom:.75rem}section.svelte-p0wuyk li.svelte-p0wuyk{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.3rem}section.svelte-p0wuyk strong.svelte-p0wuyk{color:var(--text-primary);font-weight:600}section.svelte-p0wuyk code.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{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-p0wuyk code.svelte-p0wuyk{background:none;border:none;padding:0;font-size:.8rem;color:var(--text-primary)}.callout.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{font-size:.8rem;flex-shrink:0;margin-top:.08rem}.callout.info.svelte-p0wuyk.svelte-p0wuyk{background:var(--blue-dim);border-color:#3b82f640;color:var(--blue)}.callout.tip.svelte-p0wuyk.svelte-p0wuyk{background:var(--accent-dim);border-color:var(--accent-glow);color:var(--accent)}.callout.warn.svelte-p0wuyk.svelte-p0wuyk{background:var(--rose-dim);border-color:#f43f5e40;color:var(--rose)}.docs-table.svelte-p0wuyk.svelte-p0wuyk{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.84rem}.docs-table.svelte-p0wuyk th.svelte-p0wuyk{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-p0wuyk td.svelte-p0wuyk{padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.docs-table.svelte-p0wuyk tr:hover td.svelte-p0wuyk{background:var(--bg-hover)}.docs-table.svelte-p0wuyk td.svelte-p0wuyk:first-child{font-family:var(--mono);font-size:.78rem;color:var(--text-primary);white-space:nowrap}@media (max-width: 800px){.docs-layout.svelte-p0wuyk.svelte-p0wuyk{grid-template-columns:1fr}.toc.svelte-p0wuyk.svelte-p0wuyk{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:.35rem}.toc-header.svelte-p0wuyk.svelte-p0wuyk{width:100%}.toc-item.svelte-p0wuyk.svelte-p0wuyk{border:1px solid var(--border-subtle);border-radius:4px;border-left-width:1px}.toc-item.active.svelte-p0wuyk.svelte-p0wuyk{border-color:var(--accent)}}
@@ -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-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{display:flex;min-height:100vh}.sidebar.svelte-89n8rl.svelte-89n8rl{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-89n8rl .sidebar.svelte-89n8rl{width:var(--sidebar-collapsed)}.sidebar-inner.svelte-89n8rl.svelte-89n8rl{display:flex;flex-direction:column;height:100%;overflow:hidden}.brand.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{font-family:var(--mono);font-weight:700;font-size:.9rem;letter-spacing:-.02em;color:var(--text-primary);transition:color .3s}.brand-mobile.svelte-89n8rl.svelte-89n8rl{border-bottom:none;padding:0}.sidebar-nav.svelte-89n8rl.svelte-89n8rl{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem 0;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.nav-group.svelte-89n8rl.svelte-89n8rl{margin-bottom:.25rem}.group-label.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active.svelte-89n8rl.svelte-89n8rl{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent);font-weight:600}.nav-icon.svelte-89n8rl.svelte-89n8rl{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.nav-label.svelte-89n8rl.svelte-89n8rl{flex:1;min-width:0}.active-dot.svelte-89n8rl.svelte-89n8rl{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 6px var(--accent-glow)}.sidebar-footer.svelte-89n8rl.svelte-89n8rl{padding:.6rem 0;border-top:1px solid var(--border-subtle);flex-shrink:0;display:flex;flex-direction:column;gap:.1rem}.ctrl-btn.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl:hover{color:var(--text-primary);background:var(--bg-hover)}.ctrl-btn.svelte-89n8rl.svelte-89n8rl:disabled{opacity:.5;cursor:not-allowed}.ctrl-icon.svelte-89n8rl.svelte-89n8rl{font-family:var(--mono);font-size:.85rem;width:20px;text-align:center;flex-shrink:0;line-height:1}.lang-icon.svelte-89n8rl.svelte-89n8rl{font-size:.65rem;font-weight:700}.ctrl-label.svelte-89n8rl.svelte-89n8rl{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.02em;flex:1}.ctrl-label.ok.svelte-89n8rl.svelte-89n8rl{color:var(--green)}.ctrl-label.err.svelte-89n8rl.svelte-89n8rl{color:var(--rose)}.spinning.svelte-89n8rl.svelte-89n8rl{animation:svelte-89n8rl-spin .9s linear infinite;display:inline-block}@keyframes svelte-89n8rl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collapse-btn.svelte-89n8rl.svelte-89n8rl{margin-top:.15rem}.main-area.svelte-89n8rl.svelte-89n8rl{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-89n8rl .main-area.svelte-89n8rl{margin-left:var(--sidebar-collapsed)}.mobile-header.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{display:flex;flex-direction:column;gap:4px;padding:4px;background:transparent;border:none;cursor:pointer}.hamburger.svelte-89n8rl span.svelte-89n8rl{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:1px;transition:background .15s}.hamburger.svelte-89n8rl:hover span.svelte-89n8rl{background:var(--text-primary)}.mobile-controls.svelte-89n8rl.svelte-89n8rl{margin-left:auto;display:flex;gap:.25rem}.mobile-controls.svelte-89n8rl .ctrl-btn.svelte-89n8rl{padding:.3rem .5rem;width:auto}.page-content.svelte-89n8rl.svelte-89n8rl{flex:1;padding:2rem 2.5rem;width:100%;animation:svelte-89n8rl-fadeUp .35s ease}@keyframes svelte-89n8rl-fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.mobile-backdrop.svelte-89n8rl.svelte-89n8rl{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-89n8rl.svelte-89n8rl{transform:translate(-100%);width:var(--sidebar-width)!important;box-shadow:4px 0 24px #0000004d}.sidebar.open.svelte-89n8rl.svelte-89n8rl{transform:translate(0)}.main-area.svelte-89n8rl.svelte-89n8rl{margin-left:0!important}.mobile-header.svelte-89n8rl.svelte-89n8rl{display:flex}.mobile-backdrop.svelte-89n8rl.svelte-89n8rl{display:block}.page-content.svelte-89n8rl.svelte-89n8rl{padding:1.25rem 1rem}}@media (min-width: 801px){.mobile-backdrop.svelte-89n8rl.svelte-89n8rl{display:none!important}}.sync-btn.svelte-89n8rl.svelte-89n8rl:hover{color:var(--accent)}
@@ -0,0 +1 @@
1
+ .docs-layout.svelte-p0wuyk.svelte-p0wuyk{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.toc.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{top:4.5rem;max-height:calc(100vh - 6rem)}}.toc-header.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{display:flex;flex-direction:column;gap:.05rem}.toc-item.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk:hover{color:var(--text-primary);background:var(--bg-hover)}.toc-item.active.svelte-p0wuyk.svelte-p0wuyk{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600}.docs-content.svelte-p0wuyk.svelte-p0wuyk{min-width:0;max-width:72ch}.docs-content.svelte-p0wuyk .page-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}section.svelte-p0wuyk.svelte-p0wuyk{margin-bottom:3rem;padding-top:.5rem}section.svelte-p0wuyk h2.svelte-p0wuyk{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-p0wuyk h3.svelte-p0wuyk{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-p0wuyk p.svelte-p0wuyk{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.75rem}section.svelte-p0wuyk ul.svelte-p0wuyk,section.svelte-p0wuyk ol.svelte-p0wuyk{padding-left:1.4rem;margin-bottom:.75rem}section.svelte-p0wuyk li.svelte-p0wuyk{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.3rem}section.svelte-p0wuyk strong.svelte-p0wuyk{color:var(--text-primary);font-weight:600}section.svelte-p0wuyk code.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{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-p0wuyk code.svelte-p0wuyk{background:none;border:none;padding:0;font-size:.8rem;color:var(--text-primary)}.callout.svelte-p0wuyk.svelte-p0wuyk{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-p0wuyk.svelte-p0wuyk{font-size:.8rem;flex-shrink:0;margin-top:.08rem}.callout.info.svelte-p0wuyk.svelte-p0wuyk{background:var(--blue-dim);border-color:#3b82f640;color:var(--blue)}.callout.tip.svelte-p0wuyk.svelte-p0wuyk{background:var(--accent-dim);border-color:var(--accent-glow);color:var(--accent)}.callout.warn.svelte-p0wuyk.svelte-p0wuyk{background:var(--rose-dim);border-color:#f43f5e40;color:var(--rose)}.docs-table.svelte-p0wuyk.svelte-p0wuyk{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.84rem}.docs-table.svelte-p0wuyk th.svelte-p0wuyk{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-p0wuyk td.svelte-p0wuyk{padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.docs-table.svelte-p0wuyk tr:hover td.svelte-p0wuyk{background:var(--bg-hover)}.docs-table.svelte-p0wuyk td.svelte-p0wuyk:first-child{font-family:var(--mono);font-size:.78rem;color:var(--text-primary);white-space:nowrap}@media (max-width: 800px){.docs-layout.svelte-p0wuyk.svelte-p0wuyk{grid-template-columns:1fr}.toc.svelte-p0wuyk.svelte-p0wuyk{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:.35rem}.toc-header.svelte-p0wuyk.svelte-p0wuyk{width:100%}.toc-item.svelte-p0wuyk.svelte-p0wuyk{border:1px solid var(--border-subtle);border-radius:4px;border-left-width:1px}.toc-item.active.svelte-p0wuyk.svelte-p0wuyk{border-color:var(--accent)}}
@@ -1,2 +1,2 @@
1
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};
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","hermes"];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,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"&&q.delete(_e(e)),He(e,n));const q=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&&q.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(q.size>0){const r=_e(e,t),a=q.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);q.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 qe;const L=((qe=globalThis.__sveltekit_1ys8q0q)==null?void 0:qe.base)??"";var Me;const xt=((Me=globalThis.__sveltekit_1ys8q0q)==null?void 0:Me.assets)??L,Ct="1779416537140",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 qt(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 Mt=typeof Uint8Array.fromBase64=="function";var Ge;const Gt=typeof process=="object"&&((Ge=process.versions)==null?void 0:Ge.node)!==void 0,Ht=Mt?Ft:Gt?Vt:qt,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,M=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()};M.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(_=>{M.delete(_)})};v.push(w),v.forEach(_=>{M.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),M.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))}}M.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};
@@ -1 +1 @@
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};
1
+ import{s as e}from"./entry.C9S4R-C0.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};
@@ -1,2 +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};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CQBqRzIr.js","../chunks/scheduler.DukoKnjQ.js","../chunks/index.CUfK07C5.js","../chunks/i18n.CrmYDWvg.js","../chunks/index.BjVwNvJa.js","../chunks/stores.Js_X6JN8.js","../chunks/entry.C9S4R-C0.js","../chunks/api.Cv9iCeAW.js","../assets/0.Cynllvu4.css","../nodes/1.CRZFpn26.js","../nodes/2.CQudsTBz.js","../assets/2.fho1OPpm.css","../nodes/3.Dg9c_XQX.js","../chunks/ToolSelector.RXWBkdpM.js","../assets/ToolSelector.HSbC8-q9.css","../assets/3.DwwXF_G1.css","../nodes/4.DE3OvqSg.js","../assets/4.CVp0A8QV.css","../nodes/5.sGu0NOiv.js","../assets/5.DM2hVWjt.css","../nodes/6.BOL9Fhgv.js","../assets/6.NdKfVCiG.css","../nodes/7.B2wRNntO.js","../assets/7.CeV8yHSX.css","../nodes/8.BVACtdPg.js","../assets/8.BCdjuhVX.css","../nodes/9.DXxXyKe4.js","../assets/9.ClvwkhDe.css","../nodes/10.Jb_wogsG.js","../assets/10.Doxq00gF.css","../nodes/11.CpuiQa6R.js","../assets/11.D5bUq0yE.css","../nodes/12.BiWlfD7q.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.CQBqRzIr.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>m(()=>import("../nodes/1.CRZFpn26.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.Dg9c_XQX.js"),__vite__mapDeps([12,1,2,3,4,13,14,7,15]),import.meta.url),()=>m(()=>import("../nodes/4.DE3OvqSg.js"),__vite__mapDeps([16,1,2,3,4,17]),import.meta.url),()=>m(()=>import("../nodes/5.sGu0NOiv.js"),__vite__mapDeps([18,1,2,3,4,13,14,7,19]),import.meta.url),()=>m(()=>import("../nodes/6.BOL9Fhgv.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.BVACtdPg.js"),__vite__mapDeps([24,1,2,3,4,13,14,7,25]),import.meta.url),()=>m(()=>import("../nodes/9.DXxXyKe4.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.CpuiQa6R.js"),__vite__mapDeps([30,1,2,3,4,13,14,7,31]),import.meta.url),()=>m(()=>import("../nodes/12.BiWlfD7q.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.C9S4R-C0.js";export{t as start};