nextclaw 0.19.24 → 0.19.26
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/package.json +19 -19
- package/ui-dist/assets/{api-CKKNxbsy.js → api-rASx2-N4.js} +1 -1
- package/ui-dist/assets/{app-manager-provider-BM1hziPv.js → app-manager-provider-CUkcbdWk.js} +1 -1
- package/ui-dist/assets/{channels-list-page-GD_IBCbY.js → channels-list-page-CE_9jne_.js} +1 -1
- package/ui-dist/assets/{chat-page-Ty6QH2Tc.js → chat-page-BMJLtk3O.js} +1 -1
- package/ui-dist/assets/cpu-DKc3bQic.js +3 -0
- package/ui-dist/assets/desktop-DJpQzxsz.js +3 -0
- package/ui-dist/assets/{desktop-update-config-jWt63bXG.js → desktop-update-config-DAD9JN9Q.js} +1 -1
- package/ui-dist/assets/{dialog-DWZeMf9V.js → dialog-CR80q3Rm.js} +1 -1
- package/ui-dist/assets/{dist-DN-YM_0Y.js → dist-NBjcwlsw.js} +1 -1
- package/ui-dist/assets/doc-browser-B19cYGxa.js +1 -0
- package/ui-dist/assets/{doc-browser-CAhfnm0D.js → doc-browser-CDBYvb8A.js} +1 -1
- package/ui-dist/assets/doc-browser-IRh6LCzu.js +1 -0
- package/ui-dist/assets/{doc-browser-context-FukQHvyo.js → doc-browser-context-BPeeiNJ_.js} +1 -1
- package/ui-dist/assets/{es2015-ZJ-nWL4L.js → es2015-CVAuMqlM.js} +1 -1
- package/ui-dist/assets/index-BEn7o-oH.js +100 -0
- package/ui-dist/assets/index-DV57tBmg.css +1 -0
- package/ui-dist/assets/{marketplace-page-DzwJTbAg.js → marketplace-page-B3Q_uKOZ.js} +2 -2
- package/ui-dist/assets/marketplace-page-CCq1bFb1.js +1 -0
- package/ui-dist/assets/{mcp-marketplace-page-BUMkGb6q.js → mcp-marketplace-page-D9maE_Sf.js} +1 -1
- package/ui-dist/assets/mcp-marketplace-page-O5AQzBYl.js +1 -0
- package/ui-dist/assets/{model-config-Cgiw7ejv.js → model-config-BsEQYJvz.js} +1 -1
- package/ui-dist/assets/{notice-card-BM2_YNoc.js → notice-card-CF4AJPM3.js} +1 -1
- package/ui-dist/assets/{popover-2H9DS7Cv.js → popover-DeAliE_4.js} +1 -1
- package/ui-dist/assets/{provider-scoped-model-input-DsZJ44ZV.js → provider-scoped-model-input-B8LJ6RCt.js} +1 -1
- package/ui-dist/assets/{providers-list-BrViWRyR.js → providers-list-5mA-2zno.js} +1 -1
- package/ui-dist/assets/remote-DiPWGRZc.js +1 -0
- package/ui-dist/assets/runtime-config-page-BSoKMvCh.js +1 -0
- package/ui-dist/assets/{search-config-Deb56TtE.js → search-config-DxWm2GrK.js} +1 -1
- package/ui-dist/assets/{secrets-config-JJkgNCnO.js → secrets-config-qutTAlFx.js} +1 -1
- package/ui-dist/assets/{select-C2c10F3e.js → select-HI5kiwX_.js} +1 -1
- package/ui-dist/assets/{setting-row-CB_ZFbIZ.js → setting-row-B4QnghjV.js} +1 -1
- package/ui-dist/assets/{tag-chip-CrQfVN3A.js → tag-chip-BPgMfp9l.js} +1 -1
- package/ui-dist/assets/{use-config-jAYudJxy.js → use-config-BFqzVF8Y.js} +1 -1
- package/ui-dist/assets/{use-infinite-scroll-loader-B97V1Ywd.js → use-infinite-scroll-loader-CyNa4Vj6.js} +1 -1
- package/ui-dist/index.html +18 -18
- package/ui-dist/assets/cpu-DPPwMzoC.js +0 -3
- package/ui-dist/assets/desktop-BwONApN9.js +0 -3
- package/ui-dist/assets/doc-browser-p9DDNPWB.js +0 -1
- package/ui-dist/assets/doc-browser-rZIQIjuw.js +0 -1
- package/ui-dist/assets/index-B7CVI2ys.css +0 -1
- package/ui-dist/assets/index-SS1xPoWD.js +0 -100
- package/ui-dist/assets/marketplace-page-DZEljaFz.js +0 -1
- package/ui-dist/assets/mcp-marketplace-page-NfOsALIL.js +0 -1
- package/ui-dist/assets/remote-Dm6hKGew.js +0 -1
- package/ui-dist/assets/runtime-config-page-CvvW9VBj.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./marketplace-page-DzwJTbAg.js";export{e as MarketplacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./mcp-marketplace-page-BUMkGb6q.js";export{e as McpMarketplacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./app-manager-provider-BM1hziPv.js";export{e as RemoteAccessPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,m as t,p as n,r}from"./i18n-D1144VAA.js";import{At as i,Dt as a,Et as o,Lt as s,Mt as c,Nt as l,Ot as u,Tt as d,_t as f,ft as p,ht as m,kt as h,wt as g,xt as _,yt as v}from"./api-CKKNxbsy.js";import{t as y}from"./createLucideIcon-DzY6wN61.js";import{b,l as x,x as S}from"./desktop-BwONApN9.js";import{a as C,i as w,n as T,r as E,t as D}from"./select-C2c10F3e.js";import{t as ee}from"./play-AqrNslHI.js";import{t as O}from"./plus-B-YHtTNC.js";import{t as te}from"./rotate-cw-BN9yjccP.js";import{t as ne}from"./save-CO_4qf6b.js";import{t as k}from"./notice-card-BM2_YNoc.js";import{n as A,x as j}from"./use-config-jAYudJxy.js";import{Q as M,X as N}from"./index-SS1xPoWD.js";import{t as P}from"./setting-row-CB_ZFbIZ.js";var re=y(`Square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),F=e(t(),1),I=n(),L={healthy:`runtimeControlHealthy`,"starting-service":`runtimeControlStartingService`,"restarting-service":`runtimeControlRestartingService`,"stopping-service":`runtimeControlStoppingService`,"restarting-app":`runtimeControlRestartingApp`,recovering:`runtimeControlRecovering`,failed:`runtimeControlFailed`},R={running:`runtimeControlServiceRunning`,stopped:`runtimeControlServiceStopped`,starting:`runtimeControlServiceStarting`,stopping:`runtimeControlServiceStopping`,restarting:`runtimeControlServiceRestarting`},z={"desktop-embedded":`runtimeControlEnvironmentDesktop`,"managed-local-service":`runtimeControlEnvironmentManagedService`,"self-hosted-web":`runtimeControlEnvironmentSelfHosted`,"shared-web":`runtimeControlEnvironmentSharedWeb`};function B(e){return r(L[e]??`runtimeControlUnavailable`)}function V(e){return r(R[e]??`runtimeControlServiceUnknown`)}function H(e){return r(z[e.environment])}function U(e,t){return t===`start-service`?e?.canStartService:t===`stop-service`?e?.canStopService:e?.canRestartService}function W(e){return e?[{action:`start-service`,capability:e.canStartService,label:r(`runtimeControlStartService`),icon:`play`},{action:`restart-service`,capability:e.canRestartService,label:r(`runtimeControlRestartService`),icon:`rotate`},{action:`stop-service`,capability:e.canStopService,label:r(`runtimeControlStopService`),icon:`square`,variant:`destructive`},{action:`restart-app`,capability:e.canRestartApp,label:r(`runtimeControlRestartApp`),icon:`rotate`,variant:`secondary`}].filter(e=>e.capability.available||!!e.capability.reasonIfUnavailable):[]}function G(e){let{busy:t,icon:n}=e;return t?(0,I.jsx)(M,{className:`mr-2 h-4 w-4 animate-spin`}):n===`play`?(0,I.jsx)(ee,{className:`mr-2 h-4 w-4`}):n===`square`?(0,I.jsx)(re,{className:`mr-2 h-4 w-4`}):(0,I.jsx)(te,{className:`mr-2 h-4 w-4`})}function K(){let{busy:e,busyAction:t,controlView:n,errorMessage:i,pendingRestart:c,visibleLifecycle:f,visibleMessage:p,visibleServiceState:h}=m(),y=W(n??void 0),b=async e=>{let t=U(n,e);if(!t?.available){s.error(_(t?.reasonIfUnavailable)??r(`runtimeControlLoadFailed`));return}if(!(e===`stop-service`&&t.requiresConfirmation&&!window.confirm(r(`runtimeControlStopServiceConfirm`))))try{let t=await v.runRuntimeControlAction(e);s.success(_(t.message)??t.message)}catch(e){let t=e instanceof Error?e.message:r(`runtimeControlActionFailed`);s.error(`${r(`runtimeControlActionFailed`)}: ${t}`)}},x=async()=>{if(!n?.canRestartApp.available){s.error(_(n?.canRestartApp.reasonIfUnavailable)??r(`runtimeRestartAppUnavailable`));return}if(window.confirm(r(`runtimeControlRestartAppConfirm`)))try{let e=await v.runRuntimeControlAction(`restart-app`);s.success(_(e.message)??e.message)}catch(e){let t=e instanceof Error?e.message:r(`runtimeControlActionFailed`);s.error(`${r(`runtimeControlActionFailed`)}: ${t}`)}};return(0,I.jsxs)(g,{children:[(0,I.jsxs)(a,{children:[(0,I.jsx)(u,{children:r(`runtimeControlTitle`)}),(0,I.jsx)(o,{children:r(`runtimeControlDescription`)})]}),(0,I.jsxs)(d,{className:`space-y-4`,children:[(0,I.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-gray-200 bg-gray-50 p-4`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 md:flex-row md:items-center md:justify-between`,children:[(0,I.jsx)(`div`,{className:`text-sm font-medium text-gray-900`,children:V(h)}),(0,I.jsx)(`div`,{className:`text-xs text-gray-500`,children:n?H(n):r(`runtimeControlLoading`)})]}),(0,I.jsx)(`p`,{className:`text-sm text-gray-600`,children:p}),(0,I.jsx)(`div`,{className:`text-xs text-gray-500`,children:B(f)}),n?.managementHint?(0,I.jsx)(`p`,{className:`text-xs text-gray-500`,children:_(n.managementHint)}):null,i&&!e?(0,I.jsx)(`p`,{className:`text-sm text-amber-700`,children:i}):null]}),c?(0,I.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-amber-200 bg-amber-50 p-4`,children:[(0,I.jsx)(`div`,{className:`text-sm font-medium text-amber-900`,children:r(`runtimeControlPendingRestartTitle`)}),(0,I.jsx)(`p`,{className:`text-sm text-amber-800`,children:r(`runtimeControlPendingRestartDescription`)}),c.changedPaths.length>0?(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.08em] text-amber-700`,children:r(`runtimeControlPendingRestartPaths`)}),(0,I.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:c.changedPaths.map(e=>(0,I.jsx)(`span`,{className:`rounded-full border border-amber-200 bg-white px-2.5 py-1 text-xs text-amber-800`,children:e},e))})]}):null]}):null,(0,I.jsx)(`div`,{className:`flex flex-col gap-3 md:flex-row md:flex-wrap`,children:y.map(n=>(0,I.jsxs)(l,{type:`button`,variant:n.variant??`default`,onClick:()=>{if(n.action===`restart-app`){x();return}b(n.action)},disabled:!n.capability.available||e,children:[(0,I.jsx)(G,{icon:n.icon,busy:t===n.action}),n.label]},n.action))}),y.filter(e=>!e.capability.available&&e.capability.reasonIfUnavailable).map(e=>(0,I.jsx)(`p`,{className:`text-xs text-gray-500`,children:_(e.capability.reasonIfUnavailable)},`${e.action}-reason`))]})]})}function q(e){let{description:t,title:n}=e;return(0,I.jsx)(k,{tone:`neutral`,title:n,description:t})}function J(e){let{children:t}=e;return(0,I.jsxs)(g,{children:[(0,I.jsxs)(a,{children:[(0,I.jsx)(u,{children:r(`runtimePresenceTitle`)}),(0,I.jsx)(o,{children:r(`runtimePresenceDescription`)})]}),(0,I.jsx)(d,{children:t})]})}function Y(){let e=f().runtimeControlView?.environment,t=S(e=>e.supported),n=S(e=>e.initialized),i=S(e=>e.busyAction),a=S(e=>e.snapshot);return(0,F.useEffect)(()=>{if(e===`desktop-embedded`){b.start();return}b.markUnsupported()},[e]),e===`desktop-embedded`?(0,I.jsx)(J,{children:(0,I.jsxs)(`div`,{className:`space-y-4`,children:[(0,I.jsx)(k,{tone:`neutral`,title:r(`runtimePresenceBehaviorLabel`),description:a?.closeToBackground?r(`runtimePresenceBehaviorBackground`):r(`runtimePresenceBehaviorQuit`),className:`rounded-xl`}),!n||t&&!a?(0,I.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`runtimePresenceLoading`)}):null,a?(0,I.jsxs)(`div`,{className:`space-y-4`,children:[(0,I.jsx)(P,{title:r(`runtimePresenceCloseToBackground`),description:r(`runtimePresenceCloseToBackgroundHelp`),control:(0,I.jsx)(p,{id:`runtime-presence-close-background`,"aria-label":r(`runtimePresenceCloseToBackground`),checked:a.closeToBackground,disabled:i===`saving-preferences`,onCheckedChange:e=>{b.updatePreferences({closeToBackground:e})}})}),(0,I.jsx)(P,{title:r(`runtimePresenceLaunchAtLogin`),description:a.supportsLaunchAtLogin?r(`runtimePresenceLaunchAtLoginHelp`):a.launchAtLoginReason??r(`runtimePresenceLaunchAtLoginUnavailable`),control:(0,I.jsx)(p,{id:`runtime-presence-launch-login`,"aria-label":r(`runtimePresenceLaunchAtLogin`),checked:a.launchAtLogin,disabled:!a.supportsLaunchAtLogin||i===`saving-preferences`,onCheckedChange:e=>{b.updatePreferences({launchAtLogin:e})}})})]}):null]})}):e===`managed-local-service`?(0,I.jsx)(J,{children:(0,I.jsx)(q,{title:r(`runtimePresenceManagedLocalTitle`),description:r(`runtimePresenceManagedLocalDescription`)})}):e===`self-hosted-web`?(0,I.jsx)(J,{children:(0,I.jsx)(q,{title:r(`runtimePresenceSelfHostedTitle`),description:r(`runtimePresenceSelfHostedDescription`)})}):e===`shared-web`?(0,I.jsx)(J,{children:(0,I.jsx)(q,{title:r(`runtimePresenceSharedTitle`),description:r(`runtimePresenceSharedDescription`)})}):(0,I.jsx)(J,{children:(0,I.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`runtimePresenceLoading`)})})}function X(){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(h,{title:r(`runtimePageTitle`),description:r(`runtimePageDescription`)}),(0,I.jsx)(K,{}),(0,I.jsx)(Y,{}),(0,I.jsx)(x,{})]})}var Z={wireDialect:`acp`,processScope:`per-session`,command:``,args:[`acp`],env:{},cwd:``,startupTimeoutMs:8e3,probeTimeoutMs:3e3,requestTimeoutMs:12e4};function ie(){return{id:``,default:!1,workspace:``,model:``,runtime:``,contextTokens:void 0,maxToolIterations:void 0}}function ae(){return{agentId:``,match:{channel:``,accountId:``}}}function oe(){return{id:``,enabled:!0,label:``,type:`narp-stdio`,config:Z,configText:JSON.stringify(Z,null,2)}}function se(e){return{id:e.id??``,default:!!e.default,displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,workspace:e.workspace??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:e.contextTokens,maxToolIterations:e.maxToolIterations}}function Q(e){return{agentId:e.agentId??``,match:{channel:e.match?.channel??``,accountId:e.match?.accountId??``,peer:e.match?.peer?{kind:e.match.peer.kind,id:e.match.peer.id}:void 0}}}function $(e){let t=e.trim();if(!t)return;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:void 0}function ce(e){return{companionEnabled:e.companion?.enabled===!0,agents:(e.agents.list??[]).map(se),bindings:(e.bindings??[]).map(Q),runtimeEntries:Object.entries(e.agents.runtimes?.entries??{}).map(([e,t])=>({id:e,enabled:t.enabled!==!1,label:t.label??``,type:t.type,config:t.config??{},configText:JSON.stringify(t.config??{},null,2)})),dmScope:e.session?.dmScope??`per-channel-peer`,defaultContextTokens:e.agents.defaults.contextTokens??2e5,defaultEngine:e.agents.defaults.engine??`native`}}function le(e){let t={id:e.id.trim()};e.default&&(t.default=!0),e.displayName?.trim()&&(t.displayName=e.displayName.trim()),e.description?.trim()&&(t.description=e.description.trim()),e.avatar?.trim()&&(t.avatar=e.avatar.trim()),e.workspace?.trim()&&(t.workspace=e.workspace.trim()),e.model?.trim()&&(t.model=e.model.trim());let n=e.runtime?.trim()??e.engine?.trim();return n&&(t.engine=n),typeof e.contextTokens==`number`&&(t.contextTokens=Math.max(1e3,e.contextTokens)),typeof e.maxToolIterations==`number`&&(t.maxToolIterations=e.maxToolIterations),t}function ue(e){let t=e.agents.map((e,t)=>{if(!e.id.trim())throw Error(r(`agentIdRequiredError`).replace(`{index}`,String(t)));return le(e)}),n=t.map(e=>e.id).filter((e,t,n)=>n.indexOf(e)!==t);if(n.length>0)throw Error(`${r(`duplicateAgentId`)}: ${n[0]}`);let i=e.bindings.map((t,n)=>{let i=t.agentId.trim(),a=t.match.channel.trim(),o=t.match.accountId?.trim()??``,s=t.match.peer?.kind,c=t.match.peer?.id?.trim()??``;if(!i)throw Error(r(`bindingAgentIdRequired`).replace(`{index}`,String(n)));if(!e.knownAgentIds.has(i))throw Error(`${r(`bindingAgentIdNotFound`).replace(`{index}`,String(n))}: ${i}`);if(!a)throw Error(r(`bindingChannelRequired`).replace(`{index}`,String(n)));let l={agentId:i,match:{channel:a}};if(o&&(l.match.accountId=o),s){if(!c)throw Error(r(`bindingPeerIdRequired`).replace(`{index}`,String(n)));l.match.peer={kind:s,id:c}}return l}),a=e.runtimeEntries.reduce((e,t,n)=>{let i=t.id.trim(),a=t.type.trim();if(!i)throw Error(r(`runtimeEntryIdRequired`).replace(`{index}`,String(n)));if(!a)throw Error(r(`runtimeEntryTypeRequired`).replace(`{id}`,i));if(e[i])throw Error(`${r(`runtimeEntryDuplicate`)}: ${i}`);let o=t.configText.trim()?JSON.parse(t.configText):{};if(o&&(typeof o!=`object`||Array.isArray(o)))throw Error(r(`runtimeEntryConfigObjectRequired`).replace(`{id}`,i));return e[i]={enabled:t.enabled!==!1,...t.label?.trim()?{label:t.label.trim()}:{},type:a,config:o??{}},e},{});return{companion:{enabled:e.companionEnabled},agents:{defaults:{contextTokens:Math.max(1e3,e.defaultContextTokens),engine:e.defaultEngine.trim()||`native`},list:t,runtimes:{entries:a}},bindings:i,session:{dmScope:e.dmScope}}}function de(e){return(0,I.jsxs)(g,{children:[(0,I.jsxs)(a,{children:[(0,I.jsx)(u,{children:r(`agentList`)}),(0,I.jsx)(o,{children:r(`agentListHelp`)})]}),(0,I.jsxs)(d,{className:`space-y-3`,children:[e.agents.map((t,n)=>(0,I.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,I.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,I.jsx)(c,{value:t.id,onChange:t=>e.onUpdateAgent(n,{id:t.target.value}),placeholder:r(`agentIdPlaceholder`)}),(0,I.jsx)(c,{value:t.workspace??``,onChange:t=>e.onUpdateAgent(n,{workspace:t.target.value}),placeholder:r(`workspaceOverridePlaceholder`)}),(0,I.jsx)(c,{value:t.model??``,onChange:t=>e.onUpdateAgent(n,{model:t.target.value}),placeholder:r(`modelOverridePlaceholder`)}),(0,I.jsx)(c,{value:t.runtime??t.engine??``,onChange:t=>e.onUpdateAgent(n,{runtime:t.target.value}),placeholder:r(`engineOverridePlaceholder`)}),(0,I.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-2`,children:[(0,I.jsx)(c,{type:`number`,min:1e3,step:1e3,value:t.contextTokens??``,onChange:t=>e.onUpdateAgent(n,{contextTokens:$(t.target.value)}),placeholder:r(`contextTokensPlaceholder`)}),(0,I.jsx)(c,{type:`number`,min:1,value:t.maxToolIterations??``,onChange:t=>e.onUpdateAgent(n,{maxToolIterations:$(t.target.value)}),placeholder:r(`maxToolsPlaceholder`)})]})]}),(0,I.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-gray-600`,children:[(0,I.jsx)(p,{checked:!!t.default,onCheckedChange:t=>e.onSetDefaultAgent(n,t)}),(0,I.jsx)(`span`,{children:r(`defaultAgent`)})]}),(0,I.jsxs)(l,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>e.onRemoveAgent(n),children:[(0,I.jsx)(N,{className:`h-4 w-4 mr-1`}),r(`remove`)]})]})]},`${n}-${t.id}`)),(0,I.jsxs)(l,{type:`button`,variant:`outline`,onClick:e.onAddAgent,children:[(0,I.jsx)(O,{className:`h-4 w-4 mr-2`}),r(`addAgent`)]})]})]})}function fe(e){return(0,I.jsxs)(g,{children:[(0,I.jsxs)(a,{children:[(0,I.jsx)(u,{children:r(`bindings`)}),(0,I.jsx)(o,{children:r(`bindingsHelp`)})]}),(0,I.jsxs)(d,{className:`space-y-3`,children:[e.bindings.map((t,n)=>{let i=t.match.peer?.kind??``;return(0,I.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,I.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3`,children:[(0,I.jsx)(c,{value:t.agentId,onChange:r=>e.onUpdateBinding(n,{...t,agentId:r.target.value}),placeholder:r(`targetAgentIdPlaceholder`)}),(0,I.jsx)(c,{value:t.match.channel,onChange:r=>e.onUpdateBinding(n,{...t,match:{...t.match,channel:r.target.value}}),placeholder:r(`channelPlaceholder`)}),(0,I.jsx)(c,{value:t.match.accountId??``,onChange:r=>e.onUpdateBinding(n,{...t,match:{...t.match,accountId:r.target.value}}),placeholder:r(`accountIdOptionalPlaceholder`)}),(0,I.jsxs)(D,{value:i||`__none__`,onValueChange:r=>{let i=r===`__none__`?``:r;e.onUpdateBinding(n,i?{...t,match:{...t.match,peer:{kind:i,id:t.match.peer?.id??``}}}:{...t,match:{...t.match,peer:void 0}})},children:[(0,I.jsx)(w,{children:(0,I.jsx)(C,{})}),(0,I.jsxs)(T,{children:[(0,I.jsx)(E,{value:`__none__`,children:r(`peerKindOptional`)}),(0,I.jsx)(E,{value:`direct`,children:r(`peerKindDirect`)}),(0,I.jsx)(E,{value:`group`,children:r(`peerKindGroup`)}),(0,I.jsx)(E,{value:`channel`,children:r(`peerKindChannel`)})]})]}),(0,I.jsx)(c,{value:t.match.peer?.id??``,onChange:r=>e.onUpdateBinding(n,{...t,match:{...t.match,peer:i?{kind:i,id:r.target.value}:void 0}}),placeholder:r(`peerIdPlaceholder`)})]}),(0,I.jsx)(`div`,{className:`flex justify-end`,children:(0,I.jsxs)(l,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>e.onRemoveBinding(n),children:[(0,I.jsx)(N,{className:`h-4 w-4 mr-1`}),r(`remove`)]})})]},`${n}-${t.agentId}`)}),(0,I.jsxs)(l,{type:`button`,variant:`outline`,onClick:e.onAddBinding,children:[(0,I.jsx)(O,{className:`h-4 w-4 mr-2`}),r(`addBinding`)]})]})]})}function pe(e){return(0,I.jsxs)(g,{children:[(0,I.jsxs)(a,{children:[(0,I.jsx)(u,{children:r(`runtimeEntries`)}),(0,I.jsx)(o,{children:r(`runtimeEntriesHelp`)})]}),(0,I.jsxs)(d,{className:`space-y-3`,children:[e.entries.map((t,n)=>(0,I.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,I.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,I.jsx)(c,{value:t.id,onChange:t=>e.onUpdateEntry(n,{id:t.target.value}),placeholder:r(`runtimeEntryIdPlaceholder`)}),(0,I.jsx)(c,{value:t.label??``,onChange:t=>e.onUpdateEntry(n,{label:t.target.value}),placeholder:r(`runtimeEntryLabelPlaceholder`)}),(0,I.jsx)(c,{value:t.type,onChange:t=>e.onUpdateEntry(n,{type:t.target.value}),placeholder:r(`runtimeEntryTypePlaceholder`)}),(0,I.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-gray-200 px-3 py-2`,children:[(0,I.jsx)(`span`,{className:`text-sm text-gray-700`,children:r(`enabled`)}),(0,I.jsx)(p,{checked:t.enabled!==!1,onCheckedChange:t=>e.onUpdateEntry(n,{enabled:t})})]})]}),(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`runtimeEntryConfigJson`)}),(0,I.jsx)(`textarea`,{className:`min-h-32 w-full rounded-md border border-gray-200 px-3 py-2 text-sm font-mono`,value:t.configText,onChange:t=>e.onUpdateEntry(n,{configText:t.target.value}),spellCheck:!1})]}),(0,I.jsx)(`div`,{className:`flex justify-end`,children:(0,I.jsxs)(l,{type:`button`,variant:`outline`,onClick:()=>e.onRemoveEntry(n),children:[(0,I.jsx)(N,{className:`mr-2 h-4 w-4`}),r(`delete`)]})})]},`${n}-${t.id||`runtime-entry`}`)),(0,I.jsxs)(l,{type:`button`,variant:`outline`,onClick:e.onAddEntry,children:[(0,I.jsx)(O,{className:`mr-2 h-4 w-4`}),r(`addRuntimeEntry`)]})]})]})}var me=[{value:`main`,labelKey:`dmScopeMain`},{value:`per-peer`,labelKey:`dmScopePerPeer`},{value:`per-channel-peer`,labelKey:`dmScopePerChannelPeer`},{value:`per-account-channel-peer`,labelKey:`dmScopePerAccountChannelPeer`}];function he(e){return(0,I.jsxs)(g,{children:[(0,I.jsxs)(a,{children:[(0,I.jsx)(u,{children:r(`dmScope`)}),(0,I.jsx)(o,{children:r(`dmScopeHelp`)})]}),(0,I.jsxs)(d,{className:`space-y-4`,children:[(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-4 rounded-md border border-gray-200 px-4 py-3`,children:[(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsx)(`div`,{className:`text-sm font-medium text-gray-800`,children:r(`runtimeCompanionEnabled`)}),(0,I.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`runtimeCompanionEnabledHelp`)})]}),(0,I.jsx)(p,{checked:e.companionEnabled,onCheckedChange:e.onCompanionEnabledChange})]}),(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`defaultContextTokens`)}),(0,I.jsx)(c,{type:`number`,min:1e3,step:1e3,value:e.defaultContextTokens,onChange:t=>e.onDefaultContextTokensChange(Math.max(1e3,Number.parseInt(t.target.value,10)||1e3))}),(0,I.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`defaultContextTokensHelp`)})]}),(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`defaultEngine`)}),(0,I.jsx)(c,{value:e.defaultEngine,onChange:t=>e.onDefaultEngineChange(t.target.value),placeholder:r(`defaultEnginePlaceholder`)}),(0,I.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`defaultEngineHelp`)})]}),(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`dmScope`)}),(0,I.jsxs)(D,{value:e.dmScope,onValueChange:t=>e.onDmScopeChange(t),children:[(0,I.jsx)(w,{children:(0,I.jsx)(C,{})}),(0,I.jsx)(T,{children:me.map(e=>(0,I.jsx)(E,{value:e.value,children:r(e.labelKey)},e.value))})]})]})]})]})}function ge(e){let t=(0,F.useMemo)(()=>ce(e.config),[e.config]),[n,a]=(0,F.useState)(t.agents),[o,c]=(0,F.useState)(t.bindings),[u,d]=(0,F.useState)(t.runtimeEntries),[f,p]=(0,F.useState)(t.dmScope),[m,h]=(0,F.useState)(t.companionEnabled),[g,_]=(0,F.useState)(t.defaultContextTokens),[v,y]=(0,F.useState)(t.defaultEngine),b=(0,F.useMemo)(()=>{let e=new Set([`main`]);return n.forEach(t=>{let n=t.id.trim();n&&e.add(n)}),e},[n]);return(0,I.jsxs)(i,{className:`space-y-6`,children:[(0,I.jsx)(X,{}),(0,I.jsx)(he,{companionEnabled:m,dmScope:f,defaultContextTokens:g,defaultEngine:v,onCompanionEnabledChange:h,onDmScopeChange:p,onDefaultContextTokensChange:_,onDefaultEngineChange:y}),(0,I.jsx)(pe,{entries:u,onUpdateEntry:(e,t)=>d(n=>n.map((n,r)=>r===e?{...n,...t}:n)),onRemoveEntry:e=>d(t=>t.filter((t,n)=>n!==e)),onAddEntry:()=>d(e=>[...e,oe()])}),(0,I.jsx)(de,{agents:n,onUpdateAgent:(e,t)=>{a(n=>n.map((n,r)=>r===e?{...n,...t}:n))},onRemoveAgent:e=>a(t=>t.filter((t,n)=>n!==e)),onAddAgent:()=>a(e=>[...e,ie()]),onSetDefaultAgent:(e,t)=>a(n=>t?n.map((t,n)=>({...t,default:n===e})):n.map((t,n)=>n===e?{...t,default:!1}:t))}),(0,I.jsx)(fe,{bindings:o,onUpdateBinding:(e,t)=>{c(n=>n.map((n,r)=>r===e?t:n))},onRemoveBinding:e=>c(t=>t.filter((t,n)=>n!==e)),onAddBinding:()=>c(e=>[...e,ae()])}),(0,I.jsx)(`div`,{className:`flex justify-end`,children:(0,I.jsxs)(l,{type:`button`,onClick:()=>{try{let t=ue({companionEnabled:m,agents:n,bindings:o,runtimeEntries:u,dmScope:f,defaultContextTokens:g,defaultEngine:v,knownAgentIds:b});e.updateRuntime.mutate({data:t})}catch(e){s.error(e instanceof Error?e.message:String(e))}},disabled:e.updateRuntime.isPending,children:[(0,I.jsx)(ne,{className:`h-4 w-4 mr-2`}),e.updateRuntime.isPending?r(`saving`):r(`saveRuntimeSettings`)]})})]})}function _e(){let{data:e,isLoading:t}=A(),n=j();return t||!e?(0,I.jsx)(`div`,{className:`p-8 text-gray-400`,children:r(`runtimeLoading`)}):(0,I.jsx)(ge,{config:e,updateRuntime:n})}export{_e as RuntimeConfig};
|