@yuriteixeira/pi-muxr 0.1.3 → 0.2.1
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 +3 -0
- package/dist/cli/dashboard-component.js +25 -13
- package/dist/cli/dashboard-component.js.map +1 -1
- package/dist/cli/dashboard-layout.d.ts +2 -1
- package/dist/cli/dashboard-layout.js +2 -1
- package/dist/cli/dashboard-layout.js.map +1 -1
- package/dist/cli/format.js +5 -3
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/domain/status.d.ts +1 -0
- package/dist/domain/status.js.map +1 -1
- package/dist/extension/pi-muxr.d.ts +1 -0
- package/dist/extension/pi-muxr.js +19 -2
- package/dist/extension/pi-muxr.js.map +1 -1
- package/dist/state/database.js +2 -0
- package/dist/state/database.js.map +1 -1
- package/dist/state/migrations.d.ts +6 -0
- package/dist/state/migrations.js +48 -0
- package/dist/state/migrations.js.map +1 -0
- package/dist/state/rows.d.ts +1 -0
- package/dist/state/rows.js +1 -0
- package/dist/state/rows.js.map +1 -1
- package/dist/state/schema.d.ts +1 -1
- package/dist/state/schema.js +1 -0
- package/dist/state/schema.js.map +1 -1
- package/dist/state/write-status.d.ts +1 -0
- package/dist/state/write-status.js +11 -3
- package/dist/state/write-status.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -2
- package/docs/ARCHITECTURE.md +0 -287
- package/docs/BUILDING.md +0 -78
- package/docs/CONTRIBUTING.md +0 -32
- package/docs/resources/fullscreen.png +0 -0
- package/docs/resources/sidebar.png +0 -0
- package/docs/resources/web.png +0 -0
package/README.md
CHANGED
|
@@ -51,6 +51,9 @@ pi-muxr --quit-on-select
|
|
|
51
51
|
# Output Pi sessions to standard output
|
|
52
52
|
pi-muxr --list
|
|
53
53
|
|
|
54
|
+
# Print the installed version
|
|
55
|
+
pi-muxr --version
|
|
56
|
+
|
|
54
57
|
# Start the web app with a terminal emulator
|
|
55
58
|
# so you can continue your work from another device
|
|
56
59
|
pi-muxr --web
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Key, matchesKey, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
2
|
+
import { VERSION } from "../version.js";
|
|
2
3
|
import { getStateVisual } from "./dashboard-icons.js";
|
|
3
4
|
import { chooseDashboardLayout, fitCell, getVisibleRowRange, padToWidth, toRowText } from "./dashboard-layout.js";
|
|
4
5
|
import { DEFAULT_DASHBOARD_THEME } from "./dashboard-theme.js";
|
|
@@ -106,37 +107,42 @@ function renderTableRow(row, selected, mode, width, now, theme) {
|
|
|
106
107
|
const text = toRowText(row, now);
|
|
107
108
|
const visual = getStateVisual(row.displayState, theme, now);
|
|
108
109
|
const indicator = selected ? theme.accent("❯") : " ";
|
|
109
|
-
const unreadMarker = row.unread ?
|
|
110
|
-
const state = `${indicator} ${visual.style(`${visual.icon} ${visual.label}`)}
|
|
110
|
+
const unreadMarker = row.unread ? theme.warning("●") : "";
|
|
111
|
+
const state = `${indicator} ${visual.style(`${visual.icon} ${visual.label}`)}`;
|
|
111
112
|
const summaryStyle = row.unread && row.actionable ? theme.bright : theme.text;
|
|
112
113
|
const innerWidth = Math.max(0, width);
|
|
113
114
|
const columns = mode === "wide"
|
|
114
|
-
? { session: 16,
|
|
115
|
+
? { session: 16, prompt: 24, rootPath: 24, age: 6 }
|
|
115
116
|
: mode === "medium"
|
|
116
|
-
? { session: 14,
|
|
117
|
+
? { session: 14, prompt: 20, rootPath: 20, age: 6 }
|
|
117
118
|
: innerWidth >= 46
|
|
118
|
-
? { session:
|
|
119
|
-
: { session: 10,
|
|
119
|
+
? { session: 10, prompt: 14, rootPath: 14, age: 0 }
|
|
120
|
+
: { session: 8, prompt: 10, rootPath: 10, age: 0 };
|
|
120
121
|
const statusWidth = 12;
|
|
121
|
-
const
|
|
122
|
-
const
|
|
123
|
-
const
|
|
122
|
+
const unreadWidth = 1;
|
|
123
|
+
const fixedWidths = [statusWidth, unreadWidth, columns.session, columns.prompt, columns.age, columns.rootPath].filter((value) => value > 0);
|
|
124
|
+
const fixedWidth = fixedWidths.reduce((total, value) => total + value, 0);
|
|
125
|
+
const fixedSeparatorWidth = fixedWidths.length - 1;
|
|
126
|
+
const summaryWidth = Math.max(0, innerWidth - fixedWidth - fixedSeparatorWidth - 1);
|
|
124
127
|
const cells = [
|
|
125
128
|
padCell(state, statusWidth),
|
|
129
|
+
padCell(unreadMarker, unreadWidth),
|
|
126
130
|
padCell(theme.info(text.session), columns.session),
|
|
127
|
-
padCell(theme.
|
|
131
|
+
padCell(theme.text(fitPlainCell(text.lastPrompt, columns.prompt)), columns.prompt),
|
|
128
132
|
];
|
|
129
133
|
if (columns.age > 0)
|
|
130
134
|
cells.push(padCell(theme.muted(text.age), columns.age));
|
|
131
135
|
if (summaryWidth > 0)
|
|
132
136
|
cells.push(summaryStyle(fitPlainCell(text.summary, summaryWidth)));
|
|
137
|
+
cells.push(padCell(theme.muted(fitPlainCellEnd(text.rootPath, columns.rootPath)), columns.rootPath));
|
|
133
138
|
return cells.join(" ");
|
|
134
139
|
}
|
|
135
140
|
function renderHeader(width, theme) {
|
|
136
141
|
return renderSectionTop("pi-muxr", width, theme, theme.bright);
|
|
137
142
|
}
|
|
138
143
|
function statusSectionFits(rows, mode, width, theme) {
|
|
139
|
-
const
|
|
144
|
+
const footerWidth = visibleWidth(renderFooterContent(theme)) + 2 + visibleWidth(`v${VERSION}`);
|
|
145
|
+
const contentWidth = Math.max(visibleWidth(renderStats(rows, mode, theme)), footerWidth);
|
|
140
146
|
return width >= contentWidth + 2;
|
|
141
147
|
}
|
|
142
148
|
function renderStatusSection(rows, mode, width, theme) {
|
|
@@ -144,7 +150,7 @@ function renderStatusSection(rows, mode, width, theme) {
|
|
|
144
150
|
renderSectionTop("status", width, theme),
|
|
145
151
|
frameLine(renderStats(rows, mode, theme), width, theme, theme.surface),
|
|
146
152
|
renderSeparator(width, theme),
|
|
147
|
-
frameLine(renderFooter(theme), width, theme, theme.surface),
|
|
153
|
+
frameLine(renderFooter(width, theme), width, theme, theme.surface),
|
|
148
154
|
renderBottom(width, theme),
|
|
149
155
|
];
|
|
150
156
|
}
|
|
@@ -155,7 +161,13 @@ function renderStats(rows, mode, theme) {
|
|
|
155
161
|
const layout = mode === "wide" ? "wide table" : mode === "medium" ? "compact table" : "small table";
|
|
156
162
|
return ` ${theme.warning("●")} ${unread} unread ${theme.accent("◆")} ${actionable} actionable ${theme.stale("")} ${stale} stale ${theme.muted(layout)}`;
|
|
157
163
|
}
|
|
158
|
-
function renderFooter(theme) {
|
|
164
|
+
function renderFooter(width, theme) {
|
|
165
|
+
const content = renderFooterContent(theme);
|
|
166
|
+
const version = theme.muted(`v${VERSION}`);
|
|
167
|
+
const gapWidth = Math.max(2, width - 2 - visibleWidth(content) - visibleWidth(version));
|
|
168
|
+
return `${content}${" ".repeat(gapWidth)}${version}`;
|
|
169
|
+
}
|
|
170
|
+
function renderFooterContent(theme) {
|
|
159
171
|
return ` ${theme.accent("↑/↓ j/k")} select ${theme.accent("↵")} focus/read ${theme.accent("d")} dismiss ${theme.accent("D")} dismiss read ${theme.accent("r")} refresh ${theme.accent("q")} quit`;
|
|
160
172
|
}
|
|
161
173
|
function renderMessageLines(message, width, theme) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-component.js","sourceRoot":"","sources":["../../src/cli/dashboard-component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard-component.js","sourceRoot":"","sources":["../../src/cli/dashboard-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import type { DashboardRow } from "../domain/status.js";
|
|
|
2
2
|
export type DashboardLayoutMode = "wide" | "medium" | "narrow";
|
|
3
3
|
export interface RowText {
|
|
4
4
|
age: string;
|
|
5
|
-
|
|
5
|
+
lastPrompt: string;
|
|
6
|
+
rootPath: string;
|
|
6
7
|
session: string;
|
|
7
8
|
summary: string;
|
|
8
9
|
}
|
|
@@ -21,7 +21,8 @@ export function getVisibleRowRange(totalRows, selected, maxRows) {
|
|
|
21
21
|
export function toRowText(row, now = Date.now()) {
|
|
22
22
|
return {
|
|
23
23
|
age: shouldRunRowTimer(row) ? formatAge(now - row.lastEventAt) : "",
|
|
24
|
-
|
|
24
|
+
lastPrompt: row.lastPrompt ?? "",
|
|
25
|
+
rootPath: shortenPath(row.cwd),
|
|
25
26
|
session: row.pane?.sessionName ?? row.tmuxSession ?? "?",
|
|
26
27
|
summary: row.summary,
|
|
27
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-layout.js","sourceRoot":"","sources":["../../src/cli/dashboard-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard-layout.js","sourceRoot":"","sources":["../../src/cli/dashboard-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAmBxC,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAe;IACrF,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IAC3G,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC;IAC1B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3D,OAAO;QACL,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;QACnE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;QAChC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG;QACxD,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAiB;IAC1C,OAAO,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAChF,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,QAAQ,GAAG,GAAG;IACjE,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAa;IACpD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,YAAY,GAAG,KAAK;QAAE,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;AACjD,CAAC"}
|
package/dist/cli/format.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { relative } from "node:path";
|
|
2
2
|
export function renderRows(rows, selected = 0, now = Date.now()) {
|
|
3
|
-
const lines = ["STATE AGE SESSION
|
|
3
|
+
const lines = ["STATE AGE SESSION LAST PROMPT LAST EVENT ROOT PATH"];
|
|
4
4
|
rows.forEach((row, index) => lines.push(formatRow(row, index === selected, now)));
|
|
5
5
|
if (rows.length === 0)
|
|
6
6
|
lines.push("No pi sessions found.");
|
|
@@ -11,9 +11,11 @@ export function formatRow(row, selected, now = Date.now()) {
|
|
|
11
11
|
const state = row.displayState.padEnd(6);
|
|
12
12
|
const age = formatAge(now - row.lastEventAt).padEnd(5);
|
|
13
13
|
const session = (row.pane?.sessionName ?? row.tmuxSession ?? "?").padEnd(16).slice(0, 16);
|
|
14
|
-
const
|
|
14
|
+
const lastPrompt = (row.lastPrompt ?? "").padEnd(30).slice(0, 30);
|
|
15
|
+
const summary = row.summary.padEnd(24).slice(0, 24);
|
|
16
|
+
const rootPath = shortenPath(row.cwd);
|
|
15
17
|
const unread = row.unread ? "*" : " ";
|
|
16
|
-
return `${marker}${unread}${state} ${age} ${session} ${
|
|
18
|
+
return `${marker}${unread}${state} ${age} ${session} ${lastPrompt} ${summary} ${rootPath}`;
|
|
17
19
|
}
|
|
18
20
|
export function formatAge(ms) {
|
|
19
21
|
const seconds = Math.max(0, Math.floor(ms / 1000));
|
package/dist/cli/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,UAAU,UAAU,CAAC,IAAoB,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7E,MAAM,KAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,UAAU,UAAU,CAAC,IAAoB,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7E,MAAM,KAAK,GAAG,CAAC,kGAAkG,CAAC,CAAC;IACnH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,KAAK,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAiB,EAAE,QAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,IAAI,GAAG,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,GAAG,CAAC;IACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAChF,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACzF,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { renderRows } from "./format.js";
|
|
|
8
8
|
import { buildDashboardRows } from "./rows.js";
|
|
9
9
|
import { runWebServer } from "../web/server.js";
|
|
10
10
|
import { runDashboard } from "./dashboard.js";
|
|
11
|
+
import { VERSION } from "../version.js";
|
|
11
12
|
const HELP = `pi-muxr
|
|
12
13
|
|
|
13
14
|
Usage:
|
|
@@ -17,6 +18,7 @@ Usage:
|
|
|
17
18
|
pi-muxr --config Print resolved config
|
|
18
19
|
pi-muxr --web Serve browser terminal for a pi-muxr tmux session
|
|
19
20
|
pi-muxr --quit-on-select Exit after Enter focuses the selected row
|
|
21
|
+
pi-muxr --version Show the installed version
|
|
20
22
|
pi-muxr --help Show this help
|
|
21
23
|
|
|
22
24
|
Keys: ↑/↓ or j/k select, Enter focus/read, d dismiss, D dismiss all read, r refresh, q quit.
|
|
@@ -28,6 +30,10 @@ function main(argv) {
|
|
|
28
30
|
console.log(HELP);
|
|
29
31
|
return;
|
|
30
32
|
}
|
|
33
|
+
if (argv.includes("--version")) {
|
|
34
|
+
console.log(VERSION);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
31
37
|
try {
|
|
32
38
|
const sidebarCleanupWindowTarget = parseSidebarCleanupWindowTarget(argv);
|
|
33
39
|
if (sidebarCleanupWindowTarget) {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7K,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/status.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/domain/status.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAGlG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/domain/status.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAGlG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AA2D7D,MAAM,CAAC,MAAM,yBAAyB,GAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEjF,MAAM,UAAU,kBAAkB,CAAC,MAA6E,EAAE,gBAAgB,GAAG,yBAAyB;IAC5J,OAAO,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAwF;IACrH,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAmE;IAC5G,OAAO,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAC7D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PiMuxrStatus } from "../domain/status.js";
|
|
2
2
|
export default function piMuxrExtension(pi: any): void;
|
|
3
3
|
export declare function resolveAgentEndStatus(event: unknown, fallbackError: string | null): Pick<PiMuxrStatus, "state" | "severity" | "summary">;
|
|
4
|
+
export declare function normalizePrompt(prompt: unknown): string | null;
|
|
4
5
|
export declare function summarizeAskUserRequest(input: unknown): string;
|
|
5
6
|
export declare function summarizeAskUserResult(event: any): string;
|
|
6
7
|
export declare function formatToolName(toolName: unknown): string;
|
|
@@ -4,14 +4,15 @@ import { notifyStatus } from "../notifications/desktop.js";
|
|
|
4
4
|
import { ringTerminalBell, shouldRingTerminalBell } from "../notifications/terminal.js";
|
|
5
5
|
import { openDatabase } from "../state/database.js";
|
|
6
6
|
import { hasFreshDashboardPresence } from "../state/dashboard-presence.js";
|
|
7
|
-
import { markNotified, removeStatus, updateHeartbeat, upsertStatus } from "../state/write-status.js";
|
|
7
|
+
import { markNotified, removeStatus, updateHeartbeat, updateLastPrompt, upsertStatus } from "../state/write-status.js";
|
|
8
8
|
import { listTmuxPanes } from "../tmux/list-panes.js";
|
|
9
9
|
export default function piMuxrExtension(pi) {
|
|
10
|
-
const runtime = { config: loadConfig(), db: null, id: null, heartbeatTimer: null, lastError: null, model: null, handledToolCallIds: new Set(), hasToolPreviewInPrompt: false };
|
|
10
|
+
const runtime = { config: loadConfig(), db: null, id: null, heartbeatTimer: null, lastError: null, model: null, lastPrompt: null, handledToolCallIds: new Set(), hasToolPreviewInPrompt: false };
|
|
11
11
|
pi.on("session_start", async (_event, ctx) => {
|
|
12
12
|
runtime.config = loadConfig();
|
|
13
13
|
runtime.db = openDatabase(runtime.config.databasePath);
|
|
14
14
|
runtime.model = formatModel(ctx.model);
|
|
15
|
+
runtime.lastPrompt = null;
|
|
15
16
|
runtime.id = createSessionId(ctx);
|
|
16
17
|
writeState(runtime, ctx, "IDLE", "low", startSummary(ctx));
|
|
17
18
|
runtime.heartbeatTimer = setInterval(() => writeHeartbeat(runtime, ctx), runtime.config.heartbeatIntervalMs);
|
|
@@ -20,6 +21,7 @@ export default function piMuxrExtension(pi) {
|
|
|
20
21
|
runtime.model = formatModel(event.model);
|
|
21
22
|
writeState(runtime, ctx, "IDLE", "low", `model: ${runtime.model}`);
|
|
22
23
|
});
|
|
24
|
+
pi.on("input", async (event) => captureLastPrompt(runtime, event.text));
|
|
23
25
|
pi.on("agent_start", async (_event, ctx) => {
|
|
24
26
|
runtime.lastError = null;
|
|
25
27
|
runtime.handledToolCallIds.clear();
|
|
@@ -144,10 +146,25 @@ function baseStatus(runtime, ctx, pane, state, severity, summary, now, event) {
|
|
|
144
146
|
state,
|
|
145
147
|
severity,
|
|
146
148
|
summary,
|
|
149
|
+
lastPrompt: runtime.lastPrompt,
|
|
147
150
|
lastEventAt: event ? now : now,
|
|
148
151
|
heartbeatAt: now,
|
|
149
152
|
};
|
|
150
153
|
}
|
|
154
|
+
function captureLastPrompt(runtime, prompt) {
|
|
155
|
+
const lastPrompt = normalizePrompt(prompt);
|
|
156
|
+
if (!lastPrompt)
|
|
157
|
+
return;
|
|
158
|
+
runtime.lastPrompt = lastPrompt;
|
|
159
|
+
if (runtime.db && runtime.id)
|
|
160
|
+
updateLastPrompt(runtime.db, runtime.id, lastPrompt);
|
|
161
|
+
}
|
|
162
|
+
export function normalizePrompt(prompt) {
|
|
163
|
+
if (typeof prompt !== "string")
|
|
164
|
+
return null;
|
|
165
|
+
const normalized = prompt.replace(/\s+/g, " ").trim();
|
|
166
|
+
return normalized || null;
|
|
167
|
+
}
|
|
151
168
|
function maybeRingBell(runtime, status, snapshot) {
|
|
152
169
|
if (shouldRingTerminalBell(runtime.config, status.state, snapshot?.state ?? null))
|
|
153
170
|
ringTerminalBell();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-muxr.js","sourceRoot":"","sources":["../../src/extension/pi-muxr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pi-muxr.js","sourceRoot":"","sources":["../../src/extension/pi-muxr.ts"],"names":[],"mappings":"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"}
|
package/dist/state/database.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { mkdirSync } from "node:fs";
|
|
2
2
|
import { DatabaseSync } from "node:sqlite";
|
|
3
3
|
import { parentDir } from "../config/paths.js";
|
|
4
|
+
import { applyDatabaseMigrations } from "./migrations.js";
|
|
4
5
|
import { SCHEMA_SQL } from "./schema.js";
|
|
5
6
|
export function openDatabase(databasePath) {
|
|
6
7
|
mkdirSync(parentDir(databasePath), { recursive: true });
|
|
7
8
|
const db = new DatabaseSync(databasePath);
|
|
8
9
|
db.exec("PRAGMA journal_mode = WAL; PRAGMA busy_timeout = 3000;");
|
|
9
10
|
db.exec(SCHEMA_SQL);
|
|
11
|
+
applyDatabaseMigrations(db);
|
|
10
12
|
return db;
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/state/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,UAAU,YAAY,CAAC,YAAoB;IAC/C,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1C,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAClE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/state/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,UAAU,YAAY,CAAC,YAAoB;IAC/C,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1C,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAClE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const DATABASE_MIGRATIONS = [
|
|
2
|
+
{
|
|
3
|
+
version: 1,
|
|
4
|
+
apply: addLastPromptColumn,
|
|
5
|
+
},
|
|
6
|
+
];
|
|
7
|
+
export function applyDatabaseMigrations(db, migrations = DATABASE_MIGRATIONS) {
|
|
8
|
+
validateMigrationOrder(migrations);
|
|
9
|
+
db.exec("BEGIN IMMEDIATE");
|
|
10
|
+
try {
|
|
11
|
+
const currentVersion = readDatabaseVersion(db);
|
|
12
|
+
const latestVersion = migrations.at(-1)?.version ?? 0;
|
|
13
|
+
if (currentVersion > latestVersion)
|
|
14
|
+
throw new Error(`Database schema version ${currentVersion} is newer than supported version ${latestVersion}`);
|
|
15
|
+
for (const migration of migrations) {
|
|
16
|
+
if (migration.version <= currentVersion)
|
|
17
|
+
continue;
|
|
18
|
+
migration.apply(db);
|
|
19
|
+
db.exec(`PRAGMA user_version = ${migration.version}`);
|
|
20
|
+
}
|
|
21
|
+
db.exec("COMMIT");
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
db.exec("ROLLBACK");
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function addLastPromptColumn(db) {
|
|
29
|
+
if (hasColumn(db, "sessions", "last_prompt"))
|
|
30
|
+
return;
|
|
31
|
+
db.exec("ALTER TABLE sessions ADD COLUMN last_prompt TEXT");
|
|
32
|
+
}
|
|
33
|
+
function hasColumn(db, table, column) {
|
|
34
|
+
const columns = db.prepare(`PRAGMA table_info(${table})`).all();
|
|
35
|
+
return columns.some((candidate) => candidate.name === column);
|
|
36
|
+
}
|
|
37
|
+
function validateMigrationOrder(migrations) {
|
|
38
|
+
for (let index = 0; index < migrations.length; index += 1) {
|
|
39
|
+
const expectedVersion = index + 1;
|
|
40
|
+
if (migrations[index]?.version !== expectedVersion)
|
|
41
|
+
throw new Error(`Database migration version ${expectedVersion} is missing or out of order`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function readDatabaseVersion(db) {
|
|
45
|
+
const row = db.prepare("PRAGMA user_version").get();
|
|
46
|
+
return row?.user_version ?? 0;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/state/migrations.ts"],"names":[],"mappings":"AAOA,MAAM,mBAAmB,GAAwB;IAC/C;QACE,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,mBAAmB;KAC3B;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,EAAY,EAAE,UAAU,GAAwB,mBAAmB;IACzG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC;QACtD,IAAI,cAAc,GAAG,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,oCAAoC,aAAa,EAAE,CAAC,CAAC;QAElJ,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,OAAO,IAAI,cAAc;gBAAE,SAAS;YAClD,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,EAAE,CAAC,IAAI,CAAC,yBAAyB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAY;IACvC,IAAI,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC;QAAE,OAAO;IACrD,EAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,EAAY,EAAE,KAAa,EAAE,MAAc;IAC5D,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,GAAG,EAA6B,CAAC;IAC3F,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,UAA+B;IAC7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC;QAClC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,eAAe,6BAA6B,CAAC,CAAC;IAClJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAY;IACvC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAA2C,CAAC;IAC7F,OAAO,GAAG,EAAE,YAAY,IAAI,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/state/rows.d.ts
CHANGED
package/dist/state/rows.js
CHANGED
package/dist/state/rows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../../src/state/rows.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,QAAQ,CAAC,GAAiB;IACxC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,aAAa,EAAE,GAAG,CAAC,eAAe;QAClC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,gBAAgB,EAAE,GAAG,CAAC,mBAAmB;QACzC,cAAc,EAAE,GAAG,CAAC,eAAe;QACnC,qBAAqB,EAAE,GAAG,CAAC,wBAAwB;QACnD,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;KAChD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../../src/state/rows.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,QAAQ,CAAC,GAAiB;IACxC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,aAAa,EAAE,GAAG,CAAC,eAAe;QAClC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,gBAAgB,EAAE,GAAG,CAAC,mBAAmB;QACzC,cAAc,EAAE,GAAG,CAAC,eAAe;QACnC,qBAAqB,EAAE,GAAG,CAAC,wBAAwB;QACnD,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;KAChD,CAAC;AACJ,CAAC"}
|
package/dist/state/schema.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n pane_id TEXT,\n tmux_session TEXT,\n tmux_window TEXT,\n tmux_window_index TEXT,\n pid INTEGER NOT NULL,\n cwd TEXT NOT NULL,\n pi_session_file TEXT,\n model TEXT,\n state TEXT NOT NULL,\n severity TEXT NOT NULL,\n summary TEXT NOT NULL,\n last_event_at INTEGER NOT NULL,\n heartbeat_at INTEGER NOT NULL,\n read_until_event_at INTEGER,\n acknowledged_at INTEGER,\n dismissed_until_event_at INTEGER,\n last_notified_event_at INTEGER\n);\n\nCREATE TABLE IF NOT EXISTS dashboard_presence (\n instance_id TEXT PRIMARY KEY,\n pid INTEGER NOT NULL,\n tmux_pane_id TEXT,\n started_at INTEGER NOT NULL,\n heartbeat_at INTEGER NOT NULL\n);\n";
|
|
1
|
+
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n pane_id TEXT,\n tmux_session TEXT,\n tmux_window TEXT,\n tmux_window_index TEXT,\n pid INTEGER NOT NULL,\n cwd TEXT NOT NULL,\n pi_session_file TEXT,\n model TEXT,\n state TEXT NOT NULL,\n severity TEXT NOT NULL,\n summary TEXT NOT NULL,\n last_prompt TEXT,\n last_event_at INTEGER NOT NULL,\n heartbeat_at INTEGER NOT NULL,\n read_until_event_at INTEGER,\n acknowledged_at INTEGER,\n dismissed_until_event_at INTEGER,\n last_notified_event_at INTEGER\n);\n\nCREATE TABLE IF NOT EXISTS dashboard_presence (\n instance_id TEXT PRIMARY KEY,\n pid INTEGER NOT NULL,\n tmux_pane_id TEXT,\n started_at INTEGER NOT NULL,\n heartbeat_at INTEGER NOT NULL\n);\n";
|
package/dist/state/schema.js
CHANGED
package/dist/state/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/state/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/state/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BzB,CAAC"}
|
|
@@ -4,6 +4,7 @@ export type StatusInput = Omit<PiMuxrStatus, "readUntilEventAt" | "acknowledgedA
|
|
|
4
4
|
export declare function upsertStatus(db: Database, status: StatusInput): void;
|
|
5
5
|
export declare function removeStatus(db: Database, id: string): void;
|
|
6
6
|
export declare function updateHeartbeat(db: Database, id: string, heartbeatAt?: number): void;
|
|
7
|
+
export declare function updateLastPrompt(db: Database, id: string, lastPrompt: string): void;
|
|
7
8
|
export declare function markRead(db: Database, id: string, lastEventAt: number): void;
|
|
8
9
|
export declare function dismissStatus(db: Database, id: string, lastEventAt: number, at?: number): void;
|
|
9
10
|
export declare function dismissAllRead(db: Database, actionableStatesOrAt?: PiMuxrState[] | number, at?: number): number;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { DEFAULT_ACTIONABLE_STATES } from "../domain/status.js";
|
|
2
|
+
const LAST_PROMPT_MAX_LENGTH = 120;
|
|
2
3
|
export function upsertStatus(db, status) {
|
|
3
4
|
db.prepare(`
|
|
4
|
-
INSERT INTO sessions (id, pane_id, tmux_session, tmux_window, tmux_window_index, pid, cwd, pi_session_file, model, state, severity, summary, last_event_at, heartbeat_at, read_until_event_at, acknowledged_at, dismissed_until_event_at, last_notified_event_at)
|
|
5
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
5
|
+
INSERT INTO sessions (id, pane_id, tmux_session, tmux_window, tmux_window_index, pid, cwd, pi_session_file, model, state, severity, summary, last_prompt, last_event_at, heartbeat_at, read_until_event_at, acknowledged_at, dismissed_until_event_at, last_notified_event_at)
|
|
6
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
6
7
|
ON CONFLICT(id) DO UPDATE SET
|
|
7
8
|
pane_id=excluded.pane_id,
|
|
8
9
|
tmux_session=excluded.tmux_session,
|
|
@@ -15,13 +16,14 @@ export function upsertStatus(db, status) {
|
|
|
15
16
|
state=excluded.state,
|
|
16
17
|
severity=excluded.severity,
|
|
17
18
|
summary=excluded.summary,
|
|
19
|
+
last_prompt=excluded.last_prompt,
|
|
18
20
|
last_event_at=excluded.last_event_at,
|
|
19
21
|
heartbeat_at=excluded.heartbeat_at,
|
|
20
22
|
read_until_event_at=COALESCE(sessions.read_until_event_at, excluded.read_until_event_at),
|
|
21
23
|
acknowledged_at=COALESCE(sessions.acknowledged_at, excluded.acknowledged_at),
|
|
22
24
|
dismissed_until_event_at=COALESCE(sessions.dismissed_until_event_at, excluded.dismissed_until_event_at),
|
|
23
25
|
last_notified_event_at=COALESCE(sessions.last_notified_event_at, excluded.last_notified_event_at)
|
|
24
|
-
`).run(status.id, status.paneId, status.tmuxSession, status.tmuxWindow, status.tmuxWindowIndex, status.pid, status.cwd, status.piSessionFile, status.model, status.state, status.severity, truncate(status.summary, 500), status.lastEventAt, status.heartbeatAt, status.readUntilEventAt ?? null, status.acknowledgedAt ?? null, status.dismissedUntilEventAt ?? null, status.lastNotifiedEventAt ?? null);
|
|
26
|
+
`).run(status.id, status.paneId, status.tmuxSession, status.tmuxWindow, status.tmuxWindowIndex, status.pid, status.cwd, status.piSessionFile, status.model, status.state, status.severity, truncate(status.summary, 500), truncateNullable(status.lastPrompt, LAST_PROMPT_MAX_LENGTH), status.lastEventAt, status.heartbeatAt, status.readUntilEventAt ?? null, status.acknowledgedAt ?? null, status.dismissedUntilEventAt ?? null, status.lastNotifiedEventAt ?? null);
|
|
25
27
|
}
|
|
26
28
|
export function removeStatus(db, id) {
|
|
27
29
|
db.prepare("DELETE FROM sessions WHERE id = ?").run(id);
|
|
@@ -29,6 +31,9 @@ export function removeStatus(db, id) {
|
|
|
29
31
|
export function updateHeartbeat(db, id, heartbeatAt = Date.now()) {
|
|
30
32
|
db.prepare("UPDATE sessions SET heartbeat_at = ? WHERE id = ?").run(heartbeatAt, id);
|
|
31
33
|
}
|
|
34
|
+
export function updateLastPrompt(db, id, lastPrompt) {
|
|
35
|
+
db.prepare("UPDATE sessions SET last_prompt = ? WHERE id = ?").run(truncate(lastPrompt, LAST_PROMPT_MAX_LENGTH), id);
|
|
36
|
+
}
|
|
32
37
|
export function markRead(db, id, lastEventAt) {
|
|
33
38
|
db.prepare("UPDATE sessions SET read_until_event_at = ? WHERE id = ?").run(lastEventAt, id);
|
|
34
39
|
}
|
|
@@ -53,6 +58,9 @@ export function dismissAllRead(db, actionableStatesOrAt = DEFAULT_ACTIONABLE_STA
|
|
|
53
58
|
export function markNotified(db, id, lastEventAt) {
|
|
54
59
|
db.prepare("UPDATE sessions SET last_notified_event_at = ? WHERE id = ?").run(lastEventAt, id);
|
|
55
60
|
}
|
|
61
|
+
function truncateNullable(value, max) {
|
|
62
|
+
return value ? truncate(value, max) : null;
|
|
63
|
+
}
|
|
56
64
|
function truncate(value, max) {
|
|
57
65
|
return value.length <= max ? value : `${value.slice(0, max - 1)}…`;
|
|
58
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-status.js","sourceRoot":"","sources":["../../src/state/write-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKhE,MAAM,UAAU,YAAY,CAAC,EAAY,EAAE,MAAmB;IAC5D,EAAE,CAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"write-status.js","sourceRoot":"","sources":["../../src/state/write-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION: string;
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAoB,CAAC;AAEtE,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuriteixeira/pi-muxr",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "tmux dashboard for Pi coding sessions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
},
|
|
36
36
|
"files": [
|
|
37
37
|
"dist",
|
|
38
|
-
"docs",
|
|
39
38
|
"examples",
|
|
40
39
|
"LICENSE",
|
|
41
40
|
"README.md"
|
package/docs/ARCHITECTURE.md
DELETED
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
# `pi-muxr` architecture
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
`pi-muxr` gives one view of Pi sessions that run in tmux. It answers three questions:
|
|
6
|
-
|
|
7
|
-
1. Which sessions are active?
|
|
8
|
-
2. Which sessions need attention?
|
|
9
|
-
3. Which tmux pane owns each session?
|
|
10
|
-
|
|
11
|
-
The project does not read terminal output. A Pi extension receives Pi events and publishes structured state. The terminal and browser interfaces read that shared state.
|
|
12
|
-
|
|
13
|
-
## System overview
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
Pi session
|
|
17
|
-
|
|
|
18
|
-
| Pi extension events
|
|
19
|
-
+--> terminal bell in the Pi pane
|
|
20
|
-
v
|
|
21
|
-
SQLite database: ~/.pi-muxr/pi-muxr.sqlite
|
|
22
|
-
|
|
|
23
|
-
+--> CLI dashboard
|
|
24
|
-
| |
|
|
25
|
-
| +--> terminal input and display
|
|
26
|
-
| +--> tmux pane focus
|
|
27
|
-
|
|
|
28
|
-
+--> Web terminal gateway
|
|
29
|
-
| |
|
|
30
|
-
| +--> browser xterm terminal
|
|
31
|
-
| +--> tmux session through node-pty
|
|
32
|
-
| +--> browser notifications
|
|
33
|
-
|
|
|
34
|
-
+--> Desktop notifications
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
SQLite is the shared boundary between the Pi extension and the user interfaces. It allows the extension and one or more dashboard processes to read and update state without a separate service.
|
|
38
|
-
|
|
39
|
-
## Source layout
|
|
40
|
-
|
|
41
|
-
```text
|
|
42
|
-
src/
|
|
43
|
-
├── domain/ State types and rules that do not depend on I/O
|
|
44
|
-
├── extension/ Pi event integration and session state publishing
|
|
45
|
-
├── state/ SQLite schema and state reads and writes
|
|
46
|
-
├── tmux/ Pane discovery and pane focus
|
|
47
|
-
├── cli/ Terminal entry point and dashboard rendering
|
|
48
|
-
├── web/ HTTP server, browser assets, and terminal gateway
|
|
49
|
-
├── config/ Configuration and path resolution
|
|
50
|
-
└── notifications/ Desktop notification integration
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
The domain layer is kept independent from the terminal, web, tmux, and database layers. This makes state rules easier to test and keeps the user interfaces as clients of the same data model.
|
|
54
|
-
|
|
55
|
-
## State model
|
|
56
|
-
|
|
57
|
-
Each Pi process owns one row in the `sessions` table.
|
|
58
|
-
|
|
59
|
-
Important fields include:
|
|
60
|
-
|
|
61
|
-
- `id`: Stable identifier for the Pi session and tmux pane.
|
|
62
|
-
- `pane_id`: tmux pane identifier such as `%12`.
|
|
63
|
-
- `tmux_session`, `tmux_window`, and `tmux_window_index`: Pane location.
|
|
64
|
-
- `pid`: Pi process ID.
|
|
65
|
-
- `cwd`: Project directory.
|
|
66
|
-
- `pi_session_file`: Pi session file when available.
|
|
67
|
-
- `model`: Selected model.
|
|
68
|
-
- `state`: Current Pi state.
|
|
69
|
-
- `severity`: `low`, `medium`, or `high`.
|
|
70
|
-
- `summary`: Short description of the latest event.
|
|
71
|
-
- `last_event_at`: Time of the latest meaningful event.
|
|
72
|
-
- `heartbeat_at`: Time of the latest process heartbeat.
|
|
73
|
-
- Read, dismissal, and notification markers.
|
|
74
|
-
|
|
75
|
-
The database also contains `dashboard_presence`. Dashboard processes update this table so the extension can avoid sending desktop notifications when a dashboard is already open.
|
|
76
|
-
|
|
77
|
-
## Session states
|
|
78
|
-
|
|
79
|
-
The domain supports these states:
|
|
80
|
-
|
|
81
|
-
| State | Meaning |
|
|
82
|
-
| --- | --- |
|
|
83
|
-
| `ASK` | Pi is waiting for user input through `ask_user`. |
|
|
84
|
-
| `ERROR` | A turn or tool ended with an error. |
|
|
85
|
-
| `DONE` | A turn completed. |
|
|
86
|
-
| `QUEUED` | Work is waiting to start. |
|
|
87
|
-
| `RUN` | Pi is processing a turn or tool. |
|
|
88
|
-
| `IDLE` | The session is alive but not active. |
|
|
89
|
-
| `STALE` | Internal display classification for an expired heartbeat or a missing tmux pane. |
|
|
90
|
-
|
|
91
|
-
By default, `ASK`, `ERROR`, and `DONE` are actionable. The configuration can change the actionable states used by the dashboard, terminal bell, dismissal actions, and browser notifications. Desktop notifications always use the default actionable states.
|
|
92
|
-
|
|
93
|
-
An event is unread when its `last_event_at` is newer than `read_until_event_at` and it has not been dismissed. Unread and actionable are separate properties. The dashboard can therefore show an unread marker for a state that is not actionable. An event is dismissed when `dismissed_until_event_at` is at least as recent as `last_event_at`. This means a new event becomes visible again after an older event was read or dismissed.
|
|
94
|
-
|
|
95
|
-
## Pi extension flow
|
|
96
|
-
|
|
97
|
-
The extension is loaded by Pi and listens to Pi lifecycle events.
|
|
98
|
-
|
|
99
|
-
```text
|
|
100
|
-
session_start
|
|
101
|
-
-> open database
|
|
102
|
-
-> create session ID
|
|
103
|
-
-> publish IDLE state
|
|
104
|
-
-> start heartbeat timer
|
|
105
|
-
|
|
106
|
-
agent_start / turn_start
|
|
107
|
-
-> publish RUN state
|
|
108
|
-
|
|
109
|
-
tool_call
|
|
110
|
-
-> publish ASK for ask_user
|
|
111
|
-
-> publish RUN for other tools
|
|
112
|
-
|
|
113
|
-
tool_result
|
|
114
|
-
-> retain error information
|
|
115
|
-
-> publish tool summary when needed
|
|
116
|
-
|
|
117
|
-
agent_end
|
|
118
|
-
-> publish ERROR when the turn failed
|
|
119
|
-
-> otherwise publish DONE
|
|
120
|
-
|
|
121
|
-
session_shutdown
|
|
122
|
-
-> stop heartbeat
|
|
123
|
-
-> remove session row
|
|
124
|
-
-> close database
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
The extension also refreshes tmux information when it writes a state update. It uses `TMUX_PANE` and tmux pane discovery to associate a Pi process with its owning pane. When the process enters a configured actionable state, the extension emits one terminal bell. Because the bell comes from the Pi process, tmux assigns the alert to the window that owns the Pi pane.
|
|
128
|
-
|
|
129
|
-
Summaries are truncated before storage. This keeps the database small and limits the amount of event data retained for display.
|
|
130
|
-
|
|
131
|
-
## Heartbeats and stale sessions
|
|
132
|
-
|
|
133
|
-
The extension updates `heartbeat_at` on a timer. The dashboard does not trust clean shutdown alone because a process can be killed or a pane can disappear.
|
|
134
|
-
|
|
135
|
-
When dashboard rows are built:
|
|
136
|
-
|
|
137
|
-
- A session is stale when its heartbeat is older than `staleAfterMs`.
|
|
138
|
-
- A session is also stale when its recorded pane is missing.
|
|
139
|
-
- Stale rows are classified as `STALE`, marked as not actionable, and removed from the displayed rows.
|
|
140
|
-
|
|
141
|
-
This check is performed when rows are read. The database does not need a cleanup process for abandoned rows, but abandoned rows remain stored and are hidden from the interfaces.
|
|
142
|
-
|
|
143
|
-
## CLI dashboard flow
|
|
144
|
-
|
|
145
|
-
The CLI has four modes:
|
|
146
|
-
|
|
147
|
-
- Interactive dashboard: `pi-muxr`
|
|
148
|
-
- Tmux sidebar toggle: `pi-muxr --sidebar [left|right]`
|
|
149
|
-
- Plain output: `pi-muxr --list`
|
|
150
|
-
- Browser server: `pi-muxr --web`
|
|
151
|
-
|
|
152
|
-
The interactive dashboard follows this flow:
|
|
153
|
-
|
|
154
|
-
```text
|
|
155
|
-
load configuration
|
|
156
|
-
-> open SQLite database
|
|
157
|
-
-> record dashboard presence
|
|
158
|
-
-> read session rows
|
|
159
|
-
-> list tmux panes
|
|
160
|
-
-> join sessions with panes
|
|
161
|
-
-> mark and remove stale rows
|
|
162
|
-
-> sort active rows
|
|
163
|
-
-> render dashboard
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
The dashboard refreshes once per second and keeps the selected row. The Pi extension emits terminal bells, so the dashboard does not assign alerts to its own window.
|
|
167
|
-
|
|
168
|
-
User actions update SQLite before they affect the display:
|
|
169
|
-
|
|
170
|
-
- `Enter` marks the event as read and focuses its pane.
|
|
171
|
-
- `d` dismisses the selected event.
|
|
172
|
-
- `D` dismisses all read actionable events.
|
|
173
|
-
- `r` refreshes the rows.
|
|
174
|
-
- `q`, `Esc`, or `Ctrl+C` cleans up presence and exits.
|
|
175
|
-
|
|
176
|
-
The rendering layer uses `@earendil-works/pi-tui`. Dashboard orchestration, state updates, tmux commands, and rendering are separate responsibilities.
|
|
177
|
-
|
|
178
|
-
## Tmux integration
|
|
179
|
-
|
|
180
|
-
The extension uses `tmux list-panes` to discover pane metadata. The dashboard joins this data with the session rows by pane ID.
|
|
181
|
-
|
|
182
|
-
When the user focuses a row, `src/tmux/focus.ts` selects the pane and switches to its tmux session and window. When the CLI runs outside tmux, it reports the commands needed to focus the pane instead of pretending that the focus succeeded.
|
|
183
|
-
|
|
184
|
-
The sidebar command splits every window in every tmux session and starts the same `pi-muxr` entrypoint in each new pane. The default side is right, and each pane uses at most 25 percent of the window width. A tmux pane option marks each pane. A global tmux option stores the selected side. Indexed `after-new-session` and `after-new-window` hooks add the sidebar to new sessions and windows without replacing other hooks. An indexed `window-layout-changed` hook closes a sidebar when it is the only pane left in its window. The next sidebar command finds the markers, closes all dashboard sidebar panes, and removes the option and hooks.
|
|
185
|
-
|
|
186
|
-
The browser gateway uses a separate tmux session, named `pi-muxr-web` by default. A query parameter can select another valid session name.
|
|
187
|
-
|
|
188
|
-
## Browser interface
|
|
189
|
-
|
|
190
|
-
The web interface is a local HTTP server with a WebSocket terminal gateway.
|
|
191
|
-
|
|
192
|
-
```text
|
|
193
|
-
Browser
|
|
194
|
-
| HTTP
|
|
195
|
-
v
|
|
196
|
-
Web server
|
|
197
|
-
| serves page, assets, and terminal theme
|
|
198
|
-
|
|
|
199
|
-
| WebSocket
|
|
200
|
-
v
|
|
201
|
-
Terminal gateway
|
|
202
|
-
| node-pty
|
|
203
|
-
v
|
|
204
|
-
tmux attach-session
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
When a browser connects, the gateway:
|
|
208
|
-
|
|
209
|
-
1. Validates the requested tmux session name.
|
|
210
|
-
2. Creates the session when it does not exist.
|
|
211
|
-
3. Temporarily hides the tmux status line.
|
|
212
|
-
4. Starts `tmux attach-session` through `node-pty`.
|
|
213
|
-
5. Forwards terminal output to the browser.
|
|
214
|
-
6. Forwards keyboard input and valid resize messages to the terminal.
|
|
215
|
-
7. Polls SQLite for unread actionable events and sends browser notification messages.
|
|
216
|
-
8. Restores tmux status and closes resources when the connection ends.
|
|
217
|
-
|
|
218
|
-
The web interface is a terminal view, not a second dashboard implementation. It attaches to the tmux session that runs the normal CLI dashboard.
|
|
219
|
-
|
|
220
|
-
## Notifications
|
|
221
|
-
|
|
222
|
-
The terminal bell and browser notifications use the configured actionable states. Desktop notifications use the fixed default states: `ASK`, `ERROR`, and `DONE`.
|
|
223
|
-
|
|
224
|
-
Desktop notification flow:
|
|
225
|
-
|
|
226
|
-
```text
|
|
227
|
-
extension state update
|
|
228
|
-
-> check default desktop notification state
|
|
229
|
-
-> check previous notification marker
|
|
230
|
-
-> check dashboard presence
|
|
231
|
-
-> send desktop notification
|
|
232
|
-
-> store last_notified_event_at
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
The extension avoids repeated desktop notifications for the same state. When configured, a fresh dashboard presence suppresses desktop notifications because the user can already see the event.
|
|
236
|
-
|
|
237
|
-
The Pi extension emits the terminal bell when a session enters a new actionable state. It compares the new state with the stored state to avoid a repeated bell. The browser gateway polls notification state and sends browser messages for new unread actionable rows.
|
|
238
|
-
|
|
239
|
-
## Configuration boundary
|
|
240
|
-
|
|
241
|
-
Configuration is loaded from `~/.pi-muxr/config.json`. If the file does not exist, built in defaults are used.
|
|
242
|
-
|
|
243
|
-
Configuration controls:
|
|
244
|
-
|
|
245
|
-
- Database and state paths.
|
|
246
|
-
- Actionable states for the dashboard, terminal bell, dismissal actions, and browser notifications.
|
|
247
|
-
- Desktop notification behavior for the fixed `ASK`, `ERROR`, and `DONE` states.
|
|
248
|
-
- Terminal bell behavior.
|
|
249
|
-
- Whether dismissed rows are shown.
|
|
250
|
-
- Stale and heartbeat timing.
|
|
251
|
-
- Dashboard presence timing.
|
|
252
|
-
|
|
253
|
-
The CLI, extension, and web gateway all load the same configuration. They share state and timing rules, while desktop notifications retain their fixed default state list.
|
|
254
|
-
|
|
255
|
-
## Design decisions
|
|
256
|
-
|
|
257
|
-
### Structured events instead of screen scraping
|
|
258
|
-
|
|
259
|
-
Pi events provide clear meaning and stable summaries. Screen scraping would depend on terminal formatting and would not reliably identify questions, errors, or completed turns.
|
|
260
|
-
|
|
261
|
-
### SQLite instead of per process files
|
|
262
|
-
|
|
263
|
-
SQLite supports concurrent reads and writes, preserves read and dismissal markers, and keeps the state model in one place.
|
|
264
|
-
|
|
265
|
-
### tmux as the focus layer
|
|
266
|
-
|
|
267
|
-
Pi sessions already run in tmux. Storing the pane ID allows the dashboard to move from an event directly to the owning session without controlling Pi itself.
|
|
268
|
-
|
|
269
|
-
### Shared domain rules
|
|
270
|
-
|
|
271
|
-
Actionable, unread, dismissed, and stale behavior is defined in the domain and used by every interface. This prevents the terminal and browser paths from making different decisions about the same event.
|
|
272
|
-
|
|
273
|
-
### Best effort cleanup with display time checks
|
|
274
|
-
|
|
275
|
-
Clean shutdown removes rows, but stale detection remains necessary for crashes, closed panes, and killed processes.
|
|
276
|
-
|
|
277
|
-
## Extension points
|
|
278
|
-
|
|
279
|
-
The design leaves room for future changes without changing the main data flow:
|
|
280
|
-
|
|
281
|
-
- Add new Pi event mappings in the extension.
|
|
282
|
-
- Add new states to the domain model and configuration.
|
|
283
|
-
- Add another client that reads the SQLite state.
|
|
284
|
-
- Add notification providers beside desktop and browser notifications.
|
|
285
|
-
- Add more tmux actions without changing session publishing.
|
|
286
|
-
|
|
287
|
-
A new interface should read the domain state and reuse the existing row rules. It should not create a second session protocol.
|
package/docs/BUILDING.md
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# Building `pi-muxr`
|
|
2
|
-
|
|
3
|
-
This guide explains how to build and run a local copy of `pi-muxr`.
|
|
4
|
-
|
|
5
|
-
## Requirements
|
|
6
|
-
|
|
7
|
-
- Node.js 24 or later
|
|
8
|
-
- pnpm
|
|
9
|
-
- tmux for running the dashboard
|
|
10
|
-
- Pi for testing the extension
|
|
11
|
-
|
|
12
|
-
The CLI uses the built in `node:sqlite` module.
|
|
13
|
-
|
|
14
|
-
## Install and build
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
pnpm install
|
|
18
|
-
pnpm build
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
The build output is written to `dist`.
|
|
22
|
-
|
|
23
|
-
For an automatic rebuild during development, run:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
pnpm start
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Check the code
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
pnpm typecheck
|
|
33
|
-
pnpm test
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Link the CLI
|
|
37
|
-
|
|
38
|
-
To run the local CLI from any directory:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
pnpm link --global
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
The command points to `dist/cli/index.js`. Rebuild after source changes, or keep `pnpm start` running.
|
|
45
|
-
|
|
46
|
-
## Load the Pi extension
|
|
47
|
-
|
|
48
|
-
Build the package, then link the complete extension directory:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
pnpm build
|
|
52
|
-
mkdir -p ~/.pi/agent/extensions
|
|
53
|
-
rm -f ~/.pi/agent/extensions/pi-muxr.js ~/.pi/agent/extensions/pi-muxr
|
|
54
|
-
ln -sfn "$PWD/dist/extension" ~/.pi/agent/extensions/pi-muxr
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
The directory link is required because the built extension imports sibling modules from `dist`.
|
|
58
|
-
|
|
59
|
-
If Pi is already running, use `/reload` after creating or changing the link.
|
|
60
|
-
|
|
61
|
-
The extension stores state in:
|
|
62
|
-
|
|
63
|
-
```text
|
|
64
|
-
~/.pi-muxr/pi-muxr.sqlite
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
It removes its row during a clean shutdown. Wrappers around Pi are supported when they load the extension.
|
|
68
|
-
|
|
69
|
-
## Run the CLI
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
pi-muxr --help
|
|
73
|
-
pi-muxr --list
|
|
74
|
-
pi-muxr
|
|
75
|
-
pi-muxr --web
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
See the main [README](../README.md) for user configuration, key bindings, and usage details.
|
package/docs/CONTRIBUTING.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Contributing to `pi-muxr`
|
|
2
|
-
|
|
3
|
-
## Development workflow
|
|
4
|
-
|
|
5
|
-
1. Create a branch for your change.
|
|
6
|
-
2. Install dependencies with `pnpm install`.
|
|
7
|
-
3. Make a focused change.
|
|
8
|
-
4. Run `pnpm typecheck`.
|
|
9
|
-
5. Run `pnpm test`.
|
|
10
|
-
6. Run `pnpm build` when the change affects the build or package output.
|
|
11
|
-
7. Update the documentation when behavior or setup changes.
|
|
12
|
-
|
|
13
|
-
See [BUILDING.md](BUILDING.md) for local setup and Pi extension loading.
|
|
14
|
-
|
|
15
|
-
## Code changes
|
|
16
|
-
|
|
17
|
-
- Keep domain logic separate from terminal, web, tmux, and storage code.
|
|
18
|
-
- Preserve the SQLite state format unless a schema change is required.
|
|
19
|
-
- Keep session summaries short and safe to store.
|
|
20
|
-
- Add or update tests for domain behavior.
|
|
21
|
-
- Keep keyboard behavior consistent between the terminal and web interfaces where possible.
|
|
22
|
-
|
|
23
|
-
## Pull requests
|
|
24
|
-
|
|
25
|
-
Describe:
|
|
26
|
-
|
|
27
|
-
- What changed.
|
|
28
|
-
- Why it changed.
|
|
29
|
-
- How you tested it.
|
|
30
|
-
- Any tmux, Pi, terminal, or browser behavior that reviewers should check.
|
|
31
|
-
|
|
32
|
-
Keep unrelated changes out of the same pull request.
|
|
Binary file
|
|
Binary file
|
package/docs/resources/web.png
DELETED
|
Binary file
|