botmux 2.110.0 → 2.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/backend/tmux-backend.d.ts +25 -5
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +59 -93
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +5 -0
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/zellij-backend.d.ts +30 -0
- package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zellij-backend.js +80 -13
- package/dist/adapters/backend/zellij-backend.js.map +1 -1
- package/dist/adapters/backend/zellij-socket-probe.d.ts +18 -0
- package/dist/adapters/backend/zellij-socket-probe.d.ts.map +1 -0
- package/dist/adapters/backend/zellij-socket-probe.js +146 -0
- package/dist/adapters/backend/zellij-socket-probe.js.map +1 -0
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +5 -0
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/adapters/cli/codex-app-turn.d.ts +43 -0
- package/dist/adapters/cli/codex-app-turn.d.ts.map +1 -0
- package/dist/adapters/cli/codex-app-turn.js +110 -0
- package/dist/adapters/cli/codex-app-turn.js.map +1 -0
- package/dist/adapters/cli/codex-app.d.ts.map +1 -1
- package/dist/adapters/cli/codex-app.js +6 -0
- package/dist/adapters/cli/codex-app.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +1 -0
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/runner-input.d.ts +3 -2
- package/dist/adapters/cli/runner-input.d.ts.map +1 -1
- package/dist/adapters/cli/runner-input.js +7 -4
- package/dist/adapters/cli/runner-input.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +16 -0
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +5 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +1 -0
- package/dist/bot-registry.js.map +1 -1
- package/dist/codex-app-runner.js +75 -12
- package/dist/codex-app-runner.js.map +1 -1
- package/dist/core/command-handler.d.ts +11 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +101 -7
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +69 -11
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/doc-comment-prompt.d.ts +57 -0
- package/dist/core/doc-comment-prompt.d.ts.map +1 -1
- package/dist/core/doc-comment-prompt.js +147 -2
- package/dist/core/doc-comment-prompt.js.map +1 -1
- package/dist/core/inflight-input-tracker.d.ts +2 -0
- package/dist/core/inflight-input-tracker.d.ts.map +1 -1
- package/dist/core/inflight-input-tracker.js.map +1 -1
- package/dist/core/passthrough-commands.d.ts.map +1 -1
- package/dist/core/passthrough-commands.js +1 -1
- package/dist/core/passthrough-commands.js.map +1 -1
- package/dist/core/persistent-backend.d.ts +4 -0
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +6 -0
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/plugins/cli-generation.d.ts +3 -0
- package/dist/core/plugins/cli-generation.d.ts.map +1 -1
- package/dist/core/plugins/cli-generation.js +1 -0
- package/dist/core/plugins/cli-generation.js.map +1 -1
- package/dist/core/session-board.d.ts +2 -1
- package/dist/core/session-board.d.ts.map +1 -1
- package/dist/core/session-board.js +3 -2
- package/dist/core/session-board.js.map +1 -1
- package/dist/core/session-create.d.ts +38 -0
- package/dist/core/session-create.d.ts.map +1 -1
- package/dist/core/session-create.js +43 -9
- package/dist/core/session-create.js.map +1 -1
- package/dist/core/session-manager.d.ts +65 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +285 -68
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-rename.d.ts +25 -0
- package/dist/core/session-rename.d.ts.map +1 -0
- package/dist/core/session-rename.js +43 -0
- package/dist/core/session-rename.js.map +1 -0
- package/dist/core/session-title.d.ts +11 -0
- package/dist/core/session-title.d.ts.map +1 -0
- package/dist/core/session-title.js +17 -0
- package/dist/core/session-title.js.map +1 -0
- package/dist/core/trigger-session.d.ts +11 -0
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +61 -20
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +16 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +6 -2
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +48 -15
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/core/zellij-adopt-discovery.d.ts +17 -0
- package/dist/core/zellij-adopt-discovery.d.ts.map +1 -1
- package/dist/core/zellij-adopt-discovery.js +24 -4
- package/dist/core/zellij-adopt-discovery.js.map +1 -1
- package/dist/core/zellij-session-discovery.d.ts +3 -0
- package/dist/core/zellij-session-discovery.d.ts.map +1 -1
- package/dist/core/zellij-session-discovery.js +1 -0
- package/dist/core/zellij-session-discovery.js.map +1 -1
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +181 -81
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +1 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +1 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/federated-group-core.d.ts +29 -8
- package/dist/dashboard/federated-group-core.d.ts.map +1 -1
- package/dist/dashboard/federated-group-core.js +68 -6
- package/dist/dashboard/federated-group-core.js.map +1 -1
- package/dist/dashboard/federation-api.d.ts +10 -9
- package/dist/dashboard/federation-api.d.ts.map +1 -1
- package/dist/dashboard/federation-api.js +82 -3
- package/dist/dashboard/federation-api.js.map +1 -1
- package/dist/dashboard/federation-spoke-api.d.ts +8 -9
- package/dist/dashboard/federation-spoke-api.d.ts.map +1 -1
- package/dist/dashboard/federation-spoke-api.js +7 -2
- package/dist/dashboard/federation-spoke-api.js.map +1 -1
- package/dist/dashboard/team-group.d.ts +21 -0
- package/dist/dashboard/team-group.d.ts.map +1 -1
- package/dist/dashboard/team-group.js +16 -0
- package/dist/dashboard/team-group.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +10 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +33 -1
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +1 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +8 -0
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +5 -1
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +2 -4
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-7T7DPOV6.js +4 -0
- package/dist/dashboard-web/chunks/{chunk-SHZ5PUYF.js → chunk-IGXYYRYJ.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-GF7DU2B5.js → chunk-ISOD7VDX.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-TORH53FI.js → chunk-OEJIT66L.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-7UY333A5.js → chunk-PNK3HQBI.js} +2 -2
- package/dist/dashboard-web/chunks/{chunk-IAES47WV.js → chunk-YQFXGRSD.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-N6GKR6JL.js → connectors-page-UQ4QBE45.js} +1 -1
- package/dist/dashboard-web/chunks/{groups-page-IK3GXSQU.js → groups-page-5AJPPJH2.js} +1 -1
- package/dist/dashboard-web/chunks/{insights-page-T2PDFPGO.js → insights-page-R3DFECX4.js} +1 -1
- package/dist/dashboard-web/chunks/{legacy-workflow-page-YQPLKH74.js → legacy-workflow-page-QMC7OZXH.js} +1 -1
- package/dist/dashboard-web/chunks/{monitor-room-7EL3LVJS.js → monitor-room-NLMKJLDY.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-BCADF56L.js → monitoring-page-EHSOX4GV.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-KP7BDLAE.js → office-page-OXJKFJ4R.js} +1 -1
- package/dist/dashboard-web/chunks/{overview-page-6GWDHDTI.js → overview-page-GJHIVXJF.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-2OFR2IBG.js → roles-page-6ZODQISW.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-TAWMTSNL.js → schedules-page-DAGMHVCH.js} +1 -1
- package/dist/dashboard-web/chunks/{sessions-page-42QZHPPP.js → sessions-page-NNZIDHZM.js} +1 -1
- package/dist/dashboard-web/chunks/{settings-page-OVKXUXSV.js → settings-page-LJIXX5LQ.js} +1 -1
- package/dist/dashboard-web/chunks/{skills-page-Y2EC3NBI.js → skills-page-J7EVUHXP.js} +1 -1
- package/dist/dashboard-web/chunks/{team-federation-page-QYMJUH5F.js → team-federation-page-YM5JBIII.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-FZJCW5QG.js → v3-page-YLYVHGKD.js} +1 -1
- package/dist/dashboard-web/chunks/{whiteboards-page-FBHBBCAL.js → whiteboards-page-75N2U6W4.js} +1 -1
- package/dist/dashboard.js +46 -7
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +8 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +8 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +96 -32
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +16 -5
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +1 -0
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/card-prefs-store.d.ts +4 -0
- package/dist/services/card-prefs-store.d.ts.map +1 -1
- package/dist/services/card-prefs-store.js +8 -0
- package/dist/services/card-prefs-store.js.map +1 -1
- package/dist/services/default-worktree.d.ts.map +1 -1
- package/dist/services/default-worktree.js +4 -1
- package/dist/services/default-worktree.js.map +1 -1
- package/dist/services/group-creator.d.ts +19 -0
- package/dist/services/group-creator.d.ts.map +1 -1
- package/dist/services/group-creator.js +62 -28
- package/dist/services/group-creator.js.map +1 -1
- package/dist/services/groups-store.d.ts +7 -5
- package/dist/services/groups-store.d.ts.map +1 -1
- package/dist/services/groups-store.js +10 -8
- package/dist/services/groups-store.js.map +1 -1
- package/dist/setup/ensure-tmux.d.ts +17 -0
- package/dist/setup/ensure-tmux.d.ts.map +1 -1
- package/dist/setup/ensure-tmux.js +72 -1
- package/dist/setup/ensure-tmux.js.map +1 -1
- package/dist/types.d.ts +56 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/child-env.d.ts +27 -0
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +59 -0
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/codex-app-context.d.ts +9 -0
- package/dist/utils/codex-app-context.d.ts.map +1 -0
- package/dist/utils/codex-app-context.js +47 -0
- package/dist/utils/codex-app-context.js.map +1 -0
- package/dist/utils/pending-input-queue.d.ts +2 -0
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js +6 -0
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/worker.js +197 -38
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-QXZ2VFJJ.js +0 -4
package/package.json
CHANGED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{b as mt}from"./chunk-SHZ5PUYF.js";import{b as A}from"./chunk-TORH53FI.js";import{a as dt,b as Q,c as V,g as ct,h as bt,i as ft,p as pt}from"./chunk-SRIE4MLQ.js";import{a as nt,p as lt,u as K,x as it}from"./chunk-7UY333A5.js";import{a as rt}from"./chunk-SYC6D5XU.js";import{a as xt,d as ut}from"./chunk-5THX4DI2.js";import{c as Y}from"./chunk-7SZRL6FY.js";var s=Y(xt(),1);var gt=[{id:"claude-code",label:"Claude"},{id:"codex",label:"Codex"},{id:"traex",label:"traex"}],q={options:gt,ttadkModelDefault:"glm-5.1",ttadkModelSuggestions:[]};function _(a,e){return typeof a?.cliId=="string"&&a.cliId?a.cliId:e}function Z(a){let e=null;for(let o of nt.sessions.values())o.larkAppId!==a||!o.cliId||(!e||Number(o.lastMessageAt??0)>Number(e.lastMessageAt??0))&&(e=o);return e?.cliId??""}function X(a,e){let o=typeof a.agentSelectionKey=="string"&&a.agentSelectionKey?a.agentSelectionKey:"";return o||_(a,e)||"claude-code"}function tt(a,e){return a.find(o=>o.id===e)}function yt(a,e){return a?.gateway==="ttadk"&&a.acceptsModel!==!1?e.ttadkModelSuggestions:[]}async function vt(){try{let a=await fetch("/api/bots"),e=await a.json().catch(()=>({}));if(!a.ok){let o=e?.error?`HTTP ${a.status}: ${e.error}${e.path?` (${e.path})`:""}`:`HTTP ${a.status}`;return{bots:[],error:o}}return!e||!Array.isArray(e.bots)?{bots:[],error:"unexpected response shape (no `bots` array)"}:{bots:e.bots,error:null}}catch(a){return{bots:[],error:a?.message??String(a)}}}async function ht(){try{let a=await fetch("/api/cli-options"),e=await a.json().catch(()=>({}));if(!a.ok||!Array.isArray(e?.options))return q;let o=e.options.filter(l=>l&&typeof l.id=="string"&&typeof l.label=="string"),d=typeof e.ttadkModelDefault=="string"&&e.ttadkModelDefault.trim()?e.ttadkModelDefault.trim():q.ttadkModelDefault,i=Array.isArray(e.ttadkModelSuggestions)?e.ttadkModelSuggestions.filter(l=>typeof l=="string"):[];return{options:o.length?o:gt,ttadkModelDefault:d,ttadkModelSuggestions:i}}catch{return q}}function kt(a){if(!a)return"\u2014";let e=new Date(a);return Number.isNaN(e.getTime())?"\u2014":e.toLocaleString()}var t=Y(ut(),1);function wt(a,e=""){let o=a?` ${a.ok?"hint-ok":"hint-warn-inline"}`:"";return`oncall-status${e?` ${e}`:""}${o}`}function $(a){return(0,t.jsx)("span",{className:wt(a.status),...a.attr??{},children:a.status?.text??""})}function Bt(a){let e=typeof a.children=="string"?a.children:void 0;return(0,t.jsx)(ft,{className:"bd-info-tip",label:e,children:a.children})}function P(a){return(0,t.jsxs)("span",{className:"bd-field-title",children:[(0,t.jsx)("span",{className:"bd-field-title-text",children:a.children}),a.help?(0,t.jsx)(Bt,{children:a.help}):null]})}function H(a){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(pt,{id:`bd-menu-${a.dataInput}`,className:["bd-field-menu",a.className].filter(Boolean).join(" "),ariaLabel:a.ariaLabel,disabled:a.disabled,label:dt(a.options,a.value),value:a.value,options:a.options,onChange:a.onChange}),(0,t.jsx)("input",{type:"hidden","data-input":a.dataInput,value:a.value,readOnly:!0})]})}function U(a){return(0,t.jsxs)("label",{className:"toggle-row",children:[(0,t.jsx)("input",{type:"checkbox","data-action":a.dataAction,checked:a.checked,disabled:a.disabled,onChange:e=>a.onChange(e.currentTarget.checked)}),(0,t.jsx)("span",{className:"switch","aria-hidden":"true"}),(0,t.jsx)("span",{className:"toggle-tx",children:(0,t.jsx)("strong",{children:(0,t.jsx)(P,{help:a.help,children:a.title})})})]})}async function O(a,e,o){let d=await fetch(e,{method:a,headers:{"content-type":"application/json"},body:o===void 0?void 0:JSON.stringify(o)}),i=await d.json().catch(()=>({}));return{ok:d.ok&&i?.ok!==!1,status:d.status,body:i}}function L(a){let e=typeof a.body?.reason=="string"?a.body.reason:"",o=typeof a.body?.manualCommand=="string"?a.body.manualCommand:"";return e&&o?`${e}\uFF08${o}\uFF09`:String(e||a.body?.error||a.status)}function M(a){return a?.message??String(a)}function Tt(a){let e=a.trim();return e?/^[1-9]\d*$/.test(e)?Number(e):"invalid":null}function Dt(a,e){let o=a.trim();return o===""?e:/^(0|[1-9]\d*)$/.test(o)?Number(o):null}var at=["email","openId","userId","unionId"];function Pt(a){return at.find(e=>a?.[e]?.trim())??"email"}function Rt(a){let e=a.idValue.trim();if(!e)return null;let o={...a.persisted};if(a.persisted[a.idField]!==e||a.originalIdField!=null&&a.originalIdField!==a.idField)for(let l of at)delete o[l];o[a.idField]=e;let i=a.name.trim();return i?o.name=i:delete o.name,o}function Mt(a,e){return a==null?e("botDefaults.brandStateDefault"):a.trim()===""?e("botDefaults.brandStateOff"):e("botDefaults.brandStateCustom")}function At(a,e){return a==null?e("botDefaults.quotaStateOff"):e("botDefaults.quotaStateOn",{count:a})}function $t(a,e){return a==null?e("botDefaults.maxLiveWorkersStateDefault"):e("botDefaults.maxLiveWorkersStateOn",{count:a})}function Lt(a,e){return{...a,disableStreamingCard:e.disableStreamingCard,silentTurnReactions:e.silentTurnReactions,writableTerminalLinkInCard:e.writableTerminalLinkInCard,privateCard:e.privateCard,botToBotSameDir:e.botToBotSameDir,autoStartOnGroupJoin:e.autoStartOnGroupJoin,autoStartOnGroupJoinPrompt:e.autoStartOnGroupJoinPrompt,autoStartOnNewTopic:e.autoStartOnNewTopic,regularGroupReplyMode:e.regularGroupReplyMode,regularGroupMentionMode:e.regularGroupMentionMode,docSubscribeDefaultMode:e.docSubscribeDefaultMode}}function Ot(){let a=A(),e=(0,s.useRef)(!0),[o,d]=(0,s.useState)([]),[i,l]=(0,s.useState)(q),[r,c]=(0,s.useState)(null),[f,n]=(0,s.useState)(!0),[p,y]=(0,s.useState)(!1),[u,b]=(0,s.useState)(""),[D,k]=(0,s.useState)(null),[v,h]=(0,s.useState)(0),[,w]=(0,s.useState)(0),[g,N]=(0,s.useState)(!1),S=(0,s.useCallback)(async(x=!1)=>{x&&h(B=>B+1),n(!0);try{let[B,F]=await Promise.all([vt(),ht()]);if(!e.current)return;d(B.bots),c(B.error),l(F)}finally{e.current&&n(!1)}},[]);(0,s.useEffect)(()=>(e.current=!0,S(),it().then(()=>{e.current&&w(x=>x+1)}),()=>{e.current=!1}),[S]);let C=(0,s.useMemo)(()=>{let x=u.trim().toLowerCase();return o.filter(B=>!x||(B.botName??"").toLowerCase().includes(x)||(B.larkAppId??"").toLowerCase().includes(x))},[o,u]);(0,s.useEffect)(()=>{if(!(r||f)){if(C.length===0){D!==null&&k(null);return}(!D||!C.some(x=>x.larkAppId===D))&&k(C[0].larkAppId)}},[C,r,f,D]);let R=D?C.find(x=>x.larkAppId===D)??null:null,m=(0,s.useCallback)((x,B)=>{d(F=>F.map(j=>j.larkAppId!==x?j:typeof B=="function"?B(j):{...j,...B}))},[]),G=async()=>{y(!0);try{await S(!0)}finally{e.current&&y(!1)}},T;return f?T=(0,t.jsx)(V,{label:a("common.loading")}):r?T=(0,t.jsxs)("p",{className:"hint-warn",children:["\u65E0\u6CD5\u52A0\u8F7D bot \u5217\u8868\uFF1A",r,(0,t.jsx)("br",{}),"\u5E38\u89C1\u539F\u56E0\uFF1Adashboard / daemon \u8FDB\u7A0B\u8FD8\u5728\u8DD1\u65E7\u4EE3\u7801\uFF0C\u6267\u884C ",(0,t.jsx)("code",{children:"botmux restart"})," \u540E\u5237\u65B0\u3002"]}):C.length===0?T=(0,t.jsx)("p",{className:"empty",children:a("botDefaults.empty")}):R?T=(0,t.jsx)(Gt,{bot:R,cliState:i,patchBot:m},`${R.larkAppId}:${v}`):T=null,(0,t.jsxs)("section",{className:"page bot-defaults-page",children:[(0,t.jsxs)("div",{className:"page-heading",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"eyebrow",children:a("nav.botDefaults")}),(0,t.jsx)("h1",{children:a("botDefaults.title")})]}),(0,t.jsxs)("div",{className:"page-heading-actions",children:[(0,t.jsx)(bt,{id:"bd-refresh",label:a("botDefaults.refresh"),busy:p,disabled:p,onClick:()=>{G()}}),lt.authed?(0,t.jsx)(ct,{className:"page-primary-action add-bot-btn",disabled:g,onClick:()=>{N(!0),mt().finally(()=>N(!1))},children:a("botOnboarding.add")}):null]})]}),(0,t.jsxs)("div",{className:"bd-layout",children:[(0,t.jsxs)("aside",{id:"bd-roster",className:"bd-roster",children:[(0,t.jsx)("form",{id:"bd-filters",className:"filters dashboard-toolbar",onSubmit:x=>x.preventDefault(),children:(0,t.jsx)("input",{type:"search",name:"q",placeholder:a("botDefaults.search"),value:u,onChange:x=>b(x.currentTarget.value)})}),(0,t.jsx)("div",{className:"bd-roster-list",children:!r&&C.map(x=>(0,t.jsx)(Ft,{bot:x,selected:x.larkAppId===D,onSelect:()=>k(x.larkAppId)},x.larkAppId))})]}),(0,t.jsx)("div",{id:"bd-list",className:"bd-detail",children:T})]})]})}function Ft(a){let{bot:e}=a,o=e.botName??e.larkAppId,d=_(e,Z(e.larkAppId));return(0,t.jsxs)("div",{className:`bd-roster-item${a.selected?" on":""}`,"data-appid":e.larkAppId,role:"button",tabIndex:0,onClick:a.onSelect,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),a.onSelect())},children:[(0,t.jsx)(Q,{html:K({name:o,larkAppId:e.larkAppId,size:"sm"})}),(0,t.jsxs)("div",{className:"bd-roster-tx",children:[(0,t.jsx)("b",{children:o}),(0,t.jsx)("span",{children:d||e.larkAppId.slice(0,14)})]}),e.defaultOncall?.enabled?(0,t.jsx)("span",{className:"bd-roster-flag",children:"oncall"}):null]})}function Gt(a){let e=A(),{bot:o,cliState:d,patchBot:i}=a,l=o.botName??o.larkAppId,r=_(o,Z(o.larkAppId)),c=(0,s.useCallback)(async n=>{let p=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/card-prefs`,n);return p.ok&&i(o.larkAppId,y=>Lt(y,p.body)),p},[o.larkAppId,i]);if(o.error)return(0,t.jsxs)("article",{className:"bd-card bd-profile","data-appid":o.larkAppId,children:[(0,t.jsxs)("header",{className:"bd-profile-head",children:[(0,t.jsx)(Q,{html:K({name:l,larkAppId:o.larkAppId})}),(0,t.jsxs)("div",{className:"bd-profile-id",children:[(0,t.jsx)("strong",{children:l}),(0,t.jsx)("code",{children:o.larkAppId})]})]}),(0,t.jsxs)("p",{className:"hint-warn-inline",children:["\u67E5\u8BE2\u5931\u8D25\uFF1A",o.error]})]});let f=o.defaultOncall??{enabled:!1,workingDir:"",since:0};return(0,t.jsxs)("article",{className:"bd-card bd-profile","data-appid":o.larkAppId,children:[(0,t.jsxs)("header",{className:"bd-profile-head",children:[(0,t.jsx)("div",{className:"bd-profile-avatar",children:(0,t.jsx)(Q,{html:K({name:l,larkAppId:o.larkAppId,dot:"ok"})})}),(0,t.jsx)("div",{className:"bd-profile-main",children:(0,t.jsx)(Ht,{bot:o,cli:r,patchBot:i,meta:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("small",{className:"bd-meta-ok",children:["\u25CF ",e("botDefaults.metaOnline")]}),(0,t.jsxs)("small",{"data-oncall-since":!0,children:[e("botDefaults.lastEnabled"),": ",kt(f.since??0)]}),(0,t.jsx)("small",{children:e("botDefaults.autobound",{count:o.autoboundChatCount??0})})]})})})]}),(0,t.jsxs)("div",{className:"bd-body bd-grid",children:[(0,t.jsxs)("div",{className:"bd-column",children:[(0,t.jsxs)("section",{className:"bd-tile",children:[(0,t.jsx)(Wt,{bot:o,sessionFallback:r,cliState:d,patchBot:i}),(0,t.jsx)(Et,{bot:o,patchBot:i,putCardPref:c}),o.cliId!=="riff"&&(0,t.jsx)(qt,{bot:o,patchBot:i}),o.cliId!=="riff"&&(0,t.jsx)(Qt,{bot:o,patchBot:i})]}),(0,t.jsx)("section",{className:"bd-tile",children:(0,t.jsx)(jt,{bot:o,patchBot:i})}),(0,t.jsx)("section",{className:"bd-tile",children:(0,t.jsx)(re,{bot:o,patchBot:i})})]}),(0,t.jsxs)("div",{className:"bd-column",children:[(0,t.jsxs)("section",{className:"bd-tile",children:[(0,t.jsx)(Xt,{bot:o,patchBot:i,putCardPref:c}),(0,t.jsx)(te,{bot:o,patchBot:i}),(0,t.jsx)(Yt,{bot:o,putCardPref:c}),(0,t.jsx)(ee,{bot:o,patchBot:i})]}),(0,t.jsxs)("section",{className:"bd-tile",children:[(0,t.jsx)(zt,{bot:o,putCardPref:c}),(0,t.jsx)(Zt,{bot:o,patchBot:i}),(0,t.jsx)(ie,{bot:o,patchBot:i})]}),(0,t.jsx)("section",{className:"bd-tile",children:(0,t.jsx)(Vt,{bot:o,patchBot:i})})]})]})]})}function jt(a){let e=A();return(0,t.jsxs)("section",{className:"bd-section bd-runtime-env",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionRuntimeEnv")}),(0,t.jsx)(ae,{bot:a.bot,patchBot:a.patchBot}),(0,t.jsx)(oe,{bot:a.bot,patchBot:a.patchBot}),(0,t.jsx)(se,{bot:a.bot,patchBot:a.patchBot})]})}function Ht(a){let e=A(),{bot:o,cli:d,patchBot:i}=a,l=o.botName??o.larkAppId,[r,c]=(0,s.useState)(!1),[f,n]=(0,s.useState)(l),[p,y]=(0,s.useState)(!1),[u,b]=(0,s.useState)(null),[D,k]=(0,s.useState)(!1),[v,h]=(0,s.useState)(!1);(0,s.useEffect)(()=>{r||n(l)},[r,l]);function w(S){c(S),S&&(n(l),b(null),k(!1))}function g(S,C){let m=["no_session","session_expired","no_access","unsupported_brand"].includes(S)?e(`botDefaults.renameWarn.${S}`):C||S;return e("botDefaults.renameLocalOnly",{reason:m})}let N=(0,s.useCallback)(async()=>{let S=f.trim();if(!S){b({text:`\u2717 ${e("botDefaults.renameEmpty")}`});return}y(!0),b({text:`\u23F3 ${e("botDefaults.renaming")}`,ok:!0});try{let C=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/rename`,{name:S});if(C.ok&&C.body.ok){let R=typeof C.body.botName=="string"&&C.body.botName?C.body.botName:S;i(o.larkAppId,m=>({...m,botName:R,larkBotName:C.body.mode==="feishu"?S:m.larkBotName,displayName:C.body.mode==="feishu"?null:S})),w(!1),C.body.mode==="feishu"?(b({text:`\u2713 ${e("botDefaults.renameOkFeishu")}`,ok:!0}),k(!1)):(b({text:`\u26A0 ${g(String(C.body.warning??""),C.body.message)}`}),k(C.body.warning==="no_session"||C.body.warning==="session_expired"))}else b({text:`\u2717 ${e("botDefaults.renameFailed",{error:L(C)})}`})}catch(C){b({text:`\u2717 ${e("botDefaults.renameFailed",{error:M(C)})}`})}finally{y(!1)}},[o.larkAppId,f,i,e]);return(0,t.jsxs)("div",{className:"bd-profile-id",children:[r?(0,t.jsxs)("span",{className:"bd-name-editor","data-name-editor":!0,children:[(0,t.jsx)("input",{type:"text",className:"bd-name-input","data-input":"botRename",maxLength:64,value:f,disabled:p,autoFocus:!0,onChange:S=>n(S.currentTarget.value),onKeyDown:S=>{S.key==="Enter"?(S.preventDefault(),N()):S.key==="Escape"&&w(!1)}}),(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-bot-name",disabled:p,onClick:()=>{N()},children:e("botDefaults.renameSave")}),(0,t.jsx)("button",{type:"button","data-action":"cancel-bot-name",disabled:p,onClick:()=>w(!1),children:e("botDefaults.renameCancel")})]}):(0,t.jsxs)("div",{className:"bd-profile-title-row","data-name-row":!0,children:[(0,t.jsxs)("div",{className:"bd-profile-title-content",children:[(0,t.jsx)("strong",{"data-bot-name":!0,children:l}),d?(0,t.jsx)("span",{className:"mate-role bd-profile-cli-tag",children:d}):null,a.meta?(0,t.jsx)("span",{className:"bd-profile-meta bd-meta",children:a.meta}):null]}),(0,t.jsx)("button",{type:"button",className:"bd-name-edit","data-action":"edit-bot-name",title:e("botDefaults.renameTitle"),"aria-label":e("botDefaults.renameTitle"),onClick:()=>w(!0),children:e("botDefaults.renameAction")})]}),(0,t.jsx)("code",{children:o.larkAppId}),(0,t.jsx)("small",{className:wt(u,"bd-name-status"),"data-name-status":!0,children:u?.text??""}),(0,t.jsx)("button",{type:"button",className:"bd-feishu-login","data-action":"feishu-login",hidden:!D,onClick:()=>h(!0),children:e("feishuLogin.entry")}),v?(0,t.jsx)(Ut,{onClose:()=>h(!1),onSuccess:()=>{k(!1),h(!1),N()}}):null]})}function Ut(a){let e=A(),{onClose:o,onSuccess:d}=a,i=(0,s.useRef)(null),l=(0,s.useRef)(null),[r,c]=(0,s.useState)(e("feishuLogin.starting")),[f,n]=(0,s.useState)(null),[p,y]=(0,s.useState)(!1),u=(0,s.useCallback)(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]),b=(0,s.useCallback)(v=>v?v.status==="awaiting_scan"&&v.qrDataUrl?(n(v.qrDataUrl),c(v.message||e("feishuLogin.scanHint")),y(!1),"active"):v.status==="starting"?(c(v.message||e("feishuLogin.starting")),n(null),y(!1),"active"):v.status==="success"?(u(),n(null),y(!1),c(e("feishuLogin.success")),l.current=window.setTimeout(()=>d(),900),"done"):(u(),n(null),c(e("feishuLogin.failed",{reason:v.message||v.reason||""})),y(!0),"done"):"active",[d,u,e]),D=(0,s.useCallback)(async()=>{try{let h=await(await fetch("/api/feishu-login/status")).json().catch(()=>({}));b(h.login)}catch{}},[b]),k=(0,s.useCallback)(async()=>{u(),c(e("feishuLogin.starting")),n(null),y(!1);let v="active";try{let w=await(await fetch("/api/feishu-login/start",{method:"POST"})).json().catch(()=>({}));v=b(w.login)}catch(h){c(e("feishuLogin.failed",{reason:M(h)})),y(!0);return}v==="active"&&i.current===null&&(i.current=window.setInterval(()=>{D()},1500))},[D,b,u,e]);return(0,s.useEffect)(()=>(k(),()=>{u(),l.current!==null&&window.clearTimeout(l.current)}),[k,u]),(0,t.jsx)("div",{className:"feishu-login-overlay",onClick:v=>{v.currentTarget===v.target&&o()},children:(0,t.jsxs)("div",{className:"feishu-login-modal",role:"dialog","aria-modal":"true",children:[(0,t.jsx)("button",{type:"button",className:"feishu-login-close","data-close":!0,"aria-label":e("feishuLogin.close"),onClick:o,children:"x"}),(0,t.jsx)("h3",{className:"feishu-login-title",children:e("feishuLogin.title")}),(0,t.jsx)("p",{className:"feishu-login-hint","data-hint":!0,children:r}),(0,t.jsx)("div",{className:"feishu-login-qr","data-qr":!0,children:f?(0,t.jsx)("img",{className:"qr-image",src:f,alt:e("feishuLogin.qrAlt")}):null}),(0,t.jsx)("div",{className:"feishu-login-actions",children:(0,t.jsx)("button",{type:"button",className:"primary","data-retry":!0,hidden:!p,onClick:()=>{k()},children:e("feishuLogin.retry")})})]})})}function Wt(a){let e=A(),{bot:o,cliState:d,patchBot:i}=a,l=X(o,a.sessionFallback),[r,c]=(0,s.useState)(l),[f,n]=(0,s.useState)(typeof o.model=="string"?o.model:""),[p,y]=(0,s.useState)(null),[u,b]=(0,s.useState)(!1),[D,k]=(0,s.useState)(St(o)),[v,h]=(0,s.useState)(null),[w,g]=(0,s.useState)(!1);(0,s.useEffect)(()=>{c(X(o,a.sessionFallback)),n(typeof o.model=="string"?o.model:""),k(St(o))},[o.agentSelectionKey,o.cliId,o.larkAppId,o.model,o.skillInjection,o.skillInjectionDefault,a.sessionFallback]);let N=tt(d.options,r),S=yt(N,d),C=N?.gateway==="ttadk"&&N.acceptsModel===!1,R=C?e("botOnboarding.modelTtadkCocoPlaceholder"):N?.gateway==="ttadk"?e("botOnboarding.modelTtadkPlaceholder").replace("{model}",d.ttadkModelDefault):e("botDefaults.agentModelPlaceholder");function m(I){c(I);let W=tt(d.options,I),ot=W?.gateway==="ttadk",st=ot&&W.acceptsModel!==!1;n(ot&&!st?"":st?J=>J.trim()?J:d.ttadkModelDefault:J=>J.trim()===d.ttadkModelDefault?"":J)}async function G(){y(null),b(!0);try{let I=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/agent`,{cliId:r,model:f});I.ok&&I.body.ok?(y(I.body.availabilityWarning?{text:`\u26A0\uFE0F ${I.body.availabilityWarning}`}:{text:`\u2713 ${e("botDefaults.agentSaved")}`,ok:!0}),i(o.larkAppId,{cliId:I.body.cliId,wrapperCli:I.body.wrapperCli??null,model:I.body.model??"",agentSelectionKey:I.body.selectionKey??r})):y({text:`\u2717 ${L(I)}`})}catch(I){y({text:`\u2717 ${M(I)}`})}finally{b(!1)}}async function T(){if(o.cliId==="riff")return!0;try{let I=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/agent`,{cliId:"riff",model:""});return I.ok&&I.body.ok?(i(o.larkAppId,{cliId:I.body.cliId,wrapperCli:I.body.wrapperCli??null,model:I.body.model??"",agentSelectionKey:I.body.selectionKey??"riff"}),!0):(y({text:`\u2717 ${L(I)}`}),!1)}catch(I){return y({text:`\u2717 ${M(I)}`}),!1}}async function x(I){k(I),h(null),g(!0);try{let W=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/skill-injection`,{skillInjection:I});W.ok&&W.body.ok?(h({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0}),i(o.larkAppId,{skillInjection:W.body.skillInjection??null})):h({text:`\u2717 ${L(W)}`})}catch(W){h({text:`\u2717 ${M(W)}`})}finally{g(!1)}}let B=o.skillInjectionSupport==="dynamic"?"dynamic":o.skillInjectionSupport==="global"?"global":"none",F=d.options.map(I=>({value:I.id,label:I.available===!1?e("botDefaults.agentMissingOption",{label:I.label,command:I.command??I.id}):`${I.label}\uFF08${I.id}\uFF09`})),j=[{value:"dynamic",label:e("botDefaults.skillInjectionDynamic")}],z=[{value:"dynamic",label:e("botDefaults.skillInjectionDynamicUnsupported"),disabled:!0},{value:"prompt",label:e("botDefaults.skillInjectionPrompt")},{value:"global",label:e("botDefaults.skillInjectionGlobal")},{value:"off",label:e("botDefaults.skillInjectionOff")}],E=r==="riff";return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionAgent")}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)("span",{children:e("botDefaults.agentCli")}),(0,t.jsx)(H,{dataInput:"agentCliId",ariaLabel:e("botDefaults.agentCli"),value:r,disabled:u,options:F,onChange:m}),N?.available===!1?(0,t.jsx)("small",{className:"hint-warn",children:e("botDefaults.agentMissingHint",{command:N.command??r})}):null]})}),!E&&(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)(P,{help:e("botDefaults.agentHelp"),children:e("botDefaults.agentModel")}),(0,t.jsx)("input",{type:"text","data-input":"agentModel",list:`agent-model-suggestions-${o.larkAppId}`,placeholder:R,value:f,disabled:u||C,onChange:I=>n(I.currentTarget.value)}),(0,t.jsx)("datalist",{id:`agent-model-suggestions-${o.larkAppId}`,children:S.map(I=>(0,t.jsx)("option",{value:I},I))})]})}),E&&(0,t.jsx)(le,{bot:o,patchBot:i,persistCliSelection:T}),!E&&B==="dynamic"?(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.skillInjectionHelpDynamic"),children:e("botDefaults.skillInjection")}),(0,t.jsx)(H,{dataInput:"skillInjection",ariaLabel:e("botDefaults.skillInjection"),value:"dynamic",disabled:!0,options:j,onChange:()=>{}})]})}):!E&&B==="global"?(0,t.jsxs)("div",{className:"bd-row",children:[(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.skillInjectionHelp"),children:e("botDefaults.skillInjection")}),(0,t.jsx)(H,{dataInput:"skillInjection",ariaLabel:e("botDefaults.skillInjection"),value:D,disabled:w,options:z,onChange:I=>{x(I)}})]}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:v,attr:{"data-skill-injection-status":""}})})]}):null,!E&&(0,t.jsxs)("div",{className:"actions bd-section-actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-agent",disabled:u,onClick:()=>{G()},children:e("botDefaults.agentSave")}),(0,t.jsx)($,{status:p,attr:{"data-agent-status":""}})]})]})}function St(a){let e=a.skillInjection==="global"||a.skillInjection==="prompt"||a.skillInjection==="off"?a.skillInjection:"",o=a.skillInjectionDefault==="global"||a.skillInjectionDefault==="off"?a.skillInjectionDefault:"prompt";return e||o}function Et(a){let e=A(),{bot:o,patchBot:d}=a,i=Ct(o),[l,r]=(0,s.useState)(i.mode),[c,f]=(0,s.useState)(i.workingDir),[n,p]=(0,s.useState)(o.defaultWorkingDirAutoWorktree===!0),[y,u]=(0,s.useState)(null),[b,D]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let h=Ct(o);r(h.mode),f(h.workingDir),p(o.defaultWorkingDirAutoWorktree===!0)},[o.defaultOncall?.enabled,o.defaultOncall?.workingDir,o.defaultWorkingDir,o.defaultWorkingDirAutoWorktree]);async function k(){u(null);let h=c.trim();if(l!=="off"&&!h){u({text:e("botDefaults.required")});return}let w=l==="default"&&n;D(!0);try{let g=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/working-dir-mode`,{mode:l,workingDir:h,autoWorktree:w});if(g.ok&&g.body.ok){let N=g.body.resolvedPath?` \u2192 ${g.body.resolvedPath}`:"";u({text:`\u2713 ${e("botDefaults.workingDirSaved")}${N}`,ok:!0}),d(o.larkAppId,{defaultOncall:g.body.defaultOncall??o.defaultOncall,defaultWorkingDir:g.body.defaultWorkingDir??null,defaultWorkingDirAutoWorktree:g.body.defaultWorkingDirAutoWorktree===!0})}else u({text:`\u2717 ${L(g)}`})}catch(g){u({text:`\u2717 ${M(g)}`})}finally{D(!1)}}let v=[{value:"off",label:e("botDefaults.workingDirModeOff")},{value:"default",label:e("botDefaults.workingDirModeDefault")},{value:"oncall",label:e("botDefaults.workingDirModeOncall")}];return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionWorkingDir")}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.workingDirModeHelp"),children:e("botDefaults.workingDirMode")}),(0,t.jsx)(H,{dataInput:"workingDirMode",ariaLabel:e("botDefaults.workingDirMode"),value:l,disabled:b,options:v,onChange:h=>r(h)})]})}),(0,t.jsx)("div",{className:"bd-row","data-wd-dir-row":!0,hidden:l==="off",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.workingDirField")}),(0,t.jsx)("input",{type:"text","data-input":"workingDir",placeholder:"e.g. /root/iserver/botmux",value:c,disabled:b,onChange:h=>f(h.currentTarget.value)})]})}),(0,t.jsxs)("label",{className:"toggle-row","data-wd-worktree-row":!0,hidden:l!=="default",children:[(0,t.jsx)("input",{type:"checkbox","data-input":"autoWorktree",checked:n,disabled:b,onChange:h=>p(h.currentTarget.checked)}),(0,t.jsx)("span",{className:"switch","aria-hidden":"true"}),(0,t.jsx)("span",{className:"toggle-tx",children:(0,t.jsx)("strong",{children:(0,t.jsx)(P,{help:e("botDefaults.autoWorktreeHelp"),children:e("botDefaults.autoWorktree")})})})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-working-dir",disabled:b,onClick:()=>{k()},children:e("botDefaults.save")}),(0,t.jsx)($,{status:y,attr:{"data-status":""}})]}),(0,t.jsx)(Jt,{bot:o,putCardPref:a.putCardPref})]})}function Ct(a){let e=a.defaultOncall??{enabled:!1,workingDir:""};return{mode:e.enabled?"oncall":a.defaultWorkingDir?"default":"off",workingDir:a.defaultWorkingDir||e.workingDir||""}}function Jt(a){let e=A(),{bot:o,putCardPref:d}=a,[i,l]=(0,s.useState)(o.autoStartOnGroupJoin===!0),[r,c]=(0,s.useState)(o.autoStartOnNewTopic===!0),[f,n]=(0,s.useState)(typeof o.autoStartOnGroupJoinPrompt=="string"?o.autoStartOnGroupJoinPrompt:""),[p,y]=(0,s.useState)(null),[u,b]=(0,s.useState)(null);(0,s.useEffect)(()=>{l(o.autoStartOnGroupJoin===!0),c(o.autoStartOnNewTopic===!0),n(typeof o.autoStartOnGroupJoinPrompt=="string"?o.autoStartOnGroupJoinPrompt:"")},[o.autoStartOnGroupJoin,o.autoStartOnGroupJoinPrompt,o.autoStartOnNewTopic]);async function D(k,v){b(v),y(null);try{let h=await d(k);y(h.ok?{text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0}:{text:`\u2717 ${L(h)}`})}catch(h){y({text:`\u2717 ${M(h)}`})}finally{b(null)}}return(0,t.jsxs)("div",{className:"bd-subsection",children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:e("botDefaults.sectionAutoStart")}),(0,t.jsx)(U,{checked:i,disabled:u==="join",dataAction:"toggle-auto-join",title:e("botDefaults.autoStartJoin"),help:e("botDefaults.autoStartJoinHelp"),onChange:k=>{l(k),D({autoStartOnGroupJoin:k},"join")}}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.autoStartJoinPrompt")}),(0,t.jsx)("textarea",{"data-input":"autoJoinPrompt",rows:3,placeholder:e("botDefaults.autoStartJoinPromptPlaceholder"),value:f,onChange:k=>n(k.currentTarget.value)})]})}),(0,t.jsx)(U,{checked:r,disabled:u==="topic",dataAction:"toggle-auto-topic",title:e("botDefaults.autoStartTopic"),help:e("botDefaults.autoStartTopicHelp"),onChange:k=>{c(k),D({autoStartOnNewTopic:k},"topic")}}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-auto-join-prompt",disabled:u==="prompt",onClick:()=>{D({autoStartOnGroupJoinPrompt:f},"prompt")},children:e("botDefaults.autoStartJoinPromptSave")}),(0,t.jsx)($,{status:p,attr:{"data-auto-start-status":""}})]})]})}function qt(a){let e=A(),{bot:o,patchBot:d}=a,[i,l]=(0,s.useState)(o.sandbox===!0),[r,c]=(0,s.useState)(null),[f,n]=(0,s.useState)(!1);(0,s.useEffect)(()=>l(o.sandbox===!0),[o.sandbox]);async function p(u){l(u),c(null),n(!0);try{let b=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/sandbox`,{enabled:u});b.ok&&b.body.ok?(c({text:`\u2713 ${e("botDefaults.sandboxSaved")}`,ok:!0}),d(o.larkAppId,{sandbox:b.body.sandbox===!0})):(c({text:`\u2717 ${L(b)}`}),l(!u))}catch(b){c({text:`\u2717 ${M(b)}`}),l(!u)}finally{n(!1)}}let y=o.readIsolationSupported===!0;return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionSandbox")}),(0,t.jsx)(U,{checked:i,disabled:f,dataAction:"toggle-sandbox",title:e("botDefaults.sandboxToggle"),help:e("botDefaults.sandboxHelp"),onChange:u=>{p(u)}}),(0,t.jsx)("p",{className:"bd-section-note","data-read-iso-capability":y?"yes":"no",children:y?`\uFF0B ${e("botDefaults.sandboxReadIsoOn")}`:e("botDefaults.sandboxReadIsoOff")}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:r,attr:{"data-sandbox-status":""}})})]})}var Kt=[{value:"",labelKey:"botDefaults.backendAuto"},{value:"tmux",labelKey:"botDefaults.backendTmux"},{value:"herdr",labelKey:"botDefaults.backendHerdr"},{value:"zellij",labelKey:"botDefaults.backendZellij"},{value:"pty",labelKey:"botDefaults.backendPty"}];function Qt(a){let e=A(),{bot:o,patchBot:d}=a,[i,l]=(0,s.useState)(typeof o.backendType=="string"?o.backendType:""),[r,c]=(0,s.useState)(null),[f,n]=(0,s.useState)(!1);(0,s.useEffect)(()=>l(typeof o.backendType=="string"?o.backendType:""),[o.backendType]);let p=(0,s.useMemo)(()=>Kt.map(u=>({value:u.value,label:e(u.labelKey)})),[e]);async function y(u){let b=i;l(u),c(null),n(!0);try{let D=await O("PUT",`/api/bots/${encodeURIComponent(o.larkAppId)}/backend-type`,{backendType:u});D.ok&&D.body.ok?(c({text:`\u2713 ${e("botDefaults.backendSaved")}`,ok:!0}),d(o.larkAppId,{backendType:typeof D.body.backendType=="string"?D.body.backendType:null})):(c({text:`\u2717 ${L(D)}`}),l(b))}catch(D){c({text:`\u2717 ${M(D)}`}),l(b)}finally{n(!1)}}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionBackend")}),(0,t.jsxs)("div",{className:"bd-row",children:[(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.backendHelp"),children:e("botDefaults.backendLabel")}),(0,t.jsx)(H,{dataInput:"backendType",ariaLabel:e("botDefaults.backendLabel"),value:i,disabled:f,options:p,onChange:u=>{y(u)}})]}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:r,attr:{"data-backend-status":""}})})]})]})}function Vt(a){let e=A(),{bot:o,patchBot:d}=a,[i,l]=(0,s.useState)(typeof o.teamRole=="string"),[r,c]=(0,s.useState)(typeof o.teamRole=="string"?o.teamRole:""),[f,n]=(0,s.useState)(null),[p,y]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let b=!0,D=`/api/team/local-bots/${encodeURIComponent(o.larkAppId)}/role`;return typeof o.teamRole=="string"?(l(!0),c(o.teamRole),()=>{b=!1}):(n(null),l(!1),c(""),(async()=>{try{let k=await fetch(D),v=await k.json().catch(()=>({}));if(!b)return;if(k.ok&&v.ok){let h=v.role??"";c(h),l(!0),d(o.larkAppId,{teamRole:h})}else n({text:`\u2717 ${e("botDefaults.roleLoadErr")}: ${v.error??k.status}`})}catch(k){b&&n({text:`\u2717 ${e("botDefaults.roleLoadErr")}: ${M(k)}`})}})(),()=>{b=!1})},[o.larkAppId,o.teamRole,d,e]);async function u(b,D){if(i){n(null),y(!0);try{let k=await O("PUT",`/api/team/local-bots/${encodeURIComponent(o.larkAppId)}/role`,{role:b});if(k.ok&&k.body.ok){let v=b.trim();c(v),d(o.larkAppId,{teamRole:v}),n({text:`\u2713 ${e(D?"botDefaults.roleDeleted":"botDefaults.roleSaved")}`,ok:!0})}else n({text:`\u2717 ${L(k)}`})}catch(k){n({text:`\u2717 ${M(k)}`})}finally{y(!1)}}}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:(0,t.jsx)(P,{help:e("botDefaults.roleHelp"),children:e("botDefaults.sectionRole")})}),(0,t.jsx)("textarea",{"data-input":"teamRole",rows:6,placeholder:e("botDefaults.rolePlaceholder"),disabled:!i||p,value:r,onChange:b=>c(b.currentTarget.value)}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-role",disabled:!i||p,onClick:()=>{u(r,r.trim()==="")},children:e("botDefaults.roleSave")}),(0,t.jsx)($,{status:f,attr:{"data-role-status":""}})]}),(0,t.jsx)(_t,{appId:o.larkAppId})]})}function _t(a){let e=A(),[o,d]=(0,s.useState)({loaded:!1,loading:!0,items:[]});(0,s.useEffect)(()=>{let r=!0;return d({loaded:!1,loading:!0,items:[]}),(async()=>{try{let c=await fetch("/api/role-profiles"),f=await c.json().catch(()=>({}));if(!r)return;if(!c.ok)throw new Error(f?.error??String(c.status));let p=(Array.isArray(f.profiles)?f.profiles:[]).filter(y=>(y.botEntries??[]).some(u=>u?.larkAppId===a.appId&&u?.hasEntry)).map(y=>({profileId:String(y.profileId)}));d({loaded:!0,loading:!1,items:p})}catch(c){r&&d({loaded:!0,loading:!1,error:M(c),items:[]})}})(),()=>{r=!1}},[a.appId]);async function i(r){let c=o.items.find(f=>f.profileId===r);if(!(!c||c.loaded||c.loading)){d(f=>({...f,items:f.items.map(n=>n.profileId===r?{...n,loading:!0}:n)}));try{let f=await fetch(`/api/role-profiles/${encodeURIComponent(r)}/${encodeURIComponent(a.appId)}`),n=await f.json().catch(()=>({}));if(!f.ok)throw new Error(n?.error??String(f.status));d(p=>({...p,items:p.items.map(y=>y.profileId===r?{...y,loading:!1,loaded:!0,content:n?.hasEntry?String(n.content??""):""}:y)}))}catch(f){d(n=>({...n,items:n.items.map(p=>p.profileId===r?{...p,loading:!1,error:M(f)}:p)}))}}}let l;return o.loading?l=(0,t.jsx)(V,{label:e("common.loading"),compact:!0}):o.error?l=(0,t.jsx)("p",{className:"hint-warn-inline",children:e("botDefaults.profileRolesLoadFailed",{error:o.error})}):o.items.length===0?l=(0,t.jsx)("p",{className:"empty",children:e("botDefaults.profileRolesEmpty")}):l=o.items.map(r=>(0,t.jsxs)("details",{className:"bd-profile-role-entry","data-profile-id":r.profileId,onToggle:c=>{c.currentTarget.open&&i(r.profileId)},children:[(0,t.jsx)("summary",{children:(0,t.jsx)("span",{className:"bd-profile-role-id",children:r.profileId})}),(0,t.jsx)("div",{className:"bd-profile-role-content","data-profile-role-body":r.profileId,children:r.loading?(0,t.jsx)(V,{label:e("common.loading"),compact:!0}):r.error?(0,t.jsx)("p",{className:"hint-warn-inline",children:e("botDefaults.profileRoleDetailLoadFailed",{error:r.error})}):r.loaded?(0,t.jsx)("pre",{children:r.content??""}):(0,t.jsx)("p",{className:"empty",children:e("botDefaults.profileRoleClickToLoad")})})]},r.profileId)),(0,t.jsxs)("div",{className:"bd-profile-roles","data-profile-roles":!0,children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:(0,t.jsx)(P,{help:e("botDefaults.profileRolesHelp"),children:e("botDefaults.profileRoles")})}),(0,t.jsx)("div",{className:"bd-profile-role-list","data-profile-role-list":!0,children:l})]})}function zt(a){let e=A(),{bot:o,putCardPref:d}=a,[i,l]=(0,s.useState)(o.disableStreamingCard===!0),[r,c]=(0,s.useState)(o.silentTurnReactions===!0),[f,n]=(0,s.useState)(o.writableTerminalLinkInCard===!0),[p,y]=(0,s.useState)(o.privateCard===!0),[u,b]=(0,s.useState)(null),[D,k]=(0,s.useState)(null);(0,s.useEffect)(()=>{l(o.disableStreamingCard===!0),c(o.silentTurnReactions===!0),n(o.writableTerminalLinkInCard===!0),y(o.privateCard===!0)},[o.disableStreamingCard,o.privateCard,o.silentTurnReactions,o.writableTerminalLinkInCard]);async function v(h,w){k(w),b(null);try{let g=await d(h);b(g.ok?{text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0}:{text:`\u2717 ${L(g)}`})}catch(g){b({text:`\u2717 ${M(g)}`})}finally{k(null)}}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionCard")}),(0,t.jsxs)("div",{className:"bd-toggle-grid bd-card-behavior-grid",children:[(0,t.jsx)(U,{checked:i,disabled:D==="streaming",dataAction:"toggle-disable-streaming",title:e("botDefaults.disableStreaming"),help:e("botDefaults.disableStreamingHelp"),onChange:h=>{l(h),v({disableStreamingCard:h},"streaming")}}),(0,t.jsx)(U,{checked:r,disabled:!i||D==="silent",dataAction:"toggle-silent-reactions",title:e("botDefaults.silentTurnReactions"),help:e("botDefaults.silentTurnReactionsHelp"),onChange:h=>{c(h),v({silentTurnReactions:h},"silent")}}),(0,t.jsx)(U,{checked:f,disabled:i||D==="writable",dataAction:"toggle-writable-link",title:e("botDefaults.writableLink"),help:e("botDefaults.writableLinkHelp"),onChange:h=>{n(h),v({writableTerminalLinkInCard:h},"writable")}}),(0,t.jsx)(U,{checked:p,disabled:D==="private",dataAction:"toggle-private-card",title:e("botDefaults.privateCard"),help:e("botDefaults.privateCardHelp"),onChange:h=>{y(h),v({privateCard:h},"private")}})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("small",{"data-card-pref-moot":!0,className:"hint-warn-inline",hidden:!i,children:e("botDefaults.writableLinkMoot")}),(0,t.jsx)($,{status:u,attr:{"data-card-pref-status":""}})]})]})}function Yt(a){let e=A(),[o,d]=(0,s.useState)(a.bot.botToBotSameDir!==!1),[i,l]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1);(0,s.useEffect)(()=>d(a.bot.botToBotSameDir!==!1),[a.bot.botToBotSameDir]);async function f(n){d(n),c(!0),l(null);try{let p=await a.putCardPref({botToBotSameDir:n});l(p.ok?{text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0}:{text:`\u2717 ${L(p)}`})}catch(p){l({text:`\u2717 ${M(p)}`})}finally{c(!1)}}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionCrossBot")}),(0,t.jsx)(U,{checked:o,disabled:r,dataAction:"toggle-cross-bot-samedir",title:e("botDefaults.botToBotSameDir"),help:e("botDefaults.botToBotSameDirHelp"),onChange:n=>{f(n)}}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:i,attr:{"data-crossbot-status":""}})})]})}function Zt(a){let e=A(),o=et(a.bot),[d,i]=(0,s.useState)(String(o.limit)),[l,r]=(0,s.useState)(String(o.sinceHours)),[c,f]=(0,s.useState)(null),[n,p]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let u=et(a.bot);i(String(u.limit)),r(String(u.sinceHours))},[a.bot.summaryRange?.limit,a.bot.summaryRange?.sinceHours]);async function y(){f(null);let u=Dt(d,50),b=Dt(l,24);if(u==null||b==null){f({text:`\u2717 ${e("botDefaults.summaryNumberInvalid")}`});return}p(!0);try{let D=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/summary-range`,{limit:u,sinceHours:b});if(D.ok&&D.body.ok){let k=D.body.summaryRange??{limit:u,sinceHours:b},v=et({...a.bot,summaryRange:k});i(String(v.limit)),r(String(v.sinceHours)),a.patchBot(a.bot.larkAppId,{summaryRange:k}),f({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else f({text:`\u2717 ${L(D)}`})}catch(D){f({text:`\u2717 ${M(D)}`})}finally{p(!1)}}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:(0,t.jsx)(P,{help:e("botDefaults.summaryLimitHelp"),children:e("botDefaults.sectionSummaryTrigger")})}),(0,t.jsxs)("div",{className:"bd-row bd-summary-limits",children:[(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.summaryLimit")}),(0,t.jsx)("input",{type:"number",min:0,step:1,"data-input":"summaryLimit",value:d,disabled:n,onChange:u=>i(u.currentTarget.value)})]}),(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.summarySinceHours")}),(0,t.jsx)("input",{type:"number",min:0,step:1,"data-input":"summarySinceHours",value:l,disabled:n,onChange:u=>r(u.currentTarget.value)})]})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-summary-trigger",disabled:n,onClick:()=>{y()},children:e("botDefaults.summarySave")}),(0,t.jsx)($,{status:c,attr:{"data-summary-trigger-status":""}})]})]})}function et(a){let e=a.summaryRange??{limit:50,sinceHours:24};return{limit:Number.isInteger(e.limit)&&Number(e.limit)>=0?Number(e.limit):50,sinceHours:Number.isInteger(e.sinceHours)&&Number(e.sinceHours)>=0?Number(e.sinceHours):24}}function Xt(a){let e=A(),[o,d]=(0,s.useState)(a.bot.p2pMode==="chat"?"chat":"thread"),[i,l]=(0,s.useState)(Nt(a.bot)),[r,c]=(0,s.useState)(It(a.bot)),[f,n]=(0,s.useState)(a.bot.docSubscribeDefaultMode==="all"?"all":"mention-only"),[p,y]=(0,s.useState)(null),[u,b]=(0,s.useState)(null),[D,k]=(0,s.useState)(null),[v,h]=(0,s.useState)(null),[w,g]=(0,s.useState)(null);(0,s.useEffect)(()=>{d(a.bot.p2pMode==="chat"?"chat":"thread"),l(Nt(a.bot)),c(It(a.bot)),n(a.bot.docSubscribeDefaultMode==="all"?"all":"mention-only")},[a.bot.docSubscribeDefaultMode,a.bot.p2pMode,a.bot.regularGroupMentionMode,a.bot.regularGroupReplyMode]);async function N(T){let x=T==="chat"?"chat":"thread";d(x),y("p2p"),b(null);try{let B=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/p2p-mode`,{p2pMode:x});B.ok&&B.body.ok?(a.patchBot(a.bot.larkAppId,{p2pMode:B.body.p2pMode==="chat"?"chat":"thread"}),b({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})):b({text:`\u2717 ${L(B)}`})}catch(B){b({text:`\u2717 ${M(B)}`})}finally{y(null)}}async function S(T,x,B){y(T),B(null);try{let F=await a.putCardPref(x);B(F.ok?{text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0}:{text:`\u2717 ${L(F)}`})}catch(F){B({text:`\u2717 ${M(F)}`})}finally{y(null)}}let C=[{value:"thread",label:e("botDefaults.p2pThread")},{value:"chat",label:e("botDefaults.p2pChat")}],R=[{value:"chat",label:e("botDefaults.regularGroupModeChat")},{value:"chat-topic",label:e("botDefaults.regularGroupModeChatTopic")},{value:"new-topic",label:e("botDefaults.regularGroupModeNewTopic")},{value:"shared",label:e("botDefaults.regularGroupModeShared")}],m=[{value:"always",label:e("botDefaults.mentionModeAlways")},{value:"topic",label:e("botDefaults.mentionModeTopic")},{value:"never",label:e("botDefaults.mentionModeNever")},{value:"ambient",label:e("botDefaults.mentionModeAmbient")}],G=[{value:"mention-only",label:e("botDefaults.docSubscribeModeMention")},{value:"all",label:e("botDefaults.docSubscribeModeAll")}];return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionSessionMode")}),(0,t.jsxs)("div",{className:"bd-row",children:[(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.p2pHelp"),children:e("botDefaults.p2pMode")}),(0,t.jsx)(H,{dataInput:"p2pMode",ariaLabel:e("botDefaults.p2pMode"),value:o,disabled:p==="p2p",options:C,onChange:T=>{N(T)}})]}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:u,attr:{"data-p2p-status":""}})})]}),(0,t.jsxs)("div",{className:"bd-row",children:[(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.regularGroupModeHelp"),children:e("botDefaults.regularGroupMode")}),(0,t.jsx)(H,{dataInput:"regularGroupMode",ariaLabel:e("botDefaults.regularGroupMode"),value:i,disabled:p==="regular",options:R,onChange:T=>{l(T),S("regular",{regularGroupReplyMode:T},k)}})]}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:D,attr:{"data-regular-group-status":""}})})]}),(0,t.jsxs)("div",{className:"bd-row",children:[(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.mentionModeHelp"),children:e("botDefaults.mentionMode")}),(0,t.jsx)(H,{dataInput:"regularGroupMentionMode",ariaLabel:e("botDefaults.mentionMode"),value:r,disabled:p==="mention",options:m,onChange:T=>{c(T),S("mention",{regularGroupMentionMode:T},h)}})]}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:v,attr:{"data-mention-mode-status":""}})})]}),(0,t.jsxs)("div",{className:"bd-row",children:[(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{help:e("botDefaults.docSubscribeModeHelp"),children:e("botDefaults.docSubscribeMode")}),(0,t.jsx)(H,{dataInput:"docSubscribeDefaultMode",ariaLabel:e("botDefaults.docSubscribeMode"),value:f,disabled:p==="doc",options:G,onChange:T=>{n(T),S("doc",{docSubscribeDefaultMode:T},g)}})]}),(0,t.jsx)("div",{className:"actions",children:(0,t.jsx)($,{status:w,attr:{"data-doc-subscribe-mode-status":""}})})]})]})}function te(a){let e=A(),o=a.bot.substituteMode??null,[d,i]=(0,s.useState)(o?.enabled===!0),[l,r]=(0,s.useState)(o?.disclosure==="none"?"none":"prefix"),[c,f]=(0,s.useState)(null),[n,p]=(0,s.useState)(!1),y=(0,s.useRef)(0),u=(0,s.useRef)(!1);function b(g){let N=Pt(g);return{key:++y.current,idField:N,idValue:g?.[N]??"",name:g?.name??"",persisted:g?{...g}:{},originalIdField:g?N:void 0}}let[D,k]=(0,s.useState)(()=>{let g=o?.targets??[];return g.length?g.map(N=>b(N)):[b()]});(0,s.useEffect)(()=>{if(u.current){u.current=!1;return}let g=a.bot.substituteMode??null;i(g?.enabled===!0),r(g?.disclosure==="none"?"none":"prefix");let N=g?.targets??[];k(N.length?N.map(S=>b(S)):[b()])},[a.bot.larkAppId,a.bot.substituteMode]);async function v(g){p(!0),f(null);try{let N=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/substitute-mode`,g);if(N.ok&&N.body.ok){let S=N.body.substituteMode&&typeof N.body.substituteMode=="object"?N.body.substituteMode:null,C=Array.isArray(N.body?.resolution)?N.body.resolution:[],R=C.filter(m=>m?.ok===!1).map(m=>String(m.input??"").trim()).filter(Boolean);if(i(S?.enabled===!0),r(S?.disclosure==="none"?"none":"prefix"),C.length)u.current=!0,k(m=>{let G=[...C];return m.map(T=>{let x=T.idValue.trim(),B=G.findIndex(z=>String(z.input??"").trim()===x);if(B<0)return T;let F=G.splice(B,1)[0];if(F?.ok!==!0)return T;let j={...T.persisted};return F.openId&&(j.openId=F.openId),T.idField==="email"&&(j.email=x),F.name&&(j.name=F.name),{...T,name:F.name??T.name,persisted:j}})});else{let m=S?.targets??[];k(m.length?m.map(G=>b(G)):[b()])}a.patchBot(a.bot.larkAppId,{substituteMode:S}),f(R.length?{text:`\u2717 ${e("botDefaults.substituteTargetsInvalid")}: ${R.join(", ")}`}:{text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else{let S=Array.isArray(N.body?.resolution)?N.body.resolution.filter(C=>C?.ok===!1).map(C=>String(C.input??"").trim()).filter(Boolean):[];f({text:S.length?`\u2717 ${e("botDefaults.substituteTargetsInvalid")}: ${S.join(", ")}`:`\u2717 ${L(N)}`})}}catch(N){f({text:`\u2717 ${M(N)}`})}finally{p(!1)}}function h(){let g=[],N=!1;for(let S of D){let C=Rt(S);if(!C){N||=!!S.name.trim();continue}g.push(C)}if(N||d&&g.length===0){f({text:`\u2717 ${e("botDefaults.substituteTargetsInvalid")}`});return}v({enabled:d,targets:g,disclosure:l})}let w=[{value:"prefix",label:e("botDefaults.substituteDisclosurePrefix")},{value:"none",label:e("botDefaults.substituteDisclosureNone")}];return(0,t.jsxs)("section",{className:"bd-section bd-substitute-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionSubstitute")}),(0,t.jsx)(U,{checked:d,disabled:n,dataAction:"toggle-substitute-mode",title:e("botDefaults.substituteEnabled"),help:e("botDefaults.substituteHelp"),onChange:i}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("div",{className:"bd-field",children:[(0,t.jsx)(P,{children:e("botDefaults.substituteDisclosure")}),(0,t.jsx)(H,{dataInput:"substituteDisclosure",ariaLabel:e("botDefaults.substituteDisclosure"),value:l,disabled:n,options:w,onChange:g=>r(g)})]})}),(0,t.jsxs)("div",{className:"bd-row bd-substitute-targets",children:[(0,t.jsx)(P,{help:e("botDefaults.substituteTargetsHelp"),children:e("botDefaults.substituteTargets")}),(0,t.jsxs)("div",{className:"bd-substitute-target-list","data-input":"substituteTargets",children:[D.map((g,N)=>(0,t.jsxs)("div",{className:"bd-substitute-target-row",children:[(0,t.jsx)(H,{dataInput:`substituteTargetType-${g.key}`,className:"bd-substitute-target-type",ariaLabel:`${e("botDefaults.substituteTargetType")} ${N+1}`,value:g.idField,disabled:n,options:at.map(S=>({value:S,label:e(`botDefaults.substituteTarget${S[0].toUpperCase()}${S.slice(1)}`)})),onChange:S=>{k(C=>C.map(R=>R.key===g.key?{...R,idField:S,idValue:R.persisted[S]??""}:R))}}),(0,t.jsx)("input",{className:"bd-substitute-target-id",type:"text","data-input":`substituteTargetId-${g.key}`,"aria-label":`${e("botDefaults.substituteTargetType")} ${N+1}`,placeholder:e("botDefaults.substituteTargetIdPlaceholder"),value:g.idValue,disabled:n,onChange:S=>{let C=S.currentTarget.value;k(R=>R.map(m=>m.key===g.key?{...m,idValue:C}:m))}}),(0,t.jsx)("input",{className:"bd-substitute-target-name",type:"text","data-input":`substituteTargetName-${g.key}`,"aria-label":`${e("botDefaults.substituteTargetName")} ${N+1}`,placeholder:e("botDefaults.substituteTargetNamePlaceholder"),value:g.name,disabled:n,onChange:S=>{let C=S.currentTarget.value;k(R=>R.map(m=>m.key===g.key?{...m,name:C}:m))}}),(0,t.jsx)("button",{type:"button",className:"bd-substitute-target-remove","data-action":"remove-substitute-target",title:e("botDefaults.substituteTargetRemove"),"aria-label":e("botDefaults.substituteTargetRemove"),disabled:n,onClick:()=>{k(S=>{let C=S.filter(R=>R.key!==g.key);return C.length?C:[b()]})},children:(0,t.jsx)("span",{"aria-hidden":"true",children:"\xD7"})})]},g.key)),(0,t.jsx)("button",{type:"button",className:"bd-substitute-target-add","data-action":"add-substitute-target",title:e("botDefaults.substituteTargetAdd"),"aria-label":e("botDefaults.substituteTargetAdd"),disabled:n,onClick:()=>k(g=>[...g,b()]),children:(0,t.jsx)("span",{"aria-hidden":"true",children:"+"})})]})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-substitute-mode",disabled:n,onClick:h,children:e("botDefaults.substituteSave")}),(0,t.jsx)("button",{type:"button","data-action":"off-substitute-mode",disabled:n,onClick:()=>{v({enabled:!1,targets:[]})},children:e("botDefaults.substituteOff")}),(0,t.jsx)($,{status:c,attr:{"data-substitute-status":""}})]})]})}function Nt(a){return a.regularGroupReplyMode==="new-topic"||a.regularGroupReplyMode==="shared"||a.regularGroupReplyMode==="chat-topic"?a.regularGroupReplyMode:"chat"}function It(a){return a.regularGroupMentionMode==="topic"||a.regularGroupMentionMode==="never"||a.regularGroupMentionMode==="ambient"?a.regularGroupMentionMode:"always"}function ee(a){let e=A(),o=typeof a.bot.maxLiveWorkers=="number"?a.bot.maxLiveWorkers:null,d=Number.isFinite(a.bot.logicalSessionCount)?Number(a.bot.logicalSessionCount):0,i=Number.isFinite(a.bot.residentSessionCount)?Number(a.bot.residentSessionCount):0,l=Number.isFinite(a.bot.dormantSessionCount)?Number(a.bot.dormantSessionCount):0,[r,c]=(0,s.useState)(o),f=r??30,[n,p]=(0,s.useState)(o==null?"":String(o)),[y,u]=(0,s.useState)(null),[b,D]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let h=typeof a.bot.maxLiveWorkers=="number"?a.bot.maxLiveWorkers:null;c(h),p(h==null?"":String(h))},[a.bot.maxLiveWorkers]);async function k(h){u(null),D(!0);try{let w=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/max-live-workers`,{maxLiveWorkers:h});if(w.ok&&w.body.ok){let g=typeof w.body.maxLiveWorkers=="number"?w.body.maxLiveWorkers:null;c(g),p(g==null?"":String(g)),a.patchBot(a.bot.larkAppId,{maxLiveWorkers:g}),u({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else u({text:`\u2717 ${L(w)}`})}catch(w){u({text:`\u2717 ${M(w)}`})}finally{D(!1)}}function v(){let h=Tt(n);if(h==="invalid"){u({text:`\u2717 ${e("botDefaults.maxLiveWorkersInvalid")}`});return}k(h)}return(0,t.jsxs)("div",{className:"bd-subsection",children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:e("botDefaults.sectionSessionCap")}),(0,t.jsxs)("div",{className:"bd-row bd-quota",children:[(0,t.jsxs)("label",{children:[(0,t.jsx)(P,{help:e("botDefaults.maxLiveWorkersHelp"),children:e("botDefaults.maxLiveWorkers")}),(0,t.jsx)("input",{type:"number",min:1,step:1,"data-input":"maxLiveWorkers",placeholder:e("botDefaults.maxLiveWorkersPlaceholder"),value:n,disabled:b,onChange:h=>p(h.currentTarget.value)})]}),(0,t.jsx)("small",{"data-session-cap-state":!0,children:$t(r,e)}),(0,t.jsx)("small",{className:"bd-help bd-session-residency",children:e("botDefaults.maxLiveWorkersUsage",{resident:i,cap:f,dormant:l,logical:d})})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-session-cap",disabled:b,onClick:v,children:e("botDefaults.maxLiveWorkersSave")}),(0,t.jsx)("button",{type:"button","data-action":"off-session-cap",disabled:b,onClick:()=>{p(""),k(null)},children:e("botDefaults.maxLiveWorkersOff")}),(0,t.jsx)($,{status:y,attr:{"data-session-cap-status":""}})]})]})}function ae(a){let e=A(),[o,d]=(0,s.useState)(typeof a.bot.startupCommands=="string"?a.bot.startupCommands:""),[i,l]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1);(0,s.useEffect)(()=>d(typeof a.bot.startupCommands=="string"?a.bot.startupCommands:""),[a.bot.startupCommands]);async function f(){l(null),c(!0);try{let n=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/startup-commands`,{startupCommands:o});if(n.ok&&n.body.ok){let p=typeof n.body.startupCommands=="string"?n.body.startupCommands:"";d(p),a.patchBot(a.bot.larkAppId,{startupCommands:p}),l({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else l({text:`\u2717 ${L(n)}`})}catch(n){l({text:`\u2717 ${M(n)}`})}finally{c(!1)}}return(0,t.jsxs)("div",{className:"bd-subsection",children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:(0,t.jsx)(P,{help:e("botDefaults.startupCommandsHelp"),children:e("botDefaults.sectionStartupCommands")})}),(0,t.jsx)("textarea",{"data-input":"startupCommands",rows:3,placeholder:e("botDefaults.startupCommandsPlaceholder"),value:o,disabled:r,onChange:n=>d(n.currentTarget.value)}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-startup-commands",disabled:r,onClick:()=>{f()},children:e("botDefaults.startupCommandsSave")}),(0,t.jsx)($,{status:i,attr:{"data-startup-commands-status":""}})]})]})}function oe(a){let e=A(),[o,d]=(0,s.useState)(typeof a.bot.launchShell=="string"?a.bot.launchShell:""),[i,l]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1);(0,s.useEffect)(()=>d(typeof a.bot.launchShell=="string"?a.bot.launchShell:""),[a.bot.launchShell]);async function f(){l(null),c(!0);try{let n=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/launch-shell`,{launchShell:o});if(n.ok&&n.body.ok){let p=typeof n.body.launchShell=="string"?n.body.launchShell:"";d(p),a.patchBot(a.bot.larkAppId,{launchShell:p}),l({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else l({text:`\u2717 ${L(n)}`})}catch(n){l({text:`\u2717 ${M(n)}`})}finally{c(!1)}}return(0,t.jsxs)("div",{className:"bd-subsection",children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:(0,t.jsx)(P,{help:e("botDefaults.launchShellHelp"),children:e("botDefaults.sectionLaunchShell")})}),(0,t.jsx)("input",{type:"text","data-input":"launchShell",placeholder:e("botDefaults.launchShellPlaceholder"),value:o,disabled:r,onChange:n=>d(n.currentTarget.value)}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-launch-shell",disabled:r,onClick:()=>{f()},children:e("botDefaults.launchShellSave")}),(0,t.jsx)($,{status:i,attr:{"data-launch-shell-status":""}})]})]})}function se(a){let e=A(),[o,d]=(0,s.useState)(typeof a.bot.env=="string"?a.bot.env:""),[i,l]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1);(0,s.useEffect)(()=>d(typeof a.bot.env=="string"?a.bot.env:""),[a.bot.env]);async function f(){l(null),c(!0);try{let n=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/env`,{env:o});if(n.ok&&n.body.ok){let p=typeof n.body.env=="string"?n.body.env:"";d(p),a.patchBot(a.bot.larkAppId,{env:p}),l({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else l({text:`\u2717 ${L(n)}`})}catch(n){l({text:`\u2717 ${M(n)}`})}finally{c(!1)}}return(0,t.jsxs)("div",{className:"bd-subsection",children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:(0,t.jsx)(P,{help:e("botDefaults.envHelp"),children:e("botDefaults.sectionEnv")})}),(0,t.jsx)("textarea",{"data-input":"env",rows:5,placeholder:e("botDefaults.envPlaceholder"),value:o,disabled:r,onChange:n=>d(n.currentTarget.value)}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-env",disabled:r,onClick:()=>{f()},children:e("botDefaults.envSave")}),(0,t.jsx)($,{status:i,attr:{"data-env-status":""}})]})]})}var ne=["aiden","aiden-claude","codex","opencode"];function le(a){let e=A(),o=a.bot.riff&&typeof a.bot.riff=="object"?a.bot.riff:{},[d,i]=(0,s.useState)(typeof o.baseUrl=="string"?o.baseUrl:""),[l,r]=(0,s.useState)(typeof o.agent=="string"?o.agent:""),[c,f]=(0,s.useState)(typeof o.model=="string"?o.model:""),[n,p]=(0,s.useState)(typeof o.jwtEnv=="string"?o.jwtEnv:""),[y,u]=(0,s.useState)(typeof o.sandboxCluster=="string"?o.sandboxCluster:""),[b,D]=(0,s.useState)(o.injectStatusLines!==!1),[k,v]=(0,s.useState)(typeof o.systemPrompt=="string"?o.systemPrompt:""),[h,w]=(0,s.useState)(Array.isArray(o.setupCommands)?o.setupCommands.join(`
|
|
2
|
-
`):""),[g,N]=(0,s.useState)(null),[S,C]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let m=a.bot.riff&&typeof a.bot.riff=="object"?a.bot.riff:{};i(typeof m.baseUrl=="string"?m.baseUrl:""),r(typeof m.agent=="string"?m.agent:""),f(typeof m.model=="string"?m.model:""),p(typeof m.jwtEnv=="string"?m.jwtEnv:""),u(typeof m.sandboxCluster=="string"?m.sandboxCluster:""),D(m.injectStatusLines!==!1),v(typeof m.systemPrompt=="string"?m.systemPrompt:""),w(Array.isArray(m.setupCommands)?m.setupCommands.join(`
|
|
3
|
-
`):"")},[a.bot.riff]);async function R(){N(null),C(!0);try{let m={};d.trim()&&(m.baseUrl=d.trim()),l.trim()&&(m.agent=l.trim()),c.trim()&&(m.model=c.trim()),n.trim()&&(m.jwtEnv=n.trim()),y.trim()&&(m.sandboxCluster=y.trim()),m.injectStatusLines=b,k.trim()&&(m.systemPrompt=k.trim()),h.trim()&&(m.setupCommands=h.split(`
|
|
4
|
-
`).map(x=>x.trim()).filter(Boolean));let G=Object.keys(m).length?JSON.stringify(m):"",T=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/riff`,{riff:G});if(T.ok&&T.body.ok){let x=typeof T.body.riff=="string"&&T.body.riff?JSON.parse(T.body.riff):null;if(a.patchBot(a.bot.larkAppId,{riff:x}),a.persistCliSelection&&!await a.persistCliSelection()){N({text:`\u2717 ${e("botDefaults.riffCliPersistFailed")}`});return}N({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else N({text:`\u2717 ${L(T)}`})}catch(m){N({text:`\u2717 ${M(m)}`})}finally{C(!1)}}return(0,t.jsxs)("div",{className:"bd-subsection",children:[(0,t.jsx)("h4",{className:"bd-subsection-title",children:(0,t.jsx)(P,{help:e("botDefaults.riffHelp"),children:e("botDefaults.sectionRiff")})}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.riffBaseUrl")}),(0,t.jsx)("input",{type:"text","data-input":"riff-base-url",placeholder:e("botDefaults.riffBaseUrlPlaceholder"),value:d,disabled:S,onChange:m=>i(m.currentTarget.value)})]})}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:(0,t.jsx)(P,{help:e("botDefaults.riffAgentHelp"),children:e("botDefaults.riffAgent")})}),(0,t.jsx)("input",{type:"text","data-input":"riff-agent",list:`riff-agent-suggestions-${a.bot.larkAppId}`,placeholder:e("botDefaults.riffAgentPlaceholder"),value:l,disabled:S,onChange:m=>r(m.currentTarget.value)}),(0,t.jsx)("datalist",{id:`riff-agent-suggestions-${a.bot.larkAppId}`,children:ne.map(m=>(0,t.jsx)("option",{value:m},m))})]})}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:(0,t.jsx)(P,{help:e("botDefaults.riffModelHelp"),children:e("botDefaults.riffModel")})}),(0,t.jsx)("input",{type:"text","data-input":"riff-model",placeholder:e("botDefaults.riffModelPlaceholder"),value:c,disabled:S,onChange:m=>f(m.currentTarget.value)})]})}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:(0,t.jsx)(P,{help:e("botDefaults.riffJwtEnvHelp"),children:e("botDefaults.riffJwtEnv")})}),(0,t.jsx)("input",{type:"text","data-input":"riff-jwt-env",placeholder:e("botDefaults.riffJwtEnvPlaceholder"),value:n,disabled:S,onChange:m=>p(m.currentTarget.value)})]})}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.riffSandboxCluster")}),(0,t.jsx)("input",{type:"text","data-input":"riff-sandbox-cluster",placeholder:e("botDefaults.riffSandboxClusterPlaceholder"),value:y,disabled:S,onChange:m=>u(m.currentTarget.value)})]})}),(0,t.jsxs)("label",{className:"toggle-row",children:[(0,t.jsx)("input",{type:"checkbox","data-input":"riff-inject-status-lines",checked:b,disabled:S,onChange:m=>D(m.currentTarget.checked)}),(0,t.jsx)("span",{className:"switch","aria-hidden":"true"}),(0,t.jsx)("span",{className:"toggle-tx",children:(0,t.jsx)("strong",{children:(0,t.jsx)(P,{help:e("botDefaults.riffInjectStatusLinesHelp"),children:e("botDefaults.riffInjectStatusLines")})})})]}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.riffSystemPrompt")}),(0,t.jsx)("textarea",{"data-input":"riff-system-prompt",placeholder:e("botDefaults.riffSystemPromptPlaceholder"),value:k,disabled:S,onChange:m=>v(m.currentTarget.value),rows:4})]})}),(0,t.jsx)("div",{className:"bd-row",children:(0,t.jsxs)("label",{children:[(0,t.jsx)("span",{children:e("botDefaults.riffSetupCommands")}),(0,t.jsx)("textarea",{"data-input":"riff-setup-commands",placeholder:e("botDefaults.riffSetupCommandsPlaceholder"),value:h,disabled:S,onChange:m=>w(m.currentTarget.value),rows:3})]})}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-riff",disabled:S,onClick:()=>{R()},children:e("botDefaults.riffSave")}),(0,t.jsx)($,{status:g,attr:{"data-riff-status":""}})]})]})}function ie(a){let e=A(),o=a.bot.brandLabel??null,[d,i]=(0,s.useState)(o),[l,r]=(0,s.useState)(o??""),[c,f]=(0,s.useState)(null),[n,p]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let u=a.bot.brandLabel??null;i(u),r(u??"")},[a.bot.brandLabel]);async function y(u){f(null),p(!0);try{let b=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/brand-label`,{brandLabel:u});if(b.ok&&b.body.ok){let D=b.body.brandLabel??null;i(D),r(D??""),a.patchBot(a.bot.larkAppId,{brandLabel:D}),f({text:"\u2713",ok:!0})}else f({text:`\u2717 ${L(b)}`})}catch(b){f({text:`\u2717 ${M(b)}`})}finally{p(!1)}}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionBrand")}),(0,t.jsxs)("div",{className:"bd-row bd-brand",children:[(0,t.jsxs)("label",{children:[(0,t.jsx)(P,{help:e("botDefaults.brandLabelHelp"),children:e("botDefaults.brandLabel")}),(0,t.jsx)("input",{type:"text","data-input":"brandLabel",placeholder:e("botDefaults.brandLabelPlaceholder"),value:l,disabled:n,onChange:u=>r(u.currentTarget.value)})]}),(0,t.jsx)("small",{"data-brand-state":!0,children:Mt(d,e)})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-brand",disabled:n,onClick:()=>{y(l)},children:e("botDefaults.brandSave")}),(0,t.jsx)("button",{type:"button","data-action":"reset-brand",disabled:n,onClick:()=>{y(null)},children:e("botDefaults.brandReset")}),(0,t.jsx)($,{status:c,attr:{"data-brand-status":""}})]})]})}function re(a){let e=A(),[o,d]=(0,s.useState)(a.bot.autoGrantRequestCards!==!1),[i,l]=(0,s.useState)(a.bot.restrictGrantCommands===!0),[r,c]=(0,s.useState)(typeof a.bot.messageQuotaDefaultLimit=="number"?a.bot.messageQuotaDefaultLimit:null),[f,n]=(0,s.useState)(typeof a.bot.messageQuotaDefaultLimit=="number"?String(a.bot.messageQuotaDefaultLimit):""),[p,y]=(0,s.useState)(null),[u,b]=(0,s.useState)(null);(0,s.useEffect)(()=>{d(a.bot.autoGrantRequestCards!==!1),l(a.bot.restrictGrantCommands===!0);let v=typeof a.bot.messageQuotaDefaultLimit=="number"?a.bot.messageQuotaDefaultLimit:null;c(v),n(v==null?"":String(v))},[a.bot.autoGrantRequestCards,a.bot.messageQuotaDefaultLimit,a.bot.restrictGrantCommands]);async function D(v,h){b(h),y(null);try{let w=await O("PUT",`/api/bots/${encodeURIComponent(a.bot.larkAppId)}/grant-prefs`,v);if(w.ok&&w.body.ok){let g=typeof w.body.messageQuotaDefaultLimit=="number"?w.body.messageQuotaDefaultLimit:null;d(w.body.autoGrantRequestCards!==!1),l(w.body.restrictGrantCommands===!0),c(g),"messageQuotaDefaultLimit"in v&&n(g==null?"":String(g)),a.patchBot(a.bot.larkAppId,{autoGrantRequestCards:w.body.autoGrantRequestCards!==!1,restrictGrantCommands:w.body.restrictGrantCommands===!0,messageQuotaDefaultLimit:g}),y({text:`\u2713 ${e("botDefaults.cardPrefSaved")}`,ok:!0})}else y({text:`\u2717 ${L(w)}`})}catch(w){y({text:`\u2717 ${M(w)}`})}finally{b(null)}}function k(){let v=Tt(f);if(v==="invalid"){y({text:`\u2717 ${e("botDefaults.quotaInvalid")}`});return}D({messageQuotaDefaultLimit:v},"quota")}return(0,t.jsxs)("section",{className:"bd-section",children:[(0,t.jsx)("h3",{className:"bd-section-title",children:e("botDefaults.sectionGrant")}),(0,t.jsxs)("div",{className:"bd-toggle-grid bd-grant-toggle-grid",children:[(0,t.jsx)(U,{checked:o,disabled:u==="autoGrant",dataAction:"toggle-auto-grant-card",title:e("botDefaults.autoGrantCard"),help:e("botDefaults.autoGrantCardHelp"),onChange:v=>{d(v),D({autoGrantRequestCards:v},"autoGrant")}}),(0,t.jsx)(U,{checked:i,disabled:u==="restrict",dataAction:"toggle-restrict-grant",title:e("botDefaults.restrictGrant"),help:e("botDefaults.restrictGrantHelp"),onChange:v=>{l(v),D({restrictGrantCommands:v},"restrict")}})]}),(0,t.jsxs)("div",{className:"bd-row bd-quota",children:[(0,t.jsxs)("label",{children:[(0,t.jsx)(P,{help:e("botDefaults.quotaHelp"),children:e("botDefaults.quotaDefault")}),(0,t.jsx)("input",{type:"number",min:1,step:1,"data-input":"quotaLimit",placeholder:e("botDefaults.quotaPlaceholder"),value:f,disabled:u==="quota",onChange:v=>n(v.currentTarget.value)})]}),(0,t.jsx)("small",{"data-quota-state":!0,children:At(r,e)})]}),(0,t.jsxs)("div",{className:"actions",children:[(0,t.jsx)("button",{type:"button",className:"primary","data-action":"save-quota",disabled:u==="quota",onClick:k,children:e("botDefaults.quotaSave")}),(0,t.jsx)($,{status:p,attr:{"data-grant-status":""}})]})]})}function ye(a){return rt(a,(0,t.jsx)(Ot,{}))}export{Wt as BotAgentSection,Rt as buildSubstituteTarget,ye as renderBotDefaultsPage};
|