@av-pi-studio/web-client 0.0.117 → 0.0.118
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 +12 -12
- package/dist/web/assets/BinaryFallbackViewer-6oStgFbx.js +1 -0
- package/dist/web/assets/{ChatPanel-Dh8HDToX.js → ChatPanel-BVw71R5q.js} +5 -5
- package/dist/web/assets/CodeView-DBvTM0BW.js +1 -0
- package/dist/web/assets/{DiffView-H0nfCGhg.js → DiffView-Bp1YwIcs.js} +1 -1
- package/dist/web/assets/FilePanel-Bl5ytI3U.js +1 -0
- package/dist/web/assets/HtmlViewer-D52zbW1I.js +1 -0
- package/dist/web/assets/ImageViewer-DyQNZCKd.js +1 -0
- package/dist/web/assets/MarkdownFileViewer-BZJbZEGK.js +1 -0
- package/dist/web/assets/ModelProvidersPanel-DoQ6F0J7.js +1 -0
- package/dist/web/assets/MoleculeViewerPanel-CUgDBSd_.js +1 -0
- package/dist/web/assets/PdfViewer-BHiGul5n.js +1 -0
- package/dist/web/assets/SaveFileButton-469govDl.js +1 -0
- package/dist/web/assets/SettingsDialog-D2rCwciZ.js +8 -0
- package/dist/web/assets/SkillsPanel-Bwa_B9KI.js +1 -0
- package/dist/web/assets/{StatusBadge-4Ta2PiFt.js → StatusBadge-eoBBn7zF.js} +1 -1
- package/dist/web/assets/{Switch-DrRVfYsF.js → Switch-DvBJf8Rd.js} +1 -1
- package/dist/web/assets/TerminalPanel-B8j4fo6Z.js +1 -0
- package/dist/web/assets/TextViewer-DNjD6up3.js +1 -0
- package/dist/web/assets/VideoViewer-BeiZJGIs.js +1 -0
- package/dist/web/assets/ViewersPanel-DbKljM62.js +1 -0
- package/dist/web/assets/{abnfDiagram-N423BO3Z-DAM-L4Gi.js → abnfDiagram-N423BO3Z-CpfpOF_O.js} +1 -1
- package/dist/web/assets/{arc-B5fbklv-.js → arc-DBTSI6_N.js} +1 -1
- package/dist/web/assets/{architectureDiagram-T3A2C74G-g5YdBqOD.js → architectureDiagram-T3A2C74G-BSevfMW_.js} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-CnQe9SwF.js → blockDiagram-VBNYF7ZC-mjH_gzpo.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-hnI3bmAh.js → c4Diagram-5PPSVZJV-CKvGPw0r.js} +1 -1
- package/dist/web/assets/channel-DewxN4Jo.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-ga2EpiBM.js → chunk-2GRJ4B5K-DX9yxpY8.js} +1 -1
- package/dist/web/assets/{chunk-2Q5K7J3B-8EL89tcM.js → chunk-2Q5K7J3B-CLN7DvaK.js} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-ny9nLzV7.js → chunk-5RXB4S5H-_JxweRkX.js} +1 -1
- package/dist/web/assets/{chunk-5VM5RSS4-D8AiE16-.js → chunk-5VM5RSS4-3BAvSy1_.js} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-BEyDElR_.js → chunk-6Q2QTUOP-DQLD88Lm.js} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-BOQX5MLe.js → chunk-GF5L2VYU-D-1fx8P7.js} +1 -1
- package/dist/web/assets/{chunk-JWPE2WC7-DZ7yLQfa.js → chunk-JWPE2WC7-C2fToatl.js} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-ogydf6uq.js → chunk-KBJHAD2P-DHjSexvX.js} +1 -1
- package/dist/web/assets/{chunk-RYQCIY6F-B4kX-J9n.js → chunk-RYQCIY6F-DsVSVTjX.js} +1 -1
- package/dist/web/assets/{chunk-XXDRQBXY-CJ0O9VGU.js → chunk-XXDRQBXY-Csxxsn8g.js} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-YbS66O-E.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-YbS66O-E.js +1 -0
- package/dist/web/assets/{cose-bilkent-JH36ORCC-lwzifGUR.js → cose-bilkent-JH36ORCC-DIVX_YPY.js} +1 -1
- package/dist/web/assets/{cynefin-VYW2F7L2-UwoALUYS.js → cynefin-VYW2F7L2-fVS7Seyd.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-Dal57Q23.js → cynefinDiagram-MW4NZA55-krsTOg0x.js} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-CKlrZnar.js → dagre-VZM6K2ZE-Byz_9-UR.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-FMn1vsHL.js → diagram-7IWD3JNH-CAwWHICT.js} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-CI5rpxKQ.js → diagram-B4RE2ZJO-zvv-V2co.js} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-BOVH3I-f.js → diagram-LBJQPF4R-i5y2WTdZ.js} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-DmuUX06N.js → diagram-Q27KOJAE-B1inWemu.js} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-Cw9DrP-K.js → diagram-UB23O5K3-Dh89SZOh.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-f4TEQ7_W.js → ebnfDiagram-BXEA7PRR-su2ygatX.js} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-CF47Mcra.js → erDiagram-JOGREHBK-BbsgEzQn.js} +1 -1
- package/dist/web/assets/{flowDiagram-UKHOOZJN-rdiIClpu.js → flowDiagram-UKHOOZJN-Chl_0-ag.js} +1 -1
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-BBqllMXi.js → ganttDiagram-PKOTCBZU-CYMojHU0.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-6sOrT3Es.js → gitGraphDiagram-DS77QQ5N-BZQF2UJa.js} +1 -1
- package/dist/web/assets/{graph-DUOUaKTD.js → graph-q4AqDxwU.js} +1 -1
- package/dist/web/assets/{href-resolution-XVtyCiRv.js → href-resolution-A_PcAhnr.js} +1 -1
- package/dist/web/assets/{index-DbyP1ZAT.css → index-Dg0mhDS9.css} +1 -1
- package/dist/web/assets/index-DjRqFIN0.js +19 -0
- package/dist/web/assets/{infoDiagram-6WML65LV-B8DQ1Ntn.js → infoDiagram-6WML65LV-L2kKwrdb.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-CL_6Xhdk.js → ishikawaDiagram-WSZJBQD7-B-hdpT0j.js} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-iO2oB_PM.js → journeyDiagram-NVQOT4AX-DtZbDU0g.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-Bq5zUdk6.js → kanban-definition-27J2QSJJ-BNVi4euz.js} +1 -1
- package/dist/web/assets/{layout-CKWK6l6a.js → layout-ZLTTNfUo.js} +1 -1
- package/dist/web/assets/{linear-hDCiku2e.js → linear-Dg9CPt0k.js} +1 -1
- package/dist/web/assets/markdown-lfaaW_Mn.js +5 -0
- package/dist/web/assets/{mermaid.core-CHAol8ex.js → mermaid.core-524tR-D2.js} +4 -4
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-BBmO4Gks.js → mindmap-definition-FAOFIHXS-CJKkZcYQ.js} +1 -1
- package/dist/web/assets/{ordinal-Bt4q2WDw.js → ordinal-B7gl1e82.js} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-DqQhyw9T.js → pegDiagram-VL7TDLO6-C29SbD0M.js} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BS5cr7Al.js → pieDiagram-7S7Q4E2Y-BpeO9BuX.js} +1 -1
- package/dist/web/assets/{provider-auth-store-B0otZuIW.js → provider-auth-store-CpmUGwuu.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-BLDUr9qC.js → quadrantDiagram-CIZ2JOQS-yU4K00QE.js} +1 -1
- package/dist/web/assets/{railroadDiagram-AXF67PYL-VFMEovCO.js → railroadDiagram-AXF67PYL-DIkSup17.js} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-B1AZqGHF.js → requirementDiagram-LRYGKXZP-DB5tgpS1.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-DsZPKpe8.js → sankeyDiagram-W5VNT64P-DYPa3r0S.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-BiJ-GnCG.js → sequenceDiagram-SI44F4Z6-C_rD0zxP.js} +1 -1
- package/dist/web/assets/{sizeCapture-X5ZJPWSS-C2FFfWkK.js → sizeCapture-X5ZJPWSS-DzC-Nn78.js} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-qFV_v5ZT.js → stateDiagram-OKZ733FA-DQdSURcD.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BCmrjJ-P.js +1 -0
- package/dist/web/assets/{swimlanes-SLNWSIFB-9sGFMDql.js → swimlanes-SLNWSIFB-BA-Oww3o.js} +2 -2
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BtietnZ5.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-D3ypJvTh.js → timeline-definition-Z64GVDOM-C7JXpk1W.js} +1 -1
- package/dist/web/assets/use-file-download-FoQrf961.js +1 -0
- package/dist/web/assets/{use-file-watch-Ca_f0M8P.js → use-file-watch-Th-A-3Ws.js} +1 -1
- package/dist/web/assets/{use-provider-auth-list-BfHGDiIE.js → use-provider-auth-list-D5pguVWm.js} +1 -1
- package/dist/web/assets/{vendor-dnd-CayJj8TC.js → vendor-dnd-vJGfGIIi.js} +1 -1
- package/dist/web/assets/{vendor-highlight-2yu9fuIs.js → vendor-highlight-DaCUEPaW.js} +1 -1
- package/dist/web/assets/{vendor-icons-DEs9VPZK.js → vendor-icons-CSCeICuX.js} +1 -1
- package/dist/web/assets/{vendor-markdown-BdpekPki.js → vendor-markdown-Bo-Xpsuy.js} +1 -1
- package/dist/web/assets/{vendor-molviewer-DeAF8d5d.js → vendor-molviewer-7FbONJs2.js} +1 -1
- package/dist/web/assets/{vendor-overlays-SaWbfdX8.js → vendor-overlays-DjMT65Ip.js} +1 -1
- package/dist/web/assets/{vendor-pdfjs-BrYGnqfM.js → vendor-pdfjs-BSchhGel.js} +2 -2
- package/dist/web/assets/{vendor-query-i7fr__Xm.js → vendor-query-CDNPrdQ8.js} +1 -1
- package/dist/web/assets/{vendor-react-DQUAl2K8.js → vendor-react-Dka9ZH0B.js} +1 -1
- package/dist/web/assets/{vendor-D3SOLPPh.js → vendor-z183l2lP.js} +6 -6
- package/dist/web/assets/{vennDiagram-T6HMQDX7-CL6HBdNJ.js → vennDiagram-T6HMQDX7-C_y33Ta5.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-CovrUiAA.js → wardleyDiagram-T6FBY63Y-gxOBkNAp.js} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-B4B84nxd.js → xychartDiagram-ELKLHX3M-BEdGwPiU.js} +1 -1
- package/dist/web/index.html +9 -8
- package/package.json +5 -42
- package/dist/web/assets/BinaryFallbackViewer-BtxtcHuV.js +0 -1
- package/dist/web/assets/CodeView-CAB3SZYK.js +0 -1
- package/dist/web/assets/FilePanel-C8cn3iJj.js +0 -1
- package/dist/web/assets/HtmlViewer-C6i8TGWc.js +0 -1
- package/dist/web/assets/ImageViewer-CyNec5RW.js +0 -1
- package/dist/web/assets/MarkdownFileViewer-Ck__w_R6.js +0 -1
- package/dist/web/assets/ModelProvidersPanel-BzCxTWcG.js +0 -1
- package/dist/web/assets/MoleculeViewerPanel-Dm74U_GU.js +0 -1
- package/dist/web/assets/PdfViewer-DP5N6Zq4.js +0 -1
- package/dist/web/assets/SettingsDialog-DFOcdK5d.js +0 -8
- package/dist/web/assets/SkillsPanel-B1rX9W8m.js +0 -1
- package/dist/web/assets/TerminalPanel-Bl7fG-P0.js +0 -1
- package/dist/web/assets/TextViewer-C6sO1Esy.js +0 -1
- package/dist/web/assets/VideoViewer-cj1hw5cl.js +0 -1
- package/dist/web/assets/ViewersPanel-DtgabN6n.js +0 -1
- package/dist/web/assets/channel-BC5O3Fw2.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-DtNk70ER.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-DtNk70ER.js +0 -1
- package/dist/web/assets/index-DVjN3uZm.js +0 -19
- package/dist/web/assets/markdown-DNjz8eN5.js +0 -5
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BLx9oVo-.js +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DXJEgu0Z.js +0 -8
- package/dist/web/assets/use-file-download-DF0pV2Qv.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as h,j as t}from"./vendor-react-DQUAl2K8.js";import{u as T,r as j,x as X,I,D as ee,B as A,S as F,E as $,y as te}from"./index-DVjN3uZm.js";import"./vendor-D3SOLPPh.js";import{a as D,u as se}from"./vendor-query-i7fr__Xm.js";import{C as ne,T as Q,b as re,c as ae}from"./vendor-icons-DEs9VPZK.js";import{S as z}from"./StatusBadge-4Ta2PiFt.js";import{S as le}from"./Switch-DrRVfYsF.js";import"./vendor-overlays-SaWbfdX8.js";import"./vendor-dnd-CayJj8TC.js";const oe="_wrapper_14joh_3",ie="_box_14joh_18",ce="_checkmark_14joh_38",ue="_nativeInput_14joh_43",M={wrapper:oe,box:ie,checkmark:ce,nativeInput:ue},q=h.forwardRef(function({label:s,checked:a=!1,disabled:r,className:l,onChange:o,...c},g){return t.jsxs("label",{className:M.wrapper,"data-disabled":r||void 0,children:[t.jsx("input",{ref:g,type:"checkbox",className:M.nativeInput,checked:a,disabled:r,onChange:o,...c}),t.jsx("span",{className:M.box,"data-checked":a,"aria-hidden":!0,children:a&&t.jsx(ne,{size:12,className:M.checkmark})}),s&&t.jsx("span",{children:s})]})}),de=/^npm:\S+$/,pe=/^git:\S+$/,ge=/^ssh:\/\/\S+$/,_e=/^git@[^\s:/]+:\S+$/,he=/^https?:\/\/(?:[^\s/]*\.)?(?:github|gitlab)\.com\/\S+$/i,me=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/\S+\.git$/,ke=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//,U="[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?",fe=new RegExp(`^${U}/${U}(?:@${U})?$`);function Se(e){const s=e.trim();return s.length===0?null:de.test(s)?{kind:"pi_npm",normalized:s}:pe.test(s)?{kind:"pi_git",normalized:s}:s==="~"||s.startsWith("~/")||s.startsWith("/")?{kind:"local_path",normalized:s}:_e.test(s)||ge.test(s)||he.test(s)||me.test(s)?{kind:"skills_repo",normalized:s}:ke.test(s)?null:fe.test(s)?{kind:"skills_repo",normalized:s}:null}const G={agent_dir:"Pi skills",agents_dir:"Agent Skills",settings_path:"Skill paths"},K=new Set(["agent_dir","agents_dir"]);function we(e,s){return K.has(e.origin)&&s.some(r=>r!==e&&r.name===e.name&&K.has(r.origin))?`Pi applies this setting to every '${e.name}' skill folder.`:null}function ve(e,s,a){var o;const r=!!e.shadowedBy,l=[];if(r){const c=e.shadowedBy?a.get(e.shadowedBy):void 0;l.push({label:`shadowed by ${(c==null?void 0:c.originLabel)??e.shadowedBy}`,variant:"warning"})}return e.symlinkTarget&&l.push({label:`→ ${e.symlinkTarget}`,variant:"muted"}),e.disableModelInvocation&&l.push({label:"manual only",variant:"muted"}),(o=e.provenance)!=null&&o.source&&l.push({label:e.provenance.source,variant:"muted"}),{skill:e,muted:r,toggleDisabled:r,badges:l,warnings:e.warnings??[],sharedPatternTooltip:we(e,s)}}function xe(e){const s=[{label:e.kind,variant:"muted"}];return e.curated&&s.push({label:"curated",variant:"success"}),e.pinned&&s.push({label:"pinned",variant:"muted"}),s}function Re(e,s){const a=new Map(e.map(u=>[u.path,u])),r=u=>ve(u,e,a),l=[],o=e.filter(u=>u.origin==="agent_dir").map(r);o.length>0&&l.push({id:"agent_dir",label:G.agent_dir,rows:o});const c=e.filter(u=>u.origin==="agents_dir").map(r);c.length>0&&l.push({id:"agents_dir",label:G.agents_dir,rows:c});const g=e.filter(u=>u.origin==="package"),d=new Set;for(const u of s){d.add(u.source);const v=g.filter(w=>w.packageSource===u.source).map(r);v.length>0&&l.push({id:`package:${u.source}`,label:u.source,rows:v,packageInfo:u})}const n=Array.from(new Set(g.filter(u=>u.packageSource&&!d.has(u.packageSource)).map(u=>u.packageSource)));for(const u of n){const v=g.filter(w=>w.packageSource===u).map(r);v.length>0&&l.push({id:`package:${u}`,label:u,rows:v})}const i=e.filter(u=>u.origin==="settings_path").map(r);i.length>0&&l.push({id:"settings_path",label:G.settings_path,rows:i});const k=new Set(["agent_dir","agents_dir","package","settings_path"]),f=Array.from(new Set(e.filter(u=>!k.has(u.origin)).map(u=>u.origin)));for(const u of f){const v=e.filter(w=>w.origin===u).map(r);v.length>0&&l.push({id:u,label:u,rows:v})}return l}function be(e,s){const a=s.trim().toLowerCase();return a?e.map(r=>({...r,rows:r.rows.filter(l=>l.skill.name.toLowerCase().includes(a)||(l.skill.description??"").toLowerCase().includes(a))})).filter(r=>r.rows.length>0):e}function je(e,s){if(e.origin!=="package"||!e.packageSource)return!1;const a=s.find(r=>r.source===e.packageSource);return!!(a!=null&&a.curated)}function Ee(e){return e.symlinkTarget?`Removes the link only; ${e.symlinkTarget} is kept.`:e.origin==="agents_dir"&&e.provenance?`Removes '${e.name}' for every agent on this machine.`:e.origin==="settings_path"?`Removes the Pi settings entry that provides ${e.path} (other skills from the same folder stop loading too); files are kept.`:`Deletes ${e.path}.`}function ye(e){const s=e.skillCount;return`Remove ${e.source}? This removes ${s} skill${s===1?"":"s"}.`}const Ne="Updates every Agent Skills skill and every unpinned Pi package; may take several minutes",Ae={"agent-skills":"Agent Skills","pi-packages":"Pi packages"};function Ce(e){return Ae[e]??e}const ze={settings_unreadable:"Can't read settings.json — skills can't be loaded or changed until this is fixed.",invalid_source:"That source isn't recognized.",not_found:"That skill could not be found.",not_removable:"That skill can't be removed from here.",spawn_failed:"Could not run the skills command.",timeout:"Timed out."};function J(e){return{...e,ok:!0,error:void 0,message:void 0}}function V(e){return e.results.length>0}function L(e,s){return e?s||(ze[e]??e):null}const Te={pi_npm:"npm package",pi_git:"git package",skills_repo:"Agent Skills repo",local_path:"Folder on daemon host"};function Le(e){return e?Te[e.kind]:"Unrecognized"}function W(e){return e==="pi_npm"||e==="pi_git"}function Pe(e){return e!==null}const Ie="Installs the package's skills only; its extensions stay disabled. Pi packages run with full system access — review the source before installing.";function De(e){return e.installResult?"results":e.installPending?"running":e.previewPending?"previewing":e.previewResult?"pick":"source"}function Be(e){return e.map(s=>({skill:s,checked:s.valid,replace:!1}))}function Z(e){return e.filter(s=>s.skill.valid&&s.checked&&(!s.skill.exists||s.replace)).map(s=>s.skill.name)}function $e(e){return e.some(s=>s.skill.valid&&s.checked&&s.skill.exists&&s.replace)}function Me(e,s,a){return{...e,skills:e.skills.map(r=>r.path===s?{...r,enabled:a}:r)}}function Fe(){const e=T(a=>a.client),s=D();return h.useEffect(()=>{if(e)return e.onSkillsChanged(()=>{s.invalidateQueries({queryKey:j.skillsList()})})},[e,s]),se({queryKey:j.skillsList(),queryFn:()=>{if(!e)throw new Error("not connected");return e.listSkills()},enabled:!!e})}function Oe(){const e=T(d=>d.client),s=D(),[a,r]=h.useState({}),[l,o]=h.useState({});function c(d){r(n=>{if(!(d in n))return n;const i={...n};return delete i[d],i})}async function g(d,n){if(!e)return;const i=d.path;c(i),o(f=>({...f,[i]:!0}));const k=s.getQueryData(j.skillsList());k&&s.setQueryData(j.skillsList(),Me(k,i,n));try{const f=await e.setSkillEnabled(i,n);if(!f.ok){k&&s.setQueryData(j.skillsList(),k),r(u=>({...u,[i]:L(f.error,f.message)??"Failed to update skill."}));return}s.setQueryData(j.skillsList(),f)}catch(f){k&&s.setQueryData(j.skillsList(),k),r(u=>({...u,[i]:f instanceof Error?f.message:"Failed to update skill."}))}finally{o(f=>{const u={...f};return delete u[i],u})}}return{rowErrors:a,pending:l,toggle:g,clearRowError:c}}function He(e){return e.path??`package:${e.packageSource}`}function Ue(){const e=T(d=>d.client),s=D(),[a,r]=h.useState({}),[l,o]=h.useState({});function c(d){o(n=>{if(!(d in n))return n;const i={...n};return delete i[d],i})}async function g(d){if(!e)return;const n=He(d);c(n),r(i=>({...i,[n]:!0}));try{const i=await e.removeSkill(d);if(!i.ok){o(k=>({...k,[n]:L(i.error,i.message)??"Failed to remove."}));return}s.setQueryData(j.skillsList(),i)}catch(i){o(k=>({...k,[n]:i instanceof Error?i.message:"Failed to remove."}))}finally{r(i=>{const k={...i};return delete k[n],k})}}return{pending:a,errors:l,clearError:c,removeSkill:d=>g({path:d.path}),removePackage:d=>g({packageSource:d.source})}}function Ge(){const e=T(n=>n.client),s=D(),[a,r]=h.useState(!1),[l,o]=h.useState(null),[c,g]=h.useState(null);async function d(){if(e){r(!0),g(null);try{const n=await e.updateAllSkills();if(!n.ok&&!V(n)){g(L(n.error,n.message)??"Failed to update skills.");return}o(n),s.setQueryData(j.skillsList(),J(n))}catch(n){g(n instanceof Error?n.message:"Failed to update skills.")}finally{r(!1)}}}return{pending:a,result:l,error:c,updateAll:d,clearResult:()=>o(null)}}function Qe(){const e=T(d=>d.client),[s,a]=h.useState(!1),[r,l]=h.useState(null),[o,c]=h.useState(null);async function g(d){if(e){a(!0),c(null);try{const n=await e.previewSkillSource(d);if(!n.ok){c(L(n.error,n.message)??"Failed to preview.");return}l(n)}catch(n){c(n instanceof Error?n.message:"Failed to preview.")}finally{a(!1)}}}return{pending:s,result:r,error:o,preview:g,reset:()=>{l(null),c(null)}}}function qe(){const e=T(n=>n.client),s=D(),[a,r]=h.useState(!1),[l,o]=h.useState(null),[c,g]=h.useState(null);async function d(n){if(e){r(!0),g(null);try{const i=await e.installSkills(n);if(!i.ok&&!V(i)){g(L(i.error,i.message)??"Failed to install.");return}o(i),s.setQueryData(j.skillsList(),J(i))}catch(i){g(i instanceof Error?i.message:"Failed to install.")}finally{r(!1)}}}return{pending:a,result:l,error:c,install:d,reset:()=>{o(null),g(null)}}}const Ke="_sourceStep_1n0el_6",We="_sourceLabel_1n0el_13",Ze="_notice_1n0el_18",Xe="_error_1n0el_30",Je="_statusStep_1n0el_35",Ve="_pickStep_1n0el_45",Ye="_pickRows_1n0el_52",et="_pickRow_1n0el_52",tt="_pickRowMain_1n0el_73",st="_pickRowTop_1n0el_80",nt="_pickRowName_1n0el_87",rt="_pickRowDescription_1n0el_95",at="_backButton_1n0el_103",lt="_results_1n0el_107",ot="_resultRow_1n0el_116",it="_resultHeader_1n0el_125",ct="_resultTarget_1n0el_132",ut="_resultError_1n0el_140",dt="_resultToggle_1n0el_148",pt="_resultStderr_1n0el_159",m={sourceStep:Ke,sourceLabel:We,notice:Ze,error:Xe,statusStep:Je,pickStep:Ve,pickRows:Ye,pickRow:et,pickRowMain:tt,pickRowTop:st,pickRowName:nt,pickRowDescription:rt,backButton:at,results:lt,resultRow:ot,resultHeader:it,resultTarget:ct,resultError:ut,resultToggle:dt,resultStderr:pt};function gt({open:e,onOpenChange:s}){var B;const a=Qe(),r=qe(),[l,o]=h.useState(""),[c,g]=h.useState([]),d=h.useRef(!1),n=Se(l),i=De({previewPending:a.pending,previewResult:a.result,installPending:r.pending,installResult:r.result});h.useEffect(()=>{e&&!d.current&&!r.pending&&!r.result&&(o(""),g([]),a.reset()),d.current=e},[e]),h.useEffect(()=>{a.result&&g(Be(a.result.skills))},[a.result]);async function k(){if(n){if(W(n.kind)){await r.install({source:n.normalized});return}await a.preview(n.normalized)}}function f(x,N){g(P=>P.map((_,b)=>b===x?{..._,...N}:_))}async function u(){var N;const x=Z(c);x.length!==0&&await r.install({source:((N=a.result)==null?void 0:N.source)??(n==null?void 0:n.normalized)??l,skills:x,replace:$e(c)})}function v(){a.reset(),g([])}function w(){r.reset(),s(!1)}const O=((B=a.result)==null?void 0:B.source)??(n==null?void 0:n.normalized)??l,H=Z(c).length;let y,E;return i==="source"?(y=t.jsxs("div",{className:m.sourceStep,children:[t.jsx(X,{autoFocus:!0,placeholder:"npm:<name>, git:<url>, owner/repo, or a daemon-host path",value:l,onChange:x=>o(x.target.value),"aria-label":"Install source"}),t.jsx("div",{className:m.sourceLabel,children:Le(n)}),n&&W(n.kind)&&t.jsxs("div",{className:m.notice,children:[t.jsx(I,{icon:Q,size:"xs"}),t.jsx("span",{children:Ie})]}),a.error&&t.jsx("div",{className:m.error,children:a.error})]}),E=t.jsx(A,{size:"sm",disabled:!Pe(n),loading:r.pending,onClick:()=>void k(),children:"Next"})):i==="previewing"?(y=t.jsxs("div",{className:m.statusStep,children:[t.jsx(F,{size:"sm"})," Looking up the source…"]}),E=null):i==="pick"?(y=t.jsxs("div",{className:m.pickStep,children:[c.length===0?t.jsx("div",{className:m.statusStep,children:"No installable skills found."}):t.jsx("div",{className:m.pickRows,children:c.map((x,N)=>t.jsx(_t,{row:x,onChange:P=>f(N,P)},x.skill.relPath))}),r.error&&t.jsx("div",{className:m.error,children:r.error})]}),E=t.jsxs(t.Fragment,{children:[t.jsx(A,{size:"sm",variant:"ghost",className:m.backButton,onClick:v,children:"‹ Back"}),t.jsxs(A,{size:"sm",disabled:H===0,loading:r.pending,onClick:()=>void u(),children:["Install from ",O]})]})):i==="running"?(y=t.jsxs("div",{className:m.statusStep,children:[t.jsx(F,{size:"sm"})," Installing… this may take several minutes"]}),E=null):(y=r.result?t.jsx(ht,{result:r.result}):null,E=t.jsx(A,{size:"sm",onClick:w,children:"Done"})),t.jsx(ee,{open:e,onOpenChange:x=>{if(!x&&i==="results"){w();return}s(x)},title:"Install skill…",width:480,footer:E,children:y})}function _t({row:e,onChange:s}){const{skill:a,checked:r,replace:l}=e,o=!a.valid;return t.jsxs("div",{className:m.pickRow,"data-disabled":o||void 0,children:[t.jsx(q,{checked:r&&a.valid,disabled:o,onChange:c=>s({checked:c.target.checked}),"aria-label":a.name}),t.jsxs("div",{className:m.pickRowMain,children:[t.jsxs("div",{className:m.pickRowTop,children:[t.jsx("span",{className:m.pickRowName,children:a.name}),!a.valid&&t.jsx(z,{label:"Invalid",variant:"error"}),a.exists&&t.jsx(z,{label:"Already installed",variant:"warning"}),a.warnings&&a.warnings.length>0&&t.jsx(I,{icon:Q,size:"xs",color:"var(--pi-color-statusWarning)","aria-label":a.warnings.join("; ")})]}),a.description&&t.jsx("span",{className:m.pickRowDescription,children:a.description}),a.exists&&a.valid&&t.jsx(q,{label:"Already installed — replace",checked:l,onChange:c=>s({replace:c.target.checked})})]})]})}function ht({result:e}){const[s,a]=h.useState(()=>new Set);function r(l){a(o=>{const c=new Set(o);return c.has(l)?c.delete(l):c.add(l),c})}return t.jsx("div",{className:m.results,children:e.results.map((l,o)=>{const c=s.has(o);return t.jsxs("div",{className:m.resultRow,children:[t.jsxs("div",{className:m.resultHeader,children:[t.jsx(z,{label:l.ok?"Installed":"Failed",variant:l.ok?"success":"error"}),t.jsx("span",{className:m.resultTarget,children:l.target}),l.error&&t.jsx("span",{className:m.resultError,children:l.error}),l.stderr&&t.jsx("button",{type:"button",className:m.resultToggle,onClick:()=>r(o),children:c?"Hide details":"Show details"})]}),c&&l.stderr&&t.jsx("pre",{className:m.resultStderr,children:l.stderr})]},`${l.target}-${o}`)})})}const mt="_panel_1tczp_1",kt="_toolbar_1tczp_7",ft="_search_1tczp_14",St="_groups_1tczp_19",wt="_group_1tczp_19",vt="_groupHeader_1tczp_30",xt="_chevronExpanded_1tczp_47",Rt="_groupLabel_1tczp_51",bt="_groupBadges_1tczp_62",jt="_groupCount_1tczp_68",Et="_rows_1tczp_74",yt="_row_1tczp_74",Nt="_rowMain_1tczp_91",At="_rowTop_1tczp_98",Ct="_name_1tczp_105",zt="_nameMuted_1tczp_113 _name_1tczp_105",Tt="_badge_1tczp_118",Lt="_description_1tczp_122",Pt="_descriptionMuted_1tczp_130 _description_1tczp_122",It="_rowError_1tczp_135",Dt="_footnote_1tczp_147",Bt="_errorState_1tczp_153",$t="_removePackageBtn_1tczp_157",Mt="_rowActions_1tczp_161",Ft="_updateAllResults_1tczp_168",Ot="_updateAllResultRow_1tczp_178",Ht="_updateAllResultHeader_1tczp_184",Ut="_updateAllResultLabel_1tczp_191",Gt="_updateAllResultError_1tczp_196",Qt="_updateAllResultToggle_1tczp_204",qt="_updateAllResultStderr_1tczp_215",p={panel:mt,toolbar:kt,search:ft,groups:St,group:wt,groupHeader:vt,chevronExpanded:xt,groupLabel:Rt,groupBadges:bt,groupCount:jt,rows:Et,row:yt,rowMain:Nt,rowTop:At,name:Ct,nameMuted:zt,badge:Tt,description:Lt,descriptionMuted:Pt,rowError:It,footnote:Dt,errorState:Bt,removePackageBtn:$t,rowActions:Mt,updateAllResults:Ft,updateAllResultRow:Ot,updateAllResultHeader:Ht,updateAllResultLabel:Ut,updateAllResultError:Gt,updateAllResultToggle:Qt,updateAllResultStderr:qt};function rs(){const{data:e,isLoading:s,isError:a,error:r}=Fe(),{rowErrors:l,pending:o,toggle:c,clearRowError:g}=Oe(),d=Ue(),n=Ge(),[i,k]=h.useState(""),[f,u]=h.useState(()=>new Set),[v,w]=h.useState(!1),[O,H]=h.useState(()=>new Set);function y(_){u(b=>{const R=new Set(b);return R.has(_)?R.delete(_):R.add(_),R})}if(s)return t.jsxs($,{children:[t.jsx(F,{size:"sm"})," Loading skills…"]});if(a)return t.jsx($,{className:p.errorState,children:r instanceof Error?r.message:"Failed to load skills."});if(!e)return null;if(!e.ok)return t.jsx($,{className:p.errorState,children:L(e.error,e.message)??"Could not load skills."});const E=be(Re(e.skills,e.packages),i);function B(_,b){if(b&&_.packageSource&&je(_,e.packages)&&!O.has(_.packageSource)){if(!window.confirm("Pi-Studio will stop managing this package's updates."))return;H(R=>new Set(R).add(_.packageSource))}c(_,b)}function x(_){window.confirm(Ee(_))&&d.removeSkill(_)}function N(_){window.confirm(ye(_))&&d.removePackage(_)}function P(){window.confirm(Ne)&&n.updateAll()}return t.jsxs("div",{className:p.panel,children:[t.jsxs("div",{className:p.toolbar,children:[t.jsx(X,{className:p.search,placeholder:"Search skills…",value:i,onChange:_=>k(_.target.value),"aria-label":"Search skills"}),t.jsx(A,{size:"sm",variant:"outline",loading:n.pending,onClick:P,children:"Update all"}),t.jsx(A,{size:"sm",onClick:()=>w(!0),children:"Install skill…"})]}),n.error&&t.jsx("button",{type:"button",className:p.rowError,onClick:()=>n.updateAll().catch(()=>{}),children:n.error}),n.result&&t.jsx(Kt,{result:n.result,onDismiss:n.clearResult}),E.length===0?t.jsx($,{children:i?"No skills match your search.":"No skills found."}):t.jsx("div",{className:p.groups,children:E.map(_=>{const b=f.has(_.id),R=_.packageInfo,C=R?`package:${R.source}`:void 0;return t.jsxs("div",{className:p.group,children:[t.jsxs("button",{type:"button",className:p.groupHeader,onClick:()=>y(_.id),"aria-expanded":!b,children:[t.jsx(I,{icon:re,size:"xs",className:b?void 0:p.chevronExpanded}),t.jsx("span",{className:p.groupLabel,children:_.label}),R&&t.jsx("span",{className:p.groupBadges,children:xe(R).map(S=>t.jsx(z,{label:S.label,variant:S.variant},S.label))}),t.jsx("span",{className:p.groupCount,children:_.rows.length}),R&&t.jsx(A,{size:"xs",variant:"ghost",className:p.removePackageBtn,loading:C?!!d.pending[C]:!1,onClick:S=>{S.stopPropagation(),N(R)},children:"Remove package"})]}),C&&d.errors[C]&&t.jsx("button",{type:"button",className:p.rowError,onClick:()=>d.clearError(C),children:d.errors[C]}),!b&&t.jsx("div",{className:p.rows,children:_.rows.map(S=>t.jsx(Wt,{row:S,error:l[S.skill.path],pending:!!o[S.skill.path],removeError:d.errors[S.skill.path],removePending:!!d.pending[S.skill.path],onToggle:Y=>B(S.skill,Y),onDismissError:()=>g(S.skill.path),onRemove:()=>x(S.skill),onDismissRemoveError:()=>d.clearError(S.skill.path)},S.skill.path))})]},_.id)})}),t.jsx("p",{className:p.footnote,children:"Changes apply to newly started agent sessions."}),t.jsx(gt,{open:v,onOpenChange:w})]})}function Kt({result:e,onDismiss:s}){const[a,r]=h.useState(()=>new Set);function l(o){r(c=>{const g=new Set(c);return g.has(o)?g.delete(o):g.add(o),g})}return t.jsxs("div",{className:p.updateAllResults,children:[e.results.map(o=>{const c=a.has(o.target);return t.jsxs("div",{className:p.updateAllResultRow,children:[t.jsxs("div",{className:p.updateAllResultHeader,children:[t.jsx(z,{label:o.ok?"Succeeded":"Failed",variant:o.ok?"success":"error"}),t.jsx("span",{className:p.updateAllResultLabel,children:Ce(o.target)}),o.error&&t.jsx("span",{className:p.updateAllResultError,children:o.error}),o.stderr&&t.jsx("button",{type:"button",className:p.updateAllResultToggle,onClick:()=>l(o.target),children:c?"Hide details":"Show details"})]}),c&&o.stderr&&t.jsx("pre",{className:p.updateAllResultStderr,children:o.stderr})]},o.target)}),t.jsx("button",{type:"button",className:p.rowError,onClick:s,children:"Dismiss"})]})}function Wt({row:e,error:s,pending:a,removeError:r,removePending:l,onToggle:o,onDismissError:c,onRemove:g,onDismissRemoveError:d}){const{skill:n,muted:i,toggleDisabled:k,badges:f,warnings:u,sharedPatternTooltip:v}=e;return t.jsxs("div",{className:p.row,title:v??void 0,children:[t.jsxs("div",{className:p.rowMain,children:[t.jsxs("div",{className:p.rowTop,children:[t.jsx("span",{className:i?p.nameMuted:p.name,children:n.name}),u.length>0&&t.jsx(I,{icon:Q,size:"xs",color:"var(--pi-color-statusWarning)","aria-label":u.join("; ")}),f.map(w=>t.jsx(z,{label:w.label,variant:w.variant,className:p.badge},w.label))]}),n.description&&t.jsx("span",{className:i?p.descriptionMuted:p.description,children:n.description}),s&&t.jsx("button",{type:"button",className:p.rowError,onClick:c,children:s}),r&&t.jsx("button",{type:"button",className:p.rowError,onClick:d,children:r})]}),t.jsxs("div",{className:p.rowActions,children:[t.jsx(le,{checked:n.enabled,disabled:k||a,onCheckedChange:o,"aria-label":n.name}),n.removable&&t.jsx(te,{"aria-label":`Remove ${n.name}`,disabled:l,onClick:g,children:l?t.jsx(F,{size:"xs"}):t.jsx(I,{icon:ae,size:"xs"})})]})]})}export{rs as SkillsPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var ce=Object.defineProperty;var ie=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var U=(n,e,t)=>ie(n,typeof e!="symbol"?e+"":e,t);import{r as s,j as b}from"./vendor-react-DQUAl2K8.js";import{x as ue,a as le}from"./vendor-terminal-BhzX2_ts.js";import{f as X,g as ae,T as J,u as fe,h as de,j as me,k as pe,l as Q,S as he,m as Re,o as we}from"./index-DVjN3uZm.js";import"./vendor-D3SOLPPh.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-icons-DEs9VPZK.js";import"./vendor-overlays-SaWbfdX8.js";import"./vendor-dnd-CayJj8TC.js";class Se{constructor(e){U(this,"subscribers",new Map);U(this,"detach",null);this.daemon=e}start(){this.detach||(this.detach=this.daemon.onTerminalFrame(e=>this.dispatch(e)))}stop(){var e;(e=this.detach)==null||e.call(this),this.detach=null}subscribeSlot(e,t){return this.subscribers.set(e,t),()=>{this.subscribers.get(e)===t&&this.subscribers.delete(e)}}hasSlot(e){return this.subscribers.has(e)}sendInput(e,t){this.daemon.sendBinary(X({opcode:"Input",slot:e,data:t}))}sendResize(e,t,d){this.daemon.sendBinary(X({opcode:"Resize",slot:e,rows:t,cols:d}))}dispatch(e){var d,R,p;const t=this.subscribers.get(e.slot);if(t)switch(e.opcode){case"Output":(d=t.onOutput)==null||d.call(t,e.data);return;case"Snapshot":(R=t.onSnapshot)==null||R.call(t,e.data);return;case"Restore":(p=t.onRestore)==null||p.call(t,e.data);return;default:return}}}const ye=3e3,Z=`${ae.sm}px ${J}`,ee="M";function te(){if(typeof document>"u"||!document.fonts)return!0;try{return document.fonts.check(Z,ee)}catch{return!0}}const Te=(async()=>{if(typeof document>"u"||!document.fonts||te())return;let n;try{await Promise.race([document.fonts.load(Z,ee),new Promise(e=>{n=window.setTimeout(e,ye)})])}catch{}finally{window.clearTimeout(n)}})(),_e=2,ve=1;function y(n){if(n==null)return!1;const{cols:e,rows:t}=n;return typeof e=="number"&&Number.isInteger(e)&&e>=_e&&typeof t=="number"&&Number.isInteger(t)&&t>=ve}function ge(n,e){return n===null||e===null?n===e:n.cols===e.cols&&n.rows===e.rows}function xe(n,e){return y(n)?!ge(n,e):!1}function be(n,e){if(e===null)return;const t=n.find(R=>R.slot===e);if(!t)return;const d={cols:t.cols,rows:t.rows};return y(d)?d:void 0}const Fe="_wrap_1fx2h_1",Ee="_terminal_1fx2h_12",Ae="_statusOverlay_1fx2h_19",ze="_exitedBanner_1fx2h_30",z={wrap:Fe,terminal:Ee,statusOverlay:Ae,exitedBanner:ze},Oe=64*1024,$=new TextEncoder,K=new WeakMap;function Ne(n){let e=K.get(n);return e||(e=new Se(n),e.start(),K.set(n,e)),e}function Y(n){const e=Q.getState(),t=e.tabs.find(d=>d.id===n);return!t||t.workspaceCwd!==e.activeWorkspaceCwd?!1:Re(we.getState().layouts[t.workspaceCwd],n)}function Le({tab:n}){const e=n.data,t=fe(r=>r.client),d=de(n.id),{settings:R,resolvedTheme:p}=me(),B=R.monoFont&&R.monoFont.trim()!==""?p.fontFamily.mono:J,W=s.useRef(null),w=s.useRef(null),T=s.useRef(null),_=s.useRef(e.slot),O=s.useRef(null),N=s.useRef([]),I=s.useRef(0),F=s.useRef(null),ne=s.useRef(null),E=s.useRef(null),v=s.useRef(null),A=s.useRef(null),k=s.useRef(!1),H=s.useRef(null),V=s.useRef(t);V.current=t;const D=s.useRef(e.exited??!1);D.current=e.exited??!1;const[g,re]=s.useState(e.slot),[j,M]=s.useState({isAttaching:!0,error:null}),[q,se]=s.useState(te);s.useEffect(()=>{if(q)return;let r=!1;return Te.then(()=>{r||se(!0)}),()=>{r=!0}},[q]);const C=()=>{var o,c;const r=(o=T.current)==null?void 0:o.proposeDimensions();(c=E.current)==null||c.call(E,y(r)?r:null)},oe=()=>{var r;A.current=null,k.current=!0,(r=T.current)==null||r.fit(),C(),requestAnimationFrame(()=>{k.current=!1})},P=()=>{v.current!==null&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>{v.current=null,A.current===null&&(A.current=requestAnimationFrame(oe))},60)};s.useEffect(()=>{const r=W.current;if(!r||!q)return;const o=new ue.Terminal({cursorBlink:!0,fontFamily:B,fontSize:p.fontSize.code,scrollback:5e3,theme:p.colors.terminal,allowProposedApi:!0}),c=new le.FitAddon;o.loadAddon(c),o.open(r);const f=u=>{if(!Y(n.id))return;const l=_.current,S=O.current;l===null||!S||xe(u,F.current)&&(F.current=u,S.sendResize(l,u.rows,u.cols))},a=o.onData(u=>{if(D.current)return;const l=_.current,S=O.current;if(l===null||!S){const G=$.encode(u);I.current+G.length<=Oe&&(N.current.push(G),I.current+=G.length);return}S.sendInput(l,$.encode(u))}),m=o.onResize(({cols:u,rows:l})=>{f({cols:u,rows:l})}),h=()=>{c.fit(),C()};r.addEventListener("focusin",h),c.fit(),w.current=o,T.current=c,E.current=f;const i=new ResizeObserver(u=>{if(k.current)return;const l=u[0];l&&(l.contentRect.width===0||l.contentRect.height===0)||P()});return i.observe(r),()=>{i.disconnect(),v.current!==null&&window.clearTimeout(v.current),A.current!==null&&cancelAnimationFrame(A.current),r.removeEventListener("focusin",h),a.dispose(),m.dispose(),o.dispose(),w.current=null,T.current=null,E.current=null}},[q]),s.useEffect(()=>{const r=w.current;if(!r)return;r.options.theme=p.colors.terminal;const o=p.fontSize.code,c=B,f=H.current,a=f!==null&&(f.size!==o||f.family!==c);r.options.fontSize=o,r.options.fontFamily=c,H.current={size:o,family:c},a&&P()},[p,B]),s.useEffect(()=>{if(!e.exited)return;const r=w.current;r&&(r.options.cursorBlink=!1,r.blur())},[e.exited]),s.useEffect(()=>{if(t)return t.connection.onSessionMessage(r=>{const o=r;if(!pe(o))return;const c=be(o.terminals,_.current);c!==void 0&&(F.current=c)})},[t]);const x=s.useRef(!1),L=s.useRef(!1);return s.useEffect(()=>{var f;if(x.current=!0,!t||_.current!==null||L.current)return()=>{x.current=!1};L.current=!0;const r=e.cwd||"~",o=(f=T.current)==null?void 0:f.proposeDimensions(),c=y(o)?o:null;return t.connection.request("create_terminal_request",{workspaceId:"",cwd:r,...c?{cols:c.cols,rows:c.rows}:{}}).then(a=>{const m=a.terminal.slot;if(!x.current){t.connection.request("kill_terminal_request",{slot:m}).catch(()=>{});return}_.current=m,re(m),Q.getState().updateData(n.id,{slot:m});const h={cols:a.terminal.cols,rows:a.terminal.rows};F.current=y(h)?h:null}).catch(a=>{x.current&&M({isAttaching:!1,error:a instanceof Error?a.message:String(a)})}).finally(()=>{L.current=!1}),()=>{x.current=!1}},[t,n.id]),s.useEffect(()=>()=>{const r=_.current;r!==null&&setTimeout(()=>{var o;x.current||D.current||(o=V.current)==null||o.connection.request("kill_terminal_request",{slot:r}).catch(()=>{})},0)},[]),s.useEffect(()=>{var h;if(!t||g===null)return;M({isAttaching:!0,error:null});const r=Ne(t.connection);O.current=r;const o=i=>{var u,l;(u=w.current)==null||u.reset(),(l=w.current)==null||l.write(i)},c=r.subscribeSlot(g,{onOutput:i=>{var u;return(u=w.current)==null?void 0:u.write(i)},onSnapshot:o,onRestore:o});let f=!1;const a=(h=T.current)==null?void 0:h.proposeDimensions(),m=y(a)&&Y(n.id)?a:null;return t.connection.request("subscribe_terminal_request",{slot:g,restoreMode:"reflowable",...m?{cols:m.cols,rows:m.rows}:{}}).then(i=>{if(f)return;M({isAttaching:!1,error:null}),ne.current=(i==null?void 0:i.restoreMode)??"basic";const u=N.current;N.current=[],I.current=0;for(const S of u)r.sendInput(g,S);const l={cols:i==null?void 0:i.cols,rows:i==null?void 0:i.rows};F.current=y(l)?l:m,C()}).catch(i=>{f||(N.current=[],I.current=0,M({isAttaching:!1,error:i instanceof Error?i.message:String(i)}))}),()=>{f=!0,c(),O.current=null,t.connection.request("unsubscribe_terminal_request",{slot:g}).catch(()=>{})}},[t,g]),s.useEffect(()=>{d&&P()},[d]),b.jsxs("div",{className:z.wrap,children:[b.jsx("div",{ref:W,className:z.terminal}),j.error?b.jsxs("div",{className:z.statusOverlay,children:["Terminal error: ",j.error]}):j.isAttaching?b.jsxs("div",{className:z.statusOverlay,children:[b.jsx(he,{size:"sm"})," Starting terminal…"]}):null,e.exited?b.jsx("div",{className:z.exitedBanner,children:"Terminal exited"}):null]})}export{Le as TerminalPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./vendor-react-DQUAl2K8.js";import{E as r,S as t,B as a,P as c}from"./index-DVjN3uZm.js";import{u as m,C as d}from"./CodeView-CAB3SZYK.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-D3SOLPPh.js";import"./vendor-icons-DEs9VPZK.js";import"./vendor-overlays-SaWbfdX8.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-DF0pV2Qv.js";const x="_note_1g5yz_1",j="_body_1g5yz_9",g="_tooLarge_1g5yz_13",i={note:x,body:j,tooLarge:g};function n(o){return`${(o/(1024*1024)).toFixed(1)} MB`}function b({path:o}){const s=m(o);switch(s.kind){case"loading":return e.jsxs(r,{children:[e.jsx(t,{size:"sm"})," Loading..."]});case"inline":return e.jsx(d,{path:o,content:s.content});case"streaming":return e.jsxs(r,{children:[e.jsx(t,{size:"sm"})," Streaming ",n(s.size)," file..."]});case"stream-error":return e.jsxs(r,{children:["Error: ",s.message]});case"streamed":return e.jsxs(c,{children:[e.jsxs("div",{className:i.note,children:[n(s.size)," file streamed"]}),e.jsx("div",{className:i.body,children:e.jsx(d,{path:o,content:s.content})})]});case"too-large":{const l=o.split("/").pop()||o;return e.jsx(r,{children:e.jsxs("div",{className:i.tooLarge,children:[e.jsxs("div",{children:[n(s.size)," — too large to display (display ceiling is"," ",n(s.maxDisplayBytes),")."]}),s.downloading?e.jsx(t,{size:"sm"}):s.downloadUrl?e.jsx("a",{href:s.downloadUrl,download:s.downloadName||l,children:e.jsx(a,{size:"sm",children:"Save file"})}):e.jsx(a,{size:"sm",onClick:()=>s.requestDownload(),children:"Download"})]})})}case"error":return e.jsxs(r,{children:["Error: ",s.message]})}}export{b as TextViewer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as e,S as t}from"./index-DVjN3uZm.js";import{u as n}from"./use-file-download-DF0pV2Qv.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-D3SOLPPh.js";import"./vendor-icons-DEs9VPZK.js";import"./vendor-overlays-SaWbfdX8.js";import"./vendor-dnd-CayJj8TC.js";const a="_wrap_gy3e6_1",d="_video_gy3e6_10",s={wrap:a,video:d};function v({path:i,workspaceCwd:m}){const r=n(i);return r.isLoading?o.jsxs(e,{children:[o.jsx(t,{size:"sm"})," Loading video..."]}):r.isError?o.jsxs(e,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:s.wrap,children:o.jsx("video",{className:s.video,src:r.data.objectUrl,controls:!0})}):null}export{v as VideoViewer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./vendor-react-DQUAl2K8.js";import{b as a}from"./index-DVjN3uZm.js";import{S as d}from"./Switch-DrRVfYsF.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-D3SOLPPh.js";import"./vendor-icons-DEs9VPZK.js";import"./vendor-overlays-SaWbfdX8.js";import"./vendor-dnd-CayJj8TC.js";const p="_list_x2x5z_1",m="_row_x2x5z_7",x="_rowMain_x2x5z_17",w="_name_x2x5z_24",_="_description_x2x5z_29",f="_note_x2x5z_34",n={list:p,row:m,rowMain:x,name:w,description:_,note:f},b=[{id:"molviewer",name:"Molecule Viewer",description:"Open molecular structure files (.cif, .pdb, .xyz, and similar) in the 3D viewer instead of as plain text."},{id:"pdfviewer",name:"PDF Viewer",description:"Render PDF files in place instead of offering only a download."}];function h({id:o,name:i,description:r}){const t=a(s=>s.capable),c=a(s=>s.isViewerEnabled(o)),l=a(s=>s.setEnabled);return e.jsxs("div",{className:n.row,children:[e.jsxs("div",{className:n.rowMain,children:[e.jsx("span",{className:n.name,children:i}),e.jsx("span",{className:n.description,children:r})]}),e.jsx(d,{checked:c,disabled:!t,onCheckedChange:s=>void l(o,s),"aria-label":i})]})}function M(){const o=a(i=>i.capable);return e.jsxs("div",{className:n.list,children:[b.map(i=>e.jsx(h,{...i},i.id)),!o&&e.jsx("p",{className:n.note,children:"Requires a newer daemon."})]})}export{M as ViewersPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-CHAol8ex.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-GF5L2VYU-BOQX5MLe.js";import{_ as i}from"./mermaid.core-CHAol8ex.js";import"./chunk-5VM5RSS4-D8AiE16-.js";import"./chunk-XXDRQBXY-CJ0O9VGU.js";import"./chunk-KBJHAD2P-ogydf6uq.js";import"./chunk-2GRJ4B5K-ga2EpiBM.js";import"./vendor-D3SOLPPh.js";import"./vendor-react-DQUAl2K8.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-GF5L2VYU-BOQX5MLe.js";import{_ as i}from"./mermaid.core-CHAol8ex.js";import"./chunk-5VM5RSS4-D8AiE16-.js";import"./chunk-XXDRQBXY-CJ0O9VGU.js";import"./chunk-KBJHAD2P-ogydf6uq.js";import"./chunk-2GRJ4B5K-ga2EpiBM.js";import"./vendor-D3SOLPPh.js";import"./vendor-react-DQUAl2K8.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
|