jinn-cli 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/src/engines/claude.d.ts.map +1 -1
  2. package/dist/src/engines/claude.js +9 -0
  3. package/dist/src/engines/claude.js.map +1 -1
  4. package/dist/src/gateway/__tests__/api-last-n.test.d.ts +2 -0
  5. package/dist/src/gateway/__tests__/api-last-n.test.d.ts.map +1 -0
  6. package/dist/src/gateway/__tests__/api-last-n.test.js +32 -0
  7. package/dist/src/gateway/__tests__/api-last-n.test.js.map +1 -0
  8. package/dist/src/gateway/api.d.ts.map +1 -1
  9. package/dist/src/gateway/api.js +30 -0
  10. package/dist/src/gateway/api.js.map +1 -1
  11. package/dist/src/gateway/lifecycle.d.ts.map +1 -1
  12. package/dist/src/gateway/lifecycle.js +1 -0
  13. package/dist/src/gateway/lifecycle.js.map +1 -1
  14. package/dist/src/sessions/__tests__/callbacks.test.d.ts +2 -0
  15. package/dist/src/sessions/__tests__/callbacks.test.d.ts.map +1 -0
  16. package/dist/src/sessions/__tests__/callbacks.test.js +118 -0
  17. package/dist/src/sessions/__tests__/callbacks.test.js.map +1 -0
  18. package/dist/src/sessions/callbacks.d.ts +1 -1
  19. package/dist/src/sessions/callbacks.js +4 -4
  20. package/dist/src/sessions/callbacks.js.map +1 -1
  21. package/dist/src/sessions/manager.d.ts.map +1 -1
  22. package/dist/src/sessions/manager.js +21 -3
  23. package/dist/src/sessions/manager.js.map +1 -1
  24. package/dist/src/shared/__tests__/rateLimit.test.d.ts +2 -0
  25. package/dist/src/shared/__tests__/rateLimit.test.d.ts.map +1 -0
  26. package/dist/src/shared/__tests__/rateLimit.test.js +108 -0
  27. package/dist/src/shared/__tests__/rateLimit.test.js.map +1 -0
  28. package/dist/src/shared/__tests__/usageAwareness.test.d.ts +2 -0
  29. package/dist/src/shared/__tests__/usageAwareness.test.d.ts.map +1 -0
  30. package/dist/src/shared/__tests__/usageAwareness.test.js +58 -0
  31. package/dist/src/shared/__tests__/usageAwareness.test.js.map +1 -0
  32. package/dist/src/shared/rateLimit.d.ts +7 -0
  33. package/dist/src/shared/rateLimit.d.ts.map +1 -1
  34. package/dist/src/shared/rateLimit.js +31 -0
  35. package/dist/src/shared/rateLimit.js.map +1 -1
  36. package/dist/src/shared/usageAwareness.d.ts.map +1 -1
  37. package/dist/src/shared/usageAwareness.js +7 -0
  38. package/dist/src/shared/usageAwareness.js.map +1 -1
  39. package/dist/web/404.html +1 -1
  40. package/dist/web/_next/static/chunks/{155-592ad81a5c00a38a.js → 155-277bf3022d16e74f.js} +1 -1
  41. package/dist/web/_next/static/chunks/{192-bd69b67fd03b9f3d.js → 192-3064c98adfeef88c.js} +1 -1
  42. package/dist/web/_next/static/chunks/{51-ea7256657692ba90.js → 51-43ce350b707e6b06.js} +1 -1
  43. package/dist/web/_next/static/chunks/app/_not-found/page-1a2952195ec2c3fa.js +1 -0
  44. package/dist/web/_next/static/chunks/app/chat/{page-83a714baeb382ffb.js → page-d9b12d7effe66c59.js} +1 -1
  45. package/dist/web/_next/static/chunks/app/cron/page-03f6c20a2336f185.js +1 -0
  46. package/dist/web/_next/static/chunks/app/kanban/{page-0e1b2a66378b8a6b.js → page-0aa74ece5109e58f.js} +1 -1
  47. package/dist/web/_next/static/chunks/app/{layout-ab9ba2b24a88513d.js → layout-45d8b9cc84f9443f.js} +1 -1
  48. package/dist/web/_next/static/chunks/app/logs/{page-b2ea0e6b92c54706.js → page-0f2b58794d9a97ce.js} +1 -1
  49. package/dist/web/_next/static/chunks/app/org/{page-05c8d33b3bf07d3d.js → page-e51ef93389a23de8.js} +1 -1
  50. package/dist/web/_next/static/chunks/app/{page-57dcf41f8ef011a7.js → page-16b78d2823b60898.js} +1 -1
  51. package/dist/web/_next/static/chunks/app/settings/{page-2903a5e9b8b0fc4a.js → page-8d1048b944663524.js} +1 -1
  52. package/dist/web/_next/static/chunks/app/skills/page-6d9c1d5b03aa86bb.js +1 -0
  53. package/dist/web/_next/static/chunks/{main-app-72a2d12a170701ef.js → main-app-637478e5d2259005.js} +1 -1
  54. package/dist/web/chat.html +1 -1
  55. package/dist/web/chat.txt +3 -3
  56. package/dist/web/cron.html +1 -1
  57. package/dist/web/cron.txt +3 -3
  58. package/dist/web/index.html +1 -1
  59. package/dist/web/index.txt +3 -3
  60. package/dist/web/kanban.html +1 -1
  61. package/dist/web/kanban.txt +3 -3
  62. package/dist/web/logs.html +2 -2
  63. package/dist/web/logs.txt +3 -3
  64. package/dist/web/org.html +1 -1
  65. package/dist/web/org.txt +3 -3
  66. package/dist/web/sessions.html +1 -1
  67. package/dist/web/sessions.txt +2 -2
  68. package/dist/web/settings.html +1 -1
  69. package/dist/web/settings.txt +3 -3
  70. package/dist/web/skills.html +1 -1
  71. package/dist/web/skills.txt +3 -3
  72. package/package.json +1 -1
  73. package/template/AGENTS.md +21 -0
  74. package/template/CLAUDE.md +21 -0
  75. package/dist/web/_next/static/chunks/app/_not-found/page-22b69e9fb96ef3fc.js +0 -1
  76. package/dist/web/_next/static/chunks/app/cron/page-4ede68bcdb3e76ca.js +0 -1
  77. package/dist/web/_next/static/chunks/app/skills/page-971feac69b3a1383.js +0 -1
  78. /package/dist/web/_next/static/{4OBIVkP7CCBmCjhg6p9Id → astVwZfaNwQEC0C3qtVHe}/_buildManifest.js +0 -0
  79. /package/dist/web/_next/static/{4OBIVkP7CCBmCjhg6p9Id → astVwZfaNwQEC0C3qtVHe}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{1694:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>k});var l=t(4130),n=t(7946),r=t(4139),s=t(3250);let o=(0,s.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"}]]),i=(0,s.A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),c=(0,s.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"}]]);var d=t(8574),u=t(7192),v=t(4722),p=t(8565),x=t(8838),h=t(280),g=t(6654);let m=[{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:t}=e;return(0,l.jsxs)("section",{className:"mb-[var(--space-6)]",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] tracking-[var(--tracking-wide)] uppercase text-[var(--text-tertiary)] px-[var(--space-2)] pb-[var(--space-2)]",children:a}),(0,l.jsx)("div",{className:"bg-[var(--material-regular)] rounded-[var(--radius-md)] border border-[var(--separator)] p-[var(--space-4)]",children:t})]})}function f(e){let{label:a,children:t}=e;return(0,l.jsxs)("div",{className:"flex items-center justify-between py-[var(--space-2)] gap-[var(--space-4)]",children:[(0,l.jsx)("label",{className:"text-[length:var(--text-subheadline)] text-[var(--text-secondary)] shrink-0",children:a}),(0,l.jsx)("div",{className:"w-[240px] shrink-0",children:t})]})}function j(e){let{value:a,onChange:t,type:n="text",placeholder:r}=e;return(0,l.jsx)("input",{type:n,value:a,onChange:e=>t(e.target.value),placeholder:r,className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]"})}function y(e){let{value:a,onChange:t,options:n}=e;return(0,l.jsx)("select",{value:a,onChange:e=>t(e.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)] cursor-pointer",children:n.map(e=>(0,l.jsx)("option",{value:e.value,children:e.label},e.value))})}function w(e){let{checked:a,onChange:t}=e;return(0,l.jsx)("button",{role:"switch","aria-checked":a,onClick:()=>t(!a),className:"w-[44px] h-[24px] rounded-[12px] border-none cursor-pointer relative shrink-0 transition-[background] duration-200 ease-[var(--ease-smooth)]",style:{background:a?"var(--system-green)":"var(--fill-primary)"},children:(0,l.jsx)("span",{className:"absolute top-[2px] w-[20px] h-[20px] rounded-full bg-white shadow-[0_1px_3px_rgba(0,0,0,0.2)] transition-[left] duration-200 ease-[var(--ease-spring)]",style:{left:a?22:2}})})}let N={en:"English",bg:"Bulgarian",de:"German",fr:"French",es:"Spanish",it:"Italian",pt:"Portuguese",ru:"Russian",zh:"Chinese",ja:"Japanese",ko:"Korean",ar:"Arabic",hi:"Hindi",tr:"Turkish",pl:"Polish",nl:"Dutch",sv:"Swedish",cs:"Czech",el:"Greek",ro:"Romanian",uk:"Ukrainian",he:"Hebrew",da:"Danish",fi:"Finnish",hu:"Hungarian",no:"Norwegian",sk:"Slovak",hr:"Croatian",ca:"Catalan",th:"Thai",vi:"Vietnamese",id:"Indonesian",ms:"Malay",tl:"Filipino",sr:"Serbian",lt:"Lithuanian",lv:"Latvian",sl:"Slovenian",et:"Estonian"};function C(){let[e,a]=(0,n.useState)(null),[t,r]=(0,n.useState)(!1),[s,o]=(0,n.useState)("");if((0,n.useEffect)(()=>{g.F.sttStatus().then(a).catch(()=>{})},[]),(0,n.useEffect)(()=>{if(!(null==e?void 0:e.downloading))return;let t=setInterval(()=>{g.F.sttStatus().then(a).catch(()=>{})},1500);return()=>clearInterval(t)},[null==e?void 0:e.downloading]),!e)return null;let i=Object.entries(N).filter(a=>{let[t]=a;return!e.languages.includes(t)}).sort((e,a)=>e[1].localeCompare(a[1]));return(0,l.jsxs)(b,{title:"Voice Input",children:[(0,l.jsxs)("div",{className:"flex items-center gap-[var(--space-3)] mb-[var(--space-4)]",children:[(0,l.jsx)("div",{className:"w-[8px] h-[8px] rounded-full shrink-0",style:{background:e.available?"var(--system-green)":"var(--system-red)"}}),(0,l.jsxs)("div",{className:"flex-1",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-subheadline)] font-[var(--weight-medium)] text-[var(--text-primary)]",children:e.available?"Whisper ".concat((e.model||"small").charAt(0).toUpperCase()+(e.model||"small").slice(1)):"No model installed"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:e.available?"Offline speech recognition ready":"Download a model to enable voice input"})]})]}),!e.available&&!e.downloading&&(0,l.jsx)("button",{onClick:function(){g.F.sttDownload().then(()=>a(e=>e?{...e,downloading:!0,progress:0}:e)).catch(()=>{})},className:"w-full p-[var(--space-3)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-semibold)] mb-[var(--space-4)]",children:"Download Whisper Small (~500MB)"}),e.downloading&&(0,l.jsxs)("div",{className:"mb-[var(--space-4)]",children:[(0,l.jsxs)("div",{className:"flex justify-between mb-[var(--space-2)] text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:[(0,l.jsx)("span",{children:"Downloading model…"}),(0,l.jsxs)("span",{children:[e.progress,"%"]})]}),(0,l.jsx)("div",{className:"h-[6px] rounded-[3px] bg-[var(--fill-tertiary)] overflow-hidden",children:(0,l.jsx)("div",{className:"h-full rounded-[3px] bg-[var(--accent)] transition-[width] duration-300 ease-out",style:{width:"".concat(e.progress,"%")}})})]}),e.available&&(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-2)] pt-[var(--space-3)]",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Transcription Languages"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-3)]",children:"First language is the default. Add multiple to show a language picker in chat."}),(0,l.jsx)("div",{className:"flex flex-wrap gap-[var(--space-2)] mb-[var(--space-3)]",children:e.languages.map(n=>(0,l.jsxs)("div",{className:"inline-flex items-center gap-[var(--space-1)] px-[8px] py-[3px] rounded-[var(--radius-sm)] bg-[var(--fill-secondary)] text-[length:var(--text-caption1)] font-[var(--weight-medium)] text-[var(--text-primary)]",children:[(0,l.jsx)("span",{className:"font-[family-name:var(--font-mono)] uppercase text-[length:var(--text-caption2)] font-[var(--weight-semibold)] text-[var(--accent)] mr-[2px]",children:n}),N[n]||n,e.languages.length>1&&(0,l.jsx)("button",{onClick:()=>(function(t){if(!e||e.languages.length<=1)return;let l=e.languages.filter(e=>e!==t);r(!0),g.F.sttUpdateConfig(l).then(()=>a(e=>e?{...e,languages:l}:e)).catch(()=>{}).finally(()=>r(!1))})(n),disabled:t,"aria-label":"Remove ".concat(N[n]||n),className:"bg-none border-none cursor-pointer p-0 ml-[2px] text-[var(--text-quaternary)] text-[14px] leading-none flex items-center",children:"\xd7"})]},n))}),(0,l.jsxs)("div",{className:"flex gap-[var(--space-2)]",children:[(0,l.jsxs)("select",{value:s,onChange:e=>o(e.target.value),className:"flex-1 bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] cursor-pointer",style:{color:s?"var(--text-primary)":"var(--text-tertiary)"},children:[(0,l.jsx)("option",{value:"",children:"Add a language…"}),i.map(e=>{let[a,t]=e;return(0,l.jsxs)("option",{value:a,children:[a.toUpperCase()," — ",t]},a)})]}),(0,l.jsx)("button",{onClick:function(){if(!s||!e||e.languages.includes(s))return;let t=[...e.languages,s];r(!0),o(""),g.F.sttUpdateConfig(t).then(()=>a(e=>e?{...e,languages:t}:e)).catch(()=>{}).finally(()=>r(!1))},disabled:!s||t,className:"px-[14px] py-[6px] rounded-[var(--radius-sm)] border-none text-[length:var(--text-footnote)] font-[var(--weight-semibold)] shrink-0",style:{background:s?"var(--accent)":"var(--fill-tertiary)",color:s?"var(--accent-contrast)":"var(--text-quaternary)",cursor:s?"pointer":"default"},children:"Add"})]})]})})]})}function k(){var e,a,t,s,N,k,S,F,A,D,E,B,I,L,M,O,T,P,W,G,R,z,H,U,q,_,V,J,K,Q,Y,$,X,Z,ee,ea,et,el,en,er,es,eo,ei,ec,ed,eu,ev,ep,ex,eh,eg,em,eb,ef,ej,ey,ew,eN,eC,ek,eS,eF,eA,eD,eE,eB,eI,eL,eM,eO,eT,eP,eW,eG,eR,ez,eH,eU,eq,e_,eV,eJ,eK,eQ,eY,e$,eX,eZ,e0,e1,e2,e4,e3,e6,e5,e8;(0,p.i)([{label:"Settings"}]);let{settings:e9,setAccentColor:e7,setPortalName:ae,setPortalSubtitle:aa,setOperatorName:at,setPortalEmoji:al,setLanguage:an,resetAll:ar}=(0,v.t0)(),{theme:as,setTheme:ao}=(0,x.D)(),[ai,ac]=(0,n.useState)(null!=(eD=e9.portalName)?eD:""),[ad,au]=(0,n.useState)(null!=(eE=e9.portalSubtitle)?eE:""),[av,ap]=(0,n.useState)(null!=(eB=e9.operatorName)?eB:""),[ax,ah]=(0,n.useState)(null!=(eI=e9.portalEmoji)?eI:""),[ag,am]=(0,n.useState)(null!=(eL=e9.language)?eL:"English"),[ab,af]=(0,n.useState)(null!=(eM=e9.accentColor)?eM:""),[aj,ay]=(0,n.useState)({}),[aw,aN]=(0,n.useState)(!0),[aC,ak]=(0,n.useState)(null),[aS,aF]=(0,n.useState)(!1),[aA,aD]=(0,n.useState)(null),[aE,aB]=(0,n.useState)(null),[aI,aL]=(0,n.useState)("unknown");function aM(){aN(!0),g.F.getConfig().then(e=>{ay(e),ak(null)}).catch(e=>ak(e.message)).finally(()=>aN(!1))}function aO(e,a){ay(t=>{let l=structuredClone(t),n=l;for(let a=0;a<e.length-1;a++)n[e[a]]&&"object"==typeof n[e[a]]||(n[e[a]]={}),n=n[e[a]];return n[e[e.length-1]]=a,l})}return(0,n.useEffect)(()=>{var e,a,t,l,n,r;ac(null!=(e=e9.portalName)?e:""),au(null!=(a=e9.portalSubtitle)?a:""),ap(null!=(t=e9.operatorName)?t:""),ah(null!=(l=e9.portalEmoji)?l:""),am(null!=(n=e9.language)?n:"English"),af(null!=(r=e9.accentColor)?r:"")},[e9.portalName,e9.portalSubtitle,e9.operatorName,e9.portalEmoji,e9.language,e9.accentColor]),(0,n.useEffect)(()=>{aM()},[]),(0,n.useEffect)(()=>{var e;if(!(null==(e=aj.connectors)?void 0:e.whatsapp))return;let a=!1;async function t(){try{var e,t;let l=await fetch("/api/status"),n=await l.json(),r=null==n||null==(t=n.connectors)||null==(e=t.whatsapp)?void 0:e.status;if(a||aL(null!=r?r:"unknown"),"qr_pending"===r){let e=await fetch("/api/connectors/whatsapp/qr"),t=await e.json();a||aB(t.qr)}else a||aB(null)}catch(e){}}t();let l=setInterval(()=>{t()},1e4);return()=>{a=!0,clearInterval(l)}},[null==(e=aj.connectors)?void 0:e.whatsapp]),(0,l.jsx)(u.M,{children:(0,l.jsx)("div",{className:"h-full overflow-y-auto bg-[var(--bg)]",children:(0,l.jsxs)("div",{className:"max-w-[640px] mx-auto px-[var(--space-4)] py-[var(--space-6)] pb-[var(--space-12)]",children:[(0,l.jsx)("h1",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-6)]",children:"Settings"}),(0,l.jsxs)(b,{title:"Appearance",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-footnote)] font-[var(--weight-medium)] text-[var(--text-secondary)] mb-[var(--space-2)]",children:"Theme"}),(0,l.jsx)("div",{className:"grid grid-cols-5 gap-[var(--space-2)] mb-[var(--space-4)]",children:h.z.map(e=>{let a=as===e.id;return(0,l.jsxs)("button",{onClick:()=>ao(e.id),className:"flex flex-col items-center gap-[var(--space-1)] px-[var(--space-2)] py-[var(--space-3)] rounded-[var(--radius-md)] bg-[var(--fill-quaternary)] cursor-pointer transition-all duration-150 ease-[var(--ease-smooth)]",style:{border:a?"2px solid var(--accent)":"2px solid var(--separator)"},children:[(0,l.jsx)("span",{className:"text-[24px]",children:e.emoji}),(0,l.jsx)("span",{className:"text-[length:var(--text-caption2)]",style:{fontWeight:a?"var(--weight-semibold)":"var(--weight-medium)",color:a?"var(--accent)":"var(--text-secondary)"},children:e.label})]},e.id)})}),(0,l.jsx)("div",{className:"text-[length:var(--text-footnote)] font-[var(--weight-medium)] text-[var(--text-secondary)] mb-[var(--space-2)]",children:"Accent Color"}),(0,l.jsx)("div",{className:"flex flex-wrap gap-[var(--space-2)] mb-[var(--space-3)]",children:m.map(e=>{let a=e9.accentColor===e.value;return(0,l.jsx)("button",{onClick:()=>e7(e.value),"aria-label":e.label,title:e.label,className:"w-[32px] h-[32px] rounded-full cursor-pointer transition-all duration-100 ease-[var(--ease-smooth)] flex items-center justify-center",style:{background:e.value,border:a?"2px solid var(--text-primary)":"2px solid transparent",outline:a?"2px solid ".concat(e.value):"none",outlineOffset:2},children:a&&(0,l.jsx)(r.A,{size:14,color:"#fff",strokeWidth:3})},e.value)})}),(0,l.jsxs)("div",{className:"flex items-center gap-[var(--space-3)]",children:[(0,l.jsxs)("label",{className:"flex items-center gap-[var(--space-2)] text-[length:var(--text-footnote)] text-[var(--text-secondary)] cursor-pointer",children:["Custom:",(0,l.jsx)("input",{type:"color",value:null!=(eO=e9.accentColor)?eO:"#3B82F6",onChange:e=>e7(e.target.value),className:"w-[28px] h-[28px] border-none rounded-full cursor-pointer bg-transparent p-0"})]}),(0,l.jsx)("input",{type:"text",placeholder:"#3B82F6",value:ab,onChange:e=>{af(e.target.value),/^#[0-9a-fA-F]{6}$/.test(e.target.value)&&e7(e.target.value)},className:"apple-input w-[90px] px-[8px] py-[4px] text-[length:var(--text-caption1)] bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] text-[var(--text-primary)] font-mono"}),e9.accentColor&&(0,l.jsxs)("button",{onClick:()=>e7(null),className:"text-[length:var(--text-footnote)] text-[var(--system-blue)] bg-none border-none cursor-pointer p-0 inline-flex items-center gap-[4px]",children:[(0,l.jsx)(o,{size:12}),"Reset"]})]})]}),(0,l.jsx)(b,{title:"Branding",children:(0,l.jsxs)("div",{className:"flex flex-col gap-[var(--space-3)]",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Name"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]",placeholder:"Jinn",value:ai,onChange:e=>ac(e.target.value),onBlur:()=>{ae(ai||null),g.F.completeOnboarding({portalName:ai||void 0}).catch(()=>{})}})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Subtitle"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]",placeholder:"Command Centre",value:ad,onChange:e=>au(e.target.value),onBlur:()=>aa(ad||null)})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Operator Name"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]",placeholder:"Your Name",value:av,onChange:e=>ap(e.target.value),onBlur:()=>{at(av||null),g.F.completeOnboarding({operatorName:av||void 0}).catch(()=>{})}})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Emoji"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-[80px] text-center text-[length:var(--text-title2)] px-[8px] py-[6px] bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)]",placeholder:"\ud83e\udd16",value:ax,onChange:e=>ah(e.target.value),onBlur:()=>al(ax||null)})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Language"}),(0,l.jsxs)("select",{value:ag,onChange:e=>am(e.target.value),onBlur:()=>{an(ag||"English"),g.F.completeOnboarding({language:ag||void 0}).catch(()=>{})},className:"w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)] cursor-pointer",children:[(0,l.jsx)("option",{value:"English",children:"English"}),(0,l.jsx)("option",{value:"Spanish",children:"Spanish"}),(0,l.jsx)("option",{value:"French",children:"French"}),(0,l.jsx)("option",{value:"German",children:"German"}),(0,l.jsx)("option",{value:"Portuguese",children:"Portuguese"}),(0,l.jsx)("option",{value:"Italian",children:"Italian"}),(0,l.jsx)("option",{value:"Dutch",children:"Dutch"}),(0,l.jsx)("option",{value:"Russian",children:"Russian"}),(0,l.jsx)("option",{value:"Chinese",children:"Chinese"}),(0,l.jsx)("option",{value:"Japanese",children:"Japanese"}),(0,l.jsx)("option",{value:"Korean",children:"Korean"}),(0,l.jsx)("option",{value:"Arabic",children:"Arabic"}),(0,l.jsx)("option",{value:"Hindi",children:"Hindi"}),(0,l.jsx)("option",{value:"Bulgarian",children:"Bulgarian"})]})]})]})}),aA&&(0,l.jsx)("div",{className:"mb-[var(--space-4)] px-[var(--space-4)] py-[var(--space-3)] rounded-[var(--radius-md)] text-[length:var(--text-footnote)]",style:{background:"success"===aA.type?"rgba(34,197,94,0.1)":"rgba(239,68,68,0.1)",border:"1px solid ".concat("success"===aA.type?"rgba(34,197,94,0.3)":"rgba(239,68,68,0.3)"),color:"success"===aA.type?"var(--system-green)":"var(--system-red)"},children:aA.message}),aw?(0,l.jsxs)("div",{className:"text-center p-[var(--space-8)] text-[var(--text-tertiary)] text-[length:var(--text-footnote)]",children:[(0,l.jsx)(i,{size:20,className:"mx-auto mb-[var(--space-2)] animate-spin"}),"Loading gateway config..."]}):aC?(0,l.jsxs)("div",{className:"mb-[var(--space-6)] px-[var(--space-4)] py-[var(--space-3)] rounded-[var(--radius-md)] text-[length:var(--text-footnote)] text-[var(--system-red)]",style:{background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.3)"},children:["Failed to load config: ",aC]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(b,{title:"Gateway Configuration",children:[(0,l.jsx)(f,{label:"Port",children:(0,l.jsx)(j,{type:"number",value:String(null!=(eT=null==(a=aj.gateway)?void 0:a.port)?eT:""),onChange:e=>aO(["gateway","port"],Number(e)||0),placeholder:"7777"})}),(0,l.jsx)(f,{label:"Host",children:(0,l.jsx)(j,{value:null!=(eP=null==(t=aj.gateway)?void 0:t.host)?eP:"",onChange:e=>aO(["gateway","host"],e),placeholder:"127.0.0.1"})}),(0,l.jsx)(f,{label:"Default Engine",children:(0,l.jsx)(y,{value:null!=(eW=null==(s=aj.engines)?void 0:s.default)?eW:"claude",onChange:e=>aO(["engines","default"],e),options:[{value:"claude",label:"Claude"},{value:"codex",label:"Codex"}]})})]}),(0,l.jsxs)(b,{title:"Engine Configuration",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Claude"}),(0,l.jsx)(f,{label:"Binary Path",children:(0,l.jsx)(j,{value:null!=(eG=null==(k=aj.engines)||null==(N=k.claude)?void 0:N.bin)?eG:"",onChange:e=>aO(["engines","claude","bin"],e),placeholder:"claude"})}),(0,l.jsx)(f,{label:"Model",children:(0,l.jsx)(y,{value:null!=(eR=null==(F=aj.engines)||null==(S=F.claude)?void 0:S.model)?eR:"opus",onChange:e=>aO(["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,l.jsx)(f,{label:"Effort Level",children:(0,l.jsx)(y,{value:null!=(ez=null==(D=aj.engines)||null==(A=D.claude)?void 0:A.effortLevel)?ez:"default",onChange:e=>aO(["engines","claude","effortLevel"],e),options:[{value:"default",label:"Default"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}]})}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Codex"}),(0,l.jsx)(f,{label:"Binary Path",children:(0,l.jsx)(j,{value:null!=(eH=null==(B=aj.engines)||null==(E=B.codex)?void 0:E.bin)?eH:"",onChange:e=>aO(["engines","codex","bin"],e),placeholder:"codex"})}),(0,l.jsx)(f,{label:"Model",children:(0,l.jsx)(y,{value:null!=(eU=null==(L=aj.engines)||null==(I=L.codex)?void 0:I.model)?eU:"gpt-5.4",onChange:e=>aO(["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,l.jsx)(f,{label:"Effort Level",children:(0,l.jsx)(y,{value:null!=(eq=null==(O=aj.engines)||null==(M=O.codex)?void 0:M.effortLevel)?eq:"default",onChange:e=>aO(["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,l.jsxs)(b,{title:"Sessions",children:[(0,l.jsx)(f,{label:"Interrupt on New Message",children:(0,l.jsx)(w,{checked:null==(e_=null==(T=aj.sessions)?void 0:T.interruptOnNewMessage)||e_,onChange:e=>aO(["sessions","interruptOnNewMessage"],e)})}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--label-secondary)] mt-[4px]",children:"When enabled, sending a new message to a running session will stop the current agent and start processing your new message immediately. When disabled, messages are queued."}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)(f,{label:"When Claude Hits Usage Limit",children:(0,l.jsx)(y,{value:null!=(eV=null==(P=aj.sessions)?void 0:P.rateLimitStrategy)?eV:"fallback",onChange:e=>aO(["sessions","rateLimitStrategy"],e),options:[{value:"wait",label:"Wait & Auto-Resume"},{value:"fallback",label:"Switch to GPT (Codex)"}]})}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--label-secondary)] mt-[4px]",children:'"Wait" pauses the session and continues automatically when Claude resets. "Switch" answers immediately using GPT, then returns to Claude once the reset window passes.'})]}),(0,l.jsxs)(b,{title:"Connectors",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Slack"}),(0,l.jsx)(f,{label:"App Token",children:(0,l.jsx)(j,{type:"password",value:null!=(eJ=null==(G=aj.connectors)||null==(W=G.slack)?void 0:W.appToken)?eJ:"",onChange:e=>aO(["connectors","slack","appToken"],e),placeholder:"xapp-..."})}),(0,l.jsx)(f,{label:"Bot Token",children:(0,l.jsx)(j,{type:"password",value:null!=(eK=null==(z=aj.connectors)||null==(R=z.slack)?void 0:R.botToken)?eK:"",onChange:e=>aO(["connectors","slack","botToken"],e),placeholder:"xoxb-..."})}),(0,l.jsx)(f,{label:"Share Session in Channel",children:(0,l.jsx)(w,{checked:null!=(eQ=null==(U=aj.connectors)||null==(H=U.slack)?void 0:H.shareSessionInChannel)&&eQ,onChange:e=>aO(["connectors","slack","shareSessionInChannel"],e)})}),(0,l.jsx)(f,{label:"Allowed Users",children:(0,l.jsx)(j,{value:Array.isArray(null==(_=aj.connectors)||null==(q=_.slack)?void 0:q.allowFrom)?null==(K=aj.connectors)||null==(J=K.slack)||null==(V=J.allowFrom)?void 0:V.join(", "):null!=(eY=null==(Y=aj.connectors)||null==(Q=Y.slack)?void 0:Q.allowFrom)?eY:"",onChange:e=>aO(["connectors","slack","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"U123, U456"})}),(0,l.jsx)(f,{label:"Ignore Old Messages on Boot",children:(0,l.jsx)(w,{checked:null==(e$=null==(X=aj.connectors)||null==($=X.slack)?void 0:$.ignoreOldMessagesOnBoot)||e$,onChange:e=>aO(["connectors","slack","ignoreOldMessagesOnBoot"],e)})}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Discord"}),(0,l.jsx)(f,{label:"Bot Token",children:(0,l.jsx)(j,{type:"password",value:null!=(eX=null==(ee=aj.connectors)||null==(Z=ee.discord)?void 0:Z.botToken)?eX:"",onChange:e=>aO(["connectors","discord","botToken"],e),placeholder:"Bot token..."})}),(0,l.jsx)(f,{label:"Allow From",children:(0,l.jsx)(j,{value:Array.isArray(null==(et=aj.connectors)||null==(ea=et.discord)?void 0:ea.allowFrom)?null==(er=aj.connectors)||null==(en=er.discord)||null==(el=en.allowFrom)?void 0:el.join(", "):null!=(eZ=null==(eo=aj.connectors)||null==(es=eo.discord)?void 0:es.allowFrom)?eZ:"",onChange:e=>aO(["connectors","discord","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"User IDs, comma-separated (optional)"})}),(0,l.jsx)(f,{label:"Guild ID",children:(0,l.jsx)(j,{value:null!=(e0=null==(ec=aj.connectors)||null==(ei=ec.discord)?void 0:ei.guildId)?e0:"",onChange:e=>aO(["connectors","discord","guildId"],e.trim()||void 0),placeholder:"Server/Guild ID (optional)"})}),(0,l.jsx)(f,{label:"Channel ID",children:(0,l.jsx)(j,{value:null!=(e1=null==(eu=aj.connectors)||null==(ed=eu.discord)?void 0:ed.channelId)?e1:"",onChange:e=>aO(["connectors","discord","channelId"],e.trim()||void 0),placeholder:"Restrict to this channel (right-click → Copy Channel ID)"})}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mt-[var(--space-4)] mb-[var(--space-2)]",children:"WhatsApp"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-3)]",children:"On first start, scan the QR code below with your WhatsApp app to connect. Credentials are cached for subsequent runs."}),(0,l.jsx)(f,{label:"Auth Directory",children:(0,l.jsx)(j,{value:null!=(e2=null==(ep=aj.connectors)||null==(ev=ep.whatsapp)?void 0:ev.authDir)?e2:"",onChange:e=>aO(["connectors","whatsapp","authDir"],e.trim()||void 0),placeholder:"Default: ~/.jinn/.whatsapp-auth"})}),(0,l.jsx)(f,{label:"Allow From",children:(0,l.jsx)(j,{value:Array.isArray(null==(eh=aj.connectors)||null==(ex=eh.whatsapp)?void 0:ex.allowFrom)?null==(eb=aj.connectors)||null==(em=eb.whatsapp)||null==(eg=em.allowFrom)?void 0:eg.join(", "):"",onChange:e=>aO(["connectors","whatsapp","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"447700900000@s.whatsapp.net, ... (optional)"})}),aE&&(0,l.jsxs)("div",{className:"mt-[var(--space-3)] flex flex-col items-center gap-[var(--space-2)]",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-semibold text-[var(--text-secondary)]",children:"Scan with WhatsApp to connect"}),(0,l.jsx)("img",{src:aE,alt:"WhatsApp QR Code",className:"w-[200px] h-[200px] rounded-[var(--radius-md)] border border-[var(--separator)] bg-white p-[8px]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:"Open WhatsApp → Linked Devices → Link a Device"})]}),(null==(ef=aj.connectors)?void 0:ef.whatsapp)&&"ok"===aI&&(0,l.jsx)("div",{className:"mt-[var(--space-2)] text-[length:var(--text-caption1)] text-[var(--system-green)] font-semibold",children:"✓ Connected"}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Web UI"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:"Web conversations use queued one-shot resume flow for both engines."})]}),(0,l.jsxs)(b,{title:"Cron",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Default Delivery"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-3)]",children:"When a cron job has no delivery configured, results will be sent here."}),(0,l.jsx)(f,{label:"Connector",children:(0,l.jsx)(y,{value:null!=(e4=null==(ey=aj.cron)||null==(ej=ey.defaultDelivery)?void 0:ej.connector)?e4:"",onChange:e=>aO(["cron","defaultDelivery","connector"],e||void 0),options:[{value:"",label:"None (fire & forget)"},{value:"web",label:"Web"},{value:"slack",label:"Slack"}]})}),(null==(eN=aj.cron)||null==(ew=eN.defaultDelivery)?void 0:ew.connector)&&(0,l.jsx)(f,{label:"Channel",children:(0,l.jsx)(j,{value:null!=(e3=null==(ek=aj.cron)||null==(eC=ek.defaultDelivery)?void 0:eC.channel)?e3:"",onChange:e=>aO(["cron","defaultDelivery","channel"],e),placeholder:"#general"})})]}),(0,l.jsxs)(b,{title:"Logging",children:[(0,l.jsx)(f,{label:"Level",children:(0,l.jsx)(y,{value:null!=(e6=null==(eS=aj.logging)?void 0:eS.level)?e6:"info",onChange:e=>aO(["logging","level"],e),options:[{value:"debug",label:"Debug"},{value:"info",label:"Info"},{value:"warn",label:"Warn"},{value:"error",label:"Error"}]})}),(0,l.jsx)(f,{label:"Stdout",children:(0,l.jsx)(w,{checked:null==(e5=null==(eF=aj.logging)?void 0:eF.stdout)||e5,onChange:e=>aO(["logging","stdout"],e)})}),(0,l.jsx)(f,{label:"File Logging",children:(0,l.jsx)(w,{checked:null!=(e8=null==(eA=aj.logging)?void 0:eA.file)&&e8,onChange:e=>aO(["logging","file"],e)})})]}),(0,l.jsx)(C,{}),(0,l.jsxs)("div",{className:"flex justify-end gap-[var(--space-3)] mb-[var(--space-6)]",children:[(0,l.jsxs)("button",{onClick:()=>aM(),className:"px-[var(--space-4)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--fill-tertiary)] text-[var(--text-secondary)] border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-medium)] inline-flex items-center gap-[6px]",children:[(0,l.jsx)(o,{size:14}),"Reload"]}),(0,l.jsxs)("button",{onClick:function(){aF(!0),aD(null),g.F.updateConfig(aj).then(()=>aD({type:"success",message:"Settings saved successfully"})).catch(e=>aD({type:"error",message:"Failed to save: ".concat(e.message)})).finally(()=>aF(!1))},disabled:aS,className:"px-[var(--space-5)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none text-[length:var(--text-footnote)] font-[var(--weight-semibold)] inline-flex items-center gap-[6px] transition-all duration-150 ease-[var(--ease-smooth)]",style:{cursor:aS?"wait":"pointer",opacity:aS?.7:1},children:[(0,l.jsx)(c,{size:14}),aS?"Saving...":"Save Config"]})]})]}),(0,l.jsx)(b,{title:"Reset",children:(0,l.jsxs)("div",{className:"flex items-center justify-center gap-[var(--space-3)] flex-wrap",children:[(0,l.jsxs)("button",{onClick:()=>{localStorage.removeItem("jinn-onboarded"),window.location.reload()},className:"px-[var(--space-5)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-semibold)] transition-all duration-150 ease-[var(--ease-spring)] inline-flex items-center gap-[var(--space-2)]",children:[(0,l.jsx)(o,{size:14}),"Re-run Onboarding Wizard"]}),(0,l.jsxs)("button",{onClick:()=>{window.confirm("Reset all settings to defaults?")&&(localStorage.removeItem("jinn-settings"),localStorage.removeItem("jinn-theme"),ar(),window.location.reload())},className:"px-[var(--space-5)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--system-red)] text-white border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-semibold)] transition-all duration-150 ease-[var(--ease-spring)] inline-flex items-center gap-[var(--space-2)]",children:[(0,l.jsx)(d.A,{size:14}),"Reset All Settings"]})]})})]})})})}},9421:(e,a,t)=>{Promise.resolve().then(t.bind(t,1694))}},e=>{e.O(0,[625,51,155,192,344,144,358],()=>e(e.s=9421)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{1694:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>k});var l=t(4130),n=t(7946),r=t(4139),s=t(3250);let o=(0,s.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"}]]),i=(0,s.A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),c=(0,s.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"}]]);var d=t(8574),u=t(7192),v=t(4722),p=t(8565),x=t(8838),h=t(280),g=t(6654);let m=[{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:t}=e;return(0,l.jsxs)("section",{className:"mb-[var(--space-6)]",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] tracking-[var(--tracking-wide)] uppercase text-[var(--text-tertiary)] px-[var(--space-2)] pb-[var(--space-2)]",children:a}),(0,l.jsx)("div",{className:"bg-[var(--material-regular)] rounded-[var(--radius-md)] border border-[var(--separator)] p-[var(--space-4)]",children:t})]})}function f(e){let{label:a,children:t}=e;return(0,l.jsxs)("div",{className:"flex items-center justify-between py-[var(--space-2)] gap-[var(--space-4)]",children:[(0,l.jsx)("label",{className:"text-[length:var(--text-subheadline)] text-[var(--text-secondary)] shrink-0",children:a}),(0,l.jsx)("div",{className:"w-[240px] shrink-0",children:t})]})}function j(e){let{value:a,onChange:t,type:n="text",placeholder:r}=e;return(0,l.jsx)("input",{type:n,value:a,onChange:e=>t(e.target.value),placeholder:r,className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]"})}function y(e){let{value:a,onChange:t,options:n}=e;return(0,l.jsx)("select",{value:a,onChange:e=>t(e.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)] cursor-pointer",children:n.map(e=>(0,l.jsx)("option",{value:e.value,children:e.label},e.value))})}function w(e){let{checked:a,onChange:t}=e;return(0,l.jsx)("button",{role:"switch","aria-checked":a,onClick:()=>t(!a),className:"w-[44px] h-[24px] rounded-[12px] border-none cursor-pointer relative shrink-0 transition-[background] duration-200 ease-[var(--ease-smooth)]",style:{background:a?"var(--system-green)":"var(--fill-primary)"},children:(0,l.jsx)("span",{className:"absolute top-[2px] w-[20px] h-[20px] rounded-full bg-white shadow-[0_1px_3px_rgba(0,0,0,0.2)] transition-[left] duration-200 ease-[var(--ease-spring)]",style:{left:a?22:2}})})}let N={en:"English",bg:"Bulgarian",de:"German",fr:"French",es:"Spanish",it:"Italian",pt:"Portuguese",ru:"Russian",zh:"Chinese",ja:"Japanese",ko:"Korean",ar:"Arabic",hi:"Hindi",tr:"Turkish",pl:"Polish",nl:"Dutch",sv:"Swedish",cs:"Czech",el:"Greek",ro:"Romanian",uk:"Ukrainian",he:"Hebrew",da:"Danish",fi:"Finnish",hu:"Hungarian",no:"Norwegian",sk:"Slovak",hr:"Croatian",ca:"Catalan",th:"Thai",vi:"Vietnamese",id:"Indonesian",ms:"Malay",tl:"Filipino",sr:"Serbian",lt:"Lithuanian",lv:"Latvian",sl:"Slovenian",et:"Estonian"};function C(){let[e,a]=(0,n.useState)(null),[t,r]=(0,n.useState)(!1),[s,o]=(0,n.useState)("");if((0,n.useEffect)(()=>{g.F.sttStatus().then(a).catch(()=>{})},[]),(0,n.useEffect)(()=>{if(!(null==e?void 0:e.downloading))return;let t=setInterval(()=>{g.F.sttStatus().then(a).catch(()=>{})},1500);return()=>clearInterval(t)},[null==e?void 0:e.downloading]),!e)return null;let i=Object.entries(N).filter(a=>{let[t]=a;return!e.languages.includes(t)}).sort((e,a)=>e[1].localeCompare(a[1]));return(0,l.jsxs)(b,{title:"Voice Input",children:[(0,l.jsxs)("div",{className:"flex items-center gap-[var(--space-3)] mb-[var(--space-4)]",children:[(0,l.jsx)("div",{className:"w-[8px] h-[8px] rounded-full shrink-0",style:{background:e.available?"var(--system-green)":"var(--system-red)"}}),(0,l.jsxs)("div",{className:"flex-1",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-subheadline)] font-[var(--weight-medium)] text-[var(--text-primary)]",children:e.available?"Whisper ".concat((e.model||"small").charAt(0).toUpperCase()+(e.model||"small").slice(1)):"No model installed"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:e.available?"Offline speech recognition ready":"Download a model to enable voice input"})]})]}),!e.available&&!e.downloading&&(0,l.jsx)("button",{onClick:function(){g.F.sttDownload().then(()=>a(e=>e?{...e,downloading:!0,progress:0}:e)).catch(()=>{})},className:"w-full p-[var(--space-3)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-semibold)] mb-[var(--space-4)]",children:"Download Whisper Small (~500MB)"}),e.downloading&&(0,l.jsxs)("div",{className:"mb-[var(--space-4)]",children:[(0,l.jsxs)("div",{className:"flex justify-between mb-[var(--space-2)] text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:[(0,l.jsx)("span",{children:"Downloading model…"}),(0,l.jsxs)("span",{children:[e.progress,"%"]})]}),(0,l.jsx)("div",{className:"h-[6px] rounded-[3px] bg-[var(--fill-tertiary)] overflow-hidden",children:(0,l.jsx)("div",{className:"h-full rounded-[3px] bg-[var(--accent)] transition-[width] duration-300 ease-out",style:{width:"".concat(e.progress,"%")}})})]}),e.available&&(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-2)] pt-[var(--space-3)]",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Transcription Languages"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-3)]",children:"First language is the default. Add multiple to show a language picker in chat."}),(0,l.jsx)("div",{className:"flex flex-wrap gap-[var(--space-2)] mb-[var(--space-3)]",children:e.languages.map(n=>(0,l.jsxs)("div",{className:"inline-flex items-center gap-[var(--space-1)] px-[8px] py-[3px] rounded-[var(--radius-sm)] bg-[var(--fill-secondary)] text-[length:var(--text-caption1)] font-[var(--weight-medium)] text-[var(--text-primary)]",children:[(0,l.jsx)("span",{className:"font-[family-name:var(--font-mono)] uppercase text-[length:var(--text-caption2)] font-[var(--weight-semibold)] text-[var(--accent)] mr-[2px]",children:n}),N[n]||n,e.languages.length>1&&(0,l.jsx)("button",{onClick:()=>(function(t){if(!e||e.languages.length<=1)return;let l=e.languages.filter(e=>e!==t);r(!0),g.F.sttUpdateConfig(l).then(()=>a(e=>e?{...e,languages:l}:e)).catch(()=>{}).finally(()=>r(!1))})(n),disabled:t,"aria-label":"Remove ".concat(N[n]||n),className:"bg-none border-none cursor-pointer p-0 ml-[2px] text-[var(--text-quaternary)] text-[14px] leading-none flex items-center",children:"\xd7"})]},n))}),(0,l.jsxs)("div",{className:"flex gap-[var(--space-2)]",children:[(0,l.jsxs)("select",{value:s,onChange:e=>o(e.target.value),className:"flex-1 bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] cursor-pointer",style:{color:s?"var(--text-primary)":"var(--text-tertiary)"},children:[(0,l.jsx)("option",{value:"",children:"Add a language…"}),i.map(e=>{let[a,t]=e;return(0,l.jsxs)("option",{value:a,children:[a.toUpperCase()," — ",t]},a)})]}),(0,l.jsx)("button",{onClick:function(){if(!s||!e||e.languages.includes(s))return;let t=[...e.languages,s];r(!0),o(""),g.F.sttUpdateConfig(t).then(()=>a(e=>e?{...e,languages:t}:e)).catch(()=>{}).finally(()=>r(!1))},disabled:!s||t,className:"px-[14px] py-[6px] rounded-[var(--radius-sm)] border-none text-[length:var(--text-footnote)] font-[var(--weight-semibold)] shrink-0",style:{background:s?"var(--accent)":"var(--fill-tertiary)",color:s?"var(--accent-contrast)":"var(--text-quaternary)",cursor:s?"pointer":"default"},children:"Add"})]})]})})]})}function k(){var e,a,t,s,N,k,S,F,A,D,E,B,I,L,M,O,T,P,W,G,R,z,H,U,q,_,V,J,K,Q,Y,$,X,Z,ee,ea,et,el,en,er,es,eo,ei,ec,ed,eu,ev,ep,ex,eh,eg,em,eb,ef,ej,ey,ew,eN,eC,ek,eS,eF,eA,eD,eE,eB,eI,eL,eM,eO,eT,eP,eW,eG,eR,ez,eH,eU,eq,e_,eV,eJ,eK,eQ,eY,e$,eX,eZ,e0,e1,e2,e4,e3,e6,e5,e8;(0,p.i)([{label:"Settings"}]);let{settings:e9,setAccentColor:e7,setPortalName:ae,setPortalSubtitle:aa,setOperatorName:at,setPortalEmoji:al,setLanguage:an,resetAll:ar}=(0,v.t0)(),{theme:as,setTheme:ao}=(0,x.D)(),[ai,ac]=(0,n.useState)(null!=(eD=e9.portalName)?eD:""),[ad,au]=(0,n.useState)(null!=(eE=e9.portalSubtitle)?eE:""),[av,ap]=(0,n.useState)(null!=(eB=e9.operatorName)?eB:""),[ax,ah]=(0,n.useState)(null!=(eI=e9.portalEmoji)?eI:""),[ag,am]=(0,n.useState)(null!=(eL=e9.language)?eL:"English"),[ab,af]=(0,n.useState)(null!=(eM=e9.accentColor)?eM:""),[aj,ay]=(0,n.useState)({}),[aw,aN]=(0,n.useState)(!0),[aC,ak]=(0,n.useState)(null),[aS,aF]=(0,n.useState)(!1),[aA,aD]=(0,n.useState)(null),[aE,aB]=(0,n.useState)(null),[aI,aL]=(0,n.useState)("unknown");function aM(){aN(!0),g.F.getConfig().then(e=>{ay(e),ak(null)}).catch(e=>ak(e.message)).finally(()=>aN(!1))}function aO(e,a){ay(t=>{let l=structuredClone(t),n=l;for(let a=0;a<e.length-1;a++)n[e[a]]&&"object"==typeof n[e[a]]||(n[e[a]]={}),n=n[e[a]];return n[e[e.length-1]]=a,l})}return(0,n.useEffect)(()=>{var e,a,t,l,n,r;ac(null!=(e=e9.portalName)?e:""),au(null!=(a=e9.portalSubtitle)?a:""),ap(null!=(t=e9.operatorName)?t:""),ah(null!=(l=e9.portalEmoji)?l:""),am(null!=(n=e9.language)?n:"English"),af(null!=(r=e9.accentColor)?r:"")},[e9.portalName,e9.portalSubtitle,e9.operatorName,e9.portalEmoji,e9.language,e9.accentColor]),(0,n.useEffect)(()=>{aM()},[]),(0,n.useEffect)(()=>{var e;if(!(null==(e=aj.connectors)?void 0:e.whatsapp))return;let a=!1;async function t(){try{var e,t;let l=await fetch("/api/status"),n=await l.json(),r=null==n||null==(t=n.connectors)||null==(e=t.whatsapp)?void 0:e.status;if(a||aL(null!=r?r:"unknown"),"qr_pending"===r){let e=await fetch("/api/connectors/whatsapp/qr"),t=await e.json();a||aB(t.qr)}else a||aB(null)}catch(e){}}t();let l=setInterval(()=>{t()},1e4);return()=>{a=!0,clearInterval(l)}},[null==(e=aj.connectors)?void 0:e.whatsapp]),(0,l.jsx)(u.M,{children:(0,l.jsx)("div",{className:"h-full overflow-y-auto bg-[var(--bg)]",children:(0,l.jsxs)("div",{className:"max-w-[640px] mx-auto px-[var(--space-4)] py-[var(--space-6)] pb-[var(--space-12)]",children:[(0,l.jsx)("h1",{className:"text-[length:var(--text-title1)] font-[var(--weight-bold)] tracking-[var(--tracking-tight)] text-[var(--text-primary)] mb-[var(--space-6)]",children:"Settings"}),(0,l.jsxs)(b,{title:"Appearance",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-footnote)] font-[var(--weight-medium)] text-[var(--text-secondary)] mb-[var(--space-2)]",children:"Theme"}),(0,l.jsx)("div",{className:"grid grid-cols-5 gap-[var(--space-2)] mb-[var(--space-4)]",children:h.z.map(e=>{let a=as===e.id;return(0,l.jsxs)("button",{onClick:()=>ao(e.id),className:"flex flex-col items-center gap-[var(--space-1)] px-[var(--space-2)] py-[var(--space-3)] rounded-[var(--radius-md)] bg-[var(--fill-quaternary)] cursor-pointer transition-all duration-150 ease-[var(--ease-smooth)]",style:{border:a?"2px solid var(--accent)":"2px solid var(--separator)"},children:[(0,l.jsx)("span",{className:"text-[24px]",children:e.emoji}),(0,l.jsx)("span",{className:"text-[length:var(--text-caption2)]",style:{fontWeight:a?"var(--weight-semibold)":"var(--weight-medium)",color:a?"var(--accent)":"var(--text-secondary)"},children:e.label})]},e.id)})}),(0,l.jsx)("div",{className:"text-[length:var(--text-footnote)] font-[var(--weight-medium)] text-[var(--text-secondary)] mb-[var(--space-2)]",children:"Accent Color"}),(0,l.jsx)("div",{className:"flex flex-wrap gap-[var(--space-2)] mb-[var(--space-3)]",children:m.map(e=>{let a=e9.accentColor===e.value;return(0,l.jsx)("button",{onClick:()=>e7(e.value),"aria-label":e.label,title:e.label,className:"w-[32px] h-[32px] rounded-full cursor-pointer transition-all duration-100 ease-[var(--ease-smooth)] flex items-center justify-center",style:{background:e.value,border:a?"2px solid var(--text-primary)":"2px solid transparent",outline:a?"2px solid ".concat(e.value):"none",outlineOffset:2},children:a&&(0,l.jsx)(r.A,{size:14,color:"#fff",strokeWidth:3})},e.value)})}),(0,l.jsxs)("div",{className:"flex items-center gap-[var(--space-3)]",children:[(0,l.jsxs)("label",{className:"flex items-center gap-[var(--space-2)] text-[length:var(--text-footnote)] text-[var(--text-secondary)] cursor-pointer",children:["Custom:",(0,l.jsx)("input",{type:"color",value:null!=(eO=e9.accentColor)?eO:"#3B82F6",onChange:e=>e7(e.target.value),className:"w-[28px] h-[28px] border-none rounded-full cursor-pointer bg-transparent p-0"})]}),(0,l.jsx)("input",{type:"text",placeholder:"#3B82F6",value:ab,onChange:e=>{af(e.target.value),/^#[0-9a-fA-F]{6}$/.test(e.target.value)&&e7(e.target.value)},className:"apple-input w-[90px] px-[8px] py-[4px] text-[length:var(--text-caption1)] bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] text-[var(--text-primary)] font-mono"}),e9.accentColor&&(0,l.jsxs)("button",{onClick:()=>e7(null),className:"text-[length:var(--text-footnote)] text-[var(--system-blue)] bg-none border-none cursor-pointer p-0 inline-flex items-center gap-[4px]",children:[(0,l.jsx)(o,{size:12}),"Reset"]})]})]}),(0,l.jsx)(b,{title:"Branding",children:(0,l.jsxs)("div",{className:"flex flex-col gap-[var(--space-3)]",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Name"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]",placeholder:"Jinn",value:ai,onChange:e=>ac(e.target.value),onBlur:()=>{ae(ai||null),g.F.completeOnboarding({portalName:ai||void 0}).catch(()=>{})}})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Subtitle"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]",placeholder:"Command Centre",value:ad,onChange:e=>au(e.target.value),onBlur:()=>aa(ad||null)})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Operator Name"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)]",placeholder:"Your Name",value:av,onChange:e=>ap(e.target.value),onBlur:()=>{at(av||null),g.F.completeOnboarding({operatorName:av||void 0}).catch(()=>{})}})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Portal Emoji"}),(0,l.jsx)("input",{type:"text",className:"apple-input w-[80px] text-center text-[length:var(--text-title2)] px-[8px] py-[6px] bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)]",placeholder:"\ud83e\udd16",value:ax,onChange:e=>ah(e.target.value),onBlur:()=>al(ax||null)})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block text-[length:var(--text-caption1)] text-[var(--text-tertiary)] mb-[var(--space-1)]",children:"Language"}),(0,l.jsxs)("select",{value:ag,onChange:e=>am(e.target.value),onBlur:()=>{an(ag||"English"),g.F.completeOnboarding({language:ag||void 0}).catch(()=>{})},className:"w-full bg-[var(--bg-secondary)] border border-[var(--separator)] rounded-[var(--radius-sm)] px-[10px] py-[6px] text-[length:var(--text-footnote)] text-[var(--text-primary)] cursor-pointer",children:[(0,l.jsx)("option",{value:"English",children:"English"}),(0,l.jsx)("option",{value:"Spanish",children:"Spanish"}),(0,l.jsx)("option",{value:"French",children:"French"}),(0,l.jsx)("option",{value:"German",children:"German"}),(0,l.jsx)("option",{value:"Portuguese",children:"Portuguese"}),(0,l.jsx)("option",{value:"Italian",children:"Italian"}),(0,l.jsx)("option",{value:"Dutch",children:"Dutch"}),(0,l.jsx)("option",{value:"Russian",children:"Russian"}),(0,l.jsx)("option",{value:"Chinese",children:"Chinese"}),(0,l.jsx)("option",{value:"Japanese",children:"Japanese"}),(0,l.jsx)("option",{value:"Korean",children:"Korean"}),(0,l.jsx)("option",{value:"Arabic",children:"Arabic"}),(0,l.jsx)("option",{value:"Hindi",children:"Hindi"}),(0,l.jsx)("option",{value:"Bulgarian",children:"Bulgarian"})]})]})]})}),aA&&(0,l.jsx)("div",{className:"mb-[var(--space-4)] px-[var(--space-4)] py-[var(--space-3)] rounded-[var(--radius-md)] text-[length:var(--text-footnote)]",style:{background:"success"===aA.type?"rgba(34,197,94,0.1)":"rgba(239,68,68,0.1)",border:"1px solid ".concat("success"===aA.type?"rgba(34,197,94,0.3)":"rgba(239,68,68,0.3)"),color:"success"===aA.type?"var(--system-green)":"var(--system-red)"},children:aA.message}),aw?(0,l.jsxs)("div",{className:"text-center p-[var(--space-8)] text-[var(--text-tertiary)] text-[length:var(--text-footnote)]",children:[(0,l.jsx)(i,{size:20,className:"mx-auto mb-[var(--space-2)] animate-spin"}),"Loading gateway config..."]}):aC?(0,l.jsxs)("div",{className:"mb-[var(--space-6)] px-[var(--space-4)] py-[var(--space-3)] rounded-[var(--radius-md)] text-[length:var(--text-footnote)] text-[var(--system-red)]",style:{background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.3)"},children:["Failed to load config: ",aC]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(b,{title:"Gateway Configuration",children:[(0,l.jsx)(f,{label:"Port",children:(0,l.jsx)(j,{type:"number",value:String(null!=(eT=null==(a=aj.gateway)?void 0:a.port)?eT:""),onChange:e=>aO(["gateway","port"],Number(e)||0),placeholder:"7777"})}),(0,l.jsx)(f,{label:"Host",children:(0,l.jsx)(j,{value:null!=(eP=null==(t=aj.gateway)?void 0:t.host)?eP:"",onChange:e=>aO(["gateway","host"],e),placeholder:"127.0.0.1"})}),(0,l.jsx)(f,{label:"Default Engine",children:(0,l.jsx)(y,{value:null!=(eW=null==(s=aj.engines)?void 0:s.default)?eW:"claude",onChange:e=>aO(["engines","default"],e),options:[{value:"claude",label:"Claude"},{value:"codex",label:"Codex"}]})})]}),(0,l.jsxs)(b,{title:"Engine Configuration",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Claude"}),(0,l.jsx)(f,{label:"Binary Path",children:(0,l.jsx)(j,{value:null!=(eG=null==(k=aj.engines)||null==(N=k.claude)?void 0:N.bin)?eG:"",onChange:e=>aO(["engines","claude","bin"],e),placeholder:"claude"})}),(0,l.jsx)(f,{label:"Model",children:(0,l.jsx)(y,{value:null!=(eR=null==(F=aj.engines)||null==(S=F.claude)?void 0:S.model)?eR:"opus",onChange:e=>aO(["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,l.jsx)(f,{label:"Effort Level",children:(0,l.jsx)(y,{value:null!=(ez=null==(D=aj.engines)||null==(A=D.claude)?void 0:A.effortLevel)?ez:"default",onChange:e=>aO(["engines","claude","effortLevel"],e),options:[{value:"default",label:"Default"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}]})}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Codex"}),(0,l.jsx)(f,{label:"Binary Path",children:(0,l.jsx)(j,{value:null!=(eH=null==(B=aj.engines)||null==(E=B.codex)?void 0:E.bin)?eH:"",onChange:e=>aO(["engines","codex","bin"],e),placeholder:"codex"})}),(0,l.jsx)(f,{label:"Model",children:(0,l.jsx)(y,{value:null!=(eU=null==(L=aj.engines)||null==(I=L.codex)?void 0:I.model)?eU:"gpt-5.4",onChange:e=>aO(["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,l.jsx)(f,{label:"Effort Level",children:(0,l.jsx)(y,{value:null!=(eq=null==(O=aj.engines)||null==(M=O.codex)?void 0:M.effortLevel)?eq:"default",onChange:e=>aO(["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,l.jsxs)(b,{title:"Sessions",children:[(0,l.jsx)(f,{label:"Interrupt on New Message",children:(0,l.jsx)(w,{checked:null==(e_=null==(T=aj.sessions)?void 0:T.interruptOnNewMessage)||e_,onChange:e=>aO(["sessions","interruptOnNewMessage"],e)})}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--label-secondary)] mt-[4px]",children:"When enabled, sending a new message to a running session will stop the current agent and start processing your new message immediately. When disabled, messages are queued."}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)(f,{label:"When Claude Hits Usage Limit",children:(0,l.jsx)(y,{value:null!=(eV=null==(P=aj.sessions)?void 0:P.rateLimitStrategy)?eV:"fallback",onChange:e=>aO(["sessions","rateLimitStrategy"],e),options:[{value:"wait",label:"Wait & Auto-Resume"},{value:"fallback",label:"Switch to GPT (Codex)"}]})}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--label-secondary)] mt-[4px]",children:'"Wait" pauses the session and continues automatically when Claude resets. "Switch" answers immediately using GPT, then returns to Claude once the reset window passes.'})]}),(0,l.jsxs)(b,{title:"Connectors",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Slack"}),(0,l.jsx)(f,{label:"App Token",children:(0,l.jsx)(j,{type:"password",value:null!=(eJ=null==(G=aj.connectors)||null==(W=G.slack)?void 0:W.appToken)?eJ:"",onChange:e=>aO(["connectors","slack","appToken"],e),placeholder:"xapp-..."})}),(0,l.jsx)(f,{label:"Bot Token",children:(0,l.jsx)(j,{type:"password",value:null!=(eK=null==(z=aj.connectors)||null==(R=z.slack)?void 0:R.botToken)?eK:"",onChange:e=>aO(["connectors","slack","botToken"],e),placeholder:"xoxb-..."})}),(0,l.jsx)(f,{label:"Share Session in Channel",children:(0,l.jsx)(w,{checked:null!=(eQ=null==(U=aj.connectors)||null==(H=U.slack)?void 0:H.shareSessionInChannel)&&eQ,onChange:e=>aO(["connectors","slack","shareSessionInChannel"],e)})}),(0,l.jsx)(f,{label:"Allowed Users",children:(0,l.jsx)(j,{value:Array.isArray(null==(_=aj.connectors)||null==(q=_.slack)?void 0:q.allowFrom)?null==(K=aj.connectors)||null==(J=K.slack)||null==(V=J.allowFrom)?void 0:V.join(", "):null!=(eY=null==(Y=aj.connectors)||null==(Q=Y.slack)?void 0:Q.allowFrom)?eY:"",onChange:e=>aO(["connectors","slack","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"U123, U456"})}),(0,l.jsx)(f,{label:"Ignore Old Messages on Boot",children:(0,l.jsx)(w,{checked:null==(e$=null==(X=aj.connectors)||null==($=X.slack)?void 0:$.ignoreOldMessagesOnBoot)||e$,onChange:e=>aO(["connectors","slack","ignoreOldMessagesOnBoot"],e)})}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Discord"}),(0,l.jsx)(f,{label:"Bot Token",children:(0,l.jsx)(j,{type:"password",value:null!=(eX=null==(ee=aj.connectors)||null==(Z=ee.discord)?void 0:Z.botToken)?eX:"",onChange:e=>aO(["connectors","discord","botToken"],e),placeholder:"Bot token..."})}),(0,l.jsx)(f,{label:"Allow From",children:(0,l.jsx)(j,{value:Array.isArray(null==(et=aj.connectors)||null==(ea=et.discord)?void 0:ea.allowFrom)?null==(er=aj.connectors)||null==(en=er.discord)||null==(el=en.allowFrom)?void 0:el.join(", "):null!=(eZ=null==(eo=aj.connectors)||null==(es=eo.discord)?void 0:es.allowFrom)?eZ:"",onChange:e=>aO(["connectors","discord","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"User IDs, comma-separated (optional)"})}),(0,l.jsx)(f,{label:"Guild ID",children:(0,l.jsx)(j,{value:null!=(e0=null==(ec=aj.connectors)||null==(ei=ec.discord)?void 0:ei.guildId)?e0:"",onChange:e=>aO(["connectors","discord","guildId"],e.trim()||void 0),placeholder:"Server/Guild ID (optional)"})}),(0,l.jsx)(f,{label:"Channel ID",children:(0,l.jsx)(j,{value:null!=(e1=null==(eu=aj.connectors)||null==(ed=eu.discord)?void 0:ed.channelId)?e1:"",onChange:e=>aO(["connectors","discord","channelId"],e.trim()||void 0),placeholder:"Restrict to this channel (right-click → Copy Channel ID)"})}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mt-[var(--space-4)] mb-[var(--space-2)]",children:"WhatsApp"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-3)]",children:"On first start, scan the QR code below with your WhatsApp app to connect. Credentials are cached for subsequent runs."}),(0,l.jsx)(f,{label:"Auth Directory",children:(0,l.jsx)(j,{value:null!=(e2=null==(ep=aj.connectors)||null==(ev=ep.whatsapp)?void 0:ev.authDir)?e2:"",onChange:e=>aO(["connectors","whatsapp","authDir"],e.trim()||void 0),placeholder:"Default: ~/.jinn/.whatsapp-auth"})}),(0,l.jsx)(f,{label:"Allow From",children:(0,l.jsx)(j,{value:Array.isArray(null==(eh=aj.connectors)||null==(ex=eh.whatsapp)?void 0:ex.allowFrom)?null==(eb=aj.connectors)||null==(em=eb.whatsapp)||null==(eg=em.allowFrom)?void 0:eg.join(", "):"",onChange:e=>aO(["connectors","whatsapp","allowFrom"],e.trim()?e.split(",").map(e=>e.trim()).filter(Boolean):void 0),placeholder:"447700900000@s.whatsapp.net, ... (optional)"})}),aE&&(0,l.jsxs)("div",{className:"mt-[var(--space-3)] flex flex-col items-center gap-[var(--space-2)]",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-semibold text-[var(--text-secondary)]",children:"Scan with WhatsApp to connect"}),(0,l.jsx)("img",{src:aE,alt:"WhatsApp QR Code",className:"w-[200px] h-[200px] rounded-[var(--radius-md)] border border-[var(--separator)] bg-white p-[8px]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:"Open WhatsApp → Linked Devices → Link a Device"})]}),(null==(ef=aj.connectors)?void 0:ef.whatsapp)&&"ok"===aI&&(0,l.jsx)("div",{className:"mt-[var(--space-2)] text-[length:var(--text-caption1)] text-[var(--system-green)] font-semibold",children:"✓ Connected"}),(0,l.jsx)("div",{className:"border-t border-[var(--separator)] mt-[var(--space-3)] pt-[var(--space-3)]"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Web UI"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:"Web conversations use queued one-shot resume flow for both engines."})]}),(0,l.jsxs)(b,{title:"Cron",children:[(0,l.jsx)("div",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:"Default Delivery"}),(0,l.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-3)]",children:"When a cron job has no delivery configured, results will be sent here."}),(0,l.jsx)(f,{label:"Connector",children:(0,l.jsx)(y,{value:null!=(e4=null==(ey=aj.cron)||null==(ej=ey.defaultDelivery)?void 0:ej.connector)?e4:"",onChange:e=>aO(["cron","defaultDelivery","connector"],e||void 0),options:[{value:"",label:"None (fire & forget)"},{value:"web",label:"Web"},{value:"slack",label:"Slack"}]})}),(null==(eN=aj.cron)||null==(ew=eN.defaultDelivery)?void 0:ew.connector)&&(0,l.jsx)(f,{label:"Channel",children:(0,l.jsx)(j,{value:null!=(e3=null==(ek=aj.cron)||null==(eC=ek.defaultDelivery)?void 0:eC.channel)?e3:"",onChange:e=>aO(["cron","defaultDelivery","channel"],e),placeholder:"#general"})})]}),(0,l.jsxs)(b,{title:"Logging",children:[(0,l.jsx)(f,{label:"Level",children:(0,l.jsx)(y,{value:null!=(e6=null==(eS=aj.logging)?void 0:eS.level)?e6:"info",onChange:e=>aO(["logging","level"],e),options:[{value:"debug",label:"Debug"},{value:"info",label:"Info"},{value:"warn",label:"Warn"},{value:"error",label:"Error"}]})}),(0,l.jsx)(f,{label:"Stdout",children:(0,l.jsx)(w,{checked:null==(e5=null==(eF=aj.logging)?void 0:eF.stdout)||e5,onChange:e=>aO(["logging","stdout"],e)})}),(0,l.jsx)(f,{label:"File Logging",children:(0,l.jsx)(w,{checked:null!=(e8=null==(eA=aj.logging)?void 0:eA.file)&&e8,onChange:e=>aO(["logging","file"],e)})})]}),(0,l.jsx)(C,{}),(0,l.jsxs)("div",{className:"flex justify-end gap-[var(--space-3)] mb-[var(--space-6)]",children:[(0,l.jsxs)("button",{onClick:()=>aM(),className:"px-[var(--space-4)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--fill-tertiary)] text-[var(--text-secondary)] border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-medium)] inline-flex items-center gap-[6px]",children:[(0,l.jsx)(o,{size:14}),"Reload"]}),(0,l.jsxs)("button",{onClick:function(){aF(!0),aD(null),g.F.updateConfig(aj).then(()=>aD({type:"success",message:"Settings saved successfully"})).catch(e=>aD({type:"error",message:"Failed to save: ".concat(e.message)})).finally(()=>aF(!1))},disabled:aS,className:"px-[var(--space-5)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none text-[length:var(--text-footnote)] font-[var(--weight-semibold)] inline-flex items-center gap-[6px] transition-all duration-150 ease-[var(--ease-smooth)]",style:{cursor:aS?"wait":"pointer",opacity:aS?.7:1},children:[(0,l.jsx)(c,{size:14}),aS?"Saving...":"Save Config"]})]})]}),(0,l.jsx)(b,{title:"Reset",children:(0,l.jsxs)("div",{className:"flex items-center justify-center gap-[var(--space-3)] flex-wrap",children:[(0,l.jsxs)("button",{onClick:()=>{localStorage.removeItem("jinn-onboarded"),window.location.reload()},className:"px-[var(--space-5)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--accent)] text-[var(--accent-contrast)] border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-semibold)] transition-all duration-150 ease-[var(--ease-spring)] inline-flex items-center gap-[var(--space-2)]",children:[(0,l.jsx)(o,{size:14}),"Re-run Onboarding Wizard"]}),(0,l.jsxs)("button",{onClick:()=>{window.confirm("Reset all settings to defaults?")&&(localStorage.removeItem("jinn-settings"),localStorage.removeItem("jinn-theme"),ar(),window.location.reload())},className:"px-[var(--space-5)] py-[var(--space-2)] rounded-[var(--radius-md)] bg-[var(--system-red)] text-white border-none cursor-pointer text-[length:var(--text-footnote)] font-[var(--weight-semibold)] transition-all duration-150 ease-[var(--ease-spring)] inline-flex items-center gap-[var(--space-2)]",children:[(0,l.jsx)(d.A,{size:14}),"Reset All Settings"]})]})})]})})})}},2854:(e,a,t)=>{Promise.resolve().then(t.bind(t,1694))}},e=>{e.O(0,[625,51,155,192,344,144,358],()=>e(e.s=2854)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[501],{2864:(e,t,a)=>{Promise.resolve().then(a.bind(a,2886))},2886:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>h});var r=a(4130),l=a(7946),s=a(6654);let n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},i=/[&<>"']/g,o=[{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 c=a(7192),d=a(8565),x=a(3637),m=a(7632),p=a(6088),v=a(4722);function h(){var e,t;(0,d.i)([{label:"Skills"}]);let{settings:a}=(0,v.t0)(),h=null!=(e=a.portalName)?e:"Jinn",[g,u]=(0,l.useState)([]),[y,b]=(0,l.useState)(!0),[f,j]=(0,l.useState)(null),[N,k]=(0,l.useState)(null),[w,S]=(0,l.useState)(null),[$,C]=(0,l.useState)(!1),[_,E]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{s.F.getSkills().then(e=>u(e)).catch(e=>j(e.message)).finally(()=>b(!1))},[]),(0,r.jsx)(c.M,{children:(0,r.jsxs)("div",{className:"h-full overflow-y-auto p-[var(--space-6)]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-[var(--space-6)]",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-[length:var(--text-title2)] font-[var(--weight-bold)] text-[var(--text-primary)] mb-[var(--space-1)]",children:"Skills"}),(0,r.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--text-tertiary)]",children:"Capabilities and learned behaviors"})]}),(0,r.jsx)("button",{onClick:()=>alert("To create a new skill, chat with ".concat(h," and ask to learn something new.")),className:"py-[var(--space-2)] px-[var(--space-4)] rounded-[var(--radius-md,12px)] text-[var(--accent)] border-none cursor-pointer text-[length:var(--text-body)] font-[var(--weight-medium)]",style:{background:"color-mix(in srgb, var(--accent) 12%, transparent)"},children:"+ Create Skill"})]}),f&&(0,r.jsxs)("div",{className:"mb-[var(--space-4)] rounded-[var(--radius-md,12px)] py-[var(--space-3)] px-[var(--space-4)] text-[length:var(--text-body)] text-[var(--system-red)]",style:{background:"color-mix(in srgb, var(--system-red) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--system-red) 30%, transparent)"},children:["Failed to load skills: ",f]}),y?(0,r.jsx)("div",{className:"text-center p-[var(--space-8)] text-[var(--text-tertiary)] text-[length:var(--text-body)]",children:"Loading..."}):0!==g.length||f?(0,r.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(220px,1fr))] gap-[var(--space-4)]",children:g.map(e=>(0,r.jsx)(x.Zp,{className:"py-4 cursor-pointer transition-colors hover:border-[var(--accent)]",onClick:()=>{k(e),E(!0),C(!0),s.F.getSkill(e.name).then(e=>{S(e.content||e.skillMd||JSON.stringify(e,null,2))}).catch(()=>S("Failed to load skill content")).finally(()=>C(!1))},children:(0,r.jsxs)(x.Wu,{className:"flex flex-col gap-3",children:[(0,r.jsx)("div",{className:"w-10 h-10 rounded-[var(--radius-md,12px)] flex items-center justify-center text-[var(--system-yellow)]",style:{background:"color-mix(in srgb, var(--system-yellow) 12%, transparent)"},children:(0,r.jsx)(p.A,{size:20})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-[length:var(--text-body)] font-[var(--weight-semibold)] text-[var(--text-primary)] mb-0.5",children:e.name}),(0,r.jsx)("p",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] line-clamp-2",children:e.description||"No description"})]})]})},e.name))}):(0,r.jsx)(x.Zp,{children:(0,r.jsx)(x.Wu,{children:(0,r.jsxs)("div",{className:"text-center p-[var(--space-6)]",children:[(0,r.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--text-tertiary)]",children:"No skills yet"}),(0,r.jsxs)("p",{className:"text-[length:var(--text-caption1)] text-[var(--text-quaternary)] mt-[var(--space-1)]",children:["Chat with ",h," to teach new skills"]})]})})}),(0,r.jsx)(m.lG,{open:_,onOpenChange:e=>!e&&void(E(!1),k(null),S(null)),children:(0,r.jsxs)(m.Cf,{className:"sm:max-w-2xl max-h-[80vh] flex flex-col",children:[(0,r.jsxs)(m.c7,{children:[(0,r.jsx)(m.L3,{children:null!=(t=null==N?void 0:N.name)?t:"Skill"}),(0,r.jsx)(m.rr,{children:(null==N?void 0:N.description)||"Skill details"})]}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto py-[var(--space-2)]",children:$?(0,r.jsx)("p",{className:"text-[length:var(--text-body)] text-[var(--text-tertiary)]",children:"Loading..."}):w?(0,r.jsx)("div",{className:"text-[length:var(--text-body)] leading-[1.7] text-[var(--text-secondary)]",dangerouslySetInnerHTML:{__html:function(e,t){let a=e.replace(i,e=>n[e]);for(let e of o)a=a.replace(e.pattern,e.replacement);return a}(w)}}):null})]})})]})})}},3637:(e,t,a)=>{"use strict";a.d(t,{Wu:()=>n,Zp:()=>s});var r=a(4130);a(7946);var l=a(6063);function s(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,l.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function n(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,l.cn)("px-6",t),...a})}}},e=>{e.O(0,[625,51,155,192,344,144,358],()=>e(e.s=2864)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{556:()=>{},7614:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,1389,23)),Promise.resolve().then(n.t.bind(n,3538,23)),Promise.resolve().then(n.t.bind(n,6774,23)),Promise.resolve().then(n.t.bind(n,7115,23)),Promise.resolve().then(n.t.bind(n,1015,23)),Promise.resolve().then(n.t.bind(n,1475,23)),Promise.resolve().then(n.t.bind(n,3912,23)),Promise.resolve().then(n.t.bind(n,6862,23)),Promise.resolve().then(n.bind(n,1579))}},e=>{var s=s=>e(e.s=s);e.O(0,[344,144],()=>(s(2435),s(7614))),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{556:()=>{},2477:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,1389,23)),Promise.resolve().then(n.t.bind(n,3538,23)),Promise.resolve().then(n.t.bind(n,6774,23)),Promise.resolve().then(n.t.bind(n,7115,23)),Promise.resolve().then(n.t.bind(n,1015,23)),Promise.resolve().then(n.t.bind(n,1475,23)),Promise.resolve().then(n.t.bind(n,3912,23)),Promise.resolve().then(n.t.bind(n,6862,23)),Promise.resolve().then(n.bind(n,1579))}},e=>{var s=s=>e(e.s=s);e.O(0,[344,144],()=>(s(2435),s(2477))),_N_E=e.O()}]);
@@ -1 +1 @@
1
- <!DOCTYPE html><!--4OBIVkP7CCBmCjhg6p9Id--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-72a2d12a170701ef.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-592ad81a5c00a38a.js" async=""></script><script src="/_next/static/chunks/app/layout-ab9ba2b24a88513d.js" async=""></script><script src="/_next/static/chunks/51-ea7256657692ba90.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/865-b4eb9a132b937321.js" async=""></script><script src="/_next/static/chunks/192-bd69b67fd03b9f3d.js" async=""></script><script src="/_next/static/chunks/app/chat/page-83a714baeb382ffb.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex h-dvh overflow-hidden bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house shrink-0" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Chat" aria-current="page"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square shrink-0" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid shrink-0" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap shrink-0" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings shrink-0" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-accent"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="flex h-full items-center justify-center text-muted-foreground">Loading...</div></div></main></div><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-592ad81a5c00a38a.js\",\"177\",\"static/chunks/app/layout-ab9ba2b24a88513d.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4527,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-ea7256657692ba90.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"865\",\"static/chunks/865-b4eb9a132b937321.js\",\"155\",\"static/chunks/155-592ad81a5c00a38a.js\",\"192\",\"static/chunks/192-bd69b67fd03b9f3d.js\",\"457\",\"static/chunks/app/chat/page-83a714baeb382ffb.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"4OBIVkP7CCBmCjhg6p9Id\",\"p\":\"\",\"c\":[\"\",\"chat\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"chat\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--astVwZfaNwQEC0C3qtVHe--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-637478e5d2259005.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-277bf3022d16e74f.js" async=""></script><script src="/_next/static/chunks/app/layout-45d8b9cc84f9443f.js" async=""></script><script src="/_next/static/chunks/51-43ce350b707e6b06.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/865-b4eb9a132b937321.js" async=""></script><script src="/_next/static/chunks/192-3064c98adfeef88c.js" async=""></script><script src="/_next/static/chunks/app/chat/page-d9b12d7effe66c59.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex h-dvh overflow-hidden bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house shrink-0" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Chat" aria-current="page"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square shrink-0" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid shrink-0" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Cron"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap shrink-0" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings shrink-0" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-accent"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="flex h-full items-center justify-center text-muted-foreground">Loading...</div></div></main></div><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"177\",\"static/chunks/app/layout-45d8b9cc84f9443f.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4527,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-43ce350b707e6b06.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"865\",\"static/chunks/865-b4eb9a132b937321.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"192\",\"static/chunks/192-3064c98adfeef88c.js\",\"457\",\"static/chunks/app/chat/page-d9b12d7effe66c59.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"astVwZfaNwQEC0C3qtVHe\",\"p\":\"\",\"c\":[\"\",\"chat\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"chat\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
package/dist/web/chat.txt CHANGED
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[4874,["625","static/chunks/625-93dc90080662b8f4.js","155","static/chunks/155-592ad81a5c00a38a.js","177","static/chunks/app/layout-ab9ba2b24a88513d.js"],"ClientProviders"]
2
+ 2:I[4874,["625","static/chunks/625-93dc90080662b8f4.js","155","static/chunks/155-277bf3022d16e74f.js","177","static/chunks/app/layout-45d8b9cc84f9443f.js"],"ClientProviders"]
3
3
  3:I[1015,[],""]
4
4
  4:I[3912,[],""]
5
5
  5:I[3538,[],"ClientPageRoot"]
6
- 6:I[4527,["625","static/chunks/625-93dc90080662b8f4.js","51","static/chunks/51-ea7256657692ba90.js","458","static/chunks/458-85ba1833ffcc2e6c.js","865","static/chunks/865-b4eb9a132b937321.js","155","static/chunks/155-592ad81a5c00a38a.js","192","static/chunks/192-bd69b67fd03b9f3d.js","457","static/chunks/app/chat/page-83a714baeb382ffb.js"],"default"]
6
+ 6:I[4527,["625","static/chunks/625-93dc90080662b8f4.js","51","static/chunks/51-43ce350b707e6b06.js","458","static/chunks/458-85ba1833ffcc2e6c.js","865","static/chunks/865-b4eb9a132b937321.js","155","static/chunks/155-277bf3022d16e74f.js","192","static/chunks/192-3064c98adfeef88c.js","457","static/chunks/app/chat/page-d9b12d7effe66c59.js"],"default"]
7
7
  9:I[6862,[],"OutletBoundary"]
8
8
  b:I[1475,[],"AsyncMetadataOutlet"]
9
9
  d:I[6862,[],"ViewportBoundary"]
@@ -11,7 +11,7 @@ f:I[6862,[],"MetadataBoundary"]
11
11
  10:"$Sreact.suspense"
12
12
  12:I[1389,[],""]
13
13
  :HL["/_next/static/css/92635e77ae2cd8fd.css","style"]
14
- 0:{"P":null,"b":"4OBIVkP7CCBmCjhg6p9Id","p":"","c":["","chat"],"i":false,"f":[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/92635e77ae2cd8fd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["chat",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
14
+ 0:{"P":null,"b":"astVwZfaNwQEC0C3qtVHe","p":"","c":["","chat"],"i":false,"f":[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/92635e77ae2cd8fd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["chat",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
15
15
  7:{}
16
16
  8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
17
17
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--4OBIVkP7CCBmCjhg6p9Id--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-72a2d12a170701ef.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-592ad81a5c00a38a.js" async=""></script><script src="/_next/static/chunks/app/layout-ab9ba2b24a88513d.js" async=""></script><script src="/_next/static/chunks/51-ea7256657692ba90.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/192-bd69b67fd03b9f3d.js" async=""></script><script src="/_next/static/chunks/app/cron/page-4ede68bcdb3e76ca.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh overflow-hidden bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house shrink-0" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square shrink-0" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid shrink-0" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Cron" aria-current="page"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap shrink-0" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings shrink-0" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-accent"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="h-full flex flex-col overflow-hidden bg-[var(--bg)]"><header class="flex-shrink-0 bg-[var(--material-regular)] border-b border-[var(--separator)] px-[var(--space-6)] py-[var(--space-4)]"><div class="flex items-center justify-between"><div><h1 class="text-[length:var(--text-title1)] font-bold text-[var(--text-primary)] tracking-tight leading-[1.2]">Cron Jobs</h1></div><div class="hidden items-center gap-2 lg:flex"><div class="flex items-center gap-[var(--space-3)]"><span class="text-[length:var(--text-caption1)] text-[var(--text-tertiary)]">Updated <!-- -->just now</span><button aria-label="Refresh cron data" class="w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2v6h-6"></path><path d="M3 12a9 9 0 0 1 15-6.7L21 8"></path><path d="M3 22v-6h6"></path><path d="M21 12a9 9 0 0 1-15 6.7L3 16"></path></svg></button></div><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div></header><div class="flex-1 overflow-y-auto px-[var(--space-6)] pt-[var(--space-4)] pb-[var(--space-6)]"><div><div class="grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)]"><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-592ad81a5c00a38a.js\",\"177\",\"static/chunks/app/layout-ab9ba2b24a88513d.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4031,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-ea7256657692ba90.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"155\",\"static/chunks/155-592ad81a5c00a38a.js\",\"192\",\"static/chunks/192-bd69b67fd03b9f3d.js\",\"271\",\"static/chunks/app/cron/page-4ede68bcdb3e76ca.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"4OBIVkP7CCBmCjhg6p9Id\",\"p\":\"\",\"c\":[\"\",\"cron\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"cron\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"cron\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--astVwZfaNwQEC0C3qtVHe--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/92635e77ae2cd8fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e7350efbcf65db9c.js"/><script src="/_next/static/chunks/6d25620b-d9f90746a7f2178c.js" async=""></script><script src="/_next/static/chunks/144-548cab85cf18301a.js" async=""></script><script src="/_next/static/chunks/main-app-637478e5d2259005.js" async=""></script><script src="/_next/static/chunks/625-93dc90080662b8f4.js" async=""></script><script src="/_next/static/chunks/155-277bf3022d16e74f.js" async=""></script><script src="/_next/static/chunks/app/layout-45d8b9cc84f9443f.js" async=""></script><script src="/_next/static/chunks/51-43ce350b707e6b06.js" async=""></script><script src="/_next/static/chunks/458-85ba1833ffcc2e6c.js" async=""></script><script src="/_next/static/chunks/192-3064c98adfeef88c.js" async=""></script><script src="/_next/static/chunks/app/cron/page-03f6c20a2336f185.js" async=""></script><meta name="description" content="AI Gateway Dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex h-dvh overflow-hidden bg-background"><aside class="fixed inset-y-0 left-0 z-[60] hidden overflow-hidden border-r border-border bg-[var(--bg-secondary)] transition-[width] duration-200 ease-out lg:flex lg:flex-col w-14"><div class="flex min-h-14 shrink-0 items-center gap-2.5 px-3.5 pb-3 pt-4"><span class="w-7 shrink-0 text-center text-2xl leading-none">🤖</span><span class="whitespace-nowrap text-[17px] font-semibold text-foreground transition-opacity duration-200 opacity-0">Jinn</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2"><a href="/" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Home"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house shrink-0" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Home</span></a><a href="/chat" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Chat"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square shrink-0" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><span class="transition-opacity duration-200 opacity-0">Chat</span></a><a href="/org" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Organization"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users shrink-0" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="transition-opacity duration-200 opacity-0">Organization</span></a><a href="/kanban" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Kanban"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid shrink-0" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg><span class="transition-opacity duration-200 opacity-0">Kanban</span></a><a href="/cron" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors bg-[var(--accent-fill)] font-semibold text-[var(--accent)]" aria-label="Cron" aria-current="page"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span class="transition-opacity duration-200 opacity-0">Cron</span></a><a href="/logs" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Activity"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="transition-opacity duration-200 opacity-0">Activity</span></a><a href="/skills" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap shrink-0" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg><span class="transition-opacity duration-200 opacity-0">Skills</span></a><a href="/settings" class="group flex h-10 items-center gap-2.5 rounded-md px-3 text-[13px] whitespace-nowrap transition-colors text-muted-foreground hover:bg-accent hover:text-foreground" aria-label="Settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings shrink-0" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="transition-opacity duration-200 opacity-0">Settings</span></a></nav><div class="shrink-0 px-2 pb-3 pt-2"><button aria-label="Theme: dark. Click to cycle." class="flex h-10 w-full items-center gap-2.5 rounded-md px-3 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><span class="shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></span><span class="capitalize transition-opacity duration-200 opacity-0">dark</span></button></div></aside><main class="flex-1 overflow-hidden flex flex-col lg:ml-[56px]"><div class="jsx-906cbf20b7aa1777 relative z-60 flex h-12 shrink-0 items-center border-b border-border bg-[var(--material-thick)] px-3 lg:hidden"><button aria-label="Open menu" class="jsx-906cbf20b7aa1777 inline-flex size-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-accent"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button><div class="jsx-906cbf20b7aa1777 flex flex-1 items-center justify-center text-center"><span class="jsx-906cbf20b7aa1777 mr-1.5 text-lg">🤖</span><span class="jsx-906cbf20b7aa1777 text-sm font-semibold text-foreground">Jinn</span></div><div class="jsx-906cbf20b7aa1777 flex items-center gap-1"><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div><div class="flex-1 overflow-hidden"><div class="h-full flex flex-col overflow-hidden bg-[var(--bg)]"><header class="flex-shrink-0 bg-[var(--material-regular)] border-b border-[var(--separator)] px-[var(--space-6)] py-[var(--space-4)]"><div class="flex items-center justify-between"><div><h1 class="text-[length:var(--text-title1)] font-bold text-[var(--text-primary)] tracking-tight leading-[1.2]">Cron Jobs</h1></div><div class="hidden items-center gap-2 lg:flex"><div class="flex items-center gap-[var(--space-3)]"><span class="text-[length:var(--text-caption1)] text-[var(--text-tertiary)]">Updated <!-- -->just now</span><button aria-label="Refresh cron data" class="w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2v6h-6"></path><path d="M3 12a9 9 0 0 1 15-6.7L21 8"></path><path d="M3 22v-6h6"></path><path d="M21 12a9 9 0 0 1-15 6.7L3 16"></path></svg></button></div><div class="relative"><button data-slot="button" data-variant="ghost" data-size="icon-sm" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 relative text-muted-foreground" aria-label="Notifications"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg></button></div></div></div></header><div class="flex-1 overflow-y-auto px-[var(--space-6)] pt-[var(--space-4)] pb-[var(--space-6)]"><div><div class="grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)]"><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div><div class="bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]"><div class="animate-shimmer rounded-md w-[60px] h-2.5 mb-2" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer rounded-md w-20 h-3.5" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div><div class="animate-shimmer h-12 mb-1 rounded-[var(--radius-sm)]" style="background:linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%);background-size:200% 100%"></div></div></div></div></div></main></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e7350efbcf65db9c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[4874,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"177\",\"static/chunks/app/layout-45d8b9cc84f9443f.js\"],\"ClientProviders\"]\n3:I[1015,[],\"\"]\n4:I[3912,[],\"\"]\n5:I[3538,[],\"ClientPageRoot\"]\n6:I[4031,[\"625\",\"static/chunks/625-93dc90080662b8f4.js\",\"51\",\"static/chunks/51-43ce350b707e6b06.js\",\"458\",\"static/chunks/458-85ba1833ffcc2e6c.js\",\"155\",\"static/chunks/155-277bf3022d16e74f.js\",\"192\",\"static/chunks/192-3064c98adfeef88c.js\",\"271\",\"static/chunks/app/cron/page-03f6c20a2336f185.js\"],\"default\"]\n9:I[6862,[],\"OutletBoundary\"]\nb:I[1475,[],\"AsyncMetadataOutlet\"]\nd:I[6862,[],\"ViewportBoundary\"]\nf:I[6862,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[1389,[],\"\"]\n:HL[\"/_next/static/css/92635e77ae2cd8fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"astVwZfaNwQEC0C3qtVHe\",\"p\":\"\",\"c\":[\"\",\"cron\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"cron\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/92635e77ae2cd8fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[\"cron\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"meta\",\"0\",{\"name\":\"description\",\"content\":\"AI Gateway Dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
package/dist/web/cron.txt CHANGED
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[4874,["625","static/chunks/625-93dc90080662b8f4.js","155","static/chunks/155-592ad81a5c00a38a.js","177","static/chunks/app/layout-ab9ba2b24a88513d.js"],"ClientProviders"]
2
+ 2:I[4874,["625","static/chunks/625-93dc90080662b8f4.js","155","static/chunks/155-277bf3022d16e74f.js","177","static/chunks/app/layout-45d8b9cc84f9443f.js"],"ClientProviders"]
3
3
  3:I[1015,[],""]
4
4
  4:I[3912,[],""]
5
5
  5:I[3538,[],"ClientPageRoot"]
6
- 6:I[4031,["625","static/chunks/625-93dc90080662b8f4.js","51","static/chunks/51-ea7256657692ba90.js","458","static/chunks/458-85ba1833ffcc2e6c.js","155","static/chunks/155-592ad81a5c00a38a.js","192","static/chunks/192-bd69b67fd03b9f3d.js","271","static/chunks/app/cron/page-4ede68bcdb3e76ca.js"],"default"]
6
+ 6:I[4031,["625","static/chunks/625-93dc90080662b8f4.js","51","static/chunks/51-43ce350b707e6b06.js","458","static/chunks/458-85ba1833ffcc2e6c.js","155","static/chunks/155-277bf3022d16e74f.js","192","static/chunks/192-3064c98adfeef88c.js","271","static/chunks/app/cron/page-03f6c20a2336f185.js"],"default"]
7
7
  9:I[6862,[],"OutletBoundary"]
8
8
  b:I[1475,[],"AsyncMetadataOutlet"]
9
9
  d:I[6862,[],"ViewportBoundary"]
@@ -11,7 +11,7 @@ f:I[6862,[],"MetadataBoundary"]
11
11
  10:"$Sreact.suspense"
12
12
  12:I[1389,[],""]
13
13
  :HL["/_next/static/css/92635e77ae2cd8fd.css","style"]
14
- 0:{"P":null,"b":"4OBIVkP7CCBmCjhg6p9Id","p":"","c":["","cron"],"i":false,"f":[[["",{"children":["cron",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/92635e77ae2cd8fd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["cron",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
14
+ 0:{"P":null,"b":"astVwZfaNwQEC0C3qtVHe","p":"","c":["","cron"],"i":false,"f":[[["",{"children":["cron",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/92635e77ae2cd8fd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["cron",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
15
15
  7:{}
16
16
  8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
17
17
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]