@saluzi/saluzi-edu 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +47 -47
- package/dist/rcs-web/assets/Dashboard-ClYYELch.js +2 -0
- package/dist/rcs-web/assets/{SessionDetail-CWUE75ns.js → SessionDetail-D5dCDgDF.js} +3 -3
- package/{packages/remote-control-server/web/dist/assets/arc-4X1dRN53.js → dist/rcs-web/assets/arc-7lPfYTKR.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/architectureDiagram-3BPJPVTR-D3w_Tg5M.js → dist/rcs-web/assets/architectureDiagram-3BPJPVTR-CLhFlBW3.js} +1 -1
- package/dist/rcs-web/assets/{blockDiagram-GPEHLZMM-8wHRy2A9.js → blockDiagram-GPEHLZMM-CRxDmTyw.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/c4Diagram-AAUBKEIU-9bNKHWdC.js → dist/rcs-web/assets/c4Diagram-AAUBKEIU-GhUzyEB2.js} +1 -1
- package/dist/rcs-web/assets/channel-DqKk-agI.js +1 -0
- package/dist/rcs-web/assets/{chunk-2J33WTMH-DgoVnl2j.js → chunk-2J33WTMH-CdFwFvWI.js} +1 -1
- package/dist/rcs-web/assets/{chunk-4BX2VUAB-DvIfpz6o.js → chunk-4BX2VUAB-Bxyari7X.js} +1 -1
- package/dist/rcs-web/assets/{chunk-55IACEB6-BJXtiicU.js → chunk-55IACEB6-B6itQfF-.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/chunk-727SXJPM-BLXUmKhM.js → dist/rcs-web/assets/chunk-727SXJPM-28bp6QhF.js} +1 -1
- package/dist/rcs-web/assets/{chunk-AQP2D5EJ-xIzfWsyC.js → chunk-AQP2D5EJ-Cin2Flu9.js} +1 -1
- package/dist/rcs-web/assets/{chunk-FMBD7UC4-OXv4Udby.js → chunk-FMBD7UC4-Bgh51Lft.js} +1 -1
- package/dist/rcs-web/assets/{chunk-ND2GUHAM-CInuJb7w.js → chunk-ND2GUHAM-BmlO4Ydq.js} +1 -1
- package/dist/rcs-web/assets/{chunk-QZHKN3VN-D9OXcbtl.js → chunk-QZHKN3VN-sJrTY76r.js} +1 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-DXYJPE0n.js +1 -0
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-DXYJPE0n.js +1 -0
- package/dist/rcs-web/assets/{code-block-IT6T5CEO-DIoba4-y.js → code-block-IT6T5CEO-C_zrs-gT.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A-Bs-352tg.js → dist/rcs-web/assets/cose-bilkent-S5V4N54A-B6rTlH08.js} +1 -1
- package/dist/rcs-web/assets/{dagre-BM42HDAG-B9mWsnfD.js → dagre-BM42HDAG-_wl_w4u8.js} +1 -1
- package/dist/rcs-web/assets/{diagram-2AECGRRQ-BiVjJxYN.js → diagram-2AECGRRQ-CAM1F0zx.js} +1 -1
- package/dist/rcs-web/assets/{diagram-5GNKFQAL-yAsJs_ln.js → diagram-5GNKFQAL-RsfXB4M5.js} +1 -1
- package/dist/rcs-web/assets/{diagram-KO2AKTUF-Dud1LRRq.js → diagram-KO2AKTUF-DgE4Jvy8.js} +1 -1
- package/dist/rcs-web/assets/{diagram-LMA3HP47-iPzKx6av.js → diagram-LMA3HP47-btrs7dz6.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/diagram-OG6HWLK6-DJgCZbOs.js → dist/rcs-web/assets/diagram-OG6HWLK6-B81c8jdJ.js} +1 -1
- package/dist/rcs-web/assets/{erDiagram-TEJ5UH35-BGznRS63.js → erDiagram-TEJ5UH35-DL-CzHVd.js} +1 -1
- package/dist/rcs-web/assets/{flowDiagram-I6XJVG4X-UfxMnrX8.js → flowDiagram-I6XJVG4X-Cl-2EwXo.js} +1 -1
- package/dist/rcs-web/assets/{ganttDiagram-6RSMTGT7-BkaC26kQ.js → ganttDiagram-6RSMTGT7-BEUqhgIP.js} +1 -1
- package/dist/rcs-web/assets/{gitGraphDiagram-PVQCEYII-mONxtC7R.js → gitGraphDiagram-PVQCEYII-DeeVgqUk.js} +1 -1
- package/dist/rcs-web/assets/{infoDiagram-5YYISTIA-8aruATa_.js → infoDiagram-5YYISTIA-DPqTmZOu.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ishikawaDiagram-YF4QCWOH-DkJ7Cpbg.js → dist/rcs-web/assets/ishikawaDiagram-YF4QCWOH-5YBKCgSx.js} +1 -1
- package/dist/rcs-web/assets/{journeyDiagram-JHISSGLW-BiIIuQpY.js → journeyDiagram-JHISSGLW-AnSqa6Hq.js} +1 -1
- package/dist/rcs-web/assets/{kanban-definition-UN3LZRKU-D6wU_tk_.js → kanban-definition-UN3LZRKU-W7cAy0RU.js} +1 -1
- package/dist/rcs-web/assets/{linear-DjOGLk2Z.js → linear-QvmQRsBx.js} +1 -1
- package/dist/rcs-web/assets/main-UBLYspes.js +283 -0
- package/dist/rcs-web/assets/{mermaid-VLURNSYL-kyqcLTJM.js → mermaid-VLURNSYL-Dn1LM1yF.js} +4 -4
- package/dist/rcs-web/assets/{mermaid.core-slLRH1UY.js → mermaid.core-C0ceVHNj.js} +5 -5
- package/dist/rcs-web/assets/{mindmap-definition-RKZ34NQL-B8y1-NqM.js → mindmap-definition-RKZ34NQL-Crj88n-9.js} +1 -1
- package/dist/rcs-web/assets/{pieDiagram-4H26LBE5-DwiQtzbN.js → pieDiagram-4H26LBE5-Boh89MZl.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/quadrantDiagram-W4KKPZXB-Den6wpfP.js → dist/rcs-web/assets/quadrantDiagram-W4KKPZXB-B1hrNv25.js} +1 -1
- package/dist/rcs-web/assets/{requirementDiagram-4Y6WPE33-DBw4144P.js → requirementDiagram-4Y6WPE33-B6BlGzlU.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-C-wqrDCa.js → dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-BdNcjCvy.js} +1 -1
- package/dist/rcs-web/assets/{sequenceDiagram-3UESZ5HK-D83w2C-G.js → sequenceDiagram-3UESZ5HK-J9khnYhK.js} +1 -1
- package/dist/rcs-web/assets/{stateDiagram-AJRCARHV-DLtB2UCO.js → stateDiagram-AJRCARHV-iaQJb8kI.js} +1 -1
- package/dist/rcs-web/assets/{stateDiagram-v2-BHNVJYJU-BHas-vfa.js → stateDiagram-v2-BHNVJYJU-CZgBPZ4e.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/timeline-definition-PNZ67QCA-BbEI1m1M.js → dist/rcs-web/assets/timeline-definition-PNZ67QCA-zpFpWKc3.js} +1 -1
- package/dist/rcs-web/assets/{vennDiagram-CIIHVFJN-C4fDmd1A.js → vennDiagram-CIIHVFJN-Ld8wzoVI.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-DkMeB_0t.js → dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-iCj-ntht.js} +1 -1
- package/dist/rcs-web/assets/{xychartDiagram-2RQKCTM6-BG-VBnW8.js → xychartDiagram-2RQKCTM6-DAAD572L.js} +1 -1
- package/dist/rcs-web/index.html +1 -1
- package/package.json +2 -2
- package/packages/remote-control-server/src/auth/middleware.ts +24 -3
- package/packages/remote-control-server/src/services/disconnect-monitor.ts +32 -1
- package/packages/remote-control-server/src/services/session.ts +17 -0
- package/packages/remote-control-server/web/dist/assets/Dashboard-ClYYELch.js +2 -0
- package/packages/remote-control-server/web/dist/assets/{SessionDetail-CWUE75ns.js → SessionDetail-D5dCDgDF.js} +3 -3
- package/{dist/rcs-web/assets/arc-4X1dRN53.js → packages/remote-control-server/web/dist/assets/arc-7lPfYTKR.js} +1 -1
- package/{dist/rcs-web/assets/architectureDiagram-3BPJPVTR-D3w_Tg5M.js → packages/remote-control-server/web/dist/assets/architectureDiagram-3BPJPVTR-CLhFlBW3.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{blockDiagram-GPEHLZMM-8wHRy2A9.js → blockDiagram-GPEHLZMM-CRxDmTyw.js} +1 -1
- package/{dist/rcs-web/assets/c4Diagram-AAUBKEIU-9bNKHWdC.js → packages/remote-control-server/web/dist/assets/c4Diagram-AAUBKEIU-GhUzyEB2.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/channel-DqKk-agI.js +1 -0
- package/packages/remote-control-server/web/dist/assets/{chunk-2J33WTMH-DgoVnl2j.js → chunk-2J33WTMH-CdFwFvWI.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-4BX2VUAB-DvIfpz6o.js → chunk-4BX2VUAB-Bxyari7X.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-55IACEB6-BJXtiicU.js → chunk-55IACEB6-B6itQfF-.js} +1 -1
- package/{dist/rcs-web/assets/chunk-727SXJPM-BLXUmKhM.js → packages/remote-control-server/web/dist/assets/chunk-727SXJPM-28bp6QhF.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-AQP2D5EJ-xIzfWsyC.js → chunk-AQP2D5EJ-Cin2Flu9.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-FMBD7UC4-OXv4Udby.js → chunk-FMBD7UC4-Bgh51Lft.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-ND2GUHAM-CInuJb7w.js → chunk-ND2GUHAM-BmlO4Ydq.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-QZHKN3VN-D9OXcbtl.js → chunk-QZHKN3VN-sJrTY76r.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-DXYJPE0n.js +1 -0
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-DXYJPE0n.js +1 -0
- package/packages/remote-control-server/web/dist/assets/{code-block-IT6T5CEO-DIoba4-y.js → code-block-IT6T5CEO-C_zrs-gT.js} +1 -1
- package/{dist/rcs-web/assets/cose-bilkent-S5V4N54A-Bs-352tg.js → packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A-B6rTlH08.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{dagre-BM42HDAG-B9mWsnfD.js → dagre-BM42HDAG-_wl_w4u8.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-2AECGRRQ-BiVjJxYN.js → diagram-2AECGRRQ-CAM1F0zx.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-5GNKFQAL-yAsJs_ln.js → diagram-5GNKFQAL-RsfXB4M5.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-KO2AKTUF-Dud1LRRq.js → diagram-KO2AKTUF-DgE4Jvy8.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-LMA3HP47-iPzKx6av.js → diagram-LMA3HP47-btrs7dz6.js} +1 -1
- package/{dist/rcs-web/assets/diagram-OG6HWLK6-DJgCZbOs.js → packages/remote-control-server/web/dist/assets/diagram-OG6HWLK6-B81c8jdJ.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{erDiagram-TEJ5UH35-BGznRS63.js → erDiagram-TEJ5UH35-DL-CzHVd.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{flowDiagram-I6XJVG4X-UfxMnrX8.js → flowDiagram-I6XJVG4X-Cl-2EwXo.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ganttDiagram-6RSMTGT7-BkaC26kQ.js → ganttDiagram-6RSMTGT7-BEUqhgIP.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{gitGraphDiagram-PVQCEYII-mONxtC7R.js → gitGraphDiagram-PVQCEYII-DeeVgqUk.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{infoDiagram-5YYISTIA-8aruATa_.js → infoDiagram-5YYISTIA-DPqTmZOu.js} +1 -1
- package/{dist/rcs-web/assets/ishikawaDiagram-YF4QCWOH-DkJ7Cpbg.js → packages/remote-control-server/web/dist/assets/ishikawaDiagram-YF4QCWOH-5YBKCgSx.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{journeyDiagram-JHISSGLW-BiIIuQpY.js → journeyDiagram-JHISSGLW-AnSqa6Hq.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{kanban-definition-UN3LZRKU-D6wU_tk_.js → kanban-definition-UN3LZRKU-W7cAy0RU.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{linear-DjOGLk2Z.js → linear-QvmQRsBx.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/main-UBLYspes.js +283 -0
- package/packages/remote-control-server/web/dist/assets/{mermaid-VLURNSYL-kyqcLTJM.js → mermaid-VLURNSYL-Dn1LM1yF.js} +4 -4
- package/packages/remote-control-server/web/dist/assets/{mermaid.core-slLRH1UY.js → mermaid.core-C0ceVHNj.js} +5 -5
- package/packages/remote-control-server/web/dist/assets/{mindmap-definition-RKZ34NQL-B8y1-NqM.js → mindmap-definition-RKZ34NQL-Crj88n-9.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{pieDiagram-4H26LBE5-DwiQtzbN.js → pieDiagram-4H26LBE5-Boh89MZl.js} +1 -1
- package/{dist/rcs-web/assets/quadrantDiagram-W4KKPZXB-Den6wpfP.js → packages/remote-control-server/web/dist/assets/quadrantDiagram-W4KKPZXB-B1hrNv25.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{requirementDiagram-4Y6WPE33-DBw4144P.js → requirementDiagram-4Y6WPE33-B6BlGzlU.js} +1 -1
- package/{dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-C-wqrDCa.js → packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-BdNcjCvy.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{sequenceDiagram-3UESZ5HK-D83w2C-G.js → sequenceDiagram-3UESZ5HK-J9khnYhK.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{stateDiagram-AJRCARHV-DLtB2UCO.js → stateDiagram-AJRCARHV-iaQJb8kI.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{stateDiagram-v2-BHNVJYJU-BHas-vfa.js → stateDiagram-v2-BHNVJYJU-CZgBPZ4e.js} +1 -1
- package/{dist/rcs-web/assets/timeline-definition-PNZ67QCA-BbEI1m1M.js → packages/remote-control-server/web/dist/assets/timeline-definition-PNZ67QCA-zpFpWKc3.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{vennDiagram-CIIHVFJN-C4fDmd1A.js → vennDiagram-CIIHVFJN-Ld8wzoVI.js} +1 -1
- package/{dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-DkMeB_0t.js → packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-iCj-ntht.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{xychartDiagram-2RQKCTM6-BG-VBnW8.js → xychartDiagram-2RQKCTM6-DAAD572L.js} +1 -1
- package/packages/remote-control-server/web/dist/index.html +1 -1
- package/dist/rcs-web/assets/Dashboard-BiApZyPx.js +0 -2
- package/dist/rcs-web/assets/channel-D0E2lnim.js +0 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-CHy833tj.js +0 -1
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-CHy833tj.js +0 -1
- package/dist/rcs-web/assets/main-5uxJJ_sE.js +0 -283
- package/dist/rcs-web/assets/workerType-Bd-zteMi.js +0 -1
- package/packages/remote-control-server/web/dist/assets/Dashboard-BiApZyPx.js +0 -2
- package/packages/remote-control-server/web/dist/assets/channel-D0E2lnim.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-CHy833tj.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-CHy833tj.js +0 -1
- package/packages/remote-control-server/web/dist/assets/main-5uxJJ_sE.js +0 -283
- package/packages/remote-control-server/web/dist/assets/workerType-Bd-zteMi.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function n(t){return t==="acp"?{shortLabel:"ACP",fullLabel:"ACP Agent",colorClass:"bg-brand/15 text-brand"}:t==="repl"?{shortLabel:"REPL",fullLabel:"Saluzi REPL",colorClass:"bg-status-running/15 text-status-running"}:t==="saluzi"?{shortLabel:"Daemon",fullLabel:"RCS Daemon",colorClass:"bg-status-running/15 text-status-running"}:{shortLabel:t||"Unknown",fullLabel:t||"Unknown",colorClass:"bg-surface-2 text-text-muted"}}export{n as g};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,e as a}from"./vendor-DE_-CLIE.js";import{j as N,B as C,I as w,D as S,e as E,g as T,h as D,f as L,m as W,O as M,M as _,o as O,p as F,K as R,n as B}from"./main-5uxJJ_sE.js";import{g as v}from"./workerType-Bd-zteMi.js";import"./shiki-mEP5vQQu.js";import"./qr-C0jP9HcD.js";import"./motion-BILbV7YQ.js";function I({environments:n,onSelectEnvironment:l}){return!n||n.length===0?e.jsx("div",{className:"rounded-xl border border-border bg-surface-1 p-8 text-center text-text-muted",children:"No active environments"}):e.jsx("div",{className:"space-y-2",children:n.map(o=>{const d=o.worker_type==="acp",c=v(o.worker_type),p=c.fullLabel,t=c.colorClass;return e.jsxs("button",{type:"button",onClick:()=>l==null?void 0:l(o),disabled:d,className:`flex w-full items-center justify-between rounded-xl border border-border bg-surface-1 px-4 py-3 text-left transition-colors ${d?"cursor-default opacity-80":"hover:border-border-light cursor-pointer"}`,children:[e.jsx("div",{className:"flex items-center gap-3",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-text-primary",children:o.machine_name||o.id}),e.jsx("span",{className:`rounded-full px-2 py-0.5 text-xs font-medium ${t}`,children:p})]}),e.jsx("div",{className:"text-sm text-text-muted",children:o.directory||""})]})}),e.jsxs("div",{className:"text-right",children:[e.jsx(N,{status:o.status}),e.jsx("div",{className:"mt-1 text-xs text-text-muted",children:o.branch||""})]})]},o.id)})})}function K({sessions:n,environments:l,onSelect:o,onDelete:d}){if(!n||n.length===0)return e.jsx("div",{className:"rounded-xl border border-border bg-surface-1 p-8 text-center text-text-muted",children:"No sessions"});const c=new Map;for(const t of l??[])t!=null&&t.id&&t.worker_type&&c.set(t.id,t.worker_type);const p=[...n].sort((t,i)=>(i.updated_at||0)-(t.updated_at||0));return e.jsx("div",{className:"space-y-2",children:p.map(t=>e.jsxs("div",{className:"group flex w-full items-center justify-between rounded-xl border border-border bg-surface-1 px-4 py-3 text-left transition-colors hover:border-border-light hover:bg-surface-2",children:[e.jsxs("button",{type:"button",onClick:()=>o(t.id),className:"min-w-0 flex-1 text-left",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"truncate font-medium text-text-primary",children:t.title||t.id}),(()=>{var f;let i=t.source==="acp"?"acp":(f=t.environment)==null?void 0:f.worker_type;!i&&t.environment_id&&(i=c.get(t.environment_id));const b=v(i);return e.jsx("span",{className:`rounded-full px-2 py-0.5 text-xs font-medium ${b.colorClass}`,children:b.fullLabel})})()]}),e.jsx("div",{className:"truncate text-xs text-text-muted",children:t.id})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(N,{status:t.status}),e.jsx("span",{className:"text-xs text-text-muted",children:C(t.created_at||t.updated_at)}),d&&e.jsx("button",{type:"button",onClick:i=>{i.stopPropagation(),d(t.id)},className:"rounded p-1 text-text-muted opacity-0 transition-all hover:text-status-error group-hover:opacity-100",title:"Delete session",children:e.jsx("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]},t.id))})}function $({open:n,environments:l,onClose:o,onCreated:d}){const[c,p]=a.useState(""),[t,i]=a.useState(""),[b,f]=a.useState("same-dir"),[g,j]=a.useState(""),[s,m]=a.useState(""),[u,y]=a.useState(!1);a.useEffect(()=>{n&&(p(""),i(""),f("same-dir"),j(""),m(""))},[n]),a.useEffect(()=>{if(!t){j("");return}const r=w(t);j(r??"")},[t]);const x=async()=>{y(!0),m("");try{const r={};c.trim()&&(r.title=c.trim()),t&&(r.environment_id=t),r.spawn_mode=b,g.trim()&&(r.worker_token=g.trim());const k=await W(r);g.trim()&&t&&M(t,g.trim()),_(k.id,t||k.environment_id),d(k)}catch(r){m(r instanceof Error?r.message:"Failed to create session")}finally{y(!1)}},h=l.find(r=>r.id===t);return e.jsx(S,{open:n,onOpenChange:r=>{r||o()},children:e.jsxs(E,{className:"max-w-md rounded-2xl border-border bg-surface-1 p-6 shadow-2xl",children:[e.jsx(T,{children:e.jsx(D,{className:"font-display text-lg font-semibold text-text-primary",children:"New Session"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm text-text-secondary",children:"Title (optional)"}),e.jsx("input",{type:"text",value:c,onChange:r=>p(r.target.value),placeholder:"My session",className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary placeholder:text-text-muted focus:border-brand focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm text-text-secondary",children:"Environment"}),e.jsxs("select",{value:t,onChange:r=>i(r.target.value),className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary focus:border-brand focus:outline-none",children:[e.jsx("option",{value:"",children:"-- None --"}),l.map(r=>{const k=v(r.worker_type).shortLabel;return e.jsxs("option",{value:r.id,children:[r.machine_name||r.id," (",r.branch||"no branch",") · ",k,r.has_worker_token?" · protected":""]},r.id)})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm text-text-secondary",children:"Workspace Mode"}),e.jsxs("select",{value:b,onChange:r=>f(r.target.value),className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary focus:border-brand focus:outline-none",children:[e.jsx("option",{value:"same-dir",children:"工作区 (same-dir) — sessions share the directory"}),e.jsx("option",{value:"worktree",children:"工作树 (worktree) — each session gets an isolated git worktree"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm text-text-secondary",children:"Worker Token"}),e.jsx("input",{type:"password",value:g,onChange:r=>j(r.target.value),placeholder:h!=null&&h.has_worker_token?"RCS_WORKER_TOKENS value":"No token required (open environment)",className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary placeholder:text-text-muted focus:border-brand focus:outline-none font-mono"}),e.jsx("p",{className:"mt-1 text-xs text-text-muted",children:h!=null&&h.has_worker_token?"该 environment 受 RCS_WORKER_TOKENS 保护。输入后会自动保存,下次创建同 environment 的会话时自动填入。":"该 environment 未设置 worker token,留空即可。"})]}),s&&e.jsx("div",{className:"text-sm text-status-error",children:s})]}),e.jsxs(L,{children:[e.jsx("button",{onClick:o,className:"rounded-lg border border-border px-4 py-2 text-sm text-text-secondary hover:bg-surface-2 transition-colors",children:"Cancel"}),e.jsx("button",{onClick:x,disabled:u,className:"rounded-lg bg-brand px-4 py-2 text-sm font-medium text-white hover:bg-brand-light disabled:opacity-50 transition-colors",children:u?"Creating...":"Create"})]})]})})}function J({onNavigateSession:n}){const[l,o]=a.useState([]),[d,c]=a.useState([]),[p,t]=a.useState(!1),i=a.useCallback(async()=>{try{const[s,m]=await Promise.all([O(),F()]),u=s||[],y=m||[];for(const x of u)_(x.id,x.environment_id);R(u),o(u),c(y)}catch(s){console.error("Dashboard render error:",s)}},[]);a.useEffect(()=>{i();const s=setInterval(i,1e4);return()=>clearInterval(s)},[i]);const b=s=>{t(!1),n(s.id)},f=a.useCallback(s=>{},[]),g=a.useCallback(s=>{n(s)},[n]),j=a.useCallback(async s=>{const m=l.find(x=>x.id===s),u=m==null?void 0:m.environment_id,y=w(u);if(u&&!y){alert(`该会话的 environment 受 worker token 保护,但本地未保存对应 token。
|
|
2
|
-
请点击导航栏 Token → Worker Tokens 添加该 environment 的 worker token 后再删除。`);return}if(window.confirm(`删除会话 ${s}?此操作不可恢复。`))try{await B(s),o(x=>x.filter(h=>h.id!==s))}catch(x){alert(x instanceof Error?x.message:"Failed to delete session")}},[l]);return e.jsxs("div",{className:"mx-auto max-w-5xl px-4 py-8",children:[e.jsx("h1",{className:"sr-only",children:"Dashboard"}),e.jsxs("section",{className:"mb-10",children:[e.jsx("h2",{className:"mb-4 font-display text-lg font-semibold text-text-primary",children:"Environments"}),e.jsx(I,{environments:d,onSelectEnvironment:f})]}),e.jsxs("section",{children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("h2",{className:"font-display text-lg font-semibold text-text-primary",children:"Sessions"}),e.jsx("button",{onClick:()=>t(!0),className:"rounded-lg bg-brand px-3 py-1.5 text-sm font-medium text-white hover:bg-brand-light transition-colors",children:"+ New Session"})]}),e.jsx(K,{sessions:l,environments:d,onSelect:g,onDelete:j})]}),e.jsx($,{open:p,environments:d,onClose:()=>t(!1),onCreated:b})]})}export{J as Dashboard};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-slLRH1UY.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,a as s,c as t,C as e}from"./chunk-727SXJPM-BLXUmKhM.js";import{b as i}from"./mermaid.core-slLRH1UY.js";import"./chunk-FMBD7UC4-OXv4Udby.js";import"./chunk-ND2GUHAM-CInuJb7w.js";import"./chunk-55IACEB6-BJXtiicU.js";import"./chunk-2J33WTMH-DgoVnl2j.js";import"./shiki-mEP5vQQu.js";import"./vendor-DE_-CLIE.js";import"./mermaid-VLURNSYL-kyqcLTJM.js";import"./main-5uxJJ_sE.js";import"./qr-C0jP9HcD.js";import"./motion-BILbV7YQ.js";var w={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{w as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,a as s,c as t,C as e}from"./chunk-727SXJPM-BLXUmKhM.js";import{b as i}from"./mermaid.core-slLRH1UY.js";import"./chunk-FMBD7UC4-OXv4Udby.js";import"./chunk-ND2GUHAM-CInuJb7w.js";import"./chunk-55IACEB6-BJXtiicU.js";import"./chunk-2J33WTMH-DgoVnl2j.js";import"./shiki-mEP5vQQu.js";import"./vendor-DE_-CLIE.js";import"./mermaid-VLURNSYL-kyqcLTJM.js";import"./main-5uxJJ_sE.js";import"./qr-C0jP9HcD.js";import"./motion-BILbV7YQ.js";var w={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{w as diagram};
|