@truefoundry/trueforge 0.1.0-rc.1 → 0.1.1
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/README.md +30 -0
- package/dist/_frontend/assets/ConnectorSettings-4CYGRWPH-EWp5lwOt.js +1 -0
- package/dist/_frontend/assets/ConnectorSettings-4CYGRWPH-EWp5lwOt.js.br +0 -0
- package/dist/_frontend/assets/ConnectorSettings-4CYGRWPH-EWp5lwOt.js.gz +0 -0
- package/dist/_frontend/assets/{DockLayout-BH5XX2AQ-BIML9R6y.js → DockLayout-FEDQX2UT-DbN-pvPO.js} +1 -1
- package/dist/_frontend/assets/{DrawerLayout-O2XZQCG4-BSHMxRL1.js → DrawerLayout-NMA7P64K-0IGRaUAW.js} +2 -2
- package/dist/_frontend/assets/DrawerLayout-NMA7P64K-0IGRaUAW.js.br +0 -0
- package/dist/_frontend/assets/DrawerLayout-NMA7P64K-0IGRaUAW.js.gz +0 -0
- package/dist/_frontend/assets/{ModelSettings-LKFJVUYQ-BmjB0mhb.js → ModelSettings-H5FKRZLK-CEQWPDWn.js} +1 -1
- package/dist/_frontend/assets/ModelSettings-H5FKRZLK-CEQWPDWn.js.br +0 -0
- package/dist/_frontend/assets/ModelSettings-H5FKRZLK-CEQWPDWn.js.gz +0 -0
- package/dist/_frontend/assets/SandboxSettings-CBSC3C3G-PWbj0tIQ.js +1 -0
- package/dist/_frontend/assets/SandboxSettings-CBSC3C3G-PWbj0tIQ.js.br +0 -0
- package/dist/_frontend/assets/SandboxSettings-CBSC3C3G-PWbj0tIQ.js.gz +0 -0
- package/dist/_frontend/assets/SettingsBuilder-EGSH7BUA-Cvx-hLzU.js +2 -0
- package/dist/_frontend/assets/SettingsBuilder-EGSH7BUA-Cvx-hLzU.js.br +0 -0
- package/dist/_frontend/assets/SettingsBuilder-EGSH7BUA-Cvx-hLzU.js.gz +0 -0
- package/dist/_frontend/assets/ShellRouteSync-53FTXNZZ-BIksLzSL.js +1 -0
- package/dist/_frontend/assets/ShellRouteSync-53FTXNZZ-BIksLzSL.js.br +0 -0
- package/dist/_frontend/assets/ShellRouteSync-53FTXNZZ-BIksLzSL.js.gz +0 -0
- package/dist/_frontend/assets/{SidebarLayout-G6BGD7EY-DprxwhnC.js → SidebarLayout-5WM2BHZG-Ceb_9WvC.js} +2 -2
- package/dist/_frontend/assets/SidebarLayout-5WM2BHZG-Ceb_9WvC.js.br +0 -0
- package/dist/_frontend/assets/SidebarLayout-5WM2BHZG-Ceb_9WvC.js.gz +0 -0
- package/dist/_frontend/assets/{SkillSettings-4VB42CVG-DjkYTFI_.js → SkillSettings-A2OQSQUT-C-AShr7L.js} +1 -1
- package/dist/_frontend/assets/SkillSettings-A2OQSQUT-C-AShr7L.js.br +0 -0
- package/dist/_frontend/assets/SkillSettings-A2OQSQUT-C-AShr7L.js.gz +0 -0
- package/dist/_frontend/assets/TrueForgeUIWithRouter-2AQ3HW6L-DexVXzlD.js +1 -0
- package/dist/_frontend/assets/{WidgetLayout-ABSXZUSQ-s-y-do9f.js → WidgetLayout-IKGVAZFV-Q2dDfnNQ.js} +1 -1
- package/dist/_frontend/assets/WidgetLayout-IKGVAZFV-Q2dDfnNQ.js.br +0 -0
- package/dist/_frontend/assets/WidgetLayout-IKGVAZFV-Q2dDfnNQ.js.gz +0 -0
- package/dist/_frontend/assets/{chunk-EFGSH3MO-BG2dZVGV.js → chunk-4STVL6W6-DO6mK5-E.js} +2 -2
- package/dist/_frontend/assets/chunk-4STVL6W6-DO6mK5-E.js.br +0 -0
- package/dist/_frontend/assets/chunk-4STVL6W6-DO6mK5-E.js.gz +0 -0
- package/dist/_frontend/assets/chunk-62JRHF6Z-BpHQergm.js +12 -0
- package/dist/_frontend/assets/chunk-62JRHF6Z-BpHQergm.js.br +0 -0
- package/dist/_frontend/assets/chunk-62JRHF6Z-BpHQergm.js.gz +0 -0
- package/dist/_frontend/assets/chunk-BMLCISMH-BtIzChti.js +4 -0
- package/dist/_frontend/assets/chunk-BMLCISMH-BtIzChti.js.br +0 -0
- package/dist/_frontend/assets/chunk-BMLCISMH-BtIzChti.js.gz +0 -0
- package/dist/_frontend/assets/{cssMode-CG6nczKl.js → cssMode-tBxiXBbi.js} +1 -1
- package/dist/_frontend/assets/cssMode-tBxiXBbi.js.br +0 -0
- package/dist/_frontend/assets/cssMode-tBxiXBbi.js.gz +0 -0
- package/dist/_frontend/assets/{freemarker2-3d9R0xhA.js → freemarker2-C8-_g6KH.js} +1 -1
- package/dist/_frontend/assets/freemarker2-C8-_g6KH.js.br +0 -0
- package/dist/_frontend/assets/freemarker2-C8-_g6KH.js.gz +0 -0
- package/dist/_frontend/assets/{handlebars-DsKUyrQw.js → handlebars-CVTAyJx2.js} +1 -1
- package/dist/_frontend/assets/handlebars-CVTAyJx2.js.br +0 -0
- package/dist/_frontend/assets/handlebars-CVTAyJx2.js.gz +0 -0
- package/dist/_frontend/assets/{html-DTy6u4nq.js → html-CFO-PVK6.js} +1 -1
- package/dist/_frontend/assets/html-CFO-PVK6.js.br +0 -0
- package/dist/_frontend/assets/html-CFO-PVK6.js.gz +0 -0
- package/dist/_frontend/assets/{htmlMode-DMWLTFGm.js → htmlMode-CFCanlO-.js} +1 -1
- package/dist/_frontend/assets/htmlMode-CFCanlO-.js.br +0 -0
- package/dist/_frontend/assets/htmlMode-CFCanlO-.js.gz +0 -0
- package/dist/_frontend/assets/{index-D3W0WUUX.js → index-BIWWiCC7.js} +3 -3
- package/dist/_frontend/assets/index-BIWWiCC7.js.br +0 -0
- package/dist/_frontend/assets/index-BIWWiCC7.js.gz +0 -0
- package/dist/_frontend/assets/index-CSSyjy0I.js +854 -0
- package/dist/_frontend/assets/index-CSSyjy0I.js.br +0 -0
- package/dist/_frontend/assets/index-CSSyjy0I.js.gz +0 -0
- package/dist/_frontend/assets/{javascript-D9YF35d_.js → javascript-MIQGaM22.js} +1 -1
- package/dist/_frontend/assets/{jsonMode-BmO9RwLP.js → jsonMode-D5gVPPeB.js} +1 -1
- package/dist/_frontend/assets/jsonMode-D5gVPPeB.js.br +0 -0
- package/dist/_frontend/assets/jsonMode-D5gVPPeB.js.gz +0 -0
- package/dist/_frontend/assets/{liquid-0rk1qWO4.js → liquid-DHNaEubO.js} +1 -1
- package/dist/_frontend/assets/liquid-DHNaEubO.js.br +0 -0
- package/dist/_frontend/assets/liquid-DHNaEubO.js.gz +0 -0
- package/dist/_frontend/assets/{lspLanguageFeatures-DTTkboOI.js → lspLanguageFeatures-QCSfugnT.js} +1 -1
- package/dist/_frontend/assets/lspLanguageFeatures-QCSfugnT.js.br +0 -0
- package/dist/_frontend/assets/lspLanguageFeatures-QCSfugnT.js.gz +0 -0
- package/dist/_frontend/assets/{mdx-DJcT8q-f.js → mdx-BXTfxgKC.js} +1 -1
- package/dist/_frontend/assets/mdx-BXTfxgKC.js.br +0 -0
- package/dist/_frontend/assets/mdx-BXTfxgKC.js.gz +0 -0
- package/dist/_frontend/assets/{python-CLDE_vWh.js → python-2xJ5-a_I.js} +1 -1
- package/dist/_frontend/assets/python-2xJ5-a_I.js.br +0 -0
- package/dist/_frontend/assets/python-2xJ5-a_I.js.gz +0 -0
- package/dist/_frontend/assets/{razor-DtGC7wgt.js → razor-pc2nnHiH.js} +1 -1
- package/dist/_frontend/assets/razor-pc2nnHiH.js.br +0 -0
- package/dist/_frontend/assets/razor-pc2nnHiH.js.gz +0 -0
- package/dist/_frontend/assets/{tsMode-DWdihmDi.js → tsMode-DDOTqjiA.js} +1 -1
- package/dist/_frontend/assets/tsMode-DDOTqjiA.js.br +0 -0
- package/dist/_frontend/assets/tsMode-DDOTqjiA.js.gz +0 -0
- package/dist/_frontend/assets/{typescript-D1_IEBnH.js → typescript-B8kVUDuw.js} +1 -1
- package/dist/_frontend/assets/typescript-B8kVUDuw.js.br +0 -0
- package/dist/_frontend/assets/typescript-B8kVUDuw.js.gz +0 -0
- package/dist/_frontend/assets/{workers-CiyDz6N8.js → workers-BKOSx8Az.js} +1 -1
- package/dist/_frontend/assets/workers-BKOSx8Az.js.br +0 -0
- package/dist/_frontend/assets/workers-BKOSx8Az.js.gz +0 -0
- package/dist/_frontend/assets/{xml-WgPcpohY.js → xml--HuG4XfW.js} +1 -1
- package/dist/_frontend/assets/xml--HuG4XfW.js.br +0 -0
- package/dist/_frontend/assets/xml--HuG4XfW.js.gz +0 -0
- package/dist/_frontend/assets/{yaml-DGY1pOYu.js → yaml-BM2qwYh9.js} +1 -1
- package/dist/_frontend/assets/yaml-BM2qwYh9.js.br +0 -0
- package/dist/_frontend/assets/yaml-BM2qwYh9.js.gz +0 -0
- package/dist/_frontend/index.html +1 -1
- package/dist/_frontend/index.html.br +0 -0
- package/dist/_frontend/index.html.gz +0 -0
- package/dist/cli.js +23 -1
- package/dist/cli.js.map +1 -1
- package/dist/main.js +388 -77
- package/dist/main.js.map +1 -1
- package/package.json +11 -7
- package/dist/_frontend/assets/ConnectorSettings-ADACLWQI-BW-k4488.js +0 -1
- package/dist/_frontend/assets/ConnectorSettings-ADACLWQI-BW-k4488.js.br +0 -0
- package/dist/_frontend/assets/ConnectorSettings-ADACLWQI-BW-k4488.js.gz +0 -0
- package/dist/_frontend/assets/DrawerLayout-O2XZQCG4-BSHMxRL1.js.br +0 -0
- package/dist/_frontend/assets/DrawerLayout-O2XZQCG4-BSHMxRL1.js.gz +0 -0
- package/dist/_frontend/assets/ModelSettings-LKFJVUYQ-BmjB0mhb.js.br +0 -0
- package/dist/_frontend/assets/ModelSettings-LKFJVUYQ-BmjB0mhb.js.gz +0 -0
- package/dist/_frontend/assets/SandboxSettings-H5MDAE47-BMAnpZ4v.js +0 -1
- package/dist/_frontend/assets/SandboxSettings-H5MDAE47-BMAnpZ4v.js.br +0 -0
- package/dist/_frontend/assets/SandboxSettings-H5MDAE47-BMAnpZ4v.js.gz +0 -0
- package/dist/_frontend/assets/SettingsBuilder-3JOLC56Z-kfSJGmj0.js +0 -2
- package/dist/_frontend/assets/SettingsBuilder-3JOLC56Z-kfSJGmj0.js.br +0 -0
- package/dist/_frontend/assets/SettingsBuilder-3JOLC56Z-kfSJGmj0.js.gz +0 -0
- package/dist/_frontend/assets/SidebarLayout-G6BGD7EY-DprxwhnC.js.br +0 -0
- package/dist/_frontend/assets/SidebarLayout-G6BGD7EY-DprxwhnC.js.gz +0 -0
- package/dist/_frontend/assets/SkillSettings-4VB42CVG-DjkYTFI_.js.br +0 -0
- package/dist/_frontend/assets/SkillSettings-4VB42CVG-DjkYTFI_.js.gz +0 -0
- package/dist/_frontend/assets/WidgetLayout-ABSXZUSQ-s-y-do9f.js.br +0 -0
- package/dist/_frontend/assets/WidgetLayout-ABSXZUSQ-s-y-do9f.js.gz +0 -0
- package/dist/_frontend/assets/chunk-EFGSH3MO-BG2dZVGV.js.br +0 -0
- package/dist/_frontend/assets/chunk-EFGSH3MO-BG2dZVGV.js.gz +0 -0
- package/dist/_frontend/assets/chunk-VJTCFZNM-DvnS6Ftw.js +0 -1
- package/dist/_frontend/assets/chunk-VJTCFZNM-DvnS6Ftw.js.br +0 -0
- package/dist/_frontend/assets/chunk-VJTCFZNM-DvnS6Ftw.js.gz +0 -0
- package/dist/_frontend/assets/cssMode-CG6nczKl.js.br +0 -0
- package/dist/_frontend/assets/cssMode-CG6nczKl.js.gz +0 -0
- package/dist/_frontend/assets/freemarker2-3d9R0xhA.js.br +0 -0
- package/dist/_frontend/assets/freemarker2-3d9R0xhA.js.gz +0 -0
- package/dist/_frontend/assets/handlebars-DsKUyrQw.js.br +0 -0
- package/dist/_frontend/assets/handlebars-DsKUyrQw.js.gz +0 -0
- package/dist/_frontend/assets/html-DTy6u4nq.js.br +0 -0
- package/dist/_frontend/assets/html-DTy6u4nq.js.gz +0 -0
- package/dist/_frontend/assets/htmlMode-DMWLTFGm.js.br +0 -0
- package/dist/_frontend/assets/htmlMode-DMWLTFGm.js.gz +0 -0
- package/dist/_frontend/assets/index-D3W0WUUX.js.br +0 -0
- package/dist/_frontend/assets/index-D3W0WUUX.js.gz +0 -0
- package/dist/_frontend/assets/index-V5vAkbkm.js +0 -847
- package/dist/_frontend/assets/index-V5vAkbkm.js.br +0 -0
- package/dist/_frontend/assets/index-V5vAkbkm.js.gz +0 -0
- package/dist/_frontend/assets/jsonMode-BmO9RwLP.js.br +0 -0
- package/dist/_frontend/assets/jsonMode-BmO9RwLP.js.gz +0 -0
- package/dist/_frontend/assets/liquid-0rk1qWO4.js.br +0 -0
- package/dist/_frontend/assets/liquid-0rk1qWO4.js.gz +0 -0
- package/dist/_frontend/assets/lspLanguageFeatures-DTTkboOI.js.br +0 -0
- package/dist/_frontend/assets/lspLanguageFeatures-DTTkboOI.js.gz +0 -0
- package/dist/_frontend/assets/mdx-DJcT8q-f.js.br +0 -0
- package/dist/_frontend/assets/mdx-DJcT8q-f.js.gz +0 -0
- package/dist/_frontend/assets/python-CLDE_vWh.js.br +0 -0
- package/dist/_frontend/assets/python-CLDE_vWh.js.gz +0 -0
- package/dist/_frontend/assets/razor-DtGC7wgt.js.br +0 -0
- package/dist/_frontend/assets/razor-DtGC7wgt.js.gz +0 -0
- package/dist/_frontend/assets/tsMode-DWdihmDi.js.br +0 -0
- package/dist/_frontend/assets/tsMode-DWdihmDi.js.gz +0 -0
- package/dist/_frontend/assets/typescript-D1_IEBnH.js.br +0 -0
- package/dist/_frontend/assets/typescript-D1_IEBnH.js.gz +0 -0
- package/dist/_frontend/assets/workers-CiyDz6N8.js.br +0 -0
- package/dist/_frontend/assets/workers-CiyDz6N8.js.gz +0 -0
- package/dist/_frontend/assets/xml-WgPcpohY.js.br +0 -0
- package/dist/_frontend/assets/xml-WgPcpohY.js.gz +0 -0
- package/dist/_frontend/assets/yaml-DGY1pOYu.js.br +0 -0
- package/dist/_frontend/assets/yaml-DGY1pOYu.js.gz +0 -0
package/package.json
CHANGED
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truefoundry/trueforge",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "TrueForge
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "TrueForge Agent Harness: server, HTTP API, and chat UI (npx @truefoundry/trueforge)",
|
|
5
5
|
"author": "TrueFoundry",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/truefoundry/trueforge.git",
|
|
10
|
-
"directory": "packages/
|
|
10
|
+
"directory": "packages/trueforge"
|
|
11
11
|
},
|
|
12
|
-
"homepage": "https://
|
|
12
|
+
"homepage": "https://trueforge.dev",
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/truefoundry/trueforge/issues"
|
|
15
15
|
},
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"access": "public",
|
|
18
|
-
"provenance":
|
|
18
|
+
"provenance": true
|
|
19
19
|
},
|
|
20
20
|
"private": false,
|
|
21
21
|
"type": "module",
|
|
22
22
|
"files": [
|
|
23
|
-
"dist"
|
|
23
|
+
"dist",
|
|
24
|
+
"README.md"
|
|
24
25
|
],
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=22"
|
|
28
|
+
},
|
|
25
29
|
"dependencies": {
|
|
26
30
|
"@daytona/sdk": "^0.204.1",
|
|
27
31
|
"@hono/node-server": "^2.0.11",
|
|
@@ -40,7 +44,7 @@
|
|
|
40
44
|
"winston": "^3.13.0",
|
|
41
45
|
"yaml": "^2.9.0",
|
|
42
46
|
"zod": "^4.4.3",
|
|
43
|
-
"@truefoundry/trueforge-core": "0.1.
|
|
47
|
+
"@truefoundry/trueforge-core": "0.1.1"
|
|
44
48
|
},
|
|
45
49
|
"devDependencies": {
|
|
46
50
|
"@swc/core": "^1.11.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as G,t as ie,r,v as H,j as e,w as oe,B as k,I as N,y as J,E as X,F as ce,e as B,x as Y}from"./index-V5vAkbkm.js";var me=[{value:"dcr",label:"OAuth"},{value:"none",label:"None"},{value:"header",label:"API Key"}],q=X("h-11 shadow-sm"),$=()=>e.jsx("span",{className:"ml-0.5 text-failure-bg","aria-hidden":!0,children:"*"}),ue=({open:n,onOpenChange:x,onAdd:m,busy:j=!1,error:i})=>{const[f,y]=r.useState(""),[p,h]=r.useState(""),[c,w]=r.useState("dcr"),[u,b]=r.useState(""),[v,A]=r.useState(""),z=()=>{y(""),h(""),w("dcr"),b(""),A("")},M=l=>{l||z(),x(l)},S=!!f.trim()&&!!p.trim()&&(c!=="header"||!!u.trim()),a=async l=>{if(l.preventDefault(),!S||j)return;const F=c==="header"?{type:"header",apiKey:u.trim(),...v.trim()?{headerName:v.trim()}:{}}:{type:c};try{await m({name:f.trim(),url:p.trim(),auth:F}),z(),x(!1)}catch{}};return e.jsx(J,{open:n,onOpenChange:M,title:"Add MCP server",description:"Point at a remote MCP endpoint. It then behaves like any other connector.",contentSized:!0,headerIcon:e.jsx("span",{className:"flex size-11 shrink-0 items-center justify-center rounded-lg border border-border bg-secondary-bg text-text-primary","aria-hidden":!0,children:e.jsx(N,{name:"mcp-server",className:"size-6"})}),children:e.jsxs("form",{className:"flex flex-col overflow-y-auto p-5 md:p-6",onSubmit:l=>void a(l),children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-server-name",className:"mb-1.5 block text-sm font-medium text-text-primary",children:["Name",e.jsx($,{})]}),e.jsx("input",{id:"mcp-server-name",type:"text",required:!0,value:f,onChange:l=>{y(l.target.value)},placeholder:"analytics-postgres-mcp",autoFocus:!0,className:q})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-server-url",className:"mb-1.5 block text-sm font-medium text-text-primary",children:["URL",e.jsx($,{})]}),e.jsx("input",{id:"mcp-server-url",type:"url",required:!0,value:p,onChange:l=>{h(l.target.value)},placeholder:"https://mcp.example.com/mcp",className:q})]}),e.jsxs("fieldset",{children:[e.jsxs("legend",{className:"mb-1.5 text-sm font-medium text-text-primary",children:["Auth type",e.jsx($,{})]}),e.jsx("div",{className:"flex w-full flex-row rounded-md border border-border bg-secondary-bg/40 p-1",children:me.map(l=>e.jsxs("label",{className:`flex h-8 flex-1 cursor-pointer items-center justify-center rounded-sm text-sm font-medium transition-colors ${c===l.value?"bg-dropdown-selected-item-bg text-dropdown-selected-item-text shadow-sm":"text-text-secondary hover:text-text-primary"}`,children:[e.jsx("input",{type:"radio",name:"mcp-auth-type",value:l.value,checked:c===l.value,onChange:()=>{w(l.value)},className:"sr-only"}),l.label]},l.value))})]}),c==="dcr"?e.jsxs("div",{className:"flex gap-1.5 bg-secondary-bg/40 p-2 rounded-md",children:[e.jsx(N,{name:"info",className:"size-3.5 mt-1 text-text-secondary"}),e.jsx("div",{className:"text-xs text-text-secondary leading-5.5",children:"Sign-in only — the server must support dynamic client registration. Manual OAuth (client ID / secret) isn't supported yet."})]}):null,c==="header"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-server-api-key",className:"mb-1.5 block text-sm font-medium text-text-primary",children:["API key",e.jsx($,{})]}),e.jsx("input",{id:"mcp-server-api-key",type:"password",required:!0,value:u,onChange:l=>{b(l.target.value)},placeholder:"Paste the server token",className:q})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"mcp-server-header-name",className:"mb-1.5 block text-sm font-medium text-text-primary",children:["Header name ",e.jsx("span",{className:"font-normal text-text-secondary",children:"(optional)"})]}),e.jsx("input",{id:"mcp-server-header-name",type:"text",value:v,onChange:l=>{A(l.target.value)},placeholder:"Authorization",className:q})]})]}):null]}),e.jsxs("div",{className:"mt-6 space-y-3",children:[i?e.jsx("p",{className:"text-failure-bg text-sm",children:i}):null,e.jsx(k,{type:"submit",size:"lg",disabled:!S||j,className:"w-full shrink-0",children:"Add"})]})]})})},xe=ue,_={dcr:"OAuth2",header:"API Key",none:"No Auth"};function he({text:n}){const x=r.useRef(null),[m,j]=r.useState(!1),[i,f]=r.useState(!1),[y,p]=r.useState(16);return r.useLayoutEffect(()=>{j(!1),p(16)},[n]),r.useLayoutEffect(()=>{const h=x.current;if(!h)return;if(!m){p(16),f(h.scrollWidth>h.clientWidth+1);return}p(16);const c=requestAnimationFrame(()=>{p(h.scrollHeight)});return()=>cancelAnimationFrame(c)},[n,m]),n?e.jsxs("div",{className:"relative min-w-0",children:[e.jsxs("p",{ref:x,style:{maxHeight:y},className:B("mt-0.5 overflow-hidden font-mono text-xs leading-4 text-text-secondary transition-[max-height] duration-300 ease-in-out",!m&&"whitespace-nowrap",!m&&i&&"pr-[5.75rem]"),children:[n,m&&i?e.jsxs(e.Fragment,{children:[" ",e.jsx("button",{type:"button",className:"cursor-pointer font-mono text-xs font-medium text-text-primary/80 hover:text-text-primary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring","aria-expanded":!0,onClick:()=>j(!1),children:"Show less"})]}):null]}),!m&&i?e.jsxs("button",{type:"button",className:"absolute top-0.5 right-0 cursor-pointer bg-card-bg pl-1.5 font-mono text-xs font-medium leading-4 text-text-primary/80 hover:text-text-primary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring","aria-expanded":!1,onClick:()=>j(!0),children:[e.jsx("span",{"aria-hidden":!0,className:"text-text-secondary",children:"…"}),e.jsx("span",{className:"ml-1",children:"Read more"})]}):null]}):null}var pe=({connector:n,onBack:x,onConnectorRefreshed:m,onDisconnect:j,busy:i=!1})=>{const{connectorCatalog:f}=G(),{handleAuthorize:y,isOAuthLoading:p}=ce(),[h,c]=r.useState([]),[w,u]=r.useState(!0),[b,v]=r.useState(null),[A,z]=r.useState(!1);r.useEffect(()=>{let a=!1;return c([]),v(null),u(!0),f.getToolsByConnectorId({id:n.id}).then(l=>{a||c(l)}).catch(l=>{a||v(H(l,"Failed to load connector tools"))}).finally(()=>{a||u(!1)}),()=>{a=!0}},[n.authenticated,n.id,f]);const M=async()=>{z(!0),v(null);try{const a=await f.getConnector({id:n.id});m(a)}catch(a){v(H(a,"Failed to refresh connector details"))}finally{z(!1)}},S=p||A;return e.jsxs("div",{className:"flex h-full flex-col overflow-hidden",children:[e.jsxs("button",{type:"button",onClick:x,className:"mb-3 inline-flex w-fit items-center gap-1 rounded-md py-1 pr-2 text-sm text-text-secondary hover:text-text-primary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring",children:[e.jsx(N,{name:"chevron-left",className:"size-3.5"}),"Connectors"]}),e.jsxs("div",{className:"flex flex-1 flex-col overflow-y-auto pb-1",children:[e.jsxs("header",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-secondary-bg","aria-hidden":!0,children:e.jsx(N,{name:"mcp-server",className:"size-5 text-text-primary"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h4",{className:"text-lg font-semibold text-text-primary",children:n.name}),e.jsxs("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-2 gap-y-1 text-sm",children:[e.jsxs("span",{className:B("flex items-center gap-1.5 text-xs font-medium",n.authenticated?"text-success-bg":"text-text-primary"),children:[e.jsx("span",{className:B("h-1.5 w-1.5 rounded-full",n.authenticated?"bg-success-bg":"bg-primary-button-bg")}),n.authenticated?"Connected":"Not authenticated"]}),e.jsxs("span",{className:"text-text-secondary",children:["· ",n.description]})]}),e.jsx("span",{className:"mt-2 inline-flex items-center rounded-full border border-border bg-secondary-bg/40 px-2 py-0.5 text-xs font-medium text-text-secondary",children:_[n.auth.type]??_.none})]}),n.auth.type==="dcr"&&!n.authenticated?e.jsx(k,{variant:"outline",size:"sm",type:"button",disabled:i||S,onClick:()=>{y(n.id,a=>{a&&M()})},children:S?"Connecting…":"Connect"}):n.auth.type==="dcr"&&!n.requiresAuth?e.jsx(k,{variant:"outline",size:"sm",type:"button",disabled:i,onClick:j,children:"Disconnect"}):null]}),e.jsx("section",{className:"mt-6","aria-labelledby":"connector-tools-heading",children:w?e.jsx("div",{className:"rounded-xl border border-dashed border-border p-6 text-center text-sm text-text-secondary",children:"Loading tools…"}):b?e.jsxs("div",{className:"rounded-xl border border-failure-bg/30 bg-failure-bg/10 p-6 text-center text-sm text-failure-bg",children:[b,n.auth.type==="dcr"&&!n.authenticated&&e.jsx("div",{className:"font-bold mt-1",children:"Click Connect and authenticate successfully to view tools."})]}):h.length>0?e.jsxs(e.Fragment,{children:[e.jsxs("h5",{id:"connector-tools-heading",className:"mb-2 text-[0.8125rem] font-semibold text-text-primary",children:["Tools ",e.jsxs("span",{className:"font-normal text-text-secondary",children:["· ",h.length]})]}),e.jsx("div",{className:"overflow-hidden rounded-xl border border-border bg-card-bg",children:h.map(a=>e.jsx("article",{className:"flex min-h-12 items-start gap-3 border-b border-border px-3 py-2 last:border-b-0",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h6",{className:"text-sm font-medium text-text-primary",children:a.name}),e.jsx(he,{text:a.description})]})},a.id))})]}):e.jsx("div",{className:"rounded-xl border border-dashed border-border p-6 text-center text-sm text-text-secondary",children:"No tools reported for this connector."})})]})]})},fe=pe,be=()=>{const{connectorCatalog:n}=G(),x=ie(),[m,j]=r.useState(""),[i,f]=r.useState({ordered:[],authStatusById:new Map}),[y,p]=r.useState(!0),[h,c]=r.useState(null),[w,u]=r.useState(null),[b,v]=r.useState(!1),[A,z]=r.useState([]),[M,S]=r.useState(!1),[a,l]=r.useState(null),[F,I]=r.useState(null),[L,P]=r.useState(""),Q=r.useMemo(()=>(A??[]).reduce((t,s)=>(t[s.name]=s.logo??"",t),{}),[A]),K=r.useCallback(async()=>{p(!0),c(null);try{const[t,s]=await Promise.all([n.listConnectors(),n.getConnectorCatalog()]);z(s);const d=t??[],g=new Set(d.map(o=>o.id)),C=[...d.map(o=>({connector:o,isConfigured:!0})),...s.filter(o=>!g.has(o.id)).map(o=>({connector:o,isConfigured:!1}))];f({ordered:C,authStatusById:new Map(C.map(o=>[o.connector.id,o.isConfigured?o.connector.authenticated:!1]))}),I(o=>o?t.find(de=>de.id===o.id)??null:null)}catch(t){c(H(t,"Failed to load connectors"))}finally{p(!1)}},[n]);r.useEffect(()=>{K()},[K]);const E=m.trim().toLowerCase(),R=r.useMemo(()=>E?i.ordered.filter(({connector:t})=>{var s;return t.name.toLowerCase().includes(E)||(((s=t.description)==null?void 0:s.toLowerCase().includes(E))??!1)||t.url.toLowerCase().includes(E)}):i.ordered,[i.ordered,E]),T=r.useMemo(()=>{const t=[];for(const s of R)if(s.isConfigured){const d=i.authStatusById.get(s.connector.id)??s.connector.authenticated;t.push(d===s.connector.authenticated?s.connector:{...s.connector,authenticated:d})}return t},[i.authStatusById,R]),O=r.useMemo(()=>{const t=[];for(const s of R)s.isConfigured||t.push(s.connector);return t},[R]),D=async(t,s=c)=>{v(!0),c(null);try{await t(),await K()}catch(d){throw s(H(d,"Request failed")),d}finally{v(!1)}},U=()=>{l(null),P(""),u(null)},W=async(t,s)=>{const d=s??(t.auth.type==="header"?{type:"header",...t.auth.headerName?{headerName:t.auth.headerName}:{}}:t.auth.type==="dcr"?{type:"dcr"}:{type:"none"});await n.createConnector({name:t.name,url:t.url,auth:d})},Z=t=>{if(t.auth.type==="header"){P(""),u(null),l(t);return}D(async()=>{await W(t)}).catch(()=>{})},ee=t=>{if(t.preventDefault(),!a||!L.trim())return;const s=a;u(null),D(async()=>{const d={type:"header",apiKey:L.trim(),...s.auth.type==="header"&&s.auth.headerName?{headerName:s.auth.headerName}:{}},g=i.ordered.find(({connector:o})=>o.id===s.id),C=g!=null&&g.isConfigured?g.connector:void 0;C?await n.updateConnector({id:C.id,name:C.name,url:C.url,auth:d}):await W(s,d),U(),setTimeout(()=>{x==null||x.showSuccess({title:`${s.name} ${C?"updated":"connected"}`})},100)},u).catch(()=>{})},te=async t=>{u(null),await D(async()=>{await n.createConnector({name:t.name,url:t.url,auth:t.auth})},u),setTimeout(()=>{x==null||x.showSuccess({title:`${t.name} added`})},0)},se=t=>{D(async()=>{await n.disconnectConnector({id:t.id}),I(null)}).catch(()=>{})},ae=t=>{I(s=>(s==null?void 0:s.id)===t.id?t:s),f(s=>{const d=new Map(s.authStatusById);return d.set(t.id,t.authenticated),{ordered:s.ordered.map(g=>g.isConfigured&&g.connector.id===t.id?{connector:t,isConfigured:!0}:g),authStatusById:d}})},re=(t,s)=>{const d=Q[t.name],g=e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-secondary-bg","aria-hidden":!0,children:d?e.jsx(Y,{src:d,alt:t.name,className:"size-4.5"}):e.jsx(N,{name:"mcp-server",className:"size-4.5 text-text-primary"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h5",{className:"truncate text-sm font-medium text-text-primary",children:t.name}),e.jsx("p",{className:"mt-0.5 line-clamp-2 text-sm text-text-secondary sm:truncate",children:t.description})]})]});return e.jsxs("article",{className:"flex min-h-16 w-full items-center gap-3 border-b border-border p-3 text-left last:border-b-0 cursor-pointer transition-colors hover:bg-ghost-button-hover/60",onClick:()=>{I(t)},children:[e.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:g}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs("span",{className:B("flex items-center gap-1.5 rounded-full border border-border bg-secondary-bg/40 px-2 py-0.5 text-xs font-medium",t.authenticated?"text-success-bg":"text-text-primary"),children:[e.jsx("span",{className:B("h-1.5 w-1.5 rounded-full",t.authenticated?"bg-success-bg":"bg-primary-button-bg")}),t.authenticated?"Connected":"Added"]})}),t.auth.type==="header"?e.jsxs(k,{variant:"secondary",size:"sm",type:"button",disabled:b,onClick:o=>{o.stopPropagation(),P(""),l(t)},children:[e.jsx(N,{name:"wrench",className:"size-3"}),"Replace Key"]}):null,e.jsx(N,{name:"chevron-right",className:"size-4"})]})]},t.id)},ne=t=>{const s=Q[t.name];return e.jsxs("article",{className:"flex min-h-16 w-full items-center gap-3 border-b border-border p-3 text-left last:border-b-0",children:[e.jsx("span",{className:"flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-secondary-bg","aria-hidden":!0,children:s?e.jsx(Y,{src:s,alt:t.name,className:"size-4.5"}):e.jsx(N,{name:"mcp-server",className:"size-4.5 text-text-primary"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h5",{className:"truncate text-sm font-medium text-text-primary",children:t.name}),e.jsx("p",{className:"mt-0.5 line-clamp-2 text-sm text-text-secondary sm:truncate",children:t.description??t.url})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsx("span",{className:"hidden text-xs text-text-secondary sm:inline",children:_[t.auth.type]??_.none}),e.jsx(k,{variant:"secondary",size:"sm",type:"button",disabled:b,onClick:()=>{Z(t)},children:t.auth.type==="dcr"?"Add":"Connect"})]})]},t.id)},V=r.useMemo(()=>a!==null&&i.ordered.some(t=>t.isConfigured&&t.connector.id===a.id),[a,i.ordered]);if(F)return e.jsx(fe,{connector:F,busy:b,onBack:()=>{I(null)},onConnectorRefreshed:ae,onDisconnect:()=>{se(F)}});const le=T.length>0||O.length>0;return e.jsxs(e.Fragment,{children:[e.jsx("h3",{className:"text-xl font-semibold tracking-tight text-text-primary",children:"Connectors"}),e.jsx("p",{className:"mt-1 text-sm text-text-secondary",children:"Connect tools your agents can use."}),h?e.jsx("p",{className:"mt-3 rounded-md border border-failure-bg/30 bg-failure-bg/10 px-3 py-2 text-sm text-failure-bg",children:h}):null,e.jsx("div",{className:"mt-4 flex-1 overflow-y-hidden",children:e.jsxs("div",{className:"flex h-full flex-col gap-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"flex-1",children:e.jsx(oe,{query:m,setQuery:j,placeholder:"Search connectors"})}),e.jsxs(k,{variant:"secondary",type:"button",onClick:()=>{u(null),S(!0)},children:[e.jsx(N,{name:"plus",size:"1rem",className:"mr-1"}),"Add MCP Server"]})]}),e.jsxs("div",{className:"flex flex-1 flex-col gap-5 overflow-y-auto pb-1",children:[y?e.jsx("p",{className:"py-8 text-center text-sm text-text-secondary",children:"Loading…"}):null,!y&&T.length>0?e.jsxs("section",{"aria-labelledby":"connected-connectors-heading",children:[e.jsxs("h4",{id:"connected-connectors-heading",className:"mb-2 text-[0.8125rem] font-semibold uppercase text-text-secondary",children:["Configured · ",T.length]}),e.jsx("div",{className:"overflow-hidden rounded-xl border border-border bg-card-bg",children:T.map(t=>re(t))})]}):null,!y&&O.length>0?e.jsxs("section",{"aria-labelledby":"available-connectors-heading",children:[e.jsxs("h4",{id:"available-connectors-heading",className:"mb-2 text-[0.8125rem] font-semibold uppercase text-text-secondary",children:["Available · ",O.length]}),e.jsx("div",{className:"overflow-hidden rounded-xl border border-border bg-card-bg",children:O.map(t=>ne(t))})]}):null,!y&&!le?e.jsx("div",{className:"flex flex-1 items-center justify-center rounded-xl border border-dashed border-border p-8 text-center text-sm text-text-secondary",children:m.trim()?`No connectors match “${m.trim()}”.`:"No connectors yet."}):null]}),e.jsx(J,{open:a!==null,onOpenChange:t=>{t||U()},title:`${V?"Replace key for":"Connect"} ${(a==null?void 0:a.name)??"connector"}`,description:a==null?void 0:a.url,contentSized:!0,className:"md:max-w-xl",children:e.jsxs("form",{onSubmit:ee,children:[e.jsxs("div",{className:"space-y-5 px-5 py-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"flex size-12 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-border bg-secondary-bg","aria-hidden":!0,children:e.jsx(N,{name:"mcp-server",className:"size-6 text-text-primary"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-medium text-text-primary",children:a==null?void 0:a.name}),e.jsx("p",{className:"truncate text-sm text-text-secondary",children:a==null?void 0:a.description})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"connector-api-key",className:"mb-2 block text-xs font-semibold uppercase tracking-wide text-text-secondary",children:"API key / token"}),e.jsx("input",{id:"connector-api-key",type:"password",value:L,onChange:t=>{P(t.target.value)},placeholder:`Paste the token from ${(a==null?void 0:a.name)??"the provider"}`,autoFocus:!0,required:!0,className:X("h-11")})]}),w?e.jsx("p",{className:"text-failure-bg text-sm",children:w}):null]}),e.jsxs("footer",{className:"flex justify-end gap-2 border-t border-border px-5 py-4",children:[e.jsx(k,{variant:"ghost",type:"button",onClick:U,disabled:b,children:"Cancel"}),e.jsx(k,{type:"submit",disabled:!L.trim()||b,children:V?"Replace Key":"Connect"})]})]})}),e.jsx(xe,{open:M,onOpenChange:t=>{S(t),t||u(null)},onAdd:te,busy:b,error:w})]})})]})},ye=be;export{ye as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as _,t as q,r as a,v as B,j as e,I as U,B as O,y as L,A as R,z as $,e as G,D as V,E as Y}from"./index-V5vAkbkm.js";var H={execTimeoutMs:3e5,autoStopIntervalInMinutes:15,autoArchiveIntervalInMinutes:10080,autoDeleteIntervalInMinutes:43200},E=Y("h-11 shadow-sm");function D(n){if(n.trim()==="")return null;const r=Number(n);return!Number.isFinite(r)||r<0?null:r}var J=({open:n,onOpenChange:r,onSave:o,title:j,description:u,initialConfig:F=null,requireApiKey:v=!0,busy:N=!1,error:S})=>{const[m,I]=a.useState(""),[d,c]=a.useState(""),[C,l]=a.useState(""),[x,i]=a.useState(""),[b,h]=a.useState(""),[f,p]=a.useState(!1),z=()=>{I(""),c(""),l(""),i(""),h(""),p(!1)};a.useEffect(()=>{if(!n)return;const t=F??H;I(String(t.execTimeoutMs)),c(String(t.autoStopIntervalInMinutes)),l(String(t.autoArchiveIntervalInMinutes)),i(String(t.autoDeleteIntervalInMinutes)),h(""),p(!1)},[n,F]);const w=t=>{t||z(),r(t)},k=D(m),M=D(d),A=D(C),P=D(x),g=b.trim(),T=(!v||!!g)&&k!=null&&M!=null&&A!=null&&P!=null,s=async t=>{if(t.preventDefault(),!(!T||N||k==null||M==null||A==null||P==null))try{await o({snapshotName:"",execTimeoutMs:k,autoStopIntervalInMinutes:M,autoArchiveIntervalInMinutes:A,autoDeleteIntervalInMinutes:P,apiKey:g}),z(),r(!1)}catch{}};return e.jsx(L,{open:n,onOpenChange:w,title:j,description:u,contentSized:!0,headerIcon:e.jsx("span",{className:"flex size-11 shrink-0 items-center justify-center rounded-lg border border-border bg-secondary-bg text-text-primary","aria-hidden":!0,children:e.jsx(U,{name:"cube",className:"size-6"})}),children:e.jsxs("form",{className:"flex flex-col overflow-y-auto p-5 md:p-6",onSubmit:s,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"sandbox-api-key",className:"mb-1.5 block text-sm font-medium text-text-primary",children:["API key",v?null:e.jsx("span",{className:"font-normal text-text-secondary",children:" (optional)"})]}),e.jsx("input",{id:"sandbox-api-key",type:"password",required:v,value:b,onChange:t=>{h(t.target.value)},placeholder:v?"dtn_...":"Leave blank to keep existing",autoFocus:!0,className:E})]}),e.jsxs(R,{expanded:f,onChange:(t,y)=>p(y),className:"rounded-md border border-border",children:[e.jsx($,{className:"px-3 py-2.5",children:e.jsxs("span",{className:"flex w-full items-center justify-between text-sm font-medium text-text-primary",children:["Advanced settings",e.jsx(U,{name:"chevron-down",className:G("size-4 shrink-0 text-text-secondary transition-transform duration-200",f?"rotate-0":"-rotate-90")})]})}),e.jsxs(V,{className:"space-y-4 border-t border-border px-3 pb-3 pt-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"sandbox-exec-timeout",className:"mb-1.5 block text-sm font-medium text-text-primary",children:"Exec timeout (ms)"}),e.jsx("input",{id:"sandbox-exec-timeout",type:"number",min:0,required:!0,value:m,onChange:t=>{I(t.target.value)},placeholder:"300000",className:E})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"sandbox-auto-stop",className:"mb-1.5 block text-sm font-medium text-text-primary",children:"Auto-stop interval (minutes)"}),e.jsx("input",{id:"sandbox-auto-stop",type:"number",min:0,required:!0,value:d,onChange:t=>{c(t.target.value)},placeholder:"15",className:E})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"sandbox-auto-archive",className:"mb-1.5 block text-sm font-medium text-text-primary",children:"Auto-archive interval (minutes)"}),e.jsx("input",{id:"sandbox-auto-archive",type:"number",min:0,required:!0,value:C,onChange:t=>{l(t.target.value)},placeholder:"10080",className:E})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"sandbox-auto-delete",className:"mb-1.5 block text-sm font-medium text-text-primary",children:"Auto-delete interval (minutes)"}),e.jsx("input",{id:"sandbox-auto-delete",type:"number",min:0,required:!0,value:x,onChange:t=>{i(t.target.value)},placeholder:"43200",className:E})]})]})]})]}),e.jsxs("div",{className:"mt-6 space-y-3",children:[S?e.jsx("p",{className:"text-failure-bg text-sm",children:S}):null,e.jsx(O,{type:"submit",size:"lg",disabled:!T||N,className:"w-full shrink-0",children:"Save"})]})]})})},Q=J,K=({snapshotName:n,execTimeoutMs:r,autoStopIntervalInMinutes:o,autoArchiveIntervalInMinutes:j,autoDeleteIntervalInMinutes:u})=>({snapshotName:n,execTimeoutMs:r,autoStopIntervalInMinutes:o,autoArchiveIntervalInMinutes:j,autoDeleteIntervalInMinutes:u}),W=()=>{const{sandboxCatalog:n}=_(),r=q(),[o,j]=a.useState([]),[u,F]=a.useState([]),[v,N]=a.useState(!0),[S,m]=a.useState(null),[I,d]=a.useState(null),[c,C]=a.useState(!1),[l,x]=a.useState(null),[i,b]=a.useState(null),h=a.useCallback(async({quiet:s=!1}={})=>{if(n){s||N(!0),m(null);try{const[t,y]=await Promise.all([n.listSandboxProviders(),n.getSandboxProviderCatalog()]);j(t),F(y)}catch(t){m(B(t,"Failed to load sandbox providers"))}finally{s||N(!1)}}},[n]);a.useEffect(()=>{h()},[h]);const f=o.length>0,p=a.useMemo(()=>{if(f)return[];const s=new Set(o.map(t=>t.catalogId));return u.filter(t=>!s.has(t.id))},[u,o,f]),z=a.useMemo(()=>i?K(i):l?K(l):null,[i,l]);if(!n)return e.jsx("p",{className:"text-sm text-text-secondary",children:"Sandbox provider catalog is not available."});const w=async(s,t=m)=>{C(!0),m(null);try{await s(),await h({quiet:!0})}catch(y){throw t(B(y,"Request failed")),y}finally{C(!1)}},k=async s=>{l&&(d(null),await w(async()=>{await n.createSandboxProvider({catalogId:l.id,name:l.name,type:l.type,...K(s),apiKey:s.apiKey})},d),x(null),setTimeout(()=>{r==null||r.showSuccess({title:`${l.name} configured`})},0))},M=async s=>{i&&(d(null),await w(async()=>{await n.updateSandboxProvider({id:i.id,...K(s),...s.apiKey?{apiKey:s.apiKey}:{}})},d),b(null),setTimeout(()=>{r==null||r.showSuccess({title:`${i.name} updated`})},0))},A=s=>{const t=n.deleteSandboxProvider;t&&w(async()=>{await t({id:s.id})}).catch(()=>{})},P=l!=null||i!=null,g=i!=null,T=i?`Update ${i.name}`:l?`Configure ${l.name}`:"Configure sandbox provider";return e.jsxs(e.Fragment,{children:[e.jsx("h3",{className:"text-xl font-semibold tracking-tight text-text-primary",children:"Sandbox providers"}),e.jsx("p",{className:"mt-1 text-sm text-text-secondary",children:"Choose a provider that runs sandboxes for code, files and shell commands. Only one can be active at a time."}),S?e.jsx("p",{className:"mt-3 rounded-md border border-failure-bg/30 bg-failure-bg/10 px-3 py-2 text-sm text-failure-bg",children:S}):null,e.jsx("div",{className:"mt-4 flex-1 overflow-y-auto",children:v?e.jsx("p",{className:"text-sm text-text-secondary",children:"Loading sandbox providers…"}):e.jsxs("div",{className:"space-y-6",children:[o.length>0?e.jsxs("section",{children:[e.jsxs("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-text-secondary",children:["Configured · ",o.length]}),e.jsx("div",{className:"overflow-hidden rounded-xl border border-border bg-card-bg",children:o.map(s=>e.jsxs("article",{className:"flex flex-col gap-3 border-b border-border p-3 last:border-b-0 sm:flex-row sm:items-center",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[e.jsx("span",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg border border-border bg-secondary-bg text-text-primary","aria-hidden":!0,children:e.jsx(U,{name:"cube",className:"size-4.5"})}),e.jsx("div",{className:"min-w-0",children:e.jsx("h5",{className:"truncate text-sm font-medium text-text-primary",children:s.name})})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2.5 sm:justify-end",children:[s.isConnected?e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full border border-border bg-secondary-bg/40 px-2 py-0.5 text-xs font-medium text-success-bg",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-success-bg"}),"Connected"]}):null,e.jsx(O,{variant:"secondary",size:"sm",type:"button",disabled:c,onClick:()=>{d(null),x(null),b(s)},children:"Update"}),n.deleteSandboxProvider?e.jsx(O,{variant:"ghost",size:"sm",className:"text-text-secondary",type:"button",disabled:c,onClick:()=>{A(s)},children:"Remove"}):null]})]},s.id))})]}):null,f?null:e.jsxs("section",{children:[e.jsxs("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-text-secondary",children:["Available · ",p.length]}),p.length===0?e.jsx("p",{className:"text-sm text-text-secondary",children:u.length>0?"All catalog providers are configured.":"No sandbox providers in the catalog."}):e.jsx("div",{className:"overflow-hidden rounded-xl border border-border bg-card-bg",children:p.map(s=>e.jsxs("article",{className:"flex flex-col gap-3 border-b border-border p-3 last:border-b-0 sm:flex-row sm:items-center",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[e.jsx("span",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg border border-border bg-secondary-bg text-text-primary","aria-hidden":!0,children:e.jsx(U,{name:"cube",className:"size-4.5"})}),e.jsx("div",{className:"min-w-0",children:e.jsx("h5",{className:"truncate text-sm font-medium text-text-primary",children:s.name})})]}),e.jsx(O,{variant:"secondary",type:"button",disabled:c,onClick:()=>{d(null),b(null),x(s)},children:"Configure"})]},s.id))})]})]})}),e.jsx(Q,{open:P,onOpenChange:s=>{s||(d(null),x(null),b(null))},onSave:g?M:k,title:T,description:g?"Update this sandbox provider. Leave API key blank to keep the existing key.":"Configure this sandbox provider. API key is never stored in the catalog.",initialConfig:z,requireApiKey:!g,busy:c,error:I})]})},Z=W;export{Z as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelSettings-LKFJVUYQ-BmjB0mhb.js","assets/index-V5vAkbkm.js","assets/index-DEKCw40W.css","assets/ConnectorSettings-ADACLWQI-BW-k4488.js","assets/SkillSettings-4VB42CVG-DjkYTFI_.js","assets/SandboxSettings-H5MDAE47-BMAnpZ4v.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as g,k as v,o as y,p as j,q as S,r as l,j as e,I as p,f as _,e as f,_ as u,S as k}from"./index-V5vAkbkm.js";var w=l.lazy(()=>u(()=>import("./ModelSettings-LKFJVUYQ-BmjB0mhb.js"),__vite__mapDeps([0,1,2]))),E=l.lazy(()=>u(()=>import("./ConnectorSettings-ADACLWQI-BW-k4488.js"),__vite__mapDeps([3,1,2]))),N=l.lazy(()=>u(()=>import("./SkillSettings-4VB42CVG-DjkYTFI_.js"),__vite__mapDeps([4,1,2]))),C=l.lazy(()=>u(()=>import("./SandboxSettings-H5MDAE47-BMAnpZ4v.js"),__vite__mapDeps([5,1,2])));function L(){return e.jsxs("div",{className:"flex flex-1 items-center justify-center py-8",role:"status","aria-live":"polite","aria-busy":"true",children:[e.jsx(k,{size:20,className:"text-text-secondary"}),e.jsx("span",{className:"sr-only",children:"Loading"})]})}var O=()=>{const{settingsOpen:a,settingsSection:t,setSettingsOpen:r}=g(),n=v(),d=y(),{refresh:m}=j(),i=S(),o=(n==null?void 0:n.skillCatalog)!=null,c=(n==null?void 0:n.sandboxCatalog)!=null,x=l.useCallback(()=>{r(!1),m(),d==null||d()},[m,d,r]);l.useEffect(()=>{!o&&t==="skills"&&r(a,"models"),!c&&t==="sandbox"&&r(a,"models")},[o,c,t,a,r]),l.useEffect(()=>{if(!a)return;const s=b=>{b.key==="Escape"&&(b.stopImmediatePropagation(),x())};return window.addEventListener("keydown",s,!0),()=>window.removeEventListener("keydown",s,!0)},[x,a]);const h=l.useMemo(()=>{const s=[{id:"models",label:"Models",icon:"cpu"},{id:"connectors",label:"Connectors",icon:"plug"}];return o&&s.push({id:"skills",label:"Skills",icon:"lightbulb"}),c&&s.push({id:"sandbox",label:"Sandbox providers",icon:"cube"}),s},[o,c]);return!a||!n?null:e.jsxs("div",{className:"flex h-full min-h-0 w-full flex-col bg-primary-bg",children:[e.jsxs("header",{className:"flex shrink-0 items-center gap-2 border-b border-border px-2 py-1.5",children:[e.jsx("button",{type:"button","aria-label":"Back",title:"Back",className:_({variant:"ghost",size:"icon"}),onClick:x,children:e.jsx(p,{name:"arrow-left"})}),e.jsx("h1",{className:"text-lg font-semibold tracking-tight text-text-primary",children:"Settings"})]}),e.jsxs("div",{className:f("flex min-h-0 flex-1 flex-col",!i&&"md:flex-row"),children:[e.jsx("nav",{"aria-label":"Settings sections",className:f("flex w-full gap-1 border-b border-border bg-secondary-bg/40 p-2",i?"min-w-0":"justify-center md:w-48 md:flex-col md:justify-start md:border-b-0 md:border-r"),children:h.map(s=>e.jsxs("button",{type:"button","aria-current":t===s.id?"page":void 0,...i?{title:s.label}:{},className:f("flex min-h-9 items-center gap-2 rounded-md px-3 text-sm font-medium transition-colors","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-focus-ring",i?"min-w-0 flex-1 justify-center gap-1.5 px-1.5":"shrink-0",t===s.id?"bg-primary-button-bg text-primary-button-text":"text-text-secondary hover:bg-ghost-button-hover/60 hover:text-text-primary"),onClick:()=>{r(!0,s.id)},children:[e.jsx(p,{name:s.icon,className:"h-4 w-4 shrink-0"}),i?e.jsx("span",{className:"truncate",children:s.label}):s.label]},s.id))}),e.jsx("section",{className:"flex flex-col h-full flex-1 overflow-y-hidden px-6 py-4",children:e.jsx("div",{className:"w-full max-w-210 h-full min-h-0 flex flex-col mx-auto",children:e.jsxs(l.Suspense,{fallback:e.jsx(L,{}),children:[t==="models"?e.jsx(w,{}):null,t==="connectors"?e.jsx(E,{}):null,t==="skills"&&o?e.jsx(N,{}):null,t==="sandbox"&&c?e.jsx(C,{}):null]})})})]})]})},I=O;export{I as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h,j as e,I as n,i as u,e as o,a as g,k as x,l as p,m as b,c as S,f as r}from"./index-V5vAkbkm.js";function k({className:a}){const t=h();return t===null?null:e.jsxs("h1",{className:o("flex min-w-0 items-center gap-1.5 px-1 text-sm font-medium text-text-primary",a),children:[e.jsx(n,{name:"robot",className:"size-3.5 shrink-0"}),e.jsx("span",{className:"truncate",title:t.name,children:t.name}),t.isEditing?e.jsx(u,{content:"Try changes here, then choose Update agent to save.",side:"bottom",children:e.jsxs("span",{className:"border-warning-bg/40 bg-warning-bg/10 text-warning-bg inline-flex shrink-0 items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium",children:[e.jsx(n,{name:"pencil",className:"size-3"}),"Editing"]})}):null]})}function f({className:a}){var l;const t=g(),c=x(),i=p(),{mode:s,setTheme:m}=b(),d=S("ShellActionsActionSlot");return e.jsxs("div",{className:o("flex shrink-0 items-center gap-1 text-text-primary",a),children:[e.jsx("button",{type:"button","aria-label":s==="dark"?"Switch to light theme":"Switch to dark theme",title:s==="dark"?"Light theme":"Dark theme",className:r({variant:"ghost",size:"icon"}),onClick:()=>m(s==="dark"?"light":"dark"),children:e.jsx(n,{name:s==="dark"?"sun":"moon"})}),t!=null&&c!=null&&((l=i==null?void 0:i.settings)==null?void 0:l.enabled)!==!1?e.jsx("button",{type:"button","aria-label":"Settings",title:"Settings","aria-expanded":t.settingsOpen,className:r({variant:"ghost",size:"icon"}),onClick:()=>t.setSettingsOpen(!0),children:e.jsx(n,{name:"settings"})}):null,e.jsx(d,{})]})}export{k as N,f as S};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|