openryoko 2026.5.8 → 2026.5.13

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 (136) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/connectors/slack/__tests__/agents-canvas.test.d.ts +2 -0
  3. package/dist/src/connectors/slack/__tests__/agents-canvas.test.d.ts.map +1 -0
  4. package/dist/src/connectors/slack/__tests__/agents-canvas.test.js +191 -0
  5. package/dist/src/connectors/slack/__tests__/agents-canvas.test.js.map +1 -0
  6. package/dist/src/connectors/slack/__tests__/goal-extractor.test.d.ts +2 -0
  7. package/dist/src/connectors/slack/__tests__/goal-extractor.test.d.ts.map +1 -0
  8. package/dist/src/connectors/slack/__tests__/goal-extractor.test.js +129 -0
  9. package/dist/src/connectors/slack/__tests__/goal-extractor.test.js.map +1 -0
  10. package/dist/src/connectors/slack/agents-canvas.d.ts +59 -0
  11. package/dist/src/connectors/slack/agents-canvas.d.ts.map +1 -0
  12. package/dist/src/connectors/slack/agents-canvas.js +372 -0
  13. package/dist/src/connectors/slack/agents-canvas.js.map +1 -0
  14. package/dist/src/connectors/slack/goal-extractor.d.ts +67 -0
  15. package/dist/src/connectors/slack/goal-extractor.d.ts.map +1 -0
  16. package/dist/src/connectors/slack/goal-extractor.js +302 -0
  17. package/dist/src/connectors/slack/goal-extractor.js.map +1 -0
  18. package/dist/src/connectors/slack/index.d.ts +15 -0
  19. package/dist/src/connectors/slack/index.d.ts.map +1 -1
  20. package/dist/src/connectors/slack/index.js +78 -0
  21. package/dist/src/connectors/slack/index.js.map +1 -1
  22. package/dist/src/engines/claude.d.ts +11 -0
  23. package/dist/src/engines/claude.d.ts.map +1 -1
  24. package/dist/src/engines/claude.js +75 -13
  25. package/dist/src/engines/claude.js.map +1 -1
  26. package/dist/src/gateway/api.d.ts.map +1 -1
  27. package/dist/src/gateway/api.js +20 -0
  28. package/dist/src/gateway/api.js.map +1 -1
  29. package/dist/src/gateway/server.d.ts.map +1 -1
  30. package/dist/src/gateway/server.js +61 -2
  31. package/dist/src/gateway/server.js.map +1 -1
  32. package/dist/src/sessions/context.js +20 -2
  33. package/dist/src/sessions/context.js.map +1 -1
  34. package/dist/src/sessions/manager.d.ts.map +1 -1
  35. package/dist/src/sessions/manager.js +15 -1
  36. package/dist/src/sessions/manager.js.map +1 -1
  37. package/dist/src/shared/types.d.ts +21 -0
  38. package/dist/src/shared/types.d.ts.map +1 -1
  39. package/dist/web/404.html +1 -1
  40. package/dist/web/__next.__PAGE__.txt +2 -2
  41. package/dist/web/__next._full.txt +3 -3
  42. package/dist/web/__next._head.txt +1 -1
  43. package/dist/web/__next._index.txt +2 -2
  44. package/dist/web/__next._tree.txt +2 -2
  45. package/dist/web/_next/static/chunks/{0y3uv64m1qh.k.js → 012aakl34ff5a.js} +2 -2
  46. package/dist/web/_next/static/chunks/{0j4uz-g9x1_~s.js → 0a2uy1kw.~j~c.js} +1 -1
  47. package/dist/web/_next/static/chunks/{0v51a3blij~j6.js → 0agxgztb0b~.7.js} +2 -2
  48. package/dist/web/_next/static/chunks/{1645~4k0qcst0.js → 0g6xt.91k~0bc.js} +2 -2
  49. package/dist/web/_next/static/chunks/{16zc7-yv7supr.js → 0jzw1gpuag8bc.js} +2 -2
  50. package/dist/web/_next/static/chunks/0kceasmxfr3s1.js +1 -0
  51. package/dist/web/_next/static/chunks/{0wv0qjh9tuqx~.js → 0lkp92-ovteta.js} +2 -2
  52. package/dist/web/_next/static/chunks/{1621s_jgljr1_.js → 0msmlzd_~uk0y.js} +2 -2
  53. package/dist/web/_next/static/chunks/{00yn.jp4tr9l6.js → 0z5lzlvft9.4o.js} +2 -2
  54. package/dist/web/_next/static/chunks/103zsy0q9psfj.css +1 -0
  55. package/dist/web/_next/static/chunks/{0ma0h4_2c8y9y.js → 12m97bwrg1tuu.js} +2 -2
  56. package/dist/web/_not-found/__next._full.txt +2 -2
  57. package/dist/web/_not-found/__next._head.txt +1 -1
  58. package/dist/web/_not-found/__next._index.txt +2 -2
  59. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
  60. package/dist/web/_not-found/__next._not-found.txt +1 -1
  61. package/dist/web/_not-found/__next._tree.txt +2 -2
  62. package/dist/web/_not-found.html +1 -1
  63. package/dist/web/_not-found.txt +2 -2
  64. package/dist/web/chat/__next._full.txt +3 -3
  65. package/dist/web/chat/__next._head.txt +1 -1
  66. package/dist/web/chat/__next._index.txt +2 -2
  67. package/dist/web/chat/__next._tree.txt +2 -2
  68. package/dist/web/chat/__next.chat.__PAGE__.txt +2 -2
  69. package/dist/web/chat/__next.chat.txt +1 -1
  70. package/dist/web/chat.html +1 -1
  71. package/dist/web/chat.txt +3 -3
  72. package/dist/web/cron/__next._full.txt +3 -3
  73. package/dist/web/cron/__next._head.txt +1 -1
  74. package/dist/web/cron/__next._index.txt +2 -2
  75. package/dist/web/cron/__next._tree.txt +2 -2
  76. package/dist/web/cron/__next.cron.__PAGE__.txt +2 -2
  77. package/dist/web/cron/__next.cron.txt +1 -1
  78. package/dist/web/cron.html +1 -1
  79. package/dist/web/cron.txt +3 -3
  80. package/dist/web/index.html +1 -1
  81. package/dist/web/index.txt +3 -3
  82. package/dist/web/kanban/__next._full.txt +3 -3
  83. package/dist/web/kanban/__next._head.txt +1 -1
  84. package/dist/web/kanban/__next._index.txt +2 -2
  85. package/dist/web/kanban/__next._tree.txt +2 -2
  86. package/dist/web/kanban/__next.kanban.__PAGE__.txt +2 -2
  87. package/dist/web/kanban/__next.kanban.txt +1 -1
  88. package/dist/web/kanban.html +1 -1
  89. package/dist/web/kanban.txt +3 -3
  90. package/dist/web/logs/__next._full.txt +3 -3
  91. package/dist/web/logs/__next._head.txt +1 -1
  92. package/dist/web/logs/__next._index.txt +2 -2
  93. package/dist/web/logs/__next._tree.txt +2 -2
  94. package/dist/web/logs/__next.logs.__PAGE__.txt +2 -2
  95. package/dist/web/logs/__next.logs.txt +1 -1
  96. package/dist/web/logs.html +2 -2
  97. package/dist/web/logs.txt +3 -3
  98. package/dist/web/org/__next._full.txt +3 -3
  99. package/dist/web/org/__next._head.txt +1 -1
  100. package/dist/web/org/__next._index.txt +2 -2
  101. package/dist/web/org/__next._tree.txt +2 -2
  102. package/dist/web/org/__next.org.__PAGE__.txt +2 -2
  103. package/dist/web/org/__next.org.txt +1 -1
  104. package/dist/web/org.html +1 -1
  105. package/dist/web/org.txt +3 -3
  106. package/dist/web/sessions/__next._full.txt +2 -2
  107. package/dist/web/sessions/__next._head.txt +1 -1
  108. package/dist/web/sessions/__next._index.txt +2 -2
  109. package/dist/web/sessions/__next._tree.txt +2 -2
  110. package/dist/web/sessions/__next.sessions.__PAGE__.txt +1 -1
  111. package/dist/web/sessions/__next.sessions.txt +1 -1
  112. package/dist/web/sessions.html +1 -1
  113. package/dist/web/sessions.txt +2 -2
  114. package/dist/web/settings/__next._full.txt +3 -3
  115. package/dist/web/settings/__next._head.txt +1 -1
  116. package/dist/web/settings/__next._index.txt +2 -2
  117. package/dist/web/settings/__next._tree.txt +2 -2
  118. package/dist/web/settings/__next.settings.__PAGE__.txt +2 -2
  119. package/dist/web/settings/__next.settings.txt +1 -1
  120. package/dist/web/settings.html +1 -1
  121. package/dist/web/settings.txt +3 -3
  122. package/dist/web/skills/__next._full.txt +3 -3
  123. package/dist/web/skills/__next._head.txt +1 -1
  124. package/dist/web/skills/__next._index.txt +2 -2
  125. package/dist/web/skills/__next._tree.txt +2 -2
  126. package/dist/web/skills/__next.skills.__PAGE__.txt +2 -2
  127. package/dist/web/skills/__next.skills.txt +1 -1
  128. package/dist/web/skills.html +1 -1
  129. package/dist/web/skills.txt +3 -3
  130. package/package.json +1 -1
  131. package/dist/web/_next/static/chunks/05uy~i7wsbsn3.js +0 -1
  132. package/dist/web/_next/static/chunks/0bj62gv2pext..css +0 -1
  133. package/dist/web/dev/logs/next-development.log +0 -5
  134. /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_buildManifest.js +0 -0
  135. /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_clientMiddlewareManifest.js +0 -0
  136. /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13830,e=>{"use strict";let t=["🦊","🐼","🦉","🐙","🦈","🐺","🦁","🐯","🐸","🦋","🐝","🦜","🐬","🦩","🦚","🐻","🐨","🦇","🐳","🐧","🤖","👾","🎃","👻","🦄","🐲","🧙","🧛","🧟","🥷","🌵","🍄","🌻","🌊","⚡","🔥","❄️","🌈","💎","🪐","🍕","🌮","🍩","🧁","🍣","🥑","🍉","🫐","🥥","🍋","🎯","🎸","🎮","🏆","🚀","⚔️","🛡️","🧲","🎪","🎭","🦾","🧿","🪬","🫧","🧊","🪸","🦑","🦞","🪷","🪻"];e.s(["EMOJI_POOL",0,t,"emojiForName",0,function(e){if(!e)return t[0];let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t)|0;return t[Math.abs(r)%t.length]}])},81377,e=>{"use strict";var t=e.i(98181),r=e.i(36668),a=e.i(13830);e.s(["EmployeeAvatar",0,function({name:e,size:s=32,className:n,onClick:i}){let{settings:l}=(0,r.useSettings)(),o=e?l.employeeOverrides[e]:void 0,c=o?.emoji||(0,a.emojiForName)(e||""),d=Math.round(.6*s);return(0,t.jsx)("span",{className:n,onClick:i,role:i?"button":void 0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:s,height:s,fontSize:d,lineHeight:1,borderRadius:"50%",flexShrink:0,cursor:i?"pointer":void 0,userSelect:"none"},children:c})}])},39402,55737,21583,e=>{"use strict";var t=e.i(25007),r=e.i(63949),a=e.i(80011),s=e.i(66379),n=e.i(39202),i=e.i(98181);function l(e){let r=e+"CollectionProvider",[l,o]=(0,a.createContextScope)(r),[c,d]=l(r,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:a}=e,s=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,i.jsx)(c,{scope:r,itemMap:n,collectionRef:s,children:a})};u.displayName=r;let x=e+"CollectionSlot",p=(0,n.createSlot)(x),v=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,n=d(x,r),l=(0,s.useComposedRefs)(t,n.collectionRef);return(0,i.jsx)(p,{ref:l,children:a})});v.displayName=x;let h=e+"CollectionItemSlot",m="data-radix-collection-item",f=(0,n.createSlot)(h),g=t.default.forwardRef((e,r)=>{let{scope:a,children:n,...l}=e,o=t.default.useRef(null),c=(0,s.useComposedRefs)(r,o),u=d(h,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...l}),()=>void u.itemMap.delete(o))),(0,i.jsx)(f,{...{[m]:""},ref:c,children:n})});return g.displayName=h,[{Provider:u,Slot:v,ItemSlot:g},function(r){let a=d(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(a.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[a.collectionRef,a.itemMap])},o]}var o=new WeakMap;function c(e,t){var r,a;let s,n,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,a=t,s=r.length,(i=(n=d(a))>=0?n:s+n)<0||i>=s?-1:i);return -1===l?void 0:e[l]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],o.set(this,!0)}set(e,t){return o.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let a,s=this.has(t),n=this.#e.length,i=d(e),l=i>=0?i:n+i,o=l<0||l>=n?-1:l;if(o===this.size||s&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!s;i<0&&l++;let u=[...this.#e],x=!1;for(let e=l;e<c;e++)if(l===e){let n=u[e];u[e]===t&&(n=u[e+1]),s&&this.delete(t),a=this.get(n),this.set(t,r)}else{x||u[e-1]!==t||(x=!0);let r=u[x?e:e-1],s=a;a=this.get(r),this.delete(r),this.set(r,s)}return this}with(t,r,a){let s=new e(this);return s.insert(t,r,a),s}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=c(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=c(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return c(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return a;r++}}findIndex(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return r;r++}return -1}filter(t,r){let a=[],s=0;for(let e of this)Reflect.apply(t,r,[e,s,this])&&a.push(e),s++;return new e(a)}map(t,r){let a=[],s=0;for(let e of this)a.push([e[0],Reflect.apply(t,r,[e,s,this])]),s++;return new e(a)}reduce(...e){let[t,r]=e,a=0,s=r??this.at(0);for(let r of this)s=0===a&&1===e.length?r:Reflect.apply(t,this,[s,r,a,this]),a++;return s}reduceRight(...e){let[t,r]=e,a=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let s=this.at(r);a=r===this.size-1&&1===e.length?s:Reflect.apply(t,this,[a,s,r,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),a=this.get(r);t.set(r,a)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let a=new e,s=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==r&&r>0&&(s=r-1);for(let e=t;e<=s;e++){let t=this.keyAt(e),r=this.get(t);a.set(t,r)}return a}every(e,t){let r=0;for(let a of this){if(!Reflect.apply(e,t,[a,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,l],55737);var u=e.i(28509),x=e.i(16393),p=e.i(94080),v=e.i(87782),h=t.createContext(void 0);function m(e){let r=t.useContext(h);return e||r||"ltr"}e.s(["useDirection",0,m],21583);var f="rovingFocusGroup.onEntryFocus",g={bubbles:!1,cancelable:!0},b="RovingFocusGroup",[y,j,N]=l(b),[w,k]=(0,a.createContextScope)(b,[N]),[C,R]=w(b),S=t.forwardRef((e,t)=>(0,i.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,i.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,i.jsx)(T,{...e,ref:t})})}));S.displayName=b;var T=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,orientation:l,loop:o=!1,dir:c,currentTabStopId:d,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:h,onEntryFocus:y,preventScrollOnEntryFocus:N=!1,...w}=e,k=t.useRef(null),R=(0,s.useComposedRefs)(a,k),S=m(c),[T,M]=(0,v.useControllableState)({prop:d,defaultProp:u??null,onChange:h,caller:b}),[$,E]=t.useState(!1),I=(0,p.useCallbackRef)(y),F=j(n),D=t.useRef(!1),[z,L]=t.useState(0);return t.useEffect(()=>{let e=k.current;if(e)return e.addEventListener(f,I),()=>e.removeEventListener(f,I)},[I]),(0,i.jsx)(C,{scope:n,orientation:l,dir:S,loop:o,currentTabStopId:T,onItemFocus:t.useCallback(e=>M(e),[M]),onItemShiftTab:t.useCallback(()=>E(!0),[]),onFocusableItemAdd:t.useCallback(()=>L(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>L(e=>e-1),[]),children:(0,i.jsx)(x.Primitive.div,{tabIndex:$||0===z?-1:0,"data-orientation":l,...w,ref:R,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{D.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!$){let t=new CustomEvent(f,g);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);A([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),N)}}D.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),M="RovingFocusGroupItem",$=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:s,focusable:n=!0,active:l=!1,tabStopId:o,children:c,...d}=e,p=(0,u.useId)(),v=o||p,h=R(M,s),m=h.currentTabStopId===v,f=j(s),{onFocusableItemAdd:g,onFocusableItemRemove:b,currentTabStopId:N}=h;return t.useEffect(()=>{if(n)return g(),()=>b()},[n,g,b]),(0,i.jsx)(y.ItemSlot,{scope:s,id:v,focusable:n,active:l,children:(0,i.jsx)(x.Primitive.span,{tabIndex:m?0:-1,"data-orientation":h.orientation,...d,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{n?h.onItemFocus(v):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(v)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let s=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return E[s]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let s=f().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)s.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&s.reverse();let n=s.indexOf(e.currentTarget);s=h.loop?(r=s,a=n+1,r.map((e,t)=>r[(a+t)%r.length])):s.slice(n+1)}setTimeout(()=>A(s))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=N}):c})})});$.displayName=M;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,$,"Root",0,S,"createRovingFocusGroupScope",0,k],39402)},57270,e=>{"use strict";var t=e.i(98181),r=e.i(9148),a=e.i(25007),s=e.i(63949),n=e.i(80011),i=e.i(39402),l=e.i(69113),o=e.i(16393),c=e.i(21583),d=e.i(87782),u=e.i(28509),x="Tabs",[p,v]=(0,n.createContextScope)(x,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[m,f]=p(x),g=a.forwardRef((e,r)=>{let{__scopeTabs:a,value:s,onValueChange:n,defaultValue:i,orientation:l="horizontal",dir:p,activationMode:v="automatic",...h}=e,f=(0,c.useDirection)(p),[g,b]=(0,d.useControllableState)({prop:s,onChange:n,defaultProp:i??"",caller:x});return(0,t.jsx)(m,{scope:a,baseId:(0,u.useId)(),value:g,onValueChange:b,orientation:l,dir:f,activationMode:v,children:(0,t.jsx)(o.Primitive.div,{dir:f,"data-orientation":l,...h,ref:r})})});g.displayName=x;var b="TabsList",y=a.forwardRef((e,r)=>{let{__scopeTabs:a,loop:s=!0,...n}=e,l=f(b,a),c=h(a);return(0,t.jsx)(i.Root,{asChild:!0,...c,orientation:l.orientation,dir:l.dir,loop:s,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:r})})});y.displayName=b;var j="TabsTrigger",N=a.forwardRef((e,r)=>{let{__scopeTabs:a,value:n,disabled:l=!1,...c}=e,d=f(j,a),u=h(a),x=C(d.baseId,n),p=R(d.baseId,n),v=n===d.value;return(0,t.jsx)(i.Item,{asChild:!0,...u,focusable:!l,active:v,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":p,"data-state":v?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:x,...c,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;v||l||!e||d.onValueChange(n)})})})});N.displayName=j;var w="TabsContent",k=a.forwardRef((e,r)=>{let{__scopeTabs:s,value:n,forceMount:i,children:c,...d}=e,u=f(w,s),x=C(u.baseId,n),p=R(u.baseId,n),v=n===u.value,h=a.useRef(v);return a.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(l.Presence,{present:i||v,children:({present:a})=>(0,t.jsx)(o.Primitive.div,{"data-state":v?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":x,hidden:!a,id:p,tabIndex:0,...d,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:a&&c})})});function C(e,t){return`${e}-trigger-${t}`}function R(e,t){return`${e}-content-${t}`}k.displayName=w,e.s(["Content",0,k,"List",0,y,"Root",0,g,"Tabs",0,g,"TabsContent",0,k,"TabsList",0,y,"TabsTrigger",0,N,"Trigger",0,N,"createTabsScope",0,v],93200);var S=e.i(93200),S=S,T=e.i(47899);let M=(0,r.cva)("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:r="horizontal",...a}){return(0,t.jsx)(S.Root,{"data-slot":"tabs","data-orientation":r,orientation:r,className:(0,T.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...a})},"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(S.Content,{"data-slot":"tabs-content",className:(0,T.cn)("flex-1 outline-none",e),...r})},"TabsList",0,function({className:e,variant:r="default",...a}){return(0,t.jsx)(S.List,{"data-slot":"tabs-list","data-variant":r,className:(0,T.cn)(M({variant:r}),e),...a})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(S.Trigger,{"data-slot":"tabs-trigger",className:(0,T.cn)("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...r})}],57270)},64957,e=>{"use strict";var t=e.i(98181),r=e.i(25007),a=e.i(93716);let s=["Sundays","Mondays","Tuesdays","Wednesdays","Thursdays","Fridays","Saturdays"];function n(e){let t;if(!e||!e.trim())return"";let r=e.trim().split(/\s+/);if(5!==r.length)return e;let[a,n,i,,l]=r;if("*"===a&&"*"===n&&"*"===i&&"*"===l)return"Every minute";if(a.startsWith("*/")&&"*"===n&&"*"===i&&"*"===l){let e=parseInt(a.slice(2),10);if(!isNaN(e))return`Every ${e} minutes`}if("*"!==a&&"*"===n&&"*"===i&&"*"===l)return"Every hour";let o=parseInt(n,10),c=parseInt(a,10);if(isNaN(o)||isNaN(c))return e;let d=0===c?(t=0===c?"":`:${String(c).padStart(2,"0")}`,`${o%12||12}${t} ${o<12?"AM":"PM"}`):`${o%12||12}:${String(c).padStart(2,"0")} ${o<12?"AM":"PM"}`;if(i.startsWith("*/")&&"*"===l){let e=parseInt(i.slice(2),10);if(!isNaN(e))return`Every ${e} days at ${d}`}if("*"!==i&&"*"===l){let e=parseInt(i,10);if(!isNaN(e))return`Monthly on the ${e}${1===e?"st":2===e?"nd":3===e?"rd":"th"} at ${d}`}if("*"===i&&"1-5"===l)return`Weekdays at ${d}`;if("*"===i){let e=parseInt(l,10);if(!isNaN(e)&&e>=0&&e<=6)return`${s[e]} at ${d}`}return"*"===i&&"*"===l?`Daily at ${d}`:e}var i=e.i(58843),l=e.i(11322),o=e.i(57270),c=e.i(47899);function d({className:e,width:r,height:a,style:s,...n}){return(0,t.jsx)("div",{className:(0,c.cn)("animate-shimmer rounded-md",e),style:{background:"linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%)",backgroundSize:"200% 100%",width:r,height:a,...s},...n})}let u=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],x=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],p={1:0,2:1,3:2,4:3,5:4,6:5,0:6};function v({slot:e,rect:r,containerRect:a}){let s=e.cron.enabled?"var(--system-green)":"var(--text-tertiary)",i=r.top-a.top-8,l=r.left-a.left+r.width/2;return(0,t.jsxs)("div",{className:"absolute pointer-events-none z-[100] min-w-[200px] max-w-[300px] bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] px-[var(--space-4)] py-[var(--space-3)] text-[length:var(--text-caption1)] text-[var(--text-primary)]",style:{top:i,left:l,transform:"translate(-50%, -100%)",boxShadow:"0 8px 24px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.2)"},children:[(0,t.jsx)("div",{className:"absolute w-2.5 h-2.5 bg-[var(--material-regular)] border-r border-b border-[var(--separator)]",style:{bottom:-5,left:"50%",transform:"translateX(-50%) rotate(45deg)"}}),(0,t.jsx)("div",{className:"font-bold text-[length:var(--text-footnote)] mb-[var(--space-1)] pl-[var(--space-2)]",style:{borderLeft:`3px solid ${s}`},children:e.cron.name}),(0,t.jsx)("div",{className:"text-[var(--text-secondary)] text-[length:var(--text-caption1)] mb-[var(--space-2)]",children:n(e.cron.schedule)}),(0,t.jsx)("div",{className:"font-[family-name:var(--font-mono)] text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:e.cron.schedule}),(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-2)] text-[length:var(--text-caption1)]",children:[(0,t.jsx)("span",{className:"w-[7px] h-[7px] rounded-full shrink-0",style:{background:e.cron.enabled?"var(--system-green)":"var(--text-tertiary)"}}),(0,t.jsx)("span",{className:"font-medium",style:{color:e.cron.enabled?"var(--system-green)":"var(--text-tertiary)"},children:e.cron.enabled?"Enabled":"Disabled"}),e.cron.employee&&(0,t.jsx)("span",{className:"text-[var(--text-tertiary)] ml-[var(--space-1)]",children:e.cron.employee})]})]})}function h({crons:e}){let[a,s]=(0,r.useState)(null),i=(0,r.useRef)(null),[l,o]=(0,r.useState)(null),c=(0,r.useCallback)(()=>{i.current&&o(i.current.getBoundingClientRect())},[]);(0,r.useEffect)(()=>{if(c(),i.current)return window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)}},[c]);let{slotsByDayHour:d,activeHours:m}=(0,r.useMemo)(()=>{let t=new Map,r=new Set;for(let a of e){if(!a.enabled)continue;let e=function(e){let t;if(!e||!e.trim())return null;let r=e.trim().split(/\s+/);if(5!==r.length)return null;let[a,s,,,n]=r,i=parseInt(a,10),l=parseInt(s,10);if(isNaN(i)||isNaN(l))return null;if("*"===n)t=[0,1,2,3,4,5,6];else if("1-5"===n)t=[1,2,3,4,5];else if("0-6"===n||"0,1,2,3,4,5,6"===n)t=[0,1,2,3,4,5,6];else if(n.includes(",")){if(0===(t=n.split(",").map(Number).filter(e=>!isNaN(e)&&e>=0&&e<=6)).length)return null}else{let e=parseInt(n,10);if(isNaN(e)||e<0||e>6)return null;t=[e]}return{hour:l,minute:i,days:t}}(a.schedule);if(e)for(let s of e.days){let n=p[s];if(void 0===n)continue;let i=`${n}-${e.hour}`,l=t.get(i)||[];l.push({cron:a,hour:e.hour,minute:e.minute,col:n}),t.set(i,l),r.add(e.hour)}}for(let[e,r]of t)t.set(e,r.sort((e,t)=>e.minute-t.minute||e.cron.name.localeCompare(t.cron.name)));return{slotsByDayHour:t,activeHours:Array.from(r).sort((e,t)=>e-t)}},[e]),f=new Date,g=p[f.getDay()],b=f.getHours(),y=f.getMinutes()/60,j=(0,r.useMemo)(()=>{let e=new Map;for(let t of m){let r=0;for(let e=0;e<7;e++){let a=`${e}-${t}`,s=d.get(a)?.length||0;s>r&&(r=s)}e.set(t,r)}return e},[m,d]);return((0,r.useEffect)(()=>{if(!a)return;let e=()=>s(null);return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[a]),0===m.length)?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-[200px] text-[var(--text-secondary)] gap-[var(--space-2)]",children:[(0,t.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-[var(--text-tertiary)] mb-[var(--space-2)]",children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,t.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),(0,t.jsx)("span",{className:"text-[length:var(--text-subheadline)] font-medium",children:"No scheduled jobs to display"}),(0,t.jsx)("span",{className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)]",children:"Enable some cron jobs to see the weekly schedule"})]}):(0,t.jsxs)("div",{ref:i,className:"relative",onClick:()=>s(null),children:[(0,t.jsxs)("div",{className:"grid grid-cols-[56px_repeat(7,1fr)] bg-[var(--material-regular)] rounded-[var(--radius-md)] border border-[var(--separator)] overflow-hidden",children:[(0,t.jsx)("div",{className:"p-[var(--space-3)_var(--space-2)] border-b border-[var(--separator)] bg-[var(--material-thick)]"}),u.map((e,r)=>{let a=r===g;return(0,t.jsxs)("div",{className:"relative p-[var(--space-3)_var(--space-2)] text-center border-b border-l border-[var(--separator)]",style:{background:a?"var(--accent-fill)":"var(--material-thick)"},children:[(0,t.jsx)("div",{title:x[r],className:"text-[length:var(--text-footnote)] tracking-[0.02em]",style:{fontWeight:a?700:600,color:a?"var(--accent)":"var(--text-primary)"},children:e}),a&&(0,t.jsx)("div",{className:"absolute -bottom-[3px] left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full bg-[var(--accent)] z-[2]"})]},e)}),m.map((e,r)=>{let i=j.get(e)||1,l=8+28*i+(i-1)*4,o=e===b,u=r===m.length-1;return(0,t.jsxs)("div",{className:"contents",children:[(0,t.jsx)("div",{className:"p-[var(--space-2)] flex items-start justify-end relative",style:{borderBottom:u?"none":"1px solid var(--separator)",minHeight:l,background:o?"var(--accent-fill)":void 0},children:(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] font-[family-name:var(--font-mono)] leading-[1.2] whitespace-nowrap pt-0.5",style:{color:o?"var(--accent)":"var(--text-tertiary)",fontWeight:o?600:400},title:0===e||24===e?"12 AM":12===e?"12 PM":e<12?`${e} AM`:`${e-12} PM`,children:0===e||24===e?"12a":12===e?"12p":e<12?`${e}a`:`${e-12}p`})}),Array.from({length:7},(r,i)=>{let x=`${i}-${e}`,p=d.get(x)||[],v=i===g,h=v&&o;return(0,t.jsxs)("div",{className:"flex flex-col relative border-l border-[var(--separator)]",style:{padding:"4px 4px",borderBottom:u?"none":"1px solid var(--separator)",minHeight:l,gap:4,background:h?"color-mix(in srgb, var(--accent) 6%, transparent)":v?"color-mix(in srgb, var(--accent) 3%, transparent)":void 0},children:[h&&(0,t.jsx)("div",{className:"absolute left-0 right-0 h-0.5 bg-[var(--system-red)] opacity-80 z-[3] rounded-[1px]",style:{top:`${(100*y).toFixed(1)}%`}}),p.map((e,r)=>{let i=e.cron.enabled?"var(--system-green)":"var(--text-tertiary)",l=a?.slot.cron.id===e.cron.id&&a?.slot.col===e.col&&a?.slot.hour===e.hour;return(0,t.jsxs)("button",{type:"button",title:`${e.cron.name} - ${n(e.cron.schedule)}`,onClick:t=>{t.stopPropagation();let r=t.currentTarget.getBoundingClientRect();c(),l?s(null):s({slot:e,rect:r})},onMouseEnter:t=>{let r;return r=t.currentTarget.getBoundingClientRect(),void(c(),s({slot:e,rect:r}))},onMouseLeave:()=>s(null),className:"flex items-center gap-[5px] px-1.5 rounded-[var(--radius-sm)] border-none cursor-pointer w-full min-w-0 text-left relative overflow-hidden transition-[background,box-shadow] duration-150 ease-in-out",style:{height:28,background:l?`color-mix(in srgb, ${i} 25%, transparent)`:`color-mix(in srgb, ${i} 12%, transparent)`,borderLeft:`3px solid ${i}`,boxShadow:l?`0 0 0 1px color-mix(in srgb, ${i} 40%, transparent)`:"none"},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:e.cron.enabled?"var(--system-green)":"var(--text-tertiary)"}}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption2)] font-[family-name:var(--font-mono)] text-[var(--text-tertiary)] shrink-0 leading-none",children:`:${String(e.minute).padStart(2,"0")}`}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption2)] font-semibold overflow-hidden text-ellipsis whitespace-nowrap min-w-0 flex-1 leading-none",style:{color:i},children:e.cron.name})]},`${x}-${r}`)}),0===p.length&&(0,t.jsx)("div",{className:"flex-1"})]},x)})]},e)})]}),a&&l&&(0,t.jsx)(v,{slot:a.slot,rect:a.rect,containerRect:l})]})}function m({crons:e}){if(0===e.length)return(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] px-6 py-8 text-center",children:[(0,t.jsx)("div",{className:"text-sm font-bold text-[var(--text-primary)] mb-2",children:"No cron jobs configured"}),(0,t.jsx)("div",{className:"text-xs text-[var(--text-secondary)] max-w-[480px] mx-auto leading-[1.6]",children:"Cron jobs will appear here as cards once configured."})]});let r=e.filter(e=>e.enabled),a=e.filter(e=>!e.enabled);return(0,t.jsxs)("div",{children:[r.length>0&&(0,t.jsx)(f,{crons:r,label:"Enabled"}),a.length>0&&(0,t.jsx)(f,{crons:a,label:"Disabled"})]})}function f({crons:e,label:r}){return(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:"text-[13px] font-bold text-[var(--text-secondary)] mb-3",children:[r," (",e.length,")"]}),(0,t.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(220px,1fr))] gap-2.5",children:e.map(e=>{let r=e.enabled?"var(--system-green)":"var(--text-tertiary)";return(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] rounded-[var(--radius-md)] border border-[var(--separator)] px-3.5 py-2.5",style:{borderLeft:`3px solid ${r}`},children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,t.jsx)("div",{className:`w-[7px] h-[7px] rounded-full shrink-0 ${e.enabled?"bg-[var(--system-green)]":"bg-[var(--text-tertiary)]"}`}),(0,t.jsx)("div",{className:"text-xs font-semibold text-[var(--text-primary)] whitespace-nowrap overflow-hidden text-ellipsis",children:e.name})]}),(0,t.jsx)("div",{className:"text-[10px] text-[var(--text-secondary)] mb-0.5",children:n(e.schedule)}),(0,t.jsx)("div",{className:"text-[10px] font-[var(--font-mono)] text-[var(--text-tertiary)] mb-1",children:e.schedule}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.employee&&(0,t.jsx)("span",{className:"inline-block text-[9px] px-1.5 py-px rounded text-[var(--system-blue)]",style:{background:"color-mix(in srgb, var(--system-blue) 15%, transparent)"},children:e.employee}),e.engine&&(0,t.jsx)("span",{className:"inline-block text-[9px] px-1.5 py-px rounded bg-[var(--fill-tertiary)] text-[var(--text-tertiary)]",children:e.engine})]})]},e.id)})})]})}var g=e.i(81377);function b(e){if(!e)return"never";let t=new Date(e);if(isNaN(t.getTime()))return"—";let r=Date.now()-t.getTime(),a=Math.floor(r/6e4),s=Math.floor(r/36e5),n=Math.floor(r/864e5);return a<1?"just now":a<60?`${a}m ago`:s<24?`${s}h ago`:`${n}d ago`}function y({jobId:e}){let[s,n]=(0,r.useState)(null),[i,l]=(0,r.useState)(!0);return((0,r.useEffect)(()=>{a.api.getCronRuns(e).then(e=>{n(e.slice(0,5)),l(!1)}).catch(()=>{n([]),l(!1)})},[e]),i)?(0,t.jsxs)("div",{className:"mt-[var(--space-3)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-semibold mb-[var(--space-2)]",children:"Recent Runs"}),[1,2,3].map(e=>(0,t.jsx)(d,{className:"h-4 mb-1 w-4/5"},e))]}):s&&0!==s.length?(0,t.jsxs)("div",{className:"mt-[var(--space-3)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-semibold mb-[var(--space-2)]",children:"Recent Runs"}),(0,t.jsx)("div",{className:"flex flex-col gap-1",children:s.map((e,r)=>{let a=e.ts||e.startedAt||"",s=e.status||"unknown",n=b(a),i=null!=e.durationMs?function(e){if(e<0||!Number.isFinite(e))return"—";let t=Math.round(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),a=t%60;if(r<60)return a>0?`${r}m ${a}s`:`${r}m`;let s=Math.floor(r/60);return`${s}h ${r%60}m`}(e.durationMs):"—";return(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-2)] text-[length:var(--text-caption2)] min-h-[22px] py-0.5",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:"success"===s||"ok"===s?"var(--system-green)":"error"===s||"failed"===s?"var(--system-red)":"var(--text-tertiary)"}}),(0,t.jsx)("span",{className:"text-[var(--text-tertiary)] min-w-[52px] shrink-0",children:n}),(0,t.jsx)("span",{className:"text-[var(--text-secondary)] min-w-[52px] shrink-0",children:i}),(0,t.jsx)("span",{className:"text-[var(--text-secondary)] capitalize",children:s}),e.error&&(0,t.jsx)("span",{className:"truncate text-[var(--system-red)] min-w-0 flex-1",children:e.error})]},`${a}-${r}`)})})]}):(0,t.jsxs)("div",{className:"mt-[var(--space-3)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-semibold mb-[var(--space-2)]",children:"Recent Runs"}),(0,t.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:"No run history"})]})}function j({label:e,value:r,color:a}){return(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-medium mb-[var(--space-1)]",children:e}),(0,t.jsx)("div",{className:"text-[length:var(--text-title2)] font-bold",style:{color:a||"var(--text-primary)"},children:r})]})}e.s(["default",0,function(){(0,l.useBreadcrumbs)([{label:"Cron"}]);let[e,s]=(0,r.useState)([]),[c,u]=(0,r.useState)(!0),[x,p]=(0,r.useState)(null),[v,f]=(0,r.useState)("all"),[N,w]=(0,r.useState)(null),[k,C]=(0,r.useState)("just now"),[R,S]=(0,r.useState)(new Date),[T,M]=(0,r.useState)(null),[$,E]=(0,r.useState)(new Map);(0,r.useEffect)(()=>{a.api.getOrg().then(e=>{let t=new Map;for(let r of e.employees)t.set(r.name,r);E(t)}).catch(()=>{})},[]);let A=(0,r.useCallback)(()=>{p(null),a.api.getCronJobs().then(e=>{s(e),S(new Date)}).catch(e=>p(e instanceof Error?e.message:"Unknown error")).finally(()=>u(!1))},[]);(0,r.useEffect)(()=>{A();let e=setInterval(A,6e4);return()=>clearInterval(e)},[A]),(0,r.useEffect)(()=>{let e=()=>C(b(R.toISOString()));e();let t=setInterval(e,3e4);return()=>clearInterval(t)},[R]);let I=e.filter(e=>e.enabled).length,F=e.filter(e=>!e.enabled).length,D=e.filter(e=>"enabled"===v?e.enabled:"disabled"!==v||!e.enabled),z=(0,r.useMemo)(()=>{let e=new Map;for(let t of D){let r=t.employee||"_unassigned",a=e.get(r)||[];a.push(t),e.set(r,a)}return e},[D]);return(0,t.jsx)(i.PageLayout,{children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden bg-[var(--bg)]",children:[(0,t.jsx)("header",{className:"flex-shrink-0 bg-[var(--material-regular)] border-b border-[var(--separator)] px-[var(--space-6)] py-[var(--space-4)]",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-[length:var(--text-title1)] font-bold text-[var(--text-primary)] tracking-tight leading-[1.2]",children:"Cron Jobs"}),!c&&(0,t.jsxs)("p",{className:"text-[length:var(--text-footnote)] text-[var(--text-secondary)] mt-[var(--space-1)]",children:[e.length," total · ",I," enabled · ",F," disabled"]})]}),(0,t.jsx)(i.ToolbarActions,{children:(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-3)]",children:[(0,t.jsxs)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:["Updated ",k]}),(0,t.jsx)("button",{onClick:A,"aria-label":"Refresh cron data",className:"w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer",children:(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M21 2v6h-6"}),(0,t.jsx)("path",{d:"M3 12a9 9 0 0 1 15-6.7L21 8"}),(0,t.jsx)("path",{d:"M3 22v-6h6"}),(0,t.jsx)("path",{d:"M21 12a9 9 0 0 1-15 6.7L3 16"})]})})]})})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-[var(--space-6)] pt-[var(--space-4)] pb-[var(--space-6)]",children:x&&0===e.length?(0,t.jsxs)("div",{className:"bg-[rgba(255,69,58,0.06)] border border-[var(--system-red)] rounded-[var(--radius-md)] p-[var(--space-4)] text-[var(--system-red)] text-[length:var(--text-footnote)] mb-[var(--space-4)]",children:["Failed to load cron jobs: ",x,(0,t.jsx)("button",{onClick:A,className:"ml-[var(--space-3)] underline bg-none border-none text-inherit cursor-pointer text-[length:inherit]",children:"Retry"})]}):c?(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)]",children:[1,2,3].map(e=>(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]",children:[(0,t.jsx)(d,{className:"w-[60px] h-2.5 mb-2"}),(0,t.jsx)(d,{className:"w-20 h-3.5"})]},e))}),[1,2,3,4].map(e=>(0,t.jsx)(d,{className:"h-12 mb-1 rounded-[var(--radius-sm)]"},e))]}):(0,t.jsxs)(o.Tabs,{defaultValue:"overview",children:[(0,t.jsxs)(o.TabsList,{variant:"line",children:[(0,t.jsx)(o.TabsTrigger,{value:"overview",children:"Overview"}),(0,t.jsx)(o.TabsTrigger,{value:"schedule",children:"Schedule"}),(0,t.jsx)(o.TabsTrigger,{value:"pipelines",children:"Pipelines"})]}),(0,t.jsxs)(o.TabsContent,{value:"overview",children:[(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)] mt-[var(--space-4)]",children:[(0,t.jsx)(j,{label:"Total Jobs",value:e.length}),(0,t.jsx)(j,{label:"Enabled",value:I,color:"var(--system-green)"}),(0,t.jsx)(j,{label:"Disabled",value:F,color:"var(--text-tertiary)"})]}),(0,t.jsx)("div",{className:"flex items-center gap-[var(--space-2)] mb-[var(--space-3)]",children:["all","enabled","disabled"].map(r=>{let a=v===r,s="all"===r?e.length:"enabled"===r?I:F;return(0,t.jsxs)("button",{onClick:()=>f(r),className:"rounded-[20px] px-3.5 py-1.5 text-[length:var(--text-footnote)] font-medium border-none cursor-pointer transition-all duration-200 ease-in-out",style:{background:a?"var(--accent-fill)":"var(--fill-secondary)",color:a?"var(--accent)":"var(--text-primary)"},children:[r.charAt(0).toUpperCase()+r.slice(1)," (",s,")"]},r)})}),0===D.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-[200px] text-[var(--text-secondary)] gap-[var(--space-2)]",children:[(0,t.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-[var(--text-tertiary)] mb-[var(--space-2)]",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),(0,t.jsx)("span",{className:"text-[length:var(--text-subheadline)] font-medium",children:0===e.length?"No cron jobs configured":"No jobs match this filter"})]}):(0,t.jsx)("div",{className:"flex flex-col gap-[var(--space-3)]",children:Array.from(z.entries()).map(([e,r])=>{let i="_unassigned"!==e?$.get(e):null,l=i?.displayName||("_unassigned"===e?"Unassigned":e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "));return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-2)] mb-[var(--space-2)]",children:["_unassigned"!==e&&(0,t.jsx)(g.EmployeeAvatar,{name:e,size:20}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-secondary)]",children:l}),(0,t.jsxs)("span",{className:"text-[length:var(--text-caption2)] text-[var(--text-quaternary)]",children:[r.length," job",1!==r.length?"s":""]})]}),(0,t.jsx)("div",{className:"rounded-[var(--radius-md)] overflow-hidden bg-[var(--material-regular)] border border-[var(--separator)]",children:r.map((e,r)=>{let i=N===e.id;return(0,t.jsxs)("div",{children:[r>0&&(0,t.jsx)("div",{className:"h-px bg-[var(--separator)] mx-[var(--space-4)]"}),(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":i,onClick:()=>w(i?null:e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),w(i?null:e.id))},className:"flex items-center cursor-pointer min-h-[48px] px-[var(--space-4)] transition-[background] duration-150 ease-in-out",style:{borderLeft:`3px solid ${e.enabled?"var(--system-green)":"transparent"}`},onMouseEnter:e=>{e.currentTarget.style.background="var(--fill-secondary)"},onMouseLeave:e=>{e.currentTarget.style.background=""},children:[(0,t.jsx)("span",{className:"w-2 h-2 rounded-full shrink-0",style:{background:e.enabled?"var(--system-green)":"var(--text-tertiary)"}}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 ml-3 flex flex-col",children:[(0,t.jsx)("span",{className:"truncate text-[length:var(--text-footnote)] font-semibold text-[var(--text-primary)]",children:e.name}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:n(e.schedule)})]}),(0,t.jsxs)("div",{className:"flex items-center shrink-0 gap-[var(--space-2)] ml-auto",children:[e.engine&&(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] px-2 py-px rounded-xl bg-[var(--fill-tertiary)] text-[var(--text-tertiary)]",children:e.engine}),(0,t.jsx)("button",{onClick:t=>{let r;t.stopPropagation(),r=!e.enabled,a.api.updateCronJob(e.id,{enabled:r}).then(()=>{s(t=>t.map(t=>t.id===e.id?{...t,enabled:r}:t))}).catch(()=>{})},"aria-label":e.enabled?"Disable job":"Enable job",className:"relative inline-flex items-center w-9 h-5 rounded-[10px] border-none cursor-pointer shrink-0 transition-[background] duration-200 ease-in-out",style:{background:e.enabled?"var(--system-green)":"var(--fill-tertiary)"},children:(0,t.jsx)("span",{className:"block w-3.5 h-3.5 rounded-full bg-white transition-transform duration-200 ease-in-out",style:{transform:e.enabled?"translateX(18px)":"translateX(3px)"}})}),(0,t.jsx)("span",{className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)] transition-transform duration-200 ease-in-out inline-block",style:{transform:i?"rotate(90deg)":"rotate(0deg)"},children:"›"})]})]}),i&&(0,t.jsxs)("div",{className:"px-[var(--space-4)] pb-[var(--space-4)] ml-[3px]",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-[var(--space-4)] gap-y-[var(--space-1)] mt-[var(--space-2)] mb-[var(--space-3)]",children:[(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Schedule"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)]",children:n(e.schedule)}),(0,t.jsxs)("div",{className:"text-[length:var(--text-caption2)] font-[family-name:var(--font-mono)] text-[var(--text-tertiary)] mt-0.5",children:[e.schedule,e.timezone&&(0,t.jsxs)("span",{className:"ml-2",children:["(",e.timezone,")"]})]})]}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Status"}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] font-medium",style:{color:e.enabled?"var(--system-green)":"var(--text-tertiary)"},children:e.enabled?"Enabled":"Disabled"}),e.engine&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Engine"}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)]",children:e.engine})]}),e.model&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Model"}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)] font-[family-name:var(--font-mono)]",children:e.model})]})]}),(0,t.jsx)("div",{className:"mb-[var(--space-3)]",children:(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),M(e.id),a.api.triggerCronJob(e.id).then(()=>{setTimeout(A,2e3)}).catch(()=>{}).finally(()=>{setTimeout(()=>M(null),2e3)})},disabled:T===e.id,className:"inline-flex items-center gap-1.5 px-3.5 py-1.5 rounded-[var(--radius-sm)] border border-[var(--separator)] text-[length:var(--text-caption1)] font-semibold transition-all duration-200 ease-in-out",style:{background:T===e.id?"var(--fill-tertiary)":"var(--material-regular)",color:T===e.id?"var(--system-green)":"var(--text-secondary)",cursor:T===e.id?"default":"pointer"},children:T===e.id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-sm",children:"✓"}),"Triggered"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",children:(0,t.jsx)("polygon",{points:"5,3 19,12 5,21"})}),"Run Now"]})})}),(0,t.jsx)(y,{jobId:e.id})]})]},e.id)})})]},e)})})]}),(0,t.jsx)(o.TabsContent,{value:"schedule",children:(0,t.jsx)("div",{className:"mt-[var(--space-4)]",children:(0,t.jsx)(h,{crons:e})})}),(0,t.jsx)(o.TabsContent,{value:"pipelines",children:(0,t.jsx)("div",{className:"mt-[var(--space-4)]",children:(0,t.jsx)(m,{crons:e})})})]})})]})})}],64957)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13830,e=>{"use strict";let t=["🦊","🐼","🦉","🐙","🦈","🐺","🦁","🐯","🐸","🦋","🐝","🦜","🐬","🦩","🦚","🐻","🐨","🦇","🐳","🐧","🤖","👾","🎃","👻","🦄","🐲","🧙","🧛","🧟","🥷","🌵","🍄","🌻","🌊","⚡","🔥","❄️","🌈","💎","🪐","🍕","🌮","🍩","🧁","🍣","🥑","🍉","🫐","🥥","🍋","🎯","🎸","🎮","🏆","🚀","⚔️","🛡️","🧲","🎪","🎭","🦾","🧿","🪬","🫧","🧊","🪸","🦑","🦞","🪷","🪻"];e.s(["EMOJI_POOL",0,t,"emojiForName",0,function(e){if(!e)return t[0];let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t)|0;return t[Math.abs(r)%t.length]}])},81377,e=>{"use strict";var t=e.i(98181),r=e.i(36668),a=e.i(13830);e.s(["EmployeeAvatar",0,function({name:e,size:s=32,className:n,onClick:i}){let{settings:l}=(0,r.useSettings)(),o=e?l.employeeOverrides[e]:void 0,c=o?.emoji||(0,a.emojiForName)(e||""),d=Math.round(.6*s);return(0,t.jsx)("span",{className:n,onClick:i,role:i?"button":void 0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:s,height:s,fontSize:d,lineHeight:1,borderRadius:"50%",flexShrink:0,cursor:i?"pointer":void 0,userSelect:"none"},children:c})}])},39402,55737,21583,e=>{"use strict";var t=e.i(25007),r=e.i(63949),a=e.i(80011),s=e.i(66379),n=e.i(39202),i=e.i(98181);function l(e){let r=e+"CollectionProvider",[l,o]=(0,a.createContextScope)(r),[c,d]=l(r,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:a}=e,s=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,i.jsx)(c,{scope:r,itemMap:n,collectionRef:s,children:a})};u.displayName=r;let x=e+"CollectionSlot",p=(0,n.createSlot)(x),v=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,n=d(x,r),l=(0,s.useComposedRefs)(t,n.collectionRef);return(0,i.jsx)(p,{ref:l,children:a})});v.displayName=x;let h=e+"CollectionItemSlot",m="data-radix-collection-item",f=(0,n.createSlot)(h),g=t.default.forwardRef((e,r)=>{let{scope:a,children:n,...l}=e,o=t.default.useRef(null),c=(0,s.useComposedRefs)(r,o),u=d(h,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...l}),()=>void u.itemMap.delete(o))),(0,i.jsx)(f,{...{[m]:""},ref:c,children:n})});return g.displayName=h,[{Provider:u,Slot:v,ItemSlot:g},function(r){let a=d(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(a.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[a.collectionRef,a.itemMap])},o]}var o=new WeakMap;function c(e,t){var r,a;let s,n,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,a=t,s=r.length,(i=(n=d(a))>=0?n:s+n)<0||i>=s?-1:i);return -1===l?void 0:e[l]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],o.set(this,!0)}set(e,t){return o.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let a,s=this.has(t),n=this.#e.length,i=d(e),l=i>=0?i:n+i,o=l<0||l>=n?-1:l;if(o===this.size||s&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!s;i<0&&l++;let u=[...this.#e],x=!1;for(let e=l;e<c;e++)if(l===e){let n=u[e];u[e]===t&&(n=u[e+1]),s&&this.delete(t),a=this.get(n),this.set(t,r)}else{x||u[e-1]!==t||(x=!0);let r=u[x?e:e-1],s=a;a=this.get(r),this.delete(r),this.set(r,s)}return this}with(t,r,a){let s=new e(this);return s.insert(t,r,a),s}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=c(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=c(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return c(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return a;r++}}findIndex(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return r;r++}return -1}filter(t,r){let a=[],s=0;for(let e of this)Reflect.apply(t,r,[e,s,this])&&a.push(e),s++;return new e(a)}map(t,r){let a=[],s=0;for(let e of this)a.push([e[0],Reflect.apply(t,r,[e,s,this])]),s++;return new e(a)}reduce(...e){let[t,r]=e,a=0,s=r??this.at(0);for(let r of this)s=0===a&&1===e.length?r:Reflect.apply(t,this,[s,r,a,this]),a++;return s}reduceRight(...e){let[t,r]=e,a=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let s=this.at(r);a=r===this.size-1&&1===e.length?s:Reflect.apply(t,this,[a,s,r,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),a=this.get(r);t.set(r,a)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let a=new e,s=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==r&&r>0&&(s=r-1);for(let e=t;e<=s;e++){let t=this.keyAt(e),r=this.get(t);a.set(t,r)}return a}every(e,t){let r=0;for(let a of this){if(!Reflect.apply(e,t,[a,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,l],55737);var u=e.i(28509),x=e.i(16393),p=e.i(94080),v=e.i(87782),h=t.createContext(void 0);function m(e){let r=t.useContext(h);return e||r||"ltr"}e.s(["useDirection",0,m],21583);var f="rovingFocusGroup.onEntryFocus",g={bubbles:!1,cancelable:!0},b="RovingFocusGroup",[y,j,N]=l(b),[w,k]=(0,a.createContextScope)(b,[N]),[C,R]=w(b),S=t.forwardRef((e,t)=>(0,i.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,i.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,i.jsx)(T,{...e,ref:t})})}));S.displayName=b;var T=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,orientation:l,loop:o=!1,dir:c,currentTabStopId:d,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:h,onEntryFocus:y,preventScrollOnEntryFocus:N=!1,...w}=e,k=t.useRef(null),R=(0,s.useComposedRefs)(a,k),S=m(c),[T,M]=(0,v.useControllableState)({prop:d,defaultProp:u??null,onChange:h,caller:b}),[$,E]=t.useState(!1),I=(0,p.useCallbackRef)(y),F=j(n),z=t.useRef(!1),[D,L]=t.useState(0);return t.useEffect(()=>{let e=k.current;if(e)return e.addEventListener(f,I),()=>e.removeEventListener(f,I)},[I]),(0,i.jsx)(C,{scope:n,orientation:l,dir:S,loop:o,currentTabStopId:T,onItemFocus:t.useCallback(e=>M(e),[M]),onItemShiftTab:t.useCallback(()=>E(!0),[]),onFocusableItemAdd:t.useCallback(()=>L(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>L(e=>e-1),[]),children:(0,i.jsx)(x.Primitive.div,{tabIndex:$||0===D?-1:0,"data-orientation":l,...w,ref:R,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{z.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!z.current;if(e.target===e.currentTarget&&t&&!$){let t=new CustomEvent(f,g);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);A([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),N)}}z.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),M="RovingFocusGroupItem",$=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:s,focusable:n=!0,active:l=!1,tabStopId:o,children:c,...d}=e,p=(0,u.useId)(),v=o||p,h=R(M,s),m=h.currentTabStopId===v,f=j(s),{onFocusableItemAdd:g,onFocusableItemRemove:b,currentTabStopId:N}=h;return t.useEffect(()=>{if(n)return g(),()=>b()},[n,g,b]),(0,i.jsx)(y.ItemSlot,{scope:s,id:v,focusable:n,active:l,children:(0,i.jsx)(x.Primitive.span,{tabIndex:m?0:-1,"data-orientation":h.orientation,...d,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{n?h.onItemFocus(v):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(v)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let s=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return E[s]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let s=f().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)s.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&s.reverse();let n=s.indexOf(e.currentTarget);s=h.loop?(r=s,a=n+1,r.map((e,t)=>r[(a+t)%r.length])):s.slice(n+1)}setTimeout(()=>A(s))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=N}):c})})});$.displayName=M;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,$,"Root",0,S,"createRovingFocusGroupScope",0,k],39402)},57270,e=>{"use strict";var t=e.i(98181),r=e.i(9148),a=e.i(25007),s=e.i(63949),n=e.i(80011),i=e.i(39402),l=e.i(69113),o=e.i(16393),c=e.i(21583),d=e.i(87782),u=e.i(28509),x="Tabs",[p,v]=(0,n.createContextScope)(x,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[m,f]=p(x),g=a.forwardRef((e,r)=>{let{__scopeTabs:a,value:s,onValueChange:n,defaultValue:i,orientation:l="horizontal",dir:p,activationMode:v="automatic",...h}=e,f=(0,c.useDirection)(p),[g,b]=(0,d.useControllableState)({prop:s,onChange:n,defaultProp:i??"",caller:x});return(0,t.jsx)(m,{scope:a,baseId:(0,u.useId)(),value:g,onValueChange:b,orientation:l,dir:f,activationMode:v,children:(0,t.jsx)(o.Primitive.div,{dir:f,"data-orientation":l,...h,ref:r})})});g.displayName=x;var b="TabsList",y=a.forwardRef((e,r)=>{let{__scopeTabs:a,loop:s=!0,...n}=e,l=f(b,a),c=h(a);return(0,t.jsx)(i.Root,{asChild:!0,...c,orientation:l.orientation,dir:l.dir,loop:s,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:r})})});y.displayName=b;var j="TabsTrigger",N=a.forwardRef((e,r)=>{let{__scopeTabs:a,value:n,disabled:l=!1,...c}=e,d=f(j,a),u=h(a),x=C(d.baseId,n),p=R(d.baseId,n),v=n===d.value;return(0,t.jsx)(i.Item,{asChild:!0,...u,focusable:!l,active:v,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":p,"data-state":v?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:x,...c,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;v||l||!e||d.onValueChange(n)})})})});N.displayName=j;var w="TabsContent",k=a.forwardRef((e,r)=>{let{__scopeTabs:s,value:n,forceMount:i,children:c,...d}=e,u=f(w,s),x=C(u.baseId,n),p=R(u.baseId,n),v=n===u.value,h=a.useRef(v);return a.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(l.Presence,{present:i||v,children:({present:a})=>(0,t.jsx)(o.Primitive.div,{"data-state":v?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":x,hidden:!a,id:p,tabIndex:0,...d,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:a&&c})})});function C(e,t){return`${e}-trigger-${t}`}function R(e,t){return`${e}-content-${t}`}k.displayName=w,e.s(["Content",0,k,"List",0,y,"Root",0,g,"Tabs",0,g,"TabsContent",0,k,"TabsList",0,y,"TabsTrigger",0,N,"Trigger",0,N,"createTabsScope",0,v],93200);var S=e.i(93200),S=S,T=e.i(47899);let M=(0,r.cva)("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:r="horizontal",...a}){return(0,t.jsx)(S.Root,{"data-slot":"tabs","data-orientation":r,orientation:r,className:(0,T.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...a})},"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(S.Content,{"data-slot":"tabs-content",className:(0,T.cn)("flex-1 outline-none",e),...r})},"TabsList",0,function({className:e,variant:r="default",...a}){return(0,t.jsx)(S.List,{"data-slot":"tabs-list","data-variant":r,className:(0,T.cn)(M({variant:r}),e),...a})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(S.Trigger,{"data-slot":"tabs-trigger",className:(0,T.cn)("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...r})}],57270)},64957,e=>{"use strict";var t=e.i(98181),r=e.i(25007),a=e.i(93716);let s=["Sundays","Mondays","Tuesdays","Wednesdays","Thursdays","Fridays","Saturdays"];function n(e){let t;if(!e||!e.trim())return"";let r=e.trim().split(/\s+/);if(5!==r.length)return e;let[a,n,i,,l]=r;if("*"===a&&"*"===n&&"*"===i&&"*"===l)return"Every minute";if(a.startsWith("*/")&&"*"===n&&"*"===i&&"*"===l){let e=parseInt(a.slice(2),10);if(!isNaN(e))return`Every ${e} minutes`}if("*"!==a&&"*"===n&&"*"===i&&"*"===l)return"Every hour";let o=parseInt(n,10),c=parseInt(a,10);if(isNaN(o)||isNaN(c))return e;let d=0===c?(t=0===c?"":`:${String(c).padStart(2,"0")}`,`${o%12||12}${t} ${o<12?"AM":"PM"}`):`${o%12||12}:${String(c).padStart(2,"0")} ${o<12?"AM":"PM"}`;if(i.startsWith("*/")&&"*"===l){let e=parseInt(i.slice(2),10);if(!isNaN(e))return`Every ${e} days at ${d}`}if("*"!==i&&"*"===l){let e=parseInt(i,10);if(!isNaN(e))return`Monthly on the ${e}${1===e?"st":2===e?"nd":3===e?"rd":"th"} at ${d}`}if("*"===i&&"1-5"===l)return`Weekdays at ${d}`;if("*"===i){let e=parseInt(l,10);if(!isNaN(e)&&e>=0&&e<=6)return`${s[e]} at ${d}`}return"*"===i&&"*"===l?`Daily at ${d}`:e}var i=e.i(58843),l=e.i(11322),o=e.i(57270),c=e.i(47899);function d({className:e,width:r,height:a,style:s,...n}){return(0,t.jsx)("div",{className:(0,c.cn)("animate-shimmer rounded-md",e),style:{background:"linear-gradient(90deg, var(--fill-secondary) 25%, var(--fill-tertiary) 50%, var(--fill-secondary) 75%)",backgroundSize:"200% 100%",width:r,height:a,...s},...n})}let u=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],x=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],p={1:0,2:1,3:2,4:3,5:4,6:5,0:6};function v({slot:e,rect:r,containerRect:a}){let s=e.cron.enabled?"var(--system-green)":"var(--text-tertiary)",i=r.top-a.top-8,l=r.left-a.left+r.width/2;return(0,t.jsxs)("div",{className:"absolute pointer-events-none z-[100] min-w-[200px] max-w-[300px] bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] px-[var(--space-4)] py-[var(--space-3)] text-[length:var(--text-caption1)] text-[var(--text-primary)]",style:{top:i,left:l,transform:"translate(-50%, -100%)",boxShadow:"0 8px 24px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.2)"},children:[(0,t.jsx)("div",{className:"absolute w-2.5 h-2.5 bg-[var(--material-regular)] border-r border-b border-[var(--separator)]",style:{bottom:-5,left:"50%",transform:"translateX(-50%) rotate(45deg)"}}),(0,t.jsx)("div",{className:"font-bold text-[length:var(--text-footnote)] mb-[var(--space-1)] pl-[var(--space-2)]",style:{borderLeft:`3px solid ${s}`},children:e.cron.name}),(0,t.jsx)("div",{className:"text-[var(--text-secondary)] text-[length:var(--text-caption1)] mb-[var(--space-2)]",children:n(e.cron.schedule)}),(0,t.jsx)("div",{className:"font-[family-name:var(--font-mono)] text-[length:var(--text-caption2)] text-[var(--text-tertiary)] mb-[var(--space-2)]",children:e.cron.schedule}),(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-2)] text-[length:var(--text-caption1)]",children:[(0,t.jsx)("span",{className:"w-[7px] h-[7px] rounded-full shrink-0",style:{background:e.cron.enabled?"var(--system-green)":"var(--text-tertiary)"}}),(0,t.jsx)("span",{className:"font-medium",style:{color:e.cron.enabled?"var(--system-green)":"var(--text-tertiary)"},children:e.cron.enabled?"Enabled":"Disabled"}),e.cron.employee&&(0,t.jsx)("span",{className:"text-[var(--text-tertiary)] ml-[var(--space-1)]",children:e.cron.employee})]})]})}function h({crons:e}){let[a,s]=(0,r.useState)(null),i=(0,r.useRef)(null),[l,o]=(0,r.useState)(null),c=(0,r.useCallback)(()=>{i.current&&o(i.current.getBoundingClientRect())},[]);(0,r.useEffect)(()=>{if(c(),i.current)return window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)}},[c]);let{slotsByDayHour:d,activeHours:m}=(0,r.useMemo)(()=>{let t=new Map,r=new Set;for(let a of e){if(!a.enabled)continue;let e=function(e){let t;if(!e||!e.trim())return null;let r=e.trim().split(/\s+/);if(5!==r.length)return null;let[a,s,,,n]=r,i=parseInt(a,10),l=parseInt(s,10);if(isNaN(i)||isNaN(l))return null;if("*"===n)t=[0,1,2,3,4,5,6];else if("1-5"===n)t=[1,2,3,4,5];else if("0-6"===n||"0,1,2,3,4,5,6"===n)t=[0,1,2,3,4,5,6];else if(n.includes(",")){if(0===(t=n.split(",").map(Number).filter(e=>!isNaN(e)&&e>=0&&e<=6)).length)return null}else{let e=parseInt(n,10);if(isNaN(e)||e<0||e>6)return null;t=[e]}return{hour:l,minute:i,days:t}}(a.schedule);if(e)for(let s of e.days){let n=p[s];if(void 0===n)continue;let i=`${n}-${e.hour}`,l=t.get(i)||[];l.push({cron:a,hour:e.hour,minute:e.minute,col:n}),t.set(i,l),r.add(e.hour)}}for(let[e,r]of t)t.set(e,r.sort((e,t)=>e.minute-t.minute||e.cron.name.localeCompare(t.cron.name)));return{slotsByDayHour:t,activeHours:Array.from(r).sort((e,t)=>e-t)}},[e]),f=new Date,g=p[f.getDay()],b=f.getHours(),y=f.getMinutes()/60,j=(0,r.useMemo)(()=>{let e=new Map;for(let t of m){let r=0;for(let e=0;e<7;e++){let a=`${e}-${t}`,s=d.get(a)?.length||0;s>r&&(r=s)}e.set(t,r)}return e},[m,d]);return((0,r.useEffect)(()=>{if(!a)return;let e=()=>s(null);return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[a]),0===m.length)?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-[200px] text-[var(--text-secondary)] gap-[var(--space-2)]",children:[(0,t.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-[var(--text-tertiary)] mb-[var(--space-2)]",children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,t.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),(0,t.jsx)("span",{className:"text-[length:var(--text-subheadline)] font-medium",children:"No scheduled jobs to display"}),(0,t.jsx)("span",{className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)]",children:"Enable some cron jobs to see the weekly schedule"})]}):(0,t.jsxs)("div",{ref:i,className:"relative",onClick:()=>s(null),children:[(0,t.jsxs)("div",{className:"grid grid-cols-[56px_repeat(7,1fr)] bg-[var(--material-regular)] rounded-[var(--radius-md)] border border-[var(--separator)] overflow-hidden",children:[(0,t.jsx)("div",{className:"p-[var(--space-3)_var(--space-2)] border-b border-[var(--separator)] bg-[var(--material-thick)]"}),u.map((e,r)=>{let a=r===g;return(0,t.jsxs)("div",{className:"relative p-[var(--space-3)_var(--space-2)] text-center border-b border-l border-[var(--separator)]",style:{background:a?"var(--accent-fill)":"var(--material-thick)"},children:[(0,t.jsx)("div",{title:x[r],className:"text-[length:var(--text-footnote)] tracking-[0.02em]",style:{fontWeight:a?700:600,color:a?"var(--accent)":"var(--text-primary)"},children:e}),a&&(0,t.jsx)("div",{className:"absolute -bottom-[3px] left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full bg-[var(--accent)] z-[2]"})]},e)}),m.map((e,r)=>{let i=j.get(e)||1,l=8+28*i+(i-1)*4,o=e===b,u=r===m.length-1;return(0,t.jsxs)("div",{className:"contents",children:[(0,t.jsx)("div",{className:"p-[var(--space-2)] flex items-start justify-end relative",style:{borderBottom:u?"none":"1px solid var(--separator)",minHeight:l,background:o?"var(--accent-fill)":void 0},children:(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] font-[family-name:var(--font-mono)] leading-[1.2] whitespace-nowrap pt-0.5",style:{color:o?"var(--accent)":"var(--text-tertiary)",fontWeight:o?600:400},title:0===e||24===e?"12 AM":12===e?"12 PM":e<12?`${e} AM`:`${e-12} PM`,children:0===e||24===e?"12a":12===e?"12p":e<12?`${e}a`:`${e-12}p`})}),Array.from({length:7},(r,i)=>{let x=`${i}-${e}`,p=d.get(x)||[],v=i===g,h=v&&o;return(0,t.jsxs)("div",{className:"flex flex-col relative border-l border-[var(--separator)]",style:{padding:"4px 4px",borderBottom:u?"none":"1px solid var(--separator)",minHeight:l,gap:4,background:h?"color-mix(in srgb, var(--accent) 6%, transparent)":v?"color-mix(in srgb, var(--accent) 3%, transparent)":void 0},children:[h&&(0,t.jsx)("div",{className:"absolute left-0 right-0 h-0.5 bg-[var(--system-red)] opacity-80 z-[3] rounded-[1px]",style:{top:`${(100*y).toFixed(1)}%`}}),p.map((e,r)=>{let i=e.cron.enabled?"var(--system-green)":"var(--text-tertiary)",l=a?.slot.cron.id===e.cron.id&&a?.slot.col===e.col&&a?.slot.hour===e.hour;return(0,t.jsxs)("button",{type:"button",title:`${e.cron.name} - ${n(e.cron.schedule)}`,onClick:t=>{t.stopPropagation();let r=t.currentTarget.getBoundingClientRect();c(),l?s(null):s({slot:e,rect:r})},onMouseEnter:t=>{let r;return r=t.currentTarget.getBoundingClientRect(),void(c(),s({slot:e,rect:r}))},onMouseLeave:()=>s(null),className:"flex items-center gap-[5px] px-1.5 rounded-[var(--radius-sm)] border-none cursor-pointer w-full min-w-0 text-left relative overflow-hidden transition-[background,box-shadow] duration-150 ease-in-out",style:{height:28,background:l?`color-mix(in srgb, ${i} 25%, transparent)`:`color-mix(in srgb, ${i} 12%, transparent)`,borderLeft:`3px solid ${i}`,boxShadow:l?`0 0 0 1px color-mix(in srgb, ${i} 40%, transparent)`:"none"},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:e.cron.enabled?"var(--system-green)":"var(--text-tertiary)"}}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption2)] font-[family-name:var(--font-mono)] text-[var(--text-tertiary)] shrink-0 leading-none",children:`:${String(e.minute).padStart(2,"0")}`}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption2)] font-semibold overflow-hidden text-ellipsis whitespace-nowrap min-w-0 flex-1 leading-none",style:{color:i},children:e.cron.name})]},`${x}-${r}`)}),0===p.length&&(0,t.jsx)("div",{className:"flex-1"})]},x)})]},e)})]}),a&&l&&(0,t.jsx)(v,{slot:a.slot,rect:a.rect,containerRect:l})]})}function m({crons:e}){if(0===e.length)return(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] px-6 py-8 text-center",children:[(0,t.jsx)("div",{className:"text-sm font-bold text-[var(--text-primary)] mb-2",children:"No cron jobs configured"}),(0,t.jsx)("div",{className:"text-xs text-[var(--text-secondary)] max-w-[480px] mx-auto leading-[1.6]",children:"Cron jobs will appear here as cards once configured."})]});let r=e.filter(e=>e.enabled),a=e.filter(e=>!e.enabled);return(0,t.jsxs)("div",{children:[r.length>0&&(0,t.jsx)(f,{crons:r,label:"Enabled"}),a.length>0&&(0,t.jsx)(f,{crons:a,label:"Disabled"})]})}function f({crons:e,label:r}){return(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:"text-[13px] font-bold text-[var(--text-secondary)] mb-3",children:[r," (",e.length,")"]}),(0,t.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(220px,1fr))] gap-2.5",children:e.map(e=>{let r=e.enabled?"var(--system-green)":"var(--text-tertiary)";return(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] rounded-[var(--radius-md)] border border-[var(--separator)] px-3.5 py-2.5",style:{borderLeft:`3px solid ${r}`},children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,t.jsx)("div",{className:`w-[7px] h-[7px] rounded-full shrink-0 ${e.enabled?"bg-[var(--system-green)]":"bg-[var(--text-tertiary)]"}`}),(0,t.jsx)("div",{className:"text-xs font-semibold text-[var(--text-primary)] whitespace-nowrap overflow-hidden text-ellipsis",children:e.name})]}),(0,t.jsx)("div",{className:"text-[10px] text-[var(--text-secondary)] mb-0.5",children:n(e.schedule)}),(0,t.jsx)("div",{className:"text-[10px] font-[var(--font-mono)] text-[var(--text-tertiary)] mb-1",children:e.schedule}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1",children:[e.employee&&(0,t.jsx)("span",{className:"inline-block text-[9px] px-1.5 py-px rounded text-[var(--system-blue)]",style:{background:"color-mix(in srgb, var(--system-blue) 15%, transparent)"},children:e.employee}),e.engine&&(0,t.jsx)("span",{className:"inline-block text-[9px] px-1.5 py-px rounded bg-[var(--fill-tertiary)] text-[var(--text-tertiary)]",children:e.engine})]})]},e.id)})})]})}var g=e.i(81377);function b(e){if(!e)return"never";let t=new Date(e);if(isNaN(t.getTime()))return"—";let r=Date.now()-t.getTime(),a=Math.floor(r/6e4),s=Math.floor(r/36e5),n=Math.floor(r/864e5);return a<1?"just now":a<60?`${a}m ago`:s<24?`${s}h ago`:`${n}d ago`}function y({jobId:e}){let[s,n]=(0,r.useState)(null),[i,l]=(0,r.useState)(!0);return((0,r.useEffect)(()=>{a.api.getCronRuns(e).then(e=>{n(e.slice(0,5)),l(!1)}).catch(()=>{n([]),l(!1)})},[e]),i)?(0,t.jsxs)("div",{className:"mt-[var(--space-3)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-semibold mb-[var(--space-2)]",children:"Recent Runs"}),[1,2,3].map(e=>(0,t.jsx)(d,{className:"h-4 mb-1 w-4/5"},e))]}):s&&0!==s.length?(0,t.jsxs)("div",{className:"mt-[var(--space-3)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-semibold mb-[var(--space-2)]",children:"Recent Runs"}),(0,t.jsx)("div",{className:"flex flex-col gap-1",children:s.map((e,r)=>{let a=e.ts||e.startedAt||"",s=e.status||"unknown",n=b(a),i=null!=e.durationMs?function(e){if(e<0||!Number.isFinite(e))return"—";let t=Math.round(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),a=t%60;if(r<60)return a>0?`${r}m ${a}s`:`${r}m`;let s=Math.floor(r/60);return`${s}h ${r%60}m`}(e.durationMs):"—";return(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-2)] text-[length:var(--text-caption2)] min-h-[22px] py-0.5",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:"success"===s||"ok"===s?"var(--system-green)":"error"===s||"failed"===s?"var(--system-red)":"var(--text-tertiary)"}}),(0,t.jsx)("span",{className:"text-[var(--text-tertiary)] min-w-[52px] shrink-0",children:n}),(0,t.jsx)("span",{className:"text-[var(--text-secondary)] min-w-[52px] shrink-0",children:i}),(0,t.jsx)("span",{className:"text-[var(--text-secondary)] capitalize",children:s}),e.error&&(0,t.jsx)("span",{className:"truncate text-[var(--system-red)] min-w-0 flex-1",children:e.error})]},`${a}-${r}`)})})]}):(0,t.jsxs)("div",{className:"mt-[var(--space-3)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-semibold mb-[var(--space-2)]",children:"最近の実行履歴"}),(0,t.jsx)("div",{className:"text-[length:var(--text-caption2)] text-[var(--text-tertiary)]",children:"実行履歴はありません"})]})}function j({label:e,value:r,color:a}){return(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]",children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)] font-medium mb-[var(--space-1)]",children:e}),(0,t.jsx)("div",{className:"text-[length:var(--text-title2)] font-bold",style:{color:a||"var(--text-primary)"},children:r})]})}e.s(["default",0,function(){(0,l.useBreadcrumbs)([{label:"Cron"}]);let[e,s]=(0,r.useState)([]),[c,u]=(0,r.useState)(!0),[x,p]=(0,r.useState)(null),[v,f]=(0,r.useState)("all"),[N,w]=(0,r.useState)(null),[k,C]=(0,r.useState)("just now"),[R,S]=(0,r.useState)(new Date),[T,M]=(0,r.useState)(null),[$,E]=(0,r.useState)(new Map);(0,r.useEffect)(()=>{a.api.getOrg().then(e=>{let t=new Map;for(let r of e.employees)t.set(r.name,r);E(t)}).catch(()=>{})},[]);let A=(0,r.useCallback)(()=>{p(null),a.api.getCronJobs().then(e=>{s(e),S(new Date)}).catch(e=>p(e instanceof Error?e.message:"Unknown error")).finally(()=>u(!1))},[]);(0,r.useEffect)(()=>{A();let e=setInterval(A,6e4);return()=>clearInterval(e)},[A]),(0,r.useEffect)(()=>{let e=()=>C(b(R.toISOString()));e();let t=setInterval(e,3e4);return()=>clearInterval(t)},[R]);let I=e.filter(e=>e.enabled).length,F=e.filter(e=>!e.enabled).length,z=e.filter(e=>"enabled"===v?e.enabled:"disabled"!==v||!e.enabled),D=(0,r.useMemo)(()=>{let e=new Map;for(let t of z){let r=t.employee||"_unassigned",a=e.get(r)||[];a.push(t),e.set(r,a)}return e},[z]);return(0,t.jsx)(i.PageLayout,{children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden bg-[var(--bg)]",children:[(0,t.jsx)("header",{className:"flex-shrink-0 bg-[var(--material-regular)] border-b border-[var(--separator)] px-[var(--space-6)] py-[var(--space-4)]",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-[length:var(--text-title1)] font-bold text-[var(--text-primary)] tracking-tight leading-[1.2]",children:"Cron Jobs"}),!c&&(0,t.jsxs)("p",{className:"text-[length:var(--text-footnote)] text-[var(--text-secondary)] mt-[var(--space-1)]",children:[e.length," total · ",I," enabled · ",F," disabled"]})]}),(0,t.jsx)(i.ToolbarActions,{children:(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-3)]",children:[(0,t.jsxs)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:["Updated ",k]}),(0,t.jsx)("button",{onClick:A,"aria-label":"Refresh cron data",className:"w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)] border-none bg-transparent text-[var(--text-tertiary)] cursor-pointer",children:(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M21 2v6h-6"}),(0,t.jsx)("path",{d:"M3 12a9 9 0 0 1 15-6.7L21 8"}),(0,t.jsx)("path",{d:"M3 22v-6h6"}),(0,t.jsx)("path",{d:"M21 12a9 9 0 0 1-15 6.7L3 16"})]})})]})})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-[var(--space-6)] pt-[var(--space-4)] pb-[var(--space-6)]",children:x&&0===e.length?(0,t.jsxs)("div",{className:"bg-[rgba(255,69,58,0.06)] border border-[var(--system-red)] rounded-[var(--radius-md)] p-[var(--space-4)] text-[var(--system-red)] text-[length:var(--text-footnote)] mb-[var(--space-4)]",children:["Failed to load cron jobs: ",x,(0,t.jsx)("button",{onClick:A,className:"ml-[var(--space-3)] underline bg-none border-none text-inherit cursor-pointer text-[length:inherit]",children:"Retry"})]}):c?(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)]",children:[1,2,3].map(e=>(0,t.jsxs)("div",{className:"bg-[var(--material-regular)] border border-[var(--separator)] rounded-[var(--radius-md)] p-[var(--space-4)]",children:[(0,t.jsx)(d,{className:"w-[60px] h-2.5 mb-2"}),(0,t.jsx)(d,{className:"w-20 h-3.5"})]},e))}),[1,2,3,4].map(e=>(0,t.jsx)(d,{className:"h-12 mb-1 rounded-[var(--radius-sm)]"},e))]}):(0,t.jsxs)(o.Tabs,{defaultValue:"overview",children:[(0,t.jsxs)(o.TabsList,{variant:"line",children:[(0,t.jsx)(o.TabsTrigger,{value:"overview",children:"概要"}),(0,t.jsx)(o.TabsTrigger,{value:"schedule",children:"スケジュール"}),(0,t.jsx)(o.TabsTrigger,{value:"pipelines",children:"パイプライン"})]}),(0,t.jsxs)(o.TabsContent,{value:"overview",children:[(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-[var(--space-3)] mb-[var(--space-4)] mt-[var(--space-4)]",children:[(0,t.jsx)(j,{label:"ジョブ総数",value:e.length}),(0,t.jsx)(j,{label:"有効",value:I,color:"var(--system-green)"}),(0,t.jsx)(j,{label:"無効",value:F,color:"var(--text-tertiary)"})]}),(0,t.jsx)("div",{className:"flex items-center gap-[var(--space-2)] mb-[var(--space-3)]",children:["all","enabled","disabled"].map(r=>{let a=v===r,s="all"===r?e.length:"enabled"===r?I:F;return(0,t.jsxs)("button",{onClick:()=>f(r),className:"rounded-[20px] px-3.5 py-1.5 text-[length:var(--text-footnote)] font-medium border-none cursor-pointer transition-all duration-200 ease-in-out",style:{background:a?"var(--accent-fill)":"var(--fill-secondary)",color:a?"var(--accent)":"var(--text-primary)"},children:[r.charAt(0).toUpperCase()+r.slice(1)," (",s,")"]},r)})}),0===z.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-[200px] text-[var(--text-secondary)] gap-[var(--space-2)]",children:[(0,t.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-[var(--text-tertiary)] mb-[var(--space-2)]",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),(0,t.jsx)("span",{className:"text-[length:var(--text-subheadline)] font-medium",children:0===e.length?"No cron jobs configured":"No jobs match this filter"})]}):(0,t.jsx)("div",{className:"flex flex-col gap-[var(--space-3)]",children:Array.from(D.entries()).map(([e,r])=>{let i="_unassigned"!==e?$.get(e):null,l=i?.displayName||("_unassigned"===e?"Unassigned":e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "));return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-[var(--space-2)] mb-[var(--space-2)]",children:["_unassigned"!==e&&(0,t.jsx)(g.EmployeeAvatar,{name:e,size:20}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] font-[var(--weight-semibold)] text-[var(--text-secondary)]",children:l}),(0,t.jsxs)("span",{className:"text-[length:var(--text-caption2)] text-[var(--text-quaternary)]",children:[r.length," job",1!==r.length?"s":""]})]}),(0,t.jsx)("div",{className:"rounded-[var(--radius-md)] overflow-hidden bg-[var(--material-regular)] border border-[var(--separator)]",children:r.map((e,r)=>{let i=N===e.id;return(0,t.jsxs)("div",{children:[r>0&&(0,t.jsx)("div",{className:"h-px bg-[var(--separator)] mx-[var(--space-4)]"}),(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":i,onClick:()=>w(i?null:e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),w(i?null:e.id))},className:"flex items-center cursor-pointer min-h-[48px] px-[var(--space-4)] transition-[background] duration-150 ease-in-out",style:{borderLeft:`3px solid ${e.enabled?"var(--system-green)":"transparent"}`},onMouseEnter:e=>{e.currentTarget.style.background="var(--fill-secondary)"},onMouseLeave:e=>{e.currentTarget.style.background=""},children:[(0,t.jsx)("span",{className:"w-2 h-2 rounded-full shrink-0",style:{background:e.enabled?"var(--system-green)":"var(--text-tertiary)"}}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 ml-3 flex flex-col",children:[(0,t.jsx)("span",{className:"truncate text-[length:var(--text-footnote)] font-semibold text-[var(--text-primary)]",children:e.name}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:n(e.schedule)})]}),(0,t.jsxs)("div",{className:"flex items-center shrink-0 gap-[var(--space-2)] ml-auto",children:[e.engine&&(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] px-2 py-px rounded-xl bg-[var(--fill-tertiary)] text-[var(--text-tertiary)]",children:e.engine}),(0,t.jsx)("button",{onClick:t=>{let r;t.stopPropagation(),r=!e.enabled,a.api.updateCronJob(e.id,{enabled:r}).then(()=>{s(t=>t.map(t=>t.id===e.id?{...t,enabled:r}:t))}).catch(()=>{})},"aria-label":e.enabled?"Disable job":"Enable job",className:"relative inline-flex items-center w-9 h-5 rounded-[10px] border-none cursor-pointer shrink-0 transition-[background] duration-200 ease-in-out",style:{background:e.enabled?"var(--system-green)":"var(--fill-tertiary)"},children:(0,t.jsx)("span",{className:"block w-3.5 h-3.5 rounded-full bg-white transition-transform duration-200 ease-in-out",style:{transform:e.enabled?"translateX(18px)":"translateX(3px)"}})}),(0,t.jsx)("span",{className:"text-[length:var(--text-footnote)] text-[var(--text-tertiary)] transition-transform duration-200 ease-in-out inline-block",style:{transform:i?"rotate(90deg)":"rotate(0deg)"},children:"›"})]})]}),i&&(0,t.jsxs)("div",{className:"px-[var(--space-4)] pb-[var(--space-4)] ml-[3px]",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-[var(--space-4)] gap-y-[var(--space-1)] mt-[var(--space-2)] mb-[var(--space-3)]",children:[(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Schedule"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)]",children:n(e.schedule)}),(0,t.jsxs)("div",{className:"text-[length:var(--text-caption2)] font-[family-name:var(--font-mono)] text-[var(--text-tertiary)] mt-0.5",children:[e.schedule,e.timezone&&(0,t.jsxs)("span",{className:"ml-2",children:["(",e.timezone,")"]})]})]}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Status"}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] font-medium",style:{color:e.enabled?"var(--system-green)":"var(--text-tertiary)"},children:e.enabled?"Enabled":"Disabled"}),e.engine&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Engine"}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)]",children:e.engine})]}),e.model&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-tertiary)]",children:"Model"}),(0,t.jsx)("span",{className:"text-[length:var(--text-caption1)] text-[var(--text-secondary)] font-[family-name:var(--font-mono)]",children:e.model})]})]}),(0,t.jsx)("div",{className:"mb-[var(--space-3)]",children:(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),M(e.id),a.api.triggerCronJob(e.id).then(()=>{setTimeout(A,2e3)}).catch(()=>{}).finally(()=>{setTimeout(()=>M(null),2e3)})},disabled:T===e.id,className:"inline-flex items-center gap-1.5 px-3.5 py-1.5 rounded-[var(--radius-sm)] border border-[var(--separator)] text-[length:var(--text-caption1)] font-semibold transition-all duration-200 ease-in-out",style:{background:T===e.id?"var(--fill-tertiary)":"var(--material-regular)",color:T===e.id?"var(--system-green)":"var(--text-secondary)",cursor:T===e.id?"default":"pointer"},children:T===e.id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-sm",children:"✓"}),"Triggered"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",children:(0,t.jsx)("polygon",{points:"5,3 19,12 5,21"})}),"Run Now"]})})}),(0,t.jsx)(y,{jobId:e.id})]})]},e.id)})})]},e)})})]}),(0,t.jsx)(o.TabsContent,{value:"schedule",children:(0,t.jsx)("div",{className:"mt-[var(--space-4)]",children:(0,t.jsx)(h,{crons:e})})}),(0,t.jsx)(o.TabsContent,{value:"pipelines",children:(0,t.jsx)("div",{className:"mt-[var(--space-4)]",children:(0,t.jsx)(m,{crons:e})})})]})})]})})}],64957)}]);