jinn-cli 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cli/chrome-allow.d.ts.map +1 -1
- package/dist/src/cli/chrome-allow.js +14 -5
- package/dist/src/cli/chrome-allow.js.map +1 -1
- package/dist/src/cli/list.js +1 -1
- package/dist/src/cli/list.js.map +1 -1
- package/dist/src/cli/nuke.js +2 -2
- package/dist/src/cli/nuke.js.map +1 -1
- package/dist/src/cli/setup.d.ts.map +1 -1
- package/dist/src/cli/setup.js +2 -1
- package/dist/src/cli/setup.js.map +1 -1
- package/dist/src/connectors/slack/index.d.ts +9 -1
- package/dist/src/connectors/slack/index.d.ts.map +1 -1
- package/dist/src/connectors/slack/index.js +172 -8
- package/dist/src/connectors/slack/index.js.map +1 -1
- package/dist/src/connectors/slack/threads.d.ts +1 -4
- package/dist/src/connectors/slack/threads.d.ts.map +1 -1
- package/dist/src/connectors/slack/threads.js +17 -7
- package/dist/src/connectors/slack/threads.js.map +1 -1
- package/dist/src/connectors/slack/threads.test.js +42 -8
- package/dist/src/connectors/slack/threads.test.js.map +1 -1
- package/dist/src/cron/runner.d.ts.map +1 -1
- package/dist/src/cron/runner.js +16 -5
- package/dist/src/cron/runner.js.map +1 -1
- package/dist/src/engines/claude.d.ts.map +1 -1
- package/dist/src/engines/claude.js +19 -4
- package/dist/src/engines/claude.js.map +1 -1
- package/dist/src/gateway/api.d.ts.map +1 -1
- package/dist/src/gateway/api.js +214 -3
- package/dist/src/gateway/api.js.map +1 -1
- package/dist/src/gateway/files.d.ts +6 -0
- package/dist/src/gateway/files.d.ts.map +1 -0
- package/dist/src/gateway/files.js +430 -0
- package/dist/src/gateway/files.js.map +1 -0
- package/dist/src/gateway/lifecycle.d.ts.map +1 -1
- package/dist/src/gateway/lifecycle.js +16 -6
- package/dist/src/gateway/lifecycle.js.map +1 -1
- package/dist/src/gateway/org.d.ts.map +1 -1
- package/dist/src/gateway/org.js +1 -0
- package/dist/src/gateway/org.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +42 -1
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/watcher.d.ts.map +1 -1
- package/dist/src/gateway/watcher.js +9 -2
- package/dist/src/gateway/watcher.js.map +1 -1
- package/dist/src/mcp/gateway-server.d.ts +13 -0
- package/dist/src/mcp/gateway-server.d.ts.map +1 -0
- package/dist/src/mcp/gateway-server.js +375 -0
- package/dist/src/mcp/gateway-server.js.map +1 -0
- package/dist/src/mcp/resolver.d.ts +19 -0
- package/dist/src/mcp/resolver.d.ts.map +1 -0
- package/dist/src/mcp/resolver.js +153 -0
- package/dist/src/mcp/resolver.js.map +1 -0
- package/dist/src/sessions/context.d.ts +1 -0
- package/dist/src/sessions/context.d.ts.map +1 -1
- package/dist/src/sessions/context.js +34 -3
- package/dist/src/sessions/context.js.map +1 -1
- package/dist/src/sessions/limits.d.ts +7 -0
- package/dist/src/sessions/limits.d.ts.map +1 -0
- package/dist/src/sessions/limits.js +42 -0
- package/dist/src/sessions/limits.js.map +1 -0
- package/dist/src/sessions/manager.d.ts +3 -1
- package/dist/src/sessions/manager.d.ts.map +1 -1
- package/dist/src/sessions/manager.js +38 -17
- package/dist/src/sessions/manager.js.map +1 -1
- package/dist/src/sessions/registry.d.ts +24 -0
- package/dist/src/sessions/registry.d.ts.map +1 -1
- package/dist/src/sessions/registry.js +76 -5
- package/dist/src/sessions/registry.js.map +1 -1
- package/dist/src/shared/effort.d.ts +17 -0
- package/dist/src/shared/effort.d.ts.map +1 -0
- package/dist/src/shared/effort.js +44 -0
- package/dist/src/shared/effort.js.map +1 -0
- package/dist/src/shared/paths.d.ts +3 -0
- package/dist/src/shared/paths.d.ts.map +1 -1
- package/dist/src/shared/paths.js +3 -0
- package/dist/src/shared/paths.js.map +1 -1
- package/dist/src/shared/types.d.ts +61 -1
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/stt/stt.d.ts +24 -0
- package/dist/src/stt/stt.d.ts.map +1 -0
- package/dist/src/stt/stt.js +203 -0
- package/dist/src/stt/stt.js.map +1 -0
- package/dist/web/404.html +1 -1
- package/dist/web/_next/static/chunks/{704-af2893821e1d18dc.js → 704-ca24be493a922639.js} +1 -1
- package/dist/web/_next/static/chunks/{73-c226535579393e21.js → 73-2d6e730cea0fe6c8.js} +1 -1
- package/dist/web/_next/static/chunks/app/_not-found/{page-bb075b0779827928.js → page-7d43a486b7014af3.js} +1 -1
- package/dist/web/_next/static/chunks/app/chat/page-2f3c561ed768ed58.js +1 -0
- package/dist/web/_next/static/chunks/app/costs/{page-d6c03718defdb599.js → page-13a6f2c65a827f8a.js} +1 -1
- package/dist/web/_next/static/chunks/app/cron/{page-4c563eef2b6231fe.js → page-0ee07a679c7b79aa.js} +1 -1
- package/dist/web/_next/static/chunks/app/kanban/{page-55a73165a36f4077.js → page-a7facadd4194faae.js} +1 -1
- package/dist/web/_next/static/chunks/app/layout-fd975d16033dab25.js +1 -0
- package/dist/web/_next/static/chunks/app/logs/page-6de6b16523e85193.js +1 -0
- package/dist/web/_next/static/chunks/app/org/{page-d5cd8d9b7864737b.js → page-cd9d362e77f4799e.js} +1 -1
- package/dist/web/_next/static/chunks/app/{page-b81992940fd1dbc6.js → page-b98417ed4f4d45a0.js} +1 -1
- package/dist/web/_next/static/chunks/app/sessions/{page-c83c890177c18258.js → page-9f83fa32b654db3b.js} +1 -1
- package/dist/web/_next/static/chunks/app/settings/page-34c9276e2a012445.js +1 -0
- package/dist/web/_next/static/chunks/app/skills/page-18cf3b7bb9a7339c.js +1 -0
- package/dist/web/_next/static/chunks/main-app-0c65af8a0fd99888.js +1 -0
- package/dist/web/_next/static/css/24da9dfc818cea32.css +1 -0
- package/dist/web/chat.html +1 -1
- package/dist/web/chat.txt +5 -5
- package/dist/web/costs.html +2 -2
- package/dist/web/costs.txt +5 -5
- package/dist/web/cron.html +1 -1
- package/dist/web/cron.txt +5 -5
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +5 -5
- package/dist/web/kanban.html +1 -1
- package/dist/web/kanban.txt +5 -5
- package/dist/web/logs.html +2 -2
- package/dist/web/logs.txt +5 -5
- package/dist/web/org.html +1 -1
- package/dist/web/org.txt +5 -5
- package/dist/web/sessions.html +1 -1
- package/dist/web/sessions.txt +5 -5
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +5 -5
- package/dist/web/skills.html +1 -1
- package/dist/web/skills.txt +5 -5
- package/package.json +3 -1
- package/template/config.default.yaml +32 -0
- package/template/docs/mcp.md +108 -0
- package/dist/web/_next/static/chunks/app/chat/page-6d5bc707a45c92c6.js +0 -1
- package/dist/web/_next/static/chunks/app/layout-5129b67d5f126cf0.js +0 -1
- package/dist/web/_next/static/chunks/app/logs/page-e18889d67e48c9c9.js +0 -1
- package/dist/web/_next/static/chunks/app/settings/page-2583d55551abdf72.js +0 -1
- package/dist/web/_next/static/chunks/app/skills/page-df9465e314561bb5.js +0 -1
- package/dist/web/_next/static/chunks/main-app-437f51faf74fbb3b.js +0 -1
- package/dist/web/_next/static/css/4a6a5bca9238c104.css +0 -1
- /package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Tn0FXDHalXGkNoojna-vg}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Tn0FXDHalXGkNoojna-vg}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[457],{1996:(e,t,r)=>{Promise.resolve().then(r.bind(r,3006))},3006:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>E});var n=r(8111),a=r(5271),i=r(4736),s=r(3176),o=r(4263),l=r(3073),d=r(2755);let c="jinn-sidebar-collapsed";function u(){try{let e=localStorage.getItem("jinn-read-sessions");return e?new Set(JSON.parse(e)):new Set}catch(e){return new Set}}function p(e){return"cron"===e.source||(e.sourceRef||"").startsWith("cron:")}function h(e){var t;let{selectedId:r,onSelect:i,onNewChat:o,onDelete:l,refreshKey:h,connectionSeq:g,onSessionsLoaded:v,events:x}=e,{settings:m}=(0,d.t0)(),f=null!=(t=m.portalName)?t:"Jinn",y=f.toLowerCase(),[b,j]=(0,a.useState)([]),[w,k]=(0,a.useState)(!0),[S,C]=(0,a.useState)(""),[I,L]=(0,a.useState)(null),[D,R]=(0,a.useState)(null),[W,z]=(0,a.useState)(new Set),[M,B]=(0,a.useState)(new Set),[E,A]=(0,a.useState)(new Map),T=(0,a.useRef)(null);(0,a.useEffect)(()=>{z(u()),B(function(){try{let e=localStorage.getItem(c);return e?new Set(JSON.parse(e)):new Set}catch(e){return new Set}}()),s.F.getOrg().then(async e=>{let t=new Map;await Promise.all(e.employees.map(async e=>{try{let r=await s.F.getEmployee(e);r.emoji&&t.set(e,r.emoji)}catch(e){}})),A(t)}).catch(()=>{})},[]),(0,a.useEffect)(()=>{if(r){let e=u();e.add(r);let t=Array.from(e);t.length>500&&t.splice(0,t.length-500),localStorage.setItem("jinn-read-sessions",JSON.stringify(t)),z(e=>{let t=new Set(e);return t.add(r),t})}},[r]);let U=(0,a.useCallback)(()=>{s.F.getSessions().then(e=>{let t=e.filter(e=>"web"===e.source||"cron"===e.source||!e.source);t.sort((e,t)=>{let r=e.lastActivity||e.createdAt||"";return(t.lastActivity||t.createdAt||"").localeCompare(r)}),j(t),null==v||v(t)}).catch(()=>j([])).finally(()=>k(!1))},[v]);(0,a.useEffect)(()=>{k(!0),U()},[h,U]),(0,a.useEffect)(()=>{g&&U()},[g,U]),(0,a.useEffect)(()=>{if(!x||0===x.length)return;let e=x[x.length-1],t="".concat(e.event,":").concat(JSON.stringify(e.payload));t!==T.current&&(T.current=t,("session:started"===e.event||"session:completed"===e.event||"session:deleted"===e.event||"session:error"===e.event)&&U())},[x,U]);let N=(0,a.useCallback)(e=>{B(t=>{let r=new Set(t);r.has(e)?r.delete(e):r.add(e);try{localStorage.setItem(c,JSON.stringify(Array.from(r)))}catch(e){}return r})},[]);async function F(e){try{await s.F.deleteSession(e),j(t=>t.filter(t=>t.id!==e)),l?l(e):r===e&&o()}catch(e){}L(null)}let H=function(e,t,r){let n=[],a=[],i=new Map;for(let t of e)if(p(t))a.push(t);else if(p(t)||t.employee&&t.employee!==r){let e=t.employee;i.has(e)||i.set(e,[]),i.get(e).push(t)}else n.push(t);let s=(e,t)=>{let r=e.lastActivity||e.createdAt||"";return(t.lastActivity||t.createdAt||"").localeCompare(r)},o=[];for(let e of(n.length>0&&(n.sort(s),o.push({key:"direct",label:"Direct",emoji:"\uD83D\uDCAC",sessions:n,sortOrder:0})),Array.from(i.keys()).sort())){let r=i.get(e);r.sort(s),o.push({key:"emp:".concat(e),label:e,emoji:t.get(e)||"\uD83E\uDD16",sessions:r,sortOrder:1})}return a.length>0&&(a.sort(s),o.push({key:"cron",label:"Cron",emoji:"⏰",sessions:a,sortOrder:2})),o}(S.trim()?b.filter(e=>{let t=S.toLowerCase();return e.id.toLowerCase().includes(t)||e.employee&&e.employee.toLowerCase().includes(t)||e.title&&e.title.toLowerCase().includes(t)}):b,E,y);return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",background:"var(--sidebar-bg)",borderRight:"1px solid var(--separator)"},children:[(0,n.jsxs)("div",{style:{padding:"var(--space-4) var(--space-4) var(--space-3)",borderBottom:"1px solid var(--separator)",background:"var(--material-thick)",flexShrink:0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"var(--space-3)"},children:[(0,n.jsx)("h2",{style:{fontSize:"var(--text-title3)",fontWeight:"var(--weight-bold)",letterSpacing:"-0.5px",color:"var(--text-primary)",margin:0},children:"Chats"}),(0,n.jsxs)("button",{onClick:o,"aria-label":"New chat",style:{padding:"var(--space-1) var(--space-3)",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",color:"var(--accent-contrast)",background:"var(--accent)",border:"none",borderRadius:"var(--radius-md)",cursor:"pointer",display:"flex",alignItems:"center",gap:"var(--space-1)"},children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,n.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),"New"]})]}),(0,n.jsxs)("div",{style:{background:"var(--fill-tertiary)",borderRadius:"var(--radius-md)",padding:"7px var(--space-3)",display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,n.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,n.jsx)("input",{type:"text",value:S,onChange:e=>C(e.target.value),placeholder:"Search sessions...","aria-label":"Search sessions",style:{flex:1,fontSize:"var(--text-footnote)",color:"var(--text-primary)",background:"transparent",border:"none",outline:"none",padding:0,margin:0,lineHeight:1.4}}),S.trim()&&(0,n.jsx)("button",{onClick:()=>C(""),"aria-label":"Clear search",style:{padding:2,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,background:"transparent",border:"none",cursor:"pointer",color:"var(--text-tertiary)"},children:(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})]}),(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"var(--space-1) 0"},children:w?(0,n.jsx)("div",{style:{padding:"var(--space-8) var(--space-4)",textAlign:"center"},children:(0,n.jsx)("span",{style:{fontSize:"var(--text-caption1)",color:"var(--text-quaternary)"},children:"Loading sessions..."})}):0===H.length?(0,n.jsx)("div",{style:{padding:"var(--space-8) var(--space-4)",textAlign:"center"},children:(0,n.jsx)("span",{style:{fontSize:"var(--text-caption1)",color:"var(--text-quaternary)"},children:S.trim()?"No matching sessions":"No conversations yet"})}):H.map(e=>{let t=M.has(e.key);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:()=>N(e.key),style:{width:"100%",display:"flex",alignItems:"center",gap:"var(--space-2)",padding:"var(--space-2) var(--space-4)",background:"transparent",border:"none",cursor:"pointer",textAlign:"left",marginTop:"var(--space-1)"},children:[(0,n.jsx)("span",{style:{fontSize:"var(--text-caption1)"},children:e.emoji}),(0,n.jsx)("span",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-secondary)",letterSpacing:"0.3px",textTransform:"uppercase",flex:1},children:e.label}),(0,n.jsx)("span",{style:{fontSize:"var(--text-caption2)",color:"var(--text-tertiary)",background:"var(--fill-tertiary)",borderRadius:"var(--radius-sm)",padding:"0 5px",lineHeight:"18px",minWidth:18,textAlign:"center"},children:e.sessions.length}),(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,transition:"transform 150ms ease",transform:t?"rotate(-90deg)":"rotate(0deg)"},children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),!t&&e.sessions.map(e=>{var t,a;let s,o=e.id===r,l=e.id===D,d="running"===e.status,c=W.has(e.id),u="error"===e.status,p=function(e){if(!e)return"";let t=new Date(e),r=Date.now()-t.getTime();return r<6e4?"now":r<36e5?"".concat(Math.floor(r/6e4),"m"):r<864e5?new Date(e).toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}):new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"})}(e.lastActivity||e.createdAt);return s=d?"var(--system-blue)":u?"var(--system-red)":c?"var(--text-quaternary)":"var(--system-green)",(0,n.jsxs)("button",{onClick:()=>i(e.id),onMouseEnter:()=>R(e.id),onMouseLeave:()=>R(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",paddingLeft:"calc(var(--space-4) + 8px)",background:o?"var(--fill-secondary)":"transparent",border:"none",cursor:"pointer",textAlign:"left",borderLeft:o?"2px solid var(--accent)":"2px solid transparent",position:"relative"},children:[(0,n.jsx)("div",{style:{width:8,height:8,borderRadius:"50%",background:s,flexShrink:0,animation:d?"sidebar-pulse 2s ease-in-out infinite":"none",boxShadow:d?"0 0 6px ".concat(s):"none"}}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:2},children:[(0,n.jsx)("span",{style:{fontSize:"var(--text-footnote)",fontWeight:c&&!o?"var(--weight-medium)":"var(--weight-semibold)",color:"var(--text-primary)",letterSpacing:"-0.2px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0},children:(t=e.title,a=e.employee,t?"Jinn"!==f&&t.startsWith("Jinn - ")?f+t.slice(4):t:a||f)}),(0,n.jsx)("span",{style:{fontSize:"var(--text-caption2)",color:"var(--text-tertiary)",flexShrink:0,marginLeft:"var(--space-1)"},children:p})]}),(0,n.jsx)("div",{style:{fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.employee||f})]}),l&&(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),L(e.id)},"aria-label":"Delete session",style:{padding:4,borderRadius:"var(--radius-sm)",background:"transparent",border:"none",cursor:"pointer",color:"var(--text-tertiary)",display:"flex",alignItems:"center",flexShrink:0,transition:"color 150ms ease"},onMouseEnter:e=>e.currentTarget.style.color="var(--system-red)",onMouseLeave:e=>e.currentTarget.style.color="var(--text-tertiary)",children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]},e.id)})]},e.key)})}),I&&(0,n.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.5)",zIndex:60,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>L(null),children:(0,n.jsxs)("div",{style:{background:"var(--bg)",borderRadius:"var(--radius-lg)",padding:"var(--space-6)",maxWidth:400,width:"90%",boxShadow:"var(--shadow-overlay)"},onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("h3",{style:{fontSize:"var(--text-headline)",fontWeight:"var(--weight-bold)",color:"var(--text-primary)",marginBottom:"var(--space-2)"},children:"Delete Session?"}),(0,n.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-secondary)",marginBottom:"var(--space-5)"},children:"This will permanently delete the session and all its messages."}),(0,n.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",justifyContent:"flex-end"},children:[(0,n.jsx)("button",{onClick:()=>L(null),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--fill-tertiary)",color:"var(--text-primary)",border:"none",cursor:"pointer",fontSize:"var(--text-body)"},children:"Cancel"}),(0,n.jsx)("button",{onClick:()=>F(I),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--system-red)",color:"#fff",border:"none",cursor:"pointer",fontSize:"var(--text-body)",fontWeight:"var(--weight-semibold)"},children:"Delete"})]})]})}),(0,n.jsx)("style",{children:"\n @keyframes sidebar-pulse {\n 0%, 100% { opacity: 1; transform: scale(1); }\n 50% { opacity: 0.5; transform: scale(0.85); }\n }\n "})]})}let g="jinn-intermediate-";function v(e){try{localStorage.removeItem("".concat(g).concat(e))}catch(e){}}function x(e){let{name:t,size:r,mimeType:a,url:i,isUser:s}=e;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-lg)",background:s?"var(--accent)":"var(--material-thin)",border:s?"none":"1px solid var(--separator)",maxWidth:280,minWidth:180},children:[(0,n.jsx)("div",{style:{width:36,height:36,borderRadius:"var(--radius-sm)",background:s?"rgba(0,0,0,0.15)":"var(--fill-tertiary)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:s?"#000":"var(--text-secondary)"},children:function(e,t){var r;let a=(null==t||null==(r=t.split(".").pop())?void 0:r.toLowerCase())||"",i="application/pdf"===e||"pdf"===a,s=["doc","docx"].includes(a)||(null==e?void 0:e.includes("wordprocessingml")),o=["txt","csv","json","md"].includes(a)||(null==e?void 0:e.startsWith("text/")),l=["zip","tar","gz","rar","7z"].includes(a);return i?(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,n.jsx)("line",{x1:"9",y1:"15",x2:"15",y2:"15"})]}):s?(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,n.jsx)("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),(0,n.jsx)("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),(0,n.jsx)("polyline",{points:"10 9 9 9 8 9"})]}):o?(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"})]}):l?(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M21 8v13H3V8"}),(0,n.jsx)("path",{d:"M1 3h22v5H1z"}),(0,n.jsx)("path",{d:"M10 12h4"})]}):(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"}),(0,n.jsx)("polyline",{points:"13 2 13 9 20 9"})]})}(a,t)}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",color:s?"#000":"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t}),null!=r&&(0,n.jsx)("div",{style:{fontSize:"var(--text-caption2)",color:s?"rgba(0,0,0,0.5)":"var(--text-tertiary)",marginTop:1},children:r<1024?"".concat(r," B"):r<1048576?"".concat((r/1024).toFixed(0)," KB"):"".concat((r/1048576).toFixed(1)," MB")})]}),(0,n.jsx)("a",{href:i,download:t,"aria-label":"Download ".concat(t),style:{width:28,height:28,borderRadius:"50%",background:s?"rgba(0,0,0,0.15)":"var(--fill-secondary)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:s?"#000":"var(--text-secondary)",textDecoration:"none"},children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,n.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,n.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})})]})}function m(e){let t=Math.floor(e/60),r=Math.floor(e%60);return"".concat(t,":").concat(r.toString().padStart(2,"0"))}function f(e){let{src:t,duration:r,waveform:i,isUser:s}=e,o=(0,a.useRef)(null),[l,d]=(0,a.useState)(!1),[c,u]=(0,a.useState)(0),[p,h]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=new Audio(t);return o.current=e,e.addEventListener("timeupdate",()=>{e.duration&&isFinite(e.duration)&&(u(e.currentTime/e.duration),h(e.currentTime))}),e.addEventListener("ended",()=>{d(!1),u(0),h(0)}),e.addEventListener("pause",()=>d(!1)),e.addEventListener("play",()=>d(!0)),()=>{e.pause(),e.src=""}},[t]);let g=(0,a.useCallback)(()=>{let e=o.current;e&&(l?e.pause():e.play().catch(()=>{}))},[l]),v=i.length>0?i:Array(50).fill(.1),x=l?p:r;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-lg)",background:s?"var(--accent)":"var(--material-thin)",border:s?"none":"1px solid var(--separator)",maxWidth:280,minWidth:200},children:[(0,n.jsx)("button",{onClick:g,"aria-label":l?"Pause":"Play",style:{width:28,height:28,borderRadius:"50%",background:s?"rgba(0,0,0,0.2)":"var(--fill-secondary)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:s?"#000":"var(--text-primary)"},children:l?(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,n.jsx)("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1"}),(0,n.jsx)("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1"})]}):(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("polygon",{points:"6,4 20,12 6,20"})})}),(0,n.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",gap:2,height:28},children:v.map((e,t)=>{let r=t/v.length<=c;return(0,n.jsx)("div",{style:{width:3,borderRadius:1.5,height:"".concat(Math.max(4,24*e),"px"),background:s?r?"rgba(0,0,0,0.7)":"rgba(0,0,0,0.25)":r?"var(--accent)":"var(--fill-primary)",transition:"background 100ms ease",flexShrink:0}},t)})}),(0,n.jsx)("span",{style:{fontSize:"var(--text-caption2)",color:s?"rgba(0,0,0,0.6)":"var(--text-tertiary)",fontVariantNumeric:"tabular-nums",flexShrink:0,minWidth:28,textAlign:"right"},children:m(x)})]})}function y(e){let{msgs:t,isActive:r}=e,[i,s]=(0,a.useState)(!1),o=t.every(e=>e.content.startsWith("Used ")),l=r&&!o?"".concat(t.length," tool").concat(1!==t.length?"s":""," running…"):"".concat(t.length," tool").concat(1!==t.length?"s":""," used");return(0,n.jsxs)("div",{style:{padding:"0 var(--space-4)",marginBottom:"var(--space-1)"},children:[(0,n.jsxs)("button",{onClick:()=>s(e=>!e),style:{display:"flex",alignItems:"center",gap:"var(--space-2)",padding:"5px var(--space-3)",borderRadius:"var(--radius-full, 999px)",background:"var(--fill-secondary)",border:"1px solid var(--separator)",fontSize:"var(--text-caption1)",color:"var(--text-secondary)",cursor:"pointer",transition:"background 150ms ease"},onMouseEnter:e=>e.currentTarget.style.background="var(--fill-tertiary)",onMouseLeave:e=>e.currentTarget.style.background="var(--fill-secondary)",children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.6},children:(0,n.jsx)("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})}),l,r&&!o&&(0,n.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--system-blue)",animation:"jinn-pulse 1.4s infinite"}}),(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{transform:i?"rotate(180deg)":"rotate(0deg)",transition:"transform 150ms ease",opacity:.5},children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),i&&(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-1)",marginTop:"var(--space-1)",paddingLeft:"var(--space-1)"},children:t.map(e=>(0,n.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:"var(--radius-full, 999px)",background:"var(--fill-tertiary)",border:"1px solid var(--separator)",fontSize:"var(--text-caption2)",color:"var(--text-tertiary)"},children:e.toolCall},e.id))})]})}function b(e){let t,r=[],a=/(https?:\/\/[^\s<]+[^\s<.,;:!?)}\]'"])|(\*\*(.+?)\*\*)|(`([^`]+)`)|\*([^*]+)\*/g,i=0;for(;null!==(t=a.exec(e));)t.index>i&&r.push(e.slice(i,t.index)),t[1]?r.push((0,n.jsx)("a",{href:t[1],target:"_blank",rel:"noopener noreferrer",style:{color:"var(--system-blue)",textDecoration:"underline",textUnderlineOffset:2},children:t[1]},t.index)):t[2]?r.push((0,n.jsx)("strong",{style:{fontWeight:"var(--weight-bold)"},children:t[3]},t.index)):t[4]?r.push((0,n.jsx)("code",{style:{background:"var(--fill-secondary)",border:"1px solid var(--separator)",borderRadius:5,padding:"1px 5px",fontSize:"0.88em",fontFamily:'"SF Mono", Menlo, monospace',color:"var(--accent)"},children:t[5]},t.index)):t[6]&&r.push((0,n.jsx)("em",{style:{fontStyle:"italic",opacity:.85},children:t[6]},t.index)),i=t.index+t[0].length;return i<e.length&&r.push(e.slice(i)),1===r.length?r[0]:(0,n.jsx)(n.Fragment,{children:r})}function j(e){let{code:t,keyProp:r}=e,[i,s]=(0,a.useState)(!1);return(0,n.jsxs)("div",{style:{position:"relative",margin:"8px 0"},children:[(0,n.jsx)("button",{onClick:function(){navigator.clipboard.writeText(t).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},"aria-label":"Copy code",style:{position:"absolute",top:8,right:8,padding:"2px 8px",fontSize:11,borderRadius:"var(--radius-sm)",background:"var(--fill-secondary)",color:"var(--text-secondary)",border:"1px solid var(--separator)",cursor:"pointer"},children:i?"Copied!":"Copy"}),(0,n.jsx)("pre",{className:"code-block",style:{background:"var(--fill-tertiary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-md)",padding:"var(--space-3) var(--space-4)",overflowX:"auto",fontSize:13,lineHeight:1.5,fontFamily:'"SF Mono", Menlo, monospace',color:"var(--text-primary)"},children:(0,n.jsx)("code",{children:t})})]},r)}function w(e){return/^\|[\s:|-]+\|$/.test(e.trim())}function k(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(e=>e.trim())}function S(e){let{headerLine:t,rows:r,keyProp:a}=e,i=k(t),s=r.map(k);return(0,n.jsx)("div",{style:{margin:"10px 0",borderRadius:10,border:"1px solid var(--separator)",overflow:"hidden"},children:(0,n.jsx)("div",{style:{overflowX:"auto",WebkitOverflowScrolling:"touch"},children:(0,n.jsxs)("table",{style:{borderCollapse:"collapse",fontSize:"var(--text-footnote)",lineHeight:1.6,width:"100%",minWidth:"max-content"},children:[(0,n.jsx)("thead",{children:(0,n.jsx)("tr",{style:{background:"var(--fill-tertiary)"},children:i.map((e,t)=>(0,n.jsx)("th",{style:{textAlign:"left",padding:"10px 16px",fontWeight:600,color:"var(--text-primary)",borderBottom:"1px solid var(--separator)",maxWidth:280,wordBreak:"break-word"},children:b(e)},t))})}),(0,n.jsx)("tbody",{children:s.map((e,t)=>(0,n.jsx)("tr",{style:{background:t%2==1?"var(--fill-quaternary, transparent)":"transparent"},children:e.map((e,r)=>(0,n.jsx)("td",{style:{padding:"10px 16px",borderBottom:t<s.length-1?"1px solid var(--separator)":"none",color:"var(--text-primary)",maxWidth:280,wordBreak:"break-word"},children:b(e)},r))},t))})]})})},a)}function C(e){if(!e)return null;let t=e.split("\n"),r=[],a=!1,i=[];for(let e=0;e<t.length;e++){let o=t[e];if(o.startsWith("```")){a?(a=!1,r.push((0,n.jsx)(j,{keyProp:e,code:i.join("\n")},e))):a=!0,i=[];continue}if(a){i.push(o);continue}if(o.trim().startsWith("|")&&o.trim().endsWith("|")&&e+1<t.length&&w(t[e+1])){e++;let a=[];for(;e+1<t.length&&t[e+1].trim().startsWith("|")&&t[e+1].trim().endsWith("|")&&!w(t[e+1]);)e++,a.push(t[e]);r.push((0,n.jsx)(S,{keyProp:e,headerLine:o,rows:a},"table-".concat(e)));continue}if(""===o.trim()){r.push((0,n.jsx)("div",{style:{height:6}},"space-".concat(e)));continue}if(o.match(/^[-*] /)){r.push((0,n.jsxs)("div",{style:{display:"flex",gap:"var(--space-2)",marginBottom:2},children:[(0,n.jsx)("span",{style:{color:"var(--accent)",flexShrink:0,marginTop:1},children:"•"}),(0,n.jsx)("span",{children:b(o.slice(2))})]},e));continue}if(o.match(/^\d+\. /)){var s;let t=null==(s=o.match(/^(\d+)\. /))?void 0:s[1];r.push((0,n.jsxs)("div",{style:{display:"flex",gap:"var(--space-2)",marginBottom:2},children:[(0,n.jsxs)("span",{style:{color:"var(--accent)",flexShrink:0,fontWeight:"var(--weight-semibold)",minWidth:16},children:[t,"."]}),(0,n.jsx)("span",{children:b(o.replace(/^\d+\. /,""))})]},e));continue}if(o.startsWith("### ")){r.push((0,n.jsx)("div",{style:{fontWeight:"var(--weight-semibold)",fontSize:"var(--text-footnote)",marginTop:"var(--space-2)",marginBottom:2},children:b(o.slice(4))},e));continue}if(o.startsWith("## ")){r.push((0,n.jsx)("div",{style:{fontWeight:"var(--weight-bold)",fontSize:"var(--text-subheadline)",marginTop:"var(--space-3)",marginBottom:3},children:b(o.slice(3))},e));continue}if(o.startsWith("# ")){r.push((0,n.jsx)("div",{style:{fontWeight:"var(--weight-bold)",fontSize:"var(--text-body)",marginTop:"var(--space-3)",marginBottom:"var(--space-1)"},children:b(o.slice(2))},e));continue}r.push((0,n.jsx)("div",{style:{marginBottom:1},children:b(o)},e))}return a&&i.length>0&&r.push((0,n.jsx)(j,{keyProp:999,code:i.join("\n")},"trailing-code")),(0,n.jsx)(n.Fragment,{children:r})}function I(e){let t=new Date,r=new Date(e),n=t.toDateString()===r.toDateString(),a=new Date(t);a.setDate(a.getDate()-1);let i=a.toDateString()===r.toDateString(),s=r.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return n?"Today ".concat(s):i?"Yesterday ".concat(s):r.toLocaleDateString("en-US",{month:"short",day:"numeric"})+" ".concat(s)}function L(e,t){return 0===t||e[t].timestamp-e[t-1].timestamp>3e5}function D(e,t){let r=e.filter(e=>"image"===e.type),a=e.filter(e=>"audio"===e.type),i=e.filter(e=>"file"===e.type);return(0,n.jsxs)(n.Fragment,{children:[r.map((e,t)=>(0,n.jsx)("div",{style:{marginTop:"var(--space-2)",borderRadius:"var(--radius-lg)",overflow:"hidden",maxWidth:280},children:(0,n.jsx)("img",{src:e.url,alt:e.name||"Image",style:{width:"100%",display:"block",borderRadius:"var(--radius-lg)",cursor:"pointer"},onClick:()=>window.open(e.url,"_blank")})},"img-".concat(t))),a.map((e,r)=>(0,n.jsx)("div",{style:{marginTop:"var(--space-2)"},children:(0,n.jsx)(f,{src:e.url,duration:e.duration||0,waveform:e.waveform||[],isUser:t})},"audio-".concat(r))),i.map((e,r)=>(0,n.jsx)("div",{style:{marginTop:"var(--space-2)"},children:(0,n.jsx)(x,{name:e.name||"File",size:e.size,mimeType:e.mimeType,url:e.url,isUser:t})},"file-".concat(r)))]})}function R(e){var t,r;let{messages:i,loading:s,streamingText:o}=e,l=(0,a.useRef)(null),d=(0,a.useRef)(0);return((0,a.useEffect)(()=>{var e;let t=0===d.current&&i.length>0;null==(e=l.current)||e.scrollIntoView({behavior:t?"instant":"smooth"}),d.current=i.length},[i,s]),0!==i.length||s)?(0,n.jsxs)("div",{className:"chat-messages-scroll",style:{flex:1,overflowY:"auto",padding:"var(--space-3) 0 var(--space-6) 0",background:"var(--bg)"},children:[(function(e){let t=[],r=0;for(;r<e.length;)if("assistant"===e[r].role&&e[r].toolCall){let n=[],a=r;for(;r<e.length&&"assistant"===e[r].role&&e[r].toolCall;)n.push(e[r]),r++;t.push({kind:"tool-group",msgs:n,startIndex:a})}else t.push({kind:"message",msg:e[r],index:r}),r++;return t})(i).map(e=>{if("tool-group"===e.kind){let t=e.msgs[0],r=L(i,e.startIndex),a=e.startIndex>0?i[e.startIndex-1]:null,o=s&&e.startIndex+e.msgs.length===i.length;return(0,n.jsxs)("div",{children:[r&&(0,n.jsx)("div",{style:{textAlign:"center",padding:"var(--space-3) 0",fontSize:"var(--text-caption2)",color:"var(--text-tertiary)"},children:I(t.timestamp)}),!r&&a&&(0,n.jsx)("div",{style:{height:"assistant"!==a.role?"var(--space-4)":"var(--space-1)"}}),(0,n.jsx)(y,{msgs:e.msgs,isActive:o})]},"tg-".concat(e.startIndex))}let{msg:t,index:r}=e,a="user"===t.role,o=L(i,r),l=t.media||function(e){let t,r=[],n=/!\[([^\]]*)\]\((https?:\/\/[^)]+\.(jpg|jpeg|png|gif|webp|svg)(\?[^)]*)?)\)/gi;for(;null!==(t=n.exec(e));)r.push({type:"image",url:t[2],name:t[1]||"Image"});let a=RegExp("(?<!\\]\\()https?:\\/\\/\\S+\\.(jpg|jpeg|png|gif|webp)(\\?\\S*)?\\b","gi");for(;null!==(t=a.exec(e));){let e=t[0];r.find(t=>t.url===e)||r.push({type:"image",url:e})}let i=/https?:\/\/\S+\.(mp3|wav|ogg|m4a|aac)(\?\S*)?\b/gi;for(;null!==(t=i.exec(e));)r.push({type:"audio",url:t[0],name:t[0].split("/").pop()});return r}(t.content),d=t.content;return l.length>0&&!t.media&&(l.forEach(e=>{d=(d=d.replace(e.url,"")).replace(/!\[[^\]]*\]\([^)]+\)/g,"")}),d=d.trim()),t.media&&t.media.length>0&&d.startsWith("[")&&d.endsWith("]")&&(d=""),(0,n.jsxs)("div",{children:[o&&(0,n.jsx)("div",{style:{textAlign:"center",padding:"var(--space-3) 0",fontSize:"var(--text-caption2)",color:"var(--text-tertiary)"},children:I(t.timestamp)}),!o&&r>0&&(0,n.jsx)("div",{style:{height:i[r-1].role!==t.role?"var(--space-4)":"var(--space-1)"}}),a&&(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",padding:"0 var(--space-4)",marginBottom:"var(--space-1)"},children:[d&&(0,n.jsx)("div",{className:"user-msg-bubble",style:{padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg)",background:"var(--accent)",color:"var(--accent-contrast)",fontSize:"var(--text-subheadline)",lineHeight:"var(--leading-relaxed)",fontWeight:"var(--weight-medium)",boxShadow:"var(--shadow-subtle)"},children:C(d)}),l.length>0&&(0,n.jsx)("div",{className:"user-msg-bubble",children:D(l,!0)})]}),!a&&(0,n.jsx)("div",{className:"assistant-msg-row",style:{display:"flex",justifyContent:"flex-start",padding:"0 var(--space-4)",marginBottom:"var(--space-1)"},children:(0,n.jsxs)("div",{className:"assistant-msg-bubble",style:{display:"flex",flexDirection:"column"},children:[d&&(0,n.jsx)("div",{style:{padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)",background:"var(--material-thin)",border:"1px solid var(--separator)",color:"var(--text-primary)",fontSize:"var(--text-subheadline)",lineHeight:"var(--leading-relaxed)"},children:C(d)}),l.length>0&&D(l,!1)]})})]},t.id||r)}),o&&(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",padding:"0 var(--space-4)",marginBottom:"var(--space-1)"},className:"assistant-msg-row",children:(0,n.jsx)("div",{className:"assistant-msg-bubble",style:{display:"flex",flexDirection:"column"},children:(0,n.jsx)("div",{style:{padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)",background:"var(--material-thin)",border:"1px solid var(--separator)",color:"var(--text-primary)",fontSize:"var(--text-subheadline)",lineHeight:"var(--leading-relaxed)"},children:C(function(e){let t=e,r=(t.match(/```/g)||[]).length;if(r%2!=0&&(t+="\n```"),r%2==0){let e=t.replace(/```[\s\S]*?```/g,"");(e.match(/`/g)||[]).length%2!=0&&(t+="`"),(e.match(/\*\*/g)||[]).length%2!=0&&(t+="**")}return t}(o))})})}),s&&!o&&i.length>0&&((null==(t=i[i.length-1])?void 0:t.role)==="user"||(null==(r=i[i.length-1])?void 0:r.toolCall))&&(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",padding:"0 var(--space-4)",marginTop:"var(--space-2)"},children:(0,n.jsx)("div",{style:{padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)",background:"var(--material-thin)",border:"1px solid var(--separator)"},children:(0,n.jsxs)("div",{style:{display:"flex",gap:4,alignItems:"center",height:16},children:[(0,n.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--text-quaternary)",animation:"jinn-pulse 1.4s infinite",animationDelay:"0ms"}}),(0,n.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--text-quaternary)",animation:"jinn-pulse 1.4s infinite",animationDelay:"200ms"}}),(0,n.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--text-quaternary)",animation:"jinn-pulse 1.4s infinite",animationDelay:"400ms"}})]})})}),(0,n.jsx)("div",{ref:l}),(0,n.jsx)("style",{children:"\n @keyframes jinn-pulse {\n 0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }\n 40% { opacity: 1; transform: scale(1); }\n }\n .assistant-msg-bubble { max-width: 100%; }\n .user-msg-bubble { max-width: 90%; }\n .assistant-msg-row { padding: 0 var(--space-2) !important; }\n @media (min-width: 1024px) {\n .assistant-msg-bubble { max-width: 75%; }\n .user-msg-bubble { max-width: 75%; }\n .assistant-msg-row { padding: 0 var(--space-4) !important; }\n }\n /* User message contrast fixes — ensure all child elements are visible on accent background */\n .user-msg-bubble code {\n background: rgba(255,255,255,0.2) !important;\n border-color: rgba(255,255,255,0.3) !important;\n color: inherit !important;\n }\n .user-msg-bubble .code-block,\n .user-msg-bubble pre {\n background: rgba(0,0,0,0.2) !important;\n border-color: rgba(255,255,255,0.15) !important;\n color: rgba(255,255,255,0.95) !important;\n }\n .user-msg-bubble a {\n color: inherit !important;\n text-decoration-color: rgba(255,255,255,0.6) !important;\n }\n .user-msg-bubble strong { color: inherit !important; }\n .user-msg-bubble em { color: inherit !important; opacity: 0.9; }\n .user-msg-bubble span { color: inherit !important; }\n .user-msg-bubble div { color: inherit !important; }\n .user-msg-bubble th, .user-msg-bubble td { color: inherit !important; }\n .user-msg-bubble table { border-color: rgba(255,255,255,0.2) !important; }\n .user-msg-bubble th { border-color: rgba(255,255,255,0.2) !important; }\n .user-msg-bubble td { border-color: rgba(255,255,255,0.15) !important; }\n .user-msg-bubble tr { background: transparent !important; }\n .user-msg-bubble thead tr { background: rgba(255,255,255,0.1) !important; }\n /* Selection visibility for user messages */\n .user-msg-bubble ::selection {\n background: rgba(255,255,255,0.35);\n color: inherit;\n }\n .user-msg-bubble ::-moz-selection {\n background: rgba(255,255,255,0.35);\n color: inherit;\n }\n "})]}):(0,n.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,n.jsxs)("div",{style:{textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:"var(--text-title3)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)"},children:"Start a conversation"}),(0,n.jsx)("div",{style:{fontSize:"var(--text-footnote)",color:"var(--text-quaternary)",marginTop:"var(--space-2)"},children:"Send a message or use /new to begin"})]})})}function W(e){let{attachments:t,onRemove:r}=e;return 0===t.length?null:(0,n.jsx)("div",{style:{display:"flex",gap:"var(--space-2)",padding:"var(--space-2) var(--space-3)",overflowX:"auto",overflowY:"hidden"},children:t.map((e,t)=>{var a,i;return(0,n.jsxs)("div",{style:{position:"relative",width:56,height:56,flexShrink:0,borderRadius:"var(--radius-sm)",overflow:"hidden",background:"var(--fill-tertiary)",border:"1px solid var(--separator)"},children:["image"===e.type?(0,n.jsx)("img",{src:e.url,alt:e.name||"Preview",style:{width:"100%",height:"100%",objectFit:"cover"}}):(0,n.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,padding:4},children:["audio"===e.type?(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("circle",{cx:"18",cy:"16",r:"3"})]}):(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"}),(0,n.jsx)("polyline",{points:"13 2 13 9 20 9"})]}),(0,n.jsx)("span",{style:{fontSize:8,color:"var(--text-quaternary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%",textAlign:"center"},children:(null==(i=e.name)||null==(a=i.split(".").pop())?void 0:a.toUpperCase())||e.type.toUpperCase()})]}),(0,n.jsx)("button",{onClick:()=>r(t),"aria-label":"Remove attachment",style:{position:"absolute",top:2,right:2,width:18,height:18,borderRadius:"50%",background:"rgba(0,0,0,0.6)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",fontSize:11,lineHeight:1,padding:0},children:(0,n.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},t)})})}let z=[{name:"new",description:"Start a new chat session"},{name:"status",description:"Show current session info"}];async function M(e){let t,r=e.type.startsWith("image/"),n=e.type.startsWith("audio/");if(r)t=await new Promise((t,r)=>{let n=new Image,a=URL.createObjectURL(e);n.onload=()=>{URL.revokeObjectURL(a);let{width:i,height:s}=n;if(i>1200||s>1200){let e=1200/Math.max(i,s);i=Math.round(i*e),s=Math.round(s*e)}let o=document.createElement("canvas");o.width=i,o.height=s;let l=o.getContext("2d");if(!l)return void r(Error("no canvas context"));l.drawImage(n,0,0,i,s);let d=e.size>5e4?"image/jpeg":"image/png";t(o.toDataURL(d,"image/jpeg"===d?.85:void 0))},n.onerror=()=>{URL.revokeObjectURL(a),r(Error("image load failed"))},n.src=a});else t=await new Promise((t,r)=>{let n=new FileReader;n.onloadend=()=>t(n.result),n.onerror=r,n.readAsDataURL(e)});return{type:r?"image":n?"audio":"file",url:t,name:e.name,mimeType:e.type,size:t.length}}function B(e){let{disabled:t,loading:r,onSend:i,onInterrupt:o,onNewSession:l,onStatusRequest:d,skillsVersion:c}=e,[u,p]=(0,a.useState)(""),[h,g]=(0,a.useState)([]),[v,x]=(0,a.useState)(!1),[f,y]=(0,a.useState)(""),[b,j]=(0,a.useState)(0),[w,k]=(0,a.useState)(z),[S,C]=(0,a.useState)(!1),[I,L]=(0,a.useState)(""),[D,R]=(0,a.useState)(0),[B,E]=(0,a.useState)([]),[A,T]=(0,a.useState)(!1),[U,N]=(0,a.useState)(0),F=(0,a.useRef)(null),H=(0,a.useRef)(null),O=(0,a.useRef)(new Map),V=(0,a.useRef)(null),P=(0,a.useRef)(null);(0,a.useEffect)(()=>{s.F.getOrg().then(async e=>{let t=e.employees;Array.isArray(t)&&g(await Promise.all(t.map(async e=>{try{let t=await s.F.getEmployee(e);return{name:t.name,displayName:t.displayName,department:t.department,rank:t.rank,engine:t.engine}}catch(t){return{name:e}}})))}).catch(()=>{})},[]),(0,a.useEffect)(()=>{s.F.getSkills().then(e=>{if(!Array.isArray(e))return;let t=e.filter(e=>!z.some(t=>t.name===e.name)).map(e=>({name:e.name,description:e.description||"",needsEmployee:"sync"===e.name}));k([...z,...t])}).catch(()=>{})},[c]),(0,a.useEffect)(()=>()=>{var e;null==(e=V.current)||e.cancel(),P.current&&clearInterval(P.current)},[]);let q=(0,a.useCallback)(e=>{var t;let r=u.lastIndexOf("@");-1!==r&&p(u.slice(0,r)+"@"+e+" "),x(!1),null==(t=F.current)||t.focus()},[u]),J=(0,a.useCallback)(e=>{var t;e.needsEmployee?(p("/"+e.name+" @"),C(!1),y(""),j(0),x(!0)):(p("/"+e.name),C(!1)),null==(t=F.current)||t.focus()},[]);function _(){let e=u.trim(),r=B.length>0;if(!e&&!r||t)return;if("/new"===e){p(""),l();return}if("/status"===e){p(""),d();return}let n=r?[...B]:void 0;p(""),E([]),x(!1),C(!1),F.current&&(F.current.style.height="auto"),i(e,n,!1)}async function K(e){let t=e.target.files;if(!t||0===t.length)return;let r=[];for(let e=0;e<t.length;e++)r.push(await M(t[e]));E(e=>[...e,...r]),e.target.value=""}async function Y(e){var t;let r=null==(t=e.clipboardData)?void 0:t.items;if(r){for(let t=0;t<r.length;t++)if(r[t].type.startsWith("image/")){e.preventDefault();let n=r[t].getAsFile();if(n){let e=await M(n);E(t=>[...t,e])}return}}}async function X(){if(A){if(V.current){try{let e=await V.current.stop(),t={type:"audio",url:e.dataUrl,name:"Voice message",mimeType:"audio/webm",duration:e.duration,waveform:e.waveform,size:e.dataUrl.length};E(e=>[...e,t])}catch(e){}V.current=null,T(!1),N(0),P.current&&clearInterval(P.current)}}else{let e=function(){let e=null,t=null,r=null,n=null,a=[],i=0,s=!1,o=!1,l=0,d=[];return{async start(){o=!1,a=[],d.length=0,n=await navigator.mediaDevices.getUserMedia({audio:!0});let c=function(){if("undefined"==typeof MediaRecorder)return"";for(let e of["audio/webm;codecs=opus","audio/mp4","audio/ogg"])if(MediaRecorder.isTypeSupported(e))return e;return""}();e=new MediaRecorder(n,c?{mimeType:c}:void 0);let u=(t=new AudioContext).createMediaStreamSource(n);(r=t.createAnalyser()).fftSize=256,u.connect(r),e.ondataavailable=e=>{e.data.size>0&&a.push(e.data)},e.start(100),i=Date.now(),s=!0,function e(){if(!r||!s)return;let t=new Uint8Array(r.fftSize);r.getByteTimeDomainData(t);let n=0;for(let e=0;e<t.length;e++){let r=(t[e]-128)/128;n+=r*r}d.push(Math.sqrt(n/t.length)),l=requestAnimationFrame(e)}()},async stop(){s=!1,cancelAnimationFrame(l);let r=(Date.now()-i)/1e3;return new Promise((i,s)=>{if(!e||"inactive"===e.state)return void s(Error("Not recording"));e.onstop=async()=>{null==n||n.getTracks().forEach(e=>e.stop()),null==t||t.close().catch(()=>{});let s=new Blob(a,{type:e.mimeType||"audio/webm"}),o=await new Promise((e,t)=>{let r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=t,r.readAsDataURL(s)});i({audioBlob:s,dataUrl:o,duration:r,waveform:function(e,t){if(0===e.length)return Array(50).fill(.1);let r=[],n=e.length/50;for(let a=0;a<t;a++){let t=Math.floor(a*n),i=Math.floor((a+1)*n),s=0;for(let r=t;r<i&&r<e.length;r++)e[r]>s&&(s=e[r]);r.push(Math.max(.05,Math.min(1,s)))}return r}(d,50)})},e.stop()})},cancel(){o=!0,s=!1,cancelAnimationFrame(l),e&&"inactive"!==e.state&&e.stop(),null==n||n.getTracks().forEach(e=>e.stop()),null==t||t.close().catch(()=>{}),a=[],d.length=0},getElapsed:()=>s?(Date.now()-i)/1e3:0,isRecording:()=>s&&!o}}();V.current=e;try{await e.start(),T(!0),P.current=setInterval(()=>{N(e.getElapsed())},100)}catch(e){V.current=null}}}let G=w.filter(e=>e.name.toLowerCase().startsWith(I)),$=h.filter(e=>e.name.toLowerCase().includes(f)),Q=u.trim().length>0||B.length>0;return(0,n.jsxs)("div",{className:"px-3 sm:px-4",style:{paddingTop:"var(--space-3)",paddingBottom:"var(--space-3)",borderTop:"1px solid var(--separator)",background:"var(--material-regular)",flexShrink:0,position:"relative"},children:[S&&G.length>0&&(0,n.jsx)("div",{style:{position:"absolute",bottom:"100%",left:"var(--space-4)",right:"var(--space-4)",marginBottom:4,background:"var(--bg)",border:"1px solid var(--separator)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-lg)",maxHeight:240,overflowY:"auto",zIndex:10},children:G.map((e,t)=>{let r=t===D;return(0,n.jsxs)("button",{ref:e=>{r&&e&&e.scrollIntoView({block:"nearest"})},onClick:()=>J(e),style:{width:"100%",textAlign:"left",padding:"var(--space-2) var(--space-3)",fontSize:"var(--text-footnote)",background:r?"var(--fill-secondary)":"transparent",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:"var(--space-2)",color:"var(--text-primary)"},children:[(0,n.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:"var(--weight-semibold)",color:"var(--accent)",fontSize:"var(--text-footnote)"},children:["/",e.name]}),(0,n.jsx)("span",{style:{color:"var(--text-tertiary)",fontSize:"var(--text-caption1)"},children:e.description})]},e.name)})}),v&&$.length>0&&(0,n.jsx)("div",{style:{position:"absolute",bottom:"100%",left:"var(--space-4)",right:"var(--space-4)",marginBottom:4,background:"var(--bg)",border:"1px solid var(--separator)",borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-lg)",maxHeight:160,overflowY:"auto",zIndex:10},children:$.slice(0,8).map((e,t)=>{let r=t===b;return(0,n.jsxs)("button",{ref:e=>{e?O.current.set(t,e):O.current.delete(t),r&&e&&e.scrollIntoView({block:"nearest"})},onClick:()=>q(e.name),style:{width:"100%",textAlign:"left",padding:"var(--space-2) var(--space-3)",fontSize:"var(--text-footnote)",background:r?"var(--fill-secondary)":"transparent",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:"var(--space-2)",color:"var(--text-primary)"},children:[(0,n.jsx)("span",{style:{fontSize:16,lineHeight:1},children:{executive:"\uD83C\uDFAF",manager:"\uD83D\uDCCB",senior:"⭐",employee:"\uD83D\uDC64"}[e.rank||"employee"]||"\uD83D\uDC64"}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,n.jsx)("span",{style:{fontWeight:"var(--weight-semibold)"},children:e.displayName||e.name}),(0,n.jsxs)("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--text-caption2)",color:"var(--text-tertiary)"},children:["@",e.name]})]}),e.department&&(0,n.jsxs)("div",{style:{fontSize:"var(--text-caption2)",color:"var(--text-quaternary)",display:"flex",gap:"var(--space-2)",marginTop:1},children:[(0,n.jsx)("span",{children:e.department}),e.engine&&(0,n.jsx)("span",{style:{color:"var(--accent)",fontWeight:"var(--weight-medium)"},children:e.engine})]})]})]},e.name)})}),B.length>0&&(0,n.jsx)("div",{style:{marginBottom:"var(--space-2)"},children:(0,n.jsx)(W,{attachments:B,onRemove:function(e){E(t=>t.filter((t,r)=>r!==e))}})}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",background:"var(--fill-secondary)",borderRadius:"var(--radius-lg)",padding:"6px var(--space-3)",border:r?"1px solid var(--accent)":"1px solid var(--separator)",minHeight:44,transition:"border-color 200ms ease"},children:[(0,n.jsx)("button",{"aria-label":"Attach file",onClick:()=>{var e;return null==(e=H.current)?void 0:e.click()},style:{width:32,height:32,flexShrink:0,borderRadius:"var(--radius-sm)",display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",border:"none",cursor:"pointer",color:"var(--text-secondary)",marginBottom:0},children:(0,n.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})})}),(0,n.jsx)("input",{ref:H,type:"file",accept:"image/*,audio/*,.pdf,.doc,.docx,.txt,.csv,.json,.zip",multiple:!0,style:{display:"none"},onChange:K}),(0,n.jsxs)("button",{"aria-label":A?"Stop recording":"Record voice message",onClick:X,style:{width:32,height:32,flexShrink:0,borderRadius:"var(--radius-sm)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:A?"var(--system-red)":"transparent",border:"none",cursor:"pointer",color:A?"#fff":"var(--text-secondary)"},children:[(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"}),(0,n.jsx)("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),(0,n.jsx)("line",{x1:"12",y1:"19",x2:"12",y2:"23"}),(0,n.jsx)("line",{x1:"8",y1:"23",x2:"16",y2:"23"})]}),A&&(0,n.jsx)("span",{style:{fontSize:11,fontVariantNumeric:"tabular-nums"},children:m(U)})]}),(0,n.jsx)("textarea",{ref:F,value:u,onChange:function(e){let t=e.target.value;if(p(t),t.startsWith("/")&&!t.includes(" ")){L(t.slice(1).toLowerCase()),R(0),C(!0),x(!1);return}C(!1);let r=t.lastIndexOf("@");if(-1!==r){let e=t.slice(r+1);if(!e.includes(" ")&&!e.includes("\n")){y(e.toLowerCase()),j(0),x(!0);return}}x(!1)},onKeyDown:function(e){if(S&&G.length>0){let t=G.length;if("ArrowDown"===e.key){e.preventDefault(),R(e=>(e+1)%t);return}if("ArrowUp"===e.key){e.preventDefault(),R(e=>(e-1+t)%t);return}if("Tab"===e.key||"Enter"===e.key){e.preventDefault(),J(G[D]);return}if("Escape"===e.key){e.preventDefault(),C(!1);return}}if(v&&$.length>0){let t=Math.min($.length,8);if("ArrowDown"===e.key){e.preventDefault(),j(e=>(e+1)%t);return}if("ArrowUp"===e.key){e.preventDefault(),j(e=>(e-1+t)%t);return}if("Tab"===e.key||"Enter"===e.key){e.preventDefault(),q($[b].name);return}if("Escape"===e.key){e.preventDefault(),x(!1);return}}"Enter"!==e.key||e.shiftKey||(e.preventDefault(),_())},onPaste:Y,placeholder:t?"Waiting for response...":"Type a message...",rows:1,disabled:t||A,style:{flex:1,background:"transparent",border:"none",outline:"none",resize:"none",color:"var(--text-primary)",fontSize:"var(--text-subheadline)",lineHeight:"20px",maxHeight:120,minHeight:20,height:20,padding:0,margin:0,opacity:t?.5:1},onInput:e=>{let t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,120)+"px"}}),r&&o&&(0,n.jsx)("button",{onClick:o,"aria-label":"Stop",style:{width:32,height:32,borderRadius:"50%",background:"var(--system-red)",color:"#fff",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 150ms ease"},children:(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})}),(0,n.jsx)("button",{onClick:_,disabled:!Q||t,"aria-label":"Send message",style:{width:32,height:32,borderRadius:"50%",background:Q?"var(--accent)":"var(--fill-tertiary)",color:Q?"#000":"var(--text-quaternary)",border:"none",cursor:Q?"pointer":"default",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 150ms ease"},children:(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),(0,n.jsx)("polyline",{points:"5 12 12 5 19 12"})]})})]}),(0,n.jsxs)("div",{className:"hidden sm:flex",style:{fontSize:"var(--text-caption2)",color:"var(--text-quaternary)",textAlign:"center",marginTop:"var(--space-1)",justifyContent:"center",gap:"var(--space-3)"},children:[(0,n.jsx)("span",{children:"Enter to send"}),(0,n.jsx)("span",{children:"/ - commands"}),(0,n.jsx)("span",{children:"@name - mention"})]})]})}function E(){return(0,n.jsx)(a.Suspense,{fallback:(0,n.jsx)(l.M,{children:(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"var(--text-tertiary)"},children:"Loading..."})}),children:(0,n.jsx)(A,{})})}function A(){var e;let{settings:t}=(0,d.t0)(),r=null!=(e=t.portalName)?e:"Jinn",[c,u]=(0,a.useState)(null),[p,x]=(0,a.useState)([]),[m,f]=(0,a.useState)(!1),[y,b]=(0,a.useState)(0),[j,w]=(0,a.useState)("sidebar"),[k,S]=(0,a.useState)(null),C=(0,a.useRef)(""),[I,L]=(0,a.useState)(""),D=(0,a.useRef)(-1),W=(0,a.useRef)(!1),[z,M]=(0,a.useState)(!1),[E,A]=(0,a.useState)(null),[T,U]=(0,a.useState)(!1),N=(0,a.useRef)(null),{events:F,connectionSeq:H,skillsVersion:O}=(0,o.G)(),V=(0,i.useSearchParams)(),P=(0,a.useRef)(!1),q=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(z)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){N.current&&!N.current.contains(e.target)&&M(!1)}},[z]);let J=(0,a.useCallback)((e,t)=>{navigator.clipboard.writeText(e),A(t),M(!1),setTimeout(()=>A(null),1500)},[]);function _(){s.F.createStubSession({greeting:"Hey! \uD83D\uDC4B Say hi when you're ready to get started.",title:"Welcome"}).then(e=>{let t=String(e.id);q.current=!0,u(t),b(e=>e+1)}).catch(()=>{})}(0,a.useEffect)(()=>{P.current||("1"===V.get("onboarding")?(P.current=!0,_()):s.F.getOnboarding().then(e=>{e.needed&&!P.current&&(P.current=!0,_())}).catch(()=>{}))},[V]);let K=(0,a.useCallback)((e,t)=>{if(!t)return;let r=D.current;if(r<0)return;let n=e.slice(r);n.length>0&&function(e,t){try{localStorage.setItem("".concat(g).concat(e),JSON.stringify(t))}catch(e){}}(t,n)},[]);(0,a.useEffect)(()=>{if(0===F.length)return;let e=F[F.length-1],t=e.payload;if(c&&t.sessionId===c){if("session:delta"===e.event){let e=String(t.type||"text");if("text"===e){let e=String(t.content||"");C.current+=e,L(C.current)}else if("tool_use"===e){if(C.current){let e=C.current;C.current="",L(""),x(r=>{D.current<0&&(D.current=r.length);let n=[...r,{id:crypto.randomUUID(),role:"assistant",content:e,timestamp:Date.now()}];return K(n,c||t.sessionId),n})}let e=String(t.toolName||"tool");x(r=>{D.current<0&&(D.current=r.length);let n=[...r,{id:crypto.randomUUID(),role:"assistant",content:"Using ".concat(e),timestamp:Date.now(),toolCall:e}];return K(n,c||t.sessionId),n})}else"tool_result"===e&&x(e=>{let r=[...e],n=r[r.length-1];return n&&"assistant"===n.role&&n.toolCall&&(r[r.length-1]={...n,content:"Used ".concat(n.toolCall)}),K(r,c||t.sessionId),r})}if("session:interrupted"===e.event&&(C.current="",L("")),"session:completed"===e.event){C.current="",L(""),f(!1),D.current=-1;let e=c||(t.sessionId?String(t.sessionId):null);e&&v(e),t.result&&x(e=>{let r=[...e],n=r[r.length-1];return n&&"assistant"===n.role&&!n.toolCall&&r.pop(),[...r,{id:crypto.randomUUID(),role:"assistant",content:String(t.result),timestamp:Date.now()}]}),t.error&&!t.result&&x(e=>[...e,{id:crypto.randomUUID(),role:"assistant",content:"Error: ".concat(t.error),timestamp:Date.now()}]),b(e=>e+1)}}},[F,c,K]);let Y=(0,a.useCallback)(async e=>{try{let t=await s.F.getSession(e);S({engine:t.engine?String(t.engine):void 0,engineSessionId:t.engineSessionId?String(t.engineSessionId):void 0,model:t.model?String(t.model):void 0,title:t.title?String(t.title):void 0,employee:t.employee?String(t.employee):void 0});let r=t.messages||t.history||[],n=Array.isArray(r)?r.map(e=>({id:crypto.randomUUID(),role:e.role||"assistant",content:String(e.content||e.text||""),timestamp:e.timestamp?Number(e.timestamp):Date.now()})):[];if("error"===t.status&&t.lastError){let e=n[n.length-1],r="Error: ".concat(String(t.lastError));e&&"assistant"===e.role&&e.content===r||n.push({id:crypto.randomUUID(),role:"assistant",content:r,timestamp:Date.now()})}if("running"===t.status){let t=function(e){try{let t=localStorage.getItem("".concat(g).concat(e));return t?JSON.parse(t):[]}catch(e){return[]}}(e);t.length>0?(D.current=n.length,x([...n,...t])):(D.current=n.length,x(n)),f(!0)}else v(e),D.current=-1,x(n)}catch(e){x([]),S(null),D.current=-1}},[]);(0,a.useEffect)(()=>{H&&c&&Y(c)},[H,c,Y]),(0,a.useEffect)(()=>{if(!c||!m)return;let e=setInterval(async()=>{try{let e=await s.F.getSession(c);"running"!==e.status&&(await Y(c),f(!1))}catch(e){}},5e3);return()=>clearInterval(e)},[c,m,Y]);let X=(0,a.useCallback)(e=>{W.current=!1,u(e),x([]),f(!1),w("chat"),Y(e)},[Y]),G=(0,a.useCallback)(()=>{W.current=!0,u(null),x([]),f(!1),S(null),w("chat"),D.current=-1},[]),$=(0,a.useCallback)(e=>{c||P.current||W.current||!(e.length>0)||X(e[0].id)},[c,X]),Q=(0,a.useCallback)(async(e,t,n)=>{let a={id:crypto.randomUUID(),role:"user",content:e,timestamp:Date.now(),media:t};x(e=>(D.current=e.length+1,[...e,a])),f(!0);try{let t=c;if(t&&q.current){q.current=!1;let n="This is your first time being activated. The user just set up ".concat(r," and opened the web dashboard for the first time.\n\nRead your CLAUDE.md instructions and the onboarding skill at ~/.jinn/skills/onboarding/SKILL.md, then follow the onboarding flow:\n- Greet the user warmly and introduce yourself as ").concat(r,"\n- Briefly explain what you can do (manage cron jobs, hire AI employees, connect to Slack, etc.)\n- Ask the user what they'd like to set up first\n\nThe user said: \"").concat(e,'"');await s.F.sendMessage(t,{message:n}),b(e=>e+1)}else if(t)await s.F.sendMessage(t,{message:e,interrupt:n||void 0}),b(e=>e+1);else{let r=await s.F.createSession({source:"web",prompt:e});t=String(r.id),u(t),b(e=>e+1)}}catch(e){f(!1),x(t=>[...t,{id:crypto.randomUUID(),role:"assistant",content:"Error: ".concat(e instanceof Error?e.message:"Failed to send message"),timestamp:Date.now()}])}},[c,r]),Z=(0,a.useCallback)(async e=>{try{await s.F.deleteSession(e),c===e&&(u(null),x([]),f(!1),S(null),C.current="",L(""),D.current=-1),v(e),b(e=>e+1)}catch(e){}U(!1),M(!1)},[c]),ee=(0,a.useCallback)(async()=>{if(!c)return void x(e=>[...e,{id:crypto.randomUUID(),role:"assistant",content:"No active session. Send a message to start one.",timestamp:Date.now()}]);try{let e=await s.F.getSession(c),t=["**Session Info**","ID: `".concat(e.id,"`"),"Status: ".concat(e.status||"unknown"),e.employee?"Employee: ".concat(e.employee):null,e.engine?"Engine: ".concat(e.engine):null,e.model?"Model: ".concat(e.model):null,e.createdAt?"Created: ".concat(e.createdAt):null].filter(Boolean).join("\n");x(e=>[...e,{id:crypto.randomUUID(),role:"assistant",content:t,timestamp:Date.now()}])}catch(e){x(e=>[...e,{id:crypto.randomUUID(),role:"assistant",content:"Failed to fetch session status.",timestamp:Date.now()}])}},[c]);return(0,n.jsxs)(l.M,{children:[(0,n.jsxs)("div",{className:"h-[calc(100%-48px)] lg:h-full",style:{display:"flex",overflow:"hidden"},children:[(0,n.jsx)("div",{className:"hidden lg:block",style:{width:280,flexShrink:0,height:"100%"},children:(0,n.jsx)(h,{selectedId:c,onSelect:X,onNewChat:G,onDelete:Z,refreshKey:y,connectionSeq:H,onSessionsLoaded:$,events:F})}),(0,n.jsx)("div",{className:"sidebar"===j?"block lg:hidden":"hidden",style:{width:"100%",height:"100%"},children:(0,n.jsx)(h,{selectedId:c,onSelect:X,onNewChat:G,onDelete:Z,refreshKey:y,connectionSeq:H,onSessionsLoaded:$,events:F})}),(0,n.jsxs)("div",{style:{flex:1,flexDirection:"column",height:"100%",background:"var(--bg)",minWidth:0},className:"sidebar"===j?"hidden lg:flex":"flex",children:[(0,n.jsxs)("div",{style:{height:52,display:"flex",alignItems:"center",padding:"0 var(--space-4)",borderBottom:"1px solid var(--separator)",background:"var(--material-thick)",flexShrink:0},children:[(0,n.jsxs)("button",{className:"flex lg:hidden",onClick:()=>w("sidebar"),"aria-label":"Back to sessions",style:{padding:"var(--space-1) var(--space-2)",borderRadius:"var(--radius-sm)",marginRight:"var(--space-2)",fontSize:"var(--text-subheadline)",alignItems:"center",gap:"var(--space-1)",background:"transparent",border:"none",cursor:"pointer",color:"var(--accent)"},children:[(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),"Back"]}),(0,n.jsx)("div",{style:{flex:1,minWidth:0},children:(0,n.jsx)("div",{style:{fontSize:"var(--text-subheadline)",fontWeight:"var(--weight-semibold)",color:"var(--text-primary)",letterSpacing:"-0.2px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c?(null==k?void 0:k.title)||(null==k?void 0:k.employee)||r:"New Chat"})}),E&&(0,n.jsx)("div",{style:{fontSize:"var(--text-caption1)",color:"var(--accent)",marginRight:"var(--space-2)",whiteSpace:"nowrap"},children:"Copied!"}),c&&(0,n.jsxs)("div",{ref:N,style:{position:"relative"},children:[(0,n.jsx)("button",{onClick:()=>M(e=>!e),"aria-label":"More options",style:{background:"transparent",border:"none",cursor:"pointer",padding:"var(--space-1)",borderRadius:"var(--radius-sm)",color:"var(--text-secondary)",display:"flex",alignItems:"center",transition:"color 150ms ease"},onMouseEnter:e=>e.currentTarget.style.color="var(--text-primary)",onMouseLeave:e=>e.currentTarget.style.color="var(--text-secondary)",children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,n.jsx)("circle",{cx:"12",cy:"5",r:"2"}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"2"}),(0,n.jsx)("circle",{cx:"12",cy:"19",r:"2"})]})}),z&&(0,n.jsxs)("div",{style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--material-thick)",border:"1px solid var(--separator)",borderRadius:"var(--radius-md)",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",zIndex:100,minWidth:200,overflow:"hidden"},children:[(0,n.jsx)("button",{onClick:()=>J(c,"id"),style:{display:"block",width:"100%",padding:"var(--space-2) var(--space-3)",background:"transparent",border:"none",cursor:"pointer",textAlign:"left",fontSize:"var(--text-subheadline)",color:"var(--text-primary)"},onMouseEnter:e=>e.currentTarget.style.background="var(--fill-tertiary)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:"Copy Session ID"}),(null==k?void 0:k.engineSessionId)&&(0,n.jsx)("button",{onClick:()=>{let e="codex"===k.engine?"codex":"claude";J("".concat(e," --resume ").concat(k.engineSessionId),"cli")},style:{display:"block",width:"100%",padding:"var(--space-2) var(--space-3)",background:"transparent",border:"none",cursor:"pointer",textAlign:"left",fontSize:"var(--text-subheadline)",color:"var(--text-primary)"},onMouseEnter:e=>e.currentTarget.style.background="var(--fill-tertiary)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:"Copy CLI Resume Command"}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--separator)",margin:"2px 0"}}),(0,n.jsxs)("button",{onClick:()=>{M(!1),U(!0)},style:{display:"flex",alignItems:"center",gap:"var(--space-2)",width:"100%",padding:"var(--space-2) var(--space-3)",background:"transparent",border:"none",cursor:"pointer",textAlign:"left",fontSize:"var(--text-subheadline)",color:"var(--system-red)"},onMouseEnter:e=>e.currentTarget.style.background="var(--fill-tertiary)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),"Delete Session"]})]})]})]}),(0,n.jsx)(R,{messages:p,loading:m,streamingText:I}),(0,n.jsx)(B,{disabled:!1,loading:m,onSend:Q,onNewSession:G,onStatusRequest:ee,skillsVersion:O})]})]}),T&&c&&(0,n.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.5)",zIndex:60,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>U(!1),children:(0,n.jsxs)("div",{style:{background:"var(--bg)",borderRadius:"var(--radius-lg)",padding:"var(--space-6)",maxWidth:400,width:"90%",boxShadow:"var(--shadow-overlay)"},onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("h3",{style:{fontSize:"var(--text-headline)",fontWeight:"var(--weight-bold)",color:"var(--text-primary)",marginBottom:"var(--space-2)"},children:"Delete Session?"}),(0,n.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-secondary)",marginBottom:"var(--space-5)"},children:"This will permanently delete the session and all its messages."}),(0,n.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",justifyContent:"flex-end"},children:[(0,n.jsx)("button",{onClick:()=>U(!1),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--fill-tertiary)",color:"var(--text-primary)",border:"none",cursor:"pointer",fontSize:"var(--text-body)"},children:"Cancel"}),(0,n.jsx)("button",{onClick:()=>Z(c),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--system-red)",color:"#fff",border:"none",cursor:"pointer",fontSize:"var(--text-body)",fontWeight:"var(--weight-semibold)"},children:"Delete"})]})]})})]})}}},e=>{e.O(0,[704,73,814,743,358],()=>e(e.s=1996)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{1150:(e,t,o)=>{"use strict";o.d(t,{ClientProviders:()=>l});var a=o(8111),n=o(7460),r=o(2755);function l(e){let{children:t}=e;return(0,a.jsx)(n.N,{children:(0,a.jsxs)(r.Z6,{children:[t,(0,a.jsx)(r.Qc,{})]})})}},1696:(e,t,o)=>{Promise.resolve().then(o.bind(o,1150)),Promise.resolve().then(o.t.bind(o,9469,23))},2755:(e,t,o)=>{"use strict";o.d(t,{Qc:()=>m,Z6:()=>u,t0:()=>p});var a=o(8111),n=o(5271);let r={accentColor:null,portalName:null,portalSubtitle:null,portalEmoji:null,portalIcon:null,iconBgHidden:!1,emojiOnly:!1,operatorName:null,language:"English",employeeOverrides:{}},l="jinn-settings";function c(e){localStorage.setItem(l,JSON.stringify(e))}var s=o(3176);let i=(0,n.createContext)({settings:{accentColor:null,portalName:null,portalSubtitle:null,portalEmoji:null,portalIcon:null,iconBgHidden:!1,emojiOnly:!1,operatorName:null,language:"English",employeeOverrides:{}},setAccentColor:()=>{},setPortalName:()=>{},setPortalSubtitle:()=>{},setPortalEmoji:()=>{},setPortalIcon:()=>{},setIconBgHidden:()=>{},setEmojiOnly:()=>{},setOperatorName:()=>{},setLanguage:()=>{},setEmployeeOverride:()=>{},clearEmployeeOverride:()=>{},getEmployeeDisplay:e=>({emoji:e.emoji}),resetAll:()=>{}});function u(e){let{children:t}=e,[o,u]=(0,n.useState)({...r});(0,n.useEffect)(()=>{let e=function(){try{let e=localStorage.getItem(l);if(!e)return{...r};let t=JSON.parse(e);return{...r,...t}}catch(e){return{...r}}}();u(e),s.F.getOnboarding().then(t=>{if(t.portalName||t.operatorName){let o={...e,...t.portalName&&{portalName:t.portalName},...t.operatorName&&{operatorName:t.operatorName}};u(o),c(o)}}).catch(()=>{})},[]),(0,n.useEffect)(()=>{let e=document.documentElement.style;o.accentColor?(e.setProperty("--accent",o.accentColor),e.setProperty("--accent-fill",function(e){let t=parseInt(e.slice(1,3),16),o=parseInt(e.slice(3,5),16),a=parseInt(e.slice(5,7),16);return"rgba(".concat(t,",").concat(o,",").concat(a,",0.15)")}(o.accentColor)),e.setProperty("--accent-contrast",function(e){let t=parseInt(e.slice(1,3),16)/255,o=parseInt(e.slice(3,5),16)/255,a=parseInt(e.slice(5,7),16)/255,n=e=>e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4);return .2126*n(t)+.7152*n(o)+.0722*n(a)>.4?"#000":"#fff"}(o.accentColor))):(e.removeProperty("--accent"),e.removeProperty("--accent-fill"),e.removeProperty("--accent-contrast"))},[o.accentColor]);let p=(0,n.useCallback)(e=>{u(e),c(e)},[]),m=(0,n.useCallback)(e=>{p({...o,accentColor:e})},[o,p]),d=(0,n.useCallback)(e=>{p({...o,portalName:e||null})},[o,p]),g=(0,n.useCallback)(e=>{p({...o,portalSubtitle:e||null})},[o,p]),f=(0,n.useCallback)(e=>{p({...o,portalEmoji:e||null})},[o,p]),y=(0,n.useCallback)(e=>{p({...o,portalIcon:e})},[o,p]),h=(0,n.useCallback)(e=>{p({...o,iconBgHidden:e})},[o,p]),b=(0,n.useCallback)(e=>{p({...o,emojiOnly:e})},[o,p]),C=(0,n.useCallback)(e=>{p({...o,operatorName:e||null})},[o,p]),v=(0,n.useCallback)(e=>{p({...o,language:e||"English"})},[o,p]),O=(0,n.useCallback)((e,t)=>{let a=o.employeeOverrides[e]||{};p({...o,employeeOverrides:{...o.employeeOverrides,[e]:{...a,...t}}})},[o,p]),j=(0,n.useCallback)(e=>{let{[e]:t,...a}=o.employeeOverrides;p({...o,employeeOverrides:a})},[o,p]),k=(0,n.useCallback)(e=>{let t=o.employeeOverrides[e.id];return{emoji:(null==t?void 0:t.emoji)||e.emoji,profileImage:null==t?void 0:t.profileImage,emojiOnly:o.emojiOnly}},[o.employeeOverrides,o.emojiOnly]),E=(0,n.useCallback)(()=>{p({accentColor:null,portalName:null,portalSubtitle:null,portalEmoji:null,portalIcon:null,iconBgHidden:!1,emojiOnly:!1,operatorName:null,language:"English",employeeOverrides:{}})},[p]);return(0,a.jsx)(i.Provider,{value:{settings:o,setAccentColor:m,setPortalName:d,setPortalSubtitle:g,setPortalEmoji:f,setPortalIcon:y,setIconBgHidden:h,setEmojiOnly:b,setOperatorName:C,setLanguage:v,setEmployeeOverride:O,clearEmployeeOverride:j,getEmployeeDisplay:k,resetAll:E},children:t})}let p=()=>(0,n.useContext)(i);function m(){let{settings:e}=p(),t=(0,n.useRef)(e.portalName);return t.current=e.portalName,(0,n.useEffect)(()=>{function e(){let e=t.current||"Jinn",o="".concat(e," - AI Gateway");document.title!==o&&(document.title=o)}e();let o=document.querySelector("title");if(!o)return;let a=new MutationObserver(()=>e());return a.observe(o,{childList:!0,characterData:!0,subtree:!0}),()=>a.disconnect()},[e.portalName]),null}},3176:(e,t,o)=>{"use strict";o.d(t,{F:()=>s});let a=window.location.origin;async function n(e){let t=await fetch("".concat(a).concat(e));if(!t.ok)throw Error("API error: ".concat(t.status));return t.json()}async function r(e,t){let o=await fetch("".concat(a).concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:t?JSON.stringify(t):void 0});if(!o.ok)throw Error("API error: ".concat(o.status));return o.json()}async function l(e){let t=await fetch("".concat(a).concat(e),{method:"DELETE"});if(!t.ok)throw Error("API error: ".concat(t.status));return t.json()}async function c(e,t){let o=await fetch("".concat(a).concat(e),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!o.ok)throw Error("API error: ".concat(o.status));return o.json()}let s={getStatus:()=>n("/api/status"),getSessions:()=>n("/api/sessions"),getSession:e=>n("/api/sessions/".concat(e)),getSessionChildren:e=>n("/api/sessions/".concat(e,"/children")),deleteSession:e=>l("/api/sessions/".concat(e)),createSession:e=>r("/api/sessions",e),createStubSession:e=>r("/api/sessions/stub",e),sendMessage:(e,t)=>r("/api/sessions/".concat(e,"/message"),t),getCronJobs:()=>n("/api/cron"),getCronRuns:e=>n("/api/cron/".concat(e,"/runs")),updateCronJob:(e,t)=>c("/api/cron/".concat(e),t),getOrg:()=>n("/api/org"),getEmployee:e=>n("/api/org/employees/".concat(e)),getDepartmentBoard:e=>n("/api/org/departments/".concat(e,"/board")),getSkills:()=>n("/api/skills"),getSkill:e=>n("/api/skills/".concat(e)),getConfig:()=>n("/api/config"),updateConfig:e=>c("/api/config",e),getLogs:e=>n("/api/logs".concat(e?"?n=".concat(e):"")),getOnboarding:()=>n("/api/onboarding"),completeOnboarding:e=>r("/api/onboarding",e),getActivity:()=>n("/api/activity"),updateDepartmentBoard:(e,t)=>c("/api/org/departments/".concat(e,"/board"),t)}},7460:(e,t,o)=>{"use strict";o.d(t,{D:()=>c,N:()=>l});var a=o(8111),n=o(5271);let r=(0,n.createContext)({theme:"dark",setTheme:()=>{}});function l(e){let{children:t}=e,[o,l]=(0,n.useState)("dark"),c=(0,n.useCallback)(e=>{l(e),localStorage.setItem("jinn-theme",e);let t=document.documentElement;if(t.removeAttribute("data-theme"),"system"===e){let e=window.matchMedia("(prefers-color-scheme: dark)").matches;t.setAttribute("data-theme",e?"dark":"light")}else t.setAttribute("data-theme",e)},[]);return(0,n.useEffect)(()=>{let e=localStorage.getItem("jinn-theme");e&&c(e)},[c]),(0,a.jsx)(r.Provider,{value:{theme:o,setTheme:c},children:t})}function c(){return(0,n.useContext)(r)}},9469:()=>{}},e=>{e.O(0,[506,814,743,358],()=>e(e.s=1696)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[524],{959:(e,a,r)=>{Promise.resolve().then(r.bind(r,3929))},2876:(e,a,r)=>{"use strict";r.d(a,{A:()=>t});let t=(0,r(1983).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},3929:(e,a,r)=>{"use strict";r.r(a),r.d(a,{default:()=>v});var t=r(8111),s=r(5271);let l=(0,r(1983).A)("radio",[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var i=r(2876),n=r(3176),o=r(3073),c=r(5310);function d(e){let{label:a,value:r,color:s,pulse:l}=e;return(0,t.jsxs)("div",{style:{background:"var(--material-regular)",border:"1px solid var(--separator)",borderRadius:"var(--radius-md)",padding:"var(--space-4)"},children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",fontWeight:"var(--weight-medium)",marginBottom:"var(--space-1)"},children:a}),(0,t.jsxs)("div",{className:"flex items-center",style:{gap:"var(--space-2)"},children:[l&&r>0&&(0,t.jsx)("span",{className:"animate-error-pulse",style:{width:8,height:8,borderRadius:"50%",background:"var(--system-red)",flexShrink:0}}),(0,t.jsx)("span",{style:{fontSize:"var(--text-title2)",fontWeight:"var(--weight-bold)",color:null!=s?s:"var(--text-primary)"},children:r})]})]})}function v(){let[e,a]=(0,s.useState)([]),[r,v]=(0,s.useState)(!0),[p,h]=(0,s.useState)(!1),[u,m]=(0,s.useState)(null),[g,x]=(0,s.useState)(new Date),[f,y]=(0,s.useState)("just now"),b=(0,s.useCallback)(()=>{h(!0),m(null),n.F.getLogs(500).then(e=>{var r;a(null!=(r=e.lines)?r:[]),x(new Date)}).catch(e=>{m(e instanceof Error?e.message:"Failed to load logs")}).finally(()=>{v(!1),h(!1)})},[]);(0,s.useEffect)(()=>{b();let e=setInterval(b,3e4);return()=>clearInterval(e)},[b]),(0,s.useEffect)(()=>{function e(){let e=Math.floor((Date.now()-g.getTime())/1e3);e<10?y("just now"):e<60?y("".concat(e,"s ago")):y("".concat(Math.floor(e/60),"m ago"))}e();let a=setInterval(e,1e4);return()=>clearInterval(a)},[g]);let j=e.map(c.w),k=j.length,w=j.filter(e=>"error"===e.level).length,S=j.filter(e=>"info"===e.level).length,N=j.filter(e=>"warn"===e.level).length;return(0,t.jsx)(o.M,{children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden animate-fade-in",style:{background:"var(--bg)"},children:[(0,t.jsx)("header",{className:"sticky top-0 z-10 flex-shrink-0",style:{background:"var(--material-regular)",backdropFilter:"blur(40px) saturate(180%)",WebkitBackdropFilter:"blur(40px) saturate(180%)",borderBottom:"1px solid var(--separator)"},children:(0,t.jsxs)("div",{className:"flex items-center justify-between",style:{padding:"var(--space-4) var(--space-6)"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{style:{fontSize:"var(--text-title1)",fontWeight:"var(--weight-bold)",color:"var(--text-primary)",letterSpacing:"-0.5px",lineHeight:"var(--leading-tight)"},children:"Activity Console"}),!r&&(0,t.jsxs)("p",{style:{fontSize:"var(--text-footnote)",color:"var(--text-secondary)",marginTop:"var(--space-1)"},children:[k," event",1!==k?"s":"",w>0&&(0,t.jsxs)("span",{style:{color:"var(--system-red)"},children:[" \xb7 ",w," error",1!==w?"s":""]})]})]}),(0,t.jsxs)("div",{className:"flex items-center",style:{gap:"var(--space-3)"},children:[(0,t.jsxs)("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-live-stream")),className:"focus-ring flex items-center",style:{padding:"6px 14px",borderRadius:"var(--radius-sm)",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",gap:6,background:"var(--accent-fill)",color:"var(--accent)",transition:"all 200ms var(--ease-smooth)"},children:[(0,t.jsx)(l,{size:14}),"Open Live Stream"]}),(0,t.jsxs)("span",{style:{fontSize:"var(--text-caption1)",color:"var(--text-tertiary)"},children:["Updated ",f]}),(0,t.jsx)("button",{onClick:b,className:"focus-ring","aria-label":"Refresh logs",style:{width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--radius-sm)",border:"none",background:"transparent",color:"var(--text-tertiary)",cursor:"pointer",transition:"color 150ms var(--ease-smooth)"},children:(0,t.jsx)(i.A,{size:16,className:p?"animate-spin":""})})]})]})}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto flex flex-col",style:{padding:"var(--space-4) var(--space-6) var(--space-6)",minHeight:0},children:[u&&(0,t.jsxs)("div",{style:{marginBottom:"var(--space-3)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-md)",background:"rgba(255,69,58,0.06)",border:"1px solid rgba(255,69,58,0.15)",fontSize:"var(--text-footnote)",color:"var(--system-red)"},children:["Failed to load logs: ",u]}),r?(0,t.jsx)("div",{className:"flex items-center justify-center",style:{height:200,color:"var(--text-tertiary)"},children:"Loading..."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"summary-cards-grid",style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:"var(--space-3)",marginBottom:"var(--space-4)"},children:[(0,t.jsx)(d,{label:"Total Events",value:k}),(0,t.jsx)(d,{label:"Errors",value:w,color:w>0?"var(--system-red)":"var(--system-green)",pulse:!0}),(0,t.jsx)(d,{label:"Info",value:S,color:"var(--system-green)"}),(0,t.jsx)(d,{label:"Warnings",value:N,color:"var(--system-orange)"})]}),(0,t.jsx)(c.b,{lines:e})]})]}),(0,t.jsx)("style",{children:"\n @media (max-width: 640px) {\n .summary-cards-grid {\n grid-template-columns: 1fr 1fr !important;\n }\n }\n "})]})})}}},e=>{e.O(0,[704,73,814,743,358],()=>e(e.s=959)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{7649:(e,a,l)=>{Promise.resolve().then(l.bind(l,7774))},7774:(e,a,l)=>{"use strict";l.r(a),l.d(a,{default:()=>k});var t=l(8111),r=l(5271),n=l(1509),o=l(1983);let i=(0,o.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),s=(0,o.A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),d=(0,o.A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),c=(0,o.A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);var u=l(3073),v=l(2755),p=l(7460),g=l(9834),x=l(3176);let h=[{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"}];function b(e){let{title:a,children:l}=e;return(0,t.jsxs)("section",{style:{marginBottom:"var(--space-6)"},children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",letterSpacing:"var(--tracking-wide)",textTransform:"uppercase",color:"var(--text-tertiary)",padding:"0 var(--space-2) var(--space-2)"},children:a}),(0,t.jsx)("div",{style:{background:"var(--material-regular)",borderRadius:"var(--radius-md)",border:"1px solid var(--separator)",padding:"var(--space-4)"},children:l})]})}function m(e){let{label:a,children:l}=e;return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--space-2) 0",gap:"var(--space-4)"},children:[(0,t.jsx)("label",{style:{fontSize:"var(--text-subheadline)",color:"var(--text-secondary)",flexShrink:0},children:a}),(0,t.jsx)("div",{style:{width:240,flexShrink:0},children:l})]})}function f(e){let{value:a,onChange:l,type:r="text",placeholder:n}=e;return(0,t.jsx)("input",{type:r,value:a,onChange:e=>l(e.target.value),placeholder:n,className:"apple-input",style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})}function y(e){let{value:a,onChange:l,options:r}=e;return(0,t.jsx)("select",{value:a,onChange:e=>l(e.target.value),style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)",cursor:"pointer"},children:r.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})}function j(e){let{checked:a,onChange:l}=e;return(0,t.jsx)("button",{role:"switch","aria-checked":a,onClick:()=>l(!a),style:{width:44,height:24,borderRadius:12,background:a?"var(--system-green)":"var(--fill-primary)",border:"none",cursor:"pointer",position:"relative",flexShrink:0,transition:"background 200ms var(--ease-smooth)"},children:(0,t.jsx)("span",{style:{position:"absolute",top:2,left:a?22:2,width:20,height:20,borderRadius:"50%",background:"#fff",boxShadow:"0 1px 3px rgba(0,0,0,0.2)",transition:"left 200ms var(--ease-spring)"}})})}function k(){var e,a,l,o,k,C,S,w,z,B,R,E,F,W,N,I,M,T,A,D,P,L,O,G,H,_,V,U,q,J,K,Y,$,Q,X,Z,ee,ea,el,et,er,en,eo,ei,es,ed,ec,eu,ev,ep,eg,ex,eh,eb,em,ef,ey,ej,ek,eC,eS,ew,ez,eB,eR;let{settings:eE,setAccentColor:eF,setPortalName:eW,setPortalSubtitle:eN,setOperatorName:eI,setPortalEmoji:eM,setLanguage:eT,resetAll:eA}=(0,v.t0)(),{theme:eD,setTheme:eP}=(0,p.D)(),[eL,eO]=(0,r.useState)(null!=(et=eE.portalName)?et:""),[eG,eH]=(0,r.useState)(null!=(er=eE.portalSubtitle)?er:""),[e_,eV]=(0,r.useState)(null!=(en=eE.operatorName)?en:""),[eU,eq]=(0,r.useState)(null!=(eo=eE.portalEmoji)?eo:""),[eJ,eK]=(0,r.useState)(null!=(ei=eE.language)?ei:"English"),[eY,e$]=(0,r.useState)(null!=(es=eE.accentColor)?es:""),[eQ,eX]=(0,r.useState)({}),[eZ,e0]=(0,r.useState)(!0),[e1,e2]=(0,r.useState)(null),[e4,e3]=(0,r.useState)(!1),[e6,e5]=(0,r.useState)(null);function e7(){e0(!0),x.F.getConfig().then(e=>{eX(e),e2(null)}).catch(e=>e2(e.message)).finally(()=>e0(!1))}function e8(e,a){eX(l=>{let t=structuredClone(l),r=t;for(let a=0;a<e.length-1;a++)r[e[a]]&&"object"==typeof r[e[a]]||(r[e[a]]={}),r=r[e[a]];return r[e[e.length-1]]=a,t})}return(0,r.useEffect)(()=>{var e,a,l,t,r,n;eO(null!=(e=eE.portalName)?e:""),eH(null!=(a=eE.portalSubtitle)?a:""),eV(null!=(l=eE.operatorName)?l:""),eq(null!=(t=eE.portalEmoji)?t:""),eK(null!=(r=eE.language)?r:"English"),e$(null!=(n=eE.accentColor)?n:"")},[eE.portalName,eE.portalSubtitle,eE.operatorName,eE.portalEmoji,eE.language,eE.accentColor]),(0,r.useEffect)(()=>{e7()},[]),(0,t.jsx)(u.M,{children:(0,t.jsx)("div",{className:"h-full overflow-y-auto",style:{background:"var(--bg)"},children:(0,t.jsxs)("div",{style:{maxWidth:640,margin:"0 auto",padding:"var(--space-6) var(--space-4) var(--space-12)"},children:[(0,t.jsx)("h1",{style:{fontSize:"var(--text-title1)",fontWeight:"var(--weight-bold)",letterSpacing:"var(--tracking-tight)",color:"var(--text-primary)",margin:"0 0 var(--space-6)"},children:"Settings"}),(0,t.jsxs)(b,{title:"Appearance",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",color:"var(--text-secondary)",marginBottom:"var(--space-2)"},children:"Theme"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"var(--space-2)",marginBottom:"var(--space-4)"},children:g.z.map(e=>{let a=eD===e.id;return(0,t.jsxs)("button",{onClick:()=>eP(e.id),style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"var(--space-1)",padding:"var(--space-3) var(--space-2)",borderRadius:"var(--radius-md)",background:"var(--fill-quaternary)",border:a?"2px solid var(--accent)":"2px solid var(--separator)",cursor:"pointer",transition:"all 150ms var(--ease-smooth)"},children:[(0,t.jsx)("span",{style:{fontSize:24},children:e.emoji}),(0,t.jsx)("span",{style:{fontSize:"var(--text-caption2)",fontWeight:a?"var(--weight-semibold)":"var(--weight-medium)",color:a?"var(--accent)":"var(--text-secondary)"},children:e.label})]},e.id)})}),(0,t.jsx)("div",{style:{fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",color:"var(--text-secondary)",marginBottom:"var(--space-2)"},children:"Accent Color"}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-2)",marginBottom:"var(--space-3)"},children:h.map(e=>{let a=eE.accentColor===e.value;return(0,t.jsx)("button",{onClick:()=>eF(e.value),"aria-label":e.label,title:e.label,style:{width:32,height:32,borderRadius:"50%",background:e.value,border:a?"2px solid var(--text-primary)":"2px solid transparent",outline:a?"2px solid ".concat(e.value):"none",outlineOffset:2,cursor:"pointer",transition:"all 100ms var(--ease-smooth)",display:"flex",alignItems:"center",justifyContent:"center"},children:a&&(0,t.jsx)(n.A,{size:14,color:"#fff",strokeWidth:3})},e.value)})}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)"},children:[(0,t.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",fontSize:"var(--text-footnote)",color:"var(--text-secondary)",cursor:"pointer"},children:["Custom:",(0,t.jsx)("input",{type:"color",value:null!=(ed=eE.accentColor)?ed:"#3B82F6",onChange:e=>eF(e.target.value),style:{width:28,height:28,border:"none",borderRadius:"50%",cursor:"pointer",background:"none",padding:0}})]}),(0,t.jsx)("input",{type:"text",placeholder:"#3B82F6",value:eY,onChange:e=>{e$(e.target.value),/^#[0-9a-fA-F]{6}$/.test(e.target.value)&&eF(e.target.value)},className:"apple-input",style:{width:90,padding:"4px 8px",fontSize:"var(--text-caption1)",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",color:"var(--text-primary)",fontFamily:"monospace"}}),eE.accentColor&&(0,t.jsxs)("button",{onClick:()=>eF(null),style:{fontSize:"var(--text-footnote)",color:"var(--system-blue)",background:"none",border:"none",cursor:"pointer",padding:0,display:"inline-flex",alignItems:"center",gap:4},children:[(0,t.jsx)(i,{size:12}),"Reset"]})]})]}),(0,t.jsx)(b,{title:"Branding",children:(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Portal Name"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"Jinn",value:eL,onChange:e=>eO(e.target.value),onBlur:()=>{eW(eL||null),x.F.completeOnboarding({portalName:eL||void 0}).catch(()=>{})},style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Portal Subtitle"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"Command Centre",value:eG,onChange:e=>eH(e.target.value),onBlur:()=>eN(eG||null),style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Operator Name"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"Your Name",value:e_,onChange:e=>eV(e.target.value),onBlur:()=>{eI(e_||null),x.F.completeOnboarding({operatorName:e_||void 0}).catch(()=>{})},style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Portal Emoji"}),(0,t.jsx)("input",{type:"text",className:"apple-input",placeholder:"\ud83e\udd16",value:eU,onChange:e=>eq(e.target.value),onBlur:()=>eM(eU||null),style:{width:80,textAlign:"center",fontSize:"var(--text-title2)",padding:"6px 8px",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)"}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{style:{display:"block",fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",marginBottom:"var(--space-1)"},children:"Language"}),(0,t.jsxs)("select",{value:eJ,onChange:e=>eK(e.target.value),onBlur:()=>{eT(eJ||"English"),x.F.completeOnboarding({language:eJ||void 0}).catch(()=>{})},style:{width:"100%",background:"var(--bg-secondary)",border:"1px solid var(--separator)",borderRadius:"var(--radius-sm)",padding:"6px 10px",fontSize:"var(--text-footnote)",color:"var(--text-primary)",cursor:"pointer"},children:[(0,t.jsx)("option",{value:"English",children:"English"}),(0,t.jsx)("option",{value:"Spanish",children:"Spanish"}),(0,t.jsx)("option",{value:"French",children:"French"}),(0,t.jsx)("option",{value:"German",children:"German"}),(0,t.jsx)("option",{value:"Portuguese",children:"Portuguese"}),(0,t.jsx)("option",{value:"Italian",children:"Italian"}),(0,t.jsx)("option",{value:"Dutch",children:"Dutch"}),(0,t.jsx)("option",{value:"Russian",children:"Russian"}),(0,t.jsx)("option",{value:"Chinese",children:"Chinese"}),(0,t.jsx)("option",{value:"Japanese",children:"Japanese"}),(0,t.jsx)("option",{value:"Korean",children:"Korean"}),(0,t.jsx)("option",{value:"Arabic",children:"Arabic"}),(0,t.jsx)("option",{value:"Hindi",children:"Hindi"}),(0,t.jsx)("option",{value:"Bulgarian",children:"Bulgarian"})]})]})]})}),e6&&(0,t.jsx)("div",{style:{marginBottom:"var(--space-4)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-md)",background:"success"===e6.type?"rgba(34,197,94,0.1)":"rgba(239,68,68,0.1)",border:"1px solid ".concat("success"===e6.type?"rgba(34,197,94,0.3)":"rgba(239,68,68,0.3)"),fontSize:"var(--text-footnote)",color:"success"===e6.type?"var(--system-green)":"var(--system-red)"},children:e6.message}),eZ?(0,t.jsxs)("div",{style:{textAlign:"center",padding:"var(--space-8)",color:"var(--text-tertiary)",fontSize:"var(--text-footnote)"},children:[(0,t.jsx)(s,{size:20,style:{animation:"spin 1s linear infinite",margin:"0 auto var(--space-2)"}}),"Loading gateway config..."]}):e1?(0,t.jsxs)("div",{style:{marginBottom:"var(--space-6)",padding:"var(--space-3) var(--space-4)",borderRadius:"var(--radius-md)",background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.3)",fontSize:"var(--text-footnote)",color:"var(--system-red)"},children:["Failed to load config: ",e1]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(b,{title:"Gateway Configuration",children:[(0,t.jsx)(m,{label:"Port",children:(0,t.jsx)(f,{type:"number",value:String(null!=(ec=null==(e=eQ.gateway)?void 0:e.port)?ec:""),onChange:e=>e8(["gateway","port"],Number(e)||0),placeholder:"7777"})}),(0,t.jsx)(m,{label:"Host",children:(0,t.jsx)(f,{value:null!=(eu=null==(a=eQ.gateway)?void 0:a.host)?eu:"",onChange:e=>e8(["gateway","host"],e),placeholder:"127.0.0.1"})}),(0,t.jsx)(m,{label:"Default Engine",children:(0,t.jsx)(y,{value:null!=(ev=null==(l=eQ.engines)?void 0:l.default)?ev:"claude",onChange:e=>e8(["engines","default"],e),options:[{value:"claude",label:"Claude"},{value:"codex",label:"Codex"}]})})]}),(0,t.jsxs)(b,{title:"Engine Configuration",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Claude"}),(0,t.jsx)(m,{label:"Binary Path",children:(0,t.jsx)(f,{value:null!=(ep=null==(k=eQ.engines)||null==(o=k.claude)?void 0:o.bin)?ep:"",onChange:e=>e8(["engines","claude","bin"],e),placeholder:"claude"})}),(0,t.jsx)(m,{label:"Model",children:(0,t.jsx)(y,{value:null!=(eg=null==(S=eQ.engines)||null==(C=S.claude)?void 0:C.model)?eg:"opus",onChange:e=>e8(["engines","claude","model"],e),options:[{value:"opus",label:"Opus (claude-opus-4-6)"},{value:"sonnet",label:"Sonnet (claude-sonnet-4-6)"},{value:"haiku",label:"Haiku (claude-haiku-4-5)"}]})}),(0,t.jsx)(m,{label:"Effort Level",children:(0,t.jsx)(y,{value:null!=(ex=null==(z=eQ.engines)||null==(w=z.claude)?void 0:w.effortLevel)?ex:"default",onChange:e=>e8(["engines","claude","effortLevel"],e),options:[{value:"default",label:"Default"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}]})}),(0,t.jsx)("div",{style:{borderTop:"1px solid var(--separator)",marginTop:"var(--space-3)",paddingTop:"var(--space-3)"}}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Codex"}),(0,t.jsx)(m,{label:"Binary Path",children:(0,t.jsx)(f,{value:null!=(eh=null==(R=eQ.engines)||null==(B=R.codex)?void 0:B.bin)?eh:"",onChange:e=>e8(["engines","codex","bin"],e),placeholder:"codex"})}),(0,t.jsx)(m,{label:"Model",children:(0,t.jsx)(y,{value:null!=(eb=null==(F=eQ.engines)||null==(E=F.codex)?void 0:E.model)?eb:"gpt-5.4",onChange:e=>e8(["engines","codex","model"],e),options:[{value:"gpt-5.4",label:"GPT-5.4"},{value:"gpt-5.3-codex",label:"GPT-5.3 Codex"},{value:"gpt-5.2-codex",label:"GPT-5.2 Codex"},{value:"gpt-5.2",label:"GPT-5.2"},{value:"gpt-5.1-codex-max",label:"GPT-5.1 Codex Max"},{value:"gpt-5.1-codex-mini",label:"GPT-5.1 Codex Mini"}]})}),(0,t.jsx)(m,{label:"Effort Level",children:(0,t.jsx)(y,{value:null!=(em=null==(N=eQ.engines)||null==(W=N.codex)?void 0:W.effortLevel)?em:"default",onChange:e=>e8(["engines","codex","effortLevel"],e),options:[{value:"default",label:"Default"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"xhigh",label:"Extra High"}]})})]}),(0,t.jsxs)(b,{title:"Connectors",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Slack"}),(0,t.jsx)(m,{label:"App Token",children:(0,t.jsx)(f,{type:"password",value:null!=(ef=null==(M=eQ.connectors)||null==(I=M.slack)?void 0:I.appToken)?ef:"",onChange:e=>e8(["connectors","slack","appToken"],e),placeholder:"xapp-..."})}),(0,t.jsx)(m,{label:"Bot Token",children:(0,t.jsx)(f,{type:"password",value:null!=(ey=null==(A=eQ.connectors)||null==(T=A.slack)?void 0:T.botToken)?ey:"",onChange:e=>e8(["connectors","slack","botToken"],e),placeholder:"xoxb-..."})}),(0,t.jsx)(m,{label:"Share Session in Channel",children:(0,t.jsx)(j,{checked:null!=(ej=null==(P=eQ.connectors)||null==(D=P.slack)?void 0:D.shareSessionInChannel)&&ej,onChange:e=>e8(["connectors","slack","shareSessionInChannel"],e)})}),(0,t.jsx)(m,{label:"Allowed Users",children:(0,t.jsx)(f,{value:Array.isArray(null==(O=eQ.connectors)||null==(L=O.slack)?void 0:L.allowFrom)?null==(_=eQ.connectors)||null==(H=_.slack)||null==(G=H.allowFrom)?void 0:G.join(", "):null!=(ek=null==(U=eQ.connectors)||null==(V=U.slack)?void 0:V.allowFrom)?ek:"",onChange:e=>e8(["connectors","slack","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"U123, U456"})}),(0,t.jsx)(m,{label:"Ignore Old Messages on Boot",children:(0,t.jsx)(j,{checked:null==(eC=null==(J=eQ.connectors)||null==(q=J.slack)?void 0:q.ignoreOldMessagesOnBoot)||eC,onChange:e=>e8(["connectors","slack","ignoreOldMessagesOnBoot"],e)})}),(0,t.jsx)("div",{style:{borderTop:"1px solid var(--separator)",marginTop:"var(--space-3)",paddingTop:"var(--space-3)"}}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Web UI"}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption2)",color:"var(--text-tertiary)"},children:"Web conversations use queued one-shot resume flow for both engines."})]}),(0,t.jsxs)(b,{title:"Cron",children:[(0,t.jsx)("div",{style:{fontSize:"var(--text-caption1)",fontWeight:"var(--weight-semibold)",color:"var(--text-tertiary)",marginBottom:"var(--space-2)"},children:"Default Delivery"}),(0,t.jsx)("div",{style:{fontSize:"var(--text-caption2)",color:"var(--text-tertiary)",marginBottom:"var(--space-3)"},children:"When a cron job has no delivery configured, results will be sent here."}),(0,t.jsx)(m,{label:"Connector",children:(0,t.jsx)(y,{value:null!=(eS=null==(Y=eQ.cron)||null==(K=Y.defaultDelivery)?void 0:K.connector)?eS:"",onChange:e=>e8(["cron","defaultDelivery","connector"],e||void 0),options:[{value:"",label:"None (fire & forget)"},{value:"web",label:"Web"},{value:"slack",label:"Slack"}]})}),(null==(Q=eQ.cron)||null==($=Q.defaultDelivery)?void 0:$.connector)&&(0,t.jsx)(m,{label:"Channel",children:(0,t.jsx)(f,{value:null!=(ew=null==(Z=eQ.cron)||null==(X=Z.defaultDelivery)?void 0:X.channel)?ew:"",onChange:e=>e8(["cron","defaultDelivery","channel"],e),placeholder:"#general"})})]}),(0,t.jsxs)(b,{title:"Logging",children:[(0,t.jsx)(m,{label:"Level",children:(0,t.jsx)(y,{value:null!=(ez=null==(ee=eQ.logging)?void 0:ee.level)?ez:"info",onChange:e=>e8(["logging","level"],e),options:[{value:"debug",label:"Debug"},{value:"info",label:"Info"},{value:"warn",label:"Warn"},{value:"error",label:"Error"}]})}),(0,t.jsx)(m,{label:"Stdout",children:(0,t.jsx)(j,{checked:null==(eB=null==(ea=eQ.logging)?void 0:ea.stdout)||eB,onChange:e=>e8(["logging","stdout"],e)})}),(0,t.jsx)(m,{label:"File Logging",children:(0,t.jsx)(j,{checked:null!=(eR=null==(el=eQ.logging)?void 0:el.file)&&eR,onChange:e=>e8(["logging","file"],e)})})]}),(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"var(--space-3)",marginBottom:"var(--space-6)"},children:[(0,t.jsxs)("button",{onClick:()=>e7(),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md)",background:"var(--fill-tertiary)",color:"var(--text-secondary)",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-medium)",display:"inline-flex",alignItems:"center",gap:6},children:[(0,t.jsx)(i,{size:14}),"Reload"]}),(0,t.jsxs)("button",{onClick:function(){e3(!0),e5(null),x.F.updateConfig(eQ).then(()=>e5({type:"success",message:"Settings saved successfully"})).catch(e=>e5({type:"error",message:"Failed to save: ".concat(e.message)})).finally(()=>e3(!1))},disabled:e4,style:{padding:"var(--space-2) var(--space-5)",borderRadius:"var(--radius-md)",background:"var(--accent)",color:"var(--accent-contrast)",border:"none",cursor:e4?"wait":"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",display:"inline-flex",alignItems:"center",gap:6,opacity:e4?.7:1,transition:"all 150ms var(--ease-smooth)"},children:[(0,t.jsx)(d,{size:14}),e4?"Saving...":"Save Config"]})]})]}),(0,t.jsx)(b,{title:"Reset",children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"var(--space-3)",flexWrap:"wrap"},children:[(0,t.jsxs)("button",{onClick:()=>{localStorage.removeItem("jinn-onboarded"),window.location.reload()},style:{padding:"var(--space-2) var(--space-5)",borderRadius:"var(--radius-md)",background:"var(--accent)",color:"var(--accent-contrast)",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",transition:"all 150ms var(--ease-spring)",display:"inline-flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,t.jsx)(i,{size:14}),"Re-run Onboarding Wizard"]}),(0,t.jsxs)("button",{onClick:()=>{window.confirm("Reset all settings to defaults?")&&(localStorage.removeItem("jinn-settings"),localStorage.removeItem("jinn-theme"),eA(),window.location.reload())},style:{padding:"var(--space-2) var(--space-5)",borderRadius:"var(--radius-md)",background:"var(--system-red)",color:"#fff",border:"none",cursor:"pointer",fontSize:"var(--text-footnote)",fontWeight:"var(--weight-semibold)",transition:"all 150ms var(--ease-spring)",display:"inline-flex",alignItems:"center",gap:"var(--space-2)"},children:[(0,t.jsx)(c,{size:14}),"Reset All Settings"]})]})})]})})})}}},e=>{e.O(0,[704,73,814,743,358],()=>e(e.s=7649)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[501],{1240:(e,t,a)=>{"use strict";a.d(t,{lG:()=>l,Cf:()=>c,rr:()=>x,c7:()=>p,L3:()=>m});var r=a(8111);a(5271);var n=a(1061),s=a(6573),o=a(1397);function l(e){let{...t}=e;return(0,r.jsx)(s.bL,{"data-slot":"dialog",...t})}function i(e){let{...t}=e;return(0,r.jsx)(s.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(s.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function c(e){let{className:t,children:a,showCloseButton:l=!0,...c}=e;return(0,r.jsxs)(i,{"data-slot":"dialog-portal",children:[(0,r.jsx)(d,{}),(0,r.jsxs)(s.UC,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...c,children:[a,l&&(0,r.jsxs)(s.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(n.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function m(e){let{className:t,...a}=e;return(0,r.jsx)(s.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...a})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(s.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}(0,a(3916).F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--system-blue)]",{variants:{variant:{default:"bg-[var(--accent)] text-black font-semibold btn-scale hover:shadow-[0_0_24px_var(--accent-fill)]",destructive:"bg-[var(--system-red)] text-white btn-scale",outline:"border border-[var(--separator)] bg-transparent shadow-[var(--shadow-subtle)] hover:bg-[var(--fill-secondary)] hover:text-[var(--text-primary)]",secondary:"bg-[var(--accent-fill)] text-[var(--accent)] font-semibold btn-scale",ghost:"bg-transparent text-[var(--text-secondary)] hover:bg-[var(--fill-secondary)] hover:text-[var(--text-primary)]",link:"text-[var(--system-blue)] underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 text-sm 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 rounded-md gap-1.5 px-3 text-sm has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 text-base 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"}})},1397:(e,t,a)=>{"use strict";a.d(t,{cn:()=>s});var r=a(5242),n=a(3065);function s(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,r.$)(t))}},2496:(e,t,a)=>{Promise.resolve().then(a.bind(a,3209))},3209:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var r=a(8111),n=a(5271),s=a(3176);let o={"&":"&","<":"<",">":">",'"':""","'":"'"},l=/[&<>"']/g,i=[{name:"h4",pattern:/^#### (.+)$/gm,replacement:'<h4 class="text-[15px] font-semibold" style="color:var(--text-primary);margin-top:1rem;margin-bottom:0.25rem">$1</h4>'},{name:"h3",pattern:/^### (.+)$/gm,replacement:'<h3 class="text-[17px] font-semibold" style="color:var(--text-primary);margin-top:1.25rem;margin-bottom:0.375rem">$1</h3>'},{name:"h2",pattern:/^## (.+)$/gm,replacement:'<h2 class="text-[22px] font-semibold" style="color:var(--text-primary);margin-top:1.5rem;margin-bottom:0.5rem;padding-bottom:0.25rem;border-bottom:1px solid var(--separator)">$1</h2>'},{name:"h1",pattern:/^# (.+)$/gm,replacement:'<h1 class="text-[28px] font-bold" style="color:var(--text-primary);margin-top:1rem;margin-bottom:0.75rem">$1</h1>'},{name:"bold",pattern:/\*\*(.+?)\*\*/g,replacement:'<strong class="font-semibold" style="color:var(--text-primary)">$1</strong>'},{name:"inline-code",pattern:/`([^`]+)`/g,replacement:'<code style="background:var(--fill-secondary);color:var(--accent);padding:2px 6px;border-radius:6px;font-size:13px;font-family:var(--font-mono)">$1</code>'},{name:"unordered-list",pattern:/^- (.+)$/gm,replacement:'<li class="ml-4 text-[15px] leading-[1.7] list-disc" style="color:var(--text-secondary)">$1</li>'},{name:"ordered-list",pattern:/^(\d+)\. (.+)$/gm,replacement:'<li class="ml-4 text-[15px] leading-[1.7] list-decimal" style="color:var(--text-secondary)">$2</li>'},{name:"paragraph-break",pattern:/\n{2,}/g,replacement:'</p><p class="mb-3" style="color:var(--text-secondary)">'},{name:"line-break",pattern:/\n/g,replacement:"<br/>"}];var d=a(3073),c=a(9772),p=a(1240),m=a(9026),x=a(2755);function v(){var e,t;let{settings:a}=(0,x.t0)(),v=null!=(e=a.portalName)?e:"Jinn",[u,g]=(0,n.useState)([]),[h,f]=(0,n.useState)(!0),[b,y]=(0,n.useState)(null),[j,k]=(0,n.useState)(null),[w,z]=(0,n.useState)(null),[S,N]=(0,n.useState)(!1),[_,C]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{s.F.getSkills().then(e=>g(e)).catch(e=>y(e.message)).finally(()=>f(!1))},[]),(0,r.jsx)(d.M,{children:(0,r.jsxs)("div",{style:{height:"100%",overflowY:"auto",padding:"var(--space-6)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"var(--space-6)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{style:{fontSize:"var(--text-title2)",fontWeight:"var(--weight-bold)",color:"var(--text-primary)",marginBottom:"var(--space-1)"},children:"Skills"}),(0,r.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-tertiary)"},children:"Capabilities and learned behaviors"})]}),(0,r.jsx)("button",{onClick:()=>alert("To create a new skill, chat with ".concat(v," and ask to learn something new.")),style:{padding:"var(--space-2) var(--space-4)",borderRadius:"var(--radius-md, 12px)",background:"color-mix(in srgb, var(--accent) 12%, transparent)",color:"var(--accent)",border:"none",cursor:"pointer",fontSize:"var(--text-body)",fontWeight:"var(--weight-medium)"},children:"+ Create Skill"})]}),b&&(0,r.jsxs)("div",{style:{marginBottom:"var(--space-4)",borderRadius:"var(--radius-md, 12px)",background:"color-mix(in srgb, var(--system-red) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--system-red) 30%, transparent)",padding:"var(--space-3) var(--space-4)",fontSize:"var(--text-body)",color:"var(--system-red)"},children:["Failed to load skills: ",b]}),h?(0,r.jsx)("div",{style:{textAlign:"center",padding:"var(--space-8)",color:"var(--text-tertiary)",fontSize:"var(--text-body)"},children:"Loading..."}):0!==u.length||b?(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"var(--space-4)"},children:u.map(e=>(0,r.jsx)(c.Zp,{className:"py-4 cursor-pointer transition-colors hover:border-[var(--accent)]",onClick:()=>{k(e),C(!0),N(!0),s.F.getSkill(e.name).then(e=>{z(e.content||e.skillMd||JSON.stringify(e,null,2))}).catch(()=>z("Failed to load skill content")).finally(()=>N(!1))},style:{cursor:"pointer"},children:(0,r.jsxs)(c.Wu,{className:"flex flex-col gap-3",children:[(0,r.jsx)("div",{style:{width:40,height:40,borderRadius:"var(--radius-md, 12px)",background:"color-mix(in srgb, var(--system-yellow) 12%, transparent)",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--system-yellow)"},children:(0,r.jsx)(m.A,{size:20})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{style:{fontSize:"var(--text-body)",fontWeight:"var(--weight-semibold)",color:"var(--text-primary)",marginBottom:2},children:e.name}),(0,r.jsx)("p",{style:{fontSize:"var(--text-caption1)",color:"var(--text-tertiary)",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:e.description||"No description"})]})]})},e.name))}):(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.Wu,{children:(0,r.jsxs)("div",{style:{textAlign:"center",padding:"var(--space-6)"},children:[(0,r.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-tertiary)"},children:"No skills yet"}),(0,r.jsxs)("p",{style:{fontSize:"var(--text-caption1)",color:"var(--text-quaternary)",marginTop:"var(--space-1)"},children:["Chat with ",v," to teach new skills"]})]})})}),(0,r.jsx)(p.lG,{open:_,onOpenChange:e=>!e&&void(C(!1),k(null),z(null)),children:(0,r.jsxs)(p.Cf,{className:"sm:max-w-2xl max-h-[80vh] flex flex-col",children:[(0,r.jsxs)(p.c7,{children:[(0,r.jsx)(p.L3,{children:null!=(t=null==j?void 0:j.name)?t:"Skill"}),(0,r.jsx)(p.rr,{children:(null==j?void 0:j.description)||"Skill details"})]}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"var(--space-2) 0"},children:S?(0,r.jsx)("p",{style:{fontSize:"var(--text-body)",color:"var(--text-tertiary)"},children:"Loading..."}):w?(0,r.jsx)("div",{style:{fontSize:"var(--text-body)",lineHeight:1.7,color:"var(--text-secondary)"},dangerouslySetInnerHTML:{__html:function(e,t){let a=e.replace(l,e=>o[e]);for(let e of i)a=a.replace(e.pattern,e.replacement);return a}(w)}}):null})]})})]})})}},9772:(e,t,a)=>{"use strict";a.d(t,{Wu:()=>i,ZB:()=>l,Zp:()=>s,aR:()=>o});var r=a(8111);a(5271);var n=a(1397);function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function o(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...a})}function i(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...a})}}},e=>{e.O(0,[704,590,198,573,73,814,743,358],()=>e(e.s=2496)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{5377:()=>{},6995:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,7698,23)),Promise.resolve().then(n.t.bind(n,3339,23)),Promise.resolve().then(n.t.bind(n,4033,23)),Promise.resolve().then(n.t.bind(n,5754,23)),Promise.resolve().then(n.t.bind(n,8954,23)),Promise.resolve().then(n.t.bind(n,6658,23)),Promise.resolve().then(n.t.bind(n,5640,23)),Promise.resolve().then(n.t.bind(n,2051,23)),Promise.resolve().then(n.bind(n,4970))}},e=>{var s=s=>e(e.s=s);e.O(0,[814,743],()=>(s(3294),s(6995))),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;--font-mono:"SF Mono",Monaco,Menlo,"Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-700:oklch(55.5% .163 48.998);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-700:oklch(49.6% .265 301.924);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.41px;--tracking-wide:.07em;--leading-tight:1.15;--leading-normal:1.47;--leading-relaxed:1.65;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--text-caption2:11px;--text-caption1:12px;--text-footnote:13px;--text-subheadline:15px;--text-body:17px;--text-title3:20px;--text-title2:22px;--text-title1:28px;--text-large-title:34px;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--animate-fade-in:fadeIn .2s ease-out}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-64{height:calc(var(--spacing) * 64)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100\%-48px\)\]{height:calc(100% - 48px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-5{width:calc(var(--spacing) * 5)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-fade-in{animation:var(--animate-fade-in)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-1) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-2) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-2) * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[var\(--separator\)\]{border-color:var(--separator)}.border-amber-200{border-color:var(--color-amber-200)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--accent-fill\)\]{background-color:var(--accent-fill)}.bg-\[var\(--system-red\)\]{background-color:var(--system-red)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing) * 0)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[28px\]{font-size:28px}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--system-blue\)\]{color:var(--system-blue)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-700{color:var(--color-blue-700)}.text-green-700{color:var(--color-green-700)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-purple-700{color:var(--color-purple-700)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow-\[var\(--shadow-subtle\)\]{--tw-shadow:var(--shadow-subtle)}.shadow-\[var\(--shadow-subtle\)\],.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media (hover:hover){.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:bg-\[var\(--fill-secondary\)\]:hover{background-color:var(--fill-secondary)}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_24px_var\(--accent-fill\)\]:hover{--tw-shadow:0 0 24px var(--tw-shadow-color,var(--accent-fill));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--system-blue\)\]:focus-visible{outline-color:var(--system-blue)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:text-left{text-align:left}}@media (min-width:64rem){.lg\:ml-\[56px\]{margin-left:56px}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-full{height:100%}}@media (prefers-color-scheme:dark){.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media (hover:hover){a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root,[data-theme=dark]{--bg:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--material-regular:#1c1c1eeb;--material-thick:#161618f5;--material-thin:#ffffff0f;--material-ultra-thin:#ffffff0a;--fill-primary:#7878805c;--fill-secondary:#78788052;--fill-tertiary:#7676803d;--fill-quaternary:#7676802e;--separator:#54545899;--separator-opaque:#38383a;--text-primary:#fff;--text-secondary:#ebebf599;--text-tertiary:#ebebf54d;--text-quaternary:#ebebf52e;--accent:#ef4444;--accent-fill:#ef444426;--accent-contrast:#fff;--system-blue:#0a84ff;--system-green:#30d158;--system-red:#ff453a;--system-orange:#ff9f0a;--system-purple:#bf5af2;--inset-shine:inset 0 1px 0 #ffffff14;--shadow-subtle:0 1px 2px #0003;--shadow-ambient:0 0 0 .5px #0003;--shadow-key:0 4px 16px #0006;--shadow-card:0 0 0 .5px #0003,0 4px 16px #0006,inset 0 1px 0 #ffffff14;--shadow-overlay:0 0 0 .5px #0000004d,0 16px 48px #0009,inset 0 1px 0 #ffffff0f;--code-bg:#ffffff0f;--code-border:#ffffff1a;--code-text:#e5e5ea;--sidebar-bg:#1c1c1eeb;--sidebar-backdrop:blur(40px) saturate(180%);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--ease-snappy:cubic-bezier(.2,0,0,1)}[data-theme=glass]{--bg:#0d0d18;--bg-secondary:#141420;--bg-tertiary:#1e1e30;--material-regular:#ffffff12;--material-thick:#ffffff1a;--material-thin:#ffffff0f;--material-ultra-thin:#ffffff0a;--fill-primary:#ffffff29;--fill-secondary:#ffffff1f;--fill-tertiary:#ffffff14;--fill-quaternary:#ffffff0d;--separator:#ffffff24;--separator-opaque:#ffffff2e;--text-primary:#fff;--text-secondary:#fff9;--text-tertiary:#ffffff4d;--text-quaternary:#ffffff2e;--accent:#ef4444;--accent-fill:#ef44442e;--accent-contrast:#fff;--system-blue:#3b9eff;--system-green:#34d058;--system-red:#ff5c57;--system-orange:#ffb340;--system-purple:#cc6ff0;--inset-shine:inset 0 1px 0 #ffffff26;--shadow-subtle:0 1px 3px #00000040;--shadow-ambient:0 0 0 .5px #ffffff0f;--shadow-key:0 8px 32px #00000073;--shadow-card:0 0 0 .5px #ffffff0f,0 8px 32px #0006,inset 0 1px 0 #ffffff26;--shadow-overlay:0 0 0 .5px #ffffff14,0 16px 56px #0000008c,inset 0 1px 0 #ffffff1f;--code-bg:#ffffff12;--code-border:#ffffff1f;--code-text:#e5e5ea;--sidebar-bg:#ffffff0d;--sidebar-backdrop:blur(40px) saturate(180%);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--ease-snappy:cubic-bezier(.2,0,0,1)}[data-theme=color]{--bg:#0a0814;--bg-secondary:#16112a;--bg-tertiary:#1e1838;--material-regular:#16112a;--material-thick:#1e1838;--material-thin:#8b5cf61f;--material-ultra-thin:#8b5cf60f;--fill-primary:#8b5cf64d;--fill-secondary:#8b5cf633;--fill-tertiary:#8b5cf624;--fill-quaternary:#8b5cf614;--separator:#8b5cf640;--separator-opaque:#8b5cf659;--text-primary:#fff;--text-secondary:#dcd2ffb3;--text-tertiary:#dcd2ff59;--text-quaternary:#dcd2ff33;--accent:#ef4444;--accent-fill:#ef444433;--accent-contrast:#fff;--system-blue:#60a5fa;--system-green:#34d399;--system-red:#f87171;--system-orange:#fb923c;--system-purple:#c084fc;--inset-shine:inset 0 1px 0 #8b5cf626;--shadow-subtle:0 1px 3px #581c8733;--shadow-ambient:0 0 0 .5px #581c874d;--shadow-key:0 8px 32px #581c8766;--shadow-card:0 0 0 .5px #581c8740,0 4px 24px #581c874d,inset 0 1px 0 #8b5cf626;--shadow-overlay:0 0 0 .5px #581c874d,0 16px 48px #581c8773,inset 0 1px 0 #8b5cf61f;--code-bg:#8b5cf61a;--code-border:#8b5cf633;--code-text:#ddd6fe;--sidebar-bg:#0f0b20;--sidebar-backdrop:blur(40px) saturate(200%);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--ease-snappy:cubic-bezier(.2,0,0,1)}[data-theme=light]{--bg:#f2f2f7;--bg-secondary:#fff;--bg-tertiary:#e5e5ea;--material-regular:#fff;--material-thick:#fffffff7;--material-thin:#00000008;--material-ultra-thin:#00000005;--fill-primary:#78788033;--fill-secondary:#78788029;--fill-tertiary:#7676801f;--fill-quaternary:#76768014;--separator:#3c3c434a;--separator-opaque:#c6c6c8;--text-primary:#000;--text-secondary:#3c3c4399;--text-tertiary:#3c3c4370;--text-quaternary:#3c3c434d;--accent:#dc2626;--accent-fill:#dc26261f;--accent-contrast:#fff;--system-blue:#007aff;--system-green:#28cd41;--system-red:#ff3b30;--system-orange:#ff9500;--system-purple:#af52de;--inset-shine:inset 0 1px 0 #ffffffb3;--shadow-subtle:0 1px 2px #0000000f;--shadow-ambient:0 0 0 .5px #00000014;--shadow-key:0 2px 8px #0000001f,0 8px 24px #00000014;--shadow-card:0 0 0 .5px #0000000f,0 1px 3px #0000000f,0 4px 12px #0000000f,inset 0 1px 0 #ffffffb3;--shadow-overlay:0 0 0 .5px #00000014,0 4px 16px #0000001a,0 16px 48px #0000001f,inset 0 1px 0 #fffc;--code-bg:#0000000a;--code-border:#00000014;--code-text:#1c1c1e;--sidebar-bg:#fff;--sidebar-backdrop:blur(20px) saturate(150%);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--ease-snappy:cubic-bezier(.2,0,0,1)}@media (prefers-color-scheme:light){[data-theme=system]{--bg:#f2f2f7;--bg-secondary:#fff;--bg-tertiary:#e5e5ea;--material-regular:#fff;--material-thick:#fffffff7;--material-thin:#00000008;--material-ultra-thin:#00000005;--fill-primary:#78788033;--fill-secondary:#78788029;--fill-tertiary:#7676801f;--fill-quaternary:#76768014;--separator:#3c3c434a;--separator-opaque:#c6c6c8;--text-primary:#000;--text-secondary:#3c3c4399;--text-tertiary:#3c3c4370;--text-quaternary:#3c3c434d;--accent:#b8860b;--accent-fill:#b8860b1f;--accent-contrast:#fff;--system-blue:#007aff;--system-green:#28cd41;--system-red:#ff3b30;--system-orange:#ff9500;--system-purple:#af52de;--inset-shine:inset 0 1px 0 #ffffffb3;--shadow-subtle:0 1px 2px #0000000f;--shadow-ambient:0 0 0 .5px #00000014;--shadow-key:0 2px 8px #0000001f,0 8px 24px #00000014;--shadow-card:0 0 0 .5px #0000000f,0 1px 3px #0000000f,0 4px 12px #0000000f,inset 0 1px 0 #ffffffb3;--shadow-overlay:0 0 0 .5px #00000014,0 4px 16px #0000001a,0 16px 48px #0000001f,inset 0 1px 0 #fffc;--code-bg:#0000000a;--code-border:#00000014;--code-text:#1c1c1e;--sidebar-bg:#fff;--sidebar-backdrop:blur(20px) saturate(150%);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--ease-snappy:cubic-bezier(.2,0,0,1)}}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif;font-size:var(--text-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7878805c padding-box content-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#78788099 padding-box content-box;border:2px solid #0000}::selection{background:var(--accent-fill);color:var(--text-primary)}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes float-hint{0%,to{transform:translate(0)}50%{transform:translate(-3px,-3px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes bounce-dot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.animate-scale-in{animation:scaleIn .2s var(--ease-spring)}.animate-slide-up{animation:slideUp .25s var(--ease-spring)}.animate-slide-in-right{animation:slideInRight .3s var(--ease-smooth)}.animate-fade-in{animation:fadeIn .2s var(--ease-smooth)}.animate-slide-in{animation:slideIn .2s var(--ease-smooth)}.animate-error-pulse{animation:pulse-red 1.5s ease-in-out infinite}.animate-blink{animation:blink-cursor 1s step-end infinite}.animate-float-hint{animation:float-hint 2s ease-in-out infinite}.animate-shimmer{background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.animate-slide-down{animation:slideDown .25s var(--ease-smooth) forwards}.animate-slide-up-enter{animation:slideUp .25s var(--ease-smooth) forwards}.animate-scale-up{animation:scaleUp .2s var(--ease-spring) forwards}.animate-fade-out{animation:fadeOut .15s forwards}@keyframes panelSlideIn{0%{opacity:.8;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.panel-slide-in{animation:panelSlideIn .35s cubic-bezier(.32,.72,0,1) both}.backdrop-fade{animation:fadeIn .2s ease-out both}.hover-lift{transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-smooth)}.hover-lift:hover{box-shadow:var(--shadow-key);transform:translateY(-2px)}.hover-lift:active{transition-duration:.1s;transform:translateY(0)scale(.98)}.hover-bg{transition:background-color .15s var(--ease-smooth)}.hover-bg:hover{background-color:var(--fill-secondary)}.hover-bg:active{background-color:var(--fill-tertiary)}.btn-scale{transition:transform .15s var(--ease-spring),box-shadow .15s var(--ease-smooth)}.btn-scale:hover{transform:scale(.98)}.btn-scale:active{transform:scale(.96)}.btn-primary{background:var(--accent);color:var(--accent-contrast);font-weight:var(--weight-semibold);cursor:pointer;transition:all .15s var(--ease-spring);border:none}.btn-primary:hover{box-shadow:0 0 24px var(--accent-fill);transform:scale(.98)}.btn-primary:active{transform:scale(.96)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--text-secondary);cursor:pointer;transition:all .15s var(--ease-smooth);background:0 0;border:none}.btn-ghost:hover{background:var(--fill-secondary);color:var(--text-primary)}.focus-ring:focus-visible{outline:2px solid var(--system-blue);outline-offset:2px}.nav-item{transition:background-color .15s var(--ease-smooth),color .15s var(--ease-smooth);border-radius:var(--radius-sm)}.nav-item.active,.nav-item:hover{background:var(--fill-secondary)}.nav-item.active{color:var(--accent)}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{border:1px solid var(--separator);border-radius:var(--radius-md)}.react-flow__controls,.react-flow__minimap{overflow:hidden;background:var(--material-regular)!important}.react-flow__controls{box-shadow:var(--shadow-card);border:1px solid var(--separator)!important;border-radius:var(--radius-md)!important}.react-flow__controls-button{background:var(--material-regular)!important;border-color:var(--separator)!important;color:var(--text-secondary)!important}.react-flow__controls-button:hover{background:var(--material-thin)!important;color:var(--text-primary)!important}.react-flow__edge-path{opacity:.85;stroke-width:1.5px}.react-flow__node{transition:transform .2s var(--ease-spring)}.apple-card{background:var(--material-thin);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--separator);-webkit-backdrop-filter:blur(20px)saturate(180%)}.apple-input{background:var(--fill-tertiary);border-radius:var(--radius-md);color:var(--text-primary);transition:box-shadow .2s var(--ease-smooth);border:none;outline:none;padding:11px 16px;font-size:15px}.apple-input::placeholder{color:var(--text-tertiary)}.apple-input:focus{box-shadow:0 0 0 4px #0a84ff4d}.apple-btn-primary{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-md);cursor:pointer;transition:all .15s var(--ease-spring);border:none;padding:14px 20px;font-size:15px;font-weight:600}.apple-btn-primary:hover{filter:brightness(1.05);transform:scale(.98)}.apple-btn-primary:active{transform:scale(.96)}.apple-btn-secondary{background:var(--accent-fill);color:var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:all .15s var(--ease-spring);border:none;padding:14px 20px;font-size:15px;font-weight:600}.apple-btn-secondary:hover{filter:brightness(1.08)}[data-theme=glass] body{background:radial-gradient(at 30% 20%,#1a1040 0,#0d0d18 40%,#050510 100%);min-height:100vh}.glass-orbs{display:none}[data-theme=glass] .glass-orbs{display:block}[data-theme=color] body{background:linear-gradient(135deg,#0a0814,#0f0b20 50%,#0a0814)}[data-theme=color] .react-flow__node>div{background:linear-gradient(#16112a,#16112a) padding-box padding-box,linear-gradient(135deg,#8b5cf680,#f5c5184d) border-box!important;border:1px solid #0000!important}[data-theme=color] .react-flow__edge-path{stroke:#8b5cf673!important}[data-theme=light] .react-flow__edge-path{stroke:#3c3c4340!important}[data-theme=light] .apple-card{box-shadow:var(--shadow-card)!important;background:#fff!important;border:1px solid #3c3c431f!important}[data-theme=light] .apple-input:focus{box-shadow:0 0 0 4px #007aff40}[data-theme=light] .msg-user{background:var(--system-blue)!important;color:#fff!important}[data-theme=light] .msg-assistant{color:#000!important;background:#fff!important;border:1px solid #3c3c431f!important;box-shadow:0 1px 4px #0000000f!important}.msg-user pre{background:#00000026!important}.msg-user code,.msg-user pre{color:var(--accent-contrast)!important}.msg-user code{background:#0000001f!important}.typing-dot{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:bounce-dot 1.2s ease-in-out infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
|
/package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Tn0FXDHalXGkNoojna-vg}/_buildManifest.js
RENAMED
|
File without changes
|
/package/dist/web/_next/static/{jt8R5JvUgfB9CMfFwWFr0 → Tn0FXDHalXGkNoojna-vg}/_ssgManifest.js
RENAMED
|
File without changes
|