@xopcai/xopc 0.0.215 → 0.0.217

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 (141) hide show
  1. package/README.md +4 -4
  2. package/README.zh-CN.md +4 -4
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{activity-store-k-mNF_Dq.js → activity-store-D6trMTyZ.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-0Am1Zsai.js → agent-avatar-dicebear-CAQdFrcu.js} +1 -1
  7. package/dist/gateway/static/root/assets/agents-C6q_vDzP.js +68 -0
  8. package/dist/gateway/static/root/assets/{api-BjN2udFQ.js → api-B9pZAyMB.js} +1 -1
  9. package/dist/gateway/static/root/assets/app-management-settings-panel-DRsTwFbF.js +1 -0
  10. package/dist/gateway/static/root/assets/{appearance-settings-CoB0hGf9.js → appearance-settings-B99NaPTf.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-Dx66anqa.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-BczSorEI.js → archive-plugin-BF0q7N24.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-D1SDGB0m.js → attachment-load-D1qmjGDo.js} +1 -1
  14. package/dist/gateway/static/root/assets/{automations-page-BTgWPOP6.js → automations-page-Ccu4yRFa.js} +1 -1
  15. package/dist/gateway/static/root/assets/automations-workspace-CHbA8d-P.js +6 -0
  16. package/dist/gateway/static/root/assets/{binary-plugins-6tFOQHNC.js → binary-plugins-DooqxEZz.js} +1 -1
  17. package/dist/gateway/static/root/assets/{block-editor-Cm7txOU2.js → block-editor-Dqg9kvb9.js} +47 -47
  18. package/dist/gateway/static/root/assets/browser-settings-page-CpRc-9Jy.js +8 -0
  19. package/dist/gateway/static/root/assets/{browser-workflow-inputs-Coz8pWzP.js → browser-workflow-inputs-CsIh8ySc.js} +1 -1
  20. package/dist/gateway/static/root/assets/{browser-workflows-page-DJGD7LOd.js → browser-workflows-page-BXQFxT0p.js} +2 -2
  21. package/dist/gateway/static/root/assets/capabilities-settings-panel-C89FGECN.js +7 -0
  22. package/dist/gateway/static/root/assets/{capability-presets-api-BF3G84qe.js → capability-presets-api-BX9U0FRh.js} +1 -1
  23. package/dist/gateway/static/root/assets/{capability-presets-settings-panel-v85bB-Lt.js → capability-presets-settings-panel-XT6WEz9E.js} +2 -2
  24. package/dist/gateway/static/root/assets/{channel-recipient-api-8Uz95P40.js → channel-recipient-api-CUBTQ0Bz.js} +1 -1
  25. package/dist/gateway/static/root/assets/channels-settings-DhKk1oNT.js +1 -0
  26. package/dist/gateway/static/root/assets/channels-status-swr-CiwOOoVL.js +1 -0
  27. package/dist/gateway/static/root/assets/{chat-terminal-dock-DioZkaaj.js → chat-terminal-dock-CTbkTsc2.js} +2 -2
  28. package/dist/gateway/static/root/assets/circle-check-C23XjkUj.js +1 -0
  29. package/dist/gateway/static/root/assets/connectors-page-BDn3HTzX.js +2 -0
  30. package/dist/gateway/static/root/assets/{cron-expression-BTNvqkwt.js → cron-expression-XzPZhzVM.js} +1 -1
  31. package/dist/gateway/static/root/assets/{date-picker-wMj_1toq.js → date-picker-BmZjs4Bq.js} +1 -1
  32. package/dist/gateway/static/root/assets/{dependency-picker-PlfH-GH8.js → dependency-picker-ndtb88_T.js} +1 -1
  33. package/dist/gateway/static/root/assets/{desktop-pet-C3nO_ocM.js → desktop-pet-DZjW-7Tw.js} +1 -1
  34. package/dist/gateway/static/root/assets/desktop-pet-settings-C7BLs783.js +1 -0
  35. package/dist/gateway/static/root/assets/{directory-picker-path-field-BIqsbDII.js → directory-picker-path-field-BWiap88p.js} +1 -1
  36. package/dist/gateway/static/root/assets/electron-env-DH5wF8X8.js +1 -0
  37. package/dist/gateway/static/root/assets/{extension-debug-page-C1o3Jn7L.js → extension-debug-page-D7APnE3n.js} +1 -1
  38. package/dist/gateway/static/root/assets/{extension-page-Drjulq3q.js → extension-page-BhV5hz70.js} +1 -1
  39. package/dist/gateway/static/root/assets/{extension-settings-page-XsMPJFYn.js → extension-settings-page-BhbcGuiJ.js} +1 -1
  40. package/dist/gateway/static/root/assets/{gateway-config-api-D9xHVpb9.js → gateway-config-api-CUt9bIpL.js} +1 -1
  41. package/dist/gateway/static/root/assets/{gateway-config-swr-l2w9ecXl.js → gateway-config-swr-BTH9HVUk.js} +1 -1
  42. package/dist/gateway/static/root/assets/{gateway-settings-BaVojQd4.js → gateway-settings-RafSECLG.js} +1 -1
  43. package/dist/gateway/static/root/assets/{gateway-startup-retry-XUzMGmLZ.js → gateway-startup-retry-DAEk_tnd.js} +1 -1
  44. package/dist/gateway/static/root/assets/{heartbeat-settings-dQH2-fGh.js → heartbeat-settings-CwVPlPLB.js} +1 -1
  45. package/dist/gateway/static/root/assets/{home-page-CMqS6l_m.js → home-page-CbdBcCwC.js} +1 -1
  46. package/dist/gateway/static/root/assets/{image-generation-api-CDoOrDMq.js → image-generation-api-HqcQrSed.js} +1 -1
  47. package/dist/gateway/static/root/assets/index-AbNnQyKk.css +2 -0
  48. package/dist/gateway/static/root/assets/index-CMLkr37Y.js +108 -0
  49. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BG6lShzn.js +1 -0
  50. package/dist/gateway/static/root/assets/local-app-workbench-page-DdaPtQ5M.js +2 -0
  51. package/dist/gateway/static/root/assets/{local-apps-page-8w0FZ7TD.js → local-apps-page-vaz8ewe2.js} +1 -1
  52. package/dist/gateway/static/root/assets/{locale-store-BIOMAhmR.js → locale-store-De8wYkd7.js} +1 -1
  53. package/dist/gateway/static/root/assets/{logs-page-FiVowm1N.js → logs-page-CjxMHTQO.js} +2 -2
  54. package/dist/gateway/static/root/assets/{management-settings-DdYouU4o.js → management-settings-tqTGCHt0.js} +1 -1
  55. package/dist/gateway/static/root/assets/{markdown-split-D_kDeT-f.js → markdown-split-BGx8Aao0.js} +1 -1
  56. package/dist/gateway/static/root/assets/{markdown-view-BMDQYc6E.js → markdown-view-ybRARsPs.js} +1 -1
  57. package/dist/gateway/static/root/assets/{media-plugins-BDgbIz9p.js → media-plugins-xbM-SSP5.js} +1 -1
  58. package/dist/gateway/static/root/assets/messages-VI9m1xJl.js +3 -0
  59. package/dist/gateway/static/root/assets/{notes-api-lKPk0Voa.js → notes-api-D9CCwyWK.js} +1 -1
  60. package/dist/gateway/static/root/assets/{notes-page-Bw2MQ4M8.js → notes-page-CMNBbg6g.js} +1 -1
  61. package/dist/gateway/static/root/assets/notes-workbench-V9C-8vSn.js +4 -0
  62. package/dist/gateway/static/root/assets/{page-tabs-B7dlng5v.js → page-tabs-e99j9S9K.js} +1 -1
  63. package/dist/gateway/static/root/assets/preview-open-alternatives-DW9MDOva.js +1 -0
  64. package/dist/gateway/static/root/assets/{product-open-page--m0DziFF.js → product-open-page-CZdzgPZW.js} +1 -1
  65. package/dist/gateway/static/root/assets/project-detail-page-DHmAUggu.js +1 -0
  66. package/dist/gateway/static/root/assets/projects-page-D0EiN69Y.js +1 -0
  67. package/dist/gateway/static/root/assets/{registry-api-BFwvRxBn.js → registry-api-DYmKEwiG.js} +1 -1
  68. package/dist/gateway/static/root/assets/remote-access-hub-BuAVFk2O.js +1 -0
  69. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-6QadzIxb.js → runtime-tools-settings-panel-DQ12tLCL.js} +2 -2
  70. package/dist/gateway/static/root/assets/{schema-form-ChJycivC.js → schema-form-DNCDIkqC.js} +1 -1
  71. package/dist/gateway/static/root/assets/sessions-page-hzlTfgOl.js +1 -0
  72. package/dist/gateway/static/root/assets/settings-advanced-gate-BlCoA_9h.js +1 -0
  73. package/dist/gateway/static/root/assets/{settings-form-section-DRazyNED.js → settings-form-section-z0JH53Fu.js} +1 -1
  74. package/dist/gateway/static/root/assets/{settings-loading-skeleton-CdEdSb5L.js → settings-loading-skeleton-xgo41cfo.js} +1 -1
  75. package/dist/gateway/static/root/assets/{settings-page-BL0rlziB.js → settings-page-8astk_1U.js} +1 -1
  76. package/dist/gateway/static/root/assets/setup-status-panel-fZQfoJAk.js +1 -0
  77. package/dist/gateway/static/root/assets/{share-preview-page-CKK5swgV.js → share-preview-page-BBZV4AGy.js} +1 -1
  78. package/dist/gateway/static/root/assets/shares-settings-B5dPMq3Y.js +1 -0
  79. package/dist/gateway/static/root/assets/skill-reload-api-i1PGf1V2.js +1 -0
  80. package/dist/gateway/static/root/assets/skills-page-BSN2VaqR.js +2 -0
  81. package/dist/gateway/static/root/assets/{skills-page.utils-4_15-T3G.js → skills-page.utils-HmoDhJVh.js} +1 -1
  82. package/dist/gateway/static/root/assets/system-settings-panel-CSibO8vj.js +1 -0
  83. package/dist/gateway/static/root/assets/task-detail-page-HCKZ11E8.js +1 -0
  84. package/dist/gateway/static/root/assets/{theme-store-BrbF9cgL.js → theme-store-STx6jo38.js} +1 -1
  85. package/dist/gateway/static/root/assets/{typed-models-lib-CzB0r79r.js → typed-models-lib-zrYg51t3.js} +1 -1
  86. package/dist/gateway/static/root/assets/{use-autosave-D_fuJIDo.js → use-autosave-CqFVx92z.js} +1 -1
  87. package/dist/gateway/static/root/assets/user-context-page-CqG56cDS.js +1 -0
  88. package/dist/gateway/static/root/assets/voice-api-key-field-pYDiKKMo.js +1 -0
  89. package/dist/gateway/static/root/assets/{work-discovery-overlay-CSgiFeW2.js → work-discovery-overlay-LJLw9zf0.js} +1 -1
  90. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-DstMFHA8.js → workflow-run-setup-panel-D0WhQ3kI.js} +2 -2
  91. package/dist/gateway/static/root/assets/workflows-page-DQAJzV5w.js +5 -0
  92. package/dist/gateway/static/root/index.html +13 -11
  93. package/dist/package.js +1 -1
  94. package/dist/packages/realtime-client/src/index.js +17 -2
  95. package/dist/src/gateway/hono/lib/static-ui.js +1 -0
  96. package/dist/src/gateway/hono/oauth-async.d.ts +4 -0
  97. package/dist/src/gateway/hono/oauth-async.js +24 -1
  98. package/dist/src/gateway/hono/oauth.js +14 -1
  99. package/dist/src/gateway/hono/routes/config.js +3 -0
  100. package/dist/src/gateway/hono/routes/public-gateway.js +16 -0
  101. package/dist/src/gateway/hono/routes/voice.js +1 -1
  102. package/dist/src/gateway/service.js +1 -3
  103. package/dist/src/gateway/xopc-cloud-capability-setup.d.ts +41 -0
  104. package/dist/src/gateway/xopc-cloud-capability-setup.js +142 -0
  105. package/dist/src/voice/language-profile.d.ts +0 -2
  106. package/dist/src/voice/language-profile.js +2 -30
  107. package/dist/src/voice/local/provider-switch.d.ts +4 -0
  108. package/dist/src/voice/local/provider-switch.js +36 -0
  109. package/package.json +4 -4
  110. package/dist/gateway/static/root/assets/agents-BhWSwa4h.js +0 -68
  111. package/dist/gateway/static/root/assets/app-management-settings-panel-BCHmLiA7.js +0 -1
  112. package/dist/gateway/static/root/assets/apps-page-DloObQ8z.js +0 -1
  113. package/dist/gateway/static/root/assets/automations-workspace-CbOSi-Uh.js +0 -6
  114. package/dist/gateway/static/root/assets/browser-settings-page-UhIguuT0.js +0 -8
  115. package/dist/gateway/static/root/assets/capabilities-settings-panel-BPe2vu-c.js +0 -7
  116. package/dist/gateway/static/root/assets/channels-settings-Dj3wNboO.js +0 -1
  117. package/dist/gateway/static/root/assets/channels-status-swr-NfU9X-P5.js +0 -1
  118. package/dist/gateway/static/root/assets/connectors-api-DHBX8LgY.js +0 -1
  119. package/dist/gateway/static/root/assets/connectors-page-B8Z692Fe.js +0 -2
  120. package/dist/gateway/static/root/assets/desktop-pet-settings-BZSODwlA.js +0 -1
  121. package/dist/gateway/static/root/assets/index-BDwfvp1w.css +0 -2
  122. package/dist/gateway/static/root/assets/index-CjbvsIPf.js +0 -108
  123. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-so_XFXVC.js +0 -1
  124. package/dist/gateway/static/root/assets/local-app-workbench-page-Dp1zGjrI.js +0 -2
  125. package/dist/gateway/static/root/assets/messages-CbbZKEfO.js +0 -3
  126. package/dist/gateway/static/root/assets/notes-workbench-DpMDd8Sm.js +0 -4
  127. package/dist/gateway/static/root/assets/preview-open-alternatives-Bzi2ia11.js +0 -1
  128. package/dist/gateway/static/root/assets/project-detail-page-D8AglzWN.js +0 -1
  129. package/dist/gateway/static/root/assets/projects-page-D0X6kb12.js +0 -1
  130. package/dist/gateway/static/root/assets/remote-access-hub-MxuXgfuY.js +0 -1
  131. package/dist/gateway/static/root/assets/sessions-page-DGZbtPXx.js +0 -1
  132. package/dist/gateway/static/root/assets/settings-advanced-gate-DLg_9-bb.js +0 -1
  133. package/dist/gateway/static/root/assets/setup-status-panel-D-nQiA7z.js +0 -1
  134. package/dist/gateway/static/root/assets/shares-settings-IDLLIYA5.js +0 -1
  135. package/dist/gateway/static/root/assets/skill-reload-api-C_ivBD5y.js +0 -1
  136. package/dist/gateway/static/root/assets/skills-page-t0eKREk9.js +0 -2
  137. package/dist/gateway/static/root/assets/system-settings-panel-CERY3Drp.js +0 -1
  138. package/dist/gateway/static/root/assets/task-detail-page-CS9BX5BO.js +0 -1
  139. package/dist/gateway/static/root/assets/user-context-page-BvBzRI8P.js +0 -1
  140. package/dist/gateway/static/root/assets/voice-api-key-field-ztq8iQAp.js +0 -1
  141. package/dist/gateway/static/root/assets/workflows-page-XD3Pmm1p.js +0 -5
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{p as i}from"./chunk-KS7C4IRE-BaASWQor.js";import{n as a,r as o}from"./popover-select-BzdnTy3h.js";import{t as s}from"./loader-circle-CifKLtgG.js";import{t as c}from"./cn-JdwAhgNB.js";import{t as l}from"./button-CSEbl4zT.js";import{t as u}from"./messages-CbbZKEfO.js";import{l as d,n as f,r as p,s as m}from"./locale-store-BIOMAhmR.js";import{i as h,o as g}from"./vendor-swr-BIWyz7Rc.js";import{n as _,r as v}from"./gateway-config-swr-l2w9ecXl.js";import{Ec as y,Rs as b,Sa as x,So as S,Ss as C,Vc as w,Xr as T,bo as E,dc as D,ms as O,so as k,xo as A,yo as j}from"./index-CjbvsIPf.js";import{n as ee,r as M,t as te}from"./settings-page-layout-BRQNel6r.js";import{n as ne}from"./settings-loading-skeleton-CdEdSb5L.js";import{n as re,t as ie}from"./use-autosave-D_fuJIDo.js";import{n as N,t as P}from"./tab-completion-input-B-VsxKhC.js";import{t as F}from"./page-tabs-B7dlng5v.js";import{r as ae,t as I}from"./channel-recipient-api-8Uz95P40.js";import{n as oe,t as se}from"./channels-status-swr-NfU9X-P5.js";import{n as L,o as R,t as z}from"./cron-expression-BTNvqkwt.js";import{t as ce}from"./date-picker-wMj_1toq.js";var B=e(t(),1),V=n();function le(){return p(`/api/workspace/heartbeat-md`)}async function ue(){let e=await m(le());return typeof e.payload?.content==`string`?e.payload.content:``}function H(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function de(e){let t=H(e)?e:{},n=H(t.gateway)?t.gateway:{},r=H(n.heartbeat)?n.heartbeat:{},i=r.activeHours,a=H(i)?i:null,o=a&&typeof a.start==`string`&&typeof a.end==`string`&&a.start&&a.end?{start:a.start,end:a.end,timezone:typeof a.timezone==`string`?a.timezone:``}:null;return{enabled:!!(r.enabled??!0),intervalMs:typeof r.intervalMs==`number`&&Number.isFinite(r.intervalMs)?r.intervalMs:18e5,includeSystemPromptSection:r.includeSystemPromptSection===!0,target:typeof r.target==`string`?r.target:``,targetChatId:typeof r.targetChatId==`string`?r.targetChatId:``,prompt:typeof r.prompt==`string`?r.prompt:``,ackMaxChars:typeof r.ackMaxChars==`number`&&Number.isFinite(r.ackMaxChars)?r.ackMaxChars:``,isolatedSession:!!r.isolatedSession,activeHours:o}}function U(e){let t={enabled:e.enabled,intervalMs:e.intervalMs,includeSystemPromptSection:e.includeSystemPromptSection};return e.target.trim()?t.target=e.target.trim():t.target=null,e.targetChatId.trim()?t.targetChatId=e.targetChatId.trim():t.targetChatId=null,e.prompt.trim()?t.prompt=e.prompt.trim():t.prompt=null,e.ackMaxChars===``||e.ackMaxChars===void 0?t.ackMaxChars=null:t.ackMaxChars=e.ackMaxChars,e.isolatedSession?t.isolatedSession=!0:t.isolatedSession=null,e.activeHours?.start?.trim()&&e.activeHours?.end?.trim()?t.activeHours={start:e.activeHours.start.trim(),end:e.activeHours.end.trim(),...e.activeHours.timezone.trim()?{timezone:e.activeHours.timezone.trim()}:{}}:t.activeHours=null,t}async function fe(e){await m(p(`/api/config`),{method:`PATCH`,body:JSON.stringify({gateway:{heartbeat:U(e)}})}),_()}async function pe(e){await m(p(`/api/workspace/heartbeat-md`),{method:`PUT`,body:JSON.stringify({content:e})}),g(le())}async function me(e){await m(p(`/api/heartbeat/trigger`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e?{reason:e}:{})})}var W=r(),he=Array.from({length:60},(e,t)=>t),G=c(A,`min-w-0 shrink text-xs sm:min-w-[7rem] sm:max-w-[11rem]`),ge=c(`h-9 w-14 shrink-0 rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1.5 text-center text-sm tabular-nums text-fg`,j),_e=c(`min-h-[2.5rem] w-full rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 font-mono text-xs text-fg`,j);function K(e){return{...e,intervalMinutesDraft:null,intervalHoursDraft:null}}function q(e){let{intervalMinutesDraft:t,intervalHoursDraft:n,...r}=e;return r}function J(e,t){switch(t.type){case`reset`:return K(t.state);case`replace`:return t.state}}function ve({value:e,onChange:t,labels:n,disabled:r,showHeading:i=!0}){let s=(0,B.useMemo)(()=>L(e),[e]),[l,u]=(0,B.useReducer)(J,s,K),d=(0,B.useRef)(e);d.current!==e&&(d.current=e,u({type:`reset`,state:s}));let f=(0,B.useCallback)(e=>{let n={...l,...e};u({type:`replace`,state:n});let r=q(n),i=q(l);Object.keys(r).some(e=>r[e]!==i[e])&&t(z(r))},[t,l]),{mode:p,intervalKind:m,onceDate:h,intervalMinutes:g,intervalHours:_,minute:v,hour:y,weekDays:b,dayOfMonth:x,rawCron:S,intervalMinutesDraft:C,intervalHoursDraft:w}=l,T=`${String(y).padStart(2,`0`)}:${String(v).padStart(2,`0`)}`,E=e=>{if(!e)return;let[t,n]=e.split(`:`).map(e=>parseInt(e,10));Number.isNaN(t)||Number.isNaN(n)||f({minute:n,hour:t})},D=(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-nowrap items-center gap-2 overflow-x-auto pb-0.5`,children:[(0,W.jsxs)(a,{className:G,disabled:r,value:p,onChange:e=>{let t=e.target.value;f({mode:t})},"aria-label":n.scheduleTimeLabel,children:[(0,W.jsx)(o,{value:`no_repeat`,children:n.modeNoRepeat}),(0,W.jsx)(o,{value:`interval`,children:n.modeInterval}),(0,W.jsx)(o,{value:`hourly`,children:n.modeHourly}),(0,W.jsx)(o,{value:`daily`,children:n.modeDaily}),(0,W.jsx)(o,{value:`weekly`,children:n.modeWeekly}),(0,W.jsx)(o,{value:`monthly`,children:n.modeMonthly}),(0,W.jsx)(o,{value:`custom`,children:n.modeCustom})]}),p===`no_repeat`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ce,{disabled:r,className:`h-9 min-w-[9.5rem] shrink-0 bg-surface-panel px-2`,value:h,onChange:e=>f({onceDate:e}),ariaLabel:n.modeNoRepeat}),(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel})]}),p===`interval`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(a,{className:c(G,`w-auto min-w-[5rem]`),disabled:r,value:m,onChange:e=>{let t=e.target.value;f({intervalKind:t,intervalMinutesDraft:null,intervalHoursDraft:null})},"aria-label":n.modeInterval,children:[(0,W.jsx)(o,{value:`minutes`,children:n.intervalKindMinutes}),(0,W.jsx)(o,{value:`hours`,children:n.intervalKindHours})]}),m===`minutes`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`input`,{type:`number`,min:1,max:59,disabled:r,className:ge,value:C??String(g),onChange:e=>{let t=e.target.value,n=parseInt(t,10),r={intervalMinutesDraft:t};Number.isFinite(n)&&n>=1&&n<=59&&(r.intervalMinutes=n),f(r)},onBlur:()=>{if(C===null)return;let e=parseInt(C,10);f({intervalMinutes:!Number.isFinite(e)||e<1?5:Math.min(59,Math.max(1,Math.round(e))),intervalMinutesDraft:null})},"aria-label":n.intervalMinutes}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`input`,{type:`number`,min:1,max:23,disabled:r,className:ge,value:w??String(_),onChange:e=>{let t=e.target.value,n=parseInt(t,10),r={intervalHoursDraft:t};Number.isFinite(n)&&n>=1&&n<=23&&(r.intervalHours=n),f(r)},onBlur:()=>{if(w===null)return;let e=parseInt(w,10);f({intervalHours:!Number.isFinite(e)||e<1?2:Math.min(23,Math.max(1,Math.round(e))),intervalHoursDraft:null})},"aria-label":n.intervalHours}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.hourUnit}),(0,W.jsx)(a,{className:c(G,`w-auto min-w-[4rem]`),disabled:r,value:v,onChange:e=>{f({minute:parseInt(e.target.value,10)})},"aria-label":n.minuteAtHour,children:he.map(e=>(0,W.jsx)(o,{value:e,children:String(e).padStart(2,`0`)},e))}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]})]}),p===`daily`&&(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel}),p===`weekly`&&(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel}),p===`monthly`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(a,{className:c(G,`w-auto min-w-[4.5rem]`),disabled:r,value:x,onChange:e=>{f({dayOfMonth:parseInt(e.target.value,10)})},"aria-label":n.dayOfMonth,children:Array.from({length:31},(e,t)=>t+1).map(e=>(0,W.jsx)(o,{value:e,children:e},e))}),(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel})]}),p===`hourly`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(a,{className:c(G,`w-auto min-w-[4rem]`),disabled:r,value:v,onChange:e=>{f({minute:parseInt(e.target.value,10)})},"aria-label":n.minuteAtHour,children:he.map(e=>(0,W.jsx)(o,{value:e,children:String(e).padStart(2,`0`)},e))}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]})]}),O=p===`weekly`?(0,W.jsx)(`div`,{className:`flex flex-wrap gap-1.5 pt-1`,role:`group`,"aria-label":n.modeWeekly,children:n.weekdays.map((e,t)=>{let n=b[t];return(0,W.jsx)(`button`,{type:`button`,disabled:r,className:c(`flex size-9 select-none items-center justify-center rounded-full border text-xs font-medium transition-colors`,n?`border-fg bg-fg text-surface-panel`:`border-edge-subtle bg-surface-panel text-fg hover:border-edge`),"aria-pressed":n,onClick:()=>{let e=[...b];e[t]=!e[t],f({weekDays:e})},children:e},e)})}):null,k=p===`custom`?(0,W.jsxs)(`div`,{className:`pt-1`,children:[(0,W.jsx)(N,{disabled:r,className:_e,rows:2,spellCheck:!1,value:S,suggestion:`*/5 * * * *`,onAcceptSuggestion:e=>f({rawCron:e}),placeholder:`*/5 * * * *`,onChange:e=>{f({rawCron:e.target.value})},"aria-label":n.modeCustom}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:n.customCronHint})]}):null;return(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i?(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:n.scheduleTimeLabel}):null,D,O,k]})}var Y=[3e4,6e4,3e5,6e5,9e5,18e5,36e5,72e5];new Set(Y);var X=c(`h-9 min-w-0 flex-1 rounded-lg border border-edge-subtle bg-surface-panel px-2.5 py-1.5 text-sm tabular-nums text-fg`,j),ye=c(A,`h-9 max-w-[11rem] shrink-0 text-xs sm:max-w-[12rem]`);function be(e,t){switch(e){case 3e4:return t.every30s;case 6e4:return t.every1min;case 3e5:return t.every5min;case 6e5:return t.every10min;case 9e5:return t.every15min;case 18e5:return t.every30min;case 36e5:return t.every1h;case 72e5:return t.every2h;default:return String(e)}}function xe({valueMs:e,onChangeMs:t,labels:n,disabled:r,presets:i=Y,minSeconds:s=1}){let c=(0,B.useMemo)(()=>new Set(i),[i]),l=(0,B.useMemo)(()=>c.has(e)?String(e):``,[c,e]),[u,d]=(0,B.useState)(null),f=(0,B.useRef)(e);f.current!==e&&(f.current=e,d(null));let p=Math.max(s,Math.round(e/1e3)),m=u===null?String(p):u;return(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:n.secondsLabel}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(`input`,{type:`number`,min:s,step:1,disabled:r,className:X,value:m,onChange:e=>{let n=e.target.value;d(n);let r=parseInt(n,10);Number.isFinite(r)&&r>=s&&t(r*1e3)},onBlur:()=>{if(u===null)return;let e=parseInt(u,10);t(!Number.isFinite(e)||e<s?s*1e3:e*1e3),d(null)}}),(0,W.jsxs)(a,{className:ye,disabled:r,value:l,onChange:e=>{let n=e.target.value;n&&(t(parseInt(n,10)),d(null))},children:[(0,W.jsx)(o,{value:``,children:n.presets.custom}),i.map(e=>(0,W.jsx)(o,{value:String(e),children:be(e,n.presets)},e))]})]})]})}var Se=c(`mt-1 w-full rounded-lg border border-edge-subtle bg-surface-panel px-2.5 py-1.5 text-sm text-fg`,j),Z=()=>({start:`09:00`,end:`22:00`,timezone:``});function Ce(e){let t=(0,V.c)(61),{value:n,onChange:r,labels:i,disabled:a}=e;if(!n){let e;t[0]===r?e=t[1]:(e=()=>r(Z()),t[0]=r,t[1]=e);let n;return t[2]!==a||t[3]!==i.add||t[4]!==e?(n=(0,W.jsx)(l,{type:`button`,variant:`secondary`,className:`text-sm`,disabled:a,onClick:e,children:i.add}),t[2]=a,t[3]=i.add,t[4]=e,t[5]=n):n=t[5],n}let o;t[6]===i.start?o=t[7]:(o=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.start}),t[6]=i.start,t[7]=o);let s;t[8]!==r||t[9]!==n?(s=e=>r({...n,start:e}),t[8]=r,t[9]=n,t[10]=s):s=t[10];let c;t[11]!==a||t[12]!==i.start||t[13]!==s||t[14]!==n.start?(c=(0,W.jsx)(R,{disabled:a,className:`mt-1 w-full`,triggerClassName:`h-9 border-edge-subtle px-2.5`,value:n.start,onChange:s,ariaLabel:i.start}),t[11]=a,t[12]=i.start,t[13]=s,t[14]=n.start,t[15]=c):c=t[15];let u;t[16]!==o||t[17]!==c?(u=(0,W.jsxs)(`label`,{className:`block min-w-0`,children:[o,c]}),t[16]=o,t[17]=c,t[18]=u):u=t[18];let d;t[19]===i.end?d=t[20]:(d=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.end}),t[19]=i.end,t[20]=d);let f;t[21]!==r||t[22]!==n?(f=e=>r({...n,end:e}),t[21]=r,t[22]=n,t[23]=f):f=t[23];let p;t[24]!==a||t[25]!==i.end||t[26]!==f||t[27]!==n.end?(p=(0,W.jsx)(R,{disabled:a,className:`mt-1 w-full`,triggerClassName:`h-9 border-edge-subtle px-2.5`,value:n.end,onChange:f,ariaLabel:i.end}),t[24]=a,t[25]=i.end,t[26]=f,t[27]=n.end,t[28]=p):p=t[28];let m;t[29]!==d||t[30]!==p?(m=(0,W.jsxs)(`label`,{className:`block min-w-0`,children:[d,p]}),t[29]=d,t[30]=p,t[31]=m):m=t[31];let h;t[32]===i.timezone?h=t[33]:(h=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.timezone}),t[32]=i.timezone,t[33]=h);let g;t[34]!==r||t[35]!==n?(g=e=>r({...n,timezone:e.target.value}),t[34]=r,t[35]=n,t[36]=g):g=t[36];let _;t[37]!==r||t[38]!==n?(_=e=>r({...n,timezone:e}),t[37]=r,t[38]=n,t[39]=_):_=t[39];let v;t[40]!==a||t[41]!==g||t[42]!==_||t[43]!==n.timezone?(v=(0,W.jsx)(P,{type:`text`,disabled:a,className:Se,value:n.timezone,onChange:g,suggestion:`Asia/Shanghai`,onAcceptSuggestion:_,placeholder:`Asia/Shanghai`,autoComplete:`off`}),t[40]=a,t[41]=g,t[42]=_,t[43]=n.timezone,t[44]=v):v=t[44];let y;t[45]!==v||t[46]!==h?(y=(0,W.jsxs)(`label`,{className:`block min-w-0`,children:[h,v]}),t[45]=v,t[46]=h,t[47]=y):y=t[47];let b;t[48]!==y||t[49]!==u||t[50]!==m?(b=(0,W.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-3`,children:[u,m,y]}),t[48]=y,t[49]=u,t[50]=m,t[51]=b):b=t[51];let x;t[52]===r?x=t[53]:(x=()=>r(null),t[52]=r,t[53]=x);let S;t[54]!==a||t[55]!==i.clear||t[56]!==x?(S=(0,W.jsx)(l,{type:`button`,variant:`secondary`,className:`text-xs`,disabled:a,onClick:x,children:i.clear}),t[54]=a,t[55]=i.clear,t[56]=x,t[57]=S):S=t[57];let C;return t[58]!==b||t[59]!==S?(C=(0,W.jsxs)(`div`,{className:`space-y-2`,children:[b,S]}),t[58]=b,t[59]=S,t[60]=C):C=t[60],C}function Q(e){let t=(0,V.c)(34),{disabled:n,label:r,hint:i,className:a}=e,o;t[0]===a?o=t[1]:(o=c(`flex flex-col gap-2`,a),t[0]=a,t[1]=o);let s;t[2]===r?s=t[3]:(s=r?(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r}):null,t[2]=r,t[3]=s);let l;t[4]!==n||t[5]!==r||t[6]!==e.kind||t[7]!==e.labels||t[8]!==e.onChange||t[9]!==e.value?(l=e.kind===`cron`?(0,W.jsx)(ve,{value:e.value,onChange:e.onChange,labels:e.labels,disabled:n,showHeading:!r}):null,t[4]=n,t[5]=r,t[6]=e.kind,t[7]=e.labels,t[8]=e.onChange,t[9]=e.value,t[10]=l):l=t[10];let u;t[11]!==n||t[12]!==e.kind||t[13]!==e.labels||t[14]!==e.minSeconds||t[15]!==e.onChangeMs||t[16]!==e.presets||t[17]!==e.valueMs?(u=e.kind===`interval`?(0,W.jsx)(xe,{valueMs:e.valueMs,onChangeMs:e.onChangeMs,labels:e.labels,disabled:n,presets:e.presets??Y,minSeconds:e.minSeconds}):null,t[11]=n,t[12]=e.kind,t[13]=e.labels,t[14]=e.minSeconds,t[15]=e.onChangeMs,t[16]=e.presets,t[17]=e.valueMs,t[18]=u):u=t[18];let d;t[19]!==n||t[20]!==e.kind||t[21]!==e.labels||t[22]!==e.onChange||t[23]!==e.value?(d=e.kind===`active-hours`?(0,W.jsx)(Ce,{value:e.value,onChange:e.onChange,labels:e.labels,disabled:n}):null,t[19]=n,t[20]=e.kind,t[21]=e.labels,t[22]=e.onChange,t[23]=e.value,t[24]=d):d=t[24];let f;t[25]===i?f=t[26]:(f=i?(0,W.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:i}):null,t[25]=i,t[26]=f);let p;return t[27]!==o||t[28]!==s||t[29]!==l||t[30]!==u||t[31]!==d||t[32]!==f?(p=(0,W.jsxs)(`div`,{className:o,children:[s,l,u,d,f]}),t[27]=o,t[28]=s,t[29]=l,t[30]=u,t[31]=d,t[32]=f,t[33]=p):p=t[33],p}function we(){return c(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,S,`dark:border-edge`)}function Te(){return c(A,E)}var Ee=[`schedule`,`delivery`,`prompt`,`document`],De={schedule:w,delivery:b,prompt:D,document:y};function Oe(e){return e&&Ee.includes(e)?e:`schedule`}function ke(e,t){return t===`schedule`?e.tabSchedule:t===`delivery`?e.tabDelivery:t===`prompt`?e.tabPrompt:e.tabDocument}function Ae(e,t){return t===`schedule`?e.scheduleTabHint:t===`delivery`?e.deliveryTabHint:t===`prompt`?e.promptTabHint:e.documentTabHint}function je(e,t){switch(t.type){case`reset`:return{form:null,baseline:null};case`sync`:{let e=structuredClone(t.value);return{form:e,baseline:structuredClone(e)}}case`patch`:return{...e,form:e.form?{...e.form,...t.patch}:null};case`saved`:{let n=structuredClone(t.value);return{form:e.form&&JSON.stringify(e.form)!==JSON.stringify(t.value)?e.form:n,baseline:structuredClone(n)}}}}function Me(e,t){switch(t.type){case`reset`:return{doc:``,baseline:``};case`sync`:return{doc:t.value,baseline:t.value};case`set`:return{...e,doc:t.value};case`saved`:return{doc:e.doc===t.value?t.value:e.doc,baseline:t.value}}}function Ne(e){if(!e||typeof e!=`object`||Array.isArray(e))return``;let t=e.agents;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t;if(!Array.isArray(n.list))return``;let r=typeof n.default==`string`?n.default:``,i=n.list.find(e=>!e||typeof e!=`object`||Array.isArray(e)?!1:r?e.id===r:!0)??n.list[0];if(!i||typeof i!=`object`||Array.isArray(i))return``;let a=i.workspace;if(!a||typeof a!=`object`||Array.isArray(a))return``;let o=a.root;return typeof o==`string`?o:``}var Pe={triggerLoading:!1,triggerOk:!1,triggerError:null};function Fe(){let e=f(e=>e.language),t=u(e),n=t.heartbeatSettings,r=!!d(e=>e.token),[a,o]=i(),p=Oe(a.get(`tab`)),m=(0,B.useCallback)(e=>{o(t=>{let n=new URLSearchParams(t);return e===`schedule`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},[o]),[g,_]=(0,B.useReducer)(je,{form:null,baseline:null}),y=g.form,b=g.baseline,[S,w]=(0,B.useReducer)(Me,{doc:``,baseline:``}),E=S.doc,D=S.baseline,[O,A]=(0,B.useReducer)(T,Pe),{triggerLoading:j,triggerOk:te,triggerError:N}=O,P=(0,B.useRef)(!1),F=(0,B.useRef)(!1),I=(0,B.useRef)(y),L=(0,B.useRef)(E);I.current=y,L.current=E;let{data:R,error:z,isLoading:ce,mutate:V}=v(r),{data:H,error:U,isLoading:he,mutate:G}=h(r?le():null,ue,{revalidateOnFocus:!1}),{data:ge=[]}=h(r?se():null,oe,{revalidateOnFocus:!1}),_e=(0,B.useMemo)(()=>Ne(R?.payload?.config),[R]),K=(0,B.useMemo)(()=>de(R?.payload?.config??{}),[R]),q=(0,B.useMemo)(()=>!y||!b?!1:JSON.stringify(y)!==JSON.stringify(b),[y,b]),J=E!==D;(0,B.useEffect)(()=>{if(!r){_({type:`reset`}),P.current=!1;return}R!==void 0&&(P.current||_({type:`sync`,value:K}))},[r,R,K]),(0,B.useEffect)(()=>{if(!r){w({type:`reset`}),F.current=!1;return}H!==void 0&&(F.current||w({type:`sync`,value:H}))},[r,H]);let ve=z instanceof Error?z.message:z?String(z):U instanceof Error?U.message:U?String(U):null,Y=!!(r&&(R===void 0||H===void 0)&&!ve&&(ce||he)),X=y?.target.trim()??``,{data:ye,setData:be}=x(()=>ae(X),[r,X],{enabled:r&&X.length>0,initial:[],errorData:[]}),xe=(0,B.useCallback)(()=>{X&&ae(X).then(be)},[X,be]),Se=(0,B.useCallback)(async()=>{A({type:`patch`,patch:{triggerLoading:!0,triggerOk:!1,triggerError:null}});try{await me(),A({type:`patch`,patch:{triggerOk:!0}}),window.setTimeout(()=>A({type:`patch`,patch:{triggerOk:!1}}),3e3)}catch(e){A({type:`patch`,patch:{triggerError:e instanceof Error?e.message:n.triggerError}})}finally{A({type:`patch`,patch:{triggerLoading:!1}})}},[n.triggerError]),Z=(0,B.useCallback)(e=>{P.current=!0,_({type:`patch`,patch:e})},[]),Ce=q||J,Q=ie({value:(0,B.useMemo)(()=>y?{form:y,doc:E,saveConfig:q,saveDoc:J}:null,[q,J,E,y]),dirty:Ce,onSave:(0,B.useCallback)(async e=>{try{e.saveConfig&&(await fe(e.form),_({type:`saved`,value:e.form}),P.current=!!(I.current&&JSON.stringify(I.current)!==JSON.stringify(e.form))),e.saveDoc&&(await pe(e.doc),w({type:`saved`,value:e.doc}),F.current=L.current!==e.doc)}catch(t){throw Error(t instanceof Error?t.message:e.saveConfig?n.saveConfigError:n.saveDocError)}},[n.saveConfigError,n.saveDocError]),delayMs:J?900:500});return r?Y?(0,W.jsx)(M,{gap:`gap-6`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:(0,W.jsx)(ne,{sections:3})}):y?(0,W.jsxs)(M,{"aria-busy":Q.status===`saving`,"data-has-baseline":b?`1`:`0`,onBlurCapture:Q.onBlurCapture,children:[(0,W.jsx)(ee,{title:t.settingsSections.heartbeat,subtitle:n.subtitle,docsLink:k(e,`heartbeat`),docsLabel:n.docsLink,actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(re,{status:Q.status,error:Q.error}),(0,W.jsxs)(l,{type:`button`,variant:`secondary`,className:`inline-flex items-center gap-2`,disabled:j,onClick:()=>void Se(),children:[j?(0,W.jsx)(s,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,W.jsx)(C,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),j?n.triggering:n.triggerNow]}),te?(0,W.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.triggered}):null]})}),_e?(0,W.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[n.workspaceLabel,`: `,(0,W.jsx)(`span`,{className:`font-mono text-fg-muted`,children:_e})]}):null,Q.error?(0,W.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:Q.error}):null,N?(0,W.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:N}):null,(0,W.jsx)(Ie,{h:n,activeTab:p,onChange:m}),(0,W.jsx)($,{h:n,id:`schedule`,activeTab:p,children:(0,W.jsx)(Le,{h:n,form:y,update:Z})}),(0,W.jsx)($,{h:n,id:`delivery`,activeTab:p,children:(0,W.jsx)(Re,{h:n,cron:t.cron,form:y,channels:ge,sessionChatIds:ye,onRefreshChatIds:xe,update:Z,inputClassName:we,selectClassName:Te})}),(0,W.jsx)($,{h:n,id:`prompt`,activeTab:p,children:(0,W.jsx)(Ve,{h:n,form:y,update:Z,inputClassName:we})}),(0,W.jsxs)($,{h:n,id:`document`,activeTab:p,children:[(0,W.jsx)(`p`,{className:`mb-3 text-xs text-fg-subtle`,children:n.docHint}),(0,W.jsx)(`textarea`,{className:c(we(),`min-h-72 resize-y font-mono text-xs leading-relaxed`),value:E,onChange:e=>{F.current=!0,w({type:`set`,value:e.target.value})},spellCheck:!1,"aria-label":n.docSection,"data-doc-in-sync":E===D?`true`:`false`})]})]}):(0,W.jsxs)(M,{gap:`gap-3`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:[(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:ve??n.loadError}),(0,W.jsx)(l,{type:`button`,variant:`secondary`,onClick:()=>{V(),G()},children:n.retry})]}):(0,W.jsxs)(M,{gap:`gap-3`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:[(0,W.jsx)(ee,{title:t.settingsSections.heartbeat}),(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})]})}function Ie(e){let t=(0,V.c)(7),{h:n,activeTab:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=Ee.map(e=>({id:e,label:ke(n,e),icon:De[e]})),t[0]=n,t[1]=a);let o=a,s;return t[2]!==r||t[3]!==n.tabsAriaLabel||t[4]!==o||t[5]!==i?(s=(0,W.jsx)(F,{items:o,activeTab:r,onChange:i,ariaLabel:n.tabsAriaLabel,tabIdPrefix:`heartbeat-settings-tab`,panelIdPrefix:`heartbeat-settings-panel`}),t[2]=r,t[3]=n.tabsAriaLabel,t[4]=o,t[5]=i,t[6]=s):s=t[6],s}function $(e){let t=(0,V.c)(14),{h:n,id:r,activeTab:i,children:a}=e,o;t[0]!==n||t[1]!==r?(o=ke(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let s;t[3]!==n||t[4]!==r?(s=Ae(n,r),t[3]=n,t[4]=r,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=(0,W.jsx)(`div`,{className:`space-y-4`,children:a}),t[6]=a,t[7]=c);let l;return t[8]!==i||t[9]!==r||t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,W.jsx)(te,{id:r,activeTab:i,tabIdPrefix:`heartbeat-settings-tab`,panelIdPrefix:`heartbeat-settings-panel`,title:o,hint:s,children:c}),t[8]=i,t[9]=r,t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}function Le(e){let t=(0,V.c)(37),{h:n,form:r,update:i}=e,a;t[0]===i?a=t[1]:(a=e=>i({enabled:e.target.checked}),t[0]=i,t[1]=a);let o;t[2]!==r.enabled||t[3]!==a?(o=(0,W.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:r.enabled,onChange:a}),t[2]=r.enabled,t[3]=a,t[4]=o):o=t[4];let s;t[5]!==n.enable||t[6]!==o?(s=(0,W.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[o,n.enable]}),t[5]=n.enable,t[6]=o,t[7]=s):s=t[7];let c;t[8]===i?c=t[9]:(c=e=>i({intervalMs:e}),t[8]=i,t[9]=c);let l;t[10]!==n.intervalPresets||t[11]!==n.intervalSecondsLabel?(l={secondsLabel:n.intervalSecondsLabel,presets:n.intervalPresets},t[10]=n.intervalPresets,t[11]=n.intervalSecondsLabel,t[12]=l):l=t[12];let u=`${n.intervalHintPreset} ${n.intervalHint}`,d;t[13]!==r.intervalMs||t[14]!==n.interval||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,W.jsx)(Q,{kind:`interval`,label:n.interval,valueMs:r.intervalMs,onChangeMs:c,labels:l,hint:u}),t[13]=r.intervalMs,t[14]=n.interval,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]===i?f=t[20]:(f=e=>i({activeHours:e}),t[19]=i,t[20]=f);let p;t[21]!==n.activeEnd||t[22]!==n.activeStart||t[23]!==n.activeTimezone||t[24]!==n.addActiveHours||t[25]!==n.clearActiveHours?(p={start:n.activeStart,end:n.activeEnd,timezone:n.activeTimezone,add:n.addActiveHours,clear:n.clearActiveHours},t[21]=n.activeEnd,t[22]=n.activeStart,t[23]=n.activeTimezone,t[24]=n.addActiveHours,t[25]=n.clearActiveHours,t[26]=p):p=t[26];let m;t[27]!==r.activeHours||t[28]!==n.activeHoursHint||t[29]!==n.activeHoursTitle||t[30]!==f||t[31]!==p?(m=(0,W.jsx)(Q,{kind:`active-hours`,label:n.activeHoursTitle,value:r.activeHours,onChange:f,labels:p,hint:n.activeHoursHint}),t[27]=r.activeHours,t[28]=n.activeHoursHint,t[29]=n.activeHoursTitle,t[30]=f,t[31]=p,t[32]=m):m=t[32];let h;return t[33]!==m||t[34]!==s||t[35]!==d?(h=(0,W.jsxs)(W.Fragment,{children:[s,d,m]}),t[33]=m,t[34]=s,t[35]=d,t[36]=h):h=t[36],h}function Re(e){let t=(0,V.c)(51),{h:n,cron:r,form:i,channels:s,sessionChatIds:u,onRefreshChatIds:d,update:f,inputClassName:p,selectClassName:m}=e,h;t[0]===s?h=t[1]:(h=new Set(s.map(Be)),t[0]=s,t[1]=h);let g=h,_;t[2]===i.target?_=t[3]:(_=i.target.trim(),t[2]=i.target,t[3]=_);let v=_,y=!!(v&&!g.has(v)),b;t[4]===n.deliveryHint?b=t[5]:(b=(0,W.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.deliveryHint}),t[4]=n.deliveryHint,t[5]=b);let x;t[6]===r.channel?x=t[7]:(x=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.channel}),t[6]=r.channel,t[7]=x);let S;t[8]===m?S=t[9]:(S=m(),t[8]=m,t[9]=S);let C;t[10]===f?C=t[11]:(C=e=>{f({target:e.target.value.trim(),targetChatId:``})},t[10]=f,t[11]=C);let w;t[12]===n.channelNone?w=t[13]:(w=(0,W.jsx)(o,{value:``,children:n.channelNone}),t[12]=n.channelNone,t[13]=w);let T;t[14]!==n.customChannelSuffix||t[15]!==y||t[16]!==v?(T=y?(0,W.jsxs)(o,{value:v,children:[v,` (`,n.customChannelSuffix,`)`]}):null,t[14]=n.customChannelSuffix,t[15]=y,t[16]=v,t[17]=T):T=t[17];let E;t[18]===s?E=t[19]:(E=s.map(ze),t[18]=s,t[19]=E);let D;t[20]!==S||t[21]!==C||t[22]!==w||t[23]!==T||t[24]!==E||t[25]!==v?(D=(0,W.jsxs)(a,{className:S,value:v,onChange:C,children:[w,T,E]}),t[20]=S,t[21]=C,t[22]=w,t[23]=T,t[24]=E,t[25]=v,t[26]=D):D=t[26];let k;t[27]!==D||t[28]!==x?(k=(0,W.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[x,D]}),t[27]=D,t[28]=x,t[29]=k):k=t[29];let A;t[30]!==r.enterManuallyOrSelect||t[31]!==r.lastActiveLabels||t[32]!==r.noRecentChats||t[33]!==r.noRecentChatsOption||t[34]!==r.recipient||t[35]!==r.recipientPlaceholder||t[36]!==r.refreshList||t[37]!==r.refreshRecipientHint||t[38]!==r.selectRecipient||t[39]!==i.targetChatId||t[40]!==p||t[41]!==d||t[42]!==m||t[43]!==u||t[44]!==v||t[45]!==f?(A=v?(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.recipient}),(0,W.jsxs)(l,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:r.refreshRecipientHint,onClick:d,children:[(0,W.jsx)(O,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),r.refreshList]})]}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(`input`,{type:`text`,className:c(p(),`min-w-0 flex-1`),value:i.targetChatId,onChange:e=>f({targetChatId:e.target.value}),placeholder:r.recipientPlaceholder,autoComplete:`off`}),(0,W.jsxs)(a,{className:c(m(),`max-w-40 shrink-0 text-xs`),value:i.targetChatId,onChange:e=>{let t=e.target.value;t&&f({targetChatId:t})},children:[(0,W.jsx)(o,{value:``,children:r.selectRecipient}),u.length>0?u.map(e=>(0,W.jsx)(o,{value:e.chatId,children:I(e,r.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,W.jsx)(o,{value:``,disabled:!0,children:r.noRecentChatsOption})]})]}),(0,W.jsx)(`p`,{className:`text-xs text-fg-muted`,children:u.length>0?r.enterManuallyOrSelect:r.noRecentChats})]}):null,t[30]=r.enterManuallyOrSelect,t[31]=r.lastActiveLabels,t[32]=r.noRecentChats,t[33]=r.noRecentChatsOption,t[34]=r.recipient,t[35]=r.recipientPlaceholder,t[36]=r.refreshList,t[37]=r.refreshRecipientHint,t[38]=r.selectRecipient,t[39]=i.targetChatId,t[40]=p,t[41]=d,t[42]=m,t[43]=u,t[44]=v,t[45]=f,t[46]=A):A=t[46];let j;return t[47]!==k||t[48]!==A||t[49]!==b?(j=(0,W.jsxs)(W.Fragment,{children:[b,k,A]}),t[47]=k,t[48]=A,t[49]=b,t[50]=j):j=t[50],j}function ze(e){return(0,W.jsxs)(o,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function Be(e){return e.name}function Ve(e){let t=(0,V.c)(65),{h:n,form:r,update:i,inputClassName:a}=e,o;t[0]===i?o=t[1]:(o=e=>i({includeSystemPromptSection:e.target.checked}),t[0]=i,t[1]=o);let s;t[2]!==r.includeSystemPromptSection||t[3]!==o?(s=(0,W.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.includeSystemPromptSection,onChange:o}),t[2]=r.includeSystemPromptSection,t[3]=o,t[4]=s):s=t[4];let l;t[5]===n.includeSystemPromptSectionHint?l=t[6]:(l=(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.includeSystemPromptSectionHint}),t[5]=n.includeSystemPromptSectionHint,t[6]=l);let u;t[7]!==n.includeSystemPromptSection||t[8]!==l?(u=(0,W.jsxs)(`span`,{children:[n.includeSystemPromptSection,l]}),t[7]=n.includeSystemPromptSection,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==s||t[11]!==u?(d=(0,W.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.prompt?f=t[14]:(f=(0,W.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.prompt}),t[13]=n.prompt,t[14]=f);let p;t[15]===a?p=t[16]:(p=c(a(),`min-h-36 resize-y font-mono text-xs`),t[15]=a,t[16]=p);let m;t[17]===i?m=t[18]:(m=e=>i({prompt:e.target.value}),t[17]=i,t[18]=m);let h;t[19]!==r.prompt||t[20]!==n.promptPlaceholder||t[21]!==p||t[22]!==m?(h=(0,W.jsx)(`textarea`,{className:p,value:r.prompt,onChange:m,placeholder:n.promptPlaceholder}),t[19]=r.prompt,t[20]=n.promptPlaceholder,t[21]=p,t[22]=m,t[23]=h):h=t[23];let g;t[24]===n.promptHint?g=t[25]:(g=(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.promptHint}),t[24]=n.promptHint,t[25]=g);let _;t[26]!==g||t[27]!==f||t[28]!==h?(_=(0,W.jsxs)(`div`,{children:[f,h,g]}),t[26]=g,t[27]=f,t[28]=h,t[29]=_):_=t[29];let v;t[30]===n.ackMaxChars?v=t[31]:(v=(0,W.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.ackMaxChars}),t[30]=n.ackMaxChars,t[31]=v);let y;t[32]===a?y=t[33]:(y=a(),t[32]=a,t[33]=y);let b=r.ackMaxChars===``?``:r.ackMaxChars,x;t[34]===i?x=t[35]:(x=e=>{let t=e.target.value;if(t===``){i({ackMaxChars:``});return}let n=parseInt(t,10);i({ackMaxChars:Number.isFinite(n)?n:``})},t[34]=i,t[35]=x);let S;t[36]!==n.ackDefaultPlaceholder||t[37]!==y||t[38]!==b||t[39]!==x?(S=(0,W.jsx)(`input`,{type:`number`,min:1,className:y,value:b,onChange:x,placeholder:n.ackDefaultPlaceholder}),t[36]=n.ackDefaultPlaceholder,t[37]=y,t[38]=b,t[39]=x,t[40]=S):S=t[40];let C;t[41]===n.ackMaxCharsHint?C=t[42]:(C=(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.ackMaxCharsHint}),t[41]=n.ackMaxCharsHint,t[42]=C);let w;t[43]!==v||t[44]!==S||t[45]!==C?(w=(0,W.jsxs)(`div`,{children:[v,S,C]}),t[43]=v,t[44]=S,t[45]=C,t[46]=w):w=t[46];let T;t[47]===i?T=t[48]:(T=e=>i({isolatedSession:e.target.checked}),t[47]=i,t[48]=T);let E;t[49]!==r.isolatedSession||t[50]!==T?(E=(0,W.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.isolatedSession,onChange:T}),t[49]=r.isolatedSession,t[50]=T,t[51]=E):E=t[51];let D;t[52]===n.isolatedSessionHint?D=t[53]:(D=(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.isolatedSessionHint}),t[52]=n.isolatedSessionHint,t[53]=D);let O;t[54]!==n.isolatedSession||t[55]!==D?(O=(0,W.jsxs)(`span`,{children:[n.isolatedSession,D]}),t[54]=n.isolatedSession,t[55]=D,t[56]=O):O=t[56];let k;t[57]!==E||t[58]!==O?(k=(0,W.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[E,O]}),t[57]=E,t[58]=O,t[59]=k):k=t[59];let A;return t[60]!==_||t[61]!==w||t[62]!==k||t[63]!==d?(A=(0,W.jsxs)(W.Fragment,{children:[d,_,w,k]}),t[60]=_,t[61]=w,t[62]=k,t[63]=d,t[64]=A):A=t[64],A}export{Fe as HeartbeatSettingsPanel};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{p as i}from"./chunk-KS7C4IRE-BaASWQor.js";import{n as a,r as o}from"./popover-select-BzdnTy3h.js";import{t as s}from"./loader-circle-CifKLtgG.js";import{t as c}from"./cn-JdwAhgNB.js";import{t as l}from"./button-CSEbl4zT.js";import{t as u}from"./messages-VI9m1xJl.js";import{l as d,n as f,r as p,s as m}from"./locale-store-De8wYkd7.js";import{i as h,o as g}from"./vendor-swr-BIWyz7Rc.js";import{n as _,r as v}from"./gateway-config-swr-BTH9HVUk.js";import{$o as y,Ai as b,Bo as x,Qo as S,Wc as C,_c as w,al as T,bl as E,es as D,no as O,qs as k,tc as A,ts as j}from"./index-CMLkr37Y.js";import{n as ee,r as M,t as te}from"./settings-page-layout-BRQNel6r.js";import{n as ne}from"./settings-loading-skeleton-xgo41cfo.js";import{n as re,t as ie}from"./use-autosave-CqFVx92z.js";import{n as N,t as P}from"./tab-completion-input-B-VsxKhC.js";import{t as F}from"./page-tabs-e99j9S9K.js";import{r as ae,t as I}from"./channel-recipient-api-CUBTQ0Bz.js";import{n as oe,t as se}from"./channels-status-swr-CiwOOoVL.js";import{n as L,o as R,t as z}from"./cron-expression-XzPZhzVM.js";import{t as ce}from"./date-picker-BmZjs4Bq.js";var B=e(t(),1),V=n();function le(){return p(`/api/workspace/heartbeat-md`)}async function ue(){let e=await m(le());return typeof e.payload?.content==`string`?e.payload.content:``}function H(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function de(e){let t=H(e)?e:{},n=H(t.gateway)?t.gateway:{},r=H(n.heartbeat)?n.heartbeat:{},i=r.activeHours,a=H(i)?i:null,o=a&&typeof a.start==`string`&&typeof a.end==`string`&&a.start&&a.end?{start:a.start,end:a.end,timezone:typeof a.timezone==`string`?a.timezone:``}:null;return{enabled:!!(r.enabled??!0),intervalMs:typeof r.intervalMs==`number`&&Number.isFinite(r.intervalMs)?r.intervalMs:18e5,includeSystemPromptSection:r.includeSystemPromptSection===!0,target:typeof r.target==`string`?r.target:``,targetChatId:typeof r.targetChatId==`string`?r.targetChatId:``,prompt:typeof r.prompt==`string`?r.prompt:``,ackMaxChars:typeof r.ackMaxChars==`number`&&Number.isFinite(r.ackMaxChars)?r.ackMaxChars:``,isolatedSession:!!r.isolatedSession,activeHours:o}}function U(e){let t={enabled:e.enabled,intervalMs:e.intervalMs,includeSystemPromptSection:e.includeSystemPromptSection};return e.target.trim()?t.target=e.target.trim():t.target=null,e.targetChatId.trim()?t.targetChatId=e.targetChatId.trim():t.targetChatId=null,e.prompt.trim()?t.prompt=e.prompt.trim():t.prompt=null,e.ackMaxChars===``||e.ackMaxChars===void 0?t.ackMaxChars=null:t.ackMaxChars=e.ackMaxChars,e.isolatedSession?t.isolatedSession=!0:t.isolatedSession=null,e.activeHours?.start?.trim()&&e.activeHours?.end?.trim()?t.activeHours={start:e.activeHours.start.trim(),end:e.activeHours.end.trim(),...e.activeHours.timezone.trim()?{timezone:e.activeHours.timezone.trim()}:{}}:t.activeHours=null,t}async function fe(e){await m(p(`/api/config`),{method:`PATCH`,body:JSON.stringify({gateway:{heartbeat:U(e)}})}),_()}async function pe(e){await m(p(`/api/workspace/heartbeat-md`),{method:`PUT`,body:JSON.stringify({content:e})}),g(le())}async function me(e){await m(p(`/api/heartbeat/trigger`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e?{reason:e}:{})})}var W=r(),he=Array.from({length:60},(e,t)=>t),G=c(D,`min-w-0 shrink text-xs sm:min-w-[7rem] sm:max-w-[11rem]`),ge=c(`h-9 w-14 shrink-0 rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1.5 text-center text-sm tabular-nums text-fg`,S),_e=c(`min-h-[2.5rem] w-full rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 font-mono text-xs text-fg`,S);function K(e){return{...e,intervalMinutesDraft:null,intervalHoursDraft:null}}function q(e){let{intervalMinutesDraft:t,intervalHoursDraft:n,...r}=e;return r}function J(e,t){switch(t.type){case`reset`:return K(t.state);case`replace`:return t.state}}function ve({value:e,onChange:t,labels:n,disabled:r,showHeading:i=!0}){let s=(0,B.useMemo)(()=>L(e),[e]),[l,u]=(0,B.useReducer)(J,s,K),d=(0,B.useRef)(e);d.current!==e&&(d.current=e,u({type:`reset`,state:s}));let f=(0,B.useCallback)(e=>{let n={...l,...e};u({type:`replace`,state:n});let r=q(n),i=q(l);Object.keys(r).some(e=>r[e]!==i[e])&&t(z(r))},[t,l]),{mode:p,intervalKind:m,onceDate:h,intervalMinutes:g,intervalHours:_,minute:v,hour:y,weekDays:b,dayOfMonth:x,rawCron:S,intervalMinutesDraft:C,intervalHoursDraft:w}=l,T=`${String(y).padStart(2,`0`)}:${String(v).padStart(2,`0`)}`,E=e=>{if(!e)return;let[t,n]=e.split(`:`).map(e=>parseInt(e,10));Number.isNaN(t)||Number.isNaN(n)||f({minute:n,hour:t})},D=(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-nowrap items-center gap-2 overflow-x-auto pb-0.5`,children:[(0,W.jsxs)(a,{className:G,disabled:r,value:p,onChange:e=>{let t=e.target.value;f({mode:t})},"aria-label":n.scheduleTimeLabel,children:[(0,W.jsx)(o,{value:`no_repeat`,children:n.modeNoRepeat}),(0,W.jsx)(o,{value:`interval`,children:n.modeInterval}),(0,W.jsx)(o,{value:`hourly`,children:n.modeHourly}),(0,W.jsx)(o,{value:`daily`,children:n.modeDaily}),(0,W.jsx)(o,{value:`weekly`,children:n.modeWeekly}),(0,W.jsx)(o,{value:`monthly`,children:n.modeMonthly}),(0,W.jsx)(o,{value:`custom`,children:n.modeCustom})]}),p===`no_repeat`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ce,{disabled:r,className:`h-9 min-w-[9.5rem] shrink-0 bg-surface-panel px-2`,value:h,onChange:e=>f({onceDate:e}),ariaLabel:n.modeNoRepeat}),(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel})]}),p===`interval`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(a,{className:c(G,`w-auto min-w-[5rem]`),disabled:r,value:m,onChange:e=>{let t=e.target.value;f({intervalKind:t,intervalMinutesDraft:null,intervalHoursDraft:null})},"aria-label":n.modeInterval,children:[(0,W.jsx)(o,{value:`minutes`,children:n.intervalKindMinutes}),(0,W.jsx)(o,{value:`hours`,children:n.intervalKindHours})]}),m===`minutes`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`input`,{type:`number`,min:1,max:59,disabled:r,className:ge,value:C??String(g),onChange:e=>{let t=e.target.value,n=parseInt(t,10),r={intervalMinutesDraft:t};Number.isFinite(n)&&n>=1&&n<=59&&(r.intervalMinutes=n),f(r)},onBlur:()=>{if(C===null)return;let e=parseInt(C,10);f({intervalMinutes:!Number.isFinite(e)||e<1?5:Math.min(59,Math.max(1,Math.round(e))),intervalMinutesDraft:null})},"aria-label":n.intervalMinutes}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`input`,{type:`number`,min:1,max:23,disabled:r,className:ge,value:w??String(_),onChange:e=>{let t=e.target.value,n=parseInt(t,10),r={intervalHoursDraft:t};Number.isFinite(n)&&n>=1&&n<=23&&(r.intervalHours=n),f(r)},onBlur:()=>{if(w===null)return;let e=parseInt(w,10);f({intervalHours:!Number.isFinite(e)||e<1?2:Math.min(23,Math.max(1,Math.round(e))),intervalHoursDraft:null})},"aria-label":n.intervalHours}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.hourUnit}),(0,W.jsx)(a,{className:c(G,`w-auto min-w-[4rem]`),disabled:r,value:v,onChange:e=>{f({minute:parseInt(e.target.value,10)})},"aria-label":n.minuteAtHour,children:he.map(e=>(0,W.jsx)(o,{value:e,children:String(e).padStart(2,`0`)},e))}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]})]}),p===`daily`&&(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel}),p===`weekly`&&(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel}),p===`monthly`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(a,{className:c(G,`w-auto min-w-[4.5rem]`),disabled:r,value:x,onChange:e=>{f({dayOfMonth:parseInt(e.target.value,10)})},"aria-label":n.dayOfMonth,children:Array.from({length:31},(e,t)=>t+1).map(e=>(0,W.jsx)(o,{value:e,children:e},e))}),(0,W.jsx)(R,{disabled:r,className:`min-w-[6.5rem] shrink-0`,triggerClassName:`h-9 border-edge-subtle px-2`,value:T,onChange:E,ariaLabel:n.scheduleTimeLabel})]}),p===`hourly`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(a,{className:c(G,`w-auto min-w-[4rem]`),disabled:r,value:v,onChange:e=>{f({minute:parseInt(e.target.value,10)})},"aria-label":n.minuteAtHour,children:he.map(e=>(0,W.jsx)(o,{value:e,children:String(e).padStart(2,`0`)},e))}),(0,W.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]})]}),O=p===`weekly`?(0,W.jsx)(`div`,{className:`flex flex-wrap gap-1.5 pt-1`,role:`group`,"aria-label":n.modeWeekly,children:n.weekdays.map((e,t)=>{let n=b[t];return(0,W.jsx)(`button`,{type:`button`,disabled:r,className:c(`flex size-9 select-none items-center justify-center rounded-full border text-xs font-medium transition-colors`,n?`border-fg bg-fg text-surface-panel`:`border-edge-subtle bg-surface-panel text-fg hover:border-edge`),"aria-pressed":n,onClick:()=>{let e=[...b];e[t]=!e[t],f({weekDays:e})},children:e},e)})}):null,k=p===`custom`?(0,W.jsxs)(`div`,{className:`pt-1`,children:[(0,W.jsx)(N,{disabled:r,className:_e,rows:2,spellCheck:!1,value:S,suggestion:`*/5 * * * *`,onAcceptSuggestion:e=>f({rawCron:e}),placeholder:`*/5 * * * *`,onChange:e=>{f({rawCron:e.target.value})},"aria-label":n.modeCustom}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:n.customCronHint})]}):null;return(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i?(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:n.scheduleTimeLabel}):null,D,O,k]})}var Y=[3e4,6e4,3e5,6e5,9e5,18e5,36e5,72e5];new Set(Y);var X=c(`h-9 min-w-0 flex-1 rounded-lg border border-edge-subtle bg-surface-panel px-2.5 py-1.5 text-sm tabular-nums text-fg`,S),ye=c(D,`h-9 max-w-[11rem] shrink-0 text-xs sm:max-w-[12rem]`);function be(e,t){switch(e){case 3e4:return t.every30s;case 6e4:return t.every1min;case 3e5:return t.every5min;case 6e5:return t.every10min;case 9e5:return t.every15min;case 18e5:return t.every30min;case 36e5:return t.every1h;case 72e5:return t.every2h;default:return String(e)}}function xe({valueMs:e,onChangeMs:t,labels:n,disabled:r,presets:i=Y,minSeconds:s=1}){let c=(0,B.useMemo)(()=>new Set(i),[i]),l=(0,B.useMemo)(()=>c.has(e)?String(e):``,[c,e]),[u,d]=(0,B.useState)(null),f=(0,B.useRef)(e);f.current!==e&&(f.current=e,d(null));let p=Math.max(s,Math.round(e/1e3)),m=u===null?String(p):u;return(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:n.secondsLabel}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(`input`,{type:`number`,min:s,step:1,disabled:r,className:X,value:m,onChange:e=>{let n=e.target.value;d(n);let r=parseInt(n,10);Number.isFinite(r)&&r>=s&&t(r*1e3)},onBlur:()=>{if(u===null)return;let e=parseInt(u,10);t(!Number.isFinite(e)||e<s?s*1e3:e*1e3),d(null)}}),(0,W.jsxs)(a,{className:ye,disabled:r,value:l,onChange:e=>{let n=e.target.value;n&&(t(parseInt(n,10)),d(null))},children:[(0,W.jsx)(o,{value:``,children:n.presets.custom}),i.map(e=>(0,W.jsx)(o,{value:String(e),children:be(e,n.presets)},e))]})]})]})}var Se=c(`mt-1 w-full rounded-lg border border-edge-subtle bg-surface-panel px-2.5 py-1.5 text-sm text-fg`,S),Z=()=>({start:`09:00`,end:`22:00`,timezone:``});function Ce(e){let t=(0,V.c)(61),{value:n,onChange:r,labels:i,disabled:a}=e;if(!n){let e;t[0]===r?e=t[1]:(e=()=>r(Z()),t[0]=r,t[1]=e);let n;return t[2]!==a||t[3]!==i.add||t[4]!==e?(n=(0,W.jsx)(l,{type:`button`,variant:`secondary`,className:`text-sm`,disabled:a,onClick:e,children:i.add}),t[2]=a,t[3]=i.add,t[4]=e,t[5]=n):n=t[5],n}let o;t[6]===i.start?o=t[7]:(o=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.start}),t[6]=i.start,t[7]=o);let s;t[8]!==r||t[9]!==n?(s=e=>r({...n,start:e}),t[8]=r,t[9]=n,t[10]=s):s=t[10];let c;t[11]!==a||t[12]!==i.start||t[13]!==s||t[14]!==n.start?(c=(0,W.jsx)(R,{disabled:a,className:`mt-1 w-full`,triggerClassName:`h-9 border-edge-subtle px-2.5`,value:n.start,onChange:s,ariaLabel:i.start}),t[11]=a,t[12]=i.start,t[13]=s,t[14]=n.start,t[15]=c):c=t[15];let u;t[16]!==o||t[17]!==c?(u=(0,W.jsxs)(`label`,{className:`block min-w-0`,children:[o,c]}),t[16]=o,t[17]=c,t[18]=u):u=t[18];let d;t[19]===i.end?d=t[20]:(d=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.end}),t[19]=i.end,t[20]=d);let f;t[21]!==r||t[22]!==n?(f=e=>r({...n,end:e}),t[21]=r,t[22]=n,t[23]=f):f=t[23];let p;t[24]!==a||t[25]!==i.end||t[26]!==f||t[27]!==n.end?(p=(0,W.jsx)(R,{disabled:a,className:`mt-1 w-full`,triggerClassName:`h-9 border-edge-subtle px-2.5`,value:n.end,onChange:f,ariaLabel:i.end}),t[24]=a,t[25]=i.end,t[26]=f,t[27]=n.end,t[28]=p):p=t[28];let m;t[29]!==d||t[30]!==p?(m=(0,W.jsxs)(`label`,{className:`block min-w-0`,children:[d,p]}),t[29]=d,t[30]=p,t[31]=m):m=t[31];let h;t[32]===i.timezone?h=t[33]:(h=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.timezone}),t[32]=i.timezone,t[33]=h);let g;t[34]!==r||t[35]!==n?(g=e=>r({...n,timezone:e.target.value}),t[34]=r,t[35]=n,t[36]=g):g=t[36];let _;t[37]!==r||t[38]!==n?(_=e=>r({...n,timezone:e}),t[37]=r,t[38]=n,t[39]=_):_=t[39];let v;t[40]!==a||t[41]!==g||t[42]!==_||t[43]!==n.timezone?(v=(0,W.jsx)(P,{type:`text`,disabled:a,className:Se,value:n.timezone,onChange:g,suggestion:`Asia/Shanghai`,onAcceptSuggestion:_,placeholder:`Asia/Shanghai`,autoComplete:`off`}),t[40]=a,t[41]=g,t[42]=_,t[43]=n.timezone,t[44]=v):v=t[44];let y;t[45]!==v||t[46]!==h?(y=(0,W.jsxs)(`label`,{className:`block min-w-0`,children:[h,v]}),t[45]=v,t[46]=h,t[47]=y):y=t[47];let b;t[48]!==y||t[49]!==u||t[50]!==m?(b=(0,W.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-3`,children:[u,m,y]}),t[48]=y,t[49]=u,t[50]=m,t[51]=b):b=t[51];let x;t[52]===r?x=t[53]:(x=()=>r(null),t[52]=r,t[53]=x);let S;t[54]!==a||t[55]!==i.clear||t[56]!==x?(S=(0,W.jsx)(l,{type:`button`,variant:`secondary`,className:`text-xs`,disabled:a,onClick:x,children:i.clear}),t[54]=a,t[55]=i.clear,t[56]=x,t[57]=S):S=t[57];let C;return t[58]!==b||t[59]!==S?(C=(0,W.jsxs)(`div`,{className:`space-y-2`,children:[b,S]}),t[58]=b,t[59]=S,t[60]=C):C=t[60],C}function Q(e){let t=(0,V.c)(34),{disabled:n,label:r,hint:i,className:a}=e,o;t[0]===a?o=t[1]:(o=c(`flex flex-col gap-2`,a),t[0]=a,t[1]=o);let s;t[2]===r?s=t[3]:(s=r?(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r}):null,t[2]=r,t[3]=s);let l;t[4]!==n||t[5]!==r||t[6]!==e.kind||t[7]!==e.labels||t[8]!==e.onChange||t[9]!==e.value?(l=e.kind===`cron`?(0,W.jsx)(ve,{value:e.value,onChange:e.onChange,labels:e.labels,disabled:n,showHeading:!r}):null,t[4]=n,t[5]=r,t[6]=e.kind,t[7]=e.labels,t[8]=e.onChange,t[9]=e.value,t[10]=l):l=t[10];let u;t[11]!==n||t[12]!==e.kind||t[13]!==e.labels||t[14]!==e.minSeconds||t[15]!==e.onChangeMs||t[16]!==e.presets||t[17]!==e.valueMs?(u=e.kind===`interval`?(0,W.jsx)(xe,{valueMs:e.valueMs,onChangeMs:e.onChangeMs,labels:e.labels,disabled:n,presets:e.presets??Y,minSeconds:e.minSeconds}):null,t[11]=n,t[12]=e.kind,t[13]=e.labels,t[14]=e.minSeconds,t[15]=e.onChangeMs,t[16]=e.presets,t[17]=e.valueMs,t[18]=u):u=t[18];let d;t[19]!==n||t[20]!==e.kind||t[21]!==e.labels||t[22]!==e.onChange||t[23]!==e.value?(d=e.kind===`active-hours`?(0,W.jsx)(Ce,{value:e.value,onChange:e.onChange,labels:e.labels,disabled:n}):null,t[19]=n,t[20]=e.kind,t[21]=e.labels,t[22]=e.onChange,t[23]=e.value,t[24]=d):d=t[24];let f;t[25]===i?f=t[26]:(f=i?(0,W.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:i}):null,t[25]=i,t[26]=f);let p;return t[27]!==o||t[28]!==s||t[29]!==l||t[30]!==u||t[31]!==d||t[32]!==f?(p=(0,W.jsxs)(`div`,{className:o,children:[s,l,u,d,f]}),t[27]=o,t[28]=s,t[29]=l,t[30]=u,t[31]=d,t[32]=f,t[33]=p):p=t[33],p}function we(){return c(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,j,`dark:border-edge`)}function Te(){return c(D,y)}var Ee=[`schedule`,`delivery`,`prompt`,`document`],De={schedule:E,delivery:w,prompt:C,document:T};function Oe(e){return e&&Ee.includes(e)?e:`schedule`}function ke(e,t){return t===`schedule`?e.tabSchedule:t===`delivery`?e.tabDelivery:t===`prompt`?e.tabPrompt:e.tabDocument}function Ae(e,t){return t===`schedule`?e.scheduleTabHint:t===`delivery`?e.deliveryTabHint:t===`prompt`?e.promptTabHint:e.documentTabHint}function je(e,t){switch(t.type){case`reset`:return{form:null,baseline:null};case`sync`:{let e=structuredClone(t.value);return{form:e,baseline:structuredClone(e)}}case`patch`:return{...e,form:e.form?{...e.form,...t.patch}:null};case`saved`:{let n=structuredClone(t.value);return{form:e.form&&JSON.stringify(e.form)!==JSON.stringify(t.value)?e.form:n,baseline:structuredClone(n)}}}}function Me(e,t){switch(t.type){case`reset`:return{doc:``,baseline:``};case`sync`:return{doc:t.value,baseline:t.value};case`set`:return{...e,doc:t.value};case`saved`:return{doc:e.doc===t.value?t.value:e.doc,baseline:t.value}}}function Ne(e){if(!e||typeof e!=`object`||Array.isArray(e))return``;let t=e.agents;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t;if(!Array.isArray(n.list))return``;let r=typeof n.default==`string`?n.default:``,i=n.list.find(e=>!e||typeof e!=`object`||Array.isArray(e)?!1:r?e.id===r:!0)??n.list[0];if(!i||typeof i!=`object`||Array.isArray(i))return``;let a=i.workspace;if(!a||typeof a!=`object`||Array.isArray(a))return``;let o=a.root;return typeof o==`string`?o:``}var Pe={triggerLoading:!1,triggerOk:!1,triggerError:null};function Fe(){let e=f(e=>e.language),t=u(e),n=t.heartbeatSettings,r=!!d(e=>e.token),[a,o]=i(),p=Oe(a.get(`tab`)),m=(0,B.useCallback)(e=>{o(t=>{let n=new URLSearchParams(t);return e===`schedule`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},[o]),[g,_]=(0,B.useReducer)(je,{form:null,baseline:null}),y=g.form,S=g.baseline,[C,w]=(0,B.useReducer)(Me,{doc:``,baseline:``}),T=C.doc,E=C.baseline,[D,k]=(0,B.useReducer)(b,Pe),{triggerLoading:j,triggerOk:te,triggerError:N}=D,P=(0,B.useRef)(!1),F=(0,B.useRef)(!1),I=(0,B.useRef)(y),L=(0,B.useRef)(T);I.current=y,L.current=T;let{data:R,error:z,isLoading:ce,mutate:V}=v(r),{data:H,error:U,isLoading:he,mutate:G}=h(r?le():null,ue,{revalidateOnFocus:!1}),{data:ge=[]}=h(r?se():null,oe,{revalidateOnFocus:!1}),_e=(0,B.useMemo)(()=>Ne(R?.payload?.config),[R]),K=(0,B.useMemo)(()=>de(R?.payload?.config??{}),[R]),q=(0,B.useMemo)(()=>!y||!S?!1:JSON.stringify(y)!==JSON.stringify(S),[y,S]),J=T!==E;(0,B.useEffect)(()=>{if(!r){_({type:`reset`}),P.current=!1;return}R!==void 0&&(P.current||_({type:`sync`,value:K}))},[r,R,K]),(0,B.useEffect)(()=>{if(!r){w({type:`reset`}),F.current=!1;return}H!==void 0&&(F.current||w({type:`sync`,value:H}))},[r,H]);let ve=z instanceof Error?z.message:z?String(z):U instanceof Error?U.message:U?String(U):null,Y=!!(r&&(R===void 0||H===void 0)&&!ve&&(ce||he)),X=y?.target.trim()??``,{data:ye,setData:be}=O(()=>ae(X),[r,X],{enabled:r&&X.length>0,initial:[],errorData:[]}),xe=(0,B.useCallback)(()=>{X&&ae(X).then(be)},[X,be]),Se=(0,B.useCallback)(async()=>{k({type:`patch`,patch:{triggerLoading:!0,triggerOk:!1,triggerError:null}});try{await me(),k({type:`patch`,patch:{triggerOk:!0}}),window.setTimeout(()=>k({type:`patch`,patch:{triggerOk:!1}}),3e3)}catch(e){k({type:`patch`,patch:{triggerError:e instanceof Error?e.message:n.triggerError}})}finally{k({type:`patch`,patch:{triggerLoading:!1}})}},[n.triggerError]),Z=(0,B.useCallback)(e=>{P.current=!0,_({type:`patch`,patch:e})},[]),Ce=q||J,Q=ie({value:(0,B.useMemo)(()=>y?{form:y,doc:T,saveConfig:q,saveDoc:J}:null,[q,J,T,y]),dirty:Ce,onSave:(0,B.useCallback)(async e=>{try{e.saveConfig&&(await fe(e.form),_({type:`saved`,value:e.form}),P.current=!!(I.current&&JSON.stringify(I.current)!==JSON.stringify(e.form))),e.saveDoc&&(await pe(e.doc),w({type:`saved`,value:e.doc}),F.current=L.current!==e.doc)}catch(t){throw Error(t instanceof Error?t.message:e.saveConfig?n.saveConfigError:n.saveDocError)}},[n.saveConfigError,n.saveDocError]),delayMs:J?900:500});return r?Y?(0,W.jsx)(M,{gap:`gap-6`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:(0,W.jsx)(ne,{sections:3})}):y?(0,W.jsxs)(M,{"aria-busy":Q.status===`saving`,"data-has-baseline":S?`1`:`0`,onBlurCapture:Q.onBlurCapture,children:[(0,W.jsx)(ee,{title:t.settingsSections.heartbeat,subtitle:n.subtitle,docsLink:x(e,`heartbeat`),docsLabel:n.docsLink,actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(re,{status:Q.status,error:Q.error}),(0,W.jsxs)(l,{type:`button`,variant:`secondary`,className:`inline-flex items-center gap-2`,disabled:j,onClick:()=>void Se(),children:[j?(0,W.jsx)(s,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,W.jsx)(A,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),j?n.triggering:n.triggerNow]}),te?(0,W.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.triggered}):null]})}),_e?(0,W.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[n.workspaceLabel,`: `,(0,W.jsx)(`span`,{className:`font-mono text-fg-muted`,children:_e})]}):null,Q.error?(0,W.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:Q.error}):null,N?(0,W.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:N}):null,(0,W.jsx)(Ie,{h:n,activeTab:p,onChange:m}),(0,W.jsx)($,{h:n,id:`schedule`,activeTab:p,children:(0,W.jsx)(Le,{h:n,form:y,update:Z})}),(0,W.jsx)($,{h:n,id:`delivery`,activeTab:p,children:(0,W.jsx)(Re,{h:n,cron:t.cron,form:y,channels:ge,sessionChatIds:ye,onRefreshChatIds:xe,update:Z,inputClassName:we,selectClassName:Te})}),(0,W.jsx)($,{h:n,id:`prompt`,activeTab:p,children:(0,W.jsx)(Ve,{h:n,form:y,update:Z,inputClassName:we})}),(0,W.jsxs)($,{h:n,id:`document`,activeTab:p,children:[(0,W.jsx)(`p`,{className:`mb-3 text-xs text-fg-subtle`,children:n.docHint}),(0,W.jsx)(`textarea`,{className:c(we(),`min-h-72 resize-y font-mono text-xs leading-relaxed`),value:T,onChange:e=>{F.current=!0,w({type:`set`,value:e.target.value})},spellCheck:!1,"aria-label":n.docSection,"data-doc-in-sync":T===E?`true`:`false`})]})]}):(0,W.jsxs)(M,{gap:`gap-3`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:[(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:ve??n.loadError}),(0,W.jsx)(l,{type:`button`,variant:`secondary`,onClick:()=>{V(),G()},children:n.retry})]}):(0,W.jsxs)(M,{gap:`gap-3`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:[(0,W.jsx)(ee,{title:t.settingsSections.heartbeat}),(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})]})}function Ie(e){let t=(0,V.c)(7),{h:n,activeTab:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=Ee.map(e=>({id:e,label:ke(n,e),icon:De[e]})),t[0]=n,t[1]=a);let o=a,s;return t[2]!==r||t[3]!==n.tabsAriaLabel||t[4]!==o||t[5]!==i?(s=(0,W.jsx)(F,{items:o,activeTab:r,onChange:i,ariaLabel:n.tabsAriaLabel,tabIdPrefix:`heartbeat-settings-tab`,panelIdPrefix:`heartbeat-settings-panel`}),t[2]=r,t[3]=n.tabsAriaLabel,t[4]=o,t[5]=i,t[6]=s):s=t[6],s}function $(e){let t=(0,V.c)(14),{h:n,id:r,activeTab:i,children:a}=e,o;t[0]!==n||t[1]!==r?(o=ke(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let s;t[3]!==n||t[4]!==r?(s=Ae(n,r),t[3]=n,t[4]=r,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=(0,W.jsx)(`div`,{className:`space-y-4`,children:a}),t[6]=a,t[7]=c);let l;return t[8]!==i||t[9]!==r||t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,W.jsx)(te,{id:r,activeTab:i,tabIdPrefix:`heartbeat-settings-tab`,panelIdPrefix:`heartbeat-settings-panel`,title:o,hint:s,children:c}),t[8]=i,t[9]=r,t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}function Le(e){let t=(0,V.c)(37),{h:n,form:r,update:i}=e,a;t[0]===i?a=t[1]:(a=e=>i({enabled:e.target.checked}),t[0]=i,t[1]=a);let o;t[2]!==r.enabled||t[3]!==a?(o=(0,W.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:r.enabled,onChange:a}),t[2]=r.enabled,t[3]=a,t[4]=o):o=t[4];let s;t[5]!==n.enable||t[6]!==o?(s=(0,W.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[o,n.enable]}),t[5]=n.enable,t[6]=o,t[7]=s):s=t[7];let c;t[8]===i?c=t[9]:(c=e=>i({intervalMs:e}),t[8]=i,t[9]=c);let l;t[10]!==n.intervalPresets||t[11]!==n.intervalSecondsLabel?(l={secondsLabel:n.intervalSecondsLabel,presets:n.intervalPresets},t[10]=n.intervalPresets,t[11]=n.intervalSecondsLabel,t[12]=l):l=t[12];let u=`${n.intervalHintPreset} ${n.intervalHint}`,d;t[13]!==r.intervalMs||t[14]!==n.interval||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,W.jsx)(Q,{kind:`interval`,label:n.interval,valueMs:r.intervalMs,onChangeMs:c,labels:l,hint:u}),t[13]=r.intervalMs,t[14]=n.interval,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]===i?f=t[20]:(f=e=>i({activeHours:e}),t[19]=i,t[20]=f);let p;t[21]!==n.activeEnd||t[22]!==n.activeStart||t[23]!==n.activeTimezone||t[24]!==n.addActiveHours||t[25]!==n.clearActiveHours?(p={start:n.activeStart,end:n.activeEnd,timezone:n.activeTimezone,add:n.addActiveHours,clear:n.clearActiveHours},t[21]=n.activeEnd,t[22]=n.activeStart,t[23]=n.activeTimezone,t[24]=n.addActiveHours,t[25]=n.clearActiveHours,t[26]=p):p=t[26];let m;t[27]!==r.activeHours||t[28]!==n.activeHoursHint||t[29]!==n.activeHoursTitle||t[30]!==f||t[31]!==p?(m=(0,W.jsx)(Q,{kind:`active-hours`,label:n.activeHoursTitle,value:r.activeHours,onChange:f,labels:p,hint:n.activeHoursHint}),t[27]=r.activeHours,t[28]=n.activeHoursHint,t[29]=n.activeHoursTitle,t[30]=f,t[31]=p,t[32]=m):m=t[32];let h;return t[33]!==m||t[34]!==s||t[35]!==d?(h=(0,W.jsxs)(W.Fragment,{children:[s,d,m]}),t[33]=m,t[34]=s,t[35]=d,t[36]=h):h=t[36],h}function Re(e){let t=(0,V.c)(51),{h:n,cron:r,form:i,channels:s,sessionChatIds:u,onRefreshChatIds:d,update:f,inputClassName:p,selectClassName:m}=e,h;t[0]===s?h=t[1]:(h=new Set(s.map(Be)),t[0]=s,t[1]=h);let g=h,_;t[2]===i.target?_=t[3]:(_=i.target.trim(),t[2]=i.target,t[3]=_);let v=_,y=!!(v&&!g.has(v)),b;t[4]===n.deliveryHint?b=t[5]:(b=(0,W.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.deliveryHint}),t[4]=n.deliveryHint,t[5]=b);let x;t[6]===r.channel?x=t[7]:(x=(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.channel}),t[6]=r.channel,t[7]=x);let S;t[8]===m?S=t[9]:(S=m(),t[8]=m,t[9]=S);let C;t[10]===f?C=t[11]:(C=e=>{f({target:e.target.value.trim(),targetChatId:``})},t[10]=f,t[11]=C);let w;t[12]===n.channelNone?w=t[13]:(w=(0,W.jsx)(o,{value:``,children:n.channelNone}),t[12]=n.channelNone,t[13]=w);let T;t[14]!==n.customChannelSuffix||t[15]!==y||t[16]!==v?(T=y?(0,W.jsxs)(o,{value:v,children:[v,` (`,n.customChannelSuffix,`)`]}):null,t[14]=n.customChannelSuffix,t[15]=y,t[16]=v,t[17]=T):T=t[17];let E;t[18]===s?E=t[19]:(E=s.map(ze),t[18]=s,t[19]=E);let D;t[20]!==S||t[21]!==C||t[22]!==w||t[23]!==T||t[24]!==E||t[25]!==v?(D=(0,W.jsxs)(a,{className:S,value:v,onChange:C,children:[w,T,E]}),t[20]=S,t[21]=C,t[22]=w,t[23]=T,t[24]=E,t[25]=v,t[26]=D):D=t[26];let O;t[27]!==D||t[28]!==x?(O=(0,W.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[x,D]}),t[27]=D,t[28]=x,t[29]=O):O=t[29];let A;t[30]!==r.enterManuallyOrSelect||t[31]!==r.lastActiveLabels||t[32]!==r.noRecentChats||t[33]!==r.noRecentChatsOption||t[34]!==r.recipient||t[35]!==r.recipientPlaceholder||t[36]!==r.refreshList||t[37]!==r.refreshRecipientHint||t[38]!==r.selectRecipient||t[39]!==i.targetChatId||t[40]!==p||t[41]!==d||t[42]!==m||t[43]!==u||t[44]!==v||t[45]!==f?(A=v?(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:r.recipient}),(0,W.jsxs)(l,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:r.refreshRecipientHint,onClick:d,children:[(0,W.jsx)(k,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),r.refreshList]})]}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(`input`,{type:`text`,className:c(p(),`min-w-0 flex-1`),value:i.targetChatId,onChange:e=>f({targetChatId:e.target.value}),placeholder:r.recipientPlaceholder,autoComplete:`off`}),(0,W.jsxs)(a,{className:c(m(),`max-w-40 shrink-0 text-xs`),value:i.targetChatId,onChange:e=>{let t=e.target.value;t&&f({targetChatId:t})},children:[(0,W.jsx)(o,{value:``,children:r.selectRecipient}),u.length>0?u.map(e=>(0,W.jsx)(o,{value:e.chatId,children:I(e,r.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,W.jsx)(o,{value:``,disabled:!0,children:r.noRecentChatsOption})]})]}),(0,W.jsx)(`p`,{className:`text-xs text-fg-muted`,children:u.length>0?r.enterManuallyOrSelect:r.noRecentChats})]}):null,t[30]=r.enterManuallyOrSelect,t[31]=r.lastActiveLabels,t[32]=r.noRecentChats,t[33]=r.noRecentChatsOption,t[34]=r.recipient,t[35]=r.recipientPlaceholder,t[36]=r.refreshList,t[37]=r.refreshRecipientHint,t[38]=r.selectRecipient,t[39]=i.targetChatId,t[40]=p,t[41]=d,t[42]=m,t[43]=u,t[44]=v,t[45]=f,t[46]=A):A=t[46];let j;return t[47]!==O||t[48]!==A||t[49]!==b?(j=(0,W.jsxs)(W.Fragment,{children:[b,O,A]}),t[47]=O,t[48]=A,t[49]=b,t[50]=j):j=t[50],j}function ze(e){return(0,W.jsxs)(o,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function Be(e){return e.name}function Ve(e){let t=(0,V.c)(65),{h:n,form:r,update:i,inputClassName:a}=e,o;t[0]===i?o=t[1]:(o=e=>i({includeSystemPromptSection:e.target.checked}),t[0]=i,t[1]=o);let s;t[2]!==r.includeSystemPromptSection||t[3]!==o?(s=(0,W.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.includeSystemPromptSection,onChange:o}),t[2]=r.includeSystemPromptSection,t[3]=o,t[4]=s):s=t[4];let l;t[5]===n.includeSystemPromptSectionHint?l=t[6]:(l=(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.includeSystemPromptSectionHint}),t[5]=n.includeSystemPromptSectionHint,t[6]=l);let u;t[7]!==n.includeSystemPromptSection||t[8]!==l?(u=(0,W.jsxs)(`span`,{children:[n.includeSystemPromptSection,l]}),t[7]=n.includeSystemPromptSection,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==s||t[11]!==u?(d=(0,W.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.prompt?f=t[14]:(f=(0,W.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.prompt}),t[13]=n.prompt,t[14]=f);let p;t[15]===a?p=t[16]:(p=c(a(),`min-h-36 resize-y font-mono text-xs`),t[15]=a,t[16]=p);let m;t[17]===i?m=t[18]:(m=e=>i({prompt:e.target.value}),t[17]=i,t[18]=m);let h;t[19]!==r.prompt||t[20]!==n.promptPlaceholder||t[21]!==p||t[22]!==m?(h=(0,W.jsx)(`textarea`,{className:p,value:r.prompt,onChange:m,placeholder:n.promptPlaceholder}),t[19]=r.prompt,t[20]=n.promptPlaceholder,t[21]=p,t[22]=m,t[23]=h):h=t[23];let g;t[24]===n.promptHint?g=t[25]:(g=(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.promptHint}),t[24]=n.promptHint,t[25]=g);let _;t[26]!==g||t[27]!==f||t[28]!==h?(_=(0,W.jsxs)(`div`,{children:[f,h,g]}),t[26]=g,t[27]=f,t[28]=h,t[29]=_):_=t[29];let v;t[30]===n.ackMaxChars?v=t[31]:(v=(0,W.jsx)(`div`,{className:`mb-1 text-sm font-medium text-fg`,children:n.ackMaxChars}),t[30]=n.ackMaxChars,t[31]=v);let y;t[32]===a?y=t[33]:(y=a(),t[32]=a,t[33]=y);let b=r.ackMaxChars===``?``:r.ackMaxChars,x;t[34]===i?x=t[35]:(x=e=>{let t=e.target.value;if(t===``){i({ackMaxChars:``});return}let n=parseInt(t,10);i({ackMaxChars:Number.isFinite(n)?n:``})},t[34]=i,t[35]=x);let S;t[36]!==n.ackDefaultPlaceholder||t[37]!==y||t[38]!==b||t[39]!==x?(S=(0,W.jsx)(`input`,{type:`number`,min:1,className:y,value:b,onChange:x,placeholder:n.ackDefaultPlaceholder}),t[36]=n.ackDefaultPlaceholder,t[37]=y,t[38]=b,t[39]=x,t[40]=S):S=t[40];let C;t[41]===n.ackMaxCharsHint?C=t[42]:(C=(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:n.ackMaxCharsHint}),t[41]=n.ackMaxCharsHint,t[42]=C);let w;t[43]!==v||t[44]!==S||t[45]!==C?(w=(0,W.jsxs)(`div`,{children:[v,S,C]}),t[43]=v,t[44]=S,t[45]=C,t[46]=w):w=t[46];let T;t[47]===i?T=t[48]:(T=e=>i({isolatedSession:e.target.checked}),t[47]=i,t[48]=T);let E;t[49]!==r.isolatedSession||t[50]!==T?(E=(0,W.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.isolatedSession,onChange:T}),t[49]=r.isolatedSession,t[50]=T,t[51]=E):E=t[51];let D;t[52]===n.isolatedSessionHint?D=t[53]:(D=(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:n.isolatedSessionHint}),t[52]=n.isolatedSessionHint,t[53]=D);let O;t[54]!==n.isolatedSession||t[55]!==D?(O=(0,W.jsxs)(`span`,{children:[n.isolatedSession,D]}),t[54]=n.isolatedSession,t[55]=D,t[56]=O):O=t[56];let k;t[57]!==E||t[58]!==O?(k=(0,W.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[E,O]}),t[57]=E,t[58]=O,t[59]=k):k=t[59];let A;return t[60]!==_||t[61]!==w||t[62]!==k||t[63]!==d?(A=(0,W.jsxs)(W.Fragment,{children:[d,_,w,k]}),t[60]=_,t[61]=w,t[62]=k,t[63]=d,t[64]=A):A=t[64],A}export{Fe as HeartbeatSettingsPanel};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{l as i}from"./chunk-KS7C4IRE-BaASWQor.js";import{t as a}from"./plus-Q2yW6OE7.js";import{t as o}from"./x-B_N4OPjy.js";import{t as s}from"./button-CSEbl4zT.js";import{t as c}from"./messages-CbbZKEfO.js";import{n as l}from"./locale-store-BIOMAhmR.js";import{a as u,i as d,n as f,o as p,r as m,s as h,t as g}from"./dist-BPoKqzeH.js";import{$o as _,B as v,Ca as y,F as b,G as x,N as S,R as C,U as w,W as T,Z as E,la as D,nl as O,ol as k,q as A,tl as j,zr as M}from"./index-CjbvsIPf.js";import{n as N}from"./tab-completion-input-B-VsxKhC.js";var P=n(),F=e(t(),1),I=r();function L(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function R(){let e=(0,P.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,I.jsxs)(`div`,{className:`space-y-8`,"aria-busy":!0,children:[(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsx)(D,{className:`h-10 w-3/5 rounded-xl`}),(0,I.jsx)(D,{className:`h-5 w-4/5 rounded-lg`})]}),(0,I.jsx)(D,{className:`h-64 rounded-2xl`}),(0,I.jsx)(D,{className:`h-32 rounded-xl`})]}),e[0]=t):t=e[0],t}function ee(e){let t=(0,P.c)(33),{item:n,busy:r,recommendationLabel:i,dueLabel:a,failureLabel:o,locale:c,onAction:l}=e,u;t[0]!==a||t[1]!==n.dueAt||t[2]!==c?(u=n.dueAt?`${a} ${M(new Date(n.dueAt),c)}`:null,t[0]=a,t[1]=n.dueAt,t[2]=c,t[3]=u):u=t[3];let d=u,f=n.kind===`failure`?o:d,p;t[4]===f?p=t[5]:(p=f?(0,I.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-xs font-medium text-warning`,children:[(0,I.jsx)(`span`,{className:`size-1.5 rounded-full bg-warning`,"aria-hidden":!0}),(0,I.jsx)(`span`,{children:f})]}):null,t[4]=f,t[5]=p);let m=!n.openAction,h;t[6]!==n.id||t[7]!==n.openAction||t[8]!==l?(h=()=>n.openAction&&l(n.openAction,n.id),t[6]=n.id,t[7]=n.openAction,t[8]=l,t[9]=h):h=t[9];let g;t[10]===n.title?g=t[11]:(g=(0,I.jsx)(`span`,{className:`block text-lg font-semibold leading-7 tracking-tight text-fg`,children:n.title}),t[10]=n.title,t[11]=g);let _;t[12]===n.summary?_=t[13]:(_=(0,I.jsx)(`span`,{className:`mt-1.5 block text-sm leading-6 text-fg-muted`,children:n.summary}),t[12]=n.summary,t[13]=_);let v;t[14]!==m||t[15]!==h||t[16]!==g||t[17]!==_?(v=(0,I.jsxs)(`button`,{type:`button`,className:`block w-full text-left outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-accent`,disabled:m,onClick:h,children:[g,_]}),t[14]=m,t[15]=h,t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==n.recommendation||t[20]!==i?(y=n.recommendation?(0,I.jsxs)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:[(0,I.jsxs)(`span`,{className:`font-semibold text-fg`,children:[i,`:`]}),n.recommendation]}):null,t[19]=n.recommendation,t[20]=i,t[21]=y):y=t[21];let b;t[22]!==r||t[23]!==n.id||t[24]!==n.primaryAction||t[25]!==n.secondaryActions||t[26]!==l?(b=n.primaryAction||n.secondaryActions.length>0?(0,I.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[n.primaryAction?(0,I.jsx)(s,{type:`button`,variant:`primary`,className:`h-9 rounded-lg px-3.5 text-xs`,disabled:r,onClick:()=>l(n.primaryAction,n.id),children:n.primaryAction.label}):null,n.secondaryActions.map(e=>(0,I.jsx)(s,{type:`button`,variant:`secondary`,className:`h-9 rounded-lg px-3.5 text-xs shadow-none`,disabled:r,onClick:()=>l(e,n.id),children:e.label},`${e.type}:${e.label}`))]}):null,t[22]=r,t[23]=n.id,t[24]=n.primaryAction,t[25]=n.secondaryActions,t[26]=l,t[27]=b):b=t[27];let x;return t[28]!==p||t[29]!==v||t[30]!==y||t[31]!==b?(x=(0,I.jsxs)(`article`,{className:`px-5 py-5 sm:px-6 sm:py-6`,children:[p,v,y,b]}),t[28]=p,t[29]=v,t[30]=y,t[31]=b,t[32]=x):x=t[32],x}function te(e){let t=(0,P.c)(26),{item:n,onAction:r}=e,i;t[0]===n.kind?i=t[1]:(i=n.kind===`scheduled`?(0,I.jsx)(k,{className:`size-4`,"aria-hidden":!0}):(0,I.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`,"aria-hidden":!0}),t[0]=n.kind,t[1]=i);let a=i,o=!n.openAction,s;t[2]!==n.id||t[3]!==n.openAction||t[4]!==r?(s=()=>n.openAction&&r(n.openAction,n.id),t[2]=n.id,t[3]=n.openAction,t[4]=r,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=(0,I.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center text-fg-subtle`,children:a}),t[6]=a,t[7]=c);let l;t[8]===n.title?l=t[9]:(l=(0,I.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:n.title}),t[8]=n.title,t[9]=l);let u;t[10]===n.summary?u=t[11]:(u=(0,I.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:n.summary}),t[10]=n.summary,t[11]=u);let d;t[12]!==l||t[13]!==u?(d=(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]===n.statusLabel?f=t[16]:(f=n.statusLabel?(0,I.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:n.statusLabel}):null,t[15]=n.statusLabel,t[16]=f);let p;t[17]===n.openAction?p=t[18]:(p=n.openAction?(0,I.jsx)(O,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}):null,t[17]=n.openAction,t[18]=p);let m;return t[19]!==o||t[20]!==s||t[21]!==c||t[22]!==d||t[23]!==f||t[24]!==p?(m=(0,I.jsxs)(`button`,{type:`button`,className:`flex min-h-16 w-full items-center gap-3 py-3 text-left outline-none hover:text-fg focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-accent`,disabled:o,onClick:s,children:[c,d,f,p]}),t[19]=o,t[20]=s,t[21]=c,t[22]=d,t[23]=f,t[24]=p,t[25]=m):m=t[25],m}function ne(e){let t=(0,P.c)(74),{item:n,labels:r,busy:i,onDecide:a,onSnooze:o,onDismiss:c,onInstruct:l}=e,[u,d]=(0,F.useState)(``),f=n.judgment,p;t[0]===n.title?p=t[1]:(p=(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.title}),t[0]=n.title,t[1]=p);let m;t[2]===n.detail?m=t[3]:(m=(0,I.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-muted`,children:n.detail}),t[2]=n.detail,t[3]=m);let h;t[4]!==p||t[5]!==m?(h=(0,I.jsxs)(`div`,{className:`min-w-0`,children:[p,m]}),t[4]=p,t[5]=m,t[6]=h):h=t[6];let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,I.jsx)(_,{className:`size-4 shrink-0 text-accent`,"aria-hidden":!0}),t[7]=g):g=t[7];let v;t[8]===h?v=t[9]:(v=(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[h,g]}),t[8]=h,t[9]=v);let y;t[10]!==f.whyNow||t[11]!==r.whyNow?(y=[r.whyNow,f.whyNow],t[10]=f.whyNow,t[11]=r.whyNow,t[12]=y):y=t[12];let b;t[13]!==f.impact||t[14]!==r.impact?(b=[r.impact,f.impact],t[13]=f.impact,t[14]=r.impact,t[15]=b):b=t[15];let x;t[16]!==f.workDone||t[17]!==r.workDone?(x=[r.workDone,f.workDone],t[16]=f.workDone,t[17]=r.workDone,t[18]=x):x=t[18];let S;t[19]!==f.recommendation||t[20]!==r.recommendation?(S=[r.recommendation,f.recommendation],t[19]=f.recommendation,t[20]=r.recommendation,t[21]=S):S=t[21];let C;t[22]!==y||t[23]!==b||t[24]!==x||t[25]!==S?(C=(0,I.jsx)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[y,b,x,S].map(z)}),t[22]=y,t[23]=b,t[24]=x,t[25]=S,t[26]=C):C=t[26];let w;t[27]!==f.actionError||t[28]!==f.actionStatus||t[29]!==f.dispositionReason||t[30]!==f.proposedActionTitle||t[31]!==r.actionStates||t[32]!==r.policyReason||t[33]!==r.proposedAction?(w=f.dispositionReason?(0,I.jsxs)(`div`,{className:`mt-3 rounded-lg border border-edge-subtle bg-surface-panel/70 p-3 text-xs leading-5`,children:[(0,I.jsx)(`p`,{className:`font-medium text-fg-subtle`,children:r.policyReason}),(0,I.jsx)(`p`,{className:`mt-1 text-fg-muted`,children:f.dispositionReason}),f.proposedActionTitle?(0,I.jsxs)(`p`,{className:`mt-2 text-fg`,children:[(0,I.jsxs)(`span`,{className:`font-medium`,children:[r.proposedAction,`:`]}),f.proposedActionTitle,f.actionStatus?` · ${r.actionStates[f.actionStatus]}`:``]}):null,f.actionError?(0,I.jsx)(`p`,{className:`mt-1 text-danger`,children:f.actionError}):null]}):null,t[27]=f.actionError,t[28]=f.actionStatus,t[29]=f.dispositionReason,t[30]=f.proposedActionTitle,t[31]=r.actionStates,t[32]=r.policyReason,t[33]=r.proposedAction,t[34]=w):w=t[34];let T;t[35]!==i||t[36]!==f.decision||t[37]!==a?(T=f.decision?(0,I.jsxs)(`div`,{className:`mt-4`,children:[(0,I.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:f.decision.question}),(0,I.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:f.decision.options.map(e=>(0,I.jsxs)(s,{type:`button`,variant:`secondary`,className:`h-auto min-h-9 flex-col items-start px-3 py-2 text-left`,disabled:i,title:e.consequence,onClick:()=>a(e.id),children:[(0,I.jsx)(`span`,{children:e.label}),(0,I.jsx)(`span`,{className:`text-[10px] font-normal text-fg-muted`,children:e.consequence})]},e.id))})]}):null,t[35]=i,t[36]=f.decision,t[37]=a,t[38]=T):T=t[38];let E;t[39]!==i||t[40]!==r.snooze||t[41]!==o?(E=(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:i,onClick:o,children:r.snooze}),t[39]=i,t[40]=r.snooze,t[41]=o,t[42]=E):E=t[42];let D;t[43]!==i||t[44]!==r.dismiss||t[45]!==c?(D=(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:i,onClick:c,children:r.dismiss}),t[43]=i,t[44]=r.dismiss,t[45]=c,t[46]=D):D=t[46];let O;t[47]!==E||t[48]!==D?(O=(0,I.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2 border-t border-edge-subtle pt-3`,children:[E,D]}),t[47]=E,t[48]=D,t[49]=O):O=t[49];let k;t[50]!==u||t[51]!==l?(k=e=>{e.preventDefault();let t=u.trim();t&&(l(t),d(``))},t[50]=u,t[51]=l,t[52]=k):k=t[52];let A;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>d(e.target.value),t[53]=A):A=t[53];let j;t[54]!==u||t[55]!==r.feedbackPlaceholder?(j=(0,I.jsx)(`input`,{className:`min-w-0 flex-1 rounded-lg border border-edge bg-surface-base px-3 py-2 text-xs text-fg outline-none focus:border-accent`,value:u,onChange:A,placeholder:r.feedbackPlaceholder}),t[54]=u,t[55]=r.feedbackPlaceholder,t[56]=j):j=t[56];let M;t[57]!==i||t[58]!==u?(M=i||!u.trim(),t[57]=i,t[58]=u,t[59]=M):M=t[59];let N;t[60]!==r.applyFeedback||t[61]!==M?(N=(0,I.jsx)(s,{type:`submit`,variant:`secondary`,className:`h-9 px-3`,disabled:M,children:r.applyFeedback}),t[60]=r.applyFeedback,t[61]=M,t[62]=N):N=t[62];let L;t[63]!==k||t[64]!==j||t[65]!==N?(L=(0,I.jsxs)(`form`,{className:`mt-3 flex gap-2`,onSubmit:k,children:[j,N]}),t[63]=k,t[64]=j,t[65]=N,t[66]=L):L=t[66];let R;return t[67]!==C||t[68]!==w||t[69]!==T||t[70]!==O||t[71]!==L||t[72]!==v?(R=(0,I.jsxs)(`article`,{className:`rounded-xl border border-accent/25 bg-accent-soft/15 p-4`,children:[v,C,w,T,O,L]}),t[67]=C,t[68]=w,t[69]=T,t[70]=O,t[71]=L,t[72]=v,t[73]=R):R=t[73],R}function z(e){let[t,n]=e;return(0,I.jsxs)(`div`,{className:`rounded-lg bg-surface-panel/80 p-3`,children:[(0,I.jsx)(`p`,{className:`text-[11px] font-medium text-fg-subtle`,children:t}),(0,I.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg`,children:n})]},t)}function B(){let e=l(e=>e.language),t=c(e).projectsPage,n=E(e),r=i(),D=y(e=>e.setPageHeader),O=y(e=>e.clearPageHeader),[k,M]=(0,F.useState)(null),[P,z]=(0,F.useState)(!0),[B,V]=(0,F.useState)(null),[re,H]=(0,F.useState)(!1),[U,W]=(0,F.useState)(``),[ie,G]=(0,F.useState)(null),[ae,K]=(0,F.useState)(null),[q,J]=(0,F.useState)(null),Y=(0,F.useCallback)(async(t=!1)=>{t&&z(!0),V(null);try{M(await v(e))}catch(e){V(e instanceof Error?e.message:String(e))}finally{z(!1)}},[e]);(0,F.useEffect)(()=>{Y(!0)},[Y]),(0,F.useEffect)(()=>{let e,t=t=>{e!==void 0&&window.clearTimeout(e),e=window.setTimeout(()=>{e=void 0,Y()},t)},n=()=>t(100),r=()=>t(750),i=[`session-created`,`agent-run-started`,`agent-run-ended`,`automation-run-completed`,`workflow-run-updated`,`workflow-run-error`],a=[`session-updated`,`session-transcript-updated`];return i.forEach(e=>window.addEventListener(e,n)),a.forEach(e=>window.addEventListener(e,r)),()=>{i.forEach(e=>window.removeEventListener(e,n)),a.forEach(e=>window.removeEventListener(e,r)),e!==void 0&&window.clearTimeout(e)}},[Y]);let oe=(0,F.useCallback)(e=>{e.preventDefault();let t=S(U);t&&(H(!1),W(``),r(t))},[U,r]),X=!!(k&&k.needsUser.length===0&&k.backgroundCount===0),se=(0,F.useMemo)(()=>X?null:(0,I.jsxs)(s,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>H(!0),children:[(0,I.jsx)(a,{className:`size-4`,"aria-hidden":!0}),n.newWork]}),[n.newWork,X]),Z=(0,F.useCallback)(async(e,t)=>{G(e.id),V(null);try{await t(),await Y(),J(null)}catch(e){V(e instanceof Error?e.message:String(e))}finally{G(null)}},[Y]),ce=(0,F.useCallback)((e,t)=>{if(e.type===`open`){r(e.href);return}if(e.type===`review_judgment`){let t=k?.decisions.find(t=>t.judgment?.inboxItemId===e.itemId);t&&J(t);return}K(t),V(null),(async()=>{try{e.type===`connector_decision`?await T({kind:`connector_approval`,approvalId:e.approvalId},e.decision):e.type===`retry_run`?await x({kind:e.subjectKind,runId:e.runId}):e.type===`acknowledge_run`&&await b({kind:e.subjectKind,runId:e.runId}),await Y()}catch(e){V(e instanceof Error?e.message:String(e))}finally{K(null)}})()},[k?.decisions,Y,r]);(0,F.useLayoutEffect)(()=>(D({startExtra:null,main:(0,I.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.title}),end:se}),()=>O()),[O,se,D,t.title]);let Q=k?.needsUser.length??0,$=k?.backgroundCount??0,le=Q>0?L(t.home.attentionTitle,{count:Q}):$>0?t.home.clearTitle:t.home.idleTitle,ue=Q>0?$>0?L(t.home.attentionIntroWithBackground,{count:$}):t.home.attentionIntro:$>0?L(t.home.clearIntro,{count:$}):t.home.idleIntro;return(0,I.jsxs)(`main`,{className:`mx-auto flex w-full max-w-[920px] flex-1 flex-col px-4 py-8 sm:px-6 lg:px-8 lg:py-12`,children:[(0,I.jsx)(g,{open:re,onOpenChange:H,children:(0,I.jsxs)(p,{children:[(0,I.jsx)(u,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,I.jsxs)(m,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(31rem,calc(100dvh-1.5rem))] w-[min(36rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,I.jsxs)(`div`,{className:`flex shrink-0 items-start gap-4 border-b border-edge px-5 py-4`,children:[(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(h,{className:`text-base font-semibold text-fg`,children:n.dialogTitle}),(0,I.jsx)(d,{className:`mt-1 text-sm leading-5 text-fg-muted`,children:n.dialogDescription})]}),(0,I.jsx)(f,{asChild:!0,children:(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`-mr-2 -mt-1 size-8 shrink-0 rounded-lg p-0`,title:t.cancel,"aria-label":t.cancel,children:(0,I.jsx)(o,{className:`size-4`,"aria-hidden":!0})})})]}),(0,I.jsxs)(`form`,{onSubmit:oe,className:`flex min-h-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto px-5 py-4`,children:[(0,I.jsx)(`label`,{htmlFor:`new-conversation-intent`,className:`mb-2 shrink-0 text-sm font-medium text-fg`,children:n.intentLabel}),(0,I.jsx)(N,{id:`new-conversation-intent`,className:`min-h-32 w-full flex-1 resize-none rounded-xl border border-edge bg-surface-base p-3 text-sm font-normal leading-6 text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`,value:U,onChange:e=>W(e.target.value),suggestion:n.intentSuggestion,onAcceptSuggestion:W,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:n.intentPlaceholder,maxLength:12e3,autoFocus:!0}),(0,I.jsxs)(`div`,{className:`mt-2 flex shrink-0 items-center justify-between gap-3 text-[11px] text-fg-subtle`,children:[(0,I.jsx)(`span`,{children:t.home.submitShortcut}),(0,I.jsxs)(`span`,{className:`tabular-nums`,children:[U.length.toLocaleString(),` / `,12e3.toLocaleString()]})]})]}),(0,I.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,I.jsx)(f,{asChild:!0,children:(0,I.jsx)(s,{type:`button`,variant:`ghost`,children:t.cancel})}),(0,I.jsxs)(s,{type:`submit`,variant:`primary`,className:`min-w-32`,disabled:!U.trim(),children:[(0,I.jsx)(_,{className:`size-4`,"aria-hidden":!0}),n.submit]})]})]})]})]})}),(0,I.jsx)(g,{open:!!q,onOpenChange:e=>{e||J(null)},children:(0,I.jsxs)(p,{children:[(0,I.jsx)(u,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,I.jsxs)(m,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(42rem,calc(100dvh-1.5rem))] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,I.jsx)(h,{className:`text-sm font-semibold text-fg`,children:n.needsAttention}),(0,I.jsx)(f,{asChild:!0,children:(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`size-8 p-0`,title:t.cancel,"aria-label":t.cancel,children:(0,I.jsx)(o,{className:`size-4`,"aria-hidden":!0})})})]}),(0,I.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:q?.judgment?(0,I.jsx)(ne,{item:q,labels:n,busy:ie===q.id,onDecide:e=>void Z(q,()=>C(q.judgment.inboxItemId,e)),onSnooze:()=>void Z(q,()=>A(q.judgment.inboxItemId,`snoozed`)),onDismiss:()=>void Z(q,()=>A(q.judgment.inboxItemId,`resolved`)),onInstruct:e=>void Z(q,()=>w(q.judgment.inboxItemId,e))}):null})]})]})}),B?(0,I.jsxs)(`div`,{className:`mb-6 flex items-center justify-between gap-3 rounded-xl border border-danger/25 bg-danger-soft px-4 py-3 text-sm text-danger`,children:[(0,I.jsx)(`span`,{children:B}),(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:()=>void Y(),children:t.home.retry})]}):null,P?(0,I.jsx)(R,{}):k?(0,I.jsxs)(`div`,{className:X?`flex min-h-[calc(100dvh-10rem)] items-center justify-center pb-[12vh]`:``,children:[(0,I.jsxs)(`section`,{className:X?`w-full max-w-2xl text-center`:`max-w-3xl`,children:[(0,I.jsx)(`h2`,{className:`text-3xl font-semibold tracking-[-0.035em] text-fg sm:text-[2.5rem] sm:leading-[1.12]`,children:le}),(0,I.jsx)(`p`,{className:X?`mx-auto mt-3 max-w-xl text-sm leading-6 text-fg-muted sm:text-base sm:leading-7`:`mt-3 max-w-2xl text-sm leading-6 text-fg-muted sm:text-base sm:leading-7`,children:ue}),X?(0,I.jsxs)(`form`,{onSubmit:oe,className:`mx-auto mt-8 w-full max-w-[640px] rounded-2xl border border-edge bg-surface-base p-2 text-left shadow-surface transition-colors focus-within:border-accent focus-within:ring-2 focus-within:ring-accent/15`,children:[(0,I.jsx)(`label`,{htmlFor:`idle-conversation-intent`,className:`sr-only`,children:n.intentLabel}),(0,I.jsx)(N,{id:`idle-conversation-intent`,className:`min-h-24 w-full resize-none bg-transparent px-3 py-2 text-sm leading-6 text-fg outline-none placeholder:text-fg-subtle`,value:U,onChange:e=>W(e.target.value),suggestion:n.intentSuggestion,onAcceptSuggestion:W,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:n.intentPlaceholder,maxLength:12e3}),(0,I.jsxs)(`div`,{className:`flex items-center justify-end gap-3 border-t border-edge-subtle px-1 pt-2 sm:justify-between`,children:[(0,I.jsx)(`span`,{className:`hidden px-2 text-[11px] text-fg-subtle sm:inline`,children:t.home.submitShortcut}),(0,I.jsxs)(s,{type:`submit`,variant:`primary`,className:`h-9 rounded-lg px-3.5 text-xs`,disabled:!U.trim(),children:[(0,I.jsx)(_,{className:`size-3.5`,"aria-hidden":!0}),n.newWork]})]})]}):null]}),k.needsUser.length>0?(0,I.jsxs)(`section`,{className:`mt-10`,"aria-labelledby":`home-needs-user-title`,children:[(0,I.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 px-1`,children:[(0,I.jsx)(j,{className:`size-4 text-warning`,"aria-hidden":!0}),(0,I.jsx)(`h2`,{id:`home-needs-user-title`,className:`text-sm font-semibold text-fg`,children:t.home.needsUserTitle})]}),(0,I.jsx)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge-subtle bg-surface-base`,children:k.needsUser.map(r=>(0,I.jsx)(ee,{item:r,busy:ae===r.id,recommendationLabel:t.home.recommendationLabel,dueLabel:t.home.dueLabel,failureLabel:n.runAttention,locale:e,onAction:ce},r.id))})]}):null,k.background.length>0?(0,I.jsxs)(`section`,{className:`mt-10`,"aria-labelledby":`home-background-title`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1`,children:[(0,I.jsx)(`h2`,{id:`home-background-title`,className:`text-sm font-semibold text-fg`,children:t.home.backgroundTitle}),(0,I.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:L(t.home.backgroundCount,{count:k.backgroundCount})})]}),(0,I.jsx)(`div`,{className:`mt-2 divide-y divide-edge-subtle border-y border-edge-subtle`,children:k.background.map(e=>(0,I.jsx)(te,{item:e,onAction:ce},e.id))}),(0,I.jsx)(`p`,{className:`mt-5 text-xs leading-5 text-fg-subtle`,children:t.home.autoArchiveNote})]}):null]}):null]})}export{B as HomePage};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{l as i}from"./chunk-KS7C4IRE-BaASWQor.js";import{t as a}from"./plus-Q2yW6OE7.js";import{t as o}from"./x-B_N4OPjy.js";import{t as s}from"./button-CSEbl4zT.js";import{t as c}from"./messages-VI9m1xJl.js";import{n as l}from"./locale-store-De8wYkd7.js";import{a as u,i as d,n as f,o as p,r as m,s as h,t as g}from"./dist-BPoKqzeH.js";import{B as _,F as v,G as y,Ms as b,N as x,Nl as S,Pl as C,R as w,Rl as T,U as E,Ua as D,W as O,Z as k,q as A,ro as j,yi as M}from"./index-CMLkr37Y.js";import{n as N}from"./tab-completion-input-B-VsxKhC.js";var P=n(),F=e(t(),1),I=r();function L(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function R(){let e=(0,P.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,I.jsxs)(`div`,{className:`space-y-8`,"aria-busy":!0,children:[(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsx)(D,{className:`h-10 w-3/5 rounded-xl`}),(0,I.jsx)(D,{className:`h-5 w-4/5 rounded-lg`})]}),(0,I.jsx)(D,{className:`h-64 rounded-2xl`}),(0,I.jsx)(D,{className:`h-32 rounded-xl`})]}),e[0]=t):t=e[0],t}function ee(e){let t=(0,P.c)(33),{item:n,busy:r,recommendationLabel:i,dueLabel:a,failureLabel:o,locale:c,onAction:l}=e,u;t[0]!==a||t[1]!==n.dueAt||t[2]!==c?(u=n.dueAt?`${a} ${M(new Date(n.dueAt),c)}`:null,t[0]=a,t[1]=n.dueAt,t[2]=c,t[3]=u):u=t[3];let d=u,f=n.kind===`failure`?o:d,p;t[4]===f?p=t[5]:(p=f?(0,I.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-xs font-medium text-warning`,children:[(0,I.jsx)(`span`,{className:`size-1.5 rounded-full bg-warning`,"aria-hidden":!0}),(0,I.jsx)(`span`,{children:f})]}):null,t[4]=f,t[5]=p);let m=!n.openAction,h;t[6]!==n.id||t[7]!==n.openAction||t[8]!==l?(h=()=>n.openAction&&l(n.openAction,n.id),t[6]=n.id,t[7]=n.openAction,t[8]=l,t[9]=h):h=t[9];let g;t[10]===n.title?g=t[11]:(g=(0,I.jsx)(`span`,{className:`block text-lg font-semibold leading-7 tracking-tight text-fg`,children:n.title}),t[10]=n.title,t[11]=g);let _;t[12]===n.summary?_=t[13]:(_=(0,I.jsx)(`span`,{className:`mt-1.5 block text-sm leading-6 text-fg-muted`,children:n.summary}),t[12]=n.summary,t[13]=_);let v;t[14]!==m||t[15]!==h||t[16]!==g||t[17]!==_?(v=(0,I.jsxs)(`button`,{type:`button`,className:`block w-full text-left outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-accent`,disabled:m,onClick:h,children:[g,_]}),t[14]=m,t[15]=h,t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==n.recommendation||t[20]!==i?(y=n.recommendation?(0,I.jsxs)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:[(0,I.jsxs)(`span`,{className:`font-semibold text-fg`,children:[i,`:`]}),n.recommendation]}):null,t[19]=n.recommendation,t[20]=i,t[21]=y):y=t[21];let b;t[22]!==r||t[23]!==n.id||t[24]!==n.primaryAction||t[25]!==n.secondaryActions||t[26]!==l?(b=n.primaryAction||n.secondaryActions.length>0?(0,I.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[n.primaryAction?(0,I.jsx)(s,{type:`button`,variant:`primary`,className:`h-9 rounded-lg px-3.5 text-xs`,disabled:r,onClick:()=>l(n.primaryAction,n.id),children:n.primaryAction.label}):null,n.secondaryActions.map(e=>(0,I.jsx)(s,{type:`button`,variant:`secondary`,className:`h-9 rounded-lg px-3.5 text-xs shadow-none`,disabled:r,onClick:()=>l(e,n.id),children:e.label},`${e.type}:${e.label}`))]}):null,t[22]=r,t[23]=n.id,t[24]=n.primaryAction,t[25]=n.secondaryActions,t[26]=l,t[27]=b):b=t[27];let x;return t[28]!==p||t[29]!==v||t[30]!==y||t[31]!==b?(x=(0,I.jsxs)(`article`,{className:`px-5 py-5 sm:px-6 sm:py-6`,children:[p,v,y,b]}),t[28]=p,t[29]=v,t[30]=y,t[31]=b,t[32]=x):x=t[32],x}function te(e){let t=(0,P.c)(26),{item:n,onAction:r}=e,i;t[0]===n.kind?i=t[1]:(i=n.kind===`scheduled`?(0,I.jsx)(T,{className:`size-4`,"aria-hidden":!0}):(0,I.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`,"aria-hidden":!0}),t[0]=n.kind,t[1]=i);let a=i,o=!n.openAction,s;t[2]!==n.id||t[3]!==n.openAction||t[4]!==r?(s=()=>n.openAction&&r(n.openAction,n.id),t[2]=n.id,t[3]=n.openAction,t[4]=r,t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=(0,I.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center text-fg-subtle`,children:a}),t[6]=a,t[7]=c);let l;t[8]===n.title?l=t[9]:(l=(0,I.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:n.title}),t[8]=n.title,t[9]=l);let u;t[10]===n.summary?u=t[11]:(u=(0,I.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:n.summary}),t[10]=n.summary,t[11]=u);let d;t[12]!==l||t[13]!==u?(d=(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]===n.statusLabel?f=t[16]:(f=n.statusLabel?(0,I.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:n.statusLabel}):null,t[15]=n.statusLabel,t[16]=f);let p;t[17]===n.openAction?p=t[18]:(p=n.openAction?(0,I.jsx)(C,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}):null,t[17]=n.openAction,t[18]=p);let m;return t[19]!==o||t[20]!==s||t[21]!==c||t[22]!==d||t[23]!==f||t[24]!==p?(m=(0,I.jsxs)(`button`,{type:`button`,className:`flex min-h-16 w-full items-center gap-3 py-3 text-left outline-none hover:text-fg focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-accent`,disabled:o,onClick:s,children:[c,d,f,p]}),t[19]=o,t[20]=s,t[21]=c,t[22]=d,t[23]=f,t[24]=p,t[25]=m):m=t[25],m}function ne(e){let t=(0,P.c)(74),{item:n,labels:r,busy:i,onDecide:a,onSnooze:o,onDismiss:c,onInstruct:l}=e,[u,d]=(0,F.useState)(``),f=n.judgment,p;t[0]===n.title?p=t[1]:(p=(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.title}),t[0]=n.title,t[1]=p);let m;t[2]===n.detail?m=t[3]:(m=(0,I.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-muted`,children:n.detail}),t[2]=n.detail,t[3]=m);let h;t[4]!==p||t[5]!==m?(h=(0,I.jsxs)(`div`,{className:`min-w-0`,children:[p,m]}),t[4]=p,t[5]=m,t[6]=h):h=t[6];let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,I.jsx)(b,{className:`size-4 shrink-0 text-accent`,"aria-hidden":!0}),t[7]=g):g=t[7];let _;t[8]===h?_=t[9]:(_=(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[h,g]}),t[8]=h,t[9]=_);let v;t[10]!==f.whyNow||t[11]!==r.whyNow?(v=[r.whyNow,f.whyNow],t[10]=f.whyNow,t[11]=r.whyNow,t[12]=v):v=t[12];let y;t[13]!==f.impact||t[14]!==r.impact?(y=[r.impact,f.impact],t[13]=f.impact,t[14]=r.impact,t[15]=y):y=t[15];let x;t[16]!==f.workDone||t[17]!==r.workDone?(x=[r.workDone,f.workDone],t[16]=f.workDone,t[17]=r.workDone,t[18]=x):x=t[18];let S;t[19]!==f.recommendation||t[20]!==r.recommendation?(S=[r.recommendation,f.recommendation],t[19]=f.recommendation,t[20]=r.recommendation,t[21]=S):S=t[21];let C;t[22]!==v||t[23]!==y||t[24]!==x||t[25]!==S?(C=(0,I.jsx)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[v,y,x,S].map(z)}),t[22]=v,t[23]=y,t[24]=x,t[25]=S,t[26]=C):C=t[26];let w;t[27]!==f.actionError||t[28]!==f.actionStatus||t[29]!==f.dispositionReason||t[30]!==f.proposedActionTitle||t[31]!==r.actionStates||t[32]!==r.policyReason||t[33]!==r.proposedAction?(w=f.dispositionReason?(0,I.jsxs)(`div`,{className:`mt-3 rounded-lg border border-edge-subtle bg-surface-panel/70 p-3 text-xs leading-5`,children:[(0,I.jsx)(`p`,{className:`font-medium text-fg-subtle`,children:r.policyReason}),(0,I.jsx)(`p`,{className:`mt-1 text-fg-muted`,children:f.dispositionReason}),f.proposedActionTitle?(0,I.jsxs)(`p`,{className:`mt-2 text-fg`,children:[(0,I.jsxs)(`span`,{className:`font-medium`,children:[r.proposedAction,`:`]}),f.proposedActionTitle,f.actionStatus?` · ${r.actionStates[f.actionStatus]}`:``]}):null,f.actionError?(0,I.jsx)(`p`,{className:`mt-1 text-danger`,children:f.actionError}):null]}):null,t[27]=f.actionError,t[28]=f.actionStatus,t[29]=f.dispositionReason,t[30]=f.proposedActionTitle,t[31]=r.actionStates,t[32]=r.policyReason,t[33]=r.proposedAction,t[34]=w):w=t[34];let T;t[35]!==i||t[36]!==f.decision||t[37]!==a?(T=f.decision?(0,I.jsxs)(`div`,{className:`mt-4`,children:[(0,I.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:f.decision.question}),(0,I.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:f.decision.options.map(e=>(0,I.jsxs)(s,{type:`button`,variant:`secondary`,className:`h-auto min-h-9 flex-col items-start px-3 py-2 text-left`,disabled:i,title:e.consequence,onClick:()=>a(e.id),children:[(0,I.jsx)(`span`,{children:e.label}),(0,I.jsx)(`span`,{className:`text-[10px] font-normal text-fg-muted`,children:e.consequence})]},e.id))})]}):null,t[35]=i,t[36]=f.decision,t[37]=a,t[38]=T):T=t[38];let E;t[39]!==i||t[40]!==r.snooze||t[41]!==o?(E=(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:i,onClick:o,children:r.snooze}),t[39]=i,t[40]=r.snooze,t[41]=o,t[42]=E):E=t[42];let D;t[43]!==i||t[44]!==r.dismiss||t[45]!==c?(D=(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:i,onClick:c,children:r.dismiss}),t[43]=i,t[44]=r.dismiss,t[45]=c,t[46]=D):D=t[46];let O;t[47]!==E||t[48]!==D?(O=(0,I.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2 border-t border-edge-subtle pt-3`,children:[E,D]}),t[47]=E,t[48]=D,t[49]=O):O=t[49];let k;t[50]!==u||t[51]!==l?(k=e=>{e.preventDefault();let t=u.trim();t&&(l(t),d(``))},t[50]=u,t[51]=l,t[52]=k):k=t[52];let A;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>d(e.target.value),t[53]=A):A=t[53];let j;t[54]!==u||t[55]!==r.feedbackPlaceholder?(j=(0,I.jsx)(`input`,{className:`min-w-0 flex-1 rounded-lg border border-edge bg-surface-base px-3 py-2 text-xs text-fg outline-none focus:border-accent`,value:u,onChange:A,placeholder:r.feedbackPlaceholder}),t[54]=u,t[55]=r.feedbackPlaceholder,t[56]=j):j=t[56];let M;t[57]!==i||t[58]!==u?(M=i||!u.trim(),t[57]=i,t[58]=u,t[59]=M):M=t[59];let N;t[60]!==r.applyFeedback||t[61]!==M?(N=(0,I.jsx)(s,{type:`submit`,variant:`secondary`,className:`h-9 px-3`,disabled:M,children:r.applyFeedback}),t[60]=r.applyFeedback,t[61]=M,t[62]=N):N=t[62];let L;t[63]!==k||t[64]!==j||t[65]!==N?(L=(0,I.jsxs)(`form`,{className:`mt-3 flex gap-2`,onSubmit:k,children:[j,N]}),t[63]=k,t[64]=j,t[65]=N,t[66]=L):L=t[66];let R;return t[67]!==C||t[68]!==w||t[69]!==T||t[70]!==O||t[71]!==L||t[72]!==_?(R=(0,I.jsxs)(`article`,{className:`rounded-xl border border-accent/25 bg-accent-soft/15 p-4`,children:[_,C,w,T,O,L]}),t[67]=C,t[68]=w,t[69]=T,t[70]=O,t[71]=L,t[72]=_,t[73]=R):R=t[73],R}function z(e){let[t,n]=e;return(0,I.jsxs)(`div`,{className:`rounded-lg bg-surface-panel/80 p-3`,children:[(0,I.jsx)(`p`,{className:`text-[11px] font-medium text-fg-subtle`,children:t}),(0,I.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg`,children:n})]},t)}function B(){let e=l(e=>e.language),t=c(e).projectsPage,n=k(e),r=i(),C=j(e=>e.setPageHeader),T=j(e=>e.clearPageHeader),[D,M]=(0,F.useState)(null),[P,z]=(0,F.useState)(!0),[B,V]=(0,F.useState)(null),[re,H]=(0,F.useState)(!1),[U,W]=(0,F.useState)(``),[ie,G]=(0,F.useState)(null),[ae,K]=(0,F.useState)(null),[q,J]=(0,F.useState)(null),Y=(0,F.useCallback)(async(t=!1)=>{t&&z(!0),V(null);try{M(await _(e))}catch(e){V(e instanceof Error?e.message:String(e))}finally{z(!1)}},[e]);(0,F.useEffect)(()=>{Y(!0)},[Y]),(0,F.useEffect)(()=>{let e,t=t=>{e!==void 0&&window.clearTimeout(e),e=window.setTimeout(()=>{e=void 0,Y()},t)},n=()=>t(100),r=()=>t(750),i=[`session-created`,`agent-run-started`,`agent-run-ended`,`automation-run-completed`,`workflow-run-updated`,`workflow-run-error`],a=[`session-updated`,`session-transcript-updated`];return i.forEach(e=>window.addEventListener(e,n)),a.forEach(e=>window.addEventListener(e,r)),()=>{i.forEach(e=>window.removeEventListener(e,n)),a.forEach(e=>window.removeEventListener(e,r)),e!==void 0&&window.clearTimeout(e)}},[Y]);let oe=(0,F.useCallback)(e=>{e.preventDefault();let t=x(U);t&&(H(!1),W(``),r(t))},[U,r]),X=!!(D&&D.needsUser.length===0&&D.backgroundCount===0),se=(0,F.useMemo)(()=>X?null:(0,I.jsxs)(s,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>H(!0),children:[(0,I.jsx)(a,{className:`size-4`,"aria-hidden":!0}),n.newWork]}),[n.newWork,X]),Z=(0,F.useCallback)(async(e,t)=>{G(e.id),V(null);try{await t(),await Y(),J(null)}catch(e){V(e instanceof Error?e.message:String(e))}finally{G(null)}},[Y]),ce=(0,F.useCallback)((e,t)=>{if(e.type===`open`){r(e.href);return}if(e.type===`review_judgment`){let t=D?.decisions.find(t=>t.judgment?.inboxItemId===e.itemId);t&&J(t);return}K(t),V(null),(async()=>{try{e.type===`connector_decision`?await O({kind:`connector_approval`,approvalId:e.approvalId},e.decision):e.type===`retry_run`?await y({kind:e.subjectKind,runId:e.runId}):e.type===`acknowledge_run`&&await v({kind:e.subjectKind,runId:e.runId}),await Y()}catch(e){V(e instanceof Error?e.message:String(e))}finally{K(null)}})()},[D?.decisions,Y,r]);(0,F.useLayoutEffect)(()=>(C({startExtra:null,main:(0,I.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.title}),end:se}),()=>T()),[T,se,C,t.title]);let Q=D?.needsUser.length??0,$=D?.backgroundCount??0,le=Q>0?L(t.home.attentionTitle,{count:Q}):$>0?t.home.clearTitle:t.home.idleTitle,ue=Q>0?$>0?L(t.home.attentionIntroWithBackground,{count:$}):t.home.attentionIntro:$>0?L(t.home.clearIntro,{count:$}):t.home.idleIntro;return(0,I.jsxs)(`main`,{className:`mx-auto flex w-full max-w-[920px] flex-1 flex-col px-4 py-8 sm:px-6 lg:px-8 lg:py-12`,children:[(0,I.jsx)(g,{open:re,onOpenChange:H,children:(0,I.jsxs)(p,{children:[(0,I.jsx)(u,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,I.jsxs)(m,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(31rem,calc(100dvh-1.5rem))] w-[min(36rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,I.jsxs)(`div`,{className:`flex shrink-0 items-start gap-4 border-b border-edge px-5 py-4`,children:[(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(h,{className:`text-base font-semibold text-fg`,children:n.dialogTitle}),(0,I.jsx)(d,{className:`mt-1 text-sm leading-5 text-fg-muted`,children:n.dialogDescription})]}),(0,I.jsx)(f,{asChild:!0,children:(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`-mr-2 -mt-1 size-8 shrink-0 rounded-lg p-0`,title:t.cancel,"aria-label":t.cancel,children:(0,I.jsx)(o,{className:`size-4`,"aria-hidden":!0})})})]}),(0,I.jsxs)(`form`,{onSubmit:oe,className:`flex min-h-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto px-5 py-4`,children:[(0,I.jsx)(`label`,{htmlFor:`new-conversation-intent`,className:`mb-2 shrink-0 text-sm font-medium text-fg`,children:n.intentLabel}),(0,I.jsx)(N,{id:`new-conversation-intent`,className:`min-h-32 w-full flex-1 resize-none rounded-xl border border-edge bg-surface-base p-3 text-sm font-normal leading-6 text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`,value:U,onChange:e=>W(e.target.value),suggestion:n.intentSuggestion,onAcceptSuggestion:W,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:n.intentPlaceholder,maxLength:12e3,autoFocus:!0}),(0,I.jsxs)(`div`,{className:`mt-2 flex shrink-0 items-center justify-between gap-3 text-[11px] text-fg-subtle`,children:[(0,I.jsx)(`span`,{children:t.home.submitShortcut}),(0,I.jsxs)(`span`,{className:`tabular-nums`,children:[U.length.toLocaleString(),` / `,12e3.toLocaleString()]})]})]}),(0,I.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,I.jsx)(f,{asChild:!0,children:(0,I.jsx)(s,{type:`button`,variant:`ghost`,children:t.cancel})}),(0,I.jsxs)(s,{type:`submit`,variant:`primary`,className:`min-w-32`,disabled:!U.trim(),children:[(0,I.jsx)(b,{className:`size-4`,"aria-hidden":!0}),n.submit]})]})]})]})]})}),(0,I.jsx)(g,{open:!!q,onOpenChange:e=>{e||J(null)},children:(0,I.jsxs)(p,{children:[(0,I.jsx)(u,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,I.jsxs)(m,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(42rem,calc(100dvh-1.5rem))] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,I.jsx)(h,{className:`text-sm font-semibold text-fg`,children:n.needsAttention}),(0,I.jsx)(f,{asChild:!0,children:(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`size-8 p-0`,title:t.cancel,"aria-label":t.cancel,children:(0,I.jsx)(o,{className:`size-4`,"aria-hidden":!0})})})]}),(0,I.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:q?.judgment?(0,I.jsx)(ne,{item:q,labels:n,busy:ie===q.id,onDecide:e=>void Z(q,()=>w(q.judgment.inboxItemId,e)),onSnooze:()=>void Z(q,()=>A(q.judgment.inboxItemId,`snoozed`)),onDismiss:()=>void Z(q,()=>A(q.judgment.inboxItemId,`resolved`)),onInstruct:e=>void Z(q,()=>E(q.judgment.inboxItemId,e))}):null})]})]})}),B?(0,I.jsxs)(`div`,{className:`mb-6 flex items-center justify-between gap-3 rounded-xl border border-danger/25 bg-danger-soft px-4 py-3 text-sm text-danger`,children:[(0,I.jsx)(`span`,{children:B}),(0,I.jsx)(s,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:()=>void Y(),children:t.home.retry})]}):null,P?(0,I.jsx)(R,{}):D?(0,I.jsxs)(`div`,{className:X?`flex min-h-[calc(100dvh-10rem)] items-center justify-center pb-[12vh]`:``,children:[(0,I.jsxs)(`section`,{className:X?`w-full max-w-2xl text-center`:`max-w-3xl`,children:[(0,I.jsx)(`h2`,{className:`text-3xl font-semibold tracking-[-0.035em] text-fg sm:text-[2.5rem] sm:leading-[1.12]`,children:le}),(0,I.jsx)(`p`,{className:X?`mx-auto mt-3 max-w-xl text-sm leading-6 text-fg-muted sm:text-base sm:leading-7`:`mt-3 max-w-2xl text-sm leading-6 text-fg-muted sm:text-base sm:leading-7`,children:ue}),X?(0,I.jsxs)(`form`,{onSubmit:oe,className:`mx-auto mt-8 w-full max-w-[640px] rounded-2xl border border-edge bg-surface-base p-2 text-left shadow-surface transition-colors focus-within:border-accent focus-within:ring-2 focus-within:ring-accent/15`,children:[(0,I.jsx)(`label`,{htmlFor:`idle-conversation-intent`,className:`sr-only`,children:n.intentLabel}),(0,I.jsx)(N,{id:`idle-conversation-intent`,className:`min-h-24 w-full resize-none bg-transparent px-3 py-2 text-sm leading-6 text-fg outline-none placeholder:text-fg-subtle`,value:U,onChange:e=>W(e.target.value),suggestion:n.intentSuggestion,onAcceptSuggestion:W,onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:n.intentPlaceholder,maxLength:12e3}),(0,I.jsxs)(`div`,{className:`flex items-center justify-end gap-3 border-t border-edge-subtle px-1 pt-2 sm:justify-between`,children:[(0,I.jsx)(`span`,{className:`hidden px-2 text-[11px] text-fg-subtle sm:inline`,children:t.home.submitShortcut}),(0,I.jsxs)(s,{type:`submit`,variant:`primary`,className:`h-9 rounded-lg px-3.5 text-xs`,disabled:!U.trim(),children:[(0,I.jsx)(b,{className:`size-3.5`,"aria-hidden":!0}),n.newWork]})]})]}):null]}),D.needsUser.length>0?(0,I.jsxs)(`section`,{className:`mt-10`,"aria-labelledby":`home-needs-user-title`,children:[(0,I.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 px-1`,children:[(0,I.jsx)(S,{className:`size-4 text-warning`,"aria-hidden":!0}),(0,I.jsx)(`h2`,{id:`home-needs-user-title`,className:`text-sm font-semibold text-fg`,children:t.home.needsUserTitle})]}),(0,I.jsx)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge-subtle bg-surface-base`,children:D.needsUser.map(r=>(0,I.jsx)(ee,{item:r,busy:ae===r.id,recommendationLabel:t.home.recommendationLabel,dueLabel:t.home.dueLabel,failureLabel:n.runAttention,locale:e,onAction:ce},r.id))})]}):null,D.background.length>0?(0,I.jsxs)(`section`,{className:`mt-10`,"aria-labelledby":`home-background-title`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1`,children:[(0,I.jsx)(`h2`,{id:`home-background-title`,className:`text-sm font-semibold text-fg`,children:t.home.backgroundTitle}),(0,I.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:L(t.home.backgroundCount,{count:D.backgroundCount})})]}),(0,I.jsx)(`div`,{className:`mt-2 divide-y divide-edge-subtle border-y border-edge-subtle`,children:D.background.map(e=>(0,I.jsx)(te,{item:e,onAction:ce},e.id))}),(0,I.jsx)(`p`,{className:`mt-5 text-xs leading-5 text-fg-subtle`,children:t.home.autoArchiveNote})]}):null]}):null]})}export{B as HomePage};
@@ -1 +1 @@
1
- import{r as e,s as t}from"./locale-store-BIOMAhmR.js";async function n(){let n=await t(e(`/api/image-generation/catalog`));if(!Array.isArray(n.payload?.providers))throw Error(`Invalid image provider catalog`);return n.payload.providers}async function r(){let n=await t(e(`/api/image-generation/custom-providers`));if(!Array.isArray(n.payload?.providers))throw Error(`Invalid custom image provider list`);return n.payload.providers}async function i(n,r){await t(e(`/api/image-generation/custom-providers/${encodeURIComponent(n)}`),{method:`PUT`,body:JSON.stringify(r)})}async function a(n){await t(e(`/api/image-generation/custom-providers/${encodeURIComponent(n)}`),{method:`DELETE`})}async function o(n,r){await t(e(`/api/image-generation/providers/${encodeURIComponent(n)}/credential`),{method:`PUT`,body:JSON.stringify({apiKey:r})})}async function s(n,r){let i=await t(e(`/api/image-generation/providers/${encodeURIComponent(n)}/test`),{method:`POST`,body:JSON.stringify({modelId:r})});if(!Array.isArray(i.payload?.images))throw Error(`Invalid image generation test response`);return{images:i.payload.images}}export{o as a,i,r as n,s as o,n as r,a as t};
1
+ import{r as e,s as t}from"./locale-store-De8wYkd7.js";async function n(){let n=await t(e(`/api/image-generation/catalog`));if(!Array.isArray(n.payload?.providers))throw Error(`Invalid image provider catalog`);return n.payload.providers}async function r(){let n=await t(e(`/api/image-generation/custom-providers`));if(!Array.isArray(n.payload?.providers))throw Error(`Invalid custom image provider list`);return n.payload.providers}async function i(n,r){await t(e(`/api/image-generation/custom-providers/${encodeURIComponent(n)}`),{method:`PUT`,body:JSON.stringify(r)})}async function a(n){await t(e(`/api/image-generation/custom-providers/${encodeURIComponent(n)}`),{method:`DELETE`})}async function o(n,r){await t(e(`/api/image-generation/providers/${encodeURIComponent(n)}/credential`),{method:`PUT`,body:JSON.stringify({apiKey:r})})}async function s(n,r){let i=await t(e(`/api/image-generation/providers/${encodeURIComponent(n)}/test`),{method:`POST`,body:JSON.stringify({modelId:r})});if(!Array.isArray(i.payload?.images))throw Error(`Invalid image generation test response`);return{images:i.payload.images}}export{o as a,i,r as n,s as o,n as r,a as t};