@puddle-code/cli 0.0.15 → 0.0.16

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 (42) hide show
  1. package/CHANGELOG.md +25 -3
  2. package/dist/index.js +18 -3
  3. package/dist/public/assets/Dashboard-CtZlkE5U.js +1 -0
  4. package/dist/public/assets/EditorTabClose-BFw75E8R.js +1 -0
  5. package/dist/public/assets/LazyTerminal-cG7dCkyV.js +2 -0
  6. package/dist/public/assets/ModelRefcount-IW7hUUf9.js +1 -0
  7. package/dist/public/assets/PaneEditorBody-DA3-1W6W.js +322 -0
  8. package/dist/public/assets/SettingsDialog-D-oGeh0Z.js +1 -0
  9. package/dist/public/assets/{Terminal-CiY2j4Lf.js → Terminal-NijDOcpZ.js} +18 -18
  10. package/dist/public/assets/Workspace-hBoBilwE.js +7 -0
  11. package/dist/public/assets/{api-Bh5IJ30S.js → api-DT1aed3K.js} +1 -1
  12. package/dist/public/assets/{buffer-store-DXk7xJbf.js → buffer-store-CaznA05X.js} +3 -3
  13. package/dist/public/assets/context-menu-DpbvYsmG.js +1 -0
  14. package/dist/public/assets/{cssMode-CLS4Lxn3.js → cssMode-DrMmLKy7.js} +1 -1
  15. package/dist/public/assets/dist-i-QevsUb.js +1 -0
  16. package/dist/public/assets/editor-sync-f1V6Wuxn.js +1 -0
  17. package/dist/public/assets/editor-tabs-QRn6z-xC.js +1 -0
  18. package/dist/public/assets/{htmlMode-D06Q5AQV.js → htmlMode-D7fMiQgq.js} +1 -1
  19. package/dist/public/assets/index-BJ6qpNjc.js +10 -0
  20. package/dist/public/assets/index-qL_4L359.css +2 -0
  21. package/dist/public/assets/{jsonMode-BvuUERD4.js → jsonMode-Ck9UDuO6.js} +1 -1
  22. package/dist/public/assets/profile-store--YCT1sQn.js +1 -0
  23. package/dist/public/assets/{session-seed-Y4nqH0Gc.js → session-seed-BH2gKlwV.js} +1 -1
  24. package/dist/public/assets/ssh-mode-02k1gbAH.js +1 -0
  25. package/dist/public/assets/{tsMode-B3xMhn80.js → tsMode-DtQBZIna.js} +1 -1
  26. package/dist/public/index.html +5 -5
  27. package/package.json +1 -1
  28. package/dist/public/assets/Dashboard-C0aXpVU1.js +0 -1
  29. package/dist/public/assets/EditorTabClose-DBiuZxHR.js +0 -1
  30. package/dist/public/assets/LazyTerminal-yHVhpi-E.js +0 -2
  31. package/dist/public/assets/ModelRefcount-ByUhfyK3.js +0 -1
  32. package/dist/public/assets/PaneEditorBody-9TcMQDtu.js +0 -322
  33. package/dist/public/assets/SettingsDialog-BJgpD7Gc.js +0 -1
  34. package/dist/public/assets/Workspace-CuEhq5jJ.js +0 -6
  35. package/dist/public/assets/context-menu-Bw30Lg7d.js +0 -1
  36. package/dist/public/assets/dist-VDiYuPKw.js +0 -1
  37. package/dist/public/assets/editor-sync-F3Wyveaa.js +0 -1
  38. package/dist/public/assets/editor-tabs-D0_DZriG.js +0 -1
  39. package/dist/public/assets/index-Ba4ffI1I.js +0 -10
  40. package/dist/public/assets/index-DWY2t2XS.css +0 -2
  41. package/dist/public/assets/poll-focus-B7dQPFj6.js +0 -1
  42. package/dist/public/assets/ssh-mode-BvVBPtPI.js +0 -1
package/CHANGELOG.md CHANGED
@@ -7,9 +7,31 @@ Past releases: see docs/changelogs/.
7
7
 
8
8
  # Changelog
9
9
 
10
- ## [0.0.15] — 2026-07-29
10
+ ## [0.0.16] — 2026-07-31
11
11
 
12
12
  ### Added
13
13
 
14
- - Previews typeset **LaTeX** with KaTeX `$…$` / `\(…\)` inline, `$$…$$` / `\[…\]` / ` ```math ` display in both the markdown and the HTML view. KaTeX over MathJax: it is synchronous and needs no live document, so a preview re-renders on every keystroke and the sandboxed HTML iframe's maths is typeset before the document is serialised into it (its fonts travel baked into the document, since a null origin cannot load a font from ours). `$…$` follows pandoc's rules, so prose currency stays prose.
15
- - README: hero screenshot of the desktop cockpit a live Claude Code session split beside the rendered README (light + dark under `docs/assets/`).
14
+ - The file tree can now walk above the worktree: a `..` row enters a browse of parent directories (auto-pinning the sidebar so it stays put), and files open as fully editable tabs drafts, dirty dots, conflict-safe saves, and cross-window sync all work outside the worktree, keyed by the file's absolute location. The browse tree itself stays mutation-free (no rename/delete out there). Protocol 10.2/10.4: optional `root=` on the worktree file routes.
15
+ - The new-project dialog gains a "browse…" folder picker that walks the daemon host's directories graphically (git repositories flagged, chosen on click) works identically over SSH, unlike an OS file dialog.
16
+ - Double-clicking the blank tail of a pane's tab strip opens a fresh untitled draft — worktree-agnostic, held in the profile's untitled store and persisted while you type; ⌘S opens a save-as dialogue that places it into the bound worktree, and closing the tab discards it (confirmed first). Protocol 10.3.
17
+ - Desktop app: File → Refresh Connection (⌘⌥R) restarts the focused window's cockpit — the same stop-and-reconnect as the UI's connection banner, reachable even when the page is wedged.
18
+ - Narrow-viewport (phone) workspace layout: below 768px the sidebars open as overlays from their rails instead of crushing the terminal, dismissing on backdrop tap or navigation; hover-revealed controls (tab closes, row menus, card actions) are always visible on touch devices.
19
+
20
+ ### Fixed
21
+
22
+ - Returning to a session could leave the terminal unable to scroll (typing still worked) until a reload: a viewport sync that fired while the tab's DOM was parked latched the scroll range at zero height, and returning to an unchanged pane size never re-synced it. Re-attaching now forces the sync.
23
+
24
+ - Part of the terminal (typically the bottom half) could go blank after a resize until a selection forced a repaint: the terminal now repaints in full after every geometry change and renderer swap.
25
+ - The collapsed session rail's tooltips opened upward, covering the dots above; they now open to the left, and a dot's tooltip additionally shows the session's agent type and account.
26
+ - The editor find widget's close button could not be clicked: Monaco 0.55's button tooltips render inside the editor container, and for the rightmost button the label wrapped into a box tall enough to cover the button and swallow its clicks. Tooltips are now single-line and click-transparent.
27
+ - Waiting-input notifications silently never fired for browsers that had not granted permission: the desktop toggle defaults to on but the permission prompt only ever ran on a toggle click. The Notifications settings row now shows the live permission state (unrequested, blocked, or unsupported) with an inline request link.
28
+ - Waiting-input notifications were dropped when the session was in no cached query list (e.g. a tab parked on the dashboard); delivery now falls back to fetching the session list.
29
+
30
+ ### Changed
31
+
32
+ - The file tree fully honours a multi-selection: dragging a selected row moves the whole selection (with an "N items" drag chip), and Download and Copy (Relative) Path act on every selected entry — like cut/copy/delete already did. A selection holding a folder and its descendants is pruned to the folder before acting.
33
+ - The Files header sheds its New File / New Folder buttons — creation lives in the tree's context menus (right-click a folder or empty space), leaving the header cluster at Refresh · Collapse Folders.
34
+ - Tab-chip close and preview-toggle buttons no longer reserve width when hidden: they appear only on the tab's hover (always shown on touch), so at rest the title runs to the chip's edge with no trailing gap. A dirty editor tab keeps its always-visible dot, morphing into the × on hover.
35
+ - Commit subjects in the Changes history marquee-scroll on their row's hover — a too-long title eases leftwards to reveal its tail, like branch names in the Worktrees navigator.
36
+ - Highlighting text in a terminal no longer auto-copies it: an agent's selection-copy (OSC 52) is held back until the copy chord — ⌘C on Mac, Ctrl+Shift+C elsewhere — commits it, matching how a local selection copies.
37
+ - Swap the session status colours: a running agent now shows amber (work in motion) and one awaiting input shows green (ready for you), in both themes. Git badges, sign-in states, and caution copy move to new `--success`/`--warning` tokens so they keep their conventional green/amber hues.
package/dist/index.js CHANGED
@@ -4171,7 +4171,7 @@ import { readFileSync } from "node:fs";
4171
4171
  import { dirname, join as join2 } from "node:path";
4172
4172
  import { fileURLToPath } from "node:url";
4173
4173
  function cliVersion() {
4174
- if (true) return "0.0.15";
4174
+ if (true) return "0.0.16";
4175
4175
  const here = dirname(fileURLToPath(import.meta.url));
4176
4176
  for (const candidate of [
4177
4177
  join2(here, "..", "..", "package.json"),
@@ -4427,7 +4427,7 @@ function openBrowser(url2, platform = process.platform) {
4427
4427
  import { join as join6 } from "node:path";
4428
4428
 
4429
4429
  // ../shared/src/protocol.ts
4430
- var PROTOCOL_VERSION = { major: 10, minor: 1 };
4430
+ var PROTOCOL_VERSION = { major: 10, minor: 4 };
4431
4431
 
4432
4432
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
4433
4433
  var external_exports = {};
@@ -19123,6 +19123,15 @@ var profileSettingsSchema = external_exports.looseObject({
19123
19123
  hotkeys: external_exports.record(external_exports.string(), external_exports.string()).optional()
19124
19124
  });
19125
19125
  var patchProfileSettingsRequestSchema = external_exports.record(external_exports.string(), external_exports.unknown());
19126
+ var untitledNameSchema = external_exports.string().regex(/^untitled-\d+\.md$/);
19127
+ var createUntitledResponseSchema = external_exports.object({ name: untitledNameSchema });
19128
+ var untitledFileResponseSchema = external_exports.object({
19129
+ name: untitledNameSchema,
19130
+ content: external_exports.string(),
19131
+ mtime_ms: external_exports.number()
19132
+ });
19133
+ var putUntitledRequestSchema = external_exports.object({ content: external_exports.string() });
19134
+ var putUntitledResponseSchema = external_exports.object({ mtime_ms: external_exports.number() });
19126
19135
 
19127
19136
  // ../shared/src/api/accounts.ts
19128
19137
  var accountSchema = external_exports.object({
@@ -19460,8 +19469,14 @@ var patchScratchpadRequestSchema = external_exports.object({
19460
19469
  var editorTabRefSchema = external_exports.object({
19461
19470
  session: sessionId,
19462
19471
  path: external_exports.string(),
19463
- kind: external_exports.enum(["file", "diff", "commit"]).optional(),
19472
+ kind: external_exports.enum(["file", "diff", "commit", "external", "untitled"]).optional(),
19464
19473
  sha: external_exports.string().optional(),
19474
+ /**
19475
+ * Set only for `external` tabs (protocol 10.2): the absolute browse root the
19476
+ * explorer's parent-navigation opened this file under — `path` is relative
19477
+ * to it. External tabs are full editors since 10.4 (SPEC §8).
19478
+ */
19479
+ root: external_exports.string().optional(),
19465
19480
  /**
19466
19481
  * How a `file` tab renders: Monaco (`source`, the default when absent) or a
19467
19482
  * rendered `preview` — meaningful only for previewable types (markdown,
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{t as n}from"./jsx-runtime-ffCh33zF.js";import{r}from"./profile-store--YCT1sQn.js";import{S as i,a}from"./api-DT1aed3K.js";import{a as o,g as s,i as c,n as l,o as u,t as d}from"./dialog-B43iKmfK.js";import{$ as f,B as p,I as m,J as h,L as g,U as _,a as v,i as y,nt as b,t as x,tt as S}from"./LazyTerminal-cG7dCkyV.js";import{t as C}from"./utils-B6KiDbIe.js";import{A as w,O as T,c as E,j as D,k as O,n as k,r as A,t as j}from"./context-menu-DpbvYsmG.js";import{r as M}from"./dist-i-QevsUb.js";import{I as N,K as P,N as F,Q as I,dt as L}from"./index-BJ6qpNjc.js";var R=e(t(),1),z=n(),B=!1;function V(){let[e,t]=(0,R.useState)(B),[n,r]=(0,R.useState)(null);(0,R.useEffect)(()=>{if(!e)return;let t=!1;return N.spawnShell(a).then(e=>{t||r(e)}),()=>{t=!0}},[e]);let i=()=>{B=!1,t(!1),r(null)};return{open:e,term:n,toggle:()=>{e?(n&&N.killShell(a,n),i()):(B=!0,t(!0))},onExit:i}}function H({term:e,onExit:t}){return(0,z.jsx)(`div`,{className:`h-72 shrink-0 pb-6`,children:(0,z.jsx)(`div`,{className:`mx-auto size-full max-w-4xl px-6`,children:e!==null&&(0,z.jsx)(x,{stream:`home`,term:e,onExit:t})})})}var U=[{status:`running`,colour:`bg-running`},{status:`waiting_input`,colour:`bg-waiting`},{status:`interrupted`,colour:`bg-interrupted`}];function W({projectId:e}){let t=f(e),n=(0,R.useMemo)(()=>{let e=new Map;for(let n of t.data??[])e.set(n.status,(e.get(n.status)??0)+1);return e},[t.data]),r=(t.data??[]).filter(e=>e.status!==`archived`).length;return(0,z.jsxs)(`div`,{className:`flex items-center gap-3 text-2xs text-fg-muted tabular-nums`,children:[(0,z.jsxs)(`span`,{children:[r,` session`,r===1?``:`s`]}),U.map(({status:e,colour:t})=>{let r=n.get(e)??0;return r===0?null:(0,z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,z.jsx)(`span`,{className:`size-1.5 rounded-full ${t}`}),r,` `,e.replace(`_`,` `)]},e)})]})}function G({icon:e,label:t,onClick:n}){return(0,z.jsx)(`button`,{type:`button`,"aria-label":t,title:t,onClick:e=>{e.preventDefault(),e.stopPropagation(),n()},className:`flex items-center rounded-md p-1.5 text-fg-muted transition-colors hover:bg-ground hover:text-fg`,children:(0,z.jsx)(e,{className:`size-4`})})}function K({project:e,repoPath:t,draggable:n,dragging:r,onDragStart:a,onDragEnd:f,onDragOver:p}){let m=g(),[h,_]=(0,R.useState)(!1),[v,x]=(0,R.useState)(e.name),T=t=>m.mutate({id:e.id,archived:t},{onError:e=>i.error(e.message)}),O=()=>{let t=v.trim();if(!t||t===e.name){_(!1);return}m.mutate({id:e.id,name:t},{onSuccess:()=>_(!1),onError:e=>i.error(e.message)})};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(E,{asChild:!0,children:(0,z.jsxs)(`div`,{draggable:n,onDragStart:a,onDragEnd:f,onDragOver:p,className:C(`group relative transition-opacity`,r&&`opacity-50`),children:[(0,z.jsxs)(L,{draggable:!1,to:`/project/${e.id}`,className:`block rounded-lg bg-surface p-4 transition-colors hover:bg-elevated`,children:[(0,z.jsx)(`h2`,{className:`truncate pr-16 text-base font-semibold text-fg group-hover:text-accent`,children:e.name}),(0,z.jsx)(`p`,{className:`mt-1 truncate font-mono text-2xs text-fg-muted`,children:t??`…`}),(0,z.jsx)(`div`,{className:`mt-3`,children:(0,z.jsx)(W,{projectId:e.id})})]}),(0,z.jsx)(`div`,{className:`absolute right-2 top-2 hidden gap-0.5 group-hover:flex has-[[data-state=open]]:flex pointer-coarse:flex`,children:e.archived?(0,z.jsx)(G,{icon:D,label:`Reopen project`,onClick:()=>T(!1)}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(G,{icon:y,label:`Rename project`,onClick:()=>{x(e.name),_(!0)}}),(0,z.jsx)(G,{icon:w,label:`Archive project`,onClick:()=>T(!0)})]})})]})}),(0,z.jsx)(k,{children:e.archived?(0,z.jsxs)(A,{onSelect:()=>T(!1),children:[(0,z.jsx)(D,{}),` Reopen`]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(A,{onSelect:()=>{x(e.name),_(!0)},children:[(0,z.jsx)(y,{}),` Rename`]}),(0,z.jsxs)(A,{onSelect:()=>T(!0),children:[(0,z.jsx)(w,{}),` Archive`]})]})})]}),(0,z.jsx)(d,{open:h,onOpenChange:_,children:(0,z.jsxs)(l,{children:[(0,z.jsx)(o,{children:(0,z.jsx)(u,{children:`Rename project`})}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),O()},children:[(0,z.jsx)(b,{value:v,onChange:e=>x(e.target.value),autoFocus:!0}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,z.jsx)(S,{className:`text-fg-muted`,children:`Path`}),(0,z.jsx)(`p`,{className:`truncate font-mono text-2xs text-fg-muted`,children:t??`…`})]}),(0,z.jsxs)(c,{children:[(0,z.jsx)(s,{type:`button`,variant:`ghost`,onClick:()=>_(!1),children:`Cancel`}),(0,z.jsx)(s,{type:`submit`,disabled:!v.trim()||m.isPending,children:`Rename`})]})]})]})})]})}function q({icon:e,label:t,hint:n,onClick:r}){return(0,z.jsxs)(`button`,{type:`button`,onClick:r,className:`group flex flex-col rounded-lg bg-surface p-4 text-left transition-colors hover:bg-elevated`,children:[(0,z.jsxs)(`h2`,{className:`flex items-center gap-2 truncate text-base font-semibold text-fg group-hover:text-accent`,children:[(0,z.jsx)(e,{className:`size-4 shrink-0`}),t]}),(0,z.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:n})]})}function J(){let e=r(),t=_(e??void 0),n=h(),i=p(e??void 0),a=m(e??``),[o,s]=(0,R.useState)(!1),[c,l]=(0,R.useState)(null),[u,d]=(0,R.useState)(!1),f=V(),g=e=>n.data?.find(t=>t.id===e)?.path,y=t.data??[],b=i.data?.projectOrder??[],x=T(y.filter(e=>!e.archived),b),S=y.filter(e=>e.archived),E=(e,t)=>{e!==t&&a.mutate({projectOrder:O(x.map(e=>e.id),e,t)})};return(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-4xl p-6`,children:[y.length===0&&(0,z.jsxs)(`div`,{className:`mb-8 mt-16 flex flex-col items-center gap-3 text-center`,children:[(0,z.jsx)(v,{className:`size-8 text-fg-muted`}),(0,z.jsx)(`p`,{className:`text-sm text-fg-secondary`,children:`No projects yet — open one below, or press ⌘K.`})]}),(0,z.jsxs)(`div`,{className:`grid auto-rows-fr grid-cols-1 gap-3 sm:grid-cols-2`,children:[x.map(e=>(0,z.jsx)(K,{project:e,repoPath:g(e.repo_id),draggable:!0,dragging:c===e.id,onDragStart:()=>l(e.id),onDragEnd:()=>l(null),onDragOver:t=>{t.preventDefault(),c&&c!==e.id&&E(c,e.id)}},e.id)),(0,z.jsx)(q,{icon:I,label:`Open project`,hint:`Point at a repository on this host`,onClick:()=>s(!0)}),(0,z.jsx)(q,{icon:P,label:f.open?`Close terminal`:`Open terminal`,hint:f.open?`End the shell below`:`A shell at ~ for cloning repositories`,onClick:f.toggle})]}),S.length>0&&(0,z.jsxs)(`div`,{className:`mt-6`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`flex items-center gap-1.5 px-1 py-1.5 text-2xs uppercase tracking-wide text-fg-muted transition-colors hover:text-fg`,children:[(0,z.jsx)(M,{className:C(`size-3 transition-transform`,u&&`rotate-90`)}),(0,z.jsx)(w,{className:`size-3`}),(0,z.jsx)(`span`,{children:`Archived`}),(0,z.jsx)(`span`,{className:`tabular-nums`,children:S.length})]}),u&&(0,z.jsx)(`div`,{className:`mt-2 grid grid-cols-1 gap-3 sm:grid-cols-2`,children:S.map(e=>(0,z.jsx)(K,{project:e,repoPath:g(e.repo_id),draggable:!1,dragging:!1,onDragStart:()=>{},onDragEnd:()=>{},onDragOver:()=>{}},e.id))})]})]})}),f.open&&(0,z.jsx)(H,{term:f.term,onExit:f.onExit}),e!==null&&(0,z.jsx)(F,{profileId:e,open:o,onOpenChange:s})]})}export{J as Dashboard};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{t as n}from"./jsx-runtime-ffCh33zF.js";import{a as r,g as i,h as a,i as o,n as s,o as c,r as l,t as u}from"./dialog-B43iKmfK.js";import{t as d}from"./utils-B6KiDbIe.js";import{t as f}from"./createLucideIcon-DyMAgLa3.js";import{l as p,r as m,t as h}from"./buffer-store-CaznA05X.js";import{s as g,t as _}from"./editor-sync-f1V6Wuxn.js";var v=f(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),y=e(t(),1),b=n();function x(e,t,n){let r=h(e,t,n);return(0,y.useSyncExternalStore)((0,y.useCallback)(e=>p(r,e),[r]),()=>m(r))}function S({session:e,path:t,kind:n,root:f,label:p,onClose:m}){let h=x(e,t,f)&&n!==`commit`,[S,C]=(0,y.useState)(!1),w=()=>h?C(!0):m();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`button`,{onClick:e=>{e.stopPropagation(),w()},className:d(`size-4 items-center justify-center rounded-sm text-fg-muted transition-colors hover:text-fg`,h?`flex`:`hidden group-hover:flex pointer-coarse:flex`),"aria-label":`Close ${p}`,children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:`size-2 fill-current group-hover:hidden`}),(0,b.jsx)(a,{className:`hidden size-3 group-hover:block`})]}):(0,b.jsx)(a,{className:`size-3`})}),(0,b.jsx)(u,{open:S,onOpenChange:e=>!e&&C(!1),children:(0,b.jsxs)(s,{children:[(0,b.jsxs)(r,{children:[(0,b.jsxs)(c,{children:[`Discard changes to `,p,`?`]}),(0,b.jsx)(l,{children:`This file has unsaved changes. Closing the tab will discard them.`})]}),(0,b.jsxs)(o,{children:[(0,b.jsx)(i,{variant:`ghost`,onClick:()=>C(!1),children:`Keep editing`}),(0,b.jsx)(i,{variant:`danger`,onClick:()=>{g(e,t,f),_(e,t,f),C(!1),m()},children:`Discard`})]})]})})]})}export{S as EditorTabClose};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Terminal-NijDOcpZ.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/jsx-runtime-ffCh33zF.js","assets/api-DT1aed3K.js","assets/utils-B6KiDbIe.js","assets/index-BJ6qpNjc.js","assets/profile-store--YCT1sQn.js","assets/preload-helper-Czpn1I53.js","assets/dialog-B43iKmfK.js","assets/createLucideIcon-DyMAgLa3.js","assets/index-qL_4L359.css","assets/ssh-mode-02k1gbAH.js","assets/Terminal-BrP-ENHg.css"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n,t as r}from"./jsx-runtime-ffCh33zF.js";import{a as i,i as a,l as o,o as s}from"./profile-store--YCT1sQn.js";import{t as c}from"./preload-helper-Czpn1I53.js";import{n as l}from"./api-DT1aed3K.js";import{A as u,C as d,O as f,w as p,x as m}from"./dialog-B43iKmfK.js";import{t as h}from"./utils-B6KiDbIe.js";import{t as g}from"./createLucideIcon-DyMAgLa3.js";var _=e(t(),1),v=[`top`,`right`,`bottom`,`left`],y=Math.min,b=Math.max,x=Math.round,S=Math.floor,C=e=>({x:e,y:e}),w={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function T(e,t,n){return b(e,y(t,n))}function E(e,t){return typeof e==`function`?e(t):e}function D(e){return e.split(`-`)[0]}function O(e){return e.split(`-`)[1]}function k(e){return e===`x`?`y`:`x`}function A(e){return e===`y`?`height`:`width`}function j(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function M(e){return k(j(e))}function N(e,t,n){n===void 0&&(n=!1);let r=O(e),i=M(e),a=A(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=B(o)),[o,B(o)]}function P(e){let t=B(e);return[F(e),t,F(t)]}function F(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var I=[`left`,`right`],L=[`right`,`left`],R=[`top`,`bottom`],z=[`bottom`,`top`];function ee(e,t,n){switch(e){case`top`:case`bottom`:return n?t?L:I:t?I:L;case`left`:case`right`:return t?R:z;default:return[]}}function te(e,t,n,r){let i=O(e),a=ee(D(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(F)))),a}function B(e){let t=D(e);return w[t]+e.slice(t.length)}function ne(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function re(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ne(e)}function V(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ie(e,t,n){let{reference:r,floating:i}=e,a=j(t),o=M(t),s=A(o),c=D(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=O(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function ae(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=E(t,e),p=re(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=V(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=V(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var oe=50,se=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ae},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ie(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<oe&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=ie(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ce=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=E(e,t)||{};if(l==null)return{};let d=re(u),f={x:n,y:r},p=M(i),m=A(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,b=g?`clientHeight`:`clientWidth`,x=a.reference[m]+a.reference[p]-f[p]-a.floating[m],S=f[p]-a.reference[p],C=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),w=C?C[b]:0;(!w||!await(o.isElement==null?void 0:o.isElement(C)))&&(w=s.floating[b]||a.floating[m]);let D=x/2-S/2,k=w/2-h[m]/2-1,j=y(d[_],k),N=y(d[v],k),P=w-h[m]-N,F=w/2-h[m]/2+D,I=T(j,F,P),L=!c.arrow&&O(i)!=null&&F!==I&&a.reference[m]/2-(F<j?j:N)-h[m]/2<0,R=L?F<j?F-j:F-P:0;return{[p]:f[p]+R,data:{[p]:I,centerOffset:F-I-R,...L&&{alignmentOffset:R}},reset:L}}}),le=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=E(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=D(r),_=j(o),v=D(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[B(o)]:P(o)),x=p!==`none`;!d&&x&&b.push(...te(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=N(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==j(t))||T.every(e=>j(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=j(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ue(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function de(e){return v.some(t=>e[t]>=0)}var fe=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=E(e,t);switch(i){case`referenceHidden`:{let e=ue(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:de(e)}}}case`escaped`:{let e=ue(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:de(e)}}}default:return{}}}}},pe=new Set([`left`,`top`]);async function me(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=D(n),s=O(n),c=j(n)===`y`,l=pe.has(o)?-1:1,u=a&&c?-1:1,d=E(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var he=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await me(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ge=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=E(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=j(i),p=k(f),m=u[p],h=u[f],g=(e,t)=>T(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},_e=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=E(e,t),u={x:n,y:r},d=j(i),f=k(d),p=u[f],m=u[d],h=E(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=pe.has(D(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},ve=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=E(e,t),c=await i.detectOverflow(t,s),l=D(n),u=O(n),d=j(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=y(p-c[m],g),x=y(f-c[h],_),S=t.middlewareData.shift,C=!S,w=v,T=x;S!=null&&S.enabled.x&&(T=_),S!=null&&S.enabled.y&&(w=g),C&&!u&&(d?T=f-2*b(c.left,c.right):w=p-2*b(c.top,c.bottom)),await o({...t,availableWidth:T,availableHeight:w});let k=await i.getDimensions(a.floating);return f!==k.width||p!==k.height?{reset:{rects:!0}}:{}}}};function ye(){return typeof window<`u`}function H(e){return be(e)?(e.nodeName||``).toLowerCase():`#document`}function U(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function W(e){return((be(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function be(e){return ye()?e instanceof Node||e instanceof U(e).Node:!1}function G(e){return ye()?e instanceof Element||e instanceof U(e).Element:!1}function K(e){return ye()?e instanceof HTMLElement||e instanceof U(e).HTMLElement:!1}function xe(e){return!ye()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof U(e).ShadowRoot}function Se(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Ce(e){return/^(table|td|th)$/.test(H(e))}function we(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Te=/transform|translate|scale|rotate|perspective|filter/,Ee=/paint|layout|strict|content/,q=e=>!!e&&e!==`none`,De;function Oe(e){let t=G(e)?J(e):e;return q(t.transform)||q(t.translate)||q(t.scale)||q(t.rotate)||q(t.perspective)||!Ae()&&(q(t.backdropFilter)||q(t.filter))||Te.test(t.willChange||``)||Ee.test(t.contain||``)}function ke(e){let t=Y(e);for(;K(t)&&!je(t);){if(Oe(t))return t;if(we(t))return null;t=Y(t)}return null}function Ae(){return De??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),De}function je(e){return/^(html|body|#document)$/.test(H(e))}function J(e){return U(e).getComputedStyle(e)}function Me(e){return G(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(H(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||xe(e)&&e.host||W(e);return xe(t)?t.host:t}function Ne(e){let t=Y(e);return je(t)?(e.ownerDocument||e).body:K(t)&&Se(t)?t:Ne(t)}function Pe(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ne(e),i=r===e.ownerDocument?.body,a=U(r);if(i){let e=Fe(a);return t.concat(a,a.visualViewport||[],Se(r)?r:[],e&&n?Pe(e):[])}else return t.concat(r,Pe(r,[],n))}function Fe(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ie(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=K(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=x(n)!==a||x(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Le(e){return G(e)?e:e.contextElement}function X(e){let t=Le(e);if(!K(t))return C(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ie(t),o=(a?x(n.width):n.width)/r,s=(a?x(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Re=C(0);function ze(e){let t=U(e);return!Ae()||!t.visualViewport?Re:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Be(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===U(e)}function Z(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Le(e),o=C(1);t&&(r?G(r)&&(o=X(r)):o=X(e));let s=Be(a,n,r)?ze(a):C(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=U(a),t=G(r)?U(r):r,n=e,i=Fe(n);for(;i&&t!==n;){let e=X(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=U(i),i=Fe(n)}}return V({width:u,height:d,x:c,y:l})}function Ve(e,t){let n=Me(e).scrollLeft;return t?t.left+n:Z(W(e)).left+n}function He(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ve(e,n),y:n.top+t.scrollTop}}function Ue(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=W(r),s=t?we(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=C(1),u=C(0),d=K(r);if((d||!a)&&((H(r)!==`body`||Se(o))&&(c=Me(r)),d)){let e=Z(r);l=X(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?He(o,c):C(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function We(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Ge(e){let t=Me(e),n=e.ownerDocument.body,r=b(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=b(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Ve(e),o=-t.scrollTop;return J(n).direction===`rtl`&&(a+=b(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Ke=25;function qe(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=U(e),a=W(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Ae()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Ve(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Ke&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Je(e,t){let n=Z(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=X(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ye(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=qe(e,n,t);else if(t===`document`)r=Ge(W(e));else if(G(t))r=Je(t,n);else{let n=ze(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return V(r)}function Xe(e,t){let n=t.get(e);if(n)return n;let r=Pe(e,[],!1).filter(e=>G(e)&&H(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;G(o)&&!je(o);){let e=J(o),t=Oe(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Y(o)}return t.set(e,r),r}function Ze(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?we(t)?[]:Xe(t,this._c):[].concat(n),r],o=Ye(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ye(t,a[e],i);s=b(n.top,s),c=y(n.right,c),l=y(n.bottom,l),u=b(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Qe(e){let{width:t,height:n}=Ie(e);return{width:t,height:n}}function $e(e,t,n){let r=K(t),i=W(t),a=n===`fixed`,o=Z(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=C(0);if((r||!a)&&((H(t)!==`body`||Se(i))&&(s=Me(t)),r)){let e=Z(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Ve(i));let l=i&&!r&&!a?He(i,s):C(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function et(e){return J(e).position===`static`}function tt(e,t){if(!K(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return W(e)===n&&(n=n.ownerDocument.body),n}function nt(e,t){let n=U(e);if(we(e))return n;if(!K(e)){let t=Y(e);for(;t&&!je(t);){if(G(t)&&!et(t))return t;t=Y(t)}return n}let r=tt(e,t);for(;r&&Ce(r)&&et(r);)r=tt(r,t);return r&&je(r)&&et(r)&&!Oe(r)?n:r||ke(e)||n}var rt=async function(e){let t=this.getOffsetParent||nt,n=this.getDimensions,r=await n(e.floating);return{reference:$e(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function it(e){return J(e).direction===`rtl`}var at={convertOffsetParentRelativeRectToViewportRelativeRect:Ue,getDocumentElement:W,getClippingRect:Ze,getOffsetParent:nt,getElementRects:rt,getClientRects:We,getDimensions:Qe,getScale:X,isElement:G,isRTL:it};function ot(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function st(e,t,n){let r=null,i,a=W(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=S(d),h=S(a.clientWidth-(u+f)),g=S(a.clientHeight-(d+p)),_=S(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:b(0,y(1,c))||1},x=!0;function C(t){let n=t[0].intersectionRatio;if(!ot(l,e.getBoundingClientRect()))return s();if(n!==c){if(!x)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}x=!1}try{r=new IntersectionObserver(C,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(C,v)}r.observe(e)}let c=U(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function ct(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Le(e),u=i||a?[...l?Pe(l):[],...t?Pe(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?st(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Z(e):null;c&&g();function g(){let t=Z(e);h&&!ot(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var lt=he,ut=ge,dt=le,ft=ve,pt=fe,mt=ce,ht=_e,gt=(e,t,n)=>{let r=new Map,i=n??{},a={...at,...i.platform,_c:r};return se(e,t,{...i,platform:a})},_t=e(n(),1),vt=typeof document<`u`?_.useLayoutEffect:function(){};function yt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!yt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!yt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function bt(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function xt(e,t){let n=bt(e);return Math.round(t*n)/n}function St(e){let t=_.useRef(e);return vt(()=>{t.current=e}),t}function Ct(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=_.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=_.useState(r);yt(f,r)||p(r);let[m,h]=_.useState(null),[g,v]=_.useState(null),y=_.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=_.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||m,S=o||g,C=_.useRef(null),w=_.useRef(null),T=_.useRef(u),E=c!=null,D=St(c),O=St(i),k=St(l),A=_.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),gt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!yt(T.current,t)&&(T.current=t,_t.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);vt(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=_.useRef(!1);vt(()=>(j.current=!0,()=>{j.current=!1}),[]),vt(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=_.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=_.useMemo(()=>({reference:x,floating:S}),[x,S]),P=_.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=xt(N.floating,u.x),r=xt(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...bt(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return _.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var wt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:mt({element:r.current,padding:i}).fn(n):r?mt({element:r,padding:i}).fn(n):{}}}},Tt=(e,t)=>{let n=lt(e);return{name:n.name,fn:n.fn,options:[e,t]}},Et=(e,t)=>{let n=ut(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dt=(e,t)=>({fn:ht(e).fn,options:[e,t]}),Ot=(e,t)=>{let n=dt(e);return{name:n.name,fn:n.fn,options:[e,t]}},kt=(e,t)=>{let n=ft(e);return{name:n.name,fn:n.fn,options:[e,t]}},At=(e,t)=>{let n=pt(e);return{name:n.name,fn:n.fn,options:[e,t]}},jt=(e,t)=>{let n=wt(e);return{name:n.name,fn:n.fn,options:[e,t]}},Q=r(),Mt=`Arrow`,Nt=_.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,Q.jsx)(p.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,Q.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Nt.displayName=Mt;var Pt=Nt;function Ft(e){let[t,n]=_.useState(void 0);return m(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var It=`Popper`,[Lt,Rt]=f(It),[zt,Bt]=Lt(It),Vt=e=>{let{__scopePopper:t,children:n}=e,[r,i]=_.useState(null),[a,o]=_.useState(void 0);return(0,Q.jsx)(zt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Vt.displayName=It;var Ht=`PopperAnchor`,Ut=_.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Bt(Ht,n),o=_.useRef(null),s=a.onAnchorChange,c=u(t,_.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=_.useRef(null);_.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let d=a.placementState&&$t(a.placementState),f=d?.[0],m=d?.[1];return r?null:(0,Q.jsx)(p.div,{"data-radix-popper-side":f,"data-radix-popper-align":m,...i,ref:c})});Ut.displayName=Ht;var Wt=`PopperContent`,[Gt,Kt]=Lt(Wt),qt=_.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:f=0,sticky:h=`partial`,hideWhenDetached:g=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Bt(Wt,n),[S,C]=_.useState(null),w=u(t,C),[T,E]=_.useState(null),D=Ft(T),O=D?.width??0,k=D?.height??0,A=r+(a===`center`?``:`-`+a),j=typeof f==`number`?f:{top:0,right:0,bottom:0,left:0,...f},M=Array.isArray(l)?l:[l],N=M.length>0,P={padding:j,boundary:M.filter(Zt),altBoundary:N},{refs:F,floatingStyles:I,placement:L,isPositioned:R,middlewareData:z}=Ct({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>ct(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[Tt({mainAxis:i+k,alignmentAxis:o}),c&&Et({mainAxis:!0,crossAxis:!1,limiter:h===`partial`?Dt():void 0,...P}),c&&Ot({...P}),kt({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&jt({element:T,padding:s}),Qt({arrowWidth:O,arrowHeight:k}),g&&At({strategy:`referenceHidden`,...P,boundary:N?P.boundary:void 0})]}),ee=x.setPlacementState;m(()=>(ee(L),()=>{ee(void 0)}),[L,ee]);let[te,B]=$t(L),ne=d(y);m(()=>{R&&ne?.()},[R,ne]);let re=z.arrow?.x,V=z.arrow?.y,ie=z.arrow?.centerOffset!==0,[ae,oe]=_.useState();return m(()=>{S&&oe(window.getComputedStyle(S).zIndex)},[S]),(0,Q.jsx)(`div`,{ref:F.setFloating,"data-radix-popper-content-wrapper":``,style:{...I,transform:R?I.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ae,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,Q.jsx)(Gt,{scope:n,placedSide:te,placedAlign:B,onArrowChange:E,arrowX:re,arrowY:V,shouldHideArrow:ie,children:(0,Q.jsx)(p.div,{"data-side":te,"data-align":B,...b,ref:w,style:{...b.style,animation:R?void 0:`none`}})})})});qt.displayName=Wt;var Jt=`PopperArrow`,Yt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Xt=_.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Kt(Jt,n),a=Yt[i.placedSide];return(0,Q.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,Q.jsx)(Pt,{...r,ref:t,style:{...r.style,display:`block`}})})});Xt.displayName=Jt;function Zt(e){return e!==null}var Qt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=$t(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function $t(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var en=Vt,tn=Ut,nn=qt,rn=Xt,an=`rounded-md bg-border/50 text-sm text-fg placeholder:text-fg-muted transition-colors hover:bg-border/80 focus:bg-border/80 disabled:cursor-not-allowed disabled:opacity-50`,on=`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,sn=`data-[highlighted]:bg-action data-[highlighted]:text-action-ink data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,cn=`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`;function ln({className:e,type:t,...n}){return(0,Q.jsx)(`input`,{type:t,className:h(`flex h-8 w-full px-2.5`,an,e),...n})}function un({className:e,...t}){return(0,Q.jsx)(`textarea`,{className:h(`flex min-h-16 w-full px-2.5 py-2`,an,e),...t})}var dn=`Label`,fn=_.forwardRef((e,t)=>(0,Q.jsx)(p.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));fn.displayName=dn;var pn=fn;function mn({className:e,...t}){return(0,Q.jsx)(pn,{className:h(`text-xs font-medium text-fg-secondary peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function hn(){return s({queryKey:[`profiles`],queryFn:()=>l(`GET`,`/api/profiles`)})}function gn(e){return s({queryKey:[`profile-settings`,e],queryFn:()=>l(`GET`,`/api/profiles/${e}/settings`),enabled:e!==void 0})}function _n(e){return s({queryKey:[`accounts`,e],queryFn:()=>l(`GET`,`/api/accounts?profile=${e}`),enabled:e!==void 0})}function vn(e){return s({queryKey:[`account-usage`,e],queryFn:()=>l(`GET`,`/api/accounts/${e}/usage`),enabled:e!==void 0,staleTime:15e3})}function yn(){return s({queryKey:[`repos`],queryFn:()=>l(`GET`,`/api/repos`)})}function bn(e){return s({queryKey:[`projects`,e??`all`],queryFn:()=>l(`GET`,e===void 0?`/api/projects`:`/api/projects?profile=${e}`)})}function xn(e){return s({queryKey:[`project`,e],queryFn:()=>l(`GET`,`/api/projects/${e}`),enabled:e!==void 0})}function Sn(e){return s({queryKey:[`sessions`,e],queryFn:()=>l(`GET`,`/api/sessions?project=${e}`),enabled:e!==void 0})}var Cn={queryKey:[`sessions`,`all`],queryFn:()=>l(`GET`,`/api/sessions`)};function wn(){return s(Cn)}function Tn(e){return e.fetchQuery(Cn)}function En(){return s({queryKey:[`config`],queryFn:()=>l(`GET`,`/api/config`)})}function Dn(e){return s({queryKey:[`repo-branches`,e],queryFn:()=>l(`GET`,`/api/repos/${e}/branches`),enabled:e!==void 0,staleTime:3e4})}function On(e){return s({queryKey:[`repo-worktrees`,e],queryFn:()=>l(`GET`,`/api/repos/${e}/worktrees`),enabled:e!==void 0,staleTime:1e4})}function kn(e,t){let n=o();return i({mutationFn:t=>l(`DELETE`,`/api/repos/${e}/worktrees?path=${encodeURIComponent(t)}`),onSuccess:r=>{n.setQueryData([`repo-worktrees`,e],r),n.invalidateQueries({queryKey:[`project`,t]})}})}function An(e,t){let n=o();return i({mutationFn:({name:t,confirm:n})=>{let r=new URLSearchParams({name:t});return n&&r.set(`confirm`,`1`),l(`DELETE`,`/api/repos/${e}/branches?${r.toString()}`)},onSuccess:r=>{n.setQueryData([`repo-worktrees`,e],r),n.invalidateQueries({queryKey:[`project`,t]})}})}function jn(e){return s({queryKey:[`fs-dirs`,e],queryFn:()=>l(`GET`,`/api/fs/dirs?prefix=${encodeURIComponent(e)}`),enabled:e.startsWith(`/`)||e.startsWith(`~`),placeholderData:e=>e,staleTime:1e4})}function Mn(){return s({queryKey:[`version`],queryFn:()=>l(`GET`,`/api/version`),staleTime:1/0})}function Nn(){return s({queryKey:[`host`],queryFn:()=>l(`GET`,`/api/host`),staleTime:1/0})}function Pn(e){return e?e.displayName||e.hostname:void 0}function Fn(){return s({queryKey:[`agents`],queryFn:()=>l(`GET`,`/api/agents`),staleTime:1/0})}function In(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/profiles`,e),onSuccess:()=>void e.invalidateQueries({queryKey:[`profiles`]})})}function Ln(e){let t=o();return i({mutationFn:t=>l(`PATCH`,`/api/profiles/${e}/settings`,t),onSuccess:n=>t.setQueryData([`profile-settings`,e],n)})}function Rn(){let e=o();return i({mutationFn:({id:e,...t})=>l(`PATCH`,`/api/profiles/${e}`,t),onSuccess:()=>void e.invalidateQueries({queryKey:[`profiles`]})})}function zn(){let e=o();return i({mutationFn:({id:e,...t})=>l(`PATCH`,`/api/accounts/${e}`,t),onSuccess:t=>{e.invalidateQueries({queryKey:[`accounts`,t.profile_id]}),e.invalidateQueries({queryKey:[`account-usage`,t.id]})}})}function Bn(){let e=o();return i({mutationFn:e=>l(`DELETE`,`/api/profiles/${e}`),onSuccess:()=>e.clear()})}function Vn(){let e=o();return i({mutationFn:e=>l(`DELETE`,`/api/accounts/${e}`),onSuccess:()=>void e.invalidateQueries({queryKey:[`accounts`]})})}function Hn(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/accounts`,e),onSuccess:t=>void e.invalidateQueries({queryKey:[`accounts`,t.profile_id]})})}function Un(){return i({mutationFn:e=>l(`POST`,`/api/accounts/${e}/login`)})}function Wn(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/repos`,e),onSuccess:()=>void e.invalidateQueries({queryKey:[`repos`]})})}function Gn(){let e=o();return i({mutationFn:({id:e,...t})=>l(`PATCH`,`/api/repos/${e}`,t),onSuccess:()=>void e.invalidateQueries({queryKey:[`repos`]})})}function Kn(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/repos/${e}/fetch`),onSuccess:()=>void e.invalidateQueries({queryKey:[`repos`]})})}function qn(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/projects`,e),onSuccess:()=>void e.invalidateQueries({queryKey:[`projects`]})})}function Jn(){let e=o();return i({mutationFn:({id:e,...t})=>l(`PATCH`,`/api/projects/${e}`,t),onSuccess:()=>void e.invalidateQueries({queryKey:[`projects`]})})}function Yn(e,t){return s({queryKey:[`scratchpad`,e,t??`none`],queryFn:()=>l(`GET`,`/api/scratchpad?profile=${e}${t?`&project=${t}`:``}`),enabled:e!==void 0})}function Xn(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/scratchpad`,e),onSuccess:()=>void e.invalidateQueries({queryKey:[`scratchpad`]})})}function Zn(){let e=o();return i({mutationFn:({id:e,...t})=>l(`PATCH`,`/api/scratchpad/${e}`,t),onSuccess:()=>void e.invalidateQueries({queryKey:[`scratchpad`]})})}function Qn(){let e=o();return i({mutationFn:e=>l(`DELETE`,`/api/scratchpad/${e}`),onSuccess:()=>void e.invalidateQueries({queryKey:[`scratchpad`]})})}function $(e,t){e.invalidateQueries({queryKey:[`sessions`]}),e.invalidateQueries({queryKey:[`project`,t.project_id]})}function $n(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/sessions`,e),onSuccess:t=>$(e,t)})}function er(e){let t=o();return i({mutationFn:t=>l(`POST`,`/api/sessions/${t}/${e}`),onSuccess:e=>$(t,e)})}function tr(){let e=o();return i({mutationFn:({sessionId:e,accountId:t})=>l(`POST`,`/api/sessions/${e}/migrate`,{account_id:t}),onSuccess:t=>$(e,t)})}function nr(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/sessions/${e}/archive`),onSuccess:t=>$(e,t)})}function rr(){let e=o();return i({mutationFn:e=>l(`POST`,`/api/sessions/${e}/unarchive`),onSuccess:t=>$(e,t)})}function ir(){let e=o();return i({mutationFn:({sessionId:e,title:t})=>l(`PATCH`,`/api/sessions/${e}`,{title:t}),onSuccess:t=>$(e,t)})}function ar(){let e=o();return i({mutationFn:e=>l(`PATCH`,`/api/config`,e),onSuccess:(t,n)=>{e.setQueryData([`config`],t),`displayName`in n&&e.invalidateQueries({queryKey:[`host`]})}})}async function or(e){try{return await l(`GET`,`/api/profiles/${e}/state`)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`no_state`)return null;throw e}}function sr(e,t){return l(`PUT`,`/api/profiles/${e}/state`,{ui_state:t})}function cr(e,t){return s({queryKey:[`ports`,e],queryFn:()=>l(`GET`,`/api/sessions/${e}/ports`),enabled:e!==void 0&&t,refetchInterval:a(5e3),refetchIntervalInBackground:!1})}function lr(e,t){return s({queryKey:[`session-env`,e],queryFn:()=>l(`GET`,`/api/sessions/${e}/env`),enabled:e!==void 0&&t,refetchInterval:a(5e3),refetchIntervalInBackground:!1})}function ur(){let e=o();return i({mutationFn:e=>l(`DELETE`,`/api/sessions/${e}/env`),onSuccess:(t,n)=>{e.setQueryData([`session-env`,n],{vars:[]})}})}var dr=g(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),fr=g(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function pr({id:e,value:t,onValueChange:n,onChoose:r,hints:i,placeholder:a,className:o,hintsClassName:s,autoFocus:c}){let[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(0),p=e=>{n(e.value),r?.(e),u(!1)};return(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(ln,{id:e,value:t,onChange:e=>{n(e.target.value),u(!0),f(0)},onFocus:()=>u(!0),onBlur:()=>u(!1),onKeyDown:e=>{if(!(!l||i.length===0))if(e.key===`ArrowDown`)e.preventDefault(),f(e=>(e+1)%i.length);else if(e.key===`ArrowUp`)e.preventDefault(),f(e=>(e-1+i.length)%i.length);else if(e.key===`Enter`||e.key===`Tab`){let t=i[d]??i[0];t&&(e.preventDefault(),p(t))}else e.key===`Escape`&&(e.stopPropagation(),u(!1))},placeholder:a,className:o,autoComplete:`off`,spellCheck:!1,autoFocus:c}),l&&i.length>0&&(0,Q.jsx)(`ul`,{className:h(`absolute top-full z-10 mt-1 max-h-56 overflow-y-auto rounded-md bg-elevated p-1 shadow-xl`,s??`w-full`),children:i.map((e,t)=>(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),p(e)},onMouseEnter:()=>f(t),className:h(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,`w-full font-mono text-xs`),"data-selected":t===d,children:[(0,Q.jsx)(`span`,{className:`truncate`,children:e.label??e.value}),e.badge&&(0,Q.jsx)(`span`,{className:`ml-auto shrink-0 text-2xs opacity-70`,children:e.badge})]})},e.value))})]})}var mr=(0,_.lazy)(()=>c(()=>import(`./Terminal-NijDOcpZ.js`).then(e=>({default:e.Terminal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]))),hr=null;async function gr(){hr=(await c(()=>import(`./Terminal-NijDOcpZ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]))).Terminal}function _r(e){return hr?(0,Q.jsx)(hr,{...e}):(0,Q.jsx)(_.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`size-full bg-ground`}),children:(0,Q.jsx)(mr,{...e})})}export{Sn as $,Nn as A,gn as B,Mn as C,Qn as D,Bn as E,Rn as F,ir as G,xn as H,Ln as I,yn as J,Dn as K,Jn as L,tr as M,zn as N,jn as O,ar as P,cr as Q,Gn as R,$n as S,An as T,bn as U,hn as V,kn as W,er as X,Yn as Y,lr as Z,Hn as _,dr as a,cn as at,Wn as b,Pn as c,tn as ct,_n as d,en as dt,rr as et,Fn as f,Rt as ft,En as g,ur as h,fr as i,an as it,Un as j,Kn as k,sr as l,rn as lt,nr as m,gr as n,ln as nt,Tn as o,sn as ot,wn as p,Ft as pt,On as q,pr as r,un as rt,or as s,on as st,_r as t,mn as tt,vn as u,nn as ut,In as v,Vn as w,Xn as x,qn as y,Zn as z};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,s as r,t as i}from"./buffer-store-CaznA05X.js";var a=e(t(),1);function o({buffers:e}){let t=(0,a.useRef)(new Set);return(0,a.useEffect)(()=>{let a=new Set(e.map(e=>i(e.session,e.path,e.root))),o=t.current;for(let e of a)o.has(e)||(r(e),o.add(e));for(let e of[...o])a.has(e)||(n(e),o.delete(e))},[e]),(0,a.useEffect)(()=>()=>{for(let e of t.current)n(e);t.current.clear()},[]),null}export{o as ModelRefcount};