@av-pi-studio/web-client 0.0.94 → 0.0.96

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.
Files changed (29) hide show
  1. package/dist/web/assets/{BinaryFallbackViewer-Cl9JXb5q.js → BinaryFallbackViewer-DcA3RWPo.js} +1 -1
  2. package/dist/web/assets/CascadiaMono-95CNhH_0.woff2 +0 -0
  3. package/dist/web/assets/CascadiaMonoNF-DiMa2xBr.woff2 +0 -0
  4. package/dist/web/assets/{ChatPanel-Bef2kpgd.js → ChatPanel-Bqap8qR2.js} +3 -3
  5. package/dist/web/assets/{CodeView-Dw7L2TVS.js → CodeView-BXJFkLt-.js} +1 -1
  6. package/dist/web/assets/{FilePanel-CTwbQ_aO.js → FilePanel-DoNa0K86.js} +1 -1
  7. package/dist/web/assets/{HtmlViewer-Bxh2l5Lv.js → HtmlViewer-DohpKpiN.js} +1 -1
  8. package/dist/web/assets/{ImageViewer-sPGjP66G.js → ImageViewer-D7M7Rq8K.js} +1 -1
  9. package/dist/web/assets/{MarkdownFileViewer-Bo4C4k_g.js → MarkdownFileViewer-BMIFLm38.js} +1 -1
  10. package/dist/web/assets/{ModelProvidersPanel-D3bDWSdy.js → ModelProvidersPanel-BQz7XMZP.js} +1 -1
  11. package/dist/web/assets/{MoleculeViewerPanel-CAd3aCBh.js → MoleculeViewerPanel-DIat3-U6.js} +1 -1
  12. package/dist/web/assets/{SettingsDialog-nfzDXsFW.js → SettingsDialog-jNCx6ea1.js} +7 -7
  13. package/dist/web/assets/TerminalPanel-CylREZXN.js +1 -0
  14. package/dist/web/assets/TerminalPanel-DpxpMm0w.css +1 -0
  15. package/dist/web/assets/{TextViewer-CW33h6Cq.js → TextViewer-BJdo9BQZ.js} +1 -1
  16. package/dist/web/assets/{VideoViewer-BS12rdIx.js → VideoViewer-wqxcK6U7.js} +1 -1
  17. package/dist/web/assets/{href-resolution-62Ae2qpT.js → href-resolution-CxQKzcip.js} +1 -1
  18. package/dist/web/assets/index-CBBgHVBM.js +19 -0
  19. package/dist/web/assets/index-ggD4eKe_.css +1 -0
  20. package/dist/web/assets/{markdown-DEjnznX7.js → markdown-BOpTW_tD.js} +2 -2
  21. package/dist/web/assets/{use-file-download-B0TFCtaB.js → use-file-download-BIZMK0gw.js} +1 -1
  22. package/dist/web/assets/{use-file-watch-CweRDD7C.js → use-file-watch-Do6RBm9E.js} +1 -1
  23. package/dist/web/assets/{use-provider-auth-list-D31i1xT-.js → use-provider-auth-list-Bv1c4-ha.js} +1 -1
  24. package/dist/web/index.html +2 -2
  25. package/package.json +3 -3
  26. package/dist/web/assets/TerminalPanel-DeqOCMpZ.js +0 -1
  27. package/dist/web/assets/TerminalPanel-DoDBqfAg.css +0 -1
  28. package/dist/web/assets/index-BHHAK0f5.js +0 -19
  29. package/dist/web/assets/index-BfVJBlu4.css +0 -1
