@saluzi/saluzi-edu 0.2.3 → 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-BjLgSBGe.js → Dashboard-ClYYELch.js} +1 -1
- package/dist/rcs-web/assets/{SessionDetail-CruRK24e.js → SessionDetail-D5dCDgDF.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/arc-CrOXzA8z.js → dist/rcs-web/assets/arc-7lPfYTKR.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/architectureDiagram-3BPJPVTR-DuqRXyIw.js → dist/rcs-web/assets/architectureDiagram-3BPJPVTR-CLhFlBW3.js} +1 -1
- package/dist/rcs-web/assets/{blockDiagram-GPEHLZMM-DXIr9X16.js → blockDiagram-GPEHLZMM-CRxDmTyw.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/c4Diagram-AAUBKEIU-CZ-In_ld.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-DBlf3wf4.js → chunk-2J33WTMH-CdFwFvWI.js} +1 -1
- package/dist/rcs-web/assets/{chunk-4BX2VUAB-BT5ihCmq.js → chunk-4BX2VUAB-Bxyari7X.js} +1 -1
- package/dist/rcs-web/assets/{chunk-55IACEB6-royQmypD.js → chunk-55IACEB6-B6itQfF-.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/chunk-727SXJPM-DRB3M5lQ.js → dist/rcs-web/assets/chunk-727SXJPM-28bp6QhF.js} +1 -1
- package/dist/rcs-web/assets/{chunk-AQP2D5EJ-DW5gI14p.js → chunk-AQP2D5EJ-Cin2Flu9.js} +1 -1
- package/dist/rcs-web/assets/{chunk-FMBD7UC4-DmyrNfml.js → chunk-FMBD7UC4-Bgh51Lft.js} +1 -1
- package/dist/rcs-web/assets/{chunk-ND2GUHAM-BBWD_dZm.js → chunk-ND2GUHAM-BmlO4Ydq.js} +1 -1
- package/dist/rcs-web/assets/{chunk-QZHKN3VN-BWCGFw9J.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-DkWGV1LC.js → code-block-IT6T5CEO-C_zrs-gT.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A--hX8gn8J.js → dist/rcs-web/assets/cose-bilkent-S5V4N54A-B6rTlH08.js} +1 -1
- package/dist/rcs-web/assets/{dagre-BM42HDAG-B8qDaDD5.js → dagre-BM42HDAG-_wl_w4u8.js} +1 -1
- package/dist/rcs-web/assets/{diagram-2AECGRRQ-2sX5H1Xt.js → diagram-2AECGRRQ-CAM1F0zx.js} +1 -1
- package/dist/rcs-web/assets/{diagram-5GNKFQAL-FLLyF0xn.js → diagram-5GNKFQAL-RsfXB4M5.js} +1 -1
- package/dist/rcs-web/assets/{diagram-KO2AKTUF-CvHr1zie.js → diagram-KO2AKTUF-DgE4Jvy8.js} +1 -1
- package/dist/rcs-web/assets/{diagram-LMA3HP47-PjhDCqWG.js → diagram-LMA3HP47-btrs7dz6.js} +1 -1
- package/dist/rcs-web/assets/{diagram-OG6HWLK6-Bh0CGmhG.js → diagram-OG6HWLK6-B81c8jdJ.js} +1 -1
- package/dist/rcs-web/assets/{erDiagram-TEJ5UH35-DdhPUNhs.js → erDiagram-TEJ5UH35-DL-CzHVd.js} +1 -1
- package/dist/rcs-web/assets/{flowDiagram-I6XJVG4X-DDoYcc-o.js → flowDiagram-I6XJVG4X-Cl-2EwXo.js} +1 -1
- package/dist/rcs-web/assets/{ganttDiagram-6RSMTGT7-mG8bRCFp.js → ganttDiagram-6RSMTGT7-BEUqhgIP.js} +1 -1
- package/dist/rcs-web/assets/{gitGraphDiagram-PVQCEYII-r-matTCu.js → gitGraphDiagram-PVQCEYII-DeeVgqUk.js} +1 -1
- package/dist/rcs-web/assets/{infoDiagram-5YYISTIA-C9z9HgPv.js → infoDiagram-5YYISTIA-DPqTmZOu.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ishikawaDiagram-YF4QCWOH-Bqj7zMWp.js → dist/rcs-web/assets/ishikawaDiagram-YF4QCWOH-5YBKCgSx.js} +1 -1
- package/dist/rcs-web/assets/{journeyDiagram-JHISSGLW-BatnAUtx.js → journeyDiagram-JHISSGLW-AnSqa6Hq.js} +1 -1
- package/dist/rcs-web/assets/{kanban-definition-UN3LZRKU-M5Z4A6zF.js → kanban-definition-UN3LZRKU-W7cAy0RU.js} +1 -1
- package/dist/rcs-web/assets/{linear-7g0gh_s4.js → linear-QvmQRsBx.js} +1 -1
- package/dist/rcs-web/assets/main-UBLYspes.js +283 -0
- package/dist/rcs-web/assets/{mermaid-VLURNSYL-C_e5Vkmm.js → mermaid-VLURNSYL-Dn1LM1yF.js} +4 -4
- package/dist/rcs-web/assets/{mermaid.core-BqN6IVxp.js → mermaid.core-C0ceVHNj.js} +5 -5
- package/dist/rcs-web/assets/{mindmap-definition-RKZ34NQL-OVu38HYw.js → mindmap-definition-RKZ34NQL-Crj88n-9.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/pieDiagram-4H26LBE5-W3fqeMGS.js → dist/rcs-web/assets/pieDiagram-4H26LBE5-Boh89MZl.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/quadrantDiagram-W4KKPZXB-DAXlPFus.js → dist/rcs-web/assets/quadrantDiagram-W4KKPZXB-B1hrNv25.js} +1 -1
- package/dist/rcs-web/assets/{requirementDiagram-4Y6WPE33-DnByCurZ.js → requirementDiagram-4Y6WPE33-B6BlGzlU.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-pRjQ5CvU.js → dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-BdNcjCvy.js} +1 -1
- package/dist/rcs-web/assets/{sequenceDiagram-3UESZ5HK-CRNEGhTF.js → sequenceDiagram-3UESZ5HK-J9khnYhK.js} +1 -1
- package/dist/rcs-web/assets/{stateDiagram-AJRCARHV-Btaq-01j.js → stateDiagram-AJRCARHV-iaQJb8kI.js} +1 -1
- package/dist/rcs-web/assets/{stateDiagram-v2-BHNVJYJU-BIaHdJLR.js → stateDiagram-v2-BHNVJYJU-CZgBPZ4e.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/timeline-definition-PNZ67QCA-dOdpmXck.js → dist/rcs-web/assets/timeline-definition-PNZ67QCA-zpFpWKc3.js} +1 -1
- package/dist/rcs-web/assets/{vennDiagram-CIIHVFJN-7VD_vmAe.js → vennDiagram-CIIHVFJN-Ld8wzoVI.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-B0kguESu.js → dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-iCj-ntht.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/xychartDiagram-2RQKCTM6-D6clBho1.js → dist/rcs-web/assets/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-BjLgSBGe.js → Dashboard-ClYYELch.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{SessionDetail-CruRK24e.js → SessionDetail-D5dCDgDF.js} +1 -1
- package/{dist/rcs-web/assets/arc-CrOXzA8z.js → packages/remote-control-server/web/dist/assets/arc-7lPfYTKR.js} +1 -1
- package/{dist/rcs-web/assets/architectureDiagram-3BPJPVTR-DuqRXyIw.js → packages/remote-control-server/web/dist/assets/architectureDiagram-3BPJPVTR-CLhFlBW3.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{blockDiagram-GPEHLZMM-DXIr9X16.js → blockDiagram-GPEHLZMM-CRxDmTyw.js} +1 -1
- package/{dist/rcs-web/assets/c4Diagram-AAUBKEIU-CZ-In_ld.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-DBlf3wf4.js → chunk-2J33WTMH-CdFwFvWI.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-4BX2VUAB-BT5ihCmq.js → chunk-4BX2VUAB-Bxyari7X.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-55IACEB6-royQmypD.js → chunk-55IACEB6-B6itQfF-.js} +1 -1
- package/{dist/rcs-web/assets/chunk-727SXJPM-DRB3M5lQ.js → packages/remote-control-server/web/dist/assets/chunk-727SXJPM-28bp6QhF.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-AQP2D5EJ-DW5gI14p.js → chunk-AQP2D5EJ-Cin2Flu9.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-FMBD7UC4-DmyrNfml.js → chunk-FMBD7UC4-Bgh51Lft.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-ND2GUHAM-BBWD_dZm.js → chunk-ND2GUHAM-BmlO4Ydq.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-QZHKN3VN-BWCGFw9J.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-DkWGV1LC.js → code-block-IT6T5CEO-C_zrs-gT.js} +1 -1
- package/{dist/rcs-web/assets/cose-bilkent-S5V4N54A--hX8gn8J.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-B8qDaDD5.js → dagre-BM42HDAG-_wl_w4u8.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-2AECGRRQ-2sX5H1Xt.js → diagram-2AECGRRQ-CAM1F0zx.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-5GNKFQAL-FLLyF0xn.js → diagram-5GNKFQAL-RsfXB4M5.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-KO2AKTUF-CvHr1zie.js → diagram-KO2AKTUF-DgE4Jvy8.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-LMA3HP47-PjhDCqWG.js → diagram-LMA3HP47-btrs7dz6.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-OG6HWLK6-Bh0CGmhG.js → diagram-OG6HWLK6-B81c8jdJ.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{erDiagram-TEJ5UH35-DdhPUNhs.js → erDiagram-TEJ5UH35-DL-CzHVd.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{flowDiagram-I6XJVG4X-DDoYcc-o.js → flowDiagram-I6XJVG4X-Cl-2EwXo.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ganttDiagram-6RSMTGT7-mG8bRCFp.js → ganttDiagram-6RSMTGT7-BEUqhgIP.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{gitGraphDiagram-PVQCEYII-r-matTCu.js → gitGraphDiagram-PVQCEYII-DeeVgqUk.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{infoDiagram-5YYISTIA-C9z9HgPv.js → infoDiagram-5YYISTIA-DPqTmZOu.js} +1 -1
- package/{dist/rcs-web/assets/ishikawaDiagram-YF4QCWOH-Bqj7zMWp.js → packages/remote-control-server/web/dist/assets/ishikawaDiagram-YF4QCWOH-5YBKCgSx.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{journeyDiagram-JHISSGLW-BatnAUtx.js → journeyDiagram-JHISSGLW-AnSqa6Hq.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{kanban-definition-UN3LZRKU-M5Z4A6zF.js → kanban-definition-UN3LZRKU-W7cAy0RU.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{linear-7g0gh_s4.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-C_e5Vkmm.js → mermaid-VLURNSYL-Dn1LM1yF.js} +4 -4
- package/packages/remote-control-server/web/dist/assets/{mermaid.core-BqN6IVxp.js → mermaid.core-C0ceVHNj.js} +5 -5
- package/packages/remote-control-server/web/dist/assets/{mindmap-definition-RKZ34NQL-OVu38HYw.js → mindmap-definition-RKZ34NQL-Crj88n-9.js} +1 -1
- package/{dist/rcs-web/assets/pieDiagram-4H26LBE5-W3fqeMGS.js → packages/remote-control-server/web/dist/assets/pieDiagram-4H26LBE5-Boh89MZl.js} +1 -1
- package/{dist/rcs-web/assets/quadrantDiagram-W4KKPZXB-DAXlPFus.js → packages/remote-control-server/web/dist/assets/quadrantDiagram-W4KKPZXB-B1hrNv25.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{requirementDiagram-4Y6WPE33-DnByCurZ.js → requirementDiagram-4Y6WPE33-B6BlGzlU.js} +1 -1
- package/{dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-pRjQ5CvU.js → packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-BdNcjCvy.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{sequenceDiagram-3UESZ5HK-CRNEGhTF.js → sequenceDiagram-3UESZ5HK-J9khnYhK.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{stateDiagram-AJRCARHV-Btaq-01j.js → stateDiagram-AJRCARHV-iaQJb8kI.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{stateDiagram-v2-BHNVJYJU-BIaHdJLR.js → stateDiagram-v2-BHNVJYJU-CZgBPZ4e.js} +1 -1
- package/{dist/rcs-web/assets/timeline-definition-PNZ67QCA-dOdpmXck.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-7VD_vmAe.js → vennDiagram-CIIHVFJN-Ld8wzoVI.js} +1 -1
- package/{dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-B0kguESu.js → packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-iCj-ntht.js} +1 -1
- package/{dist/rcs-web/assets/xychartDiagram-2RQKCTM6-D6clBho1.js → packages/remote-control-server/web/dist/assets/xychartDiagram-2RQKCTM6-DAAD572L.js} +1 -1
- package/packages/remote-control-server/web/dist/index.html +1 -1
- package/dist/rcs-web/assets/channel-DDF8LJWa.js +0 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-DrPr7R0m.js +0 -1
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-DrPr7R0m.js +0 -1
- package/dist/rcs-web/assets/main-kYahqh88.js +0 -283
- package/packages/remote-control-server/web/dist/assets/channel-DDF8LJWa.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-DrPr7R0m.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-DrPr7R0m.js +0 -1
- package/packages/remote-control-server/web/dist/assets/main-kYahqh88.js +0 -283
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e,e as a}from"./vendor-DE_-CLIE.js";import{J as v,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,P as M,N as _,o as F,p as O,M as R,n as B}from"./main-
|
|
1
|
+
import{j as e,e as a}from"./vendor-DE_-CLIE.js";import{J as v,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,P as M,N as _,o as F,p as O,M as R,n as B}from"./main-UBLYspes.js";import"./shiki-mEP5vQQu.js";import"./qr-C0jP9HcD.js";import"./motion-BILbV7YQ.js";function I({environments:n,onSelectEnvironment:i}){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:()=>i==null?void 0:i(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:i,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 i??[])t!=null&&t.id&&t.worker_type&&c.set(t.id,t.worker_type);const p=[...n].sort((t,l)=>(l.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 l=t.source==="acp"?"acp":(f=t.environment)==null?void 0:f.worker_type;!l&&t.environment_id&&(l=c.get(t.environment_id));const b=v(l);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:l=>{l.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:i,onClose:o,onCreated:d}){const[c,p]=a.useState(""),[t,l]=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(""),l(""),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=i.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=>l(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 --"}),i.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 z({onNavigateSession:n}){const[i,o]=a.useState([]),[d,c]=a.useState([]),[p,t]=a.useState(!1),l=a.useCallback(async()=>{try{const[s,m]=await Promise.all([F(),O()]),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(()=>{l();const s=setInterval(l,1e4);return()=>clearInterval(s)},[l]);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=i.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
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")}},[i]);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:i,environments:d,onSelect:g,onDelete:j})]}),e.jsx($,{open:p,environments:d,onClose:()=>t(!1),onCreated:b})]})}export{z as Dashboard};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var de=Object.defineProperty;var ue=(s,t,n)=>t in s?de(s,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[t]=n;var S=(s,t,n)=>ue(s,typeof t!="symbol"?t+"":t,n);import{e as h,j as e}from"./vendor-DE_-CLIE.js";import{x as A,l as me,r as xe,u as pe,E as he,t as P,s as fe,G as ye,H as B,D as ge,e as be,g as je,h as ke,j as Y,B as G,L as X,k as we,S as Ne,z as $,w as q,d as ve,Q as _e,A as Se,F as Ce,R as Me,y as Ee,I as Te,n as $e,O as Ae,T as Z,c as Ie,C as Re,q as Pe,N as qe,M as De,b as Ue,K as Oe,i as Fe,a as Be,J as We}from"./main-
|
|
1
|
+
var de=Object.defineProperty;var ue=(s,t,n)=>t in s?de(s,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[t]=n;var S=(s,t,n)=>ue(s,typeof t!="symbol"?t+"":t,n);import{e as h,j as e}from"./vendor-DE_-CLIE.js";import{x as A,l as me,r as xe,u as pe,E as he,t as P,s as fe,G as ye,H as B,D as ge,e as be,g as je,h as ke,j as Y,B as G,L as X,k as we,S as Ne,z as $,w as q,d as ve,Q as _e,A as Se,F as Ce,R as Me,y as Ee,I as Te,n as $e,O as Ae,T as Z,c as Ie,C as Re,q as Pe,N as qe,M as De,b as Ue,K as Oe,i as Fe,a as Be,J as We}from"./main-UBLYspes.js";import"./shiki-mEP5vQQu.js";import"./qr-C0jP9HcD.js";import"./motion-BILbV7YQ.js";/**
|
|
2
2
|
* @license lucide-react v0.555.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bl as ln,aO as an,H as z,b8 as w,F as G,ah as un,W as y,bd as tn,b9 as J,aI as _,c as rn,m as o,aG as on,j as sn,d as fn}from"./mermaid.core-
|
|
1
|
+
import{bl as ln,aO as an,H as z,b8 as w,F as G,ah as un,W as y,bd as tn,b9 as J,aI as _,c as rn,m as o,aG as on,j as sn,d as fn}from"./mermaid.core-C0ceVHNj.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,j,I,v,A,H,a){var q=j-l,i=I-h,n=H-v,d=a-A,u=d*q-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*q,h+u*i]}function U(l,h,j,I,v,A,H){var a=l-j,q=h-I,i=(H?A:-A)/J(a*a+q*q),n=i*q,d=-i*a,u=l+n,s=h+d,f=j+n,c=I+d,S=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,D=(g<0?-1:1)*J(on(0,T*T*R-P*P)),E=(P*g-m*D)/R,F=(-P*m-g*D)/R,b=(P*g+m*D)/R,p=(-P*m+g*D)/R,x=E-S,e=F-t,r=b-S,W=p-t;return x*x+e*e>r*r+W*W&&(E=b,F=p),{cx:E,cy:F,x01:-n,y01:-d,x11:E*(v/T-1),y11:F*(v/T-1)}}function hn(){var l=cn,h=yn,j=G(0),I=null,v=gn,A=dn,H=mn,a=null,q=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,S=rn(c-f),t=c>f;if(a||(a=n=q()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(S>tn-y)a.moveTo(s*z(f),s*w(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*z(c),u*w(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=S,D=S,E=H.apply(this,arguments)/2,F=E>y&&(I?+I.apply(this,arguments):J(u*u+s*s)),b=_(rn(s-u)/2,+j.apply(this,arguments)),p=b,x=b,e,r;if(F>y){var W=sn(F/u*w(E)),K=sn(F/s*w(E));(P-=W*2)>y?(W*=t?1:-1,R+=W,T-=W):(P=0,R=T=(f+c)/2),(D-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(D=0,m=g=(f+c)/2)}var B=s*z(m),C=s*w(m),L=u*z(T),M=u*w(T);if(b>y){var N=s*z(g),Q=s*w(g),V=u*z(R),X=u*w(R),O;if(S<an)if(O=pn(B,C,V,X,N,Q,L,M)){var Y=B-O[0],Z=C-O[1],$=N-O[0],k=Q-O[1],nn=1/w(fn((Y*$+Z*k)/(J(Y*Y+Z*Z)*J($*$+k*k)))/2),en=J(O[0]*O[0]+O[1]*O[1]);p=_(b,(u-en)/(nn-1)),x=_(b,(s-en)/(nn+1))}else p=x=0}D>y?x>y?(e=U(V,X,B,C,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<b?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(B,C),a.arc(0,0,s,m,g,!t)):a.moveTo(B,C),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(B,C,V,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<b?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[z(d)*n,w(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:G(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:G(+n),i):h},i.cornerRadius=function(n){return arguments.length?(j=typeof n=="function"?n:G(+n),i):j},i.padRadius=function(n){return arguments.length?(I=n==null?null:typeof n=="function"?n:G(+n),i):I},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:G(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:G(+n),i):A},i.padAngle=function(n){return arguments.length?(H=typeof n=="function"?n:G(+n),i):H},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|