tmuxes 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -28
- package/bin/tmuxes.js +0 -0
- package/dist/agentHooks.js +73 -47
- package/dist/agentHooks.js.map +1 -1
- package/dist/agentState.js +45 -0
- package/dist/agentState.js.map +1 -0
- package/dist/monitor.js +0 -0
- package/dist/monitor.js.map +1 -1
- package/dist/rest/router.js +15 -6
- package/dist/rest/router.js.map +1 -1
- package/dist/tmux/formats.js +5 -3
- package/dist/tmux/formats.js.map +1 -1
- package/dist/tmux/sessions.js +39 -12
- package/dist/tmux/sessions.js.map +1 -1
- package/dist/winshell/manager.js +0 -13
- package/dist/winshell/manager.js.map +1 -1
- package/package.json +2 -2
- package/public/assets/index-20SlKNO6.js +44 -0
- package/public/assets/{index-n4LbpWeu.css → index-BorZEUXh.css} +1 -1
- package/public/index.html +2 -2
- package/dist/attention.js +0 -54
- package/dist/attention.js.map +0 -1
- package/public/assets/index-DRmK9UMk.js +0 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}:root{--bg:#1a1b26;--bg-alt:#16161e;--panel:#1f2233;--border:#2a2e42;--fg:#c0caf5;--fg-dim:#7a82a8;--accent:#7aa2f7;--green:#9ece6a;--red:#f7768e;--yellow:#e0af68;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--fg);font-size:14px}button{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:3px 8px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#11121a;border-color:var(--accent);font-weight:600}button.danger:hover:not(:disabled){border-color:var(--red);color:var(--red)}input{font:inherit;color:var(--fg);background:var(--bg-alt);border:1px solid var(--border);border-radius:5px;padding:4px 7px}input:focus{border-color:var(--accent);outline:none}.app{height:100%;display:flex;overflow:hidden}.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;width:320px;min-width:320px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.sidebar-header h1{letter-spacing:.5px;margin:0;font-size:15px}.sidebar-top{flex:1;min-height:80px;padding:6px;overflow-y:auto}.sidebar-vdivider{cursor:row-resize;background:var(--border);flex:none;height:6px}.sidebar-vdivider:hover{background:var(--accent)}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;flex:none;display:flex;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);flex:none;padding:6px 8px}.section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);flex:none;padding:5px 8px 3px;font-size:11px}.workspace{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.term-region{flex:1;min-height:0;display:flex;position:relative}.hdivider{cursor:row-resize;background:var(--border);flex:none;height:6px}.hdivider:hover{background:var(--accent)}.viewer-region{background:var(--bg-alt);flex-direction:column;flex:none;display:flex;overflow:hidden}.panel{background:#000;flex:1;min-width:0;position:relative;overflow:hidden}.target-group{margin-bottom:6px}.target-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.target-head:hover{background:var(--panel)}.target-head .label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.target-head .kind{color:var(--fg-dim);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:11px}.caret{width:12px;color:var(--fg-dim)}.badge{border-radius:4px;padding:0 5px;font-size:11px}.badge.err{color:var(--red)}.badge.loading{color:var(--yellow)}.session-list{padding:2px 0 6px 14px}.empty{color:var(--fg-dim);padding:4px 8px;font-size:12px}.error-line{color:var(--red);padding:4px 8px;font-size:12px}.session-row{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.session-row:hover{background:var(--panel)}.session-row.selected{background:var(--panel);box-shadow:inset 2px 0 0 var(--accent)}.session-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dot{background:var(--border);border-radius:50%;flex:none;width:8px;height:8px}.dot.on{background:var(--green)}.attn-badge{border-radius:6px;flex:none;padding:1px 4px;font-size:11px;line-height:1}.attn-badge.decision{color:var(--bg);background:var(--yellow)}.attn-badge.done{color:var(--bg);background:var(--green)}.session-row.attention .name{font-weight:600}.meta{color:var(--fg-dim);font-size:11px}.row-actions{opacity:0;gap:4px;display:flex}.session-row:hover .row-actions{opacity:1}.row-actions button{padding:1px 6px;font-size:12px}.create-form{flex-direction:column;gap:5px;padding:6px 8px;display:flex}.create-form .row{gap:5px;display:flex}.create-form input{flex:1;min-width:0}.create-form select{font:inherit;color:var(--fg);background:var(--bg-alt);border:1px solid var(--border);border-radius:5px;padding:4px 7px}.field-error{color:var(--red);font-size:11px}.term-host{padding:4px;position:absolute;inset:0;overflow:hidden}.term-host .xterm{width:100%;height:100%}.panel-placeholder{color:var(--fg-dim);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.status-banner{background:var(--panel);border:1px solid var(--border);z-index:5;border-radius:8px;align-items:center;gap:12px;max-width:80%;padding:8px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}.status-banner.error{border-color:var(--red)}.status-banner .msg{font-size:13px}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tree.drop-root{outline:1px dashed var(--accent);outline-offset:-2px;border-radius:6px}.folder.drop{background:#7aa2f71f;border-radius:6px}.folder-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;display:flex}.folder-head:hover{background:var(--panel)}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.folder-actions{opacity:0;gap:3px;display:flex}.folder-head:hover .folder-actions{opacity:1}.folder-actions button{padding:0 5px;font-size:12px}.folder-head input{flex:1;min-width:0}.list-toolbar{gap:6px;padding:6px 8px 2px;display:flex}.list-toolbar button{padding:2px 8px;font-size:12px}.explorer{flex-direction:column;flex:1;display:flex;overflow:hidden}.explorer-empty{color:var(--fg-dim);padding:8px;font-size:12px}.explorer-head{flex:none;align-items:center;gap:6px;padding:2px 8px 4px;display:flex}.explorer-path{text-overflow:ellipsis;white-space:nowrap;color:var(--accent);flex:1;font-weight:600;overflow:hidden}.explorer-actions{gap:4px;display:flex}.explorer-actions button{padding:1px 7px}.explorer-list{flex:1;overflow-y:auto}.file-row{cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:3px 8px;display:flex}.file-row:hover{background:var(--panel)}.file-row.disabled{cursor:default;color:var(--fg-dim)}.file-row.disabled:hover{background:0 0}.file-row.open{background:var(--panel);box-shadow:inset 2px 0 0 var(--accent)}.file-icon{flex:none}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings{position:relative}.settings-gear{text-align:left;width:100%}.settings-backdrop{z-index:19;position:fixed;inset:0}.settings-panel{background:var(--panel);border:1px solid var(--border);z-index:20;border-radius:8px;width:250px;padding:10px;position:absolute;bottom:40px;left:0;box-shadow:0 8px 28px #00000080}.settings-title{color:var(--fg-dim);margin-bottom:8px;font-size:12px}.stepper{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.stepper-label{font-size:13px}.stepper-controls{align-items:center;gap:6px;display:flex}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:36px;font-size:12px}.toggle{cursor:pointer;align-items:center;gap:8px;margin-bottom:6px;display:flex}.toggle input{cursor:pointer}.toggle-label{font-size:13px}.settings-panel .settings-title+.stepper,.settings-panel .settings-title:not(:first-child){margin-top:2px}.settings-panel .settings-title:not(:first-of-type){margin-top:12px}.settings-actions{justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.viewer{flex-direction:column;height:100%;display:flex;overflow:hidden}.viewer-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:5px 10px;display:flex}.viewer-name{font-weight:600}.viewer-path{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.viewer-head-spacer{flex:1}.viewer-note{color:var(--yellow);font-size:12px}.viewer-body{flex:1;overflow:auto}.viewer-pre{white-space:pre;tab-size:4;margin:0;padding:8px 10px;font-family:Menlo,Consolas,DejaVu Sans Mono,monospace;line-height:1.45}.viewer-editor{box-sizing:border-box;resize:none;width:100%;height:100%;color:var(--fg);tab-size:2;white-space:pre;background:0 0;border:0;outline:none;margin:0;padding:8px 10px;font-family:Menlo,Consolas,DejaVu Sans Mono,monospace;line-height:1.45;display:block;overflow:auto}.viewer-head button{padding:2px 8px;font-size:12px}.dirty-dot{color:var(--yellow);vertical-align:middle;margin-right:5px;font-size:11px}.viewer-msg{color:var(--fg-dim);padding:12px}.viewer-msg.error{color:var(--red)}
|
|
1
|
+
.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}:root{--bg:#1a1b26;--bg-alt:#16161e;--panel:#1f2233;--border:#2a2e42;--fg:#c0caf5;--fg-dim:#7a82a8;--accent:#7aa2f7;--green:#9ece6a;--red:#f7768e;--yellow:#e0af68;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--fg);font-size:14px}button{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:3px 8px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#11121a;border-color:var(--accent);font-weight:600}button.danger:hover:not(:disabled){border-color:var(--red);color:var(--red)}input{font:inherit;color:var(--fg);background:var(--bg-alt);border:1px solid var(--border);border-radius:5px;padding:4px 7px}input:focus{border-color:var(--accent);outline:none}.app{height:100%;display:flex;overflow:hidden}.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;width:320px;min-width:320px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.sidebar-header h1{letter-spacing:.5px;margin:0;font-size:15px}.sidebar-top{flex:1;min-height:80px;padding:6px;overflow-y:auto}.sidebar-vdivider{cursor:row-resize;background:var(--border);flex:none;height:6px}.sidebar-vdivider:hover{background:var(--accent)}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;flex:none;display:flex;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);flex:none;padding:6px 8px}.section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);flex:none;padding:5px 8px 3px;font-size:11px}.workspace{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.term-region{flex:1;min-height:0;display:flex;position:relative}.hdivider{cursor:row-resize;background:var(--border);flex:none;height:6px}.hdivider:hover{background:var(--accent)}.viewer-region{background:var(--bg-alt);flex-direction:column;flex:none;display:flex;overflow:hidden}.panel{background:#000;flex:1;min-width:0;position:relative;overflow:hidden}.target-group{margin-bottom:6px}.target-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.target-head:hover{background:var(--panel)}.target-head .label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.target-head .kind{color:var(--fg-dim);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:11px}.caret{width:12px;color:var(--fg-dim)}.badge{border-radius:4px;padding:0 5px;font-size:11px}.badge.err{color:var(--red)}.badge.loading{color:var(--yellow)}.session-list{padding:2px 0 6px 14px}.empty{color:var(--fg-dim);padding:4px 8px;font-size:12px}.error-line{color:var(--red);padding:4px 8px;font-size:12px}.session-row{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.session-row:hover{background:var(--panel)}.session-row.selected{background:var(--panel);box-shadow:inset 2px 0 0 var(--accent)}.session-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.inactive{background:var(--green)}.dot.active{background:var(--red);box-shadow:0 0 0 2px #f7768e3d}.session-row.attention .name{font-weight:600}.attn-badge{border:1px solid var(--border);white-space:nowrap;border-radius:5px;flex:none;padding:1px 5px;font-size:11px;line-height:1.35}.attn-badge.decision{border-color:var(--red);color:var(--red)}.attn-badge.done{border-color:var(--green);color:var(--green)}.meta{color:var(--fg-dim);font-size:11px}.row-actions{opacity:0;gap:4px;display:flex}.session-row:hover .row-actions{opacity:1}.row-actions button{padding:1px 6px;font-size:12px}.create-form{flex-direction:column;gap:5px;padding:6px 8px;display:flex}.create-form .row{gap:5px;display:flex}.create-form input{flex:1;min-width:0}.create-form select{font:inherit;color:var(--fg);background:var(--bg-alt);border:1px solid var(--border);border-radius:5px;padding:4px 7px}.field-error{color:var(--red);font-size:11px}.agent-toolbar{z-index:4;border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111827e0;border-radius:6px;align-items:center;gap:5px;padding:3px;display:flex;position:absolute;top:8px;right:10px}.agent-toolbar button{min-width:0;height:22px;padding:2px 7px;font-size:12px;line-height:1}.agent-error{color:var(--red);padding:0 4px;font-size:12px}.term-host{padding:4px;position:absolute;inset:0;overflow:hidden}.term-host .xterm{width:100%;height:100%}.panel-placeholder{color:var(--fg-dim);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.status-banner{background:var(--panel);border:1px solid var(--border);z-index:5;border-radius:8px;align-items:center;gap:12px;max-width:80%;padding:8px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}.status-banner.error{border-color:var(--red)}.status-banner .msg{font-size:13px}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tree.drop-root{outline:1px dashed var(--accent);outline-offset:-2px;border-radius:6px}.folder.drop{background:#7aa2f71f;border-radius:6px}.folder-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;display:flex}.folder-head:hover{background:var(--panel)}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.folder-actions{opacity:0;gap:3px;display:flex}.folder-head:hover .folder-actions{opacity:1}.folder-actions button{padding:0 5px;font-size:12px}.folder-head input{flex:1;min-width:0}.list-toolbar{gap:6px;padding:6px 8px 2px;display:flex}.list-toolbar button{padding:2px 8px;font-size:12px}.explorer{flex-direction:column;flex:1;display:flex;overflow:hidden}.explorer-empty{color:var(--fg-dim);padding:8px;font-size:12px}.explorer-head{flex:none;align-items:center;gap:6px;padding:2px 8px 4px;display:flex}.explorer-path{text-overflow:ellipsis;white-space:nowrap;color:var(--accent);flex:1;font-weight:600;overflow:hidden}.explorer-actions{gap:4px;display:flex}.explorer-actions button{padding:1px 7px}.explorer-list{flex:1;overflow-y:auto}.file-row{cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:3px 8px;display:flex}.file-row:hover{background:var(--panel)}.file-row.disabled{cursor:default;color:var(--fg-dim)}.file-row.disabled:hover{background:0 0}.file-row.open{background:var(--panel);box-shadow:inset 2px 0 0 var(--accent)}.file-icon{flex:none}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings{position:relative}.settings-gear{text-align:left;width:100%}.settings-backdrop{z-index:19;position:fixed;inset:0}.settings-panel{background:var(--panel);border:1px solid var(--border);z-index:20;border-radius:8px;width:250px;padding:10px;position:absolute;bottom:40px;left:0;box-shadow:0 8px 28px #00000080}.settings-title{color:var(--fg-dim);margin-bottom:8px;font-size:12px}.stepper{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.stepper-label{font-size:13px}.stepper-controls{align-items:center;gap:6px;display:flex}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:36px;font-size:12px}.toggle{cursor:pointer;align-items:center;gap:8px;margin-bottom:6px;display:flex}.toggle input{cursor:pointer}.toggle-label{font-size:13px}.settings-panel .settings-title+.stepper,.settings-panel .settings-title:not(:first-child){margin-top:2px}.settings-panel .settings-title:not(:first-of-type){margin-top:12px}.settings-actions{justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.viewer{flex-direction:column;height:100%;display:flex;overflow:hidden}.viewer-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:5px 10px;display:flex}.viewer-name{font-weight:600}.viewer-path{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.viewer-head-spacer{flex:1}.viewer-note{color:var(--yellow);font-size:12px}.viewer-body{flex:1;overflow:auto}.viewer-pre{white-space:pre;tab-size:4;margin:0;padding:8px 10px;font-family:Menlo,Consolas,DejaVu Sans Mono,monospace;line-height:1.45}.viewer-editor{box-sizing:border-box;resize:none;width:100%;height:100%;color:var(--fg);tab-size:2;white-space:pre;background:0 0;border:0;outline:none;margin:0;padding:8px 10px;font-family:Menlo,Consolas,DejaVu Sans Mono,monospace;line-height:1.45;display:block;overflow:auto}.viewer-head button{padding:2px 8px;font-size:12px}.dirty-dot{color:var(--yellow);vertical-align:middle;margin-right:5px;font-size:11px}.viewer-msg{color:var(--fg-dim);padding:12px}.viewer-msg.error{color:var(--red)}
|
package/public/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>tmuxes</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-20SlKNO6.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BorZEUXh.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="root"></div>
|
package/dist/attention.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/** Heuristic classification of an agent's recent terminal output, used to turn
|
|
2
|
-
* "this session went idle" into a meaningful notification: is the agent waiting
|
|
3
|
-
* for a decision (a prompt on screen), or did it simply finish / go quiet?
|
|
4
|
-
*
|
|
5
|
-
* This is intentionally fuzzy — it scans the tail of the pane for the prompt
|
|
6
|
-
* shapes the common CLI agents (Claude Code, Codex, OpenCode, Hermes) and
|
|
7
|
-
* ordinary shells use when they want input. False positives just mean a
|
|
8
|
-
* "decision" badge instead of a "done" badge; both still notify. */
|
|
9
|
-
/** Strip ANSI/VT escapes so the regex matches plain text (capture-pane is
|
|
10
|
-
* already plain, but winshell scrollback carries raw escapes). */
|
|
11
|
-
export function stripAnsi(s) {
|
|
12
|
-
return s
|
|
13
|
-
// CSI sequences: ESC [ ... final-byte
|
|
14
|
-
.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, '')
|
|
15
|
-
// OSC sequences: ESC ] ... (BEL | ESC \)
|
|
16
|
-
.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g, '')
|
|
17
|
-
// Other two-byte escapes
|
|
18
|
-
.replace(/\x1b[@-Z\\-_]/g, '');
|
|
19
|
-
}
|
|
20
|
-
/** Prompts that mean "the agent/shell is waiting on the user". */
|
|
21
|
-
const DECISION_RE = new RegExp([
|
|
22
|
-
'\\(y/n\\)',
|
|
23
|
-
'\\[y/n\\]',
|
|
24
|
-
'\\(yes/no\\)',
|
|
25
|
-
'\\by/N\\b',
|
|
26
|
-
'\\bN/y\\b',
|
|
27
|
-
'press enter to',
|
|
28
|
-
'do you want',
|
|
29
|
-
'would you like',
|
|
30
|
-
'proceed\\?',
|
|
31
|
-
'\\bapprove\\b',
|
|
32
|
-
'\\ballow\\b[^?\\n]*\\?',
|
|
33
|
-
'\\bconfirm\\b',
|
|
34
|
-
'continue\\?',
|
|
35
|
-
'overwrite\\?',
|
|
36
|
-
'waiting for (?:your|input)',
|
|
37
|
-
'select an option',
|
|
38
|
-
'\\bchoose\\b',
|
|
39
|
-
'❯\\s*\\d', // Claude/OpenCode arrow-selected numbered choices
|
|
40
|
-
'»\\s*\\d',
|
|
41
|
-
'\\b\\d\\.\\s*(?:yes|no)\\b',
|
|
42
|
-
].join('|'), 'i');
|
|
43
|
-
export function classifyTail(text) {
|
|
44
|
-
return DECISION_RE.test(stripAnsi(text)) ? 'decision' : 'done';
|
|
45
|
-
}
|
|
46
|
-
/** Last N non-empty lines of stripped text, trimmed for display. */
|
|
47
|
-
export function lastLines(text, n) {
|
|
48
|
-
const lines = stripAnsi(text)
|
|
49
|
-
.split('\n')
|
|
50
|
-
.map((l) => l.replace(/\s+$/, ''))
|
|
51
|
-
.filter((l) => l.length > 0);
|
|
52
|
-
return lines.slice(-n).join('\n').slice(0, 500);
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=attention.js.map
|
package/dist/attention.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attention.js","sourceRoot":"","sources":["../src/attention.ts"],"names":[],"mappings":"AAAA;;;;;;;qEAOqE;AAUrE;mEACmE;AACnE,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC;QACN,sCAAsC;SACrC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;QAC1C,yCAAyC;SACxC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;QAClD,yBAAyB;SACxB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,kEAAkE;AAClE,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B;IACE,WAAW;IACX,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;IACX,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,eAAe;IACf,aAAa;IACb,cAAc;IACd,4BAA4B;IAC5B,kBAAkB;IAClB,cAAc;IACd,UAAU,EAAE,kDAAkD;IAC9D,UAAU;IACV,4BAA4B;CAC7B,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,GAAG,CACJ,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,CAAS;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;SAC1B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC"}
|