@@ -0,0 +1 @@
1
+ @font-face{font-family:Cascadia Mono NF;src:local("Cascadia Mono NF"),url(/assets/CascadiaMono-95CNhH_0.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:block;unicode-range:U+0-DFFF,U+F900-FFFD}@font-face{font-family:Cascadia Mono NF;src:local("Cascadia Mono NF"),url(/assets/CascadiaMonoNF-DiMa2xBr.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:block;unicode-range:U+E000-F8FF,U+F0000-FFFFD}html,body{margin:0;padding:0}body{min-height:100vh;overflow:hidden;background:var(--pi-color-background);color:var(--pi-color-foreground);font-family:var(--pi-font-ui)}#root{display:flex;flex-direction:column;min-height:100vh}*,*:before,*:after{box-sizing:border-box}body[data-pi-dragging] iframe{pointer-events:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--pi-color-border);border-radius:var(--pi-radius-base)}._btn_dkqaa_4{display:inline-flex;align-items:center;justify-content:center;gap:var(--pi-spacing-8);border-radius:var(--pi-radius-lg);border:1px solid transparent;font-family:var(--pi-font-ui);font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;transition:opacity .12s ease,background-color .12s ease,border-color .12s ease;box-sizing:border-box}._btn_dkqaa_4:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}._btn_dkqaa_4:disabled,._btn_dkqaa_4[aria-disabled=true]{cursor:not-allowed;pointer-events:none}._default_dkqaa_38{background-color:var(--pi-color-accent);color:var(--pi-color-accentForeground);border-color:var(--pi-color-accent)}._default_dkqaa_38:hover:not(:disabled){filter:brightness(1.08)}._secondary_dkqaa_47{background-color:var(--pi-color-surface3);color:var(--pi-color-foreground);border-color:var(--pi-color-border)}._secondary_dkqaa_47:hover:not(:disabled){background-color:var(--pi-color-surface2)}._outline_dkqaa_56{background-color:transparent;color:var(--pi-color-accentBright);border-color:var(--pi-color-accent)}._outline_dkqaa_56:hover:not(:disabled){background-color:var(--pi-color-surface1)}._ghost_dkqaa_65{background-color:transparent;color:var(--pi-color-foregroundMuted);border-color:transparent}._ghost_dkqaa_65:hover:not(:disabled){color:var(--pi-color-foreground);background-color:var(--pi-color-surface1)}._destructive_dkqaa_75{background-color:var(--pi-color-destructive);color:var(--pi-color-destructiveForeground);border-color:var(--pi-color-destructive)}._destructive_dkqaa_75:hover:not(:disabled){filter:brightness(1.1)}._iconOnly_dkqaa_85{padding-left:0!important;padding-right:0!important;aspect-ratio:1}._loadingSpinner_dkqaa_92{animation:_piSpin_dkqaa_1 .75s linear infinite;flex-shrink:0}@keyframes _piSpin_dkqaa_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){._loadingSpinner_dkqaa_92{animation:none}}._spinner_1ibj3_3{display:inline-block;border-radius:var(--pi-radius-full);border-style:solid;border-color:currentColor transparent transparent transparent;animation:_piSpinnerRotate_1ibj3_1 .7s linear infinite;flex-shrink:0}@keyframes _piSpinnerRotate_1ibj3_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){._spinner_1ibj3_3{animation:none}}._dot_ve4v6_3{display:inline-block;width:8px;height:8px;border-radius:var(--pi-radius-full);flex-shrink:0}._spinner_ve4v6_16{display:inline-block;width:var(--status-dot-size, 12px);height:var(--status-dot-size, 12px);border-radius:var(--pi-radius-full);border:var(--status-dot-border-width, 2px) solid var(--pi-color-border);flex-shrink:0;animation:_statusSpin_ve4v6_1 .7s linear infinite}@keyframes _statusSpin_ve4v6_1{to{transform:rotate(360deg)}}._pulse_ve4v6_35{animation:_statusDotPulse_ve4v6_1 1.8s ease-in-out infinite}@keyframes _statusDotPulse_ve4v6_1{0%{box-shadow:0 0 color-mix(in srgb,var(--pi-color-statusWarning) 55%,transparent)}to{box-shadow:0 0 0 4px transparent}}@media(prefers-reduced-motion:reduce){._pulse_ve4v6_35{animation:none}}._input_756jo_3{width:100%;padding:var(--pi-spacing-8) var(--pi-spacing-12);border-radius:var(--pi-radius-md);border:1px solid var(--pi-color-border);background-color:var(--pi-color-surface2);color:var(--pi-color-foreground);font-size:var(--pi-font-size-base);font-family:var(--pi-font-ui);outline:none;transition:border-color .12s ease;box-sizing:border-box}._input_756jo_3::placeholder{color:var(--pi-color-foregroundMuted)}._input_756jo_3:focus{border-color:var(--pi-color-accent);outline:2px solid var(--pi-color-accent);outline-offset:-1px}._input_756jo_3:disabled{opacity:.5;cursor:not-allowed}._textarea_756jo_32{resize:vertical;min-height:80px}._bar_1o0iw_9{display:flex;align-items:center;gap:var(--pi-spacing-12);height:42px;padding:0 var(--pi-spacing-14);border-bottom:var(--pi-border-width-1) solid var(--pi-color-border);flex-shrink:0;overflow-x:auto;overflow-y:hidden}._title_1o0iw_21{flex:none;display:flex;align-items:baseline;gap:var(--pi-spacing-4)}._brand_1o0iw_27{font-weight:600;font-size:var(--pi-font-size-sm);letter-spacing:.02em;white-space:nowrap}._version_1o0iw_33{font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:nowrap}._statusPill_1o0iw_41{flex:none;max-width:340px;display:flex;align-items:center;gap:var(--pi-spacing-7);height:var(--pi-spacing-26);padding:0 var(--pi-spacing-11);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-full);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:nowrap}._statusText_1o0iw_60{min-width:0;display:flex;align-items:center;gap:var(--pi-spacing-4)}._statusHost_1o0iw_68{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--pi-font-mono);color:var(--pi-color-foreground)}._statusSep_1o0iw_76,._statusLabel_1o0iw_79,._statusDot_1o0iw_82,._statusSpinner_1o0iw_83{flex:none}._statusPillError_1o0iw_87{color:var(--pi-color-destructive);border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent);background:color-mix(in srgb,var(--pi-color-destructive) 12%,var(--pi-color-surface1))}input._field_1o0iw_4{flex:0 1 auto;min-width:40px;width:auto;height:var(--pi-spacing-26);padding:0 var(--pi-spacing-11);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-md);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foreground);text-overflow:ellipsis}input._fieldUrl_1o0iw_111{flex-basis:220px;font-family:var(--pi-font-mono)}input._fieldPassword_1o0iw_115{flex-basis:120px}input._field_1o0iw_4:focus{border-color:var(--pi-color-accentBright);outline:none}input._fieldInvalid_1o0iw_122,input._fieldInvalid_1o0iw_122:focus{border-color:var(--pi-color-destructive)}input._field_1o0iw_4:read-only{opacity:var(--pi-opacity-50);pointer-events:none}._action_1o0iw_139{flex:none}._panelToggles_1o0iw_147{margin-left:auto;flex:none;display:flex;align-items:center;gap:var(--pi-spacing-6)}._panelToggle_1o0iw_147{flex:none;border-color:var(--pi-color-border);border-radius:var(--pi-radius-md)}._panel_1de7t_3{display:flex;flex-direction:column;height:100%;min-height:0}._emptyState_kp50e_3{display:flex;align-items:center;justify-content:center;gap:var(--pi-spacing-8);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs);padding:var(--pi-spacing-20);text-align:center}._iconBtn_1unr3_3{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;background:none;border:none;border-radius:var(--pi-radius-base);color:var(--pi-color-foregroundMuted);cursor:pointer}._iconBtn_1unr3_3:hover{color:var(--pi-color-foreground);background:color-mix(in srgb,var(--icon-btn-hover-base, var(--pi-color-surface1)) 85%,var(--pi-color-foreground) 15%)}._iconBtn_1unr3_3:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}._iconBtn_1unr3_3:disabled{opacity:.4;cursor:default}._xs_1unr3_32{width:20px;height:20px}._sm_1unr3_36{width:28px;height:28px}._header_4rtcu_1{display:flex;align-items:center;padding:0 var(--pi-spacing-10);flex-shrink:0}._header_4rtcu_1 h3{margin:0;font-size:var(--pi-font-size-3xs);font-weight:var(--pi-font-weight-bold);color:var(--pi-color-foregroundMuted);text-transform:uppercase;letter-spacing:.1em}._list_4rtcu_15{flex:1 1 auto;overflow-y:auto;min-height:0}._newSessionRow_4rtcu_20{display:flex;align-items:center;justify-content:center;gap:var(--pi-spacing-4);width:100%;margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-10);border:none;border-radius:var(--pi-radius-sm);background:none;font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);cursor:pointer}._newSessionRow_4rtcu_20:hover{background:var(--pi-color-surface0)}._newSessionRow_4rtcu_20:disabled{cursor:default;opacity:var(--pi-opacity-50)}._newSessionRow_4rtcu_20:disabled:hover{background:none}._footer_4rtcu_45{display:flex;align-items:center;justify-content:center;gap:var(--pi-spacing-4);flex-shrink:0;margin:0;padding:var(--pi-spacing-8) var(--pi-spacing-10);border:none;border-top:var(--pi-border-width-1) solid var(--pi-color-border);background:none;font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);cursor:pointer}._footer_4rtcu_45:hover{background:var(--pi-color-surface0)}._footer_4rtcu_45:disabled{cursor:default;opacity:var(--pi-opacity-50)}._footer_4rtcu_45:disabled:hover{background:none}._item_4rtcu_70{position:relative;display:flex;flex-direction:column;gap:var(--pi-spacing-2);padding:var(--pi-spacing-7) var(--pi-spacing-10);border-radius:var(--pi-radius-sm);cursor:pointer;background:color-mix(in srgb,var(--pi-color-surface0) 60%,transparent)}._item_4rtcu_70:hover{background:var(--pi-color-surface0)}._itemFailed_4rtcu_85{background:color-mix(in srgb,var(--pi-color-destructive) 10%,transparent)}._item_4rtcu_70._active_4rtcu_83{background:color-mix(in srgb,var(--pi-color-accent) 34%,transparent);box-shadow:inset 0 0 0 var(--pi-border-width-1) color-mix(in srgb,var(--pi-color-accentBright) 32%,transparent)}._activeBar_4rtcu_88{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--pi-color-accentBright)}._activeBarNeedsInput_4rtcu_107{background:var(--pi-color-statusWarning)}._title_4rtcu_89{display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-sm)}._titleLabel_4rtcu_89{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._item_4rtcu_70._active_4rtcu_83 ._titleLabel_4rtcu_89{color:var(--pi-color-accentForeground);font-weight:var(--pi-font-weight-bold)}._titleItalic_4rtcu_127{font-style:italic}._meta_4rtcu_130{display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted);overflow:hidden}._metaDot_4rtcu_138{flex-shrink:0;--status-dot-size: 9px;--status-dot-border-width: 1.5px}._metaLabel_4rtcu_143{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._metaFailed_4rtcu_148{color:var(--pi-color-destructive)}._metaNeedsInput_4rtcu_151{color:var(--pi-color-statusWarning)}._metaEmpty_4rtcu_154{opacity:var(--pi-opacity-50)}._menuBtn_4rtcu_159{flex-shrink:0;opacity:0}._item_4rtcu_70:hover ._menuBtn_4rtcu_159,._item_4rtcu_70:focus-within ._menuBtn_4rtcu_159{opacity:1}@media(max-width:575px),(hover:none){._menuBtn_4rtcu_159{opacity:1}}._workspaceHeader_4rtcu_172{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-8) var(--pi-spacing-12);cursor:pointer;font-size:var(--pi-font-size-xs);color:var(--pi-color-foreground);background:var(--pi-color-surface2);border-top:var(--pi-border-width-1) solid var(--pi-color-border);border-bottom:var(--pi-border-width-1) solid var(--pi-color-border)}._workspaceHeader_4rtcu_172:hover{background:color-mix(in srgb,var(--pi-color-surface2) 85%,var(--pi-color-foreground) 15%)}._workspaceChevron_4rtcu_194{flex-shrink:0;background:var(--pi-color-surface3);border-radius:var(--pi-radius-base)}._workspaceHeader_4rtcu_172 ._workspaceChevron_4rtcu_194:hover{background:var(--pi-color-surface3)}._chevronGlyphExpanded_4rtcu_205{transform:rotate(90deg)}._workspaceLabel_4rtcu_211{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._workspaceCount_4rtcu_217{flex-shrink:0;font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted);background:var(--pi-color-surface3);border-radius:var(--pi-radius-full);padding:var(--pi-spacing-1) var(--pi-spacing-6)}._workspaceMenuBtn_4rtcu_225{flex-shrink:0;opacity:0}._workspaceHeader_4rtcu_172:hover ._workspaceMenuBtn_4rtcu_225{opacity:1}@media(max-width:575px),(hover:none){._workspaceMenuBtn_4rtcu_225{opacity:1}}._workspaceSessions_4rtcu_237{display:flex;flex-direction:column;gap:var(--pi-spacing-3);padding:var(--pi-spacing-5) var(--pi-spacing-8) var(--pi-spacing-8)}._trigger_cd29a_3{position:fixed;width:1px;height:1px;padding:0;border:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;pointer-events:none}._content_cd29a_15{min-width:140px;padding:var(--pi-spacing-4);border-radius:var(--pi-radius-md);background:var(--pi-color-surface1);border:1px solid var(--pi-color-border);box-shadow:0 8px 24px #0006;z-index:1000}._item_cd29a_25{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-sm);cursor:pointer;outline:none}._item_cd29a_25:hover,._item_cd29a_25[data-highlighted]{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._item_cd29a_25[data-disabled]{opacity:.4;cursor:default}._danger_cd29a_44{color:var(--pi-color-statusDanger)}._sep_cd29a_48{height:1px;margin:var(--pi-spacing-4) 0;background:var(--pi-color-border)}._avatar_1m9k9_4{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--pi-radius-md);flex-shrink:0;-webkit-user-select:none;user-select:none}._avatarImg_1m9k9_14{width:100%;height:100%;object-fit:cover}._avatarFallback_1m9k9_20{font-weight:600;color:#fff;font-family:var(--pi-font-ui);line-height:1}._divider_4eg4l_9{position:absolute;z-index:2}._divider_4eg4l_9:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pi-color-border);transition:background .12s ease,inset .12s ease}._divider_4eg4l_9:hover:before,._divider_4eg4l_9:active:before{background:var(--pi-color-accent)}._vertical_4eg4l_26{width:7px;margin-left:-3px;cursor:col-resize}._vertical_4eg4l_26:before{left:3px;right:3px}._vertical_4eg4l_26:hover:before,._vertical_4eg4l_26:active:before{left:2px;right:2px}._horizontal_4eg4l_41{height:7px;margin-top:-3px;cursor:row-resize}._horizontal_4eg4l_41:before{top:3px;bottom:3px}._horizontal_4eg4l_41:hover:before,._horizontal_4eg4l_41:active:before{top:2px;bottom:2px}._strip_1jel9_1{display:flex;align-items:center;gap:var(--pi-spacing-2);min-height:var(--pane-strip-height);padding:0 var(--pi-spacing-8);overflow:hidden;flex-shrink:0;border-bottom:var(--pi-border-width-1) solid var(--pi-color-border)}._tabs_1jel9_13{display:flex;align-items:center;gap:var(--pi-spacing-2);flex:0 1 auto;min-width:0;overflow-x:auto}._paneStrip_1jel9_28{position:absolute;left:0;top:0;right:0;z-index:1}._focused_1jel9_36{border-bottom-color:var(--pi-color-accent)}._tab_1jel9_13{container-type:inline-size;container-name:tab;display:flex;align-items:center;gap:var(--pi-spacing-7);flex:0 1 auto;min-width:var(--pi-spacing-128);max-width:200px;height:var(--pi-spacing-24);padding:0 var(--pi-spacing-10);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-2xs);cursor:pointer;color:var(--pi-color-foregroundMuted);white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}._tab_1jel9_13:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._tabActive_1jel9_61{background:var(--pi-color-surface2);color:var(--pi-color-foreground)}._tabIcon_1jel9_65{display:flex;align-items:center;flex:none}._tabLabel_1jel9_70{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}._tabLabelMono_1jel9_76{font-family:var(--pi-font-mono)}._tabDot_1jel9_81{flex:none}._tabClose_1jel9_88{display:flex;align-items:center;flex:none;border-radius:var(--pi-radius-base);padding:var(--pi-spacing-1);opacity:0}._tabActive_1jel9_61 ._tabClose_1jel9_88,._tab_1jel9_13:hover ._tabClose_1jel9_88,._tab_1jel9_13:focus-within ._tabClose_1jel9_88{opacity:1}._tabClose_1jel9_88:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}@media(max-width:575px),(hover:none){._tabClose_1jel9_88{opacity:1}}@container tab (max-width: 140px){._tabNeedsInput_1jel9_114 ._tabClose_1jel9_88{display:none}}._newTab_1jel9_122{position:relative;border-radius:var(--pi-radius-sm);flex:none}._stripActions_1jel9_130{margin-left:auto;display:flex;align-items:center;gap:var(--pi-spacing-8);flex:none}._splitAction_1jel9_137{position:relative;border-radius:var(--pi-radius-sm);flex:none}._itemIcon_1jel9_142{flex-shrink:0;color:var(--pi-color-foregroundMuted)}._preview_1txmv_1{position:absolute;z-index:3;pointer-events:none;border:1px solid var(--pi-color-accent);border-radius:var(--pi-radius-sm);background:color-mix(in srgb,var(--pi-color-accent) 18%,transparent)}._chip_1txmv_9{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md);background:var(--pi-color-surface0);color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);white-space:nowrap;cursor:grabbing;box-shadow:var(--pi-shadow-md)}._chipLabel_1txmv_23{max-width:160px;overflow:hidden;text-overflow:ellipsis}._area_9sawz_1{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;--pane-strip-height: 36px}._panel_9sawz_11{position:absolute;left:0;top:0;width:100%;height:100%;display:none;flex-direction:column;min-height:0;overflow:hidden}._dropZone_9sawz_27{position:absolute;pointer-events:none}._active_9sawz_31{display:flex}._empty_9sawz_35{position:absolute;left:0;right:0;top:var(--pane-strip-height);bottom:0;display:flex;align-items:center;justify-content:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}._emptyStack_9sawz_47{position:absolute;left:0;right:0;top:var(--pane-strip-height);bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pi-spacing-10);padding:0 var(--pi-spacing-16);text-align:center}._emptyTitle_9sawz_61{font-size:var(--pi-font-size-sm);color:var(--pi-color-foreground)}._emptyHint_9sawz_65{font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._container_1wywk_1{position:relative;height:100%;display:flex;flex-direction:column}._header_1wywk_7{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border-bottom:1px solid var(--pi-color-border)}._uploadButton_1wywk_14{display:inline-flex;align-items:center;gap:var(--pi-spacing-5);font-size:var(--pi-font-size-2xs);padding:var(--pi-spacing-3) var(--pi-spacing-8);border-radius:var(--pi-radius-base);border:1px solid var(--pi-color-border);background:var(--pi-color-surface1);color:var(--pi-color-foreground);cursor:pointer}._uploadButton_1wywk_14:hover:not(:disabled){background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._uploadButton_1wywk_14:disabled{opacity:.5;cursor:default}._hiddenInput_1wywk_33{display:none}._status_1wywk_36,._statusError_1wywk_37{font-size:var(--pi-font-size-2xs);padding:var(--pi-spacing-4) var(--pi-spacing-8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._status_1wywk_36{color:var(--pi-color-foregroundMuted)}._statusError_1wywk_37{color:var(--pi-color-statusDanger)}._rowAction_1wywk_50{margin-left:auto}._item_1wywk_53 ._rowAction_1wywk_50{display:none}._item_1wywk_53:hover ._rowAction_1wywk_50{display:inline-flex}._list_1wywk_60{padding:var(--pi-spacing-4) 0;flex:1;overflow-y:auto;position:relative}._item_1wywk_53{height:28px;padding-right:var(--pi-spacing-8);font-size:var(--pi-font-size-xs);border-radius:var(--pi-radius-base);cursor:pointer;display:flex;align-items:center;gap:var(--pi-spacing-6);user-select:none;-webkit-user-select:none}._item_1wywk_53:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._item_1wywk_53._active_1wywk_83{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._item_1wywk_53._selected_1wywk_88{background:var(--pi-color-surface0);border-radius:var(--pi-radius-none)}._item_1wywk_53._dropTarget_1wywk_92{background:color-mix(in srgb,var(--pi-color-accent) 22%,transparent);box-shadow:inset 0 0 0 1px var(--pi-color-accent);border-radius:var(--pi-radius-base)}._item_1wywk_53._rootItem_1wywk_99 ._dirName_1wywk_98{color:var(--pi-color-foreground);font-weight:600}._chevronSlot_1wywk_104{display:flex;align-items:center;justify-content:center;width:var(--pi-icon-size-sm);flex-shrink:0;color:var(--pi-color-foregroundMuted)}._chevron_1wywk_104{transition:transform .1s ease}._chevronOpen_1wywk_115{transform:rotate(90deg)}._icon_1wywk_118{display:flex;align-items:center;width:var(--pi-icon-size-md);flex-shrink:0;color:var(--pi-color-foregroundMuted)}._name_1wywk_125{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._dirName_1wywk_98{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--pi-color-accentBright)}._item_1wywk_53._gitAdded_1wywk_140 ._icon_1wywk_118,._item_1wywk_53._gitAdded_1wywk_140 ._name_1wywk_125,._item_1wywk_53._gitAdded_1wywk_140 ._dirName_1wywk_98{color:var(--pi-color-statusSuccess)}._item_1wywk_53._gitModified_1wywk_145 ._icon_1wywk_118,._item_1wywk_53._gitModified_1wywk_145 ._name_1wywk_125,._item_1wywk_53._gitModified_1wywk_145 ._dirName_1wywk_98{color:var(--pi-color-statusWarning)}._item_1wywk_53._gitDeleted_1wywk_150 ._icon_1wywk_118,._item_1wywk_53._gitDeleted_1wywk_150 ._name_1wywk_125,._item_1wywk_53._gitDeleted_1wywk_150 ._dirName_1wywk_98{color:var(--pi-color-statusDanger)}._item_1wywk_53._gitDeleted_1wywk_150 ._name_1wywk_125{text-decoration:line-through}._item_1wywk_53._hiddenEntry_1wywk_162{opacity:.45}._item_1wywk_53._hiddenEntry_1wywk_162:hover,._item_1wywk_53._hiddenEntry_1wywk_162._active_1wywk_83,._item_1wywk_53._hiddenEntry_1wywk_162._selected_1wywk_88,._item_1wywk_53._hiddenEntry_1wywk_162._dropTarget_1wywk_92{opacity:1}._statusRow_1wywk_171{height:28px;display:flex;align-items:center;padding-right:var(--pi-spacing-8);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._statusRowError_1wywk_182{color:var(--pi-color-statusDanger)}._draftInput_1wywk_185{flex:1;min-width:0;height:20px;font:inherit;font-size:var(--pi-font-size-xs);padding:0 var(--pi-spacing-4);color:var(--pi-color-foreground);background:var(--pi-color-surface0);border:1px solid var(--pi-color-accent);border-radius:var(--pi-radius-base);outline:none}._list_1n3q6_1{padding:var(--pi-spacing-4) 0}._summary_1n3q6_4{padding:var(--pi-spacing-4) var(--pi-spacing-8);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);border-bottom:1px solid var(--pi-color-border);margin-bottom:var(--pi-spacing-4)}._item_1n3q6_11{padding:var(--pi-spacing-4) var(--pi-spacing-8);font-size:var(--pi-font-size-xs);border-radius:var(--pi-radius-base);cursor:pointer;display:flex;align-items:center;gap:var(--pi-spacing-6)}._item_1n3q6_11:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._badge_1n3q6_23{font-size:var(--pi-font-size-3xs);padding:0 var(--pi-spacing-4);border-radius:var(--pi-radius-base);font-weight:600;flex-shrink:0}._added_1n3q6_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 20%,transparent);color:var(--pi-color-statusSuccess)}._modified_1n3q6_34{background:color-mix(in srgb,var(--pi-color-statusWarning) 20%,transparent);color:var(--pi-color-statusWarning)}._deleted_1n3q6_38{background:color-mix(in srgb,var(--pi-color-statusDanger) 20%,transparent);color:var(--pi-color-statusDanger)}._name_1n3q6_42{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tabBar_1tvri_1{display:flex;align-items:center;border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._tabBtn_1tvri_7{display:flex;align-items:center;gap:var(--pi-spacing-6);font:inherit;font-size:var(--pi-font-size-xs);padding:var(--pi-spacing-8) var(--pi-spacing-12);background:none;border:none;color:var(--pi-color-foregroundMuted);cursor:pointer;border-bottom:2px solid transparent}._tabBtn_1tvri_7:hover{color:var(--pi-color-foreground)}._active_1tvri_23{color:var(--pi-color-foreground);border-bottom-color:var(--pi-color-accent)}._refreshBtn_1tvri_27{margin-left:auto;margin-right:var(--pi-spacing-6)}._content_1tvri_31{flex:1;overflow-y:auto;padding:var(--pi-spacing-8);min-height:0}._statusBar_t655h_1{height:35px;width:100%;flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-2);padding:0 var(--pi-spacing-12);overflow-x:auto;border-top:1px solid var(--pi-color-border);background:var(--pi-color-surface1);font-size:var(--pi-font-size-xs);color:var(--pi-color-foreground);white-space:nowrap}._segmentGroup_t655h_16{display:flex;align-items:center}._chevron_t655h_20{color:var(--pi-color-border);margin:0 var(--pi-spacing-4);flex-shrink:0}._segment_t655h_16{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-2) var(--pi-spacing-8);border-radius:var(--pi-radius-base);background:var(--pi-color-surface2)}._icon_t655h_33{display:flex;align-items:center;color:var(--pi-color-foregroundMuted);flex-shrink:0}._text_t655h_39{overflow:hidden;text-overflow:ellipsis;max-width:320px}._wrapper_14joh_3{display:inline-flex;align-items:center;gap:var(--pi-spacing-8);cursor:pointer;font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground)}._wrapper_14joh_3[data-disabled=true]{opacity:.5;pointer-events:none}._box_14joh_18{width:16px;height:16px;border-radius:var(--pi-radius-sm);border:1.5px solid var(--pi-color-border);background-color:transparent;display:flex;align-items:center;justify-content:center;transition:background-color .1s,border-color .1s;flex-shrink:0}._box_14joh_18[data-checked=true]{background-color:var(--pi-color-accent);border-color:var(--pi-color-accent)}._checkmark_14joh_38{color:var(--pi-color-accentForeground)}._nativeInput_14joh_43{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}._select_dl3mw_3{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:var(--pi-spacing-8) var(--pi-spacing-32) var(--pi-spacing-8) var(--pi-spacing-10);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground);width:100%;outline:none;transition:border-color .1s;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a1a1aa' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._select_dl3mw_3:focus{border-color:var(--pi-color-accent)}._select_dl3mw_3:disabled{opacity:.5;cursor:not-allowed}._comboboxWrapper_dl3mw_31{position:relative;width:100%}._comboboxInput_dl3mw_36{width:100%;background-color:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:var(--pi-spacing-8) var(--pi-spacing-10);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground);outline:none;box-sizing:border-box}._comboboxInput_dl3mw_36:focus{border-color:var(--pi-color-accent)}._comboboxList_dl3mw_53{position:absolute;top:100%;left:0;right:0;z-index:80;max-height:200px;overflow-y:auto;background-color:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-base);margin-top:var(--pi-spacing-4);padding:var(--pi-spacing-4);box-shadow:var(--pi-shadow-md)}._comboboxOption_dl3mw_69{padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-md);font-family:var(--pi-font-ui);color:var(--pi-color-foreground);cursor:pointer;background:none;border:none;width:100%;text-align:left}._comboboxOption_dl3mw_69:hover,._comboboxOptionHighlighted_dl3mw_83{background-color:var(--pi-color-surface2)}._overlay_1k4ng_1{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100}._contentWrapper_1k4ng_7{position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;display:flex;align-items:center;justify-content:center;pointer-events:none}._dialog_1k4ng_16{pointer-events:auto;width:500px;max-width:90vw;max-height:70vh;background:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-lg);display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}._header_1k4ng_28{padding:var(--pi-spacing-12) var(--pi-spacing-14);border-bottom:1px solid var(--pi-color-border);display:flex;align-items:center;gap:var(--pi-spacing-8);flex-shrink:0}._title_1k4ng_36{font-size:var(--pi-font-size-sm);margin:0;flex:1;color:var(--pi-color-foreground);font-weight:600}._body_1k4ng_43{flex:1;display:flex;flex-direction:column;min-height:0}._footer_1k4ng_49{padding:var(--pi-spacing-10) var(--pi-spacing-14);border-top:1px solid var(--pi-color-border);display:flex;align-items:center;gap:var(--pi-spacing-8);justify-content:flex-end;flex-shrink:0}._bare_1k4ng_58{border:none;background:transparent;box-shadow:none;position:relative}._bareBody_1k4ng_64{border-radius:var(--pi-radius-lg);overflow:hidden}._bareCloseBtn_1k4ng_68{position:absolute;top:-12px;right:-12px}._visuallyHidden_1k4ng_73{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._handle_1j18v_1{position:absolute;top:0;bottom:0;width:5px;cursor:col-resize;z-index:5;background:transparent;transition:background .12s ease}._handle_1j18v_1:hover,._handle_1j18v_1:active{background:var(--pi-color-accent)}._pathRow_1mu84_1{padding:var(--pi-spacing-8) var(--pi-spacing-14);display:flex;align-items:center;gap:var(--pi-spacing-6);border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._pathInput_1mu84_9{flex:1;font-size:var(--pi-font-size-xs)}._createRow_1mu84_13{padding:var(--pi-spacing-6) var(--pi-spacing-14);display:flex;align-items:center;gap:var(--pi-spacing-6);border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._createInput_1mu84_21{flex:1;font-size:var(--pi-font-size-xs)}._createError_1mu84_25{padding:var(--pi-spacing-4) var(--pi-spacing-14) var(--pi-spacing-6);font-size:var(--pi-font-size-2xs);color:var(--pi-color-statusDanger)}._list_1mu84_30{flex:1;overflow-y:auto;padding:var(--pi-spacing-4) 0;min-height:200px;max-height:400px}._item_1mu84_37{padding:var(--pi-spacing-6) var(--pi-spacing-14);cursor:pointer;display:flex;align-items:center;gap:var(--pi-spacing-8);font-size:var(--pi-font-size-xs);color:var(--pi-color-foreground)}._item_1mu84_37:hover{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._name_1mu84_49{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._visuallyHidden_rig62_2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._viewport_qa8a1_1{position:fixed;top:var(--pi-spacing-16);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:var(--pi-spacing-8);pointer-events:none}._toast_qa8a1_13{pointer-events:auto;display:flex;align-items:center;gap:var(--pi-spacing-8);max-width:420px;padding:var(--pi-spacing-8) var(--pi-spacing-8) var(--pi-spacing-8) var(--pi-spacing-12);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);border-left:var(--pi-border-width-2) solid var(--toast-rail, transparent);border-radius:var(--pi-radius-base);box-shadow:var(--pi-shadow-md);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foreground);opacity:1;transform:translateY(0);transition:opacity .18s ease,transform .18s ease}@starting-style{._toast_qa8a1_13{opacity:0;transform:translateY(-8px)}}._toast_qa8a1_13._exiting_qa8a1_42{opacity:0;transform:translateY(-8px)}._content_qa8a1_46{flex:1;min-width:0;overflow-wrap:break-word}._close_qa8a1_51{flex:none;display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-1);border:none;background:transparent;border-radius:var(--pi-radius-base);color:var(--pi-color-foregroundMuted);cursor:pointer}._close_qa8a1_51:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}@media(prefers-reduced-motion:reduce){._toast_qa8a1_13{transition:none}}._shell_570m8_1{display:flex;flex-direction:column;height:100vh;min-height:0}._main_570m8_7{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}._sidebarLeft_570m8_13{position:relative;flex-shrink:0;border-right:1px solid var(--pi-color-border);display:flex;flex-direction:column;min-width:0;background:var(--pi-color-surfaceSidebar)}._leftHandle_570m8_25{right:-3px}._center_570m8_28{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}._sidebarRight_570m8_35{position:relative;flex-shrink:0;border-left:1px solid var(--pi-color-border);display:flex;flex-direction:column;min-width:0}._rightHandle_570m8_43{left:-3px}
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BoLmyLCE.js","assets/vendor-CIkm_8TG.js","assets/vendor-react-DQUAl2K8.js","assets/vendor-CEK31ho9.css"])))=>i.map(i=>d[i]);
2
- import{_ as L}from"./vendor-CIkm_8TG.js";import{r as m,j as i}from"./vendor-react-DQUAl2K8.js";import{b as N,u as _,q as H,s as P,t as $,k as j,S as F,v as I,w as E,x as R}from"./index-BHHAK0f5.js";import{c as D}from"./vendor-highlight-A9hNQ6ne.js";import{r as y}from"./href-resolution-62Ae2qpT.js";import{M as V,r as A,a as U,b as O}from"./vendor-markdown-Bu3Y4y-M.js";const v="github-dark";let k=null;const b=new Set(["plaintext"]);function B(){return k||(k=D({themes:[v],langs:["plaintext"]})),k}async function z(r,e){if(b.has(e))return e;try{return await r.loadLanguage(e),b.add(e),e}catch{return"plaintext"}}async function G(r,e){const t=await B(),n=await z(t,e);return t.codeToHtml(r,{lang:n,theme:v})}const M={background:"--pi-color-surface1",primaryColor:"--pi-color-surface2",primaryTextColor:"--pi-color-foreground",primaryBorderColor:"--pi-color-surface3",lineColor:"--pi-color-foregroundMuted",secondaryColor:"--pi-color-surface3",secondaryTextColor:"--pi-color-foreground",secondaryBorderColor:"--pi-color-surface4",tertiaryColor:"--pi-color-surface1",tertiaryTextColor:"--pi-color-foreground",tertiaryBorderColor:"--pi-color-surface3",textColor:"--pi-color-foreground"};function K(r){var t;const e={};for(const[n,a]of Object.entries(M)){const s=(t=r[a])==null?void 0:t.trim();s&&(e[n]=s)}return e}function q(){const r=getComputedStyle(document.documentElement),e={};for(const t of Object.values(M))e[t]=r.getPropertyValue(t);return K(e)}const Y="_prose_1697a_1",Z="_streaming_1697a_26",W="_inlineCode_1697a_87",J="_mermaid_1697a_105",Q="_mermaidError_1697a_114",X="_mermaidErrorMessage_1697a_117",ee="_inlineImage_1697a_148",te="_inlineImageSkeleton_1697a_157",re="_inlineImageFallback_1697a_168",d={prose:Y,streaming:Z,inlineCode:W,mermaid:J,mermaidError:Q,mermaidErrorMessage:X,inlineImage:ee,inlineImageSkeleton:te,inlineImageFallback:re},ne={"http:":!0,"https:":!0,"data:":!0,"blob:":!0},ae=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function se(r,e,t){const n=r.trim();if(!n)return{kind:"unresolvable"};const a=n.split(/[?#]/,1)[0];if(!a)return{kind:"unresolvable"};const s=ae.exec(a);if(s)return`${s[1].toLowerCase()}:`in ne?{kind:"remote"}:{kind:"unresolvable"};const o=y(r,e,t);return o?N(o)!=="image"?{kind:"unresolvable"}:{kind:"local",path:o}:{kind:"unresolvable"}}function ie(r,e,t,n){return r.kind==="remote"?{kind:"remote",src:t||"",alt:n}:r.kind==="unresolvable"?{kind:"unresolvable",fallbackText:n||t||"(image)"}:e.status==="loading"||e.status==="idle"?{kind:"loading"}:e.status==="ready"?{kind:"ready",objectUrl:e.objectUrl,alt:n,path:r.path}:{kind:"error",fallbackText:n||r.path||"(image)"}}function C(r,e,t){return{workspaceCwd:t??(r||"~"),targetPaneId:e??void 0}}function oe(r,e,t){if(!r||!e){t({status:"idle"});return}let n=!1;return t({status:"loading"}),H(r,e).then(a=>{n||t({status:"ready",objectUrl:a.objectUrl})}).catch(a=>{n||t({status:"error",message:a instanceof Error?a.message:String(a)})}),()=>{n=!0,P(r)}}function le(r){const e=_(s=>s.client),t=_(s=>s.daemon),[n,a]=m.useState({status:"idle"});return m.useEffect(()=>oe(r,e&&t?o=>$(t).download(o):null,a),[e,t,r]),n}const ce=m.memo(function({src:e,alt:t,assetBase:n,owningPaneId:a,workspaceCwd:s}){const o=j(),u=m.useMemo(()=>se(e||"",n,o),[e,n,o]),c=le(u.kind==="local"?u.path:null),l=ie(u,c,e,t);if(l.kind==="remote")return i.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return i.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return i.jsx("div",{className:d.inlineImageSkeleton,children:i.jsx(F,{size:"sm"})});const g=C(n,a??null,s??null),p=()=>{E(l.path,g.workspaceCwd,g.targetPaneId)};return i.jsx("img",{src:l.objectUrl,alt:l.alt,className:d.inlineImage,title:l.path,draggable:!0,onDragStart:I(l.path),onClick:p,style:{cursor:"pointer"}})});function ue(r,e,t){const n=r.trim();if(!n)return{kind:"external"};if(n.startsWith("#"))return{kind:"external"};const a=y(r,e,t);return a?{kind:"local",path:a}:{kind:"external"}}function de({href:r,children:e,assetBase:t,owningPaneId:n,workspaceCwd:a}){const s=j(),o=ue(r??"",t,s);if(o.kind==="external")return i.jsx("a",{href:r,children:e});const u=o.path,c=C(t,n,a);return i.jsx("a",{href:r,draggable:!0,onDragStart:I(u),onClick:l=>{l.preventDefault(),E(u,c.workspaceCwd,c.targetPaneId)},children:e})}const S=/^ {0,3}([-*+]|\d{1,9}[.)])(\s|$)/,me=/^(\s*)(`{3,}|~{3,})(.*)$/;function fe(r){return S.test(r[0]??"")}function ge(r,e){for(let t=e;t<r.length;t++)if((r[t]??"").trim()!=="")return t;return-1}function pe(r){if(!r)return{blocks:[],tail:""};const e=r.split(`
2
+ import{_ as L}from"./vendor-CIkm_8TG.js";import{r as m,j as i}from"./vendor-react-DQUAl2K8.js";import{b as N,u as _,v as H,w as P,t as $,m as j,S as F,x as I,y as E,z as R}from"./index-CBBgHVBM.js";import{c as D}from"./vendor-highlight-A9hNQ6ne.js";import{r as y}from"./href-resolution-CxQKzcip.js";import{M as V,r as A,a as U,b as O}from"./vendor-markdown-Bu3Y4y-M.js";const v="github-dark";let k=null;const b=new Set(["plaintext"]);function B(){return k||(k=D({themes:[v],langs:["plaintext"]})),k}async function z(r,e){if(b.has(e))return e;try{return await r.loadLanguage(e),b.add(e),e}catch{return"plaintext"}}async function G(r,e){const t=await B(),n=await z(t,e);return t.codeToHtml(r,{lang:n,theme:v})}const M={background:"--pi-color-surface1",primaryColor:"--pi-color-surface2",primaryTextColor:"--pi-color-foreground",primaryBorderColor:"--pi-color-surface3",lineColor:"--pi-color-foregroundMuted",secondaryColor:"--pi-color-surface3",secondaryTextColor:"--pi-color-foreground",secondaryBorderColor:"--pi-color-surface4",tertiaryColor:"--pi-color-surface1",tertiaryTextColor:"--pi-color-foreground",tertiaryBorderColor:"--pi-color-surface3",textColor:"--pi-color-foreground"};function K(r){var t;const e={};for(const[n,a]of Object.entries(M)){const s=(t=r[a])==null?void 0:t.trim();s&&(e[n]=s)}return e}function Y(){const r=getComputedStyle(document.documentElement),e={};for(const t of Object.values(M))e[t]=r.getPropertyValue(t);return K(e)}const Z="_prose_1697a_1",q="_streaming_1697a_26",W="_inlineCode_1697a_87",J="_mermaid_1697a_105",Q="_mermaidError_1697a_114",X="_mermaidErrorMessage_1697a_117",ee="_inlineImage_1697a_148",te="_inlineImageSkeleton_1697a_157",re="_inlineImageFallback_1697a_168",d={prose:Z,streaming:q,inlineCode:W,mermaid:J,mermaidError:Q,mermaidErrorMessage:X,inlineImage:ee,inlineImageSkeleton:te,inlineImageFallback:re},ne={"http:":!0,"https:":!0,"data:":!0,"blob:":!0},ae=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function se(r,e,t){const n=r.trim();if(!n)return{kind:"unresolvable"};const a=n.split(/[?#]/,1)[0];if(!a)return{kind:"unresolvable"};const s=ae.exec(a);if(s)return`${s[1].toLowerCase()}:`in ne?{kind:"remote"}:{kind:"unresolvable"};const o=y(r,e,t);return o?N(o)!=="image"?{kind:"unresolvable"}:{kind:"local",path:o}:{kind:"unresolvable"}}function ie(r,e,t,n){return r.kind==="remote"?{kind:"remote",src:t||"",alt:n}:r.kind==="unresolvable"?{kind:"unresolvable",fallbackText:n||t||"(image)"}:e.status==="loading"||e.status==="idle"?{kind:"loading"}:e.status==="ready"?{kind:"ready",objectUrl:e.objectUrl,alt:n,path:r.path}:{kind:"error",fallbackText:n||r.path||"(image)"}}function C(r,e,t){return{workspaceCwd:t??(r||"~"),targetPaneId:e??void 0}}function oe(r,e,t){if(!r||!e){t({status:"idle"});return}let n=!1;return t({status:"loading"}),H(r,e).then(a=>{n||t({status:"ready",objectUrl:a.objectUrl})}).catch(a=>{n||t({status:"error",message:a instanceof Error?a.message:String(a)})}),()=>{n=!0,P(r)}}function le(r){const e=_(s=>s.client),t=_(s=>s.daemon),[n,a]=m.useState({status:"idle"});return m.useEffect(()=>oe(r,e&&t?o=>$(t).download(o):null,a),[e,t,r]),n}const ce=m.memo(function({src:e,alt:t,assetBase:n,owningPaneId:a,workspaceCwd:s}){const o=j(),u=m.useMemo(()=>se(e||"",n,o),[e,n,o]),c=le(u.kind==="local"?u.path:null),l=ie(u,c,e,t);if(l.kind==="remote")return i.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return i.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return i.jsx("div",{className:d.inlineImageSkeleton,children:i.jsx(F,{size:"sm"})});const g=C(n,a??null,s??null),p=()=>{E(l.path,g.workspaceCwd,g.targetPaneId)};return i.jsx("img",{src:l.objectUrl,alt:l.alt,className:d.inlineImage,title:l.path,draggable:!0,onDragStart:I(l.path),onClick:p,style:{cursor:"pointer"}})});function ue(r,e,t){const n=r.trim();if(!n)return{kind:"external"};if(n.startsWith("#"))return{kind:"external"};const a=y(r,e,t);return a?{kind:"local",path:a}:{kind:"external"}}function de({href:r,children:e,assetBase:t,owningPaneId:n,workspaceCwd:a}){const s=j(),o=ue(r??"",t,s);if(o.kind==="external")return i.jsx("a",{href:r,children:e});const u=o.path,c=C(t,n,a);return i.jsx("a",{href:r,draggable:!0,onDragStart:I(u),onClick:l=>{l.preventDefault(),E(u,c.workspaceCwd,c.targetPaneId)},children:e})}const S=/^ {0,3}([-*+]|\d{1,9}[.)])(\s|$)/,me=/^(\s*)(`{3,}|~{3,})(.*)$/;function fe(r){return S.test(r[0]??"")}function ge(r,e){for(let t=e;t<r.length;t++)if((r[t]??"").trim()!=="")return t;return-1}function pe(r){if(!r)return{blocks:[],tail:""};const e=r.split(`
3
3
  `),t=[];let n=[],a=null,s=!1,o=!1;const u=()=>{const c=n.join(`
4
4
  `).trim();c&&t.push(c),n=[]};for(let c=0;c<e.length;c++){const l=e[c]??"",g=l.trim();if(a!==null){if(n.push(l),a.test(g)){const f=s;a=null,s=!1,f&&u()}continue}const p=me.exec(l);if(p&&!o){const f=p[2];a=new RegExp(`^[${f[0]}]{${f.length},}$`),s=p[1]==="",n.push(l);continue}if(g===""&&n.length===0)continue;if((g.split("$$").length-1)%2===1&&(o=!o),g===""&&!o){const f=ge(e,c+1),h=f===-1?null:e[f]??"",w=h!==null&&!/^\s/.test(h),T=h!==null&&S.test(h)&&fe(n);if(w&&!T){u(),c=f-1;continue}}n.push(l)}return{blocks:t,tail:n.join(`
5
- `)}}function he({language:r,code:e}){const[t,n]=m.useState(null);return m.useEffect(()=>{let a=!1;return G(e,r).then(s=>{a||n(s)}),()=>{a=!0}},[e,r]),t?i.jsx("div",{className:d.prose,dangerouslySetInnerHTML:{__html:t}}):i.jsx("pre",{children:i.jsx("code",{children:e})})}function ke({code:r}){const[e]=m.useState(()=>`mermaid-${R()}`),[t,n]=m.useState({status:"pending"});return m.useEffect(()=>{let a=!1;return(async()=>{try{const{default:s}=await L(async()=>{const{default:u}=await import("./mermaid.core-BoLmyLCE.js").then(c=>c.b0);return{default:u}},__vite__mapDeps([0,1,2,3]));s.initialize({startOnLoad:!1,theme:"base",themeVariables:q(),securityLevel:"strict",fontFamily:"var(--pi-font-ui)"});const{svg:o}=await s.render(e,r);a||n({status:"ready",svg:o})}catch(s){a||n({status:"error",message:s instanceof Error?s.message:"Failed to render diagram"})}})(),()=>{a=!0}},[e,r]),t.status==="ready"?i.jsx("div",{className:d.mermaid,dangerouslySetInnerHTML:{__html:t.svg}}):t.status==="error"?i.jsxs("div",{className:d.mermaidError,children:[i.jsxs("p",{className:d.mermaidErrorMessage,children:["Failed to render diagram: ",t.message]}),i.jsx("pre",{children:i.jsx("code",{children:r})})]}):i.jsx("pre",{children:i.jsx("code",{children:r})})}function xe({className:r,children:e,...t}){const n=/language-(\w+)/.exec(r??""),a=!!n,s=String(e).replace(/\n$/,"");if(a&&n){const o=n[1]??"plaintext";return o==="mermaid"?i.jsx(ke,{code:s}):i.jsx(he,{language:o,code:s})}return i.jsx("code",{className:d.inlineCode,...t,children:e})}function _e({className:r,children:e,...t}){return/language-(\w+)/.test(r??"")?i.jsx("pre",{children:i.jsx("code",{children:String(e).replace(/\n$/,"")})}):i.jsx("code",{className:d.inlineCode,...t,children:e})}const be=[U,O],je=[A],Ie=[],x=m.memo(function({text:e,assetBase:t=null,owningPaneId:n=null,workspaceCwd:a=null,lean:s=!1}){return i.jsx(V,{remarkPlugins:be,rehypePlugins:s?Ie:je,components:{code:s?_e:xe,img:o=>i.jsx(ce,{...o,assetBase:t,owningPaneId:n,workspaceCwd:a}),a:o=>i.jsx(de,{...o,assetBase:t,owningPaneId:n,workspaceCwd:a})},children:e})});function Te({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){return i.jsx("div",{className:d.prose,children:i.jsx(x,{text:r,assetBase:e,owningPaneId:t,workspaceCwd:n})})}function Le({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){const{blocks:a,tail:s}=m.useMemo(()=>pe(r),[r]);return i.jsxs("div",{className:`${d.prose} ${d.streaming}`,children:[a.map((o,u)=>i.jsx(x,{text:o,assetBase:e,owningPaneId:t,workspaceCwd:n},u)),s!==""&&i.jsx(x,{text:s,lean:!0,assetBase:e,owningPaneId:t,workspaceCwd:n})]})}export{Te as M,Le as S,C as r};
5
+ `)}}function he({language:r,code:e}){const[t,n]=m.useState(null);return m.useEffect(()=>{let a=!1;return G(e,r).then(s=>{a||n(s)}),()=>{a=!0}},[e,r]),t?i.jsx("div",{className:d.prose,dangerouslySetInnerHTML:{__html:t}}):i.jsx("pre",{children:i.jsx("code",{children:e})})}function ke({code:r}){const[e]=m.useState(()=>`mermaid-${R()}`),[t,n]=m.useState({status:"pending"});return m.useEffect(()=>{let a=!1;return(async()=>{try{const{default:s}=await L(async()=>{const{default:u}=await import("./mermaid.core-BoLmyLCE.js").then(c=>c.b0);return{default:u}},__vite__mapDeps([0,1,2,3]));s.initialize({startOnLoad:!1,theme:"base",themeVariables:Y(),securityLevel:"strict",fontFamily:"var(--pi-font-ui)"});const{svg:o}=await s.render(e,r);a||n({status:"ready",svg:o})}catch(s){a||n({status:"error",message:s instanceof Error?s.message:"Failed to render diagram"})}})(),()=>{a=!0}},[e,r]),t.status==="ready"?i.jsx("div",{className:d.mermaid,dangerouslySetInnerHTML:{__html:t.svg}}):t.status==="error"?i.jsxs("div",{className:d.mermaidError,children:[i.jsxs("p",{className:d.mermaidErrorMessage,children:["Failed to render diagram: ",t.message]}),i.jsx("pre",{children:i.jsx("code",{children:r})})]}):i.jsx("pre",{children:i.jsx("code",{children:r})})}function xe({className:r,children:e,...t}){const n=/language-(\w+)/.exec(r??""),a=!!n,s=String(e).replace(/\n$/,"");if(a&&n){const o=n[1]??"plaintext";return o==="mermaid"?i.jsx(ke,{code:s}):i.jsx(he,{language:o,code:s})}return i.jsx("code",{className:d.inlineCode,...t,children:e})}function _e({className:r,children:e,...t}){return/language-(\w+)/.test(r??"")?i.jsx("pre",{children:i.jsx("code",{children:String(e).replace(/\n$/,"")})}):i.jsx("code",{className:d.inlineCode,...t,children:e})}const be=[U,O],je=[A],Ie=[],x=m.memo(function({text:e,assetBase:t=null,owningPaneId:n=null,workspaceCwd:a=null,lean:s=!1}){return i.jsx(V,{remarkPlugins:be,rehypePlugins:s?Ie:je,components:{code:s?_e:xe,img:o=>i.jsx(ce,{...o,assetBase:t,owningPaneId:n,workspaceCwd:a}),a:o=>i.jsx(de,{...o,assetBase:t,owningPaneId:n,workspaceCwd:a})},children:e})});function Te({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){return i.jsx("div",{className:d.prose,children:i.jsx(x,{text:r,assetBase:e,owningPaneId:t,workspaceCwd:n})})}function Le({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){const{blocks:a,tail:s}=m.useMemo(()=>pe(r),[r]);return i.jsxs("div",{className:`${d.prose} ${d.streaming}`,children:[a.map((o,u)=>i.jsx(x,{text:o,assetBase:e,owningPaneId:t,workspaceCwd:n},u)),s!==""&&i.jsx(x,{text:s,lean:!0,assetBase:e,owningPaneId:t,workspaceCwd:n})]})}export{Te as M,Le as S,C as r};
@@ -1 +1 @@
1
- import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as f}from"./vendor-query-i7fr__Xm.js";import{u as i,t as m,a as y}from"./index-BHHAK0f5.js";function p(o,s=!0){var u;const l=i(e=>e.client),n=i(e=>e.daemon),c=f({queryKey:y.fileDownload(o),queryFn:async()=>{if(!l||!n)throw new Error("not connected");const e=await m(n).download(o),t=new Blob([Uint8Array.from(e.bytes)],{type:e.mimeType||"application/octet-stream"});return{objectUrl:URL.createObjectURL(t),mimeType:e.mimeType,fileName:e.fileName}},enabled:!!l&&!!n&&!!o&&s,staleTime:1/0,gcTime:0}),r=a.useRef(null);return a.useEffect(()=>{var t;const e=((t=c.data)==null?void 0:t.objectUrl)??null;e&&r.current&&r.current!==e&&URL.revokeObjectURL(r.current),r.current=e},[(u=c.data)==null?void 0:u.objectUrl]),a.useEffect(()=>()=>{r.current&&URL.revokeObjectURL(r.current)},[]),c}export{p as u};
1
+ import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as f}from"./vendor-query-i7fr__Xm.js";import{u as i,t as m,a as y}from"./index-CBBgHVBM.js";function p(o,s=!0){var u;const l=i(e=>e.client),n=i(e=>e.daemon),c=f({queryKey:y.fileDownload(o),queryFn:async()=>{if(!l||!n)throw new Error("not connected");const e=await m(n).download(o),t=new Blob([Uint8Array.from(e.bytes)],{type:e.mimeType||"application/octet-stream"});return{objectUrl:URL.createObjectURL(t),mimeType:e.mimeType,fileName:e.fileName}},enabled:!!l&&!!n&&!!o&&s,staleTime:1/0,gcTime:0}),r=a.useRef(null);return a.useEffect(()=>{var t;const e=((t=c.data)==null?void 0:t.objectUrl)??null;e&&r.current&&r.current!==e&&URL.revokeObjectURL(r.current),r.current=e},[(u=c.data)==null?void 0:u.objectUrl]),a.useEffect(()=>()=>{r.current&&URL.revokeObjectURL(r.current)},[]),c}export{p as u};
@@ -1 +1 @@
1
- import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as w}from"./index-BHHAK0f5.js";function b(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="file_changed"&&"path"in e&&typeof e.path=="string"}const l=new WeakMap;function p(e,t,i){let s=l.get(e);s||(s=new Map,l.set(e,s));let o=s.get(t);if(!o){const r={count:0,resolvedPath:null,listeners:new Set,dispose:()=>{}},f=e.connection.onSessionMessage(c=>{const n=c;if(!b(n)||n.path!==t&&n.path!==r.resolvedPath)return;const d=Date.now();for(const h of r.listeners)h(d)});e.connection.request("file_watch_subscribe",{path:t}).then(c=>{const n=c;if((n==null?void 0:n.ok)===!1){console.warn(`watchFile: ${n.error??"subscribe failed"} for "${t}"`);return}typeof(n==null?void 0:n.path)=="string"&&(r.resolvedPath=n.path)}).catch(()=>{}),r.dispose=()=>{f(),e.connection.request("file_watch_unsubscribe",{path:t}).catch(()=>{})},o=r,s.set(t,o)}o.count++,o.listeners.add(i);let u=!1;return()=>{if(u)return;u=!0;const r=s.get(t);r&&(r.listeners.delete(i),r.count--,r.count===0&&(s.delete(t),r.dispose()))}}function v(e){const t=w(o=>o.client),[i,s]=a.useState(null);return a.useEffect(()=>{if(!(!t||!e))return p(t,e,s)},[t,e]),{changedAt:i}}export{v as u};
1
+ import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as w}from"./index-CBBgHVBM.js";function b(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="file_changed"&&"path"in e&&typeof e.path=="string"}const l=new WeakMap;function p(e,t,i){let s=l.get(e);s||(s=new Map,l.set(e,s));let o=s.get(t);if(!o){const r={count:0,resolvedPath:null,listeners:new Set,dispose:()=>{}},f=e.connection.onSessionMessage(c=>{const n=c;if(!b(n)||n.path!==t&&n.path!==r.resolvedPath)return;const d=Date.now();for(const h of r.listeners)h(d)});e.connection.request("file_watch_subscribe",{path:t}).then(c=>{const n=c;if((n==null?void 0:n.ok)===!1){console.warn(`watchFile: ${n.error??"subscribe failed"} for "${t}"`);return}typeof(n==null?void 0:n.path)=="string"&&(r.resolvedPath=n.path)}).catch(()=>{}),r.dispose=()=>{f(),e.connection.request("file_watch_unsubscribe",{path:t}).catch(()=>{})},o=r,s.set(t,o)}o.count++,o.listeners.add(i);let u=!1;return()=>{if(u)return;u=!0;const r=s.get(t);r&&(r.listeners.delete(i),r.count--,r.count===0&&(s.delete(t),r.dispose()))}}function v(e){const t=w(o=>o.client),[i,s]=a.useState(null);return a.useEffect(()=>{if(!(!t||!e))return p(t,e,s)},[t,e]),{changedAt:i}}export{v as u};
@@ -1 +1 @@
1
- import{u as o}from"./vendor-query-i7fr__Xm.js";import{u as n,a as u}from"./index-BHHAK0f5.js";function c(r=!0){const e=n(t=>t.client);return o({queryKey:u.providerAuthList(),queryFn:()=>{if(!e)throw new Error("not connected");return e.listProviderAuth()},enabled:!!e&&r})}export{c as u};
1
+ import{u as o}from"./vendor-query-i7fr__Xm.js";import{u as n,a as u}from"./index-CBBgHVBM.js";function c(r=!0){const e=n(t=>t.client);return o({queryKey:u.providerAuthList(),queryFn:()=>{if(!e)throw new Error("not connected");return e.listProviderAuth()},enabled:!!e&&r})}export{c as u};
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
7
  <title>Pi-Studio</title>
8
- <script type="module" crossorigin src="/assets/index-BHHAK0f5.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-CBBgHVBM.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DQUAl2K8.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-query-i7fr__Xm.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/vendor-CIkm_8TG.js">
@@ -13,7 +13,7 @@
13
13
  <link rel="modulepreload" crossorigin href="/assets/vendor-overlays-DAY3g68r.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/vendor-dnd-CayJj8TC.js">
15
15
  <link rel="stylesheet" crossorigin href="/assets/vendor-CEK31ho9.css">
16
- <link rel="stylesheet" crossorigin href="/assets/index-BfVJBlu4.css">
16
+ <link rel="stylesheet" crossorigin href="/assets/index-ggD4eKe_.css">
17
17
  </head>
18
18
  <body>
19
19
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@av-pi-studio/web-client",
3
- "version": "0.0.94",
3
+ "version": "0.0.96",
4
4
  "files": [
5
5
  "dist",
6
6
  "!dist/**/*.map",
@@ -16,8 +16,8 @@
16
16
  "clean": "rm -rf dist *.tsbuildinfo"
17
17
  },
18
18
  "devDependencies": {
19
- "@av-pi-studio/client": "^0.0.94",
20
- "@av-pi-studio/protocol": "^0.0.94",
19
+ "@av-pi-studio/client": "^0.0.96",
20
+ "@av-pi-studio/protocol": "^0.0.96",
21
21
  "@codemirror/language": "^6.12.4",
22
22
  "@codemirror/language-data": "^6.5.2",
23
23
  "@codemirror/state": "^6.7.1",
@@ -1 +0,0 @@
1
- var X=Object.defineProperty;var J=(r,e,t)=>e in r?X(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var D=(r,e,t)=>J(r,typeof e!="symbol"?e+"":e,t);import{r as s,j as T}from"./vendor-react-DQUAl2K8.js";import{x as K,a as Q}from"./vendor-terminal-BhzX2_ts.js";import{e as L,u as Z,f as $,g as ee,h as Y,S as te,i as re,j as ne}from"./index-BHHAK0f5.js";import"./vendor-CIkm_8TG.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-icons-oIrAStms.js";import"./vendor-overlays-DAY3g68r.js";import"./vendor-dnd-CayJj8TC.js";class se{constructor(e){D(this,"subscribers",new Map);D(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(L({opcode:"Input",slot:e,data:t}))}sendResize(e,t,d){this.daemon.sendBinary(L({opcode:"Resize",slot:e,rows:t,cols:d}))}dispatch(e){var d,y,h;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":(y=t.onSnapshot)==null||y.call(t,e.data);return;case"Restore":(h=t.onRestore)==null||h.call(t,e.data);return;default:return}}}const oe=2,ce=1;function _(r){if(r==null)return!1;const{cols:e,rows:t}=r;return typeof e=="number"&&Number.isInteger(e)&&e>=oe&&typeof t=="number"&&Number.isInteger(t)&&t>=ce}function ue(r,e){return r===null||e===null?r===e:r.cols===e.cols&&r.rows===e.rows}function ie(r,e){return _(r)?!ue(r,e):!1}const ae="_wrap_7fmht_1",le="_terminal_7fmht_12",fe="_statusOverlay_7fmht_19",k={wrap:ae,terminal:le,statusOverlay:fe},de=64*1024,G=new TextEncoder,W=new WeakMap;function me(r){let e=W.get(r);return e||(e=new se(r),e.start(),W.set(r,e)),e}function V(r){const e=Y.getState(),t=e.tabs.find(d=>d.id===r);return!t||t.workspaceCwd!==e.activeWorkspaceCwd?!1:re(ne.getState().layouts[t.workspaceCwd],r)}const he={background:"#181b1a",foreground:"#fafafa",cursor:"#a2b4d7",cursorAccent:"#181b1a",selectionBackground:"rgba(255,255,255,0.18)",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#14b8a6",white:"#d4d4d8",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#2dd4bf",brightWhite:"#fafafa"};function Ae({tab:r}){const e=r.data,t=Z(n=>n.client),d=$(r.id),y=s.useRef(null),h=s.useRef(null),R=s.useRef(null),v=s.useRef(e.slot),q=s.useRef(null),I=s.useRef([]),z=s.useRef(0),F=s.useRef(null),A=s.useRef(null),w=s.useRef(null),E=s.useRef(null),N=s.useRef(!1),j=s.useRef(t);j.current=t;const[g,H]=s.useState(e.slot),[O,M]=s.useState({isAttaching:!0,error:null}),x=()=>{var c,a;const n=(c=R.current)==null?void 0:c.proposeDimensions();(a=A.current)==null||a.call(A,_(n)?n:null)},U=()=>{var n;E.current=null,N.current=!0,(n=R.current)==null||n.fit(),x(),requestAnimationFrame(()=>{N.current=!1})},P=()=>{w.current!==null&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{w.current=null,E.current===null&&(E.current=requestAnimationFrame(U))},60)};s.useEffect(()=>{const n=y.current;if(!n)return;const c=new K.Terminal({cursorBlink:!0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:ee.sm,scrollback:5e3,theme:he,allowProposedApi:!0}),a=new Q.FitAddon;c.loadAddon(a),c.open(n);const m=o=>{if(!V(r.id))return;const i=v.current,b=q.current;i===null||!b||ie(o,F.current)&&(F.current=o,b.sendResize(i,o.rows,o.cols))},l=c.onData(o=>{const i=v.current,b=q.current;if(i===null||!b){const C=G.encode(o);z.current+C.length<=de&&(I.current.push(C),z.current+=C.length);return}b.sendInput(i,G.encode(o))}),f=c.onResize(({cols:o,rows:i})=>{m({cols:o,rows:i})}),p=()=>{a.fit(),x()};n.addEventListener("focusin",p),a.fit(),h.current=c,R.current=a,A.current=m;const u=new ResizeObserver(o=>{if(N.current)return;const i=o[0];i&&(i.contentRect.width===0||i.contentRect.height===0)||P()});return u.observe(n),()=>{u.disconnect(),w.current!==null&&window.clearTimeout(w.current),E.current!==null&&cancelAnimationFrame(E.current),n.removeEventListener("focusin",p),l.dispose(),f.dispose(),c.dispose(),h.current=null,R.current=null,A.current=null}},[]);const S=s.useRef(!1),B=s.useRef(!1);return s.useEffect(()=>{var m;if(S.current=!0,!t||v.current!==null||B.current)return()=>{S.current=!1};B.current=!0;const n=e.cwd||"~",c=(m=R.current)==null?void 0:m.proposeDimensions(),a=_(c)?c:null;return t.connection.request("create_terminal_request",{workspaceId:"",cwd:n,...a?{cols:a.cols,rows:a.rows}:{}}).then(l=>{const f=l.terminal.slot;if(!S.current){t.connection.request("kill_terminal_request",{slot:f}).catch(()=>{});return}v.current=f,H(f),Y.getState().updateData(r.id,{slot:f});const p={cols:l.terminal.cols,rows:l.terminal.rows};F.current=_(p)?p:null}).catch(l=>{S.current&&M({isAttaching:!1,error:l instanceof Error?l.message:String(l)})}).finally(()=>{B.current=!1}),()=>{S.current=!1}},[t,r.id]),s.useEffect(()=>()=>{const n=v.current;n!==null&&setTimeout(()=>{var c;S.current||(c=j.current)==null||c.connection.request("kill_terminal_request",{slot:n}).catch(()=>{})},0)},[]),s.useEffect(()=>{var p;if(!t||g===null)return;M({isAttaching:!0,error:null});const n=me(t.connection);q.current=n;const c=u=>{var o,i;(o=h.current)==null||o.reset(),(i=h.current)==null||i.write(u)},a=n.subscribeSlot(g,{onOutput:u=>{var o;return(o=h.current)==null?void 0:o.write(u)},onSnapshot:c,onRestore:c});let m=!1;const l=(p=R.current)==null?void 0:p.proposeDimensions(),f=_(l)&&V(r.id)?l:null;return t.connection.request("subscribe_terminal_request",{slot:g,...f?{cols:f.cols,rows:f.rows}:{}}).then(u=>{if(m)return;M({isAttaching:!1,error:null});const o=I.current;I.current=[],z.current=0;for(const b of o)n.sendInput(g,b);const i={cols:u==null?void 0:u.cols,rows:u==null?void 0:u.rows};F.current=_(i)?i:f,x()}).catch(u=>{m||(I.current=[],z.current=0,M({isAttaching:!1,error:u instanceof Error?u.message:String(u)}))}),()=>{m=!0,a(),q.current=null,t.connection.request("unsubscribe_terminal_request",{slot:g}).catch(()=>{})}},[t,g]),s.useEffect(()=>{d&&P()},[d]),T.jsxs("div",{className:k.wrap,children:[T.jsx("div",{ref:y,className:k.terminal}),O.error?T.jsxs("div",{className:k.statusOverlay,children:["Terminal error: ",O.error]}):O.isAttaching?T.jsxs("div",{className:k.statusOverlay,children:[T.jsx(te,{size:"sm"})," Starting terminal…"]}):null]})}export{Ae as TerminalPanel};
@@ -1 +0,0 @@
1
- ._wrap_7fmht_1{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;width:100%;overflow:hidden;background:var(--pi-terminal-bg)}._terminal_7fmht_12{flex:1 1 auto;min-height:0;width:100%;overflow:hidden;padding:var(--pi-spacing-6) var(--pi-spacing-8)}._statusOverlay_7fmht_19{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:var(--pi-spacing-8);background:var(--pi-terminal-bg);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}