@circuitwall/jarela 0.8.0 → 0.8.1
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -537
- package/.next/standalone/.next/server/app/_not-found/page.js.map +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +23 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +47 -18
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +47 -18
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +36 -7
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.html +23 -2
- package/.next/standalone/.next/server/app/index.rsc +46 -17
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +46 -17
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +36 -7
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page.js +79690 -79580
- package/.next/standalone/.next/server/app/page.js.map +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup/page.js +1 -1
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +48 -19
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +48 -19
- package/.next/standalone/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/_index.segment.rsc +36 -7
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -1
- package/.next/standalone/.next/server/chunks/4045.js +611 -0
- package/.next/standalone/.next/server/chunks/4045.js.map +1 -0
- package/.next/standalone/.next/server/chunks/5432.js +5 -2
- package/.next/standalone/.next/server/chunks/5432.js.map +1 -1
- package/.next/standalone/.next/server/chunks/{5745.js → 6765.js} +9 -551
- package/.next/standalone/.next/server/chunks/6765.js.map +1 -0
- package/.next/standalone/.next/server/chunks/7885.js +5 -2
- package/.next/standalone/.next/server/chunks/7885.js.map +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/.next/server/pages/404.html +23 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{3741-81560b0aef166f49.js → 3741-b70e2d1a48a087d6.js} +16 -9
- package/.next/standalone/.next/static/chunks/3741-b70e2d1a48a087d6.js.map +1 -0
- package/.next/standalone/.next/static/chunks/app/{layout-31009df0f341ccf5.js → layout-84c6f211a7a1ca36.js} +38 -5
- package/.next/standalone/.next/static/chunks/app/layout-84c6f211a7a1ca36.js.map +1 -0
- package/.next/standalone/.next/static/chunks/app/{page-108f526cb6e48b7b.js → page-31e4d0ad258be21a.js} +258 -122
- package/.next/standalone/.next/static/chunks/app/page-31e4d0ad258be21a.js.map +1 -0
- package/.next/standalone/.next/static/css/af02b3acc7d8f08d.css +5 -0
- package/.next/standalone/.next/static/css/af02b3acc7d8f08d.css.map +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/manifest.json +2 -2
- package/CHANGELOG.md +24 -0
- package/api/types.ts +3 -1
- package/app/layout.tsx +30 -1
- package/components/agents/AgentEditor.tsx +5 -5
- package/components/layout/AppShell.tsx +36 -18
- package/components/layout/MenuPanel.tsx +7 -7
- package/components/models/ModelEditor.tsx +3 -3
- package/components/profile/ProfileEditor.tsx +9 -9
- package/components/profile/ProfilePanel.tsx +3 -3
- package/components/setup/OnboardingWizard.tsx +4 -4
- package/components/ui/HeaderActivity.tsx +24 -0
- package/contexts/AppContext.tsx +12 -4
- package/contexts/ThemeContext.tsx +30 -1
- package/hooks/useSSE.ts +42 -5
- package/lib/agents/base.ts +3 -1
- package/lib/agents/run-thread.ts +6 -3
- package/lib/ui/loading.ts +59 -0
- package/package.json +1 -1
- package/public/manifest.json +2 -2
- package/.next/standalone/.next/server/chunks/5745.js.map +0 -1
- package/.next/standalone/.next/static/chunks/3741-81560b0aef166f49.js.map +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-31009df0f341ccf5.js.map +0 -1
- package/.next/standalone/.next/static/chunks/app/page-108f526cb6e48b7b.js.map +0 -1
- package/.next/standalone/.next/static/css/a23baa1c79db0435.css +0 -5
- package/.next/standalone/.next/static/css/a23baa1c79db0435.css.map +0 -1
- package/components/ui/TopProgressBar.tsx +0 -32
- /package/.next/standalone/.next/static/{0ImXz-nn9QbojXpTvB3i0 → yk5tOLkAUA4hfQKDjGbzK}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{0ImXz-nn9QbojXpTvB3i0 → yk5tOLkAUA4hfQKDjGbzK}/_ssgManifest.js +0 -0
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" data-theme="system"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"/><link rel="preload" as="image" href="/logo-mark-transparent.png"/><link rel="stylesheet" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en" data-theme="system"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"/><link rel="preload" as="image" href="/logo-mark-transparent.png"/><link rel="stylesheet" href="/_next/static/css/af02b3acc7d8f08d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/61d4279c2300e146.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ff5627013a5e3842.js"/><script src="/_next/static/chunks/4bd1b696-f4afdf0ad1d556a5.js" async=""></script><script src="/_next/static/chunks/3457-5218e06617c4db2a.js" async=""></script><script src="/_next/static/chunks/main-app-3f37bcefd1eaffaf.js" async=""></script><script src="/_next/static/chunks/app/layout-84c6f211a7a1ca36.js" async=""></script><script src="/_next/static/chunks/3448-14bce10094e22dfb.js" async=""></script><script src="/_next/static/chunks/1406-ec07afec396640f6.js" async=""></script><script src="/_next/static/chunks/3741-b70e2d1a48a087d6.js" async=""></script><script src="/_next/static/chunks/app/page-31e4d0ad258be21a.js" async=""></script><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#09090b" media="(prefers-color-scheme: dark)"/><title>Jarela</title><meta name="description" content="Jarela — local chat interface for LangGraph agents"/><link rel="manifest" href="/manifest.json"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/icon-192.png" type="image/png" sizes="192x192"/><link rel="icon" href="/icon-512.png" type="image/png" sizes="512x512"/><link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"/><script>(() => {
|
|
2
|
+
var LIGHT = "#ffffff", DARK = "#09090b";
|
|
3
|
+
function resolve(t) {
|
|
4
|
+
if (t === "light") return LIGHT;
|
|
5
|
+
if (t === "dark") return DARK;
|
|
6
|
+
try {
|
|
7
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? DARK : LIGHT;
|
|
8
|
+
} catch (e) { return DARK; }
|
|
9
|
+
}
|
|
2
10
|
try {
|
|
3
11
|
var t = localStorage.getItem("jarela-theme");
|
|
4
12
|
if (t !== "light" && t !== "dark" && t !== "system") t = "system";
|
|
5
13
|
document.documentElement.setAttribute("data-theme", t);
|
|
14
|
+
// Collapse any media-scoped theme-color metas Next emits to a single tag
|
|
15
|
+
// so the PWA window chrome matches the user's explicit choice (not just
|
|
16
|
+
// prefers-color-scheme). ThemeContext keeps this in sync on change.
|
|
17
|
+
var metas = document.querySelectorAll('meta[name="theme-color"]');
|
|
18
|
+
for (var i = 1; i < metas.length; i++) metas[i].parentNode.removeChild(metas[i]);
|
|
19
|
+
var meta = metas[0];
|
|
20
|
+
if (!meta) {
|
|
21
|
+
meta = document.createElement("meta");
|
|
22
|
+
meta.setAttribute("name", "theme-color");
|
|
23
|
+
document.head.appendChild(meta);
|
|
24
|
+
}
|
|
25
|
+
meta.removeAttribute("media");
|
|
26
|
+
meta.setAttribute("content", resolve(t));
|
|
6
27
|
} catch (e) {
|
|
7
28
|
document.documentElement.setAttribute("data-theme", "system");
|
|
8
29
|
}
|
|
9
|
-
})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="h-screen h-[100dvh] flex flex-col text-fg overflow-hidden px-safe"><div class="pointer-events-none fixed top-0 left-0 right-0 h-[2px] z-50 transition-opacity duration-150 opacity-0" aria-hidden="true"><div class="jarela-progress h-full w-full"></div></div><div class="fixed z-50 flex flex-col-reverse gap-2 pointer-events-none w-[360px] max-w-[calc(100vw-2rem)]" style="right:max(1rem, calc(env(safe-area-inset-right) + 0.5rem));bottom:max(1rem, calc(env(safe-area-inset-bottom) + 0.5rem))" aria-live="polite"></div><div class="shrink-0" aria-hidden="true" style="height:calc(3rem + var(--app-safe-top))"></div><header class="glass fixed top-0 left-0 right-0 z-40 flex items-center px-4 border-b border-border/60" style="padding-top:var(--app-safe-top);padding-left:calc(env(safe-area-inset-left) + 1rem);padding-right:calc(env(safe-area-inset-right) + 1rem);height:calc(3rem + var(--app-safe-top))"><div class="relative flex items-center gap-2 select-none"><button type="button" class="control-tap inline-flex items-center gap-2 rounded-lg px-1.5 py-1 hover:bg-surface-3/60 transition-colors" title="Select active agent" aria-haspopup="menu" aria-expanded="false"><img src="/logo-mark-transparent.png" alt="" class="h-6 w-auto dark:brightness-0 dark:invert"/><span class="text-fg font-semibold tracking-tight">Jarela</span><span class="text-xs text-fg-faint max-w-[11rem] truncate hidden sm:inline">select agent</span><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-chevron-down text-fg-faint transition-transform" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></div><button class="control-tap ml-auto relative p-2.5 rounded transition-colors text-fg-faint hover:text-fg-muted hover:bg-surface-3/50" title="Menu"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" 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></header><div class="flex-1 relative overflow-hidden"><!--&--><div class="flex flex-col h-full"><div class="flex-1 flex flex-col min-h-0 relative"><div class="flex-1 overflow-y-auto px-4 py-4 panel-scrollbar" style="-webkit-mask-image:linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);mask-image:linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%)"><div class="flex items-center justify-center h-full text-fg-faint text-sm select-none"><span>Send a message to begin</span></div></div></div><div class="mx-4 mb-2 px-3 py-2 rounded bg-surface-3 border border-border text-fg-subtle text-xs text-center">No agent selected — open the menu and pick an agent to start chatting.</div><div class="glass border-t border-border/60 px-3 sm:px-4 pt-2" style="padding-bottom:calc(0.75rem + env(safe-area-inset-bottom))"><div class="relative flex gap-2 items-end"><input type="file" multiple="" accept="image/*,text/*,.ts,.tsx,.js,.jsx,.json,.md,.py,.go,.rs,.yaml,.yml,.toml,.sh,.sql,.pdf" class="hidden" disabled=""/><button disabled="" class="shrink-0 h-11 w-11 flex items-center justify-center rounded-xl text-fg-faint hover:text-fg hover:bg-surface-3 transition-colors disabled:opacity-40 disabled:cursor-not-allowed" title="Attach file or image"><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-paperclip" aria-hidden="true"><path d="m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"></path></svg></button><textarea class="flex-1 resize-none bg-surface-3/60 text-fg text-sm rounded-xl px-3 py-2 border border-border/60 focus:outline-none focus:ring-1 focus:ring-accent focus:border-accent/40 placeholder:text-fg-faint max-h-48 min-h-[44px] transition-colors" placeholder="Loading profile…" rows="1" disabled=""></textarea><button disabled="" class="glass-btn-send shrink-0 h-11 w-11 flex items-center justify-center rounded-xl text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed" title="Send"><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-send" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></button></div></div></div><!--/&--></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ff5627013a5e3842.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[737,[\"7177\",\"static/chunks/app/layout-31009df0f341ccf5.js\"],\"ThemeProvider\"]\n3:I[3639,[\"7177\",\"static/chunks/app/layout-31009df0f341ccf5.js\"],\"AppProvider\"]\n4:I[7121,[],\"\"]\n5:I[4581,[],\"\"]\n6:I[722,[\"7177\",\"static/chunks/app/layout-31009df0f341ccf5.js\"],\"ServiceWorkerRegistration\"]\n7:I[4633,[\"3448\",\"static/chunks/3448-14bce10094e22dfb.js\",\"1406\",\"static/chunks/1406-ec07afec396640f6.js\",\"3741\",\"static/chunks/3741-81560b0aef166f49.js\",\"8974\",\"static/chunks/app/page-108f526cb6e48b7b.js\"],\"AppShell\"]\n8:I[484,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[484,[],\"ViewportBoundary\"]\nd:I[484,[],\"MetadataBoundary\"]\nf:I[7123,[],\"default\",1]\n:HL[\"/_next/static/css/a23baa1c79db0435.css\",\"style\"]\n:HL[\"/_next/static/css/61d4279c2300e146.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a23baa1c79db0435.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"system\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(() =\u003e {\\n try {\\n var t = localStorage.getItem(\\\"jarela-theme\\\");\\n if (t !== \\\"light\\\" \u0026\u0026 t !== \\\"dark\\\" \u0026\u0026 t !== \\\"system\\\") t = \\\"system\\\";\\n document.documentElement.setAttribute(\\\"data-theme\\\", t);\\n } catch (e) {\\n document.documentElement.setAttribute(\\\"data-theme\\\", \\\"system\\\");\\n }\\n})();\"}}]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",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\"}]}]}],[\"$\",\"$L6\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/61d4279c2300e146.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"0ImXz-nn9QbojXpTvB3i0\"}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#2563eb\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[6869,[],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Jarela\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Jarela — local chat interface for LangGraph agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/icon-512.png\",\"type\":\"image/png\",\"sizes\":\"512x512\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\",\"sizes\":\"180x180\"}],[\"$\",\"$L10\",\"7\",{}]]\n"])</script></body></html>
|
|
30
|
+
})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="h-screen h-[100dvh] flex flex-col text-fg overflow-hidden px-safe"><div class="fixed z-50 flex flex-col-reverse gap-2 pointer-events-none w-[360px] max-w-[calc(100vw-2rem)]" style="right:max(1rem, calc(env(safe-area-inset-right) + 0.5rem));bottom:max(1rem, calc(env(safe-area-inset-bottom) + 0.5rem))" aria-live="polite"></div><div class="shrink-0" aria-hidden="true" style="height:calc(3rem + var(--app-safe-top))"></div><header class="glass fixed top-0 left-0 right-0 z-40 flex items-center px-4 border-b border-border/60" style="padding-top:var(--app-safe-top);padding-left:calc(env(safe-area-inset-left) + 1rem);padding-right:calc(env(safe-area-inset-right) + 1rem);height:calc(3rem + var(--app-safe-top))"><div class="relative flex items-center gap-2 select-none"><button type="button" class="control-tap inline-flex items-center gap-2 rounded-lg px-1.5 py-1 hover:bg-surface-3/60 transition-colors" title="Select active agent" aria-haspopup="menu" aria-expanded="false"><img src="/logo-mark-transparent.png" alt="" class="h-6 w-auto dark:brightness-0 dark:invert"/><span class="text-fg font-semibold tracking-tight truncate max-w-[12rem] sm:max-w-[16rem]">Jarela</span><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-chevron-down text-fg-faint transition-transform" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></div><button class="control-tap ml-auto relative p-2.5 rounded transition-colors text-fg-faint hover:text-fg-muted hover:bg-surface-3/50" title="Menu"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" 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></header><div class="flex-1 relative overflow-hidden"><!--&--><div class="flex flex-col h-full"><div class="flex-1 flex flex-col min-h-0 relative"><div class="flex-1 overflow-y-auto px-4 py-4 panel-scrollbar" style="-webkit-mask-image:linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);mask-image:linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%)"><div class="flex items-center justify-center h-full text-fg-faint text-sm select-none"><span>Send a message to begin</span></div></div></div><div class="mx-4 mb-2 px-3 py-2 rounded bg-surface-3 border border-border text-fg-subtle text-xs text-center">No agent selected — open the menu and pick an agent to start chatting.</div><div class="glass border-t border-border/60 px-3 sm:px-4 pt-2" style="padding-bottom:calc(0.75rem + env(safe-area-inset-bottom))"><div class="relative flex gap-2 items-end"><input type="file" multiple="" accept="image/*,text/*,.ts,.tsx,.js,.jsx,.json,.md,.py,.go,.rs,.yaml,.yml,.toml,.sh,.sql,.pdf" class="hidden" disabled=""/><button disabled="" class="shrink-0 h-11 w-11 flex items-center justify-center rounded-xl text-fg-faint hover:text-fg hover:bg-surface-3 transition-colors disabled:opacity-40 disabled:cursor-not-allowed" title="Attach file or image"><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-paperclip" aria-hidden="true"><path d="m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"></path></svg></button><textarea class="flex-1 resize-none bg-surface-3/60 text-fg text-sm rounded-xl px-3 py-2 border border-border/60 focus:outline-none focus:ring-1 focus:ring-accent focus:border-accent/40 placeholder:text-fg-faint max-h-48 min-h-[44px] transition-colors" placeholder="Loading profile…" rows="1" disabled=""></textarea><button disabled="" class="glass-btn-send shrink-0 h-11 w-11 flex items-center justify-center rounded-xl text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed" title="Send"><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-send" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></button></div></div></div><!--/&--></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ff5627013a5e3842.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[737,[\"7177\",\"static/chunks/app/layout-84c6f211a7a1ca36.js\"],\"ThemeProvider\"]\n4:I[3639,[\"7177\",\"static/chunks/app/layout-84c6f211a7a1ca36.js\"],\"AppProvider\"]\n5:I[7121,[],\"\"]\n6:I[4581,[],\"\"]\n7:I[722,[\"7177\",\"static/chunks/app/layout-84c6f211a7a1ca36.js\"],\"ServiceWorkerRegistration\"]\n8:I[1742,[\"3448\",\"static/chunks/3448-14bce10094e22dfb.js\",\"1406\",\"static/chunks/1406-ec07afec396640f6.js\",\"3741\",\"static/chunks/3741-b70e2d1a48a087d6.js\",\"8974\",\"static/chunks/app/page-31e4d0ad258be21a.js\"],\"AppShell\"]\n9:I[484,[],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:I[484,[],\"ViewportBoundary\"]\ne:I[484,[],\"MetadataBoundary\"]\n10:I[7123,[],\"default\",1]\n:HL[\"/_next/static/css/af02b3acc7d8f08d.css\",\"style\"]\n:HL[\"/_next/static/css/61d4279c2300e146.css\",\"style\"]\n2:T4b9,(() =\u003e {\n var LIGHT = \"#ffffff\", DARK = \"#09090b\";\n function resolve(t) {\n if (t === \"light\") return LIGHT;\n if (t === \"dark\") return DARK;\n try {\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? DARK : LIGHT;\n } catch (e) { return DARK; }\n }\n try {\n var t = localStorage.getItem(\"jarela-theme\");\n if (t !== \"light\" \u0026\u0026 t !== \"dark\" \u0026\u0026 t !== \"system\") t = \"system\";\n document.documentElement.setAttribute(\"data-theme\", t);\n // Collapse any media-scoped theme-color metas Next emits to a single tag\n // so the PWA window chrome matches the user's explicit choice (not just\n // prefers-color-scheme). ThemeContext keeps this in sync on change.\n var metas = document.querySelectorAll('meta[name=\"theme-color\"]');\n for (var i = 1; i \u003c metas.length; i++) metas[i].parentNode.removeChild(metas[i]);\n var meta = metas[0];\n if (!meta) {\n meta = document.createElement(\"meta\");\n meta.setAttribute(\"name\", \"theme-color\");\n document.head.appendChild(meta);\n }\n meta.removeAttribute(\"media\");\n meta.setAttribute(\"content\", resolve(t));\n } catch (e) {\n document.documentElement.setAttribute(\"data-theme\", \"system\");\n }\n})();"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/af02b3acc7d8f08d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"system\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}],[\"$\",\"$L7\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/61d4279c2300e146.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"yk5tOLkAUA4hfQKDjGbzK\"}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#ffffff\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#09090b\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[6869,[],\"IconMark\"]\nb:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"Jarela\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Jarela — local chat interface for LangGraph agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/icon-512.png\",\"type\":\"image/png\",\"sizes\":\"512x512\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\",\"sizes\":\"180x180\"}],[\"$\",\"$L11\",\"7\",{}]]\n"])</script></body></html>
|
|
@@ -1,19 +1,48 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
:HL["/_next/static/css/
|
|
2
|
+
3:I[737,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"ThemeProvider"]
|
|
3
|
+
4:I[3639,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"AppProvider"]
|
|
4
|
+
5:I[7121,[],""]
|
|
5
|
+
6:I[4581,[],""]
|
|
6
|
+
7:I[722,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"ServiceWorkerRegistration"]
|
|
7
|
+
8:I[1742,["3448","static/chunks/3448-14bce10094e22dfb.js","1406","static/chunks/1406-ec07afec396640f6.js","3741","static/chunks/3741-b70e2d1a48a087d6.js","8974","static/chunks/app/page-31e4d0ad258be21a.js"],"AppShell"]
|
|
8
|
+
9:I[484,[],"OutletBoundary"]
|
|
9
|
+
a:"$Sreact.suspense"
|
|
10
|
+
c:I[484,[],"ViewportBoundary"]
|
|
11
|
+
e:I[484,[],"MetadataBoundary"]
|
|
12
|
+
10:I[7123,[],"default",1]
|
|
13
|
+
:HL["/_next/static/css/af02b3acc7d8f08d.css","style"]
|
|
14
14
|
:HL["/_next/static/css/61d4279c2300e146.css","style"]
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
2:T4b9,(() => {
|
|
16
|
+
var LIGHT = "#ffffff", DARK = "#09090b";
|
|
17
|
+
function resolve(t) {
|
|
18
|
+
if (t === "light") return LIGHT;
|
|
19
|
+
if (t === "dark") return DARK;
|
|
20
|
+
try {
|
|
21
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? DARK : LIGHT;
|
|
22
|
+
} catch (e) { return DARK; }
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
var t = localStorage.getItem("jarela-theme");
|
|
26
|
+
if (t !== "light" && t !== "dark" && t !== "system") t = "system";
|
|
27
|
+
document.documentElement.setAttribute("data-theme", t);
|
|
28
|
+
// Collapse any media-scoped theme-color metas Next emits to a single tag
|
|
29
|
+
// so the PWA window chrome matches the user's explicit choice (not just
|
|
30
|
+
// prefers-color-scheme). ThemeContext keeps this in sync on change.
|
|
31
|
+
var metas = document.querySelectorAll('meta[name="theme-color"]');
|
|
32
|
+
for (var i = 1; i < metas.length; i++) metas[i].parentNode.removeChild(metas[i]);
|
|
33
|
+
var meta = metas[0];
|
|
34
|
+
if (!meta) {
|
|
35
|
+
meta = document.createElement("meta");
|
|
36
|
+
meta.setAttribute("name", "theme-color");
|
|
37
|
+
document.head.appendChild(meta);
|
|
38
|
+
}
|
|
39
|
+
meta.removeAttribute("media");
|
|
40
|
+
meta.setAttribute("content", resolve(t));
|
|
41
|
+
} catch (e) {
|
|
42
|
+
document.documentElement.setAttribute("data-theme", "system");
|
|
43
|
+
}
|
|
44
|
+
})();0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/af02b3acc7d8f08d.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","data-theme":"system","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}]}],["$","body",null,{"children":[["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",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"}]}]}],["$","$L7",null,{}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/61d4279c2300e146.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"yk5tOLkAUA4hfQKDjGbzK"}
|
|
45
|
+
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#09090b","media":"(prefers-color-scheme: dark)"}]]
|
|
46
|
+
11:I[6869,[],"IconMark"]
|
|
47
|
+
b:null
|
|
48
|
+
f:[["$","title","0",{"children":"Jarela"}],["$","meta","1",{"name":"description","content":"Jarela — local chat interface for LangGraph agents"}],["$","link","2",{"rel":"manifest","href":"/manifest.json","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","link","4",{"rel":"icon","href":"/icon-192.png","type":"image/png","sizes":"192x192"}],["$","link","5",{"rel":"icon","href":"/icon-512.png","type":"image/png","sizes":"512x512"}],["$","link","6",{"rel":"apple-touch-icon","href":"/apple-touch-icon.png","sizes":"180x180"}],["$","$L11","7",{}]]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[
|
|
2
|
+
2:I[1742,["3448","static/chunks/3448-14bce10094e22dfb.js","1406","static/chunks/1406-ec07afec396640f6.js","3741","static/chunks/3741-b70e2d1a48a087d6.js","8974","static/chunks/app/page-31e4d0ad258be21a.js"],"AppShell"]
|
|
3
3
|
3:I[484,[],"OutletBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
:HL["/_next/static/css/61d4279c2300e146.css","style"]
|
|
6
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/61d4279c2300e146.css","precedence":"next"}]],["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/61d4279c2300e146.css","precedence":"next"}]],["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"yk5tOLkAUA4hfQKDjGbzK"}
|
|
7
7
|
5:null
|
|
@@ -1,19 +1,48 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
:HL["/_next/static/css/
|
|
2
|
+
3:I[737,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"ThemeProvider"]
|
|
3
|
+
4:I[3639,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"AppProvider"]
|
|
4
|
+
5:I[7121,[],""]
|
|
5
|
+
6:I[4581,[],""]
|
|
6
|
+
7:I[722,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"ServiceWorkerRegistration"]
|
|
7
|
+
8:I[1742,["3448","static/chunks/3448-14bce10094e22dfb.js","1406","static/chunks/1406-ec07afec396640f6.js","3741","static/chunks/3741-b70e2d1a48a087d6.js","8974","static/chunks/app/page-31e4d0ad258be21a.js"],"AppShell"]
|
|
8
|
+
9:I[484,[],"OutletBoundary"]
|
|
9
|
+
a:"$Sreact.suspense"
|
|
10
|
+
c:I[484,[],"ViewportBoundary"]
|
|
11
|
+
e:I[484,[],"MetadataBoundary"]
|
|
12
|
+
10:I[7123,[],"default",1]
|
|
13
|
+
:HL["/_next/static/css/af02b3acc7d8f08d.css","style"]
|
|
14
14
|
:HL["/_next/static/css/61d4279c2300e146.css","style"]
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
2:T4b9,(() => {
|
|
16
|
+
var LIGHT = "#ffffff", DARK = "#09090b";
|
|
17
|
+
function resolve(t) {
|
|
18
|
+
if (t === "light") return LIGHT;
|
|
19
|
+
if (t === "dark") return DARK;
|
|
20
|
+
try {
|
|
21
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? DARK : LIGHT;
|
|
22
|
+
} catch (e) { return DARK; }
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
var t = localStorage.getItem("jarela-theme");
|
|
26
|
+
if (t !== "light" && t !== "dark" && t !== "system") t = "system";
|
|
27
|
+
document.documentElement.setAttribute("data-theme", t);
|
|
28
|
+
// Collapse any media-scoped theme-color metas Next emits to a single tag
|
|
29
|
+
// so the PWA window chrome matches the user's explicit choice (not just
|
|
30
|
+
// prefers-color-scheme). ThemeContext keeps this in sync on change.
|
|
31
|
+
var metas = document.querySelectorAll('meta[name="theme-color"]');
|
|
32
|
+
for (var i = 1; i < metas.length; i++) metas[i].parentNode.removeChild(metas[i]);
|
|
33
|
+
var meta = metas[0];
|
|
34
|
+
if (!meta) {
|
|
35
|
+
meta = document.createElement("meta");
|
|
36
|
+
meta.setAttribute("name", "theme-color");
|
|
37
|
+
document.head.appendChild(meta);
|
|
38
|
+
}
|
|
39
|
+
meta.removeAttribute("media");
|
|
40
|
+
meta.setAttribute("content", resolve(t));
|
|
41
|
+
} catch (e) {
|
|
42
|
+
document.documentElement.setAttribute("data-theme", "system");
|
|
43
|
+
}
|
|
44
|
+
})();0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/af02b3acc7d8f08d.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","data-theme":"system","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}]}],["$","body",null,{"children":[["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",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"}]}]}],["$","$L7",null,{}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/61d4279c2300e146.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"yk5tOLkAUA4hfQKDjGbzK"}
|
|
45
|
+
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#09090b","media":"(prefers-color-scheme: dark)"}]]
|
|
46
|
+
11:I[6869,[],"IconMark"]
|
|
47
|
+
b:null
|
|
48
|
+
f:[["$","title","0",{"children":"Jarela"}],["$","meta","1",{"name":"description","content":"Jarela — local chat interface for LangGraph agents"}],["$","link","2",{"rel":"manifest","href":"/manifest.json","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","link","4",{"rel":"icon","href":"/icon-192.png","type":"image/png","sizes":"192x192"}],["$","link","5",{"rel":"icon","href":"/icon-512.png","type":"image/png","sizes":"512x512"}],["$","link","6",{"rel":"apple-touch-icon","href":"/apple-touch-icon.png","sizes":"180x180"}],["$","$L11","7",{}]]
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[484,[],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[6869,[],"IconMark"]
|
|
6
|
-
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#
|
|
6
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#09090b","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Jarela"}],["$","meta","1",{"name":"description","content":"Jarela — local chat interface for LangGraph agents"}],["$","link","2",{"rel":"manifest","href":"/manifest.json"}],["$","link","3",{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","link","4",{"rel":"icon","href":"/icon-192.png","type":"image/png","sizes":"192x192"}],["$","link","5",{"rel":"icon","href":"/icon-512.png","type":"image/png","sizes":"512x512"}],["$","link","6",{"rel":"apple-touch-icon","href":"/apple-touch-icon.png","sizes":"180x180"}],["$","$L5","7",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"yk5tOLkAUA4hfQKDjGbzK"}
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
:HL["/_next/static/css/
|
|
8
|
-
|
|
2
|
+
3:I[737,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"ThemeProvider"]
|
|
3
|
+
4:I[3639,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"AppProvider"]
|
|
4
|
+
5:I[7121,[],""]
|
|
5
|
+
6:I[4581,[],""]
|
|
6
|
+
7:I[722,["7177","static/chunks/app/layout-84c6f211a7a1ca36.js"],"ServiceWorkerRegistration"]
|
|
7
|
+
:HL["/_next/static/css/af02b3acc7d8f08d.css","style"]
|
|
8
|
+
2:T4b9,(() => {
|
|
9
|
+
var LIGHT = "#ffffff", DARK = "#09090b";
|
|
10
|
+
function resolve(t) {
|
|
11
|
+
if (t === "light") return LIGHT;
|
|
12
|
+
if (t === "dark") return DARK;
|
|
13
|
+
try {
|
|
14
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? DARK : LIGHT;
|
|
15
|
+
} catch (e) { return DARK; }
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
var t = localStorage.getItem("jarela-theme");
|
|
19
|
+
if (t !== "light" && t !== "dark" && t !== "system") t = "system";
|
|
20
|
+
document.documentElement.setAttribute("data-theme", t);
|
|
21
|
+
// Collapse any media-scoped theme-color metas Next emits to a single tag
|
|
22
|
+
// so the PWA window chrome matches the user's explicit choice (not just
|
|
23
|
+
// prefers-color-scheme). ThemeContext keeps this in sync on change.
|
|
24
|
+
var metas = document.querySelectorAll('meta[name="theme-color"]');
|
|
25
|
+
for (var i = 1; i < metas.length; i++) metas[i].parentNode.removeChild(metas[i]);
|
|
26
|
+
var meta = metas[0];
|
|
27
|
+
if (!meta) {
|
|
28
|
+
meta = document.createElement("meta");
|
|
29
|
+
meta.setAttribute("name", "theme-color");
|
|
30
|
+
document.head.appendChild(meta);
|
|
31
|
+
}
|
|
32
|
+
meta.removeAttribute("media");
|
|
33
|
+
meta.setAttribute("content", resolve(t));
|
|
34
|
+
} catch (e) {
|
|
35
|
+
document.documentElement.setAttribute("data-theme", "system");
|
|
36
|
+
}
|
|
37
|
+
})();0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/af02b3acc7d8f08d.css","precedence":"next"}]],["$","html",null,{"lang":"en","data-theme":"system","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}]}],["$","body",null,{"children":[["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}],"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."}]}]]}]}]],[]]}]}]}],["$","$L7",null,{}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"yk5tOLkAUA4hfQKDjGbzK"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
:HL["/_next/static/css/
|
|
1
|
+
:HL["/_next/static/css/af02b3acc7d8f08d.css","style"]
|
|
2
2
|
:HL["/_next/static/css/61d4279c2300e146.css","style"]
|
|
3
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"
|
|
3
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"yk5tOLkAUA4hfQKDjGbzK"}
|