@ycodium-ai/plugin-im 0.2.3614 → 0.2.3671
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/assets/ui.js +3 -8
- package/dist/index.js +70 -25
- package/locales/en.json +5 -5
- package/locales/zh-CN.json +5 -5
- package/package.json +2 -2
package/assets/ui.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var Hn=window.__ycodiumPluginHost.react;var{Activity:st,Children:dt,Component:ct,Fragment:Me,Profiler:mt,PureComponent:ut,StrictMode:gt,Suspense:yt,__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE:ft,__COMPILER_RUNTIME:pt,act:bt,cache:vt,cacheSignal:St,captureOwnerStack:ht,cloneElement:wt,createContext:te,createElement:Re,createRef:It,forwardRef:xt,isValidElement:Ct,lazy:kt,memo:Nt,startTransition:Rt,unstable_useCacheRefresh:Tt,use:ie,useActionState:_t,useCallback:Pt,useContext:Et,useDebugValue:At,useDeferredValue:Bt,useEffect:Ve,useEffectEvent:Ot,useId:Ke,useImperativeHandle:Lt,useInsertionEffect:Mt,useLayoutEffect:Vt,useMemo:B,useOptimistic:Kt,useReducer:Ft,useRef:L,useState:x,useSyncExternalStore:Dt,useTransition:Ut,version:$t}=Hn;var M=(e,n)=>{let t=e[n];return typeof t=="string"?t.trim():""};var N="/developers/v1",zt={uploadImage:`${N}/app/upload/image`,createFromTemplate:`${N}/manifest/upsert_by_template`,createBare:`${N}/app/create`,listApps:`${N}/app/list`,robotSwitch:e=>`${N}/robot/switch/${e}`,eventSwitch:e=>`${N}/event/switch/${e}`,eventRead:e=>`${N}/event/${e}`,eventUpdate:e=>`${N}/event/update/${e}`,callbackSwitch:e=>`${N}/callback/switch/${e}`,callbackRead:e=>`${N}/callback/${e}`,callbackUpdate:e=>`${N}/callback/update/${e}`,scopeCatalog:e=>`${N}/scope/all/${e}`,scopeUpdate:e=>`${N}/scope/update/${e}`,safeSetting:e=>`${N}/safe_setting/update/${e}`,visibleOnline:e=>`${N}/visible/online/${e}`,versionList:e=>`${N}/app_version/list/${e}`,versionCreate:e=>`${N}/app_version/create/${e}`,publishCommit:(e,n)=>`${N}/publish/commit/${e}/${n}`,secret:e=>`${N}/secret/${e}`};var Qt=10*6e4;var Fe=9e4;var De="settings.view",Ue="settings.connections",$e="settings.saveBot",He="settings.removeBot",Ge="settings.saveGeneral",ze="settings.saveTarget",Qe="settings.removeTarget",We="larkSetup.session",je="wecomSetup.session",U={labelKey:"setup.action.label",descriptionKey:"setup.action.description",badgeKey:"setup.action.badge",warningKey:"setup.action.warning"},qe={checkConnection:"im.settings.checkConnection",reconnect:"im.settings.reconnect",resetInbox:"im.settings.resetInbox",copyDiagnostics:"im.settings.copyDiagnostics",larkRepair:"im.settings.larkRepair",larkCallbackProbe:"im.settings.larkCallbackProbe"},Ye=e=>e==="telegram"?["rowAction.resetInbox.telegramOffline"]:[],Je=[{id:"checkConnection",labelKey:"rowAction.checkConnection.label",descriptionKey:"rowAction.checkConnection.description"},{id:"reconnect",labelKey:"rowAction.reconnect.label"},{id:"resetInbox",labelKey:"rowAction.resetInbox.label",descriptionKey:"rowAction.resetInbox.description"},{id:"copyDiagnostics",labelKey:"rowAction.copyDiagnostics.label"},{id:"larkRepair",labelKey:"rowAction.larkRepair.label",platform:"lark"},{id:"larkCallbackProbe",labelKey:"rowAction.larkCallbackProbe.label",descriptionKey:"rowAction.larkCallbackProbe.description",descriptionParams:{seconds:Fe/1e3},platform:"lark"}],Gn="lark",oe=[{value:"zh-CN",labelKey:"settings.language.zhCN"},{value:"en",labelKey:"settings.language.en"}],zn="botId",$=e=>M(e,"platform")||Gn,Ze=(e,n)=>{let t=e.showWhen;if(t===void 0)return!0;let o=t.key==="platform"?$(n):M(n,t.key);return t.equals.includes(o)},Xe=(e,n,t)=>e.map(o=>o.key===zn?{...o,kind:"select",options:n.map(r=>({value:r.rowId,label:`${M(r.values,"displayName")||t(r.platform)} (${r.rowId})`}))}:o),en=(e,n)=>{switch(n.kind){case"qr":{let{expired:t,...o}=e,r=n.expiresAt===void 0?{payload:n.payload}:{payload:n.payload,expiresAt:n.expiresAt};return{...o,qr:r}}case"status":{let t=n.params===void 0?{statusKey:n.statusKey}:{statusKey:n.statusKey,params:n.params};if(n.expired!==!0)return{...e,status:t};let{qr:o,...r}=e;return{...r,status:t,expired:!0}}case"steps":return{...e,steps:n.steps};case"done":case"failed":{let{status:t,...o}=e;return{...o,result:n}}}},Te=e=>e==="inboxUnreadable"?"settingsSection.connection.reason.inbox-unreadable":e==="notAvailable"?"settingsSection.connection.reason.not-available":`rowAction.checkConnection.hint.${e}`,J=e=>e.reason==="not-available"||e.hint==="notAvailable",ae=e=>e?.state==="failed"&&(e.reason==="inbox-unreadable"||e.hint==="inboxUnreadable"),nn=e=>e.hint==="wecomBotCredentials"||e.hint==="unauthorized"||e.hint==="larkCredentials"||e.hint==="wecomLongConnOff"||e.hint==="wecomTakenOver",K=e=>e.state==="duplicate"||J(e)||e.hint==="connecting"||e.hint==="wecomCallbackNotSeen"?"warning":"error";var tn=e=>{if(!e||typeof e!="object"||Array.isArray(e)||!("code"in e)||typeof e.code!="string"||!e.code.trim()||!("reason"in e)||typeof e.reason!="string"||!e.reason.trim()||!("message"in e)||typeof e.message!="string"||!e.message.trim()||!("referenceId"in e)||typeof e.referenceId!="string"||!e.referenceId.trim()||!("at"in e)||typeof e.at!="number"||!Number.isFinite(e.at))return null;let n="messageKey"in e?e.messageKey:void 0;if(n!==void 0&&(typeof n!="string"||!n.trim()))return null;let t="messageParams"in e?e.messageParams:void 0,o;if(t!==void 0){if(!t||typeof t!="object"||Array.isArray(t)||!("detail"in t)||typeof t.detail!="string")return null;o={detail:t.detail.slice(0,500)}}return{code:e.code.slice(0,64),reason:e.reason.slice(0,64),message:e.message.slice(0,500),...n!==void 0?{messageKey:n.slice(0,128)}:{},...o===void 0?{}:{messageParams:o},referenceId:e.referenceId.slice(0,40),at:e.at}},on=e=>!e||typeof e!="object"||Array.isArray(e)?tn(e):tn(Object.fromEntries(Object.entries(e).map(([n,t])=>[n,typeof t=="string"?t.trim():t])));var an=(e,n)=>{let t=e.filter(o=>o.configured);return{configured:t.length,connected:t.filter(o=>n?.[o.rowId]?.state==="connected").length}},rn=e=>{if(e.error!==null||e.isUnavailable||typeof e.data!="object"||e.data===null||Array.isArray(e.data))return null;let n=e.data;return Object.values(n).some(t=>"lastMessageError"in t||"statusSince"in t)?Object.fromEntries(Object.entries(n).map(([t,o])=>{let{lastMessageError:r,statusSince:a,...l}=o,d=on(r);return[t,{...l,...typeof a=="number"&&Number.isSafeInteger(a)&&a>=0&&a<=864e13?{statusSince:a}:{},...d===null?{}:{lastMessageError:d}}]})):n},_e=e=>e===null||!e.configured?{key:"settingsSection.status.incomplete",tone:"attention"}:{key:"settingsSection.status.ready",tone:"success"},re=(e,n)=>{if(e===null||!e.configured)return _e(e);let t=n?.[e.rowId];switch(t?.state){case"connecting":return{key:"settingsSection.status.connecting",tone:"working"};case"connected":return{key:"settingsSection.status.connected",tone:"success"};case"failed":case"duplicate":return{key:"settingsSection.status.notConnected",tone:K(t)};default:return{key:"settingsSection.status.ready",tone:"neutral"}}},ln=(e,n,t,o)=>{if(e===null||!e.configured)return null;let r=n?.[e.rowId];return r?.state==="failed"?ae(r)?{text:o(Te("inboxUnreadable")),variant:K(r)}:{text:[o(r.reason===void 0?"settingsSection.connection.failed":`settingsSection.connection.reason.${r.reason}`),r.hint===void 0?null:o(Te(r.hint)),J(r)||nn(r)?null:o("settingsSection.connection.reconnect"),r.error===void 0?null:o("settingsSection.connection.details",{error:r.error})].filter(l=>l!==null).join(" "),variant:K(r)}:r?.state==="duplicate"?{text:o("settingsSection.connection.duplicate",{name:t??r.duplicateOf??""}),variant:K(r)}:null};var{jsx:i,jsxs:s,Fragment:C}=window.__ycodiumPluginHost.jsxRuntime;function le(e){let n=e.bridge.useFormatTimestamp();if(e.since===void 0)return null;let t=new Date(e.since).toISOString();return i("time",{className:"im-small im-muted",dateTime:t,children:e.t("settingsSection.connection.since",{time:n(t)})})}var sn=te(null);function dn(e){return i(sn,{value:e.bridge,children:e.children})}var Qn=new Set(["Collapsible","CollapsiblePanel","CollapsibleTrigger"]);function k(e){let n=t=>{let a=ie(sn)?.ui?.[e];return a===void 0?Qn.has(e)?Re("div",{className:t.className},t.children):null:Re(a,t)};return n.displayName=e,n}var p=k("Button"),H=k("Input"),G=k("Label"),cn=k("Switch"),se=k("Select"),de=k("SelectTrigger"),Z=k("SelectValue"),ce=k("SelectPopup"),X=k("SelectItem"),z=k("StatusPill"),mn=k("EmptyInline"),Q=k("Alert"),un=k("AlertAction"),W=k("AlertDescription"),gn=k("Collapsible"),yn=k("CollapsibleTrigger"),fn=k("CollapsiblePanel"),F=k("Spinner"),pn=k("QRCodeSvg"),bn=k("ProxyChoiceSelect");var vn=(e,n)=>{if(e.kind==="done")return{headline:e.messageKey===void 0?n("settingsSection.action.done"):n(e.messageKey),tone:e.tone??"done",link:e.link===void 0?void 0:{url:e.link.url,label:n(e.link.labelKey)},note:void 0,headlineTone:e.tone??"done",details:(e.warnings??[]).map(d=>n(d.key,d.params))};let t=e.params?.ref,o=t===void 0?e.detail:n("rowAction.diagnostic.ref",{ref:t,detail:e.detail??""}).trimEnd(),r=e.params?.hint?.toString(),a=e.noteKey===void 0?void 0:n(e.noteKey),l=K({hint:r})==="warning"?"caution":"issue";return{headline:n(e.reasonKey,e.params),link:void 0,note:a,tone:l,headlineTone:a===void 0?l:"neutral",details:[...o===void 0?[]:[o],...(e.warnings??[]).map(d=>n(d.key,d.params))]}};var Sn=(e,n,t,o)=>{let r=o?.state==="failed"&&J(o),a=ae(o);return{actions:Je.filter(l=>(l.platform===void 0||l.platform===e)&&(l.id!=="resetInbox"||a)).map(l=>({...l,descriptionKeys:[...l.descriptionKey===void 0?[]:[l.descriptionKey],...l.id==="resetInbox"?Ye(e):[]],disabled:n||t||l.id==="reconnect"&&r})),noteKey:n?"settingsSection.action.saveFirst":r?"rowAction.reconnect.notAvailable":null}},me=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),hn=e=>me(e)&&Array.isArray(e.bots)&&Array.isArray(e.targets)&&me(e.delivery),wn=e=>me(e)&&hn(e.view)&&Array.isArray(e.columns)&&Array.isArray(e.targetColumns)&&Array.isArray(e.proxies)?e:null,ee=async(e,n,t,o)=>{try{let r=await e.commands.invoke(n,t,o);return me(r)&&r.ok===!0&&hn(r.view)?r.view:null}catch{return null}},In=(e,n)=>n.isPending?e.phase==="asked"?{...e,phase:"refetching"}:e:n.view!==null&&!n.failed?e.phase==="refetching"||JSON.stringify(n.view)===JSON.stringify(e.view)?null:e:e.phase==="asked"?e:{...e,phase:"asked"},O=e=>e==null||e.length===0?{}:{environmentId:e},j=(e,n)=>n===null?e:`${e}:${n}`,Pe=e=>JSON.stringify([e.replyLanguage,e.delivery]);function q(e,n,t){if(n!==void 0&&n.length>0)return e(n);if(t!==void 0&&t.length>0)return t}function xn(e,n){return n.length===0?null:n.map(t=>e(t==="required"?"settingsSection.issue.required":"settingsSection.issue.format")).join(" ")}function D(e,n,t){return`im-${(e??"here").replace(/[^A-Za-z0-9_-]/g,"")}-${n}-${t}`}function ne(e,n,t){let o=[n?`${e}-issue`:null,t?`${e}-hint`:null].filter(r=>r!==null);return o.length===0?void 0:o.join(" ")}function V(e){return s("div",{className:e.span===!0?"im-field im-span":"im-field",children:[i(G,{htmlFor:e.id,children:e.label}),e.children,e.issue?i("p",{id:`${e.id}-issue`,className:"im-small im-issue",role:"alert",children:e.issue}):null,e.description===void 0?null:i("p",{id:`${e.id}-hint`,className:"im-hint im-small im-muted",children:e.description})]})}function ue(e){let n=e.stored&&e.value===""&&!e.clearing?e.savedPlaceholder:e.placeholder;return s("div",{className:"im-secret",children:[i(H,{id:e.id,type:"password",value:e.value,placeholder:n,disabled:e.disabled,autoComplete:"new-password","aria-invalid":e.invalid?!0:void 0,"aria-describedby":e.describedBy,onChange:t=>e.onChange(t.target.value)}),e.stored?i(p,{variant:"ghost",size:"sm","aria-pressed":e.clearing,disabled:e.disabled,onClick:e.onToggleClear,children:e.clearing?e.undoLabel:e.clearLabel}):null]})}function ge(e){let n=e.saving||e.busy===!0;return!e.dirty&&!e.saving&&!e.failed?null:s("div",{className:"im-span",children:[e.dirty||e.saving?s("div",{className:"im-actions",children:[s(p,{variant:e.solid?"default":"outline",disabled:n||!e.dirty,onClick:e.onSave,children:[e.saving?i(F,{}):null,e.saveLabel]}),e.dirty&&!n?i(p,{variant:"ghost",size:"sm",onClick:e.onRevert,children:e.revertLabel}):null]}):null,e.failed?i("p",{className:"im-small im-issue",role:"alert",children:e.failedLabel}):null]})}async function ye(e,n,t){try{await e.writeClipboard(n),e.notify(t("settingsSection.copied"),"success")}catch{e.notify(t("settingsSection.copyFailed"),"warning")}}var Wn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function fe(e){let n=B(()=>O(e.environmentId),[e.environmentId]),t=e.bridge.commands.useSubscription(e.command,e.payload,n),o=B(()=>Wn(t.data)?e.items==="snapshots"?t.data:en({},t.data):{},[t.data,e.items]),r=o.result,a=L(null),l=e.onSettled;Ve(()=>{r===void 0||a.current===t.data||(a.current=t.data,l?.(r))},[r,t.data,l]);let d=e.t,c=r===void 0&&t.error===null&&!t.isUnavailable;return s("div",{className:"im-flow im-span",children:[t.isUnavailable||t.error!==null?i(Q,{variant:"error",layout:"inline",children:i(W,{children:d("settingsSection.action.failedToRun")})}):null,o.qr===void 0?null:i("div",{className:"im-qr",children:i(pn,{value:o.qr.payload,size:176,marginSize:2,title:d("settingsSection.action.qrTitle")})}),o.status===void 0?null:s("p",{className:"im-flow-status im-medium",children:[c?i(F,{size:"sm"}):null,i("span",{children:d(o.status.statusKey,o.status.params)})]}),c&&o.status===void 0&&o.qr===void 0?s("p",{className:"im-flow-status im-medium",children:[i(F,{size:"sm"}),i("span",{children:d("settingsSection.action.running")})]}):null,o.steps===void 0?null:i("ul",{className:"im-steps im-small",children:o.steps.map(b=>s("li",{"data-state":b.state,children:[i("span",{children:d(b.labelKey)}),i("span",{className:"im-muted",children:d(`settingsSection.step.${b.state}`)})]},b.id))}),r===void 0?null:i(jn,{result:r,bridge:e.bridge,t:d}),s("div",{className:"im-actions",children:[r?.kind==="failed"||o.expired===!0||t.error!==null?i(p,{variant:"ghost",size:"sm",onClick:t.refresh,children:d("settingsSection.retry")}):null,i(p,{variant:"ghost",size:"sm",onClick:e.onClose,children:d(r===void 0?"settingsSection.cancel":"settingsSection.action.close")})]})]})}var Cn=e=>e==="issue"?"im-issue":e==="caution"?"im-caution":"";function jn(e){let{headline:n,headlineTone:t,tone:o,note:r,link:a,details:l}=vn(e.result,e.t),d=e.t;return s("div",{className:"im-result",children:[s("div",{className:"im-result-verdict",role:"status",children:[i("p",{className:`im-medium im-result-headline ${Cn(t)}`.trimEnd(),children:n}),r===void 0?null:i("p",{className:`im-small im-result-note ${Cn(o)}`.trimEnd(),children:r})]}),a===void 0?null:i("div",{className:"im-actions",children:i(p,{className:"im-link",variant:"link",size:"sm",onClick:()=>e.bridge.openExternal(a.url),children:a.label})}),l.length===0?null:s(C,{children:[i("pre",{className:"im-detail im-small",children:l.join(`
|
|
1
|
+
var Hn=window.__ycodiumPluginHost.react;var{Activity:st,Children:dt,Component:ct,Fragment:Me,Profiler:mt,PureComponent:ut,StrictMode:gt,Suspense:yt,__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE:ft,__COMPILER_RUNTIME:pt,act:bt,cache:vt,cacheSignal:St,captureOwnerStack:wt,cloneElement:ht,createContext:te,createElement:Re,createRef:It,forwardRef:xt,isValidElement:Ct,lazy:kt,memo:Nt,startTransition:Rt,unstable_useCacheRefresh:Tt,use:ie,useActionState:_t,useCallback:Pt,useContext:Et,useDebugValue:At,useDeferredValue:Bt,useEffect:Ve,useEffectEvent:Ot,useId:Ke,useImperativeHandle:Lt,useInsertionEffect:Mt,useLayoutEffect:Vt,useMemo:B,useOptimistic:Kt,useReducer:Ft,useRef:L,useState:x,useSyncExternalStore:Dt,useTransition:Ut,version:$t}=Hn;var M=(e,n)=>{let t=e[n];return typeof t=="string"?t.trim():""};var N="/developers/v1",zt={uploadImage:`${N}/app/upload/image`,createFromTemplate:`${N}/manifest/upsert_by_template`,createBare:`${N}/app/create`,listApps:`${N}/app/list`,robotSwitch:e=>`${N}/robot/switch/${e}`,eventSwitch:e=>`${N}/event/switch/${e}`,eventRead:e=>`${N}/event/${e}`,eventUpdate:e=>`${N}/event/update/${e}`,callbackSwitch:e=>`${N}/callback/switch/${e}`,callbackRead:e=>`${N}/callback/${e}`,callbackUpdate:e=>`${N}/callback/update/${e}`,scopeCatalog:e=>`${N}/scope/all/${e}`,scopeUpdate:e=>`${N}/scope/update/${e}`,safeSetting:e=>`${N}/safe_setting/update/${e}`,visibleOnline:e=>`${N}/visible/online/${e}`,versionList:e=>`${N}/app_version/list/${e}`,versionCreate:e=>`${N}/app_version/create/${e}`,publishCommit:(e,n)=>`${N}/publish/commit/${e}/${n}`,secret:e=>`${N}/secret/${e}`};var Qt=10*6e4;var Fe=9e4;var De="settings.view",Ue="settings.connections",$e="settings.saveBot",He="settings.removeBot",Ge="settings.saveGeneral",ze="settings.saveTarget",Qe="settings.removeTarget",We="larkSetup.session",je="wecomSetup.session",Y={labelKey:"setup.action.label",descriptionKey:"setup.action.description",badgeKey:"setup.action.badge",warningKey:"setup.action.warning"},qe={checkConnection:"im.settings.checkConnection",reconnect:"im.settings.reconnect",resetInbox:"im.settings.resetInbox",copyDiagnostics:"im.settings.copyDiagnostics",larkRepair:"im.settings.larkRepair",larkCallbackProbe:"im.settings.larkCallbackProbe"},Ye=e=>e==="telegram"?["rowAction.resetInbox.telegramOffline"]:[],Je=[{id:"checkConnection",labelKey:"rowAction.checkConnection.label",descriptionKey:"rowAction.checkConnection.description"},{id:"reconnect",labelKey:"rowAction.reconnect.label"},{id:"resetInbox",labelKey:"rowAction.resetInbox.label",descriptionKey:"rowAction.resetInbox.description"},{id:"copyDiagnostics",labelKey:"rowAction.copyDiagnostics.label"},{id:"larkRepair",labelKey:"rowAction.larkRepair.label",platform:"lark"},{id:"larkCallbackProbe",labelKey:"rowAction.larkCallbackProbe.label",descriptionKey:"rowAction.larkCallbackProbe.description",descriptionParams:{seconds:Fe/1e3},platform:"lark"}],Gn="lark",oe=[{value:"zh-CN",labelKey:"settings.language.zhCN"},{value:"en",labelKey:"settings.language.en"}],zn="botId",U=e=>M(e,"platform")||Gn,Ze=(e,n)=>{let t=e.showWhen;if(t===void 0)return!0;let o=t.key==="platform"?U(n):M(n,t.key);return t.equals.includes(o)},Xe=(e,n,t)=>e.map(o=>o.key===zn?{...o,kind:"select",options:n.map(r=>({value:r.rowId,label:`${M(r.values,"displayName")||t(r.platform)} (${r.rowId})`}))}:o),en=(e,n)=>{switch(n.kind){case"qr":{let{expired:t,...o}=e,r=n.expiresAt===void 0?{payload:n.payload}:{payload:n.payload,expiresAt:n.expiresAt};return{...o,qr:r}}case"status":{let t=n.params===void 0?{statusKey:n.statusKey}:{statusKey:n.statusKey,params:n.params};if(n.expired!==!0)return{...e,status:t};let{qr:o,...r}=e;return{...r,status:t,expired:!0}}case"steps":return{...e,steps:n.steps};case"done":case"failed":{let{status:t,...o}=e;return{...o,result:n}}}},Te=e=>e==="inboxUnreadable"?"settingsSection.connection.reason.inbox-unreadable":e==="notAvailable"?"settingsSection.connection.reason.not-available":`rowAction.checkConnection.hint.${e}`,J=e=>e.reason==="not-available"||e.hint==="notAvailable",ae=e=>e?.state==="failed"&&(e.reason==="inbox-unreadable"||e.hint==="inboxUnreadable"),nn=e=>e.hint==="wecomBotCredentials"||e.hint==="unauthorized"||e.hint==="larkCredentials"||e.hint==="wecomLongConnOff"||e.hint==="wecomTakenOver",K=e=>e.state==="duplicate"||J(e)||e.hint==="connecting"||e.hint==="wecomCallbackNotSeen"?"warning":"error";var tn=e=>{if(!e||typeof e!="object"||Array.isArray(e)||!("code"in e)||typeof e.code!="string"||!e.code.trim()||!("reason"in e)||typeof e.reason!="string"||!e.reason.trim()||!("message"in e)||typeof e.message!="string"||!e.message.trim()||!("referenceId"in e)||typeof e.referenceId!="string"||!e.referenceId.trim()||!("at"in e)||typeof e.at!="number"||!Number.isFinite(e.at))return null;let n="messageKey"in e?e.messageKey:void 0;if(n!==void 0&&(typeof n!="string"||!n.trim()))return null;let t="messageParams"in e?e.messageParams:void 0,o;if(t!==void 0){if(!t||typeof t!="object"||Array.isArray(t)||!("detail"in t)||typeof t.detail!="string")return null;o={detail:t.detail.slice(0,500)}}return{code:e.code.slice(0,64),reason:e.reason.slice(0,64),message:e.message.slice(0,500),...n!==void 0?{messageKey:n.slice(0,128)}:{},...o===void 0?{}:{messageParams:o},referenceId:e.referenceId.slice(0,40),at:e.at}},on=e=>!e||typeof e!="object"||Array.isArray(e)?tn(e):tn(Object.fromEntries(Object.entries(e).map(([n,t])=>[n,typeof t=="string"?t.trim():t])));var an=(e,n)=>{let t=e.filter(o=>o.configured);return{configured:t.length,connected:t.filter(o=>n?.[o.rowId]?.state==="connected").length}},rn=e=>{if(e.error!==null||e.isUnavailable||typeof e.data!="object"||e.data===null||Array.isArray(e.data))return null;let n=e.data;return Object.values(n).some(t=>"lastMessageError"in t||"statusSince"in t)?Object.fromEntries(Object.entries(n).map(([t,o])=>{let{lastMessageError:r,statusSince:a,...l}=o,d=on(r);return[t,{...l,...typeof a=="number"&&Number.isSafeInteger(a)&&a>=0&&a<=864e13?{statusSince:a}:{},...d===null?{}:{lastMessageError:d}}]})):n},_e=e=>e===null||!e.configured?{key:"settingsSection.status.incomplete",tone:"attention"}:{key:"settingsSection.status.ready",tone:"success"},re=(e,n)=>{if(e===null||!e.configured)return _e(e);let t=n?.[e.rowId];switch(t?.state){case"connecting":return{key:"settingsSection.status.connecting",tone:"working"};case"connected":return{key:"settingsSection.status.connected",tone:"success"};case"failed":case"duplicate":return{key:"settingsSection.status.notConnected",tone:K(t)};default:return{key:"settingsSection.status.ready",tone:"neutral"}}},ln=(e,n,t,o)=>{if(e===null||!e.configured)return null;let r=n?.[e.rowId];return r?.state==="failed"?ae(r)?{text:o(Te("inboxUnreadable")),variant:K(r)}:{text:[o(r.reason===void 0?"settingsSection.connection.failed":`settingsSection.connection.reason.${r.reason}`),r.hint===void 0?null:o(Te(r.hint)),J(r)||nn(r)?null:o("settingsSection.connection.reconnect"),r.error===void 0?null:o("settingsSection.connection.details",{error:r.error})].filter(l=>l!==null).join(" "),variant:K(r)}:r?.state==="duplicate"?{text:o("settingsSection.connection.duplicate",{name:t??r.duplicateOf??""}),variant:K(r)}:null};var{jsx:i,jsxs:s,Fragment:C}=window.__ycodiumPluginHost.jsxRuntime;function le(e){let n=e.bridge.useFormatTimestamp();if(e.since===void 0)return null;let t=new Date(e.since).toISOString();return i("time",{className:"im-small im-muted",dateTime:t,children:e.t("settingsSection.connection.since",{time:n(t)})})}var sn=te(null);function dn(e){return i(sn,{value:e.bridge,children:e.children})}var Qn=new Set(["Collapsible","CollapsiblePanel","CollapsibleTrigger"]);function k(e){let n=t=>{let a=ie(sn)?.ui?.[e];return a===void 0?Qn.has(e)?Re("div",{className:t.className},t.children):null:Re(a,t)};return n.displayName=e,n}var p=k("Button"),$=k("Input"),H=k("Label"),cn=k("Switch"),se=k("Select"),de=k("SelectTrigger"),Z=k("SelectValue"),ce=k("SelectPopup"),X=k("SelectItem"),G=k("StatusPill"),mn=k("EmptyInline"),z=k("Alert"),un=k("AlertAction"),Q=k("AlertDescription"),gn=k("Collapsible"),yn=k("CollapsibleTrigger"),fn=k("CollapsiblePanel"),F=k("Spinner"),pn=k("QRCodeSvg"),bn=k("ProxyChoiceSelect");var vn=(e,n)=>{if(e.kind==="done")return{headline:e.messageKey===void 0?n("settingsSection.action.done"):n(e.messageKey),tone:e.tone??"done",link:e.link===void 0?void 0:{url:e.link.url,label:n(e.link.labelKey)},note:void 0,headlineTone:e.tone??"done",details:(e.warnings??[]).map(d=>n(d.key,d.params))};let t=e.params?.ref,o=t===void 0?e.detail:n("rowAction.diagnostic.ref",{ref:t,detail:e.detail??""}).trimEnd(),r=e.params?.hint?.toString(),a=e.noteKey===void 0?void 0:n(e.noteKey),l=K({hint:r})==="warning"?"caution":"issue";return{headline:n(e.reasonKey,e.params),link:void 0,note:a,tone:l,headlineTone:a===void 0?l:"neutral",details:[...o===void 0?[]:[o],...(e.warnings??[]).map(d=>n(d.key,d.params))]}};var Sn=(e,n,t,o)=>{let r=o?.state==="failed"&&J(o),a=ae(o);return{actions:Je.filter(l=>(l.platform===void 0||l.platform===e)&&(l.id!=="resetInbox"||a)).map(l=>({...l,descriptionKeys:[...l.descriptionKey===void 0?[]:[l.descriptionKey],...l.id==="resetInbox"?Ye(e):[]],disabled:n||t||l.id==="reconnect"&&r})),noteKey:n?"settingsSection.action.saveFirst":r?"rowAction.reconnect.notAvailable":null}},me=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),wn=e=>me(e)&&Array.isArray(e.bots)&&Array.isArray(e.targets)&&me(e.delivery),hn=e=>me(e)&&wn(e.view)&&Array.isArray(e.columns)&&Array.isArray(e.targetColumns)&&Array.isArray(e.proxies)?e:null,ee=async(e,n,t,o)=>{try{let r=await e.commands.invoke(n,t,o);return me(r)&&r.ok===!0&&wn(r.view)?r.view:null}catch{return null}},In=(e,n)=>n.isPending?e.phase==="asked"?{...e,phase:"refetching"}:e:n.view!==null&&!n.failed?e.phase==="refetching"||JSON.stringify(n.view)===JSON.stringify(e.view)?null:e:e.phase==="asked"?e:{...e,phase:"asked"},O=e=>e==null||e.length===0?{}:{environmentId:e},W=(e,n)=>n===null?e:`${e}:${n}`,Pe=e=>JSON.stringify([e.replyLanguage,e.delivery]);function j(e,n,t){if(n!==void 0&&n.length>0)return e(n);if(t!==void 0&&t.length>0)return t}function xn(e,n){return n.length===0?null:n.map(t=>e(t==="required"?"settingsSection.issue.required":"settingsSection.issue.format")).join(" ")}function D(e,n,t){return`im-${(e??"here").replace(/[^A-Za-z0-9_-]/g,"")}-${n}-${t}`}function ne(e,n,t){let o=[n?`${e}-issue`:null,t?`${e}-hint`:null].filter(r=>r!==null);return o.length===0?void 0:o.join(" ")}function V(e){return s("div",{className:e.span===!0?"im-field im-span":"im-field",children:[i(H,{htmlFor:e.id,children:e.label}),e.children,e.issue?i("p",{id:`${e.id}-issue`,className:"im-small im-issue",role:"alert",children:e.issue}):null,e.description===void 0?null:i("p",{id:`${e.id}-hint`,className:"im-hint im-small im-muted",children:e.description})]})}function ue(e){let n=e.stored&&e.value===""&&!e.clearing?e.savedPlaceholder:e.placeholder;return s("div",{className:"im-secret",children:[i($,{id:e.id,type:"password",value:e.value,placeholder:n,disabled:e.disabled,autoComplete:"new-password","aria-invalid":e.invalid?!0:void 0,"aria-describedby":e.describedBy,onChange:t=>e.onChange(t.target.value)}),e.stored?i(p,{variant:"ghost",size:"sm","aria-pressed":e.clearing,disabled:e.disabled,onClick:e.onToggleClear,children:e.clearing?e.undoLabel:e.clearLabel}):null]})}function ge(e){let n=e.saving||e.busy===!0;return!e.dirty&&!e.saving&&!e.failed?null:s("div",{className:"im-span",children:[e.dirty||e.saving?s("div",{className:"im-actions",children:[s(p,{variant:e.solid?"default":"outline",disabled:n||!e.dirty,onClick:e.onSave,children:[e.saving?i(F,{}):null,e.saveLabel]}),e.dirty&&!n?i(p,{variant:"ghost",size:"sm",onClick:e.onRevert,children:e.revertLabel}):null]}):null,e.failed?i("p",{className:"im-small im-issue",role:"alert",children:e.failedLabel}):null]})}async function ye(e,n,t){try{await e.writeClipboard(n),e.notify(t("settingsSection.copied"),"success")}catch{e.notify(t("settingsSection.copyFailed"),"warning")}}var Wn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function fe(e){let n=B(()=>O(e.environmentId),[e.environmentId]),t=e.bridge.commands.useSubscription(e.command,e.payload,n),o=B(()=>Wn(t.data)?e.items==="snapshots"?t.data:en({},t.data):{},[t.data,e.items]),r=o.result,a=L(null),l=e.onSettled;Ve(()=>{r===void 0||a.current===t.data||(a.current=t.data,l?.(r))},[r,t.data,l]);let d=e.t,c=r===void 0&&t.error===null&&!t.isUnavailable;return s("div",{className:"im-flow im-span",children:[t.isUnavailable||t.error!==null?i(z,{variant:"error",layout:"inline",children:i(Q,{children:d("settingsSection.action.failedToRun")})}):null,o.qr===void 0?null:i("div",{className:"im-qr",children:i(pn,{value:o.qr.payload,size:176,marginSize:2,title:d("settingsSection.action.qrTitle")})}),o.status===void 0?null:s("p",{className:"im-flow-status im-medium",children:[c?i(F,{size:"sm"}):null,i("span",{children:d(o.status.statusKey,o.status.params)})]}),c&&o.status===void 0&&o.qr===void 0?s("p",{className:"im-flow-status im-medium",children:[i(F,{size:"sm"}),i("span",{children:d("settingsSection.action.running")})]}):null,o.steps===void 0?null:i("ul",{className:"im-steps im-small",children:o.steps.map(b=>s("li",{"data-state":b.state,children:[i("span",{children:d(b.labelKey)}),i("span",{className:"im-muted",children:d(`settingsSection.step.${b.state}`)})]},b.id))}),r===void 0?null:i(jn,{result:r,bridge:e.bridge,t:d}),s("div",{className:"im-actions",children:[r?.kind==="failed"||o.expired===!0||t.error!==null?i(p,{variant:"ghost",size:"sm",onClick:t.refresh,children:d("settingsSection.retry")}):null,i(p,{variant:"ghost",size:"sm",onClick:e.onClose,children:d(r===void 0?"settingsSection.cancel":"settingsSection.action.close")})]})]})}var Cn=e=>e==="issue"?"im-issue":e==="caution"?"im-caution":"";function jn(e){let{headline:n,headlineTone:t,tone:o,note:r,link:a,details:l}=vn(e.result,e.t),d=e.t;return s("div",{className:"im-result",children:[s("div",{className:"im-result-verdict",role:"status",children:[i("p",{className:`im-medium im-result-headline ${Cn(t)}`.trimEnd(),children:n}),r===void 0?null:i("p",{className:`im-small im-result-note ${Cn(o)}`.trimEnd(),children:r})]}),a===void 0?null:i("div",{className:"im-actions",children:i(p,{className:"im-link",variant:"link",size:"sm",onClick:()=>e.bridge.openExternal(a.url),children:a.label})}),l.length===0?null:s(C,{children:[i("pre",{className:"im-detail im-small",children:l.join(`
|
|
2
2
|
|
|
3
3
|
`)}),i("div",{className:"im-actions",children:i(p,{variant:"ghost",size:"sm",onClick:()=>{ye(e.bridge,l.join(`
|
|
4
4
|
|
|
5
|
-
`),d)},children:d("settingsSection.copy")})})]})]})}function Y(e){let n=(()=>{switch(e.platform){case"lark":return s(C,{children:[i("path",{fill:"#00D6B9",d:"M7.2 4.5h7.6c1.2 0 2.1.55 2.7 1.58 1.05 1.8 1.55 3.45 1.58 4.95-2.04-.62-4.2-.15-6.22 1.45C11.3 9.7 9.42 7.04 7.2 4.5Z"}),i("path",{fill:"#1456B8",d:"M10.8 13.55c3.3-2.93 5.72-4.24 9.47-2.52-1.2 1.45-2.27 4.18-3.86 5.43-1.67 1.31-3.9.5-5.61-.64v-2.27Z"}),i("path",{fill:"#3370FF",d:"M4.4 8.35c3.47 3.61 7.25 6.1 10.33 5.7 1.06-.14 2.2-.72 3.4-1.72-1.04 2.65-2.6 4.8-5.06 6-2.46 1.2-5.56.52-7.42-.72A2.76 2.76 0 0 1 4.4 15.3V8.35Z"})]});case"wecom":case"wecom-app":return s(C,{children:[i("path",{fill:"none",stroke:"#3370FF",strokeWidth:"2.35",strokeLinecap:"round",strokeLinejoin:"round",d:"M17.7 14.5c1.05-1.12 1.65-2.52 1.65-4.03 0-3.82-3.58-6.92-8-6.92s-8 3.1-8 6.92 3.58 6.92 8 6.92c1.17 0 2.28-.22 3.28-.62"}),i("path",{fill:"#07C160",d:"M16.1 15.15c.7-.7 1.83-.7 2.53 0s.7 1.83 0 2.53-1.83.7-2.53 0-.7-1.83 0-2.53Z"}),i("path",{fill:"#FFB800",d:"M19.25 13.45a1.36 1.36 0 1 1 1.92 1.92 1.36 1.36 0 0 1-1.92-1.92Z"}),i("path",{fill:"#FF7A00",d:"M19.55 18.05a1.16 1.16 0 1 1 1.64 1.64 1.16 1.16 0 0 1-1.64-1.64Z"}),i("path",{fill:"#3370FF",d:"M15.25 18.75a.92.92 0 1 1 1.3 1.3.92.92 0 0 1-1.3-1.3Z"})]});case"telegram":return i("path",{fill:"#229ED9",d:"M23.95 4.57c-.36-1.45-1.43-1.76-2.82-1.24L1.5 10.9c-1.34.52-1.32 1.27-.24 1.6l5.03 1.57 11.66-7.36c.55-.34 1.05-.16.64.21l-9.44 8.52-.37 5.12c.54 0 .78-.24 1.08-.53l2.59-2.51 5.38 3.97c.99.55 1.7.27 1.95-.92L23.95 4.57Z"});case"wechat":return i("path",{fill:"#07C160",d:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z"});default:return null}})();return n===null?null:i("span",{className:`im-platform im-platform-${e.platform}`,"aria-hidden":"true",children:i("svg",{width:20,height:20,viewBox:"0 0 24 24",focusable:"false",children:n})})}function qn(e){return e.length>12?`${e.slice(0,8)}\u2022\u2022\u2022\u2022${e.slice(-4)}`:"cli_\u2022\u2022\u2022\u2022"}function kn(e){return e.length<=10?`${e.slice(0,3)}\u2022\u2022\u2022`:`${e.slice(0,6)}\u2022\u2022\u2022\u2022${e.slice(-4)}`}var Yn={lark:{column:"larkAppId",mask:qn},wecom:{column:"wecomBotId",mask:kn},"wecom-app":{column:"wecomAppCorpId",mask:kn}};function pe(e,n){let t=Yn[e];if(t===void 0)return null;let o=M(n,t.column);return o===""?null:t.mask(o)}function Ee(e){let n=e.className===void 0?"im-collapse":`im-collapse ${e.className}`;return e.staticHead===!0&&e.hideTitle===!0?s("div",{className:n,children:[e.notice,i("div",{className:"im-panel",children:e.children})]}):e.staticHead===!0?s("div",{className:n,children:[s("div",{className:"im-head",children:[s("div",{className:"im-toggle im-static",children:[e.icon,i("span",{className:"im-title im-medium",children:e.title}),e.meta]}),e.actions]}),e.notice,i("div",{className:"im-panel",children:e.children})]}):s(gn,{className:n,...e.defaultOpen===void 0?{}:{defaultOpen:e.defaultOpen},...e.open===void 0?{}:{open:e.open},...e.onOpenChange===void 0?{}:{onOpenChange:e.onOpenChange},children:[s("div",{className:"im-head",children:[s(yn,{className:"im-toggle",children:[i("span",{className:"im-chevron","aria-hidden":"true"}),e.icon,i("span",{className:"im-title im-medium",children:e.title}),e.meta]}),e.actions]}),e.notice,i(fn,{children:i("div",{className:"im-panel",children:e.children})})]})}function be(e){return i("section",{className:e.className===void 0?"im-block":`im-block ${e.className}`,...e.hideTitle===!0?{"aria-label":e.title}:{},children:i(Ee,{...e})})}var Jn=new Set(["accessMode","allowedSenders","runtimeMode"]),Zn=new Set(["groupMention","queueMode","approvalTimeoutMinutes","larkPanelMode","larkTopicOnMention","wecomNumberedHints"]);function Nn(e){return Jn.has(e.key)?"access":Zn.has(e.key)?"chat":e.group==="essential"||e.key==="defaultModel"||e.key==="defaultPreset"?"basic":"advanced"}var ve=(e,n)=>e!=="wechat"||n;var Ae="\0empty";function Rn(e){let n=e.columns.filter(f=>Ze(f,e.values)&&(e.section===void 0||Nn(f)===e.section)),t=e.section!==void 0?n:e.groupBotSettings?n.filter(f=>f.group==="essential"):n,o=e.section!==void 0?[]:e.groupBotSettings?n.filter(f=>f.group!=="essential"):[],r=e.issues.filter(f=>o.some(h=>h.key===f.column)),a=JSON.stringify(r),[l,d]=x(()=>({open:r.length>0,issues:a})),c=l.open||l.issues!==a&&r.length>0;l.issues!==a&&d({open:c,issues:a});let b=f=>i(Xn,{column:f,scope:e.scope,environmentId:e.environmentId,proxies:e.proxies,values:e.values,savedValues:e.savedValues,secrets:e.secrets,clearSecrets:e.clearSecrets,storedSecrets:e.storedSecrets,issues:e.issues,disabled:e.disabled,t:e.t,onValue:e.onValue,onSecret:e.onSecret,onToggleClear:e.onToggleClear},f.key);return s(C,{children:[t.map(b),(e.section===void 0||e.section==="basic"?e.publicFields:[]).map(f=>i(nt,{field:f,scope:e.scope,environmentId:e.environmentId,bridge:e.bridge,t:e.t},f.key)),o.length===0?null:i(Ee,{className:"im-span",title:r.length>0?e.t("settingsSection.moreSettingsIssues",{count:r.length}):e.t("settingsSection.moreSettings"),open:c,onOpenChange:f=>d({open:f,issues:a}),children:i("div",{className:"im-form",children:o.map(b)})})]})}function Xn(e){let n=e.column,t=D(e.environmentId,e.scope,n.key),o=q(e.t,n.labelKey,n.label)??n.key,r=q(e.t,n.descriptionKey,n.description),a=q(e.t,n.placeholderKey,n.placeholder),l=xn(e.t,e.issues.filter(c=>c.column===n.key).map(c=>c.code)),d=ne(t,l!==null,r!==void 0);return n.kind==="password"?i(V,{id:t,label:o,description:r,issue:l,children:i(ue,{id:t,value:e.secrets[n.key]??"",stored:e.storedSecrets[n.key]===!0,clearing:e.clearSecrets.includes(n.key),disabled:e.disabled,invalid:l!==null,describedBy:d,placeholder:a,savedPlaceholder:e.t("settingsSection.secret.saved"),clearLabel:e.t("settingsSection.secret.clear"),undoLabel:e.t("settingsSection.secret.clearUndo"),onChange:c=>{c!==(e.secrets[n.key]??"")&&e.onSecret(n.key,c)},onToggleClear:()=>e.onToggleClear(n.key)})}):n.kind==="select"?i(et,{column:n,id:t,label:o,description:r,issue:l,described:d,values:e.values,savedValues:e.savedValues,disabled:e.disabled,t:e.t,onValue:e.onValue}):n.kind==="proxy"?i("div",{className:"im-field",children:i(bn,{id:t,label:o,hint:e.values.platform==="lark"?e.t("column.proxy.larkHint"):r,value:e.values[n.key]??"",proxies:e.proxies,disabled:e.disabled,onChange:c=>{c!==(e.values[n.key]??"")&&e.onValue(n.key,c)},children:l===null?null:i("p",{id:`${t}-issue`,className:"im-small im-issue",role:"alert",children:l})})}):i(V,{id:t,label:o,description:r,issue:l,children:i(H,{id:t,type:n.kind==="number"?"number":"text",min:n.min,max:n.max,step:n.kind==="number"?1:void 0,value:e.values[n.key]??n.defaultValue??"",placeholder:a,disabled:e.disabled,"aria-invalid":l!==null?!0:void 0,"aria-describedby":d,onChange:c=>{let b=c.target.value;b!==(e.values[n.key]??"")&&e.onValue(n.key,b)}})})}function et(e){let n=e.values[e.column.key]??"",t=e.savedValues[e.column.key]??"",o=(e.column.options??[]).filter(c=>e.column.key!=="platform"||ve(c.value,e.savedValues.platform===c.value)),r=o.some(c=>c.value===""),a=o.find(c=>c.value===n),l=c=>e.column.unavailableLabelKey===void 0?c:e.t(e.column.unavailableLabelKey,{value:c}),d=n===""&&a===void 0?void 0:a===void 0?l(n):q(e.t,a.labelKey,a.label)??a.value;return i(V,{id:e.id,label:e.label,description:e.description,issue:e.issue,children:s(se,{className:"im-wide",value:n===""?r?Ae:null:n,disabled:e.disabled,onValueChange:c=>{let b=r&&c===Ae?"":c??"";b!==n&&e.onValue(e.column.key,b)},children:[i(de,{id:e.id,"aria-invalid":e.issue!==null?!0:void 0,"aria-describedby":e.described,children:d===void 0?i(Z,{placeholder:e.t("settingsSection.select.default")}):i(Z,{children:d})}),s(ce,{children:[e.column.listsUnknownValue===!0&&t!==""&&!o.some(c=>c.value===t)?i(X,{value:t,disabled:e.column.unavailableLabelKey!==void 0,children:l(t)}):null,o.map(c=>i(X,{value:c.value===""?Ae:c.value,children:q(e.t,c.labelKey,c.label)??c.value},c.value))]})]})})}function nt(e){let n=D(e.environmentId,`${e.scope}-pub`,e.field.key);return s("div",{className:"im-field im-span",children:[i(G,{children:e.t(`settingsSection.publicField.${e.field.key}`)}),e.field.value===""?null:s("div",{className:"im-inline im-public-row",children:[i("span",{id:n,className:"im-public-value im-small",children:tt(e.field.value)}),e.field.copyable?i(p,{variant:"ghost",size:"sm",onClick:()=>{ye(e.bridge,e.field.value,e.t)},children:e.t("settingsSection.copy")}):null]}),e.field.hint===void 0?null:i("p",{className:"im-small im-muted",children:e.t(`settingsSection.publicFieldHint.${e.field.hint}`)})]})}function tt(e){let n=0;return e.split(/(?<=\/)(?!\/)/).map(t=>{let o=n;return n+=t.length,s(Me,{children:[o===0?null:i("wbr",{}),t]},o)})}var Tn=["basic","access","chat","advanced","danger"];function _n(e){let n=Ke(),t=e.showDanger?Tn:Tn.slice(0,-1),o=a=>{e.onChange(a),document.getElementById(`${n}-${a}`)?.focus()},r=(a,l)=>{let d=a.key==="Home"?0:a.key==="End"?t.length-1:a.key==="ArrowLeft"?(l-1+t.length)%t.length:a.key==="ArrowRight"?(l+1)%t.length:null;d!==null&&(a.preventDefault(),o(t[d]))};return i("div",{className:"im-detail-tabs",role:"tablist","aria-label":e.t("settingsSection.detailTabs"),children:t.map((a,l)=>i(p,{id:`${n}-${a}`,type:"button",variant:"ghost",size:"sm",role:"tab","aria-selected":e.value===a,tabIndex:e.value===a?0:-1,className:"im-detail-tab",onClick:()=>e.onChange(a),onKeyDown:d=>r(d,l),children:e.t(`settingsSection.tab.${a}`)},a))})}function Pn(e){let n={};for(let[a,l]of Object.entries(e.values))(e.baseline[a]??"")!==l&&(n[a]=l);let t={};for(let[a,l]of Object.entries(e.secrets))l!==""&&(t[a]=l);let o=[];for(let a of e.clearSecrets)Object.hasOwn(t,a)||o.includes(a)||o.push(a);return e.rowId===void 0||Object.keys(n).length>0||Object.keys(t).length>0||o.length>0?{changed:!0,edit:{...e.rowId===void 0?{}:{rowId:e.rowId},values:n,...Object.keys(t).length>0?{secrets:t}:{},...o.length>0?{clearSecrets:o}:{}}}:{changed:!1}}function it(e){let n=e.trim();if(!/^\d+$/.test(n))return null;let t=Number(n);return!Number.isInteger(t)||t<1||t>65535?null:t}function En(e){let n={};e.replyLanguage!==e.baseline.replyLanguage&&(n.replyLanguage=e.replyLanguage),e.enabled!==e.baseline.enabled&&(n.deliveryHttpEnabled=e.enabled);let t=!1;if(e.enabled){let o=it(e.port);o===null?t=!0:o!==e.baseline.port&&(n.deliveryHttpPort=o),e.token!==""?n.deliveryHttpToken=e.token:e.clearToken&&e.baseline.hasToken&&(n.clearDeliveryHttpToken=!0)}return t?{changed:!0,invalidPort:!0}:Object.keys(n).length===0?{changed:!1}:{changed:!0,invalidPort:!1,payload:n}}var An=te({activeId:null,activate:()=>{}});function Bn(e){return i(An,{value:{activeId:e.activeId,activate:e.activate},children:e.children})}function Se(e){let n=ie(An);return{chosen:n.activeId===e,activate:()=>n.activate(e)}}function he(e,n){let t=L(!1);return{cancelProps:{autoFocus:!0,"aria-describedby":e,onClick:()=>{t.current=!0,n()}},confirmProps:{"aria-describedby":e},triggerRef:o=>{o===null||!t.current||(t.current=!1,o.focus())}}}function we(e,n,t={}){return{signature:n,values:{...t,...e?.values},secrets:{},clearSecrets:[],saving:!1,failed:!1,confirming:!1,removing:!1,removeFailed:!1}}function Be(e){let{kind:n,row:t}=e,o=t===null?`${n.newSlot}:${JSON.stringify(e.initialValues??{})}`:JSON.stringify(t),r=Se(j(n.newSlot,t?.rowId??null)),a=L(0),[l,d]=x(()=>we(t,o,e.initialValues)),[c,b]=x("basic"),f=t!==null&&n.removeHintKey!==void 0?`im-remove-consequence-${n.newSlot}-${t.rowId}`:void 0,h=he(f,()=>d(m=>({...m,confirming:!1})));l.signature!==o&&(a.current+=1,d(we(t,o,e.initialValues)));let w=Pn({...t===null?{}:{rowId:t.rowId},baseline:t?.values??{},values:l.values,secrets:l.secrets,clearSecrets:l.clearSecrets}),v=w.changed,R=t===null||!t.configured,g=e.status??_e(t),I=e.notice??null,u=l.saving||l.removing;function T(m){r.activate(),d(y=>({...m(y),failed:!1}))}function P(){if(!w.changed||u)return;r.activate();let m=w.edit,y=++a.current;d(S=>({...S,saving:!0,failed:!1})),ee(e.bridge,n.saveCommand,m,O(e.environmentId)).then(S=>{if(a.current!==y)return;if(S===null){d(Ne=>({...Ne,saving:!1,failed:!0}));return}let A=t===null?void 0:n.rows(S).find(Ne=>Ne.rowId===t.rowId);A!==void 0&&d(we(A,JSON.stringify(A))),e.onSaved(S)})}function E(){if(t===null){e.onDiscard();return}let m=t.rowId,y=++a.current;d(S=>({...S,removing:!0,removeFailed:!1})),ee(e.bridge,n.removeCommand,{rowId:m},O(e.environmentId)).then(S=>{if(a.current===y){if(S===null){d(A=>({...A,removing:!1,removeFailed:!0,confirming:!0}));return}e.onSaved(S)}})}let _=l.confirming?s("div",{className:"im-actions",children:[i(p,{type:"button",variant:"ghost",size:"sm",disabled:u,...h.cancelProps,children:e.t("settingsSection.cancel")}),i(p,{type:"button",variant:"destructive",size:"sm",disabled:u,...h.confirmProps,onClick:E,children:e.t(n.removeConfirmKey)})]}):i(p,{type:"button",variant:e.detail===!0?"destructive":"ghost",size:"sm",disabled:u,ref:h.triggerRef,onClick:()=>d(m=>({...m,confirming:!0,removeFailed:!1})),children:e.t("settingsSection.remove")});return s(be,{title:e.title(l.values),icon:e.icon?.(l.values),defaultOpen:R,staticHead:e.detail===!0,...e.detail===!0?{className:"im-detail"}:{},meta:s(C,{children:[e.meta?.(l.values),s("span",{className:"im-status",children:[e.statusMeta,i(z,{tone:g.tone,children:e.t(g.key)})]})]}),actions:e.detail===!0?null:_,notice:s(C,{children:[e.summary,e.detail===!0?null:s(C,{children:[l.confirming&&t!==null&&n.removeHintKey!==void 0?i("p",{id:f,children:e.t(n.removeHintKey)}):null,l.removeFailed?i("p",{className:"im-small im-issue",role:"alert",children:e.t(n.removeFailedKey)}):null]})]}),children:[I===null?null:i(Q,{variant:I.variant,children:i(W,{children:I.text})}),e.detail===!0?i(_n,{value:c,showDanger:t!==null,onChange:m=>{m!=="danger"&&l.confirming&&d(y=>({...y,confirming:!1})),b(m),e.onSectionChange?.(m)},t:e.t}):null,e.detail===!0&&c==="danger"?s("div",{className:"im-danger-zone",children:[n.removeHintKey===void 0?null:l.confirming&&t!==null?i("p",{id:f,children:e.t(n.removeHintKey)}):i("p",{className:"im-small im-muted",children:e.t(n.removeHintKey)}),l.removeFailed?i("p",{className:"im-small im-issue",role:"alert",children:e.t(n.removeFailedKey)}):null,_,e.extra?.({dirty:v,frozen:u,section:c})]}):null,s("div",{className:"im-form",children:[e.detail===!0&&c==="danger"?null:i(Rn,{scope:`${n.newSlot}-${t?.rowId??"new"}`,environmentId:e.environmentId,columns:e.columns,groupBotSettings:n.groupBotSettings===!0,...e.detail===!0?{section:c}:{},proxies:e.proxies,values:l.values,savedValues:t?.values??{},secrets:l.secrets,clearSecrets:l.clearSecrets,storedSecrets:t?.secrets??{},issues:t?.issues??[],publicFields:t?.publicFields??[],disabled:u,bridge:e.bridge,t:e.t,onValue:(m,y)=>T(S=>({...S,values:{...S.values,[m]:y}})),onSecret:(m,y)=>T(S=>({...S,secrets:{...S.secrets,[m]:y}})),onToggleClear:m=>T(y=>({...y,clearSecrets:y.clearSecrets.includes(m)?y.clearSecrets.filter(S=>S!==m):[...y.clearSecrets,m]}))}),e.detail===!0&&c!=="advanced"?null:e.extra?.({dirty:v,frozen:u,...e.detail===!0?{section:c}:{}}),i(ge,{dirty:v,saving:l.saving,busy:l.removing,solid:r.chosen&&v,failed:l.failed,saveLabel:e.t("settingsSection.save"),revertLabel:e.t("settingsSection.revert"),failedLabel:e.t("settingsSection.saveFailed"),onSave:P,onRevert:()=>{a.current+=1,d(we(t,o,e.initialValues))}})]})]})}function On(e){let n=e.bridge.useFormatTimestamp(),{error:t,t:o}=e;if(t===void 0)return null;let r=new Date(t.at),a=Number.isFinite(r.getTime())?r.toISOString():null;return s("div",{className:"im-small",role:"status",children:[s("p",{children:[i("strong",{className:"im-issue",children:o("settingsSection.lastMessageError.title")}),o("settingsSection.lastMessageError.separator"),i("span",{children:t.messageKey===void 0?t.message:o(t.messageKey,{...t.messageParams,defaultValue:t.message})})]}),s("p",{className:"im-muted",children:[o("settingsSection.lastMessageError.code",{code:t.code}),", ",o("settingsSection.lastMessageError.reference",{referenceId:t.referenceId}),a===null?null:s(C,{children:[", ",i("time",{dateTime:a,children:n(a)})]})]})]})}var xe={groupBotSettings:!0,newSlot:"im-new-row",saveCommand:$e,removeCommand:He,rows:e=>e.bots,removeConfirmKey:"settingsSection.removeConfirm",removeHintKey:"settingsSection.removeHint",removeFailedKey:"settingsSection.removeFailed"},Ce={newSlot:"im-new-target",saveCommand:ze,removeCommand:Qe,rows:e=>e.targets,removeConfirmKey:"settingsSection.target.removeConfirm",removeFailedKey:"settingsSection.target.removeFailed"},Ie=(e,n,t)=>{let o=(e.displayName??"").trim();return o.length>0?o:t(`platform.${n}`)};function Ln(e){let{bot:n,t}=e,o=e.bots.find(h=>h.rowId===(n===null?void 0:e.connections?.[n.rowId]?.duplicateOf)),r=ln(n,e.connections,o===void 0?void 0:Ie(o.values,o.platform,t),t),[a,l]=x(null),[d,c]=x(!1),b=n===null?void 0:`im-reset-consequence-${n.rowId}`,f=he(b,()=>c(!1));return i(Be,{...e,kind:xe,row:n,onSectionChange:h=>{l(null),h!=="danger"&&c(!1)},status:re(n,e.connections),statusMeta:n?.configured&&e.connections?.[n.rowId]?.statusSince!==void 0?i(le,{since:e.connections[n.rowId]?.statusSince,bridge:e.bridge,t}):null,notice:r,summary:n===null?null:i(On,{error:e.connections?.[n.rowId]?.lastMessageError,bridge:e.bridge,t}),title:h=>Ie(h,$(h),t),icon:h=>{let w=M(h,"platform");return w===""?null:i(Y,{platform:w})},meta:h=>{let w=$(h),v=pe(w,h);return v===null?null:i("span",{className:"im-small im-muted",children:v})},extra:({dirty:h,frozen:w,section:v})=>{if(n===null)return null;let R=Sn(n.platform,h,w,e.connections?.[n.rowId]),g=R.actions.find(u=>u.id==="resetInbox"),I=R.actions.filter(u=>v===void 0||v==="danger"==(u.id==="resetInbox"));return s(C,{children:[s("div",{className:"im-span",children:[d&&g!==void 0?s(C,{children:[i("p",{id:b,children:g.descriptionKeys.map(u=>t(u)).join(" ")}),s("div",{className:"im-actions",children:[i(p,{type:"button",variant:"ghost",size:"sm",disabled:w,...f.cancelProps,children:t("settingsSection.cancel")}),i(p,{type:"button",variant:"destructive",size:"sm",disabled:g.disabled,...f.confirmProps,onClick:()=>{c(!1),l({id:"resetInbox",payload:{rowId:n.rowId}})},children:t("rowAction.resetInbox.confirm")})]})]}):i("div",{className:"im-actions",children:I.map(u=>i(p,{type:"button",variant:"ghost",size:"sm",disabled:u.disabled,ref:u.id==="resetInbox"?f.triggerRef:void 0,onClick:()=>{u.id==="resetInbox"?c(!0):l({id:u.id,payload:{rowId:n.rowId}})},children:t(u.labelKey)},u.id))}),v==="danger"?null:I.filter(u=>u.id!=="resetInbox"&&u.descriptionKeys.length>0).map(u=>i("p",{className:"im-small im-muted",children:u.descriptionKeys.map(T=>t(T,u.descriptionParams)).join(" ")},u.id)),v==="danger"||R.noteKey===null?null:i("p",{className:"im-small im-muted",children:t(R.noteKey)})]}),a===null?null:i(fe,{bridge:e.bridge,command:qe[a.id],payload:a.payload,items:"latest",environmentId:e.environmentId,t,onClose:()=>l(null)},a.id)]})}})}function Oe(e){let{t:n}=e;return i(Be,{...e,kind:Ce,row:e.target,title:t=>{let o=(t.name??"").trim()||(t.targetId??"").trim();return o.length>0?o:n("settingsSection.target.untitled")}})}function Mn(e){let{bot:n,t}=e,o=re(n,e.connections),r=$(n.values),a=pe(r,n.values);return s(p,{type:"button",variant:"outline",className:"im-bot-summary",onClick:e.onOpen,children:[s("span",{className:"im-bot-summary-identity",children:[i(Y,{platform:r}),s("span",{className:"im-bot-summary-copy",children:[i("strong",{children:Ie(n.values,n.platform,t)}),a===null?null:i("span",{className:"im-small im-muted",children:a})]})]}),s("span",{className:"im-status",children:[n.configured&&e.connections?.[n.rowId]?.statusSince!==void 0?i(le,{since:e.connections[n.rowId]?.statusSince,bridge:e.bridge,t}):null,i(z,{tone:o.tone,children:t(o.key)})]}),i("span",{className:"im-summary-chevron","aria-hidden":"true"})]})}var ot={};function Vn(e){let{view:n,snapshot:t,t:o}=e,r=B(()=>{let y=(t.columns.find(S=>S.key==="platform")?.options?.map(S=>S.value)??[]).filter(S=>ve(S,n.bots.some(A=>A.platform===S)));for(let S of n.bots)y.includes(S.platform)||y.push(S.platform);return y.length===0?["lark"]:y},[t.columns,n.bots]),[a,l]=x(null),[d,c]=x(null),[b,f]=x(!1),[h,w]=x(null),v=a!==null&&r.includes(a)?a:n.bots[0]?.platform??r[0]??"lark",R=n.bots.filter(m=>m.platform===v),g=d===null?void 0:R.find(m=>m.rowId===d),I=b||g!==void 0,u=o(`platform.${v}`),T=h==="lark"?{command:We,descriptionKey:U.descriptionKey}:h==="wecom"?{command:je,descriptionKey:"wecomSetup.action.description"}:null,P=()=>{c(null),f(!1)},E=v==="wechat"?null:s("div",{className:"im-actions",children:[i(p,{variant:"outline",disabled:h!==null,onClick:()=>{f(!0),c(null),e.activate(j(xe.newSlot,null))},children:o("settingsSection.addBot")}),v==="lark"?s(p,{variant:R.length===0?"default":"outline",disabled:h!==null,onClick:()=>w("lark"),children:[o(U.labelKey),i("span",{className:R.length===0?"im-badge im-badge-on-primary im-small":"im-badge im-small",children:o(U.badgeKey)})]}):null,v==="wecom"?s(p,{variant:"outline",disabled:h!==null,onClick:()=>w("wecom"),children:[o("wecomSetup.action.label"),i("span",{className:"im-badge im-small",children:o(U.badgeKey)})]}):null]}),_=v==="lark"?i("p",{className:"im-small im-muted",children:o(U.warningKey)}):null;return s("div",{className:"im-workspace",children:[i("div",{className:"im-rail",role:"tablist","aria-label":o("settingsSection.channelPicker"),children:r.map(m=>{let y=n.bots.filter(S=>S.platform===m).length;return s(p,{type:"button",variant:"ghost",role:"tab","aria-selected":m===v,className:"im-channel",onClick:()=>{l(m),P(),w(null)},children:[i(Y,{platform:m}),i("span",{className:"im-channel-label",children:o(`platform.${m}`)}),y===0?null:i("span",{className:"im-channel-count",children:y})]},m)})}),i("div",{className:"im-main",children:I?s(C,{children:[i(p,{type:"button",variant:"ghost",size:"sm",className:"im-back",onClick:P,children:o("settingsSection.backToBots")}),i(Ln,{bot:b?null:g??null,bots:n.bots,connections:e.connections,columns:t.columns,proxies:t.proxies,environmentId:e.environmentId,bridge:e.bridge,t:o,detail:!0,...b?{initialValues:{platform:v}}:{},onSaved:m=>{if(b){let y=m.bots.find(S=>!n.bots.some(A=>A.rowId===S.rowId));y!==void 0&&l(y.platform),f(!1)}e.onSaved(m)},onDiscard:P},b?xe.newSlot:g?.rowId)]}):s(C,{children:[i("div",{className:"im-main-head",children:i("h3",{className:"im-heading im-medium",children:u})}),v==="wechat"?i("p",{className:"im-small im-muted",children:o("settingsSection.wechatUnavailable")}):null,R.length===0?s("div",{className:"im-empty",children:[i(mn,{title:o("settingsSection.platformEmpty",{platform:u})}),E,_]}):s(C,{children:[i("div",{className:"im-bot-list",children:R.map(m=>i(Mn,{bot:m,connections:e.connections,bridge:e.bridge,t:o,onOpen:()=>{c(m.rowId),w(null)}},m.rowId))}),E,_]}),T===null?null:s("section",{className:"im-block",children:[i("p",{className:"im-small im-muted",children:o(T.descriptionKey)}),i(fe,{bridge:e.bridge,command:T.command,payload:ot,items:"snapshots",environmentId:e.environmentId,t:o,onSettled:m=>{m.kind==="done"&&e.reload()},onClose:()=>w(null)})]})]})})]})}var at="im-general";function ke(e,n){return{signature:n,replyLanguage:e.replyLanguage,enabled:e.delivery.enabled,port:String(e.delivery.port),token:"",clearToken:!1,saving:!1,failed:!1}}function Kn(e){let n=e.view,t=Pe(n),o=Se(at),r=L(0),[a,l]=x(()=>ke(n,t));a.signature!==t&&(r.current+=1,l(ke(n,t)));let d=En({baseline:{replyLanguage:n.replyLanguage,enabled:n.delivery.enabled,port:n.delivery.port,hasToken:n.delivery.hasToken},replyLanguage:a.replyLanguage,enabled:a.enabled,port:a.port,token:a.token,clearToken:a.clearToken}),c=d.changed,b=d.changed&&d.invalidPort,f=D(e.environmentId,"general","port"),h=D(e.environmentId,"general","token"),w=D(e.environmentId,"general","language");function v(g){o.activate(),l(I=>({...I,...g,failed:!1}))}function R(){if(!d.changed||a.saving)return;if(o.activate(),d.invalidPort){l(u=>({...u,failed:!0}));return}let g=d.payload,I=++r.current;l(u=>({...u,saving:!0,failed:!1})),ee(e.bridge,Ge,g,O(e.environmentId)).then(u=>{if(r.current===I){if(u===null){l(T=>({...T,saving:!1,failed:!0}));return}l(ke(u,Pe(u))),e.onSaved(u)}})}return i(be,{title:e.t("settingsSection.general"),defaultOpen:e.open===!0,staticHead:e.open===!0,hideTitle:e.open===!0,...e.open===!0?{className:"im-detail"}:{},children:s("div",{className:"im-form",children:[i(V,{id:w,label:e.t("settings.language.label"),description:e.t("settings.language.description"),children:s(se,{className:"im-wide",value:a.replyLanguage,disabled:a.saving,onValueChange:g=>{let I=oe.find(u=>u.value===g);I===void 0||I.value===a.replyLanguage||v({replyLanguage:I.value})},children:[i(de,{id:w,"aria-describedby":`${w}-hint`,children:i(Z,{children:oe.filter(g=>g.value===a.replyLanguage).map(g=>e.t(g.labelKey))})}),i(ce,{children:oe.map(g=>i(X,{value:g.value,children:e.t(g.labelKey)},g.value))})]})}),s("div",{className:"im-field",children:[s(G,{className:"im-inline",children:[i("span",{className:"im-medium",children:e.t("settings.deliveryHttp.enabled.label")}),i(cn,{checked:a.enabled,disabled:a.saving,onCheckedChange:g=>{g!==a.enabled&&v({enabled:g})}})]}),i("p",{className:"im-small im-muted",children:e.t("settings.deliveryHttp.enabled.description")})]}),a.enabled?i(V,{id:f,label:e.t("settings.deliveryHttp.port.label"),description:e.t("settings.deliveryHttp.port.description"),issue:b?e.t("settingsSection.issue.format"):null,children:i(H,{id:f,type:"number",value:a.port,disabled:a.saving,"aria-invalid":b?!0:void 0,"aria-describedby":ne(f,b,!0),onChange:g=>{g.target.value!==a.port&&v({port:g.target.value})}})}):null,a.enabled?i(V,{id:h,label:e.t("settings.deliveryHttp.token.label"),description:e.t("settings.deliveryHttp.token.description"),children:i(ue,{id:h,value:a.token,stored:n.delivery.hasToken,clearing:a.clearToken,disabled:a.saving,invalid:!1,describedBy:ne(h,!1,!0),savedPlaceholder:e.t("settingsSection.secret.saved"),clearLabel:e.t("settingsSection.secret.clear"),undoLabel:e.t("settingsSection.secret.clearUndo"),onChange:g=>{g!==a.token&&v({token:g})},onToggleClear:()=>v({clearToken:!a.clearToken})})}):null,i(ge,{dirty:c,saving:a.saving,solid:o.chosen&&c,failed:a.failed,saveLabel:e.t("settingsSection.save"),revertLabel:e.t("settingsSection.revert"),failedLabel:e.t("settingsSection.saveFailed"),onSave:R,onRevert:()=>{r.current+=1,l(ke(n,t))}})]})})}function Fn(e){let[n,t]=x(!1),{t:o}=e;return s("div",{className:"im-main",role:"region","aria-label":o("settings.deliveryTargets.label"),children:[e.view.targets.map(r=>i(Oe,{target:r,columns:e.columns,proxies:e.proxies,environmentId:e.environmentId,bridge:e.bridge,t:o,onSaved:e.onSaved,onDiscard:()=>{}},r.rowId)),n?i(Oe,{target:null,columns:e.columns,proxies:e.proxies,environmentId:e.environmentId,bridge:e.bridge,t:o,onSaved:r=>{t(!1),e.onSaved(r)},onDiscard:()=>t(!1)},Ce.newSlot):null,i("div",{className:"im-actions",children:i(p,{variant:"outline",disabled:n,onClick:()=>{t(!0),e.activate(j(Ce.newSlot,null))},children:o("settingsSection.target.add")})})]})}var Dn=`
|
|
5
|
+
`),d)},children:d("settingsSection.copy")})})]})]})}function q(e){let n=(()=>{switch(e.platform){case"lark":return s(C,{children:[i("path",{fill:"#00D6B9",d:"M7.2 4.5h7.6c1.2 0 2.1.55 2.7 1.58 1.05 1.8 1.55 3.45 1.58 4.95-2.04-.62-4.2-.15-6.22 1.45C11.3 9.7 9.42 7.04 7.2 4.5Z"}),i("path",{fill:"#1456B8",d:"M10.8 13.55c3.3-2.93 5.72-4.24 9.47-2.52-1.2 1.45-2.27 4.18-3.86 5.43-1.67 1.31-3.9.5-5.61-.64v-2.27Z"}),i("path",{fill:"#3370FF",d:"M4.4 8.35c3.47 3.61 7.25 6.1 10.33 5.7 1.06-.14 2.2-.72 3.4-1.72-1.04 2.65-2.6 4.8-5.06 6-2.46 1.2-5.56.52-7.42-.72A2.76 2.76 0 0 1 4.4 15.3V8.35Z"})]});case"wecom":case"wecom-app":return s(C,{children:[i("path",{fill:"none",stroke:"#3370FF",strokeWidth:"2.35",strokeLinecap:"round",strokeLinejoin:"round",d:"M17.7 14.5c1.05-1.12 1.65-2.52 1.65-4.03 0-3.82-3.58-6.92-8-6.92s-8 3.1-8 6.92 3.58 6.92 8 6.92c1.17 0 2.28-.22 3.28-.62"}),i("path",{fill:"#07C160",d:"M16.1 15.15c.7-.7 1.83-.7 2.53 0s.7 1.83 0 2.53-1.83.7-2.53 0-.7-1.83 0-2.53Z"}),i("path",{fill:"#FFB800",d:"M19.25 13.45a1.36 1.36 0 1 1 1.92 1.92 1.36 1.36 0 0 1-1.92-1.92Z"}),i("path",{fill:"#FF7A00",d:"M19.55 18.05a1.16 1.16 0 1 1 1.64 1.64 1.16 1.16 0 0 1-1.64-1.64Z"}),i("path",{fill:"#3370FF",d:"M15.25 18.75a.92.92 0 1 1 1.3 1.3.92.92 0 0 1-1.3-1.3Z"})]});case"telegram":return i("path",{fill:"#229ED9",d:"M23.95 4.57c-.36-1.45-1.43-1.76-2.82-1.24L1.5 10.9c-1.34.52-1.32 1.27-.24 1.6l5.03 1.57 11.66-7.36c.55-.34 1.05-.16.64.21l-9.44 8.52-.37 5.12c.54 0 .78-.24 1.08-.53l2.59-2.51 5.38 3.97c.99.55 1.7.27 1.95-.92L23.95 4.57Z"});case"wechat":return i("path",{fill:"#07C160",d:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z"});default:return null}})();return n===null?null:i("span",{className:`im-platform im-platform-${e.platform}`,"aria-hidden":"true",children:i("svg",{width:20,height:20,viewBox:"0 0 24 24",focusable:"false",children:n})})}function qn(e){return e.length>12?`${e.slice(0,8)}\u2022\u2022\u2022\u2022${e.slice(-4)}`:"cli_\u2022\u2022\u2022\u2022"}function kn(e){return e.length<=10?`${e.slice(0,3)}\u2022\u2022\u2022`:`${e.slice(0,6)}\u2022\u2022\u2022\u2022${e.slice(-4)}`}var Yn={lark:{column:"larkAppId",mask:qn},wecom:{column:"wecomBotId",mask:kn},"wecom-app":{column:"wecomAppCorpId",mask:kn}};function pe(e,n){let t=Yn[e];if(t===void 0)return null;let o=M(n,t.column);return o===""?null:t.mask(o)}function Ee(e){let n=e.className===void 0?"im-collapse":`im-collapse ${e.className}`;return e.staticHead===!0&&e.hideTitle===!0?s("div",{className:n,children:[e.notice,i("div",{className:"im-panel",children:e.children})]}):e.staticHead===!0?s("div",{className:n,children:[s("div",{className:"im-head",children:[s("div",{className:"im-toggle im-static",children:[e.icon,i("span",{className:"im-title im-medium",children:e.title}),e.meta]}),e.actions]}),e.notice,i("div",{className:"im-panel",children:e.children})]}):s(gn,{className:n,...e.defaultOpen===void 0?{}:{defaultOpen:e.defaultOpen},...e.open===void 0?{}:{open:e.open},...e.onOpenChange===void 0?{}:{onOpenChange:e.onOpenChange},children:[s("div",{className:"im-head",children:[s(yn,{className:"im-toggle",children:[i("span",{className:"im-chevron","aria-hidden":"true"}),e.icon,i("span",{className:"im-title im-medium",children:e.title}),e.meta]}),e.actions]}),e.notice,i(fn,{children:i("div",{className:"im-panel",children:e.children})})]})}function be(e){return i("section",{className:e.className===void 0?"im-block":`im-block ${e.className}`,...e.hideTitle===!0?{"aria-label":e.title}:{},children:i(Ee,{...e})})}var Jn=new Set(["accessMode","allowedSenders","runtimeMode"]),Zn=new Set(["groupMention","queueMode","approvalTimeoutMinutes","larkPanelMode","larkTopicOnMention","wecomNumberedHints"]);function Nn(e){return Jn.has(e.key)?"access":Zn.has(e.key)?"chat":e.group==="essential"||e.key==="defaultModel"||e.key==="defaultPreset"?"basic":"advanced"}var ve=(e,n)=>e!=="wechat"||n;var Ae="\0empty";function Rn(e){let n=e.columns.filter(f=>Ze(f,e.values)&&(e.section===void 0||Nn(f)===e.section)),t=e.section!==void 0?n:e.groupBotSettings?n.filter(f=>f.group==="essential"):n,o=e.section!==void 0?[]:e.groupBotSettings?n.filter(f=>f.group!=="essential"):[],r=e.issues.filter(f=>o.some(w=>w.key===f.column)),a=JSON.stringify(r),[l,d]=x(()=>({open:r.length>0,issues:a})),c=l.open||l.issues!==a&&r.length>0;l.issues!==a&&d({open:c,issues:a});let b=f=>i(Xn,{column:f,scope:e.scope,environmentId:e.environmentId,proxies:e.proxies,values:e.values,savedValues:e.savedValues,secrets:e.secrets,clearSecrets:e.clearSecrets,storedSecrets:e.storedSecrets,issues:e.issues,disabled:e.disabled,t:e.t,onValue:e.onValue,onSecret:e.onSecret,onToggleClear:e.onToggleClear},f.key);return s(C,{children:[t.map(b),(e.section===void 0||e.section==="basic"?e.publicFields:[]).map(f=>i(nt,{field:f,scope:e.scope,environmentId:e.environmentId,bridge:e.bridge,t:e.t},f.key)),o.length===0?null:i(Ee,{className:"im-span",title:r.length>0?e.t("settingsSection.moreSettingsIssues",{count:r.length}):e.t("settingsSection.moreSettings"),open:c,onOpenChange:f=>d({open:f,issues:a}),children:i("div",{className:"im-form",children:o.map(b)})})]})}function Xn(e){let n=e.column,t=D(e.environmentId,e.scope,n.key),o=j(e.t,n.labelKey,n.label)??n.key,r=j(e.t,n.descriptionKey,n.description),a=j(e.t,n.placeholderKey,n.placeholder),l=xn(e.t,e.issues.filter(c=>c.column===n.key).map(c=>c.code)),d=ne(t,l!==null,r!==void 0);return n.kind==="password"?i(V,{id:t,label:o,description:r,issue:l,children:i(ue,{id:t,value:e.secrets[n.key]??"",stored:e.storedSecrets[n.key]===!0,clearing:e.clearSecrets.includes(n.key),disabled:e.disabled,invalid:l!==null,describedBy:d,placeholder:a,savedPlaceholder:e.t("settingsSection.secret.saved"),clearLabel:e.t("settingsSection.secret.clear"),undoLabel:e.t("settingsSection.secret.clearUndo"),onChange:c=>{c!==(e.secrets[n.key]??"")&&e.onSecret(n.key,c)},onToggleClear:()=>e.onToggleClear(n.key)})}):n.kind==="select"?i(et,{column:n,id:t,label:o,description:r,issue:l,described:d,values:e.values,savedValues:e.savedValues,disabled:e.disabled,t:e.t,onValue:e.onValue}):n.kind==="proxy"?i("div",{className:"im-field",children:i(bn,{id:t,label:o,hint:e.values.platform==="lark"?e.t("column.proxy.larkHint"):r,value:e.values[n.key]??"",proxies:e.proxies,disabled:e.disabled,onChange:c=>{c!==(e.values[n.key]??"")&&e.onValue(n.key,c)},children:l===null?null:i("p",{id:`${t}-issue`,className:"im-small im-issue",role:"alert",children:l})})}):i(V,{id:t,label:o,description:r,issue:l,children:i($,{id:t,type:n.kind==="number"?"number":"text",min:n.min,max:n.max,step:n.kind==="number"?1:void 0,value:e.values[n.key]??n.defaultValue??"",placeholder:a,disabled:e.disabled,"aria-invalid":l!==null?!0:void 0,"aria-describedby":d,onChange:c=>{let b=c.target.value;b!==(e.values[n.key]??"")&&e.onValue(n.key,b)}})})}function et(e){let n=e.values[e.column.key]??"",t=e.savedValues[e.column.key]??"",o=(e.column.options??[]).filter(c=>e.column.key!=="platform"||ve(c.value,e.savedValues.platform===c.value)),r=o.some(c=>c.value===""),a=o.find(c=>c.value===n),l=c=>e.column.unavailableLabelKey===void 0?c:e.t(e.column.unavailableLabelKey,{value:c}),d=n===""&&a===void 0?void 0:a===void 0?l(n):j(e.t,a.labelKey,a.label)??a.value;return i(V,{id:e.id,label:e.label,description:e.description,issue:e.issue,children:s(se,{className:"im-wide",value:n===""?r?Ae:null:n,disabled:e.disabled,onValueChange:c=>{let b=r&&c===Ae?"":c??"";b!==n&&e.onValue(e.column.key,b)},children:[i(de,{id:e.id,"aria-invalid":e.issue!==null?!0:void 0,"aria-describedby":e.described,children:d===void 0?i(Z,{placeholder:e.t("settingsSection.select.default")}):i(Z,{children:d})}),s(ce,{children:[e.column.listsUnknownValue===!0&&t!==""&&!o.some(c=>c.value===t)?i(X,{value:t,disabled:e.column.unavailableLabelKey!==void 0,children:l(t)}):null,o.map(c=>i(X,{value:c.value===""?Ae:c.value,children:j(e.t,c.labelKey,c.label)??c.value},c.value))]})]})})}function nt(e){let n=D(e.environmentId,`${e.scope}-pub`,e.field.key);return s("div",{className:"im-field im-span",children:[i(H,{children:e.t(`settingsSection.publicField.${e.field.key}`)}),e.field.value===""?null:s("div",{className:"im-inline im-public-row",children:[i("span",{id:n,className:"im-public-value im-small",children:tt(e.field.value)}),e.field.copyable?i(p,{variant:"ghost",size:"sm",onClick:()=>{ye(e.bridge,e.field.value,e.t)},children:e.t("settingsSection.copy")}):null]}),e.field.hint===void 0?null:i("p",{className:"im-small im-muted",children:e.t(`settingsSection.publicFieldHint.${e.field.hint}`)})]})}function tt(e){let n=0;return e.split(/(?<=\/)(?!\/)/).map(t=>{let o=n;return n+=t.length,s(Me,{children:[o===0?null:i("wbr",{}),t]},o)})}var Tn=["basic","access","chat","advanced","danger"];function _n(e){let n=Ke(),t=e.showDanger?Tn:Tn.slice(0,-1),o=a=>{e.onChange(a),document.getElementById(`${n}-${a}`)?.focus()},r=(a,l)=>{let d=a.key==="Home"?0:a.key==="End"?t.length-1:a.key==="ArrowLeft"?(l-1+t.length)%t.length:a.key==="ArrowRight"?(l+1)%t.length:null;d!==null&&(a.preventDefault(),o(t[d]))};return i("div",{className:"im-detail-tabs",role:"tablist","aria-label":e.t("settingsSection.detailTabs"),children:t.map((a,l)=>i(p,{id:`${n}-${a}`,type:"button",variant:"ghost",size:"sm",role:"tab","aria-selected":e.value===a,tabIndex:e.value===a?0:-1,className:"im-detail-tab",onClick:()=>e.onChange(a),onKeyDown:d=>r(d,l),children:e.t(`settingsSection.tab.${a}`)},a))})}function Pn(e){let n={};for(let[a,l]of Object.entries(e.values))(e.baseline[a]??"")!==l&&(n[a]=l);let t={};for(let[a,l]of Object.entries(e.secrets))l!==""&&(t[a]=l);let o=[];for(let a of e.clearSecrets)Object.hasOwn(t,a)||o.includes(a)||o.push(a);return e.rowId===void 0||Object.keys(n).length>0||Object.keys(t).length>0||o.length>0?{changed:!0,edit:{...e.rowId===void 0?{}:{rowId:e.rowId},values:n,...Object.keys(t).length>0?{secrets:t}:{},...o.length>0?{clearSecrets:o}:{}}}:{changed:!1}}function it(e){let n=e.trim();if(!/^\d+$/.test(n))return null;let t=Number(n);return!Number.isInteger(t)||t<1||t>65535?null:t}function En(e){let n={};e.replyLanguage!==e.baseline.replyLanguage&&(n.replyLanguage=e.replyLanguage),e.enabled!==e.baseline.enabled&&(n.deliveryHttpEnabled=e.enabled);let t=!1;if(e.enabled){let o=it(e.port);o===null?t=!0:o!==e.baseline.port&&(n.deliveryHttpPort=o),e.token!==""?n.deliveryHttpToken=e.token:e.clearToken&&e.baseline.hasToken&&(n.clearDeliveryHttpToken=!0)}return t?{changed:!0,invalidPort:!0}:Object.keys(n).length===0?{changed:!1}:{changed:!0,invalidPort:!1,payload:n}}var An=te({activeId:null,activate:()=>{}});function Bn(e){return i(An,{value:{activeId:e.activeId,activate:e.activate},children:e.children})}function Se(e){let n=ie(An);return{chosen:n.activeId===e,activate:()=>n.activate(e)}}function we(e,n){let t=L(!1);return{cancelProps:{autoFocus:!0,"aria-describedby":e,onClick:()=>{t.current=!0,n()}},confirmProps:{"aria-describedby":e},triggerRef:o=>{o===null||!t.current||(t.current=!1,o.focus())}}}function he(e,n,t={}){return{signature:n,values:{...t,...e?.values},secrets:{},clearSecrets:[],saving:!1,failed:!1,confirming:!1,removing:!1,removeFailed:!1}}function Be(e){let{kind:n,row:t}=e,o=t===null?`${n.newSlot}:${JSON.stringify(e.initialValues??{})}`:JSON.stringify(t),r=Se(W(n.newSlot,t?.rowId??null)),a=L(0),[l,d]=x(()=>he(t,o,e.initialValues)),[c,b]=x("basic"),f=t!==null&&n.removeHintKey!==void 0?`im-remove-consequence-${n.newSlot}-${t.rowId}`:void 0,w=we(f,()=>d(m=>({...m,confirming:!1})));l.signature!==o&&(a.current+=1,d(he(t,o,e.initialValues)));let h=Pn({...t===null?{}:{rowId:t.rowId},baseline:t?.values??{},values:l.values,secrets:l.secrets,clearSecrets:l.clearSecrets}),v=h.changed,R=t===null||!t.configured,g=e.status??_e(t),I=e.notice??null,u=l.saving||l.removing;function T(m){r.activate(),d(y=>({...m(y),failed:!1}))}function P(){if(!h.changed||u)return;r.activate();let m=h.edit,y=++a.current;d(S=>({...S,saving:!0,failed:!1})),ee(e.bridge,n.saveCommand,m,O(e.environmentId)).then(S=>{if(a.current!==y)return;if(S===null){d(Ne=>({...Ne,saving:!1,failed:!0}));return}let A=t===null?void 0:n.rows(S).find(Ne=>Ne.rowId===t.rowId);A!==void 0&&d(he(A,JSON.stringify(A))),e.onSaved(S)})}function E(){if(t===null){e.onDiscard();return}let m=t.rowId,y=++a.current;d(S=>({...S,removing:!0,removeFailed:!1})),ee(e.bridge,n.removeCommand,{rowId:m},O(e.environmentId)).then(S=>{if(a.current===y){if(S===null){d(A=>({...A,removing:!1,removeFailed:!0,confirming:!0}));return}e.onSaved(S)}})}let _=l.confirming?s("div",{className:"im-actions",children:[i(p,{type:"button",variant:"ghost",size:"sm",disabled:u,...w.cancelProps,children:e.t("settingsSection.cancel")}),i(p,{type:"button",variant:"destructive",size:"sm",disabled:u,...w.confirmProps,onClick:E,children:e.t(n.removeConfirmKey)})]}):i(p,{type:"button",variant:e.detail===!0?"destructive":"ghost",size:"sm",disabled:u,ref:w.triggerRef,onClick:()=>d(m=>({...m,confirming:!0,removeFailed:!1})),children:e.t("settingsSection.remove")});return s(be,{title:e.title(l.values),icon:e.icon?.(l.values),defaultOpen:R,staticHead:e.detail===!0,...e.detail===!0?{className:"im-detail"}:{},meta:s(C,{children:[e.meta?.(l.values),s("span",{className:"im-status",children:[e.statusMeta,i(G,{tone:g.tone,children:e.t(g.key)})]})]}),actions:e.detail===!0?null:_,notice:s(C,{children:[e.summary,e.detail===!0?null:s(C,{children:[l.confirming&&t!==null&&n.removeHintKey!==void 0?i("p",{id:f,children:e.t(n.removeHintKey)}):null,l.removeFailed?i("p",{className:"im-small im-issue",role:"alert",children:e.t(n.removeFailedKey)}):null]})]}),children:[I===null?null:i(z,{variant:I.variant,children:i(Q,{children:I.text})}),e.detail===!0?i(_n,{value:c,showDanger:t!==null,onChange:m=>{m!=="danger"&&l.confirming&&d(y=>({...y,confirming:!1})),b(m),e.onSectionChange?.(m)},t:e.t}):null,e.detail===!0&&c==="danger"?s("div",{className:"im-danger-zone",children:[n.removeHintKey===void 0?null:l.confirming&&t!==null?i("p",{id:f,children:e.t(n.removeHintKey)}):i("p",{className:"im-small im-muted",children:e.t(n.removeHintKey)}),l.removeFailed?i("p",{className:"im-small im-issue",role:"alert",children:e.t(n.removeFailedKey)}):null,_,e.extra?.({dirty:v,frozen:u,section:c})]}):null,s("div",{className:"im-form",children:[e.detail===!0&&c==="danger"?null:i(Rn,{scope:`${n.newSlot}-${t?.rowId??"new"}`,environmentId:e.environmentId,columns:e.columns,groupBotSettings:n.groupBotSettings===!0,...e.detail===!0?{section:c}:{},proxies:e.proxies,values:l.values,savedValues:t?.values??{},secrets:l.secrets,clearSecrets:l.clearSecrets,storedSecrets:t?.secrets??{},issues:t?.issues??[],publicFields:t?.publicFields??[],disabled:u,bridge:e.bridge,t:e.t,onValue:(m,y)=>T(S=>({...S,values:{...S.values,[m]:y}})),onSecret:(m,y)=>T(S=>({...S,secrets:{...S.secrets,[m]:y}})),onToggleClear:m=>T(y=>({...y,clearSecrets:y.clearSecrets.includes(m)?y.clearSecrets.filter(S=>S!==m):[...y.clearSecrets,m]}))}),e.detail===!0&&c!=="advanced"?null:e.extra?.({dirty:v,frozen:u,...e.detail===!0?{section:c}:{}}),i(ge,{dirty:v,saving:l.saving,busy:l.removing,solid:r.chosen&&v,failed:l.failed,saveLabel:e.t("settingsSection.save"),revertLabel:e.t("settingsSection.revert"),failedLabel:e.t("settingsSection.saveFailed"),onSave:P,onRevert:()=>{a.current+=1,d(he(t,o,e.initialValues))}})]})]})}function On(e){let n=e.bridge.useFormatTimestamp(),{error:t,t:o}=e;if(t===void 0)return null;let r=new Date(t.at),a=Number.isFinite(r.getTime())?r.toISOString():null;return s("div",{className:"im-small",role:"status",children:[s("p",{children:[i("strong",{className:"im-issue",children:o("settingsSection.lastMessageError.title")}),o("settingsSection.lastMessageError.separator"),i("span",{children:t.messageKey===void 0?t.message:o(t.messageKey,{...t.messageParams,defaultValue:t.message})})]}),s("p",{className:"im-muted",children:[o("settingsSection.lastMessageError.code",{code:t.code}),", ",o("settingsSection.lastMessageError.reference",{referenceId:t.referenceId}),a===null?null:s(C,{children:[", ",i("time",{dateTime:a,children:n(a)})]})]})]})}var xe={groupBotSettings:!0,newSlot:"im-new-row",saveCommand:$e,removeCommand:He,rows:e=>e.bots,removeConfirmKey:"settingsSection.removeConfirm",removeHintKey:"settingsSection.removeHint",removeFailedKey:"settingsSection.removeFailed"},Ce={newSlot:"im-new-target",saveCommand:ze,removeCommand:Qe,rows:e=>e.targets,removeConfirmKey:"settingsSection.target.removeConfirm",removeFailedKey:"settingsSection.target.removeFailed"},Ie=(e,n,t)=>{let o=(e.displayName??"").trim();return o.length>0?o:t(`platform.${n}`)};function Ln(e){let{bot:n,t}=e,o=e.bots.find(w=>w.rowId===(n===null?void 0:e.connections?.[n.rowId]?.duplicateOf)),r=ln(n,e.connections,o===void 0?void 0:Ie(o.values,o.platform,t),t),[a,l]=x(null),[d,c]=x(!1),b=n===null?void 0:`im-reset-consequence-${n.rowId}`,f=we(b,()=>c(!1));return i(Be,{...e,kind:xe,row:n,onSectionChange:w=>{l(null),w!=="danger"&&c(!1)},status:re(n,e.connections),statusMeta:n?.configured&&e.connections?.[n.rowId]?.statusSince!==void 0?i(le,{since:e.connections[n.rowId]?.statusSince,bridge:e.bridge,t}):null,notice:r,summary:n===null?null:i(On,{error:e.connections?.[n.rowId]?.lastMessageError,bridge:e.bridge,t}),title:w=>Ie(w,U(w),t),icon:w=>{let h=M(w,"platform");return h===""?null:i(q,{platform:h})},meta:w=>{let h=U(w),v=pe(h,w);return v===null?null:i("span",{className:"im-small im-muted",children:v})},extra:({dirty:w,frozen:h,section:v})=>{if(n===null)return null;let R=Sn(n.platform,w,h,e.connections?.[n.rowId]),g=R.actions.find(u=>u.id==="resetInbox"),I=R.actions.filter(u=>v===void 0||v==="danger"==(u.id==="resetInbox"));return s(C,{children:[s("div",{className:"im-span",children:[d&&g!==void 0?s(C,{children:[i("p",{id:b,children:g.descriptionKeys.map(u=>t(u)).join(" ")}),s("div",{className:"im-actions",children:[i(p,{type:"button",variant:"ghost",size:"sm",disabled:h,...f.cancelProps,children:t("settingsSection.cancel")}),i(p,{type:"button",variant:"destructive",size:"sm",disabled:g.disabled,...f.confirmProps,onClick:()=>{c(!1),l({id:"resetInbox",payload:{rowId:n.rowId}})},children:t("rowAction.resetInbox.confirm")})]})]}):i("div",{className:"im-actions",children:I.map(u=>i(p,{type:"button",variant:"ghost",size:"sm",disabled:u.disabled,ref:u.id==="resetInbox"?f.triggerRef:void 0,onClick:()=>{u.id==="resetInbox"?c(!0):l({id:u.id,payload:{rowId:n.rowId}})},children:t(u.labelKey)},u.id))}),v==="danger"?null:I.filter(u=>u.id!=="resetInbox"&&u.descriptionKeys.length>0).map(u=>i("p",{className:"im-small im-muted",children:u.descriptionKeys.map(T=>t(T,u.descriptionParams)).join(" ")},u.id)),v==="danger"||R.noteKey===null?null:i("p",{className:"im-small im-muted",children:t(R.noteKey)})]}),a===null?null:i(fe,{bridge:e.bridge,command:qe[a.id],payload:a.payload,items:"latest",environmentId:e.environmentId,t,onClose:()=>l(null)},a.id)]})}})}function Oe(e){let{t:n}=e;return i(Be,{...e,kind:Ce,row:e.target,title:t=>{let o=(t.name??"").trim()||(t.targetId??"").trim();return o.length>0?o:n("settingsSection.target.untitled")}})}function Mn(e){let{bot:n,t}=e,o=re(n,e.connections),r=U(n.values),a=pe(r,n.values);return s(p,{type:"button",variant:"outline",className:"im-bot-summary",onClick:e.onOpen,children:[s("span",{className:"im-bot-summary-identity",children:[i(q,{platform:r}),s("span",{className:"im-bot-summary-copy",children:[i("strong",{children:Ie(n.values,n.platform,t)}),a===null?null:i("span",{className:"im-small im-muted",children:a})]})]}),s("span",{className:"im-status",children:[n.configured&&e.connections?.[n.rowId]?.statusSince!==void 0?i(le,{since:e.connections[n.rowId]?.statusSince,bridge:e.bridge,t}):null,i(G,{tone:o.tone,children:t(o.key)})]}),i("span",{className:"im-summary-chevron","aria-hidden":"true"})]})}var ot={};function Vn(e){let{view:n,snapshot:t,t:o}=e,r=B(()=>{let y=(t.columns.find(S=>S.key==="platform")?.options?.map(S=>S.value)??[]).filter(S=>ve(S,n.bots.some(A=>A.platform===S)));for(let S of n.bots)y.includes(S.platform)||y.push(S.platform);return y.length===0?["lark"]:y},[t.columns,n.bots]),[a,l]=x(null),[d,c]=x(null),[b,f]=x(!1),[w,h]=x(null),v=a!==null&&r.includes(a)?a:n.bots[0]?.platform??r[0]??"lark",R=n.bots.filter(m=>m.platform===v),g=d===null?void 0:R.find(m=>m.rowId===d),I=b||g!==void 0,u=o(`platform.${v}`),T=w==="lark"?{command:We,descriptionKey:Y.descriptionKey}:w==="wecom"?{command:je,descriptionKey:"wecomSetup.action.description"}:null,P=()=>{c(null),f(!1)},E=v==="wechat"?null:s("div",{className:"im-actions",children:[i(p,{variant:"outline",disabled:w!==null,onClick:()=>{f(!0),c(null),e.activate(W(xe.newSlot,null))},children:o("settingsSection.addBot")}),v==="lark"?i(p,{variant:R.length===0?"default":"outline",disabled:w!==null,onClick:()=>h("lark"),children:o(Y.labelKey)}):null,v==="wecom"?s(p,{variant:"outline",disabled:w!==null,onClick:()=>h("wecom"),children:[o("wecomSetup.action.label"),i("span",{className:"im-badge im-small",children:o(Y.badgeKey)})]}):null]}),_=v==="lark"?i("p",{className:"im-small im-muted",children:o(Y.warningKey)}):null;return s("div",{className:"im-workspace",children:[i("div",{className:"im-rail",role:"tablist","aria-label":o("settingsSection.channelPicker"),children:r.map(m=>{let y=n.bots.filter(S=>S.platform===m).length;return s(p,{type:"button",variant:"ghost",role:"tab","aria-selected":m===v,className:"im-channel",onClick:()=>{l(m),P(),h(null)},children:[i(q,{platform:m}),i("span",{className:"im-channel-label",children:o(`platform.${m}`)}),y===0?null:i("span",{className:"im-channel-count",children:y})]},m)})}),i("div",{className:"im-main",children:I?s(C,{children:[i(p,{type:"button",variant:"ghost",size:"sm",className:"im-back",onClick:P,children:o("settingsSection.backToBots")}),i(Ln,{bot:b?null:g??null,bots:n.bots,connections:e.connections,columns:t.columns,proxies:t.proxies,environmentId:e.environmentId,bridge:e.bridge,t:o,detail:!0,...b?{initialValues:{platform:v}}:{},onSaved:m=>{if(b){let y=m.bots.find(S=>!n.bots.some(A=>A.rowId===S.rowId));y!==void 0&&l(y.platform),f(!1)}e.onSaved(m)},onDiscard:P},b?xe.newSlot:g?.rowId)]}):s(C,{children:[i("div",{className:"im-main-head",children:i("h3",{className:"im-heading im-medium",children:u})}),v==="wechat"?i("p",{className:"im-small im-muted",children:o("settingsSection.wechatUnavailable")}):null,R.length===0?s("div",{className:"im-empty",children:[i(mn,{title:o("settingsSection.platformEmpty",{platform:u})}),E,_]}):s(C,{children:[i("div",{className:"im-bot-list",children:R.map(m=>i(Mn,{bot:m,connections:e.connections,bridge:e.bridge,t:o,onOpen:()=>{c(m.rowId),h(null)}},m.rowId))}),E,_]}),T===null?null:s("section",{className:"im-block",children:[i("p",{className:"im-small im-muted",children:o(T.descriptionKey)}),i(fe,{bridge:e.bridge,command:T.command,payload:ot,items:"snapshots",environmentId:e.environmentId,t:o,onSettled:m=>{m.kind==="done"&&e.reload()},onClose:()=>h(null)})]})]})})]})}var at="im-general";function ke(e,n){return{signature:n,replyLanguage:e.replyLanguage,enabled:e.delivery.enabled,port:String(e.delivery.port),token:"",clearToken:!1,saving:!1,failed:!1}}function Kn(e){let n=e.view,t=Pe(n),o=Se(at),r=L(0),[a,l]=x(()=>ke(n,t));a.signature!==t&&(r.current+=1,l(ke(n,t)));let d=En({baseline:{replyLanguage:n.replyLanguage,enabled:n.delivery.enabled,port:n.delivery.port,hasToken:n.delivery.hasToken},replyLanguage:a.replyLanguage,enabled:a.enabled,port:a.port,token:a.token,clearToken:a.clearToken}),c=d.changed,b=d.changed&&d.invalidPort,f=D(e.environmentId,"general","port"),w=D(e.environmentId,"general","token"),h=D(e.environmentId,"general","language");function v(g){o.activate(),l(I=>({...I,...g,failed:!1}))}function R(){if(!d.changed||a.saving)return;if(o.activate(),d.invalidPort){l(u=>({...u,failed:!0}));return}let g=d.payload,I=++r.current;l(u=>({...u,saving:!0,failed:!1})),ee(e.bridge,Ge,g,O(e.environmentId)).then(u=>{if(r.current===I){if(u===null){l(T=>({...T,saving:!1,failed:!0}));return}l(ke(u,Pe(u))),e.onSaved(u)}})}return i(be,{title:e.t("settingsSection.general"),defaultOpen:e.open===!0,staticHead:e.open===!0,hideTitle:e.open===!0,...e.open===!0?{className:"im-detail"}:{},children:s("div",{className:"im-form",children:[i(V,{id:h,label:e.t("settings.language.label"),description:e.t("settings.language.description"),children:s(se,{className:"im-wide",value:a.replyLanguage,disabled:a.saving,onValueChange:g=>{let I=oe.find(u=>u.value===g);I===void 0||I.value===a.replyLanguage||v({replyLanguage:I.value})},children:[i(de,{id:h,"aria-describedby":`${h}-hint`,children:i(Z,{children:oe.filter(g=>g.value===a.replyLanguage).map(g=>e.t(g.labelKey))})}),i(ce,{children:oe.map(g=>i(X,{value:g.value,children:e.t(g.labelKey)},g.value))})]})}),s("div",{className:"im-field",children:[s(H,{className:"im-inline",children:[i("span",{className:"im-medium",children:e.t("settings.deliveryHttp.enabled.label")}),i(cn,{checked:a.enabled,disabled:a.saving,onCheckedChange:g=>{g!==a.enabled&&v({enabled:g})}})]}),i("p",{className:"im-small im-muted",children:e.t("settings.deliveryHttp.enabled.description")})]}),a.enabled?i(V,{id:f,label:e.t("settings.deliveryHttp.port.label"),description:e.t("settings.deliveryHttp.port.description"),issue:b?e.t("settingsSection.issue.format"):null,children:i($,{id:f,type:"number",value:a.port,disabled:a.saving,"aria-invalid":b?!0:void 0,"aria-describedby":ne(f,b,!0),onChange:g=>{g.target.value!==a.port&&v({port:g.target.value})}})}):null,a.enabled?i(V,{id:w,label:e.t("settings.deliveryHttp.token.label"),description:e.t("settings.deliveryHttp.token.description"),children:i(ue,{id:w,value:a.token,stored:n.delivery.hasToken,clearing:a.clearToken,disabled:a.saving,invalid:!1,describedBy:ne(w,!1,!0),savedPlaceholder:e.t("settingsSection.secret.saved"),clearLabel:e.t("settingsSection.secret.clear"),undoLabel:e.t("settingsSection.secret.clearUndo"),onChange:g=>{g!==a.token&&v({token:g})},onToggleClear:()=>v({clearToken:!a.clearToken})})}):null,i(ge,{dirty:c,saving:a.saving,solid:o.chosen&&c,failed:a.failed,saveLabel:e.t("settingsSection.save"),revertLabel:e.t("settingsSection.revert"),failedLabel:e.t("settingsSection.saveFailed"),onSave:R,onRevert:()=>{r.current+=1,l(ke(n,t))}})]})})}function Fn(e){let[n,t]=x(!1),{t:o}=e;return s("div",{className:"im-main",role:"region","aria-label":o("settings.deliveryTargets.label"),children:[e.view.targets.map(r=>i(Oe,{target:r,columns:e.columns,proxies:e.proxies,environmentId:e.environmentId,bridge:e.bridge,t:o,onSaved:e.onSaved,onDiscard:()=>{}},r.rowId)),n?i(Oe,{target:null,columns:e.columns,proxies:e.proxies,environmentId:e.environmentId,bridge:e.bridge,t:o,onSaved:r=>{t(!1),e.onSaved(r)},onDiscard:()=>t(!1)},Ce.newSlot):null,i("div",{className:"im-actions",children:i(p,{variant:"outline",disabled:n,onClick:()=>{t(!0),e.activate(W(Ce.newSlot,null))},children:o("settingsSection.target.add")})})]})}var Dn=`
|
|
6
6
|
.im-settings {
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
color: var(--foreground);
|
|
@@ -231,11 +231,6 @@ var Hn=window.__ycodiumPluginHost.react;var{Activity:st,Children:dt,Component:ct
|
|
|
231
231
|
border-radius: var(--control-radius);
|
|
232
232
|
color: var(--muted-foreground);
|
|
233
233
|
}
|
|
234
|
-
/* \u4E3B\u6309\u94AE\u4E0A\u7684\u5FBD\u6807\u8DDF\u6309\u94AE\u6587\u5B57\u540C\u8272\uFF0C\u7070\u5B57\u538B\u5728\u4E3B\u8272\u4E0A\u770B\u4E0D\u6E05\u3002 */
|
|
235
|
-
.im-settings .im-badge-on-primary {
|
|
236
|
-
border-color: currentColor;
|
|
237
|
-
color: inherit;
|
|
238
|
-
}
|
|
239
234
|
.im-settings .im-area-tabs,
|
|
240
235
|
.im-settings .im-detail-tabs {
|
|
241
236
|
display: flex;
|
|
@@ -428,4 +423,4 @@ var Hn=window.__ycodiumPluginHost.react;var{Activity:st,Children:dt,Component:ct
|
|
|
428
423
|
.im-settings .im-detail .im-form {
|
|
429
424
|
grid-template-columns: minmax(0, 1fr);
|
|
430
425
|
}
|
|
431
|
-
`;var Un={},rt=["bots","targets","general"];function $n(e){let n=e.bridge.i18n.usePluginTranslation(),t=B(()=>O(e.environmentId),[e.environmentId]),o=e.bridge.commands.useQuery(De,Un,t),r=e.bridge.commands.useSubscription(Ue,Un,t),a=rn(r),l=B(()=>
|
|
426
|
+
`;var Un={},rt=["bots","targets","general"];function $n(e){let n=e.bridge.i18n.usePluginTranslation(),t=B(()=>O(e.environmentId),[e.environmentId]),o=e.bridge.commands.useQuery(De,Un,t),r=e.bridge.commands.useSubscription(Ue,Un,t),a=rn(r),l=B(()=>hn(o.data),[o.data]),[d,c]=x(null),[b,f]=x(null),[w,h]=x(null),[v,R]=x("bots");if(l!==null&&l!==d&&c(l),b!==null){let y=In(b,{view:l?.view??null,isPending:o.isPending,failed:o.error!==null});y!==b&&f(y)}let g=b?.view??l?.view??d?.view??null,I=l??d,u=l===null&&o.data!==null&&!o.isPending,T=B(()=>Xe(I?.targetColumns??[],g?.bots??[],y=>n(`platform.${y}`)),[I,g,n]);function P(y){f({view:y,phase:"asked"}),o.refresh()}function E(){f(null),o.refresh()}let _;o.isUnavailable?_=i(Le,{variant:"warning",message:n("settingsSection.unavailable"),retryLabel:n("settingsSection.retry"),onRetry:E}):g===null&&o.isPending?_=i("div",{className:"im-pending",children:i(F,{size:"md"})}):g===null||I===null?_=i(Le,{variant:"error",message:n("settingsSection.loadFailed"),retryLabel:n("settingsSection.retry"),onRetry:E}):_=s(Bn,{activeId:w,activate:h,children:[o.error!==null||u?i(Le,{variant:"error",message:n("settingsSection.loadFailed"),retryLabel:n("settingsSection.retry"),onRetry:E}):null,i("div",{className:"im-area-tabs",role:"tablist","aria-label":n("settingsSection.globalTabs"),children:rt.map(y=>i(p,{type:"button",variant:"ghost",size:"sm",role:"tab","aria-selected":v===y,className:"im-area-tab",onClick:()=>R(y),children:n(y==="bots"?"settingsSection.bots":y==="targets"?"settings.deliveryTargets.label":"settingsSection.general")},y))}),v==="bots"?i(Vn,{view:g,snapshot:I,connections:a,environmentId:e.environmentId,bridge:e.bridge,t:n,activate:h,onSaved:P,reload:E}):v==="targets"?i(Fn,{view:g,columns:T,proxies:I.proxies,environmentId:e.environmentId,bridge:e.bridge,t:n,activate:h,onSaved:P}):i("div",{className:"im-main",children:i(Kn,{view:g,environmentId:e.environmentId,bridge:e.bridge,t:n,onSaved:P,open:!0})})]});let m=a===null?null:an(g?.bots??[],a);return i(dn,{bridge:e.bridge,children:s("div",{className:"im-settings",children:[i("style",{children:Dn}),s("div",{className:"im-head",children:[i("h2",{className:"im-heading im-medium im-title",children:n("settings.title")}),m!==null&&m.configured>0?i(G,{tone:"neutral","aria-label":n("settingsSection.onlineLabel",m),children:n("settingsSection.online",m)}):null]}),_]})})}function Le(e){return s(z,{variant:e.variant,layout:"inline",children:[i(Q,{children:e.message}),i(un,{children:i(p,{variant:"ghost",size:"sm",onClick:e.onRetry,children:e.retryLabel})})]})}function lt(e){return{slots:[{name:"settings.section",order:20,component(n){return i($n,{bridge:e,environmentId:n.environmentId??null},n.environmentId??"")}}]}}export{lt as default};
|
package/dist/index.js
CHANGED
|
@@ -133127,6 +133127,20 @@ var parseModelValue = (value2) => {
|
|
|
133127
133127
|
};
|
|
133128
133128
|
var modelValue = (selection) => selection === null ? "" : `${selection.instanceId}/${selection.model}`;
|
|
133129
133129
|
var isModelCatalogComplete = (instances) => instances !== null && instances.every((instance) => !instance.enabled || instance.models !== void 0);
|
|
133130
|
+
var isProviderSelectionError = (error) => typeof error === "object" && error !== null && "_tag" in error && error._tag === "ProviderSelectionError";
|
|
133131
|
+
var pickableInstances = async (providers, instances) => Promise.all(
|
|
133132
|
+
instances.map(async (instance) => {
|
|
133133
|
+
if (!instance.enabled || instance.models === void 0) return instance;
|
|
133134
|
+
const visible = await providers.models.list({ instanceId: instance.instanceId }).then((result2) => new Set(result2.models.map((model) => model.slug))).catch(() => null);
|
|
133135
|
+
if (visible === null) return instance;
|
|
133136
|
+
const shown = instance.models.filter((model) => visible.has(model.slug));
|
|
133137
|
+
const fallback = instance.models.find((model) => model.isDefault) ?? instance.models[0];
|
|
133138
|
+
return {
|
|
133139
|
+
...instance,
|
|
133140
|
+
models: shown.length > 0 || fallback === void 0 ? shown : [fallback]
|
|
133141
|
+
};
|
|
133142
|
+
})
|
|
133143
|
+
);
|
|
133130
133144
|
var modelChoices = (instances) => instances.flatMap(
|
|
133131
133145
|
(instance) => instance.enabled ? (instance.models ?? []).map(
|
|
133132
133146
|
(model) => ({
|
|
@@ -134818,7 +134832,11 @@ var makeReasoningCommand = (core, currentModel) => {
|
|
|
134818
134832
|
const readOptions = async (binding) => {
|
|
134819
134833
|
const resolved = await currentModel(binding);
|
|
134820
134834
|
const selection = resolved.selection;
|
|
134821
|
-
const catalog = selection === null ? null : await host.providers.models.list({
|
|
134835
|
+
const catalog = selection === null ? null : await host.providers.models.list({
|
|
134836
|
+
instanceId: selection.instanceId,
|
|
134837
|
+
// 当前型号被藏起来了也要能读到它的档位。
|
|
134838
|
+
includeHidden: true
|
|
134839
|
+
});
|
|
134822
134840
|
const model = catalog?.models.find((entry) => entry.slug === selection?.model);
|
|
134823
134841
|
return { ...resolved, option: model === void 0 ? void 0 : reasoningOption(model) };
|
|
134824
134842
|
};
|
|
@@ -134997,7 +135015,7 @@ var makePermissionCommand = (core) => {
|
|
|
134997
135015
|
// package.json
|
|
134998
135016
|
var package_default = {
|
|
134999
135017
|
name: "@ycodium-ai/plugin-im",
|
|
135000
|
-
version: "0.2.
|
|
135018
|
+
version: "0.2.3671",
|
|
135001
135019
|
description: "Talk to your agents from Telegram, WeCom, Lark, or WeChat (experimental).",
|
|
135002
135020
|
keywords: [
|
|
135003
135021
|
"im",
|
|
@@ -147164,7 +147182,7 @@ var en_default = {
|
|
|
147164
147182
|
},
|
|
147165
147183
|
port: {
|
|
147166
147184
|
label: "Delivery HTTP port",
|
|
147167
|
-
description: "
|
|
147185
|
+
description: "Default 3847."
|
|
147168
147186
|
},
|
|
147169
147187
|
token: {
|
|
147170
147188
|
label: "Delivery HTTP token",
|
|
@@ -147256,7 +147274,7 @@ var en_default = {
|
|
|
147256
147274
|
},
|
|
147257
147275
|
deliveryBotId: {
|
|
147258
147276
|
label: "Bot",
|
|
147259
|
-
description: "
|
|
147277
|
+
description: "Callers pass the id in brackets as botId.",
|
|
147260
147278
|
placeholder: "bot row id"
|
|
147261
147279
|
},
|
|
147262
147280
|
deliveryTargetId: {
|
|
@@ -147344,7 +147362,7 @@ var en_default = {
|
|
|
147344
147362
|
},
|
|
147345
147363
|
accessMode: {
|
|
147346
147364
|
label: "Access mode",
|
|
147347
|
-
description: '
|
|
147365
|
+
description: 'The two mixed modes share the same "Allowed people"; in either of them, when the chat type cannot be confirmed, only "Allowed people" can use the bot.'
|
|
147348
147366
|
}
|
|
147349
147367
|
},
|
|
147350
147368
|
reply: {
|
|
@@ -147560,7 +147578,7 @@ var en_default = {
|
|
|
147560
147578
|
},
|
|
147561
147579
|
reasoning: {
|
|
147562
147580
|
current: "Current reasoning effort: {{value}}",
|
|
147563
|
-
currentUnlisted: "Current reasoning effort: {{value}} (
|
|
147581
|
+
currentUnlisted: "Current reasoning effort: {{value}} (not supported by this model, so the model default is used; the setting is kept)",
|
|
147564
147582
|
resetNow: "Reasoning effort reset to the model default. The current session uses it from the next turn; new sessions in this chat use it too.",
|
|
147565
147583
|
resetNext: "Reasoning effort reset to the model default. New sessions in this chat will use it.",
|
|
147566
147584
|
notFound: '"{{query}}" is not an available reasoning effort.',
|
|
@@ -147575,7 +147593,7 @@ var en_default = {
|
|
|
147575
147593
|
setFailed: "Switching the reasoning effort failed. Try again in a moment.",
|
|
147576
147594
|
setNow: "Reasoning effort set to {{value}}. The current session uses it from the next turn; new sessions in this chat use it too.",
|
|
147577
147595
|
setNext: "Reasoning effort set to {{value}}. New sessions in this chat will use it.",
|
|
147578
|
-
|
|
147596
|
+
unsupportedKept: "This model does not support the reasoning effort {{value}}, so it runs on the model default. The setting is kept and comes back if you switch back.",
|
|
147579
147597
|
noModel: "This chat has no model yet. Pick one with /model first.",
|
|
147580
147598
|
switchReadFailed: "Could not read the new model's reasoning efforts, so the model was not switched. Try again in a moment.",
|
|
147581
147599
|
listTitlePlain: "Available reasoning efforts:"
|
|
@@ -148223,7 +148241,7 @@ var zh_CN_default = {
|
|
|
148223
148241
|
},
|
|
148224
148242
|
port: {
|
|
148225
148243
|
label: "\u6295\u9012 HTTP \u7AEF\u53E3",
|
|
148226
|
-
description: "\
|
|
148244
|
+
description: "\u9ED8\u8BA4 3847\u3002"
|
|
148227
148245
|
},
|
|
148228
148246
|
token: {
|
|
148229
148247
|
label: "\u6295\u9012 HTTP Token",
|
|
@@ -148315,7 +148333,7 @@ var zh_CN_default = {
|
|
|
148315
148333
|
},
|
|
148316
148334
|
deliveryBotId: {
|
|
148317
148335
|
label: "\u673A\u5668\u4EBA",
|
|
148318
|
-
description: "\
|
|
148336
|
+
description: "\u8C03\u7528\u65B9\u628A\u62EC\u53F7\u91CC\u7684 id \u5F53\u4F5C botId \u4F20\u3002",
|
|
148319
148337
|
placeholder: "\u673A\u5668\u4EBA\u884C id"
|
|
148320
148338
|
},
|
|
148321
148339
|
deliveryTargetId: {
|
|
@@ -148403,7 +148421,7 @@ var zh_CN_default = {
|
|
|
148403
148421
|
},
|
|
148404
148422
|
accessMode: {
|
|
148405
148423
|
label: "\u8BBF\u95EE\u6A21\u5F0F",
|
|
148406
|
-
description: "\
|
|
148424
|
+
description: "\u4E24\u79CD\u6DF7\u5408\u6A21\u5F0F\u5171\u7528\u540C\u4E00\u4EFD\u300C\u5141\u8BB8\u7684\u4EBA\u300D\uFF1B\u8FD9\u4E24\u79CD\u6A21\u5F0F\u4E0B\uFF0C\u65E0\u6CD5\u786E\u8BA4\u662F\u79C1\u804A\u8FD8\u662F\u7FA4\u65F6\uFF0C\u53EA\u6709\u300C\u5141\u8BB8\u7684\u4EBA\u300D\u80FD\u7528\u673A\u5668\u4EBA\u3002"
|
|
148407
148425
|
}
|
|
148408
148426
|
},
|
|
148409
148427
|
reply: {
|
|
@@ -148619,7 +148637,7 @@ var zh_CN_default = {
|
|
|
148619
148637
|
},
|
|
148620
148638
|
reasoning: {
|
|
148621
148639
|
current: "\u5F53\u524D\u601D\u8003\u5F3A\u5EA6\uFF1A{{value}}",
|
|
148622
|
-
currentUnlisted: "\u5F53\u524D\u601D\u8003\u5F3A\u5EA6\uFF1A{{value}}\uFF08\
|
|
148640
|
+
currentUnlisted: "\u5F53\u524D\u601D\u8003\u5F3A\u5EA6\uFF1A{{value}}\uFF08\u6B64\u578B\u53F7\u4E0D\u652F\u6301\uFF0C\u6309\u6A21\u578B\u9ED8\u8BA4\u8FD0\u884C\uFF1B\u8BBE\u7F6E\u4FDD\u7559\uFF09",
|
|
148623
148641
|
resetNow: "\u601D\u8003\u5F3A\u5EA6\u5DF2\u6062\u590D\u4E3A\u6A21\u578B\u9ED8\u8BA4\uFF0C\u5F53\u524D\u4F1A\u8BDD\u4ECE\u4E0B\u4E00\u8F6E\u8D77\u4F7F\u7528\u5B83\uFF0C\u8FD9\u4E2A\u804A\u5929\u7684\u65B0\u4F1A\u8BDD\u4E5F\u4F7F\u7528\u5B83\u3002",
|
|
148624
148642
|
resetNext: "\u601D\u8003\u5F3A\u5EA6\u5DF2\u6062\u590D\u4E3A\u6A21\u578B\u9ED8\u8BA4\uFF0C\u8FD9\u4E2A\u804A\u5929\u7684\u65B0\u4F1A\u8BDD\u5C06\u4F7F\u7528\u5B83\u3002",
|
|
148625
148643
|
notFound: "\u300C{{query}}\u300D\u4E0D\u662F\u53EF\u9009\u7684\u601D\u8003\u5F3A\u5EA6\u3002",
|
|
@@ -148634,7 +148652,7 @@ var zh_CN_default = {
|
|
|
148634
148652
|
setFailed: "\u5207\u6362\u601D\u8003\u5F3A\u5EA6\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",
|
|
148635
148653
|
setNow: "\u601D\u8003\u5F3A\u5EA6\u5DF2\u8BBE\u4E3A {{value}}\uFF0C\u5F53\u524D\u4F1A\u8BDD\u4ECE\u4E0B\u4E00\u8F6E\u8D77\u4F7F\u7528\u5B83\uFF0C\u8FD9\u4E2A\u804A\u5929\u7684\u65B0\u4F1A\u8BDD\u4E5F\u4F7F\u7528\u5B83\u3002",
|
|
148636
148654
|
setNext: "\u601D\u8003\u5F3A\u5EA6\u5DF2\u8BBE\u4E3A {{value}}\uFF0C\u8FD9\u4E2A\u804A\u5929\u7684\u65B0\u4F1A\u8BDD\u5C06\u4F7F\u7528\u5B83\u3002",
|
|
148637
|
-
|
|
148655
|
+
unsupportedKept: "\u6B64\u578B\u53F7\u4E0D\u652F\u6301\u601D\u8003\u5F3A\u5EA6 {{value}}\uFF0C\u6309\u6A21\u578B\u9ED8\u8BA4\u8FD0\u884C\u3002\u539F\u8BBE\u7F6E\u4FDD\u7559\uFF0C\u6362\u56DE\u539F\u578B\u53F7\u4F1A\u6062\u590D\u3002",
|
|
148638
148656
|
noModel: "\u8FD9\u4E2A\u804A\u5929\u8FD8\u6CA1\u6709\u6A21\u578B\uFF0C\u5148\u7528 /model \u9009\u4E00\u4E2A\u3002",
|
|
148639
148657
|
switchReadFailed: "\u6682\u65F6\u8BFB\u4E0D\u5230\u65B0\u6A21\u578B\u7684\u601D\u8003\u5F3A\u5EA6\u9009\u9879\uFF0C\u6A21\u578B\u6CA1\u6709\u5207\u6362\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",
|
|
148640
148658
|
listTitlePlain: "\u53EF\u9009\u601D\u8003\u5F3A\u5EA6\uFF1A"
|
|
@@ -150046,7 +150064,7 @@ var makeModelPlan = (core) => {
|
|
|
150046
150064
|
};
|
|
150047
150065
|
const handleModel = async (binding, arg) => {
|
|
150048
150066
|
const instances = await host.providers.instances.list({}).catch(() => null);
|
|
150049
|
-
const choices = instances === null ? [] : modelChoices(instances);
|
|
150067
|
+
const choices = instances === null ? [] : modelChoices(await pickableInstances(host.providers, instances));
|
|
150050
150068
|
if (arg === "") {
|
|
150051
150069
|
await deliver(binding, formatModels(await currentModelOf(binding, instances), choices, t));
|
|
150052
150070
|
return;
|
|
@@ -150065,27 +150083,54 @@ var makeModelPlan = (core) => {
|
|
|
150065
150083
|
onReadError: () => null
|
|
150066
150084
|
});
|
|
150067
150085
|
const previous = selectedReasoning(current);
|
|
150068
|
-
let carried
|
|
150086
|
+
let carried = (current?.options ?? []).filter(
|
|
150087
|
+
(entry) => typeof entry.value !== "string" || entry.value.trim() !== ""
|
|
150088
|
+
);
|
|
150069
150089
|
if (previous !== void 0) {
|
|
150070
150090
|
try {
|
|
150071
|
-
const catalog = await host.providers.models.list({
|
|
150091
|
+
const catalog = await host.providers.models.list({
|
|
150092
|
+
instanceId: picked.instanceId,
|
|
150093
|
+
includeHidden: true
|
|
150094
|
+
});
|
|
150072
150095
|
const model = catalog.models.find((entry) => entry.slug === picked.model);
|
|
150073
150096
|
const option2 = model === void 0 ? void 0 : reasoningOption(model);
|
|
150074
150097
|
if (option2 !== void 0 && option2.values.includes(previous.value))
|
|
150075
|
-
carried =
|
|
150098
|
+
carried = carried.map(
|
|
150099
|
+
(entry) => entry.id === previous.id ? { id: option2.id, value: previous.value } : entry
|
|
150100
|
+
);
|
|
150076
150101
|
} catch {
|
|
150077
150102
|
host.log.warn("chat could not read reasoning options for a model switch");
|
|
150078
150103
|
await deliver(binding, t("reasoning.switchReadFailed"));
|
|
150079
150104
|
return;
|
|
150080
150105
|
}
|
|
150081
150106
|
}
|
|
150082
|
-
|
|
150083
|
-
|
|
150084
|
-
|
|
150085
|
-
|
|
150086
|
-
|
|
150087
|
-
|
|
150088
|
-
|
|
150107
|
+
let resolved;
|
|
150108
|
+
try {
|
|
150109
|
+
resolved = await host.providers.selection.resolve({
|
|
150110
|
+
base: {
|
|
150111
|
+
instanceId: picked.instanceId,
|
|
150112
|
+
model: picked.model,
|
|
150113
|
+
...carried.length === 0 ? {} : { options: carried }
|
|
150114
|
+
},
|
|
150115
|
+
instanceId: picked.instanceId,
|
|
150116
|
+
model: picked.model,
|
|
150117
|
+
purpose: "dispatch-existing"
|
|
150118
|
+
});
|
|
150119
|
+
} catch (error) {
|
|
150120
|
+
if (isProviderSelectionError(error)) {
|
|
150121
|
+
await deliver(binding, t("model.notFound", { query: arg }));
|
|
150122
|
+
return;
|
|
150123
|
+
}
|
|
150124
|
+
host.log.warn("chat could not resolve the model for a model switch", {
|
|
150125
|
+
error: describeError(error)
|
|
150126
|
+
});
|
|
150127
|
+
await deliver(binding, t("model.setFailed"));
|
|
150128
|
+
return;
|
|
150129
|
+
}
|
|
150130
|
+
const unsupported = (resolved.hints ?? []).flatMap(
|
|
150131
|
+
(hint) => hint.kind === "option-unsupported" && isReasoningOption(hint.optionId) ? [t("reasoning.unsupportedKept", { value: String(hint.stored) })] : []
|
|
150132
|
+
);
|
|
150133
|
+
if (!await saveModelSelection(core, binding, threadId, resolved.modelSelection)) {
|
|
150089
150134
|
await deliver(binding, t("model.setFailed"));
|
|
150090
150135
|
return;
|
|
150091
150136
|
}
|
|
@@ -150093,7 +150138,7 @@ var makeModelPlan = (core) => {
|
|
|
150093
150138
|
binding,
|
|
150094
150139
|
[
|
|
150095
150140
|
t(threadId === null ? "model.setNext" : "model.setNow", { model: modelLabel(picked) }),
|
|
150096
|
-
...
|
|
150141
|
+
...unsupported
|
|
150097
150142
|
].join("\n")
|
|
150098
150143
|
);
|
|
150099
150144
|
};
|
|
@@ -157181,7 +157226,7 @@ var makeWecomAppAdapter = (deps) => {
|
|
|
157181
157226
|
// src/index.ts
|
|
157182
157227
|
var definition = {
|
|
157183
157228
|
id: "im",
|
|
157184
|
-
apiVersion:
|
|
157229
|
+
apiVersion: 51,
|
|
157185
157230
|
// 第二个参数只给插件自己的测试夹具:换掉文件 IO 与派发重试的等待。宿主只传 ctx。
|
|
157186
157231
|
activate: async (ctx, testing = {}) => {
|
|
157187
157232
|
const { dispatchSleep } = testing;
|
package/locales/en.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"port": {
|
|
43
43
|
"label": "Delivery HTTP port",
|
|
44
|
-
"description": "
|
|
44
|
+
"description": "Default 3847."
|
|
45
45
|
},
|
|
46
46
|
"token": {
|
|
47
47
|
"label": "Delivery HTTP token",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
},
|
|
134
134
|
"deliveryBotId": {
|
|
135
135
|
"label": "Bot",
|
|
136
|
-
"description": "
|
|
136
|
+
"description": "Callers pass the id in brackets as botId.",
|
|
137
137
|
"placeholder": "bot row id"
|
|
138
138
|
},
|
|
139
139
|
"deliveryTargetId": {
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
},
|
|
222
222
|
"accessMode": {
|
|
223
223
|
"label": "Access mode",
|
|
224
|
-
"description": "
|
|
224
|
+
"description": "The two mixed modes share the same \"Allowed people\"; in either of them, when the chat type cannot be confirmed, only \"Allowed people\" can use the bot."
|
|
225
225
|
}
|
|
226
226
|
},
|
|
227
227
|
"reply": {
|
|
@@ -437,7 +437,7 @@
|
|
|
437
437
|
},
|
|
438
438
|
"reasoning": {
|
|
439
439
|
"current": "Current reasoning effort: {{value}}",
|
|
440
|
-
"currentUnlisted": "Current reasoning effort: {{value}} (
|
|
440
|
+
"currentUnlisted": "Current reasoning effort: {{value}} (not supported by this model, so the model default is used; the setting is kept)",
|
|
441
441
|
"resetNow": "Reasoning effort reset to the model default. The current session uses it from the next turn; new sessions in this chat use it too.",
|
|
442
442
|
"resetNext": "Reasoning effort reset to the model default. New sessions in this chat will use it.",
|
|
443
443
|
"notFound": "\"{{query}}\" is not an available reasoning effort.",
|
|
@@ -452,7 +452,7 @@
|
|
|
452
452
|
"setFailed": "Switching the reasoning effort failed. Try again in a moment.",
|
|
453
453
|
"setNow": "Reasoning effort set to {{value}}. The current session uses it from the next turn; new sessions in this chat use it too.",
|
|
454
454
|
"setNext": "Reasoning effort set to {{value}}. New sessions in this chat will use it.",
|
|
455
|
-
"
|
|
455
|
+
"unsupportedKept": "This model does not support the reasoning effort {{value}}, so it runs on the model default. The setting is kept and comes back if you switch back.",
|
|
456
456
|
"noModel": "This chat has no model yet. Pick one with /model first.",
|
|
457
457
|
"switchReadFailed": "Could not read the new model's reasoning efforts, so the model was not switched. Try again in a moment.",
|
|
458
458
|
"listTitlePlain": "Available reasoning efforts:"
|
package/locales/zh-CN.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"port": {
|
|
43
43
|
"label": "投递 HTTP 端口",
|
|
44
|
-
"description": "
|
|
44
|
+
"description": "默认 3847。"
|
|
45
45
|
},
|
|
46
46
|
"token": {
|
|
47
47
|
"label": "投递 HTTP Token",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
},
|
|
134
134
|
"deliveryBotId": {
|
|
135
135
|
"label": "机器人",
|
|
136
|
-
"description": "
|
|
136
|
+
"description": "调用方把括号里的 id 当作 botId 传。",
|
|
137
137
|
"placeholder": "机器人行 id"
|
|
138
138
|
},
|
|
139
139
|
"deliveryTargetId": {
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
},
|
|
222
222
|
"accessMode": {
|
|
223
223
|
"label": "访问模式",
|
|
224
|
-
"description": "
|
|
224
|
+
"description": "两种混合模式共用同一份「允许的人」;这两种模式下,无法确认是私聊还是群时,只有「允许的人」能用机器人。"
|
|
225
225
|
}
|
|
226
226
|
},
|
|
227
227
|
"reply": {
|
|
@@ -437,7 +437,7 @@
|
|
|
437
437
|
},
|
|
438
438
|
"reasoning": {
|
|
439
439
|
"current": "当前思考强度:{{value}}",
|
|
440
|
-
"currentUnlisted": "当前思考强度:{{value}}
|
|
440
|
+
"currentUnlisted": "当前思考强度:{{value}}(此型号不支持,按模型默认运行;设置保留)",
|
|
441
441
|
"resetNow": "思考强度已恢复为模型默认,当前会话从下一轮起使用它,这个聊天的新会话也使用它。",
|
|
442
442
|
"resetNext": "思考强度已恢复为模型默认,这个聊天的新会话将使用它。",
|
|
443
443
|
"notFound": "「{{query}}」不是可选的思考强度。",
|
|
@@ -452,7 +452,7 @@
|
|
|
452
452
|
"setFailed": "切换思考强度失败,请稍后重试。",
|
|
453
453
|
"setNow": "思考强度已设为 {{value}},当前会话从下一轮起使用它,这个聊天的新会话也使用它。",
|
|
454
454
|
"setNext": "思考强度已设为 {{value}},这个聊天的新会话将使用它。",
|
|
455
|
-
"
|
|
455
|
+
"unsupportedKept": "此型号不支持思考强度 {{value}},按模型默认运行。原设置保留,换回原型号会恢复。",
|
|
456
456
|
"noModel": "这个聊天还没有模型,先用 /model 选一个。",
|
|
457
457
|
"switchReadFailed": "暂时读不到新模型的思考强度选项,模型没有切换,请稍后重试。",
|
|
458
458
|
"listTitlePlain": "可选思考强度:"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ycodium-ai/plugin-im",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3671",
|
|
4
4
|
"description": "Talk to your agents from Telegram, WeCom, Lark, or WeChat (experimental).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"im",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"markdown-it": "^15.0.2",
|
|
33
33
|
"react": "19.2.6",
|
|
34
34
|
"vite-plus": "0.2.2",
|
|
35
|
-
"@ycodium-ai/plugin-api": "0.2.
|
|
35
|
+
"@ycodium-ai/plugin-api": "0.2.3671",
|
|
36
36
|
"ycodium-react-test-harness": "0.0.0"
|
|
37
37
|
},
|
|
38
38
|
"ycodium": {
|