jinn-cli 0.7.3 → 0.7.4

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.
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[192],{129:(e,t,a)=>{a.d(t,{r:()=>g});var r=a(4130),s=a(7946),n=a(9919),l=a(4052),i=a(262),o=a(4641),c=a(9152),d=a(4139),x=a(8574),u=a(4723),p=a(6960),m=a(6063);let h={success:n.A,error:l.A,warning:i.A,info:o.A},v={success:"text-[var(--system-green)]",error:"text-[var(--system-red)]",warning:"text-[var(--system-orange)]",info:"text-[var(--system-blue)]"};function g(){let{notifications:e,unreadCount:t,markAllRead:a,markRead:n,clearAll:l}=(0,u.E)(),[i,o]=(0,s.useState)(!1),g=(0,s.useRef)(null);return(0,s.useEffect)(()=>{if(i)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){g.current&&!g.current.contains(e.target)&&o(!1)}},[i]),(0,r.jsxs)("div",{ref:g,className:"relative",children:[(0,r.jsxs)(p.$,{onClick:()=>o(e=>!e),"aria-label":"Notifications".concat(t>0?" (".concat(t," unread)"):""),variant:"ghost",size:"icon-sm",className:"relative text-muted-foreground",children:[(0,r.jsx)(c.A,{size:18}),t>0&&(0,r.jsx)("span",{className:"absolute right-0.5 top-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[var(--system-red)] px-1 text-[10px] font-bold leading-none text-white",children:t>99?"99+":t})]}),i&&(0,r.jsxs)("div",{className:"animate-scale-up absolute right-0 top-[calc(100%+8px)] z-[200] flex max-h-[480px] w-[360px] max-w-[calc(100vw-1rem)] flex-col overflow-hidden rounded-[var(--radius-lg)] border border-border bg-[var(--material-thick)] shadow-[var(--shadow-overlay)] backdrop-blur-[40px]",children:[(0,r.jsxs)("div",{className:"flex shrink-0 items-center justify-between border-b border-border px-4 py-3",children:[(0,r.jsx)("span",{className:"text-[15px] font-semibold text-foreground",children:"Notifications"}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[t>0&&(0,r.jsxs)("button",{onClick:a,title:"Mark all as read",className:"flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-[var(--system-blue)] transition-colors hover:bg-accent",children:[(0,r.jsx)(d.A,{size:14}),"Read all"]}),e.length>0&&(0,r.jsx)("button",{onClick:()=>{l(),o(!1)},title:"Clear all",className:"flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,r.jsx)(x.A,{size:14})})]})]}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===e.length?(0,r.jsx)("div",{className:"px-4 py-8 text-center text-[13px] text-muted-foreground",children:"No notifications yet"}):e.map(e=>{let t=h[e.type];return(0,r.jsxs)("div",{onClick:()=>n(e.id),className:(0,m.cn)("flex cursor-pointer items-start gap-2.5 border-b border-border px-4 py-2.5 transition-colors hover:bg-accent",e.read?"bg-transparent":"bg-[var(--material-ultra-thin)]"),children:[(0,r.jsx)(t,{size:16,className:(0,m.cn)("mt-0.5 shrink-0",v[e.type])}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:(0,m.cn)("text-[13px] leading-[1.3] text-foreground",e.read?"font-normal":"font-semibold"),children:e.title}),(0,r.jsx)("div",{className:"mt-0.5 truncate text-xs leading-[1.3] text-[var(--text-secondary)]",children:e.message})]}),(0,r.jsx)("span",{className:"mt-0.5 shrink-0 whitespace-nowrap text-[11px] text-[var(--text-quaternary)]",children:function(e){let t=Math.floor((Date.now()-e)/1e3);return t<60?"just now":t<3600?"".concat(Math.floor(t/60),"m ago"):t<86400?"".concat(Math.floor(t/3600),"h ago"):"".concat(Math.floor(t/86400),"d ago")}(e.timestamp)}),!e.read&&(0,r.jsx)("span",{className:"mt-[5px] size-2 shrink-0 rounded-full bg-[var(--system-blue)]"})]},e.id)})})]})]})}},280:(e,t,a)=>{a.d(t,{z:()=>r});let r=[{id:"dark",label:"Dark",emoji:"\uD83C\uDF11"},{id:"glass",label:"Glass",emoji:"\uD83E\uDE9F"},{id:"color",label:"Color",emoji:"\uD83C\uDFA8"},{id:"light",label:"Light",emoji:"☀️"},{id:"system",label:"System",emoji:"⚙️"}]},3160:(e,t,a)=>{a.d(t,{Q6:()=>d,tS:()=>c,te:()=>o});var r=a(7459),s=a(7122),n=a(8045),l=a(5465),i=a(6654);function o(){return(0,r.I)({queryKey:l.l.sessions.all,queryFn:()=>i.F.getSessions()})}function c(){let e=(0,s.jE)();return(0,n.n)({mutationFn:e=>i.F.deleteSession(e),onSuccess:()=>e.invalidateQueries({queryKey:l.l.sessions.all})})}function d(){let e=(0,s.jE)();return(0,n.n)({mutationFn:e=>i.F.bulkDeleteSessions(e),onSuccess:()=>e.invalidateQueries({queryKey:l.l.sessions.all})})}},6063:(e,t,a)=>{a.d(t,{cn:()=>n});var r=a(451),s=a(1287);function n(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,s.QP)((0,r.$)(t))}},6960:(e,t,a)=>{a.d(t,{$:()=>o});var r=a(4130);a(7946);var s=a(4322),n=a(1271),l=a(6063);let i=(0,s.F)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:a="default",size:s="default",asChild:o=!1,...c}=e,d=o?n.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":a,"data-size":s,className:(0,l.cn)(i({variant:a,size:s,className:t})),...c})}},7192:(e,t,a)=>{a.d(t,{M:()=>e_,v:()=>eE});var r=a(4130),s=a(7053),n=a.n(s),l=a(7946),i=a(7614),o=a.n(i),c=a(2467),d=a(4722),x=a(597),u=a(1360),p=a(208),m=a(2231),h=a(8838),v=a(280),g=a(483),f=a(1004),b=a(8831),j=a(5254),y=a(4481),N=a(216),k=a(6088),w=a(1428);let A=[{href:"/",label:"Home",icon:g.A},{href:"/chat",label:"Chat",icon:f.A},{href:"/org",label:"Organization",icon:b.A},{href:"/kanban",label:"Kanban",icon:j.A},{href:"/cron",label:"Cron",icon:y.A},{href:"/logs",label:"Activity",icon:N.A},{href:"/skills",label:"Skills",icon:k.A},{href:"/settings",label:"Settings",icon:w.A}];var z=a(6063);function C(e){let{theme:t}=e;switch(t){case"light":return(0,r.jsx)(x.A,{size:18});case"dark":return(0,r.jsx)(u.A,{size:18});default:return(0,r.jsx)(p.A,{size:18})}}function S(){var e,t;let a=(0,c.usePathname)(),{theme:s,setTheme:n}=(0,h.D)(),{settings:i}=(0,d.t0)(),[o,x]=(0,l.useState)(!1),[u,p]=(0,l.useState)([]),[g,f]=(0,l.useState)(!1),b=null!=(e=i.portalEmoji)?e:"\uD83E\uDD16",j=null!=(t=i.portalName)?t:"Jinn";return(0,l.useEffect)(()=>{fetch("/api/instances").then(e=>e.json()).then(p).catch(()=>{})},[]),(0,r.jsxs)("aside",{onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),className:(0,z.cn)("fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col",o?"w-[200px]":"w-14"),children:[(0,r.jsxs)("div",{className:"flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4",children:[(0,r.jsx)("span",{className:"w-7 shrink-0 text-center text-2xl leading-none",children:b}),(0,r.jsx)("span",{className:(0,z.cn)("whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:j})]}),(0,r.jsx)("nav",{className:"flex flex-1 flex-col gap-0.5 px-2",children:A.map(e=>{let t="/"===e.href?"/"===a:a.startsWith(e.href),s=e.icon;return(0,r.jsxs)("a",{href:e.href,className:(0,z.cn)("group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors",t?"bg-[var(--accent-fill)] font-semibold text-[var(--accent)]":"text-muted-foreground hover:bg-accent hover:text-foreground"),"aria-label":e.label,"aria-current":t?"page":void 0,children:[(0,r.jsx)(s,{size:18,className:"shrink-0"}),(0,r.jsx)("span",{className:(0,z.cn)("transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:e.label})]},e.href)})}),u.length>1&&(0,r.jsxs)("div",{className:"relative shrink-0 px-2 pt-1",children:[(0,r.jsxs)("button",{onClick:()=>f(e=>!e),"aria-label":"Switch instance",className:"flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,r.jsx)(m.A,{size:18,className:"shrink-0"}),(0,r.jsx)("span",{className:(0,z.cn)("transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:"Switch"})]}),g&&o&&(0,r.jsx)("div",{className:"absolute bottom-full left-2 z-100 mb-1 min-w-[180px] rounded-xl border border-border bg-[var(--material-thick)] p-1 shadow-[var(--shadow-overlay)] backdrop-blur-xl",children:u.map(e=>(0,r.jsxs)("button",{onClick:()=>{!e.current&&e.running&&(window.location.href="http://localhost:".concat(e.port,"/chat")),f(!1)},className:(0,z.cn)("flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-[13px] transition-colors",e.current?"bg-[var(--accent-fill)] font-semibold text-[var(--accent)]":e.running?"text-foreground hover:bg-accent":"cursor-default text-[var(--text-quaternary)]"),children:[(0,r.jsx)("span",{children:e.name}),(0,r.jsx)("span",{className:"size-2 shrink-0 rounded-full",style:{background:e.running?"var(--system-green)":"var(--text-quaternary)"}})]},e.port))})]}),(0,r.jsx)("div",{className:"shrink-0 px-2 pb-3 pt-2",children:(0,r.jsxs)("button",{onClick:function(){let e=v.z.map(e=>e.id),t=e.indexOf(s);n(e[(t+1)%e.length])},"aria-label":"Theme: ".concat(s,". Click to cycle."),className:"flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,r.jsx)("span",{className:"shrink-0",children:(0,r.jsx)(C,{theme:s})}),(0,r.jsx)("span",{className:(0,z.cn)("capitalize transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:s})]})})]})}var E=a(7103),F=a(6532),_=a(9309),L=a(841),B=a(1977),D=a(6429),I=a(7632);function q(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB,{"data-slot":"command",className:(0,z.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...a})}function R(e){let{className:t,...a}=e;return(0,r.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,r.jsx)(D.A,{className:"size-4 shrink-0 opacity-50"}),(0,r.jsx)(B.uB.Input,{"data-slot":"command-input",className:(0,z.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...a})]})}function W(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.List,{"data-slot":"command-list",className:(0,z.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...a})}function K(e){let{...t}=e;return(0,r.jsx)(B.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function J(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.Group,{"data-slot":"command-group",className:(0,z.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...a})}function O(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.Separator,{"data-slot":"command-separator",className:(0,z.cn)("-mx-1 h-px bg-border",t),...a})}function P(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.Item,{"data-slot":"command-item",className:(0,z.cn)("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",t),...a})}var G=a(7459),M=a(5465),T=a(6654),H=a(3160);let Y="jinn-command-recent";function $(){try{let e=localStorage.getItem(Y);return e?JSON.parse(e):[]}catch(e){return[]}}let Q=[{id:"page-home",label:"Dashboard",icon:g.A,href:"/"},{id:"page-chat",label:"Chat",icon:f.A,href:"/chat"},{id:"page-org",label:"Organization",icon:b.A,href:"/org"},{id:"page-kanban",label:"Kanban",icon:j.A,href:"/kanban"},{id:"page-cron",label:"Cron",icon:y.A,href:"/cron"},{id:"page-costs",label:"Costs",icon:E.A,href:"/costs"},{id:"page-logs",label:"Activity",icon:N.A,href:"/logs"},{id:"page-skills",label:"Skills",icon:k.A,href:"/skills"},{id:"page-settings",label:"Settings",icon:w.A,href:"/settings"},{id:"page-goals",label:"Goals",icon:F.A,href:"/goals"}];function V(){var e;let{settings:t}=(0,d.t0)(),a=null!=(e=t.portalName)?e:"Jinn",[s,n]=(0,l.useState)(!1),[i,o]=(0,l.useState)([]),x=(0,c.useRouter)(),{data:u}=(0,G.I)({queryKey:M.l.org.all,queryFn:()=>T.F.getOrg()}),{data:p}=(0,G.I)({queryKey:M.l.cron.all,queryFn:()=>T.F.getCronJobs()}),{data:m}=(0,H.te)(),{data:h}=(0,G.I)({queryKey:M.l.skills.all,queryFn:()=>T.F.getSkills()});(0,l.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&"k"===e.key&&(e.preventDefault(),n(e=>!e))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,l.useEffect)(()=>{s&&o($())},[s]);let v=(0,l.useCallback)((e,t)=>{let a=$().filter(e=>e.id!==t.id);a.unshift(t),localStorage.setItem(Y,JSON.stringify(a.slice(0,5))),n(!1),x.push(e)},[x]),g=Array.isArray(null==u?void 0:u.employees)?u.employees:[],j=Array.isArray(p)?p:[],N=Array.isArray(m)?m.slice(0,10):[],w=Array.isArray(h)?h.slice(0,10):[];return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(I.lG,{open:s,onOpenChange:n,children:(0,r.jsx)(I.Cf,{className:"p-0 gap-0 max-w-[560px]",children:(0,r.jsxs)(q,{className:"rounded-lg",children:[(0,r.jsx)(R,{placeholder:"Search ".concat(a,"...")}),(0,r.jsxs)(W,{children:[(0,r.jsx)(K,{children:"No results found."}),i.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(J,{heading:"Recent",children:i.map(e=>(0,r.jsxs)(P,{onSelect:()=>v(e.href,e),children:[(0,r.jsx)(_.A,{size:16,className:"mr-2 opacity-50"}),e.label]},e.id))}),(0,r.jsx)(O,{})]}),(0,r.jsx)(J,{heading:"Pages",children:Q.map(e=>(0,r.jsxs)(P,{onSelect:()=>v(e.href,{id:e.id,label:e.label,href:e.href,type:"page"}),children:[(0,r.jsx)(e.icon,{size:16,className:"mr-2 opacity-50"}),e.label]},e.id))}),(0,r.jsx)(J,{heading:"Actions",children:(0,r.jsxs)(P,{onSelect:()=>{n(!1),x.push("/chat")},children:[(0,r.jsx)(L.A,{size:16,className:"mr-2 opacity-50"}),"New Chat"]})}),g.length>0&&(0,r.jsx)(J,{heading:"Employees",children:g.slice(0,8).map(e=>(0,r.jsxs)(P,{onSelect:()=>v("/org",{id:"emp-".concat(e),label:e,href:"/org",type:"employee"}),children:[(0,r.jsx)(b.A,{size:16,className:"mr-2 opacity-50"}),e]},e))}),N.length>0&&(0,r.jsx)(J,{heading:"Recent Sessions",children:N.map(e=>{var t,a,s;let n=String(null!=(t=e.id)?t:""),l=String(null!=(s=null!=(a=e.title)?a:e.id)?s:"").slice(0,50);return(0,r.jsxs)(P,{onSelect:()=>v("/chat",{id:"session-".concat(n),label:l,href:"/chat",type:"session"}),children:[(0,r.jsx)(f.A,{size:16,className:"mr-2 opacity-50"}),l]},n)})}),j.length>0&&(0,r.jsx)(J,{heading:"Cron Jobs",children:j.slice(0,6).map(e=>{var t,a;let s=String(null!=(t=e.id)?t:""),n=String(null!=(a=e.name)?a:s);return(0,r.jsxs)(P,{onSelect:()=>v("/cron",{id:"cron-".concat(s),label:n,href:"/cron",type:"cron"}),children:[(0,r.jsx)(y.A,{size:16,className:"mr-2 opacity-50"}),n]},s)})}),w.length>0&&(0,r.jsx)(J,{heading:"Skills",children:w.map(e=>{var t;let a=String(null!=(t=e.name)?t:"");return(0,r.jsxs)(P,{onSelect:()=>v("/skills",{id:"skill-".concat(a),label:a,href:"/skills",type:"skill"}),children:[(0,r.jsx)(k.A,{size:16,className:"mr-2 opacity-50"}),a]},a)})})]})]})})})})}var U=a(9864),Z=a(1362),X=a(4535),ee=a(2845),et=a(8064);let ea="open-live-stream",er={info:{bg:"rgba(48,209,88,0.12)",color:"var(--system-green)",label:"INF"},warn:{bg:"rgba(255,159,10,0.12)",color:"var(--system-orange)",label:"WRN"},error:{bg:"rgba(255,69,58,0.12)",color:"var(--system-red)",label:"ERR"},debug:{bg:"var(--fill-secondary)",color:"var(--text-tertiary)",label:"DBG"}};function es(e){return"[".concat(e.timestamp,"] [").concat(e.level.toUpperCase(),"] ").concat(e.message)}function en(e){var t;let{entry:a}=e,[s,n]=(0,l.useState)(!1),i=null!=(t=er[a.level])?t:er.debug,o=a.message.length>100;return(0,r.jsxs)("div",{className:"border-b border-[var(--separator)] ".concat("error"===a.level?"bg-[rgba(255,69,58,0.03)]":""),children:[(0,r.jsxs)("button",{onClick:()=>o&&n(e=>!e),className:"flex items-center w-full px-3 py-[5px] gap-2 border-none bg-transparent text-left ".concat(o?"cursor-pointer":"cursor-default"),children:[o?(0,r.jsx)("span",{className:"text-[10px] text-[var(--text-tertiary)] shrink-0 inline-block transition-transform duration-150 ".concat(s?"rotate-90":"rotate-0"),children:"›"}):(0,r.jsx)("span",{className:"w-[10px] shrink-0"}),(0,r.jsx)("span",{className:"font-mono text-[var(--text-tertiary)] text-[10px] shrink-0 min-w-[58px]",children:function(e){if(!e)return"";let t=e.split(" ");return t.length>1?t[1]:e}(a.timestamp)}),(0,r.jsx)("span",{className:"text-[9px] font-bold tracking-wide px-[5px] py-px rounded-[3px] shrink-0 leading-[14px]",style:{background:i.bg,color:i.color},children:i.label}),(0,r.jsx)("span",{className:"font-mono text-[10px] leading-snug overflow-hidden text-ellipsis whitespace-nowrap flex-1 min-w-0 ".concat("error"===a.level?"text-[var(--system-red)]":"text-[var(--text-secondary)]"),children:a.message})]}),s&&o&&(0,r.jsx)("div",{className:"px-3 pt-1.5 pb-2 pl-[30px] border-t border-[var(--separator)] bg-[var(--fill-secondary)]",children:(0,r.jsx)("pre",{className:"font-mono text-[9px] leading-normal text-[var(--text-secondary)] whitespace-pre-wrap break-words m-0",children:a.message})})]})}function el(){let[e,t]=(0,l.useState)("hidden"),[a,s]=(0,l.useState)([]),[n,i]=(0,l.useState)(!0),[o,c]=(0,l.useState)(!1),[d,x]=(0,l.useState)(null),u=(0,l.useRef)(null),p=(0,l.useRef)(0),{events:m}=(0,ee.G)();(0,l.useEffect)(()=>{n&&u.current&&(u.current.scrollTop=u.current.scrollHeight)},[a,n]);let h=(0,l.useCallback)(()=>{if(!u.current)return;let{scrollTop:e,scrollHeight:t,clientHeight:a}=u.current;t-e-a<40?i(!0):i(!1)},[]);(0,l.useEffect)(()=>{"expanded"===e&&T.F.getLogs(50).then(e=>{var t;s((null!=(t=e.lines)?t:[]).map(et.w)),x(null)}).catch(e=>{x(e instanceof Error?e.message:"Failed to load logs")})},[e]),(0,l.useEffect)(()=>{if("hidden"===e||0===m.length)return;let t=m[m.length-1];if("log"===t.event&&"object"==typeof t.payload&&null!==t.payload){let e=t.payload,a=e.line||e.message||JSON.stringify(t.payload),r=(0,et.w)(a,p.current++);s(e=>[...e,r].slice(-500))}},[m,e]);let v=(0,l.useCallback)(()=>{t("hidden")},[]),g=(0,l.useCallback)(async()=>{let e=a.map(es).join("\n");await navigator.clipboard.writeText(e),c(!0),setTimeout(()=>c(!1),1500)},[a]);return((0,l.useEffect)(()=>{function e(){t("expanded")}return window.addEventListener(ea,e),()=>window.removeEventListener(ea,e)},[]),"hidden"===e)?null:"collapsed"===e?(0,r.jsxs)("button",{onClick:()=>t("expanded"),className:"focus-ring flex items-center fixed bottom-5 right-5 z-50 px-3.5 py-2 rounded-[var(--radius-pill)] border border-[var(--separator)] bg-[var(--material-regular)] cursor-pointer gap-2 backdrop-blur-[40px] backdrop-saturate-[1.8] shadow-[0_4px_24px_rgba(0,0,0,0.25)]",style:{WebkitBackdropFilter:"blur(40px) saturate(180%)"},children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--system-green)] shrink-0 animate-[lsw-pulse_2s_ease-in-out_infinite]"}),(0,r.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)] font-[var(--weight-medium)]",children:"Live Stream"}),a.length>0&&(0,r.jsx)("span",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] bg-[var(--fill-secondary)] px-1.5 py-px rounded-[var(--radius-sm)]",children:a.length}),(0,r.jsx)("style",{children:"@keyframes lsw-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }"})]}):(0,r.jsxs)("div",{className:"panel-slide-in fixed bottom-5 right-5 z-50 w-[440px] h-[400px] rounded-[var(--radius-lg)] border border-[var(--separator)] bg-[var(--material-regular)] flex flex-col overflow-hidden backdrop-blur-[40px] backdrop-saturate-[1.8] shadow-[0_8px_40px_rgba(0,0,0,0.35)]",style:{WebkitBackdropFilter:"blur(40px) saturate(180%)"},children:[(0,r.jsxs)("div",{className:"flex items-center shrink-0 px-3.5 py-2.5 border-b border-[var(--separator)] gap-2",children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--system-green)] shrink-0 animate-[lsw-pulse_2s_ease-in-out_infinite]"}),(0,r.jsx)("span",{className:"text-[length:var(--text-footnote)] font-[var(--weight-semibold)] text-[var(--text-primary)]",children:"Live Stream"}),a.length>0&&(0,r.jsxs)("span",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:[a.length," line",1!==a.length?"s":""]}),(0,r.jsxs)("div",{className:"ml-auto flex gap-1",children:[(0,r.jsx)("button",{onClick:g,title:"Copy all logs",disabled:0===a.length,className:"focus-ring w-7 h-7 flex items-center justify-center rounded-[var(--radius-sm)] border-none transition-all duration-150 ".concat(o?"bg-[var(--accent-fill)] text-[var(--accent)]":"bg-transparent text-[var(--text-tertiary)]"," ").concat(0===a.length?"cursor-default opacity-30":"cursor-pointer opacity-100"),children:(0,r.jsx)(U.A,{size:14})}),(0,r.jsx)("button",{onClick:()=>t("collapsed"),className:"focus-ring w-7 h-7 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer transition-colors duration-150",title:"Minimize",children:(0,r.jsx)(Z.A,{size:14})}),(0,r.jsx)("button",{onClick:v,className:"focus-ring w-7 h-7 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer transition-colors duration-150",title:"Close",children:(0,r.jsx)(X.A,{size:14})})]})]}),d&&(0,r.jsx)("div",{className:"px-3.5 py-1.5 bg-[rgba(255,69,58,0.06)] border-b border-[rgba(255,69,58,0.15)] text-[length:var(--text-caption2)] text-[var(--system-red)] shrink-0",children:d}),(0,r.jsx)("div",{ref:u,onScroll:h,className:"flex-1 min-h-0 overflow-y-auto overflow-x-hidden",children:0===a.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-[var(--text-secondary)] gap-[var(--space-2)] p-[var(--space-4)]",children:[(0,r.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-[var(--text-tertiary)]",children:(0,r.jsx)("polyline",{points:"22 12 18 12 15 21 9 3 6 12 2 12"})}),(0,r.jsx)("span",{className:"text-[length:var(--text-caption1)] font-[var(--weight-medium)]",children:"Waiting for log data..."})]}):(0,r.jsx)("div",{children:a.map(e=>(0,r.jsx)(en,{entry:e},e.id))})}),(0,r.jsx)("div",{className:"flex items-center shrink-0 px-3.5 py-2 border-t border-[var(--separator)] gap-2",children:!n&&a.length>0&&(0,r.jsx)("button",{onClick:()=>i(!0),className:"focus-ring px-2.5 py-1 rounded-[var(--radius-sm)] border-none cursor-pointer text-[length:var(--text-caption2)] font-[var(--weight-medium)] bg-[var(--fill-secondary)] text-[var(--text-secondary)]",children:"Scroll to bottom"})}),(0,r.jsx)("style",{children:"@keyframes lsw-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }"})]})}var ei=a(9444),eo=a(4139),ec=a(1100),ed=a(9357),ex=a(9605);let eu=[{label:"Red",value:"#EF4444"},{label:"Orange",value:"#F97316"},{label:"Amber",value:"#F59E0B"},{label:"Yellow",value:"#EAB308"},{label:"Lime",value:"#84CC16"},{label:"Green",value:"#22C55E"},{label:"Emerald",value:"#10B981"},{label:"Cyan",value:"#06B6D4"},{label:"Blue",value:"#3B82F6"},{label:"Indigo",value:"#6366F1"},{label:"Violet",value:"#8B5CF6"},{label:"Pink",value:"#EC4899"}],ep=[{icon:f.A,name:"Chat",desc:"Direct conversations with any employee"},{icon:b.A,name:"Organization",desc:"Visual org chart of your AI team"},{icon:ei.A,name:"Kanban",desc:"Task boards for work management"},{icon:y.A,name:"Cron",desc:"Scheduled jobs with status monitoring"},{icon:E.A,name:"Costs",desc:"Token usage and cost tracking"},{icon:N.A,name:"Activity",desc:"Real-time logs and event stream"}];function em(e){var t;let{forceOpen:a,onClose:s}=e,{settings:n,setPortalName:i,setOperatorName:o,setAccentColor:x,setLanguage:u}=(0,d.t0)(),{theme:p,setTheme:m}=(0,h.D)(),g=(0,c.useRouter)(),[f,b]=(0,l.useState)(!1),[j,y]=(0,l.useState)(0),[N,k]=(0,l.useState)("forward"),[w,A]=(0,l.useState)(""),[z,C]=(0,l.useState)(""),[S,E]=(0,l.useState)(null!=(t=n.language)?t:"English");(0,l.useEffect)(()=>{if(a){var e,t;A(null!=(e=n.portalName)?e:""),C(null!=(t=n.operatorName)?t:""),b(!0);return}localStorage.getItem("jinn-onboarded")||b(!0)},[a]);let F=(0,l.useCallback)(()=>{0===j&&(i(w||null),o(z||null),u(S||"English")),j<3?(k("forward"),y(j+1)):(T.F.completeOnboarding({portalName:w||void 0,operatorName:z||void 0,language:S||void 0}).catch(()=>{}),a||localStorage.setItem("jinn-onboarded","true"),b(!1),null==s||s(),g.push("/chat"))},[j,w,z,a,s,i,o,g]),_=(0,l.useCallback)(()=>{j>0&&(k("back"),y(j-1))},[j]);return f?(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",style:{backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)"},children:(0,r.jsxs)("div",{className:"animate-fade-in w-full max-w-[520px] mx-[var(--space-4)] bg-[var(--material-regular)] rounded-[var(--radius-lg)] border border-[var(--separator)] overflow-hidden flex flex-col max-h-[90vh]",style:{boxShadow:"0 24px 48px rgba(0,0,0,0.3)"},children:[(0,r.jsx)("div",{className:"flex justify-center gap-2 pt-[var(--space-4)] px-[var(--space-4)]",children:Array.from({length:4}).map((e,t)=>(0,r.jsx)("div",{className:"h-2 rounded-full transition-all duration-200",style:{width:t===j?24:8,background:t===j||t<j?"var(--accent)":"var(--fill-tertiary)",opacity:t<j?.5:1}},t))}),(0,r.jsxs)("div",{className:"px-[var(--space-5)] pt-[var(--space-5)] pb-[var(--space-4)] overflow-y-auto flex-1",children:[0===j&&(0,r.jsxs)("div",{className:"animate-fade-in text-center",children:[(0,r.jsx)("div",{className:"text-[56px] mb-[var(--space-3)] leading-none",children:"\ud83e\udd16"}),(0,r.jsxs)("h2",{className:"text-[length:var(--text-large-title)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-2)]",children:["Welcome to ",w||"Jinn"]}),(0,r.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--text-secondary)] leading-[var(--leading-relaxed)] max-w-[400px] mx-auto mb-[var(--space-5)]",children:"Your AI team management portal. Let's get you set up."}),(0,r.jsxs)("div",{className:"flex flex-col gap-[var(--space-3)] text-left",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Name"}),(0,r.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-3 py-2 text-[length:var(--text-body)] text-[var(--text-primary)]",placeholder:"Jinn",value:w,onChange:e=>A(e.target.value),autoFocus:!0})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"What should we call you?"}),(0,r.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-3 py-2 text-[length:var(--text-body)] text-[var(--text-primary)]",placeholder:"Your Name",value:z,onChange:e=>C(e.target.value)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Preferred Language"}),(0,r.jsxs)("select",{value:S,onChange:e=>E(e.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-3 py-2 text-[length:var(--text-body)] text-[var(--text-primary)] cursor-pointer",children:[(0,r.jsx)("option",{value:"English",children:"English"}),(0,r.jsx)("option",{value:"Spanish",children:"Spanish"}),(0,r.jsx)("option",{value:"French",children:"French"}),(0,r.jsx)("option",{value:"German",children:"German"}),(0,r.jsx)("option",{value:"Portuguese",children:"Portuguese"}),(0,r.jsx)("option",{value:"Italian",children:"Italian"}),(0,r.jsx)("option",{value:"Dutch",children:"Dutch"}),(0,r.jsx)("option",{value:"Russian",children:"Russian"}),(0,r.jsx)("option",{value:"Chinese",children:"Chinese"}),(0,r.jsx)("option",{value:"Japanese",children:"Japanese"}),(0,r.jsx)("option",{value:"Korean",children:"Korean"}),(0,r.jsx)("option",{value:"Arabic",children:"Arabic"}),(0,r.jsx)("option",{value:"Hindi",children:"Hindi"}),(0,r.jsx)("option",{value:"Bulgarian",children:"Bulgarian"})]})]})]})]},"step-0"),1===j&&(0,r.jsxs)("div",{className:"animate-fade-in",children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"Choose your theme"}),(0,r.jsx)("p",{className:"text-[length:var(--text-subheadline)] text-[var(--text-tertiary)] mb-[var(--space-4)]",children:"Pick the look that suits you. This applies live."}),(0,r.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(130px,1fr))] gap-[var(--space-3)]",children:v.z.map(e=>{let t=p===e.id;return(0,r.jsxs)("button",{onClick:()=>m(e.id),className:"flex flex-col items-center gap-[var(--space-2)] px-[var(--space-3)] py-[var(--space-4)] rounded-[var(--radius-md)] bg-[var(--fill-quaternary)] cursor-pointer transition-all duration-150",style:{border:t?"2px solid var(--accent)":"2px solid var(--separator)"},children:[(0,r.jsx)("span",{className:"text-[28px]",children:e.emoji}),(0,r.jsx)("span",{className:"text-[length:var(--text-footnote)]",style:{fontWeight:t?"var(--weight-semibold)":"var(--weight-medium)",color:t?"var(--accent)":"var(--text-secondary)"},children:e.label})]},e.id)})})]},"step-1"),2===j&&(0,r.jsxs)("div",{className:"animate-fade-in",children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"Pick an accent color"}),(0,r.jsx)("p",{className:"text-[length:var(--text-subheadline)] text-[var(--text-tertiary)] mb-[var(--space-4)]",children:"Personalize with your favorite color."}),(0,r.jsx)("div",{className:"grid grid-cols-6 gap-[var(--space-3)] justify-items-center",children:eu.map(e=>{let t=n.accentColor===e.value;return(0,r.jsx)("button",{onClick:()=>x(e.value),"aria-label":e.label,title:e.label,className:"w-10 h-10 rounded-full border-none cursor-pointer flex items-center justify-center transition-all duration-100",style:{background:e.value,outline:t?"3px solid ".concat(e.value):"none",outlineOffset:3},children:t&&(0,r.jsx)(eo.A,{size:18,color:"#fff",strokeWidth:3})},e.value)})})]},"step-2"),3===j&&(0,r.jsxs)("div",{className:"animate-fade-in",children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"You're all set!"}),(0,r.jsx)("p",{className:"text-[length:var(--text-subheadline)] text-[var(--text-tertiary)] mb-[var(--space-4)]",children:"Here's what you can do."}),(0,r.jsx)("div",{className:"flex flex-col gap-[var(--space-2)]",children:ep.map(e=>{let t=e.icon;return(0,r.jsxs)("div",{className:"flex items-center gap-[var(--space-3)] p-[var(--space-3)] rounded-[var(--radius-md)] bg-[var(--fill-quaternary)] border border-[var(--separator)]",children:[(0,r.jsx)("div",{className:"w-9 h-9 rounded-lg bg-[var(--accent-fill)] flex items-center justify-center shrink-0",children:(0,r.jsx)(t,{size:18,className:"text-[var(--accent)]"})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[length:var(--text-subheadline)] font-[var(--weight-semibold)] text-[var(--text-primary)]",children:e.name}),(0,r.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:e.desc})]})]},e.name)})})]},"step-3")]}),(0,r.jsxs)("div",{className:"flex justify-between items-center px-[var(--space-5)] pb-[var(--space-5)] pt-[var(--space-3)] gap-[var(--space-3)]",children:[j>0?(0,r.jsxs)("button",{onClick:_,className:"px-[var(--space-4)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--fill-tertiary)] text-[var(--text-secondary)] border-none cursor-pointer text-[length:var(--text-subheadline)] font-[var(--weight-medium)] transition-all duration-150 inline-flex items-center gap-1.5",children:[(0,r.jsx)(ec.A,{size:16}),"Back"]}):(0,r.jsx)("div",{}),(0,r.jsxs)("button",{onClick:F,className:"px-[var(--space-6)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none cursor-pointer text-[length:var(--text-subheadline)] font-[var(--weight-semibold)] transition-all duration-150 inline-flex items-center gap-1.5",children:[0===j?"Next":3===j?"Get Started":"Next",3===j?(0,r.jsx)(ed.A,{size:16}):(0,r.jsx)(ex.A,{size:16})]})]})]})}):null}var eh=a(129),ev=a(4723),eg=a(9919),ef=a(4052),eb=a(262),ej=a(4641);let ey={success:eg.A,error:ef.A,warning:eb.A,info:ej.A},eN={success:"var(--system-green)",error:"var(--system-red)",warning:"var(--system-orange)",info:"var(--system-blue)"};function ek(){let{toasts:e,dismissToast:t}=(0,ev.E)();return 0===e.length?null:(0,r.jsx)("div",{className:"fixed top-4 right-4 z-[9999] flex flex-col gap-2 max-w-[380px] w-full pointer-events-none",children:e.map(e=>{let a=ey[e.type],s=eN[e.type];return(0,r.jsxs)("div",{className:"animate-slide-down pointer-events-auto flex items-start gap-2.5 px-3.5 py-3 bg-[var(--material-thick)] backdrop-blur-[40px] backdrop-saturate-[1.8] border border-[var(--separator)] rounded-[var(--radius-md)] shadow-[var(--shadow-overlay)]",style:{WebkitBackdropFilter:"blur(40px) saturate(180%)"},children:[(0,r.jsx)(a,{size:18,className:"shrink-0 mt-px",style:{color:s}}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("div",{className:"text-[13px] font-semibold text-[var(--text-primary)] leading-[1.3]",children:e.title}),(0,r.jsx)("div",{className:"text-xs text-[var(--text-secondary)] mt-0.5 leading-[1.3] overflow-hidden text-ellipsis whitespace-nowrap",children:e.message}),(0,r.jsx)("div",{className:"text-[11px] text-[var(--text-quaternary)] mt-1",children:new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,r.jsx)("button",{onClick:()=>t(e.id),"aria-label":"Dismiss",className:"bg-transparent border-none cursor-pointer text-[var(--text-tertiary)] p-0.5 shrink-0",children:(0,r.jsx)(X.A,{size:14})})]},e.id)})})}var ew=a(9327),eA=a(8565);function ez(){let{items:e}=(0,eA.i)();return 0===e.length?null:1===e.length?(0,r.jsx)("h1",{className:"text-lg font-semibold text-[var(--text-primary)] tracking-tight",children:e[0].label}):(0,r.jsx)("nav",{className:"flex items-center gap-1.5 text-sm","aria-label":"Breadcrumb",children:e.map((t,a)=>{let s=a===e.length-1;return(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[a>0&&(0,r.jsx)(ew.A,{size:14,className:"text-[var(--text-quaternary)]"}),s||!t.href?(0,r.jsx)("span",{className:s?"text-[var(--text-primary)] font-medium":"text-[var(--text-tertiary)]",children:t.label}):(0,r.jsx)(o(),{href:t.href,className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)] transition-colors",children:t.label})]},a)})})}var eC=a(3198);function eS(e){var t,a;let{actions:s}=e,[i,x]=(0,l.useState)(!1),u=(0,c.usePathname)(),{settings:p}=(0,d.t0)(),m=null!=(t=p.portalEmoji)?t:"\uD83E\uDD16",h=null!=(a=p.portalName)?a:"Jinn";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden",children:[(0,r.jsx)("button",{onClick:()=>x(!0),"aria-label":"Open menu",className:"jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-accent",children:(0,r.jsx)(eC.A,{size:20})}),(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center",children:[(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 mr-1.5 text-lg",children:m}),(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground",children:h})]}),(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex items-center gap-1",children:[s,(0,r.jsx)(eh.r,{})]})]}),i&&(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 fixed inset-0 z-100 lg:hidden",children:[(0,r.jsx)("div",{onClick:()=>x(!1),className:"jsx-906cbf20b7aa1777 absolute inset-0 bg-black/50 backdrop-blur-[1px]"}),(0,r.jsxs)("nav",{className:"jsx-906cbf20b7aa1777 absolute inset-y-0 left-0 flex w-[260px] animate-slide-in flex-col border-r border-border bg-[var(--bg-secondary)]",children:[(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex items-center justify-between border-b border-border px-3.5 py-3",children:[(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex items-center gap-2",children:[(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 text-[22px]",children:m}),(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 text-base font-semibold text-foreground",children:h})]}),(0,r.jsx)("button",{onClick:()=>x(!1),"aria-label":"Close menu",className:"jsx-906cbf20b7aa1777 inline-flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,r.jsx)(X.A,{size:18})})]}),(0,r.jsx)("div",{className:"jsx-906cbf20b7aa1777 flex flex-1 flex-col gap-1 p-2",children:A.map(e=>{let t="/"===e.href?"/"===u:u.startsWith(e.href),a=e.icon;return(0,r.jsxs)(o(),{href:e.href,onClick:()=>x(!1),className:(0,z.cn)("flex h-11 items-center gap-3 rounded-[10px] px-3.5 text-[15px] transition-colors",t?"bg-[var(--accent-fill)] font-semibold text-[var(--accent)]":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,r.jsx)(a,{size:18,className:"jsx-906cbf20b7aa1777 shrink-0"}),e.label]},e.href)})})]})]}),(0,r.jsx)(n(),{id:"906cbf20b7aa1777",children:"@keyframes slideInLeft{from{transform:translatex(-100%)}to{transform:translatex(0)}}"})]})}function eE(e){let{children:t}=e;return(0,r.jsxs)("div",{className:"hidden items-center gap-2 lg:flex",children:[t,(0,r.jsx)(eh.r,{})]})}function eF(){let{items:e}=(0,eA.i)();return 0===e.length?null:(0,r.jsx)("div",{className:"hidden h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-5 lg:flex",children:(0,r.jsx)(ez,{})})}function e_(e){let{children:t,mobileHeaderActions:a}=e;return(0,r.jsxs)("div",{className:"flex h-dvh overflow-hidden bg-background",children:[(0,r.jsx)(S,{}),(0,r.jsx)(V,{}),(0,r.jsxs)("main",{className:"flex-1 overflow-hidden flex flex-col lg:ml-[56px]",children:[(0,r.jsx)(eS,{actions:a}),(0,r.jsx)(eF,{}),(0,r.jsx)("div",{className:"flex-1 overflow-hidden",children:t})]}),(0,r.jsx)(ek,{}),(0,r.jsx)(el,{}),(0,r.jsx)(em,{})]})}},7632:(e,t,a)=>{a.d(t,{Cf:()=>x,Es:()=>p,L3:()=>m,c7:()=>u,lG:()=>o,rr:()=>h});var r=a(4130);a(7946);var s=a(4535),n=a(2535),l=a(6063),i=a(6960);function o(e){let{...t}=e;return(0,r.jsx)(n.bL,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,r.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,l.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",t),...a})}function x(e){let{className:t,children:a,showCloseButton:i=!0,...o}=e;return(0,r.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,r.jsx)(d,{}),(0,r.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,l.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",t),...o,children:[a,i&&(0,r.jsxs)(n.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(s.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,l.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function p(e){let{className:t,showCloseButton:a=!1,children:s,...o}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,l.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...o,children:[s,a&&(0,r.jsx)(n.bm,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function m(e){let{className:t,...a}=e;return(0,r.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,l.cn)("text-lg leading-none font-semibold",t),...a})}function h(e){let{className:t,...a}=e;return(0,r.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,l.cn)("text-sm text-muted-foreground",t),...a})}},8064:(e,t,a)=>{a.d(t,{b:()=>c,w:()=>o});var r=a(4130),s=a(7946);let n={info:"var(--system-green)",warn:"var(--system-orange)",error:"var(--system-red)",debug:"var(--text-tertiary)"},l={info:"rgba(48,209,88,0.12)",warn:"rgba(255,159,10,0.12)",error:"rgba(255,69,58,0.12)",debug:"var(--fill-secondary)"},i=[{key:"all",label:"All"},{key:"info",label:"Info"},{key:"warn",label:"Warn"},{key:"error",label:"Errors"}];function o(e,t){let a=e.match(/^(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s+\[(\w+)\]\s*(.*)$/);return a?{id:"log-".concat(t),timestamp:a[1],level:a[2].toLowerCase(),message:a[3]}:{id:"log-".concat(t),timestamp:"",level:"info",message:e}}function c(e){let{lines:t}=e,[a,c]=(0,s.useState)("all"),[d,x]=(0,s.useState)(""),[u,p]=(0,s.useState)(null),m=t.map(o),h=m.filter(e=>("all"===a||e.level===a)&&(!d||!!e.message.toLowerCase().includes(d.toLowerCase()))),v={all:m.length,info:m.filter(e=>"info"===e.level).length,warn:m.filter(e=>"warn"===e.level).length,error:m.filter(e=>"error"===e.level).length};return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center flex-wrap gap-[var(--space-2)] mb-[var(--space-3)]",children:[i.map(e=>{let t=a===e.key;return(0,r.jsxs)("button",{onClick:()=>c(e.key),className:"focus-ring flex items-center flex-shrink-0 rounded-[20px] py-[6px] px-[14px] text-[length:var(--text-footnote)] font-[var(--weight-medium)] border-none cursor-pointer gap-[var(--space-2)] transition-all duration-200 ease-[var(--ease-smooth)]",style:{...t?{background:"var(--accent-fill)",color:"var(--accent)",boxShadow:"0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)"}:{background:"var(--fill-secondary)",color:"var(--text-primary)"}},children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"font-[var(--weight-semibold)]",style:{color:t?"var(--accent)":"var(--text-secondary)"},children:v[e.key]})]},e.key)}),(0,r.jsx)("input",{type:"text",placeholder:"Search logs...",value:d,onChange:e=>x(e.target.value),className:"focus-ring ml-auto py-[6px] px-3 text-[length:var(--text-footnote)] rounded-[var(--radius-sm)] border border-[var(--separator)] bg-[var(--fill-secondary)] text-[var(--text-primary)] outline-none min-w-40 max-w-60"})]}),0===h.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-[200px] text-[var(--text-secondary)] gap-[var(--space-2)]",children:[(0,r.jsx)("span",{className:"text-[length:var(--text-subheadline)] font-[var(--weight-medium)]",children:0===m.length?"No log entries found":"No entries match this filter"}),(0,r.jsx)("span",{className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)]",children:0===m.length?"Log entries will appear here when available":"Try adjusting your filter or search"})]}):(0,r.jsx)("div",{className:"rounded-[var(--radius-md)] overflow-hidden bg-[var(--material-regular)]",style:{backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)"},children:h.map((e,t)=>{var a,s;let i=u===e.id,o=null!=(a=n[e.level])?a:"var(--text-tertiary)",c=e.message.length>120;return(0,r.jsxs)("div",{children:[t>0&&(0,r.jsx)("div",{className:"h-px bg-[var(--separator)] mx-[var(--space-4)]"}),(0,r.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":c?i:void 0,onClick:()=>c&&p(i?null:e.id),onKeyDown:t=>{c&&("Enter"===t.key||" "===t.key)&&(t.preventDefault(),p(i?null:e.id))},className:"flex items-center hover-bg focus-ring min-h-11 px-[var(--space-4)]",style:{cursor:c?"pointer":"default",background:"error"===e.level?"rgba(255,69,58,0.06)":void 0},children:[(0,r.jsx)("span",{className:"flex-shrink-0 rounded-full w-2 h-2",style:{background:o}}),e.timestamp&&(0,r.jsx)("span",{className:"flex-shrink-0 font-mono text-[length:var(--text-caption1)] text-[var(--text-tertiary)] ml-[var(--space-3)] min-w-[130px]",children:e.timestamp}),(0,r.jsx)("span",{className:"flex-shrink-0 text-[length:var(--text-caption2)] font-[var(--weight-semibold)] py-px px-1.5 rounded ml-[var(--space-2)] tracking-[0.04em] uppercase",style:{background:null!=(s=l[e.level])?s:"var(--fill-secondary)",color:o},children:e.level}),(0,r.jsx)("span",{className:"truncate text-[length:var(--text-footnote)] text-[var(--text-primary)] ml-[var(--space-3)] flex-1 min-w-0",children:c&&!i?e.message.slice(0,117)+"...":e.message}),c&&(0,r.jsx)("span",{"aria-hidden":"true",className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)] inline-block ml-[var(--space-2)] transition-transform duration-200 ease-[var(--ease-smooth)]",style:{transform:i?"rotate(90deg)":"rotate(0deg)"},children:"›"})]}),i&&c&&(0,r.jsx)("div",{className:"animate-slide-down px-[var(--space-4)] pb-[var(--space-4)]",children:(0,r.jsx)("div",{className:"rounded-[var(--radius-sm)] bg-[var(--fill-secondary)] p-[var(--space-3)] mt-[var(--space-2)]",children:(0,r.jsx)("pre",{className:"font-mono text-[length:var(--text-caption2)] text-[var(--text-secondary)] whitespace-pre-wrap break-words m-0 max-h-[300px] overflow-auto leading-[var(--leading-relaxed)]",children:e.message})})})]},e.id)})})]})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[192],{129:(e,t,a)=>{a.d(t,{r:()=>g});var r=a(4130),s=a(7946),n=a(9919),l=a(4052),i=a(262),o=a(4641),c=a(9152),d=a(4139),x=a(8574),u=a(4723),p=a(6960),m=a(6063);let h={success:n.A,error:l.A,warning:i.A,info:o.A},v={success:"text-[var(--system-green)]",error:"text-[var(--system-red)]",warning:"text-[var(--system-orange)]",info:"text-[var(--system-blue)]"};function g(){let{notifications:e,unreadCount:t,markAllRead:a,markRead:n,clearAll:l}=(0,u.E)(),[i,o]=(0,s.useState)(!1),g=(0,s.useRef)(null);return(0,s.useEffect)(()=>{if(i)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){g.current&&!g.current.contains(e.target)&&o(!1)}},[i]),(0,r.jsxs)("div",{ref:g,className:"relative",children:[(0,r.jsxs)(p.$,{onClick:()=>o(e=>!e),"aria-label":"Notifications".concat(t>0?" (".concat(t," unread)"):""),variant:"ghost",size:"icon-sm",className:"relative text-muted-foreground",children:[(0,r.jsx)(c.A,{size:18}),t>0&&(0,r.jsx)("span",{className:"absolute right-0.5 top-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[var(--system-red)] px-1 text-[10px] font-bold leading-none text-white",children:t>99?"99+":t})]}),i&&(0,r.jsxs)("div",{className:"animate-scale-up absolute right-0 top-[calc(100%+8px)] z-[200] flex max-h-[480px] w-[360px] max-w-[calc(100vw-1rem)] flex-col overflow-hidden rounded-[var(--radius-lg)] border border-border bg-[var(--material-thick)] shadow-[var(--shadow-overlay)] backdrop-blur-[40px]",children:[(0,r.jsxs)("div",{className:"flex shrink-0 items-center justify-between border-b border-border px-4 py-3",children:[(0,r.jsx)("span",{className:"text-[15px] font-semibold text-foreground",children:"Notifications"}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[t>0&&(0,r.jsxs)("button",{onClick:a,title:"Mark all as read",className:"flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-[var(--system-blue)] transition-colors hover:bg-accent",children:[(0,r.jsx)(d.A,{size:14}),"Read all"]}),e.length>0&&(0,r.jsx)("button",{onClick:()=>{l(),o(!1)},title:"Clear all",className:"flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,r.jsx)(x.A,{size:14})})]})]}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===e.length?(0,r.jsx)("div",{className:"px-4 py-8 text-center text-[13px] text-muted-foreground",children:"No notifications yet"}):e.map(e=>{let t=h[e.type];return(0,r.jsxs)("div",{onClick:()=>n(e.id),className:(0,m.cn)("flex cursor-pointer items-start gap-2.5 border-b border-border px-4 py-2.5 transition-colors hover:bg-accent",e.read?"bg-transparent":"bg-[var(--material-ultra-thin)]"),children:[(0,r.jsx)(t,{size:16,className:(0,m.cn)("mt-0.5 shrink-0",v[e.type])}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:(0,m.cn)("text-[13px] leading-[1.3] text-foreground",e.read?"font-normal":"font-semibold"),children:e.title}),(0,r.jsx)("div",{className:"mt-0.5 truncate text-xs leading-[1.3] text-[var(--text-secondary)]",children:e.message})]}),(0,r.jsx)("span",{className:"mt-0.5 shrink-0 whitespace-nowrap text-[11px] text-[var(--text-quaternary)]",children:function(e){let t=Math.floor((Date.now()-e)/1e3);return t<60?"just now":t<3600?"".concat(Math.floor(t/60),"m ago"):t<86400?"".concat(Math.floor(t/3600),"h ago"):"".concat(Math.floor(t/86400),"d ago")}(e.timestamp)}),!e.read&&(0,r.jsx)("span",{className:"mt-[5px] size-2 shrink-0 rounded-full bg-[var(--system-blue)]"})]},e.id)})})]})]})}},280:(e,t,a)=>{a.d(t,{z:()=>r});let r=[{id:"dark",label:"Dark",emoji:"\uD83C\uDF11"},{id:"glass",label:"Glass",emoji:"\uD83E\uDE9F"},{id:"color",label:"Color",emoji:"\uD83C\uDFA8"},{id:"light",label:"Light",emoji:"☀️"},{id:"system",label:"System",emoji:"⚙️"}]},3160:(e,t,a)=>{a.d(t,{Q6:()=>d,tS:()=>c,te:()=>o});var r=a(7459),s=a(7122),n=a(8045),l=a(5465),i=a(6654);function o(){return(0,r.I)({queryKey:l.l.sessions.all,queryFn:()=>i.F.getSessions()})}function c(){let e=(0,s.jE)();return(0,n.n)({mutationFn:e=>i.F.deleteSession(e),onSuccess:()=>e.invalidateQueries({queryKey:l.l.sessions.all})})}function d(){let e=(0,s.jE)();return(0,n.n)({mutationFn:e=>i.F.bulkDeleteSessions(e),onSuccess:()=>e.invalidateQueries({queryKey:l.l.sessions.all})})}},6063:(e,t,a)=>{a.d(t,{cn:()=>n});var r=a(451),s=a(1287);function n(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,s.QP)((0,r.$)(t))}},6960:(e,t,a)=>{a.d(t,{$:()=>o});var r=a(4130);a(7946);var s=a(4322),n=a(1271),l=a(6063);let i=(0,s.F)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:a="default",size:s="default",asChild:o=!1,...c}=e,d=o?n.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":a,"data-size":s,className:(0,l.cn)(i({variant:a,size:s,className:t})),...c})}},7192:(e,t,a)=>{a.d(t,{M:()=>e_,v:()=>eE});var r=a(4130),s=a(7053),n=a.n(s),l=a(7946),i=a(7614),o=a.n(i),c=a(2467),d=a(4722),x=a(597),u=a(1360),p=a(208),m=a(2231),h=a(8838),v=a(280),g=a(483),f=a(1004),b=a(8831),j=a(5254),y=a(4481),N=a(216),k=a(6088),w=a(1428);let A=[{href:"/",label:"Home",icon:g.A},{href:"/chat",label:"Chat",icon:f.A},{href:"/org",label:"Organization",icon:b.A},{href:"/kanban",label:"Kanban",icon:j.A},{href:"/cron",label:"Cron",icon:y.A},{href:"/logs",label:"Activity",icon:N.A},{href:"/skills",label:"Skills",icon:k.A},{href:"/settings",label:"Settings",icon:w.A}];var z=a(6063);function C(e){let{theme:t}=e;switch(t){case"light":return(0,r.jsx)(x.A,{size:18});case"dark":return(0,r.jsx)(u.A,{size:18});default:return(0,r.jsx)(p.A,{size:18})}}function S(){var e,t;let a=(0,c.usePathname)(),{theme:s,setTheme:n}=(0,h.D)(),{settings:i}=(0,d.t0)(),[o,x]=(0,l.useState)(!1),[u,p]=(0,l.useState)([]),[g,f]=(0,l.useState)(!1),b=null!=(e=i.portalEmoji)?e:"\uD83E\uDD16",j=null!=(t=i.portalName)?t:"Jinn";return(0,l.useEffect)(()=>{fetch("/api/instances").then(e=>e.json()).then(p).catch(()=>{})},[]),(0,r.jsxs)("aside",{onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),className:(0,z.cn)("fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col",o?"w-[200px]":"w-14"),children:[(0,r.jsxs)("div",{className:"flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4",children:[(0,r.jsx)("span",{className:"w-7 shrink-0 text-center text-2xl leading-none",children:b}),(0,r.jsx)("span",{className:(0,z.cn)("whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:j})]}),(0,r.jsx)("nav",{className:"flex flex-1 flex-col gap-0.5 px-2",children:A.map(e=>{let t="/"===e.href?"/"===a:a.startsWith(e.href),s=e.icon;return(0,r.jsxs)("a",{href:e.href,className:(0,z.cn)("group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors",t?"bg-[var(--accent-fill)] font-semibold text-[var(--accent)]":"text-muted-foreground hover:bg-accent hover:text-foreground"),"aria-label":e.label,"aria-current":t?"page":void 0,children:[(0,r.jsx)(s,{size:18,className:"shrink-0"}),(0,r.jsx)("span",{className:(0,z.cn)("transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:e.label})]},e.href)})}),u.length>1&&(0,r.jsxs)("div",{className:"relative shrink-0 px-2 pt-1",children:[(0,r.jsxs)("button",{onClick:()=>f(e=>!e),"aria-label":"Switch instance",className:"flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,r.jsx)(m.A,{size:18,className:"shrink-0"}),(0,r.jsx)("span",{className:(0,z.cn)("transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:"Switch"})]}),g&&o&&(0,r.jsx)("div",{className:"absolute bottom-full left-2 z-100 mb-1 min-w-[180px] rounded-xl border border-border bg-[var(--material-thick)] p-1 shadow-[var(--shadow-overlay)] backdrop-blur-xl",children:u.map(e=>(0,r.jsxs)("button",{onClick:()=>{!e.current&&e.running&&(window.location.href="http://localhost:".concat(e.port,"/chat")),f(!1)},className:(0,z.cn)("flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-[13px] transition-colors",e.current?"bg-[var(--accent-fill)] font-semibold text-[var(--accent)]":e.running?"text-foreground hover:bg-accent":"cursor-default text-[var(--text-quaternary)]"),children:[(0,r.jsx)("span",{children:e.name}),(0,r.jsx)("span",{className:"size-2 shrink-0 rounded-full",style:{background:e.running?"var(--system-green)":"var(--text-quaternary)"}})]},e.port))})]}),(0,r.jsx)("div",{className:"shrink-0 px-2 pb-3 pt-2",children:(0,r.jsxs)("button",{onClick:function(){let e=v.z.map(e=>e.id),t=e.indexOf(s);n(e[(t+1)%e.length])},"aria-label":"Theme: ".concat(s,". Click to cycle."),className:"flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,r.jsx)("span",{className:"shrink-0",children:(0,r.jsx)(C,{theme:s})}),(0,r.jsx)("span",{className:(0,z.cn)("capitalize transition-opacity duration-200",o?"opacity-100":"opacity-0"),children:s})]})})]})}var E=a(7103),F=a(6532),_=a(9309),L=a(841),B=a(1977),D=a(6429),I=a(7632);function q(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB,{"data-slot":"command",className:(0,z.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...a})}function R(e){let{className:t,...a}=e;return(0,r.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,r.jsx)(D.A,{className:"size-4 shrink-0 opacity-50"}),(0,r.jsx)(B.uB.Input,{"data-slot":"command-input",className:(0,z.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...a})]})}function W(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.List,{"data-slot":"command-list",className:(0,z.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...a})}function K(e){let{...t}=e;return(0,r.jsx)(B.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function O(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.Group,{"data-slot":"command-group",className:(0,z.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...a})}function J(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.Separator,{"data-slot":"command-separator",className:(0,z.cn)("-mx-1 h-px bg-border",t),...a})}function P(e){let{className:t,...a}=e;return(0,r.jsx)(B.uB.Item,{"data-slot":"command-item",className:(0,z.cn)("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",t),...a})}var G=a(7459),M=a(5465),T=a(6654),H=a(3160);let Y="jinn-command-recent";function $(){try{let e=localStorage.getItem(Y);return e?JSON.parse(e):[]}catch(e){return[]}}let Q=[{id:"page-home",label:"Dashboard",icon:g.A,href:"/"},{id:"page-chat",label:"Chat",icon:f.A,href:"/chat"},{id:"page-org",label:"Organization",icon:b.A,href:"/org"},{id:"page-kanban",label:"Kanban",icon:j.A,href:"/kanban"},{id:"page-cron",label:"Cron",icon:y.A,href:"/cron"},{id:"page-costs",label:"Costs",icon:E.A,href:"/costs"},{id:"page-logs",label:"Activity",icon:N.A,href:"/logs"},{id:"page-skills",label:"Skills",icon:k.A,href:"/skills"},{id:"page-settings",label:"Settings",icon:w.A,href:"/settings"},{id:"page-goals",label:"Goals",icon:F.A,href:"/goals"}];function V(){var e;let{settings:t}=(0,d.t0)(),a=null!=(e=t.portalName)?e:"Jinn",[s,n]=(0,l.useState)(!1),[i,o]=(0,l.useState)([]),x=(0,c.useRouter)(),{data:u}=(0,G.I)({queryKey:M.l.org.all,queryFn:()=>T.F.getOrg()}),{data:p}=(0,G.I)({queryKey:M.l.cron.all,queryFn:()=>T.F.getCronJobs()}),{data:m}=(0,H.te)(),{data:h}=(0,G.I)({queryKey:M.l.skills.all,queryFn:()=>T.F.getSkills()});(0,l.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&"k"===e.key&&(e.preventDefault(),n(e=>!e))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,l.useEffect)(()=>{s&&o($())},[s]);let v=(0,l.useCallback)((e,t)=>{let a=$().filter(e=>e.id!==t.id);a.unshift(t),localStorage.setItem(Y,JSON.stringify(a.slice(0,5))),n(!1),x.push(e)},[x]),g=Array.isArray(null==u?void 0:u.employees)?u.employees:[],j=Array.isArray(p)?p:[],N=Array.isArray(m)?m.slice(0,10):[],w=Array.isArray(h)?h.slice(0,10):[];return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(I.lG,{open:s,onOpenChange:n,children:(0,r.jsx)(I.Cf,{className:"p-0 gap-0 max-w-[560px]",children:(0,r.jsxs)(q,{className:"rounded-lg",children:[(0,r.jsx)(R,{placeholder:"Search ".concat(a,"...")}),(0,r.jsxs)(W,{children:[(0,r.jsx)(K,{children:"No results found."}),i.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(O,{heading:"Recent",children:i.map(e=>(0,r.jsxs)(P,{onSelect:()=>v(e.href,e),children:[(0,r.jsx)(_.A,{size:16,className:"mr-2 opacity-50"}),e.label]},e.id))}),(0,r.jsx)(J,{})]}),(0,r.jsx)(O,{heading:"Pages",children:Q.map(e=>(0,r.jsxs)(P,{onSelect:()=>v(e.href,{id:e.id,label:e.label,href:e.href,type:"page"}),children:[(0,r.jsx)(e.icon,{size:16,className:"mr-2 opacity-50"}),e.label]},e.id))}),(0,r.jsx)(O,{heading:"Actions",children:(0,r.jsxs)(P,{onSelect:()=>{n(!1),x.push("/chat")},children:[(0,r.jsx)(L.A,{size:16,className:"mr-2 opacity-50"}),"New Chat"]})}),g.length>0&&(0,r.jsx)(O,{heading:"Employees",children:g.slice(0,8).map(e=>(0,r.jsxs)(P,{onSelect:()=>v("/org",{id:"emp-".concat(e),label:e,href:"/org",type:"employee"}),children:[(0,r.jsx)(b.A,{size:16,className:"mr-2 opacity-50"}),e]},e))}),N.length>0&&(0,r.jsx)(O,{heading:"Recent Sessions",children:N.map(e=>{var t,a,s;let n=String(null!=(t=e.id)?t:""),l=String(null!=(s=null!=(a=e.title)?a:e.id)?s:"").slice(0,50);return(0,r.jsxs)(P,{onSelect:()=>v("/chat",{id:"session-".concat(n),label:l,href:"/chat",type:"session"}),children:[(0,r.jsx)(f.A,{size:16,className:"mr-2 opacity-50"}),l]},n)})}),j.length>0&&(0,r.jsx)(O,{heading:"Cron Jobs",children:j.slice(0,6).map(e=>{var t,a;let s=String(null!=(t=e.id)?t:""),n=String(null!=(a=e.name)?a:s);return(0,r.jsxs)(P,{onSelect:()=>v("/cron",{id:"cron-".concat(s),label:n,href:"/cron",type:"cron"}),children:[(0,r.jsx)(y.A,{size:16,className:"mr-2 opacity-50"}),n]},s)})}),w.length>0&&(0,r.jsx)(O,{heading:"Skills",children:w.map(e=>{var t;let a=String(null!=(t=e.name)?t:"");return(0,r.jsxs)(P,{onSelect:()=>v("/skills",{id:"skill-".concat(a),label:a,href:"/skills",type:"skill"}),children:[(0,r.jsx)(k.A,{size:16,className:"mr-2 opacity-50"}),a]},a)})})]})]})})})})}var U=a(9864),Z=a(1362),X=a(4535),ee=a(2845),et=a(8064);let ea="open-live-stream",er={info:{bg:"rgba(48,209,88,0.12)",color:"var(--system-green)",label:"INF"},warn:{bg:"rgba(255,159,10,0.12)",color:"var(--system-orange)",label:"WRN"},error:{bg:"rgba(255,69,58,0.12)",color:"var(--system-red)",label:"ERR"},debug:{bg:"var(--fill-secondary)",color:"var(--text-tertiary)",label:"DBG"}};function es(e){return"[".concat(e.timestamp,"] [").concat(e.level.toUpperCase(),"] ").concat(e.message)}function en(e){var t;let{entry:a}=e,[s,n]=(0,l.useState)(!1),i=null!=(t=er[a.level])?t:er.debug,o=a.message.length>100;return(0,r.jsxs)("div",{className:"border-b border-[var(--separator)] ".concat("error"===a.level?"bg-[rgba(255,69,58,0.03)]":""),children:[(0,r.jsxs)("button",{onClick:()=>o&&n(e=>!e),className:"flex items-center w-full px-3 py-[5px] gap-2 border-none bg-transparent text-left ".concat(o?"cursor-pointer":"cursor-default"),children:[o?(0,r.jsx)("span",{className:"text-[10px] text-[var(--text-tertiary)] shrink-0 inline-block transition-transform duration-150 ".concat(s?"rotate-90":"rotate-0"),children:"›"}):(0,r.jsx)("span",{className:"w-[10px] shrink-0"}),(0,r.jsx)("span",{className:"font-mono text-[var(--text-tertiary)] text-[10px] shrink-0 min-w-[58px]",children:function(e){if(!e)return"";let t=e.split(" ");return t.length>1?t[1]:e}(a.timestamp)}),(0,r.jsx)("span",{className:"text-[9px] font-bold tracking-wide px-[5px] py-px rounded-[3px] shrink-0 leading-[14px]",style:{background:i.bg,color:i.color},children:i.label}),(0,r.jsx)("span",{className:"font-mono text-[10px] leading-snug overflow-hidden text-ellipsis whitespace-nowrap flex-1 min-w-0 ".concat("error"===a.level?"text-[var(--system-red)]":"text-[var(--text-secondary)]"),children:a.message})]}),s&&o&&(0,r.jsx)("div",{className:"px-3 pt-1.5 pb-2 pl-[30px] border-t border-[var(--separator)] bg-[var(--fill-secondary)]",children:(0,r.jsx)("pre",{className:"font-mono text-[9px] leading-normal text-[var(--text-secondary)] whitespace-pre-wrap break-words m-0",children:a.message})})]})}function el(){let[e,t]=(0,l.useState)("hidden"),[a,s]=(0,l.useState)([]),[n,i]=(0,l.useState)(!0),[o,c]=(0,l.useState)(!1),[d,x]=(0,l.useState)(null),u=(0,l.useRef)(null),p=(0,l.useRef)(0),{events:m}=(0,ee.G)();(0,l.useEffect)(()=>{n&&u.current&&(u.current.scrollTop=u.current.scrollHeight)},[a,n]);let h=(0,l.useCallback)(()=>{if(!u.current)return;let{scrollTop:e,scrollHeight:t,clientHeight:a}=u.current;t-e-a<40?i(!0):i(!1)},[]);(0,l.useEffect)(()=>{"expanded"===e&&T.F.getLogs(50).then(e=>{var t;s((null!=(t=e.lines)?t:[]).map(et.w)),x(null)}).catch(e=>{x(e instanceof Error?e.message:"Failed to load logs")})},[e]),(0,l.useEffect)(()=>{if("hidden"===e||0===m.length)return;let t=m[m.length-1];if("log"===t.event&&"object"==typeof t.payload&&null!==t.payload){let e=t.payload,a=e.line||e.message||JSON.stringify(t.payload),r=(0,et.w)(a,p.current++);s(e=>[...e,r].slice(-500))}},[m,e]);let v=(0,l.useCallback)(()=>{t("hidden")},[]),g=(0,l.useCallback)(async()=>{let e=a.map(es).join("\n");await navigator.clipboard.writeText(e),c(!0),setTimeout(()=>c(!1),1500)},[a]);return((0,l.useEffect)(()=>{function e(){t("expanded")}return window.addEventListener(ea,e),()=>window.removeEventListener(ea,e)},[]),"hidden"===e)?null:"collapsed"===e?(0,r.jsxs)("button",{onClick:()=>t("expanded"),className:"focus-ring flex items-center fixed bottom-5 right-5 z-50 px-3.5 py-2 rounded-[var(--radius-pill)] border border-[var(--separator)] bg-[var(--material-regular)] cursor-pointer gap-2 backdrop-blur-[40px] backdrop-saturate-[1.8] shadow-[0_4px_24px_rgba(0,0,0,0.25)]",style:{WebkitBackdropFilter:"blur(40px) saturate(180%)"},children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--system-green)] shrink-0 animate-[lsw-pulse_2s_ease-in-out_infinite]"}),(0,r.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)] font-[var(--weight-medium)]",children:"Live Stream"}),a.length>0&&(0,r.jsx)("span",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] bg-[var(--fill-secondary)] px-1.5 py-px rounded-[var(--radius-sm)]",children:a.length}),(0,r.jsx)("style",{children:"@keyframes lsw-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }"})]}):(0,r.jsxs)("div",{className:"panel-slide-in fixed bottom-5 right-5 z-50 w-[440px] h-[400px] rounded-[var(--radius-lg)] border border-[var(--separator)] bg-[var(--material-regular)] flex flex-col overflow-hidden backdrop-blur-[40px] backdrop-saturate-[1.8] shadow-[0_8px_40px_rgba(0,0,0,0.35)]",style:{WebkitBackdropFilter:"blur(40px) saturate(180%)"},children:[(0,r.jsxs)("div",{className:"flex items-center shrink-0 px-3.5 py-2.5 border-b border-[var(--separator)] gap-2",children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--system-green)] shrink-0 animate-[lsw-pulse_2s_ease-in-out_infinite]"}),(0,r.jsx)("span",{className:"text-[length:var(--text-footnote)] font-[var(--weight-semibold)] text-[var(--text-primary)]",children:"Live Stream"}),a.length>0&&(0,r.jsxs)("span",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:[a.length," line",1!==a.length?"s":""]}),(0,r.jsxs)("div",{className:"ml-auto flex gap-1",children:[(0,r.jsx)("button",{onClick:g,title:"Copy all logs",disabled:0===a.length,className:"focus-ring w-7 h-7 flex items-center justify-center rounded-[var(--radius-sm)] border-none transition-all duration-150 ".concat(o?"bg-[var(--accent-fill)] text-[var(--accent)]":"bg-transparent text-[var(--text-tertiary)]"," ").concat(0===a.length?"cursor-default opacity-30":"cursor-pointer opacity-100"),children:(0,r.jsx)(U.A,{size:14})}),(0,r.jsx)("button",{onClick:()=>t("collapsed"),className:"focus-ring w-7 h-7 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer transition-colors duration-150",title:"Minimize",children:(0,r.jsx)(Z.A,{size:14})}),(0,r.jsx)("button",{onClick:v,className:"focus-ring w-7 h-7 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer transition-colors duration-150",title:"Close",children:(0,r.jsx)(X.A,{size:14})})]})]}),d&&(0,r.jsx)("div",{className:"px-3.5 py-1.5 bg-[rgba(255,69,58,0.06)] border-b border-[rgba(255,69,58,0.15)] text-[length:var(--text-caption2)] text-[var(--system-red)] shrink-0",children:d}),(0,r.jsx)("div",{ref:u,onScroll:h,className:"flex-1 min-h-0 overflow-y-auto overflow-x-hidden",children:0===a.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-[var(--text-secondary)] gap-[var(--space-2)] p-[var(--space-4)]",children:[(0,r.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-[var(--text-tertiary)]",children:(0,r.jsx)("polyline",{points:"22 12 18 12 15 21 9 3 6 12 2 12"})}),(0,r.jsx)("span",{className:"text-[length:var(--text-caption1)] font-[var(--weight-medium)]",children:"Waiting for log data..."})]}):(0,r.jsx)("div",{children:a.map(e=>(0,r.jsx)(en,{entry:e},e.id))})}),(0,r.jsx)("div",{className:"flex items-center shrink-0 px-3.5 py-2 border-t border-[var(--separator)] gap-2",children:!n&&a.length>0&&(0,r.jsx)("button",{onClick:()=>i(!0),className:"focus-ring px-2.5 py-1 rounded-[var(--radius-sm)] border-none cursor-pointer text-[length:var(--text-caption2)] font-[var(--weight-medium)] bg-[var(--fill-secondary)] text-[var(--text-secondary)]",children:"Scroll to bottom"})}),(0,r.jsx)("style",{children:"@keyframes lsw-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }"})]})}var ei=a(9444),eo=a(4139),ec=a(1100),ed=a(9357),ex=a(9605);let eu=[{label:"Red",value:"#EF4444"},{label:"Orange",value:"#F97316"},{label:"Amber",value:"#F59E0B"},{label:"Yellow",value:"#EAB308"},{label:"Lime",value:"#84CC16"},{label:"Green",value:"#22C55E"},{label:"Emerald",value:"#10B981"},{label:"Cyan",value:"#06B6D4"},{label:"Blue",value:"#3B82F6"},{label:"Indigo",value:"#6366F1"},{label:"Violet",value:"#8B5CF6"},{label:"Pink",value:"#EC4899"}],ep=[{icon:f.A,name:"Chat",desc:"Direct conversations with any employee"},{icon:b.A,name:"Organization",desc:"Visual org chart of your AI team"},{icon:ei.A,name:"Kanban",desc:"Task boards for work management"},{icon:y.A,name:"Cron",desc:"Scheduled jobs with status monitoring"},{icon:E.A,name:"Costs",desc:"Token usage and cost tracking"},{icon:N.A,name:"Activity",desc:"Real-time logs and event stream"}];function em(e){var t;let{forceOpen:a,onClose:s}=e,{settings:n,setPortalName:i,setOperatorName:o,setAccentColor:x,setLanguage:u}=(0,d.t0)(),{theme:p,setTheme:m}=(0,h.D)(),g=(0,c.useRouter)(),[f,b]=(0,l.useState)(!1),[j,y]=(0,l.useState)(0),[N,k]=(0,l.useState)("forward"),[w,A]=(0,l.useState)(""),[z,C]=(0,l.useState)(""),[S,E]=(0,l.useState)(null!=(t=n.language)?t:"English");(0,l.useEffect)(()=>{if(a){var e,t;A(null!=(e=n.portalName)?e:""),C(null!=(t=n.operatorName)?t:""),b(!0);return}localStorage.getItem("jinn-onboarded")||T.F.getOnboarding().then(e=>{e.onboarded?localStorage.setItem("jinn-onboarded","true"):e.needed&&b(!0)}).catch(()=>{localStorage.getItem("jinn-onboarded")||b(!0)})},[a]);let F=(0,l.useCallback)(()=>{0===j&&(i(w||null),o(z||null),u(S||"English")),j<3?(k("forward"),y(j+1)):(T.F.completeOnboarding({portalName:w||void 0,operatorName:z||void 0,language:S||void 0}).catch(()=>{}),a||localStorage.setItem("jinn-onboarded","true"),b(!1),null==s||s(),g.push("/chat"))},[j,w,z,a,s,i,o,g]),_=(0,l.useCallback)(()=>{j>0&&(k("back"),y(j-1))},[j]);return f?(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",style:{backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)"},children:(0,r.jsxs)("div",{className:"animate-fade-in w-full max-w-[520px] mx-[var(--space-4)] bg-[var(--material-regular)] rounded-[var(--radius-lg)] border border-[var(--separator)] overflow-hidden flex flex-col max-h-[90vh]",style:{boxShadow:"0 24px 48px rgba(0,0,0,0.3)"},children:[(0,r.jsx)("div",{className:"flex justify-center gap-2 pt-[var(--space-4)] px-[var(--space-4)]",children:Array.from({length:4}).map((e,t)=>(0,r.jsx)("div",{className:"h-2 rounded-full transition-all duration-200",style:{width:t===j?24:8,background:t===j||t<j?"var(--accent)":"var(--fill-tertiary)",opacity:t<j?.5:1}},t))}),(0,r.jsxs)("div",{className:"px-[var(--space-5)] pt-[var(--space-5)] pb-[var(--space-4)] overflow-y-auto flex-1",children:[0===j&&(0,r.jsxs)("div",{className:"animate-fade-in text-center",children:[(0,r.jsx)("div",{className:"text-[56px] mb-[var(--space-3)] leading-none",children:"\ud83e\udd16"}),(0,r.jsxs)("h2",{className:"text-[length:var(--text-large-title)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-2)]",children:["Welcome to ",w||"Jinn"]}),(0,r.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--text-secondary)] leading-[var(--leading-relaxed)] max-w-[400px] mx-auto mb-[var(--space-5)]",children:"Your AI team management portal. Let's get you set up."}),(0,r.jsxs)("div",{className:"flex flex-col gap-[var(--space-3)] text-left",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Name"}),(0,r.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-3 py-2 text-[length:var(--text-body)] text-[var(--text-primary)]",placeholder:"Jinn",value:w,onChange:e=>A(e.target.value),autoFocus:!0})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"What should we call you?"}),(0,r.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-3 py-2 text-[length:var(--text-body)] text-[var(--text-primary)]",placeholder:"Your Name",value:z,onChange:e=>C(e.target.value)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Preferred Language"}),(0,r.jsxs)("select",{value:S,onChange:e=>E(e.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-3 py-2 text-[length:var(--text-body)] text-[var(--text-primary)] cursor-pointer",children:[(0,r.jsx)("option",{value:"English",children:"English"}),(0,r.jsx)("option",{value:"Spanish",children:"Spanish"}),(0,r.jsx)("option",{value:"French",children:"French"}),(0,r.jsx)("option",{value:"German",children:"German"}),(0,r.jsx)("option",{value:"Portuguese",children:"Portuguese"}),(0,r.jsx)("option",{value:"Italian",children:"Italian"}),(0,r.jsx)("option",{value:"Dutch",children:"Dutch"}),(0,r.jsx)("option",{value:"Russian",children:"Russian"}),(0,r.jsx)("option",{value:"Chinese",children:"Chinese"}),(0,r.jsx)("option",{value:"Japanese",children:"Japanese"}),(0,r.jsx)("option",{value:"Korean",children:"Korean"}),(0,r.jsx)("option",{value:"Arabic",children:"Arabic"}),(0,r.jsx)("option",{value:"Hindi",children:"Hindi"}),(0,r.jsx)("option",{value:"Bulgarian",children:"Bulgarian"})]})]})]})]},"step-0"),1===j&&(0,r.jsxs)("div",{className:"animate-fade-in",children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"Choose your theme"}),(0,r.jsx)("p",{className:"text-[length:var(--text-subheadline)] text-[var(--text-tertiary)] mb-[var(--space-4)]",children:"Pick the look that suits you. This applies live."}),(0,r.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(130px,1fr))] gap-[var(--space-3)]",children:v.z.map(e=>{let t=p===e.id;return(0,r.jsxs)("button",{onClick:()=>m(e.id),className:"flex flex-col items-center gap-[var(--space-2)] px-[var(--space-3)] py-[var(--space-4)] rounded-[var(--radius-md)] bg-[var(--fill-quaternary)] cursor-pointer transition-all duration-150",style:{border:t?"2px solid var(--accent)":"2px solid var(--separator)"},children:[(0,r.jsx)("span",{className:"text-[28px]",children:e.emoji}),(0,r.jsx)("span",{className:"text-[length:var(--text-footnote)]",style:{fontWeight:t?"var(--weight-semibold)":"var(--weight-medium)",color:t?"var(--accent)":"var(--text-secondary)"},children:e.label})]},e.id)})})]},"step-1"),2===j&&(0,r.jsxs)("div",{className:"animate-fade-in",children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"Pick an accent color"}),(0,r.jsx)("p",{className:"text-[length:var(--text-subheadline)] text-[var(--text-tertiary)] mb-[var(--space-4)]",children:"Personalize with your favorite color."}),(0,r.jsx)("div",{className:"grid grid-cols-6 gap-[var(--space-3)] justify-items-center",children:eu.map(e=>{let t=n.accentColor===e.value;return(0,r.jsx)("button",{onClick:()=>x(e.value),"aria-label":e.label,title:e.label,className:"w-10 h-10 rounded-full border-none cursor-pointer flex items-center justify-center transition-all duration-100",style:{background:e.value,outline:t?"3px solid ".concat(e.value):"none",outlineOffset:3},children:t&&(0,r.jsx)(eo.A,{size:18,color:"#fff",strokeWidth:3})},e.value)})})]},"step-2"),3===j&&(0,r.jsxs)("div",{className:"animate-fade-in",children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"You're all set!"}),(0,r.jsx)("p",{className:"text-[length:var(--text-subheadline)] text-[var(--text-tertiary)] mb-[var(--space-4)]",children:"Here's what you can do."}),(0,r.jsx)("div",{className:"flex flex-col gap-[var(--space-2)]",children:ep.map(e=>{let t=e.icon;return(0,r.jsxs)("div",{className:"flex items-center gap-[var(--space-3)] p-[var(--space-3)] rounded-[var(--radius-md)] bg-[var(--fill-quaternary)] border border-[var(--separator)]",children:[(0,r.jsx)("div",{className:"w-9 h-9 rounded-lg bg-[var(--accent-fill)] flex items-center justify-center shrink-0",children:(0,r.jsx)(t,{size:18,className:"text-[var(--accent)]"})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[length:var(--text-subheadline)] font-[var(--weight-semibold)] text-[var(--text-primary)]",children:e.name}),(0,r.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:e.desc})]})]},e.name)})})]},"step-3")]}),(0,r.jsxs)("div",{className:"flex justify-between items-center px-[var(--space-5)] pb-[var(--space-5)] pt-[var(--space-3)] gap-[var(--space-3)]",children:[j>0?(0,r.jsxs)("button",{onClick:_,className:"px-[var(--space-4)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--fill-tertiary)] text-[var(--text-secondary)] border-none cursor-pointer text-[length:var(--text-subheadline)] font-[var(--weight-medium)] transition-all duration-150 inline-flex items-center gap-1.5",children:[(0,r.jsx)(ec.A,{size:16}),"Back"]}):(0,r.jsx)("div",{}),(0,r.jsxs)("button",{onClick:F,className:"px-[var(--space-6)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none cursor-pointer text-[length:var(--text-subheadline)] font-[var(--weight-semibold)] transition-all duration-150 inline-flex items-center gap-1.5",children:[0===j?"Next":3===j?"Get Started":"Next",3===j?(0,r.jsx)(ed.A,{size:16}):(0,r.jsx)(ex.A,{size:16})]})]})]})}):null}var eh=a(129),ev=a(4723),eg=a(9919),ef=a(4052),eb=a(262),ej=a(4641);let ey={success:eg.A,error:ef.A,warning:eb.A,info:ej.A},eN={success:"var(--system-green)",error:"var(--system-red)",warning:"var(--system-orange)",info:"var(--system-blue)"};function ek(){let{toasts:e,dismissToast:t}=(0,ev.E)();return 0===e.length?null:(0,r.jsx)("div",{className:"fixed top-4 right-4 z-[9999] flex flex-col gap-2 max-w-[380px] w-full pointer-events-none",children:e.map(e=>{let a=ey[e.type],s=eN[e.type];return(0,r.jsxs)("div",{className:"animate-slide-down pointer-events-auto flex items-start gap-2.5 px-3.5 py-3 bg-[var(--material-thick)] backdrop-blur-[40px] backdrop-saturate-[1.8] border border-[var(--separator)] rounded-[var(--radius-md)] shadow-[var(--shadow-overlay)]",style:{WebkitBackdropFilter:"blur(40px) saturate(180%)"},children:[(0,r.jsx)(a,{size:18,className:"shrink-0 mt-px",style:{color:s}}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("div",{className:"text-[13px] font-semibold text-[var(--text-primary)] leading-[1.3]",children:e.title}),(0,r.jsx)("div",{className:"text-xs text-[var(--text-secondary)] mt-0.5 leading-[1.3] overflow-hidden text-ellipsis whitespace-nowrap",children:e.message}),(0,r.jsx)("div",{className:"text-[11px] text-[var(--text-quaternary)] mt-1",children:new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,r.jsx)("button",{onClick:()=>t(e.id),"aria-label":"Dismiss",className:"bg-transparent border-none cursor-pointer text-[var(--text-tertiary)] p-0.5 shrink-0",children:(0,r.jsx)(X.A,{size:14})})]},e.id)})})}var ew=a(9327),eA=a(8565);function ez(){let{items:e}=(0,eA.i)();return 0===e.length?null:1===e.length?(0,r.jsx)("h1",{className:"text-lg font-semibold text-[var(--text-primary)] tracking-tight",children:e[0].label}):(0,r.jsx)("nav",{className:"flex items-center gap-1.5 text-sm","aria-label":"Breadcrumb",children:e.map((t,a)=>{let s=a===e.length-1;return(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[a>0&&(0,r.jsx)(ew.A,{size:14,className:"text-[var(--text-quaternary)]"}),s||!t.href?(0,r.jsx)("span",{className:s?"text-[var(--text-primary)] font-medium":"text-[var(--text-tertiary)]",children:t.label}):(0,r.jsx)(o(),{href:t.href,className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)] transition-colors",children:t.label})]},a)})})}var eC=a(3198);function eS(e){var t,a;let{actions:s}=e,[i,x]=(0,l.useState)(!1),u=(0,c.usePathname)(),{settings:p}=(0,d.t0)(),m=null!=(t=p.portalEmoji)?t:"\uD83E\uDD16",h=null!=(a=p.portalName)?a:"Jinn";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden",children:[(0,r.jsx)("button",{onClick:()=>x(!0),"aria-label":"Open menu",className:"jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-accent",children:(0,r.jsx)(eC.A,{size:20})}),(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center",children:[(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 mr-1.5 text-lg",children:m}),(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground",children:h})]}),(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex items-center gap-1",children:[s,(0,r.jsx)(eh.r,{})]})]}),i&&(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 fixed inset-0 z-100 lg:hidden",children:[(0,r.jsx)("div",{onClick:()=>x(!1),className:"jsx-906cbf20b7aa1777 absolute inset-0 bg-black/50 backdrop-blur-[1px]"}),(0,r.jsxs)("nav",{className:"jsx-906cbf20b7aa1777 absolute inset-y-0 left-0 flex w-[260px] animate-slide-in flex-col border-r border-border bg-[var(--bg-secondary)]",children:[(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex items-center justify-between border-b border-border px-3.5 py-3",children:[(0,r.jsxs)("div",{className:"jsx-906cbf20b7aa1777 flex items-center gap-2",children:[(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 text-[22px]",children:m}),(0,r.jsx)("span",{className:"jsx-906cbf20b7aa1777 text-base font-semibold text-foreground",children:h})]}),(0,r.jsx)("button",{onClick:()=>x(!1),"aria-label":"Close menu",className:"jsx-906cbf20b7aa1777 inline-flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,r.jsx)(X.A,{size:18})})]}),(0,r.jsx)("div",{className:"jsx-906cbf20b7aa1777 flex flex-1 flex-col gap-1 p-2",children:A.map(e=>{let t="/"===e.href?"/"===u:u.startsWith(e.href),a=e.icon;return(0,r.jsxs)(o(),{href:e.href,onClick:()=>x(!1),className:(0,z.cn)("flex h-11 items-center gap-3 rounded-[10px] px-3.5 text-[15px] transition-colors",t?"bg-[var(--accent-fill)] font-semibold text-[var(--accent)]":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,r.jsx)(a,{size:18,className:"jsx-906cbf20b7aa1777 shrink-0"}),e.label]},e.href)})})]})]}),(0,r.jsx)(n(),{id:"906cbf20b7aa1777",children:"@keyframes slideInLeft{from{transform:translatex(-100%)}to{transform:translatex(0)}}"})]})}function eE(e){let{children:t}=e;return(0,r.jsxs)("div",{className:"hidden items-center gap-2 lg:flex",children:[t,(0,r.jsx)(eh.r,{})]})}function eF(){let{items:e}=(0,eA.i)();return 0===e.length?null:(0,r.jsx)("div",{className:"hidden h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-5 lg:flex",children:(0,r.jsx)(ez,{})})}function e_(e){let{children:t,mobileHeaderActions:a}=e;return(0,r.jsxs)("div",{className:"flex h-dvh overflow-hidden bg-background",children:[(0,r.jsx)(S,{}),(0,r.jsx)(V,{}),(0,r.jsxs)("main",{className:"flex-1 overflow-hidden flex flex-col lg:ml-[56px]",children:[(0,r.jsx)(eS,{actions:a}),(0,r.jsx)(eF,{}),(0,r.jsx)("div",{className:"flex-1 overflow-hidden",children:t})]}),(0,r.jsx)(ek,{}),(0,r.jsx)(el,{}),(0,r.jsx)(em,{})]})}},7632:(e,t,a)=>{a.d(t,{Cf:()=>x,Es:()=>p,L3:()=>m,c7:()=>u,lG:()=>o,rr:()=>h});var r=a(4130);a(7946);var s=a(4535),n=a(2535),l=a(6063),i=a(6960);function o(e){let{...t}=e;return(0,r.jsx)(n.bL,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,r.jsx)(n.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,l.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",t),...a})}function x(e){let{className:t,children:a,showCloseButton:i=!0,...o}=e;return(0,r.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,r.jsx)(d,{}),(0,r.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,l.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",t),...o,children:[a,i&&(0,r.jsxs)(n.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(s.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,l.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function p(e){let{className:t,showCloseButton:a=!1,children:s,...o}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,l.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...o,children:[s,a&&(0,r.jsx)(n.bm,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function m(e){let{className:t,...a}=e;return(0,r.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,l.cn)("text-lg leading-none font-semibold",t),...a})}function h(e){let{className:t,...a}=e;return(0,r.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,l.cn)("text-sm text-muted-foreground",t),...a})}},8064:(e,t,a)=>{a.d(t,{b:()=>c,w:()=>o});var r=a(4130),s=a(7946);let n={info:"var(--system-green)",warn:"var(--system-orange)",error:"var(--system-red)",debug:"var(--text-tertiary)"},l={info:"rgba(48,209,88,0.12)",warn:"rgba(255,159,10,0.12)",error:"rgba(255,69,58,0.12)",debug:"var(--fill-secondary)"},i=[{key:"all",label:"All"},{key:"info",label:"Info"},{key:"warn",label:"Warn"},{key:"error",label:"Errors"}];function o(e,t){let a=e.match(/^(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s+\[(\w+)\]\s*(.*)$/);return a?{id:"log-".concat(t),timestamp:a[1],level:a[2].toLowerCase(),message:a[3]}:{id:"log-".concat(t),timestamp:"",level:"info",message:e}}function c(e){let{lines:t}=e,[a,c]=(0,s.useState)("all"),[d,x]=(0,s.useState)(""),[u,p]=(0,s.useState)(null),m=t.map(o),h=m.filter(e=>("all"===a||e.level===a)&&(!d||!!e.message.toLowerCase().includes(d.toLowerCase()))),v={all:m.length,info:m.filter(e=>"info"===e.level).length,warn:m.filter(e=>"warn"===e.level).length,error:m.filter(e=>"error"===e.level).length};return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center flex-wrap gap-[var(--space-2)] mb-[var(--space-3)]",children:[i.map(e=>{let t=a===e.key;return(0,r.jsxs)("button",{onClick:()=>c(e.key),className:"focus-ring flex items-center flex-shrink-0 rounded-[20px] py-[6px] px-[14px] text-[length:var(--text-footnote)] font-[var(--weight-medium)] border-none cursor-pointer gap-[var(--space-2)] transition-all duration-200 ease-[var(--ease-smooth)]",style:{...t?{background:"var(--accent-fill)",color:"var(--accent)",boxShadow:"0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)"}:{background:"var(--fill-secondary)",color:"var(--text-primary)"}},children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"font-[var(--weight-semibold)]",style:{color:t?"var(--accent)":"var(--text-secondary)"},children:v[e.key]})]},e.key)}),(0,r.jsx)("input",{type:"text",placeholder:"Search logs...",value:d,onChange:e=>x(e.target.value),className:"focus-ring ml-auto py-[6px] px-3 text-[length:var(--text-footnote)] rounded-[var(--radius-sm)] border border-[var(--separator)] bg-[var(--fill-secondary)] text-[var(--text-primary)] outline-none min-w-40 max-w-60"})]}),0===h.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center h-[200px] text-[var(--text-secondary)] gap-[var(--space-2)]",children:[(0,r.jsx)("span",{className:"text-[length:var(--text-subheadline)] font-[var(--weight-medium)]",children:0===m.length?"No log entries found":"No entries match this filter"}),(0,r.jsx)("span",{className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)]",children:0===m.length?"Log entries will appear here when available":"Try adjusting your filter or search"})]}):(0,r.jsx)("div",{className:"rounded-[var(--radius-md)] overflow-hidden bg-[var(--material-regular)]",style:{backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)"},children:h.map((e,t)=>{var a,s;let i=u===e.id,o=null!=(a=n[e.level])?a:"var(--text-tertiary)",c=e.message.length>120;return(0,r.jsxs)("div",{children:[t>0&&(0,r.jsx)("div",{className:"h-px bg-[var(--separator)] mx-[var(--space-4)]"}),(0,r.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":c?i:void 0,onClick:()=>c&&p(i?null:e.id),onKeyDown:t=>{c&&("Enter"===t.key||" "===t.key)&&(t.preventDefault(),p(i?null:e.id))},className:"flex items-center hover-bg focus-ring min-h-11 px-[var(--space-4)]",style:{cursor:c?"pointer":"default",background:"error"===e.level?"rgba(255,69,58,0.06)":void 0},children:[(0,r.jsx)("span",{className:"flex-shrink-0 rounded-full w-2 h-2",style:{background:o}}),e.timestamp&&(0,r.jsx)("span",{className:"flex-shrink-0 font-mono text-[length:var(--text-caption1)] text-[var(--text-tertiary)] ml-[var(--space-3)] min-w-[130px]",children:e.timestamp}),(0,r.jsx)("span",{className:"flex-shrink-0 text-[length:var(--text-caption2)] font-[var(--weight-semibold)] py-px px-1.5 rounded ml-[var(--space-2)] tracking-[0.04em] uppercase",style:{background:null!=(s=l[e.level])?s:"var(--fill-secondary)",color:o},children:e.level}),(0,r.jsx)("span",{className:"truncate text-[length:var(--text-footnote)] text-[var(--text-primary)] ml-[var(--space-3)] flex-1 min-w-0",children:c&&!i?e.message.slice(0,117)+"...":e.message}),c&&(0,r.jsx)("span",{"aria-hidden":"true",className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)] inline-block ml-[var(--space-2)] transition-transform duration-200 ease-[var(--ease-smooth)]",style:{transform:i?"rotate(90deg)":"rotate(0deg)"},children:"›"})]}),i&&c&&(0,r.jsx)("div",{className:"animate-slide-down px-[var(--space-4)] pb-[var(--space-4)]",children:(0,r.jsx)("div",{className:"rounded-[var(--radius-sm)] bg-[var(--fill-secondary)] p-[var(--space-3)] mt-[var(--space-2)]",children:(0,r.jsx)("pre",{className:"font-mono text-[length:var(--text-caption2)] text-[var(--text-secondary)] whitespace-pre-wrap break-words m-0 max-h-[300px] overflow-auto leading-[var(--leading-relaxed)]",children:e.message})})})]},e.id)})})]})}}}]);
@@ -1 +1 @@
1
- <!DOCTYPE html><!--astVwZfaNwQEC0C3qtVHe--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-637478e5d2259005.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-277bf3022d16e74f.js" async=""></script><script src="/_next/static/chunks/app/layout-45d8b9cc84f9443f.js" async=""></script><script src="/_next/static/chunks/51-43ce350b707e6b06.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/865-b4eb9a132b937321.js" async=""></script><script src="/_next/static/chunks/192-3064c98adfeef88c.js" async=""></script><script src="/_next/static/chunks/app/chat/page-d9b12d7effe66c59.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><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex h-dvh overflow-hidden bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Chat" aria-current="page"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="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 class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-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-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><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-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="flex h-full items-center justify-center text-muted-foreground">Loading...</div></div></main></div><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.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[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"177\",\"static/chunks/app/layout-45d8b9cc84f9443f.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4527,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-43ce350b707e6b06.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"865\",\"static/chunks/865-b4eb9a132b937321.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"192\",\"static/chunks/192-3064c98adfeef88c.js\",\"457\",\"static/chunks/app/chat/page-d9b12d7effe66c59.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"astVwZfaNwQEC0C3qtVHe\",\"p\":\"\",\"c\":[\"\",\"chat\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"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\":[\"chat\",[\"$\",\"$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><!--er4Sne2nYT8t4rNVzckgy--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-637478e5d2259005.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-277bf3022d16e74f.js" async=""></script><script src="/_next/static/chunks/app/layout-45d8b9cc84f9443f.js" async=""></script><script src="/_next/static/chunks/51-43ce350b707e6b06.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/865-b4eb9a132b937321.js" async=""></script><script src="/_next/static/chunks/192-28e0cb7a172d804d.js" async=""></script><script src="/_next/static/chunks/app/chat/page-d9b12d7effe66c59.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><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex h-dvh overflow-hidden bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Chat" aria-current="page"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="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 class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-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-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><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-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="flex h-full items-center justify-center text-muted-foreground">Loading...</div></div></main></div><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.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[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"177\",\"static/chunks/app/layout-45d8b9cc84f9443f.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4527,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-43ce350b707e6b06.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"865\",\"static/chunks/865-b4eb9a132b937321.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"192\",\"static/chunks/192-28e0cb7a172d804d.js\",\"457\",\"static/chunks/app/chat/page-d9b12d7effe66c59.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"er4Sne2nYT8t4rNVzckgy\",\"p\":\"\",\"c\":[\"\",\"chat\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"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\":[\"chat\",[\"$\",\"$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>
package/dist/web/chat.txt CHANGED
@@ -3,7 +3,7 @@
3
3
  3:I[1015,[],""]
4
4
  4:I[3912,[],""]
5
5
  5:I[3538,[],"ClientPageRoot"]
6
- 6:I[4527,["625","static/chunks/625-93dc90080662b8f4.js","51","static/chunks/51-43ce350b707e6b06.js","458","static/chunks/458-85ba1833ffcc2e6c.js","865","static/chunks/865-b4eb9a132b937321.js","155","static/chunks/155-277bf3022d16e74f.js","192","static/chunks/192-3064c98adfeef88c.js","457","static/chunks/app/chat/page-d9b12d7effe66c59.js"],"default"]
6
+ 6:I[4527,["625","static/chunks/625-93dc90080662b8f4.js","51","static/chunks/51-43ce350b707e6b06.js","458","static/chunks/458-85ba1833ffcc2e6c.js","865","static/chunks/865-b4eb9a132b937321.js","155","static/chunks/155-277bf3022d16e74f.js","192","static/chunks/192-28e0cb7a172d804d.js","457","static/chunks/app/chat/page-d9b12d7effe66c59.js"],"default"]
7
7
  9:I[6862,[],"OutletBoundary"]
8
8
  b:I[1475,[],"AsyncMetadataOutlet"]
9
9
  d:I[6862,[],"ViewportBoundary"]
@@ -11,7 +11,7 @@ f:I[6862,[],"MetadataBoundary"]
11
11
  10:"$Sreact.suspense"
12
12
  12:I[1389,[],""]
13
13
  :HL["/_next/static/css/92635e77ae2cd8fd.css","style"]
14
- 0:{"P":null,"b":"astVwZfaNwQEC0C3qtVHe","p":"","c":["","chat"],"i":false,"f":[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/92635e77ae2cd8fd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","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":["chat",["$","$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}
14
+ 0:{"P":null,"b":"er4Sne2nYT8t4rNVzckgy","p":"","c":["","chat"],"i":false,"f":[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/92635e77ae2cd8fd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","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":["chat",["$","$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
17
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--astVwZfaNwQEC0C3qtVHe--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-637478e5d2259005.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-277bf3022d16e74f.js" async=""></script><script src="/_next/static/chunks/app/layout-45d8b9cc84f9443f.js" async=""></script><script src="/_next/static/chunks/51-43ce350b707e6b06.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/192-3064c98adfeef88c.js" async=""></script><script src="/_next/static/chunks/app/cron/page-03f6c20a2336f185.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 bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Cron" aria-current="page"><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 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="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 class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-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-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><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-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="h-full flex flex-col overflow-hidden bg-[var(--bg)]"><header class="flex-shrink-0 bg-[var(--material-regular)] border-b border-[var(--separator)] px-[var(--space-6)] py-[var(--space-4)]"><div class="flex items-center justify-between"><div><h1 class="text-[length:var(--text-title1)] font-bold text-[var(--text-primary)] tracking-tight leading-[1.2]">Cron Jobs</h1></div><div class="hidden items-center gap-2 lg:flex"><div class="flex items-center gap-[var(--space-3)]"><span class="text-[length:var(--text-caption1)] text-[var(--text-tertiary)]">Updated <!-- -->just now</span><button aria-label="Refresh cron data" class="w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2v6h-6"></path><path d="M3 12a9 9 0 0 1 15-6.7L21 8"></path><path d="M3 22v-6h6"></path><path d="M21 12a9 9 0 0 1-15 6.7L3 16"></path></svg></button></div><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><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-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div></header><div class="flex-1 overflow-y-auto px-[var(--space-6)] pt-[var(--space-4)] pb-[var(--space-6)]"><div><div class="grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)]"><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.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[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"177\",\"static/chunks/app/layout-45d8b9cc84f9443f.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4031,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-43ce350b707e6b06.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"192\",\"static/chunks/192-3064c98adfeef88c.js\",\"271\",\"static/chunks/app/cron/page-03f6c20a2336f185.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"astVwZfaNwQEC0C3qtVHe\",\"p\":\"\",\"c\":[\"\",\"cron\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"cron\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"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\":[\"cron\",[\"$\",\"$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><!--er4Sne2nYT8t4rNVzckgy--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-637478e5d2259005.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-277bf3022d16e74f.js" async=""></script><script src="/_next/static/chunks/app/layout-45d8b9cc84f9443f.js" async=""></script><script src="/_next/static/chunks/51-43ce350b707e6b06.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/192-28e0cb7a172d804d.js" async=""></script><script src="/_next/static/chunks/app/cron/page-03f6c20a2336f185.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 bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Cron" aria-current="page"><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 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><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 shrink-0" 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><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="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 shrink-0" aria-hidden="true"><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 class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="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 class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-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-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><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-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="h-full flex flex-col overflow-hidden bg-[var(--bg)]"><header class="flex-shrink-0 bg-[var(--material-regular)] border-b border-[var(--separator)] px-[var(--space-6)] py-[var(--space-4)]"><div class="flex items-center justify-between"><div><h1 class="text-[length:var(--text-title1)] font-bold text-[var(--text-primary)] tracking-tight leading-[1.2]">Cron Jobs</h1></div><div class="hidden items-center gap-2 lg:flex"><div class="flex items-center gap-[var(--space-3)]"><span class="text-[length:var(--text-caption1)] text-[var(--text-tertiary)]">Updated <!-- -->just now</span><button aria-label="Refresh cron data" class="w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2v6h-6"></path><path d="M3 12a9 9 0 0 1 15-6.7L21 8"></path><path d="M3 22v-6h6"></path><path d="M21 12a9 9 0 0 1-15 6.7L3 16"></path></svg></button></div><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><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-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div></header><div class="flex-1 overflow-y-auto px-[var(--space-6)] pt-[var(--space-4)] pb-[var(--space-6)]"><div><div class="grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)]"><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.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[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"177\",\"static/chunks/app/layout-45d8b9cc84f9443f.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4031,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-43ce350b707e6b06.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"192\",\"static/chunks/192-28e0cb7a172d804d.js\",\"271\",\"static/chunks/app/cron/page-03f6c20a2336f185.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"er4Sne2nYT8t4rNVzckgy\",\"p\":\"\",\"c\":[\"\",\"cron\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"cron\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"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\":[\"cron\",[\"$\",\"$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>