jinn-cli 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cli/chrome-allow.d.ts.map +1 -1
- package/dist/src/cli/chrome-allow.js +14 -5
- package/dist/src/cli/chrome-allow.js.map +1 -1
- package/dist/src/cli/list.js +1 -1
- package/dist/src/cli/list.js.map +1 -1
- package/dist/src/cli/nuke.js +2 -2
- package/dist/src/cli/nuke.js.map +1 -1
- package/dist/src/cli/setup.d.ts.map +1 -1
- package/dist/src/cli/setup.js +2 -1
- package/dist/src/cli/setup.js.map +1 -1
- package/dist/src/connectors/slack/index.d.ts +9 -1
- package/dist/src/connectors/slack/index.d.ts.map +1 -1
- package/dist/src/connectors/slack/index.js +172 -8
- package/dist/src/connectors/slack/index.js.map +1 -1
- package/dist/src/connectors/slack/threads.d.ts +1 -4
- package/dist/src/connectors/slack/threads.d.ts.map +1 -1
- package/dist/src/connectors/slack/threads.js +17 -7
- package/dist/src/connectors/slack/threads.js.map +1 -1
- package/dist/src/connectors/slack/threads.test.js +42 -8
- package/dist/src/connectors/slack/threads.test.js.map +1 -1
- package/dist/src/cron/runner.d.ts.map +1 -1
- package/dist/src/cron/runner.js +16 -5
- package/dist/src/cron/runner.js.map +1 -1
- package/dist/src/engines/claude.d.ts.map +1 -1
- package/dist/src/engines/claude.js +19 -4
- package/dist/src/engines/claude.js.map +1 -1
- package/dist/src/gateway/api.d.ts.map +1 -1
- package/dist/src/gateway/api.js +214 -3
- package/dist/src/gateway/api.js.map +1 -1
- package/dist/src/gateway/files.d.ts +6 -0
- package/dist/src/gateway/files.d.ts.map +1 -0
- package/dist/src/gateway/files.js +430 -0
- package/dist/src/gateway/files.js.map +1 -0
- package/dist/src/gateway/lifecycle.d.ts.map +1 -1
- package/dist/src/gateway/lifecycle.js +16 -6
- package/dist/src/gateway/lifecycle.js.map +1 -1
- package/dist/src/gateway/org.d.ts.map +1 -1
- package/dist/src/gateway/org.js +1 -0
- package/dist/src/gateway/org.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +42 -1
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/watcher.d.ts.map +1 -1
- package/dist/src/gateway/watcher.js +9 -2
- package/dist/src/gateway/watcher.js.map +1 -1
- package/dist/src/mcp/gateway-server.d.ts +13 -0
- package/dist/src/mcp/gateway-server.d.ts.map +1 -0
- package/dist/src/mcp/gateway-server.js +375 -0
- package/dist/src/mcp/gateway-server.js.map +1 -0
- package/dist/src/mcp/resolver.d.ts +19 -0
- package/dist/src/mcp/resolver.d.ts.map +1 -0
- package/dist/src/mcp/resolver.js +153 -0
- package/dist/src/mcp/resolver.js.map +1 -0
- package/dist/src/sessions/context.d.ts +1 -0
- package/dist/src/sessions/context.d.ts.map +1 -1
- package/dist/src/sessions/context.js +34 -3
- package/dist/src/sessions/context.js.map +1 -1
- package/dist/src/sessions/limits.d.ts +7 -0
- package/dist/src/sessions/limits.d.ts.map +1 -0
- package/dist/src/sessions/limits.js +42 -0
- package/dist/src/sessions/limits.js.map +1 -0
- package/dist/src/sessions/manager.d.ts +3 -1
- package/dist/src/sessions/manager.d.ts.map +1 -1
- package/dist/src/sessions/manager.js +38 -17
- package/dist/src/sessions/manager.js.map +1 -1
- package/dist/src/sessions/registry.d.ts +24 -0
- package/dist/src/sessions/registry.d.ts.map +1 -1
- package/dist/src/sessions/registry.js +76 -5
- package/dist/src/sessions/registry.js.map +1 -1
- package/dist/src/shared/effort.d.ts +17 -0
- package/dist/src/shared/effort.d.ts.map +1 -0
- package/dist/src/shared/effort.js +44 -0
- package/dist/src/shared/effort.js.map +1 -0
- package/dist/src/shared/paths.d.ts +3 -0
- package/dist/src/shared/paths.d.ts.map +1 -1
- package/dist/src/shared/paths.js +3 -0
- package/dist/src/shared/paths.js.map +1 -1
- package/dist/src/shared/types.d.ts +61 -1
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/stt/stt.d.ts +24 -0
- package/dist/src/stt/stt.d.ts.map +1 -0
- package/dist/src/stt/stt.js +203 -0
- package/dist/src/stt/stt.js.map +1 -0
- package/dist/web/404.html +1 -1
- package/dist/web/_next/static/chunks/{704-af2893821e1d18dc.js → 704-ca24be493a922639.js} +1 -1
- package/dist/web/_next/static/chunks/{73-c226535579393e21.js → 73-2d6e730cea0fe6c8.js} +1 -1
- package/dist/web/_next/static/chunks/app/_not-found/{page-bb075b0779827928.js → page-7d43a486b7014af3.js} +1 -1
- package/dist/web/_next/static/chunks/app/chat/page-2f3c561ed768ed58.js +1 -0
- package/dist/web/_next/static/chunks/app/costs/{page-d6c03718defdb599.js → page-13a6f2c65a827f8a.js} +1 -1
- package/dist/web/_next/static/chunks/app/cron/{page-4c563eef2b6231fe.js → page-0ee07a679c7b79aa.js} +1 -1
- package/dist/web/_next/static/chunks/app/kanban/{page-55a73165a36f4077.js → page-a7facadd4194faae.js} +1 -1
- package/dist/web/_next/static/chunks/app/layout-fd975d16033dab25.js +1 -0
- package/dist/web/_next/static/chunks/app/logs/page-6de6b16523e85193.js +1 -0
- package/dist/web/_next/static/chunks/app/org/{page-d5cd8d9b7864737b.js → page-cd9d362e77f4799e.js} +1 -1
- package/dist/web/_next/static/chunks/app/{page-b81992940fd1dbc6.js → page-b98417ed4f4d45a0.js} +1 -1
- package/dist/web/_next/static/chunks/app/sessions/{page-c83c890177c18258.js → page-9f83fa32b654db3b.js} +1 -1
- package/dist/web/_next/static/chunks/app/settings/page-34c9276e2a012445.js +1 -0
- package/dist/web/_next/static/chunks/app/skills/page-18cf3b7bb9a7339c.js +1 -0
- package/dist/web/_next/static/chunks/main-app-0c65af8a0fd99888.js +1 -0
- package/dist/web/_next/static/css/24da9dfc818cea32.css +1 -0
- package/dist/web/chat.html +1 -1
- package/dist/web/chat.txt +5 -5
- package/dist/web/costs.html +2 -2
- package/dist/web/costs.txt +5 -5
- package/dist/web/cron.html +1 -1
- package/dist/web/cron.txt +5 -5
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +5 -5
- package/dist/web/kanban.html +1 -1
- package/dist/web/kanban.txt +5 -5
- package/dist/web/logs.html +2 -2
- package/dist/web/logs.txt +5 -5
- package/dist/web/org.html +1 -1
- package/dist/web/org.txt +5 -5
- package/dist/web/sessions.html +1 -1
- package/dist/web/sessions.txt +5 -5
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +5 -5
- package/dist/web/skills.html +1 -1
- package/dist/web/skills.txt +5 -5
- package/package.json +3 -1
- package/template/config.default.yaml +32 -0
- package/template/docs/mcp.md +108 -0
- package/dist/web/_next/static/chunks/app/chat/page-6d5bc707a45c92c6.js +0 -1
- package/dist/web/_next/static/chunks/app/layout-5129b67d5f126cf0.js +0 -1
- package/dist/web/_next/static/chunks/app/logs/page-e18889d67e48c9c9.js +0 -1
- package/dist/web/_next/static/chunks/app/settings/page-2583d55551abdf72.js +0 -1
- package/dist/web/_next/static/chunks/app/skills/page-df9465e314561bb5.js +0 -1
- package/dist/web/_next/static/chunks/main-app-437f51faf74fbb3b.js +0 -1
- package/dist/web/_next/static/css/4a6a5bca9238c104.css +0 -1
- /package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Tn0FXDHalXGkNoojna-vg}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Tn0FXDHalXGkNoojna-vg}/_ssgManifest.js +0 -0
package/dist/web/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--jt8R5JvUgfB9CMfFwWFr0--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4a6a5bca9238c104.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-437f51faf74fbb3b.js" async=""></script><script src="/_next/static/chunks/app/layout-5129b67d5f126cf0.js" async=""></script><script src="/_next/static/chunks/704-af2893821e1d18dc.js" async=""></script><script src="/_next/static/chunks/590-2c34156c7417317e.js" async=""></script><script src="/_next/static/chunks/73-c226535579393e21.js" async=""></script><script src="/_next/static/chunks/app/page-b81992940fd1dbc6.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden" style="background:var(--bg)"><aside style="position:fixed;left:0;top:0;bottom:0;width:56px;background:var(--bg-secondary);border-right:1px solid var(--separator);flex-direction:column;z-index:50;transition:width 200ms var(--ease-smooth);overflow:hidden" class="hidden lg:flex"><div style="display:flex;align-items:center;gap:10px;padding:16px 14px 12px;min-height:56px;flex-shrink:0"><span style="font-size:24px;line-height:1;flex-shrink:0;width:28px;text-align:center">🤖</span><span style="font-size:17px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:0;transition:opacity 200ms var(--ease-smooth)">Jinn</span></div><nav style="flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px"><a class="nav-item" aria-label="Home" aria-current="page" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--accent);background:var(--accent-fill);font-weight:600;font-size:13px;white-space:nowrap" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true" style="flex-shrink:0;color:var(--accent)"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Home</span></a><a class="nav-item" aria-label="Chat" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Chat</span></a><a class="nav-item" aria-label="Sessions" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Sessions</span></a><a class="nav-item" aria-label="Organization" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/org"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Organization</span></a><a class="nav-item" aria-label="Kanban" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Kanban</span></a><a class="nav-item" aria-label="Cron" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Cron</span></a><a class="nav-item" aria-label="Costs" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/costs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Costs</span></a><a class="nav-item" aria-label="Activity" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/logs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Activity</span></a><a class="nav-item" aria-label="Skills" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Skills</span></a><a class="nav-item" aria-label="Settings" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Settings</span></a></nav><div style="padding:8px 8px 12px;flex-shrink:0"><button class="nav-item" aria-label="Theme: dark. Click to cycle." style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;width:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap"><span style="flex-shrink:0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span style="opacity:0;transition:opacity 200ms var(--ease-smooth);text-transform:capitalize">dark</span></button></div></aside><main class="flex-1 overflow-hidden lg:ml-[56px]"><div style="height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--separator);background:var(--material-thick);flex-shrink:0;position:relative;z-index:60" class="jsx-906cbf20b7aa1777 lg:hidden"><button aria-label="Open menu" style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary)" class="jsx-906cbf20b7aa1777"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div style="flex:1;text-align:center" class="jsx-906cbf20b7aa1777"><span style="font-size:18px;margin-right:6px" class="jsx-906cbf20b7aa1777">🤖</span><span style="font-size:15px;font-weight:600;color:var(--text-primary)" class="jsx-906cbf20b7aa1777">Jinn</span></div><div style="width:36px" class="jsx-906cbf20b7aa1777"></div></div><div style="height:100%;overflow-y:auto;padding:var(--space-6)"><div style="margin-bottom:var(--space-6)"><h2 style="font-size:var(--text-title2);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)">Dashboard</h2><p style="font-size:var(--text-body);color:var(--text-tertiary)">Gateway overview and live activity</p></div><div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--space-4);margin-bottom:var(--space-6)"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--system-blue) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--system-blue)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Uptime</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary)">--</p></div></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--system-green) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--system-green)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Active Sessions</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary)">--</p></div></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--accent) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu" aria-hidden="true"><path d="M12 20v2"></path><path d="M12 2v2"></path><path d="M17 20v2"></path><path d="M17 2v2"></path><path d="M2 12h2"></path><path d="M2 17h2"></path><path d="M2 7h2"></path><path d="M20 12h2"></path><path d="M20 17h2"></path><path d="M20 7h2"></path><path d="M7 20v2"></path><path d="M7 2v2"></path><rect x="4" y="4" width="16" height="16" rx="2"></rect><rect x="8" y="8" width="8" height="8" rx="1"></rect></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Engines</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary);text-transform:capitalize">--</p></div></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--system-orange) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--system-orange)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Cron Jobs</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary)">--</p></div></div></div></div><div style="margin-bottom:var(--space-6)"><h3 style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-3)">Quick Links</h3><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:var(--space-3)"><a style="text-decoration:none" href="/chat"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Chat</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Talk to Jinn directly</p></div></div></div></a><a style="text-decoration:none" href="/org"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Organization</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">View employees and departments</p></div></div></div></a><a style="text-decoration:none" href="/kanban"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-kanban" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M8 7v7"></path><path d="M12 7v4"></path><path d="M16 7v9"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Kanban</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Manage tasks and boards</p></div></div></div></a><a style="text-decoration:none" href="/cron"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-timer" aria-hidden="true"><line x1="10" x2="14" y1="2" y2="2"></line><line x1="12" x2="15" y1="14" y2="11"></line><circle cx="12" cy="14" r="8"></circle></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Cron</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Scheduled jobs and automations</p></div></div></div></a><a style="text-decoration:none" href="/costs"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Costs</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">API usage and spending</p></div></div></div></a><a style="text-decoration:none" href="/logs"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Activity</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Logs and event stream</p></div></div></div></a></div></div><div><div style="display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)"><h3 style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Recent Activity</h3><span style="width:8px;height:8px;border-radius:50%;background:var(--text-quaternary);display:inline-block"></span></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-0 overflow-hidden"><div style="padding:var(--space-6);text-align:center;font-size:var(--text-body);color:var(--text-tertiary)">Waiting for events...</div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-5129b67d5f126cf0.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[3339,[],\"ClientPageRoot\"]\n6:I[98,[\"704\",\"static/chunks/704-af2893821e1d18dc.js\",\"590\",\"static/chunks/590-2c34156c7417317e.js\",\"73\",\"static/chunks/73-c226535579393e21.js\",\"974\",\"static/chunks/app/page-b81992940fd1dbc6.js\"],\"default\"]\n9:I[2051,[],\"OutletBoundary\"]\nb:I[6658,[],\"AsyncMetadataOutlet\"]\nd:I[2051,[],\"ViewportBoundary\"]\nf:I[2051,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[7698,[],\"\"]\n:HL[\"/_next/static/css/4a6a5bca9238c104.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"jt8R5JvUgfB9CMfFwWFr0\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4a6a5bca9238c104.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--Tn0FXDHalXGkNoojna_vg--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/24da9dfc818cea32.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-0c65af8a0fd99888.js" async=""></script><script src="/_next/static/chunks/app/layout-fd975d16033dab25.js" async=""></script><script src="/_next/static/chunks/704-ca24be493a922639.js" async=""></script><script src="/_next/static/chunks/590-2c34156c7417317e.js" async=""></script><script src="/_next/static/chunks/73-2d6e730cea0fe6c8.js" async=""></script><script src="/_next/static/chunks/app/page-b98417ed4f4d45a0.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh overflow-hidden" style="background:var(--bg)"><aside style="position:fixed;left:0;top:0;bottom:0;width:56px;background:var(--bg-secondary);border-right:1px solid var(--separator);flex-direction:column;z-index:50;transition:width 200ms var(--ease-smooth);overflow:hidden" class="hidden lg:flex"><div style="display:flex;align-items:center;gap:10px;padding:16px 14px 12px;min-height:56px;flex-shrink:0"><span style="font-size:24px;line-height:1;flex-shrink:0;width:28px;text-align:center">🤖</span><span style="font-size:17px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:0;transition:opacity 200ms var(--ease-smooth)">Jinn</span></div><nav style="flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px"><a class="nav-item" aria-label="Home" aria-current="page" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--accent);background:var(--accent-fill);font-weight:600;font-size:13px;white-space:nowrap" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true" style="flex-shrink:0;color:var(--accent)"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Home</span></a><a class="nav-item" aria-label="Chat" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Chat</span></a><a class="nav-item" aria-label="Sessions" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Sessions</span></a><a class="nav-item" aria-label="Organization" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/org"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Organization</span></a><a class="nav-item" aria-label="Kanban" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Kanban</span></a><a class="nav-item" aria-label="Cron" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Cron</span></a><a class="nav-item" aria-label="Costs" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/costs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Costs</span></a><a class="nav-item" aria-label="Activity" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/logs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Activity</span></a><a class="nav-item" aria-label="Skills" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Skills</span></a><a class="nav-item" aria-label="Settings" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Settings</span></a></nav><div style="padding:8px 8px 12px;flex-shrink:0"><button class="nav-item" aria-label="Theme: dark. Click to cycle." style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;width:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap"><span style="flex-shrink:0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span style="opacity:0;transition:opacity 200ms var(--ease-smooth);text-transform:capitalize">dark</span></button></div></aside><main class="flex-1 overflow-hidden lg:ml-[56px]"><div style="height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--separator);background:var(--material-thick);flex-shrink:0;position:relative;z-index:60" class="jsx-906cbf20b7aa1777 lg:hidden"><button aria-label="Open menu" style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary)" class="jsx-906cbf20b7aa1777"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div style="flex:1;text-align:center" class="jsx-906cbf20b7aa1777"><span style="font-size:18px;margin-right:6px" class="jsx-906cbf20b7aa1777">🤖</span><span style="font-size:15px;font-weight:600;color:var(--text-primary)" class="jsx-906cbf20b7aa1777">Jinn</span></div><div style="width:36px" class="jsx-906cbf20b7aa1777"></div></div><div style="height:100%;overflow-y:auto;padding:var(--space-6)"><div style="margin-bottom:var(--space-6)"><h2 style="font-size:var(--text-title2);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)">Dashboard</h2><p style="font-size:var(--text-body);color:var(--text-tertiary)">Gateway overview and live activity</p></div><div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--space-4);margin-bottom:var(--space-6)"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--system-blue) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--system-blue)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Uptime</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary)">--</p></div></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--system-green) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--system-green)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Active Sessions</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary)">--</p></div></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--accent) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu" aria-hidden="true"><path d="M12 20v2"></path><path d="M12 2v2"></path><path d="M17 20v2"></path><path d="M17 2v2"></path><path d="M2 12h2"></path><path d="M2 17h2"></path><path d="M2 7h2"></path><path d="M20 12h2"></path><path d="M20 17h2"></path><path d="M20 7h2"></path><path d="M7 20v2"></path><path d="M7 2v2"></path><rect x="4" y="4" width="16" height="16" rx="2"></rect><rect x="8" y="8" width="8" height="8" rx="1"></rect></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Engines</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary);text-transform:capitalize">--</p></div></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4"><div data-slot="card-content" class="px-6 flex items-center gap-3"><div style="width:40px;height:40px;border-radius:var(--radius-md, 12px);background:color-mix(in srgb, var(--system-orange) 12%, transparent);display:flex;align-items:center;justify-content:center;color:var(--system-orange)"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></div><div><p style="font-size:var(--text-caption1);color:var(--text-tertiary);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.05em">Cron Jobs</p><p style="font-size:var(--text-title3);font-weight:var(--weight-semibold);color:var(--text-primary)">--</p></div></div></div></div><div style="margin-bottom:var(--space-6)"><h3 style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-3)">Quick Links</h3><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:var(--space-3)"><a style="text-decoration:none" href="/chat"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Chat</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Talk to Jinn directly</p></div></div></div></a><a style="text-decoration:none" href="/org"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Organization</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">View employees and departments</p></div></div></div></a><a style="text-decoration:none" href="/kanban"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-kanban" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M8 7v7"></path><path d="M12 7v4"></path><path d="M16 7v9"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Kanban</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Manage tasks and boards</p></div></div></div></a><a style="text-decoration:none" href="/cron"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-timer" aria-hidden="true"><line x1="10" x2="14" y1="2" y2="2"></line><line x1="12" x2="15" y1="14" y2="11"></line><circle cx="12" cy="14" r="8"></circle></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Cron</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Scheduled jobs and automations</p></div></div></div></a><a style="text-decoration:none" href="/costs"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Costs</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">API usage and spending</p></div></div></div></a><a style="text-decoration:none" href="/logs"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-4 h-full cursor-pointer transition-colors hover:border-[var(--accent)]"><div data-slot="card-content" class="px-6 flex flex-col gap-2"><div style="width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--fill-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></div><div><p style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Activity</p><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin-top:2px">Logs and event stream</p></div></div></div></a></div></div><div><div style="display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)"><h3 style="font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)">Recent Activity</h3><span style="width:8px;height:8px;border-radius:50%;background:var(--text-quaternary);display:inline-block"></span></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm py-0 overflow-hidden"><div style="padding:var(--space-6);text-align:center;font-size:var(--text-body);color:var(--text-tertiary)">Waiting for events...</div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-fd975d16033dab25.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[3339,[],\"ClientPageRoot\"]\n6:I[98,[\"704\",\"static/chunks/704-ca24be493a922639.js\",\"590\",\"static/chunks/590-2c34156c7417317e.js\",\"73\",\"static/chunks/73-2d6e730cea0fe6c8.js\",\"974\",\"static/chunks/app/page-b98417ed4f4d45a0.js\"],\"default\"]\n9:I[2051,[],\"OutletBoundary\"]\nb:I[6658,[],\"AsyncMetadataOutlet\"]\nd:I[2051,[],\"ViewportBoundary\"]\nf:I[2051,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[7698,[],\"\"]\n:HL[\"/_next/static/css/24da9dfc818cea32.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Tn0FXDHalXGkNoojna-vg\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/24da9dfc818cea32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
package/dist/web/index.txt
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[1150,["177","static/chunks/app/layout-
|
|
2
|
+
2:I[1150,["177","static/chunks/app/layout-fd975d16033dab25.js"],"ClientProviders"]
|
|
3
3
|
3:I[8954,[],""]
|
|
4
4
|
4:I[5640,[],""]
|
|
5
5
|
5:I[3339,[],"ClientPageRoot"]
|
|
6
|
-
6:I[98,["704","static/chunks/704-
|
|
6
|
+
6:I[98,["704","static/chunks/704-ca24be493a922639.js","590","static/chunks/590-2c34156c7417317e.js","73","static/chunks/73-2d6e730cea0fe6c8.js","974","static/chunks/app/page-b98417ed4f4d45a0.js"],"default"]
|
|
7
7
|
9:I[2051,[],"OutletBoundary"]
|
|
8
8
|
b:I[6658,[],"AsyncMetadataOutlet"]
|
|
9
9
|
d:I[2051,[],"ViewportBoundary"]
|
|
10
10
|
f:I[2051,[],"MetadataBoundary"]
|
|
11
11
|
10:"$Sreact.suspense"
|
|
12
12
|
12:I[7698,[],""]
|
|
13
|
-
:HL["/_next/static/css/
|
|
14
|
-
0:{"P":null,"b":"
|
|
13
|
+
:HL["/_next/static/css/24da9dfc818cea32.css","style"]
|
|
14
|
+
0:{"P":null,"b":"Tn0FXDHalXGkNoojna-vg","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/24da9dfc818cea32.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","data-theme":"dark","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
|
15
15
|
7:{}
|
|
16
16
|
8:"$0:f:0:1:2:children:1:props:children:0:props:params"
|
|
17
|
-
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
17
|
+
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]
|
|
18
18
|
a:null
|
|
19
19
|
c:{"metadata":[["$","meta","0",{"name":"description","content":"AI Gateway Dashboard"}]],"error":null,"digest":"$undefined"}
|
|
20
20
|
11:"$c:metadata"
|
package/dist/web/kanban.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--jt8R5JvUgfB9CMfFwWFr0--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4a6a5bca9238c104.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-437f51faf74fbb3b.js" async=""></script><script src="/_next/static/chunks/app/layout-5129b67d5f126cf0.js" async=""></script><script src="/_next/static/chunks/704-af2893821e1d18dc.js" async=""></script><script src="/_next/static/chunks/590-2c34156c7417317e.js" async=""></script><script src="/_next/static/chunks/198-fd91406a158c5c25.js" async=""></script><script src="/_next/static/chunks/573-070537ec2452d03e.js" async=""></script><script src="/_next/static/chunks/73-c226535579393e21.js" async=""></script><script src="/_next/static/chunks/app/kanban/page-55a73165a36f4077.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden" style="background:var(--bg)"><aside style="position:fixed;left:0;top:0;bottom:0;width:56px;background:var(--bg-secondary);border-right:1px solid var(--separator);flex-direction:column;z-index:50;transition:width 200ms var(--ease-smooth);overflow:hidden" class="hidden lg:flex"><div style="display:flex;align-items:center;gap:10px;padding:16px 14px 12px;min-height:56px;flex-shrink:0"><span style="font-size:24px;line-height:1;flex-shrink:0;width:28px;text-align:center">🤖</span><span style="font-size:17px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:0;transition:opacity 200ms var(--ease-smooth)">Jinn</span></div><nav style="flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px"><a class="nav-item" aria-label="Home" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Home</span></a><a class="nav-item" aria-label="Chat" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Chat</span></a><a class="nav-item" aria-label="Sessions" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Sessions</span></a><a class="nav-item" aria-label="Organization" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/org"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Organization</span></a><a class="nav-item" aria-label="Kanban" aria-current="page" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--accent);background:var(--accent-fill);font-weight:600;font-size:13px;white-space:nowrap" href="/kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid" aria-hidden="true" style="flex-shrink:0;color:var(--accent)"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Kanban</span></a><a class="nav-item" aria-label="Cron" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Cron</span></a><a class="nav-item" aria-label="Costs" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/costs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Costs</span></a><a class="nav-item" aria-label="Activity" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/logs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Activity</span></a><a class="nav-item" aria-label="Skills" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Skills</span></a><a class="nav-item" aria-label="Settings" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Settings</span></a></nav><div style="padding:8px 8px 12px;flex-shrink:0"><button class="nav-item" aria-label="Theme: dark. Click to cycle." style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;width:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap"><span style="flex-shrink:0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span style="opacity:0;transition:opacity 200ms var(--ease-smooth);text-transform:capitalize">dark</span></button></div></aside><main class="flex-1 overflow-hidden lg:ml-[56px]"><div style="height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--separator);background:var(--material-thick);flex-shrink:0;position:relative;z-index:60" class="jsx-906cbf20b7aa1777 lg:hidden"><button aria-label="Open menu" style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary)" class="jsx-906cbf20b7aa1777"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div style="flex:1;text-align:center" class="jsx-906cbf20b7aa1777"><span style="font-size:18px;margin-right:6px" class="jsx-906cbf20b7aa1777">🤖</span><span style="font-size:15px;font-weight:600;color:var(--text-primary)" class="jsx-906cbf20b7aa1777">Jinn</span></div><div style="width:36px" class="jsx-906cbf20b7aa1777"></div></div><div class="flex h-full relative" style="background:var(--bg)"><div class="flex-1 h-full flex flex-col" style="min-width:0"><div style="padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--separator)"><div><h1 style="font-size:var(--text-title2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0;letter-spacing:-0.3px">Kanban Board</h1><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin:2px 0 0">0<!-- --> ticket<!-- -->s</p></div><button style="border-radius:var(--radius-md);padding:8px 16px;font-size:var(--text-footnote);font-weight:var(--weight-semibold);border:none;display:flex;align-items:center;gap:var(--space-2);background:var(--accent);color:#fff;cursor:pointer"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>New Ticket</button></div><div style="flex:1;padding:0 var(--space-3);min-height:0"><div style="display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:var(--text-caption1)">Loading...</div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-5129b67d5f126cf0.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[3339,[],\"ClientPageRoot\"]\n6:I[543,[\"704\",\"static/chunks/704-af2893821e1d18dc.js\",\"590\",\"static/chunks/590-2c34156c7417317e.js\",\"198\",\"static/chunks/198-fd91406a158c5c25.js\",\"573\",\"static/chunks/573-070537ec2452d03e.js\",\"73\",\"static/chunks/73-c226535579393e21.js\",\"636\",\"static/chunks/app/kanban/page-55a73165a36f4077.js\"],\"default\"]\n9:I[2051,[],\"OutletBoundary\"]\nb:I[6658,[],\"AsyncMetadataOutlet\"]\nd:I[2051,[],\"ViewportBoundary\"]\nf:I[2051,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[7698,[],\"\"]\n:HL[\"/_next/static/css/4a6a5bca9238c104.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"jt8R5JvUgfB9CMfFwWFr0\",\"p\":\"\",\"c\":[\"\",\"kanban\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"kanban\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4a6a5bca9238c104.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"kanban\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--Tn0FXDHalXGkNoojna_vg--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/24da9dfc818cea32.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-0c65af8a0fd99888.js" async=""></script><script src="/_next/static/chunks/app/layout-fd975d16033dab25.js" async=""></script><script src="/_next/static/chunks/704-ca24be493a922639.js" async=""></script><script src="/_next/static/chunks/590-2c34156c7417317e.js" async=""></script><script src="/_next/static/chunks/198-fd91406a158c5c25.js" async=""></script><script src="/_next/static/chunks/573-070537ec2452d03e.js" async=""></script><script src="/_next/static/chunks/73-2d6e730cea0fe6c8.js" async=""></script><script src="/_next/static/chunks/app/kanban/page-a7facadd4194faae.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh overflow-hidden" style="background:var(--bg)"><aside style="position:fixed;left:0;top:0;bottom:0;width:56px;background:var(--bg-secondary);border-right:1px solid var(--separator);flex-direction:column;z-index:50;transition:width 200ms var(--ease-smooth);overflow:hidden" class="hidden lg:flex"><div style="display:flex;align-items:center;gap:10px;padding:16px 14px 12px;min-height:56px;flex-shrink:0"><span style="font-size:24px;line-height:1;flex-shrink:0;width:28px;text-align:center">🤖</span><span style="font-size:17px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:0;transition:opacity 200ms var(--ease-smooth)">Jinn</span></div><nav style="flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px"><a class="nav-item" aria-label="Home" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Home</span></a><a class="nav-item" aria-label="Chat" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Chat</span></a><a class="nav-item" aria-label="Sessions" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Sessions</span></a><a class="nav-item" aria-label="Organization" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/org"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Organization</span></a><a class="nav-item" aria-label="Kanban" aria-current="page" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--accent);background:var(--accent-fill);font-weight:600;font-size:13px;white-space:nowrap" href="/kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid" aria-hidden="true" style="flex-shrink:0;color:var(--accent)"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Kanban</span></a><a class="nav-item" aria-label="Cron" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Cron</span></a><a class="nav-item" aria-label="Costs" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/costs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Costs</span></a><a class="nav-item" aria-label="Activity" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/logs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Activity</span></a><a class="nav-item" aria-label="Skills" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Skills</span></a><a class="nav-item" aria-label="Settings" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Settings</span></a></nav><div style="padding:8px 8px 12px;flex-shrink:0"><button class="nav-item" aria-label="Theme: dark. Click to cycle." style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;width:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap"><span style="flex-shrink:0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span style="opacity:0;transition:opacity 200ms var(--ease-smooth);text-transform:capitalize">dark</span></button></div></aside><main class="flex-1 overflow-hidden lg:ml-[56px]"><div style="height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--separator);background:var(--material-thick);flex-shrink:0;position:relative;z-index:60" class="jsx-906cbf20b7aa1777 lg:hidden"><button aria-label="Open menu" style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary)" class="jsx-906cbf20b7aa1777"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div style="flex:1;text-align:center" class="jsx-906cbf20b7aa1777"><span style="font-size:18px;margin-right:6px" class="jsx-906cbf20b7aa1777">🤖</span><span style="font-size:15px;font-weight:600;color:var(--text-primary)" class="jsx-906cbf20b7aa1777">Jinn</span></div><div style="width:36px" class="jsx-906cbf20b7aa1777"></div></div><div class="flex h-full relative" style="background:var(--bg)"><div class="flex-1 h-full flex flex-col" style="min-width:0"><div style="padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--separator)"><div><h1 style="font-size:var(--text-title2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0;letter-spacing:-0.3px">Kanban Board</h1><p style="font-size:var(--text-caption1);color:var(--text-tertiary);margin:2px 0 0">0<!-- --> ticket<!-- -->s</p></div><button style="border-radius:var(--radius-md);padding:8px 16px;font-size:var(--text-footnote);font-weight:var(--weight-semibold);border:none;display:flex;align-items:center;gap:var(--space-2);background:var(--accent);color:#fff;cursor:pointer"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>New Ticket</button></div><div style="flex:1;padding:0 var(--space-3);min-height:0"><div style="display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:var(--text-caption1)">Loading...</div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-fd975d16033dab25.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[3339,[],\"ClientPageRoot\"]\n6:I[543,[\"704\",\"static/chunks/704-ca24be493a922639.js\",\"590\",\"static/chunks/590-2c34156c7417317e.js\",\"198\",\"static/chunks/198-fd91406a158c5c25.js\",\"573\",\"static/chunks/573-070537ec2452d03e.js\",\"73\",\"static/chunks/73-2d6e730cea0fe6c8.js\",\"636\",\"static/chunks/app/kanban/page-a7facadd4194faae.js\"],\"default\"]\n9:I[2051,[],\"OutletBoundary\"]\nb:I[6658,[],\"AsyncMetadataOutlet\"]\nd:I[2051,[],\"ViewportBoundary\"]\nf:I[2051,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[7698,[],\"\"]\n:HL[\"/_next/static/css/24da9dfc818cea32.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Tn0FXDHalXGkNoojna-vg\",\"p\":\"\",\"c\":[\"\",\"kanban\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"kanban\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/24da9dfc818cea32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"kanban\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
package/dist/web/kanban.txt
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[1150,["177","static/chunks/app/layout-
|
|
2
|
+
2:I[1150,["177","static/chunks/app/layout-fd975d16033dab25.js"],"ClientProviders"]
|
|
3
3
|
3:I[8954,[],""]
|
|
4
4
|
4:I[5640,[],""]
|
|
5
5
|
5:I[3339,[],"ClientPageRoot"]
|
|
6
|
-
6:I[543,["704","static/chunks/704-
|
|
6
|
+
6:I[543,["704","static/chunks/704-ca24be493a922639.js","590","static/chunks/590-2c34156c7417317e.js","198","static/chunks/198-fd91406a158c5c25.js","573","static/chunks/573-070537ec2452d03e.js","73","static/chunks/73-2d6e730cea0fe6c8.js","636","static/chunks/app/kanban/page-a7facadd4194faae.js"],"default"]
|
|
7
7
|
9:I[2051,[],"OutletBoundary"]
|
|
8
8
|
b:I[6658,[],"AsyncMetadataOutlet"]
|
|
9
9
|
d:I[2051,[],"ViewportBoundary"]
|
|
10
10
|
f:I[2051,[],"MetadataBoundary"]
|
|
11
11
|
10:"$Sreact.suspense"
|
|
12
12
|
12:I[7698,[],""]
|
|
13
|
-
:HL["/_next/static/css/
|
|
14
|
-
0:{"P":null,"b":"
|
|
13
|
+
:HL["/_next/static/css/24da9dfc818cea32.css","style"]
|
|
14
|
+
0:{"P":null,"b":"Tn0FXDHalXGkNoojna-vg","p":"","c":["","kanban"],"i":false,"f":[[["",{"children":["kanban",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/24da9dfc818cea32.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","data-theme":"dark","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["kanban",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
|
15
15
|
7:{}
|
|
16
16
|
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
|
17
|
-
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
17
|
+
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]
|
|
18
18
|
a:null
|
|
19
19
|
c:{"metadata":[["$","meta","0",{"name":"description","content":"AI Gateway Dashboard"}]],"error":null,"digest":"$undefined"}
|
|
20
20
|
11:"$c:metadata"
|
package/dist/web/logs.html
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<!DOCTYPE html><!--jt8R5JvUgfB9CMfFwWFr0--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4a6a5bca9238c104.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-437f51faf74fbb3b.js" async=""></script><script src="/_next/static/chunks/app/layout-5129b67d5f126cf0.js" async=""></script><script src="/_next/static/chunks/704-af2893821e1d18dc.js" async=""></script><script src="/_next/static/chunks/73-c226535579393e21.js" async=""></script><script src="/_next/static/chunks/app/logs/page-e18889d67e48c9c9.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden" style="background:var(--bg)"><aside style="position:fixed;left:0;top:0;bottom:0;width:56px;background:var(--bg-secondary);border-right:1px solid var(--separator);flex-direction:column;z-index:50;transition:width 200ms var(--ease-smooth);overflow:hidden" class="hidden lg:flex"><div style="display:flex;align-items:center;gap:10px;padding:16px 14px 12px;min-height:56px;flex-shrink:0"><span style="font-size:24px;line-height:1;flex-shrink:0;width:28px;text-align:center">🤖</span><span style="font-size:17px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:0;transition:opacity 200ms var(--ease-smooth)">Jinn</span></div><nav style="flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px"><a class="nav-item" aria-label="Home" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Home</span></a><a class="nav-item" aria-label="Chat" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Chat</span></a><a class="nav-item" aria-label="Sessions" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Sessions</span></a><a class="nav-item" aria-label="Organization" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/org"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Organization</span></a><a class="nav-item" aria-label="Kanban" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Kanban</span></a><a class="nav-item" aria-label="Cron" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Cron</span></a><a class="nav-item" aria-label="Costs" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/costs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Costs</span></a><a class="nav-item" aria-label="Activity" aria-current="page" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--accent);background:var(--accent-fill);font-weight:600;font-size:13px;white-space:nowrap" href="/logs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true" style="flex-shrink:0;color:var(--accent)"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Activity</span></a><a class="nav-item" aria-label="Skills" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Skills</span></a><a class="nav-item" aria-label="Settings" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Settings</span></a></nav><div style="padding:8px 8px 12px;flex-shrink:0"><button class="nav-item" aria-label="Theme: dark. Click to cycle." style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;width:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap"><span style="flex-shrink:0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span style="opacity:0;transition:opacity 200ms var(--ease-smooth);text-transform:capitalize">dark</span></button></div></aside><main class="flex-1 overflow-hidden lg:ml-[56px]"><div style="height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--separator);background:var(--material-thick);flex-shrink:0;position:relative;z-index:60" class="jsx-906cbf20b7aa1777 lg:hidden"><button aria-label="Open menu" style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary)" class="jsx-906cbf20b7aa1777"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div style="flex:1;text-align:center" class="jsx-906cbf20b7aa1777"><span style="font-size:18px;margin-right:6px" class="jsx-906cbf20b7aa1777">🤖</span><span style="font-size:15px;font-weight:600;color:var(--text-primary)" class="jsx-906cbf20b7aa1777">Jinn</span></div><div style="width:36px" class="jsx-906cbf20b7aa1777"></div></div><div class="h-full flex flex-col overflow-hidden animate-fade-in" style="background:var(--bg)"><header class="sticky top-0 z-10 flex-shrink-0" style="background:var(--material-regular);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-bottom:1px solid var(--separator)"><div class="flex items-center justify-between" style="padding:var(--space-4) var(--space-6)"><div><h1 style="font-size:var(--text-title1);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:-0.5px;line-height:var(--leading-tight)">Activity Console</h1></div><div class="flex items-center" style="gap:var(--space-3)"><button class="focus-ring flex items-center" style="padding:6px 14px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--text-footnote);font-weight:var(--weight-semibold);gap:6px;background:var(--accent-fill);color:var(--accent);transition:all 200ms var(--ease-smooth)"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-radio" aria-hidden="true"><path d="M16.247 7.761a6 6 0 0 1 0 8.478"></path><path d="M19.075 4.933a10 10 0 0 1 0 14.134"></path><path d="M4.925 19.067a10 10 0 0 1 0-14.134"></path><path d="M7.753 16.239a6 6 0 0 1 0-8.478"></path><circle cx="12" cy="12" r="2"></circle></svg>Open Live Stream</button><span style="font-size:var(--text-caption1);color:var(--text-tertiary)">Updated <!-- -->just now</span><button class="focus-ring" aria-label="Refresh logs" style="width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color 150ms var(--ease-smooth)"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></button></div></div></header><div class="flex-1 overflow-y-auto flex flex-col" style="padding:var(--space-4) var(--space-6) var(--space-6);min-height:0"><div class="flex items-center justify-center" style="height:200px;color:var(--text-tertiary)">Loading...</div></div><style>
|
|
1
|
+
<!DOCTYPE html><!--Tn0FXDHalXGkNoojna_vg--><html lang="en" data-theme="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/24da9dfc818cea32.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f39b7e91dce9791.js"/><script src="/_next/static/chunks/8e6518bb-c26e82767f1faf66.js" async=""></script><script src="/_next/static/chunks/743-5bb03adbb0e4ddec.js" async=""></script><script src="/_next/static/chunks/main-app-0c65af8a0fd99888.js" async=""></script><script src="/_next/static/chunks/app/layout-fd975d16033dab25.js" async=""></script><script src="/_next/static/chunks/704-ca24be493a922639.js" async=""></script><script src="/_next/static/chunks/73-2d6e730cea0fe6c8.js" async=""></script><script src="/_next/static/chunks/app/logs/page-6de6b16523e85193.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh overflow-hidden" style="background:var(--bg)"><aside style="position:fixed;left:0;top:0;bottom:0;width:56px;background:var(--bg-secondary);border-right:1px solid var(--separator);flex-direction:column;z-index:50;transition:width 200ms var(--ease-smooth);overflow:hidden" class="hidden lg:flex"><div style="display:flex;align-items:center;gap:10px;padding:16px 14px 12px;min-height:56px;flex-shrink:0"><span style="font-size:24px;line-height:1;flex-shrink:0;width:28px;text-align:center">🤖</span><span style="font-size:17px;font-weight:600;color:var(--text-primary);white-space:nowrap;opacity:0;transition:opacity 200ms var(--ease-smooth)">Jinn</span></div><nav style="flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px"><a class="nav-item" aria-label="Home" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Home</span></a><a class="nav-item" aria-label="Chat" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Chat</span></a><a class="nav-item" aria-label="Sessions" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Sessions</span></a><a class="nav-item" aria-label="Organization" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/org"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Organization</span></a><a class="nav-item" aria-label="Kanban" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Kanban</span></a><a class="nav-item" aria-label="Cron" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Cron</span></a><a class="nav-item" aria-label="Costs" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/costs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><line x1="12" x2="12" y1="2" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Costs</span></a><a class="nav-item" aria-label="Activity" aria-current="page" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--accent);background:var(--accent-fill);font-weight:600;font-size:13px;white-space:nowrap" href="/logs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true" style="flex-shrink:0;color:var(--accent)"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Activity</span></a><a class="nav-item" aria-label="Skills" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Skills</span></a><a class="nav-item" aria-label="Settings" style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-decoration:none;color:var(--text-secondary);background:transparent;font-weight:400;font-size:13px;white-space:nowrap" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings" aria-hidden="true" style="flex-shrink:0;color:var(--text-secondary)"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span style="opacity:0;transition:opacity 200ms var(--ease-smooth)">Settings</span></a></nav><div style="padding:8px 8px 12px;flex-shrink:0"><button class="nav-item" aria-label="Theme: dark. Click to cycle." style="display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;width:100%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap"><span style="flex-shrink:0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span style="opacity:0;transition:opacity 200ms var(--ease-smooth);text-transform:capitalize">dark</span></button></div></aside><main class="flex-1 overflow-hidden lg:ml-[56px]"><div style="height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--separator);background:var(--material-thick);flex-shrink:0;position:relative;z-index:60" class="jsx-906cbf20b7aa1777 lg:hidden"><button aria-label="Open menu" style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary)" class="jsx-906cbf20b7aa1777"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div style="flex:1;text-align:center" class="jsx-906cbf20b7aa1777"><span style="font-size:18px;margin-right:6px" class="jsx-906cbf20b7aa1777">🤖</span><span style="font-size:15px;font-weight:600;color:var(--text-primary)" class="jsx-906cbf20b7aa1777">Jinn</span></div><div style="width:36px" class="jsx-906cbf20b7aa1777"></div></div><div class="h-full flex flex-col overflow-hidden animate-fade-in" style="background:var(--bg)"><header class="sticky top-0 z-10 flex-shrink-0" style="background:var(--material-regular);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-bottom:1px solid var(--separator)"><div class="flex items-center justify-between" style="padding:var(--space-4) var(--space-6)"><div><h1 style="font-size:var(--text-title1);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:-0.5px;line-height:var(--leading-tight)">Activity Console</h1></div><div class="flex items-center" style="gap:var(--space-3)"><button class="focus-ring flex items-center" style="padding:6px 14px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--text-footnote);font-weight:var(--weight-semibold);gap:6px;background:var(--accent-fill);color:var(--accent);transition:all 200ms var(--ease-smooth)"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-radio" aria-hidden="true"><path d="M16.247 7.761a6 6 0 0 1 0 8.478"></path><path d="M19.075 4.933a10 10 0 0 1 0 14.134"></path><path d="M4.925 19.067a10 10 0 0 1 0-14.134"></path><path d="M7.753 16.239a6 6 0 0 1 0-8.478"></path><circle cx="12" cy="12" r="2"></circle></svg>Open Live Stream</button><span style="font-size:var(--text-caption1);color:var(--text-tertiary)">Updated <!-- -->just now</span><button class="focus-ring" aria-label="Refresh logs" style="width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color 150ms var(--ease-smooth)"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></button></div></div></header><div class="flex-1 overflow-y-auto flex flex-col" style="padding:var(--space-4) var(--space-6) var(--space-6);min-height:0"><div class="flex items-center justify-center" style="height:200px;color:var(--text-tertiary)">Loading...</div></div><style>
|
|
2
2
|
@media (max-width: 640px) {
|
|
3
3
|
.summary-cards-grid {
|
|
4
4
|
grid-template-columns: 1fr 1fr !important;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
</style></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-
|
|
7
|
+
</style></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0f39b7e91dce9791.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1150,[\"177\",\"static/chunks/app/layout-fd975d16033dab25.js\"],\"ClientProviders\"]\n3:I[8954,[],\"\"]\n4:I[5640,[],\"\"]\n5:I[3339,[],\"ClientPageRoot\"]\n6:I[3929,[\"704\",\"static/chunks/704-ca24be493a922639.js\",\"73\",\"static/chunks/73-2d6e730cea0fe6c8.js\",\"524\",\"static/chunks/app/logs/page-6de6b16523e85193.js\"],\"default\"]\n9:I[2051,[],\"OutletBoundary\"]\nb:I[6658,[],\"AsyncMetadataOutlet\"]\nd:I[2051,[],\"ViewportBoundary\"]\nf:I[2051,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[7698,[],\"\"]\n:HL[\"/_next/static/css/24da9dfc818cea32.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Tn0FXDHalXGkNoojna-vg\",\"p\":\"\",\"c\":[\"\",\"logs\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"logs\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/24da9dfc818cea32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"logs\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|