pisesh 0.1.5 → 0.1.6
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 +5 -42
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ Pi accumulates sessions across many working directories — your home, several p
|
|
|
45
45
|
- You re-open the wrong session and pollute it with unrelated context
|
|
46
46
|
- You waste time searching by timestamp guessing
|
|
47
47
|
|
|
48
|
-
pisesh is a **single-file Node script** (no dependencies, ~
|
|
48
|
+
pisesh is a **single-file Node script** (no dependencies, ~900 LoC) that gives you everything `pi --resume` doesn't.
|
|
49
49
|
|
|
50
50
|
### Value at a glance
|
|
51
51
|
|
|
@@ -55,7 +55,7 @@ pisesh is a **single-file Node script** (no dependencies, ~600 LoC) that gives y
|
|
|
55
55
|
| Give a thread a real name | `e` sets a custom title (marked `✎`); overrides the first-prompt label |
|
|
56
56
|
| See only the current project's sessions | `Here` tab filters to sessions whose cwd matches where you launched pisesh |
|
|
57
57
|
| Fix where a session resumes | `p` opens an arrow-key directory browser; sets the cwd pi `cd`s into |
|
|
58
|
-
| Find a session by what you said | `/` searches id + project + first user prompt
|
|
58
|
+
| Find a session by what you said | `/` searches id + project + first user prompt + custom title |
|
|
59
59
|
| Know which session you're attached to | `[NOW]` badge on the live session (passed from pi via env var) |
|
|
60
60
|
| Keep your terminal clean | Alt-screen buffer — exit restores your terminal byte-for-byte (like vim) |
|
|
61
61
|
| Read Korean / Chinese / Japanese prompts | Display-width-aware truncation; columns never blow up on CJK |
|
|
@@ -101,11 +101,11 @@ Pi-extension side: drop `extensions/sesh.ts` into `~/.pi/agent/extensions/` and
|
|
|
101
101
|
| `↑` `↓` / `j` `k` | move cursor |
|
|
102
102
|
| `Tab` / `h` / `l` | switch tab (`★ Favorites` → `Today` → `Here` → `All`) |
|
|
103
103
|
| `f` / `Space` | star / unstar the selected session |
|
|
104
|
-
| `Enter` | resume — spawns `pi --session <id
|
|
104
|
+
| `Enter` | resume — spawns `pi --session <id>` in the session's (or overridden) cwd |
|
|
105
105
|
| `e` | edit name — set a custom display title (marked `✎` in list) |
|
|
106
106
|
| `p` | edit cwd — arrow-key directory browser; sets resume / `Here` dir |
|
|
107
107
|
| `d` | session details (full prompt, file, byte size, timestamps) |
|
|
108
|
-
| `/` | search by id / project / first user prompt
|
|
108
|
+
| `/` | search by id / project / first user prompt / custom title |
|
|
109
109
|
| `Esc` | clear search first, then quit |
|
|
110
110
|
| `q` / `Ctrl-C` | quit (terminal restored) |
|
|
111
111
|
| `r` | rescan session files (after pi starts a new session) |
|
|
@@ -136,7 +136,7 @@ pisesh --help
|
|
|
136
136
|
| Input | Node's `readline.emitKeypressEvents` in raw mode |
|
|
137
137
|
| Width calculation | UAX #11 East Asian Width ranges, compressed to ~10 inline range checks |
|
|
138
138
|
| Pi extension | TypeScript factory using `@earendil-works/pi-coding-agent` extension API (`ui.custom`, `tui.stop`) |
|
|
139
|
-
| Storage |
|
|
139
|
+
| Storage | Two JSON files: `~/.pi/agent/favorites.json` (starred ids) + `~/.pi/agent/pisesh-meta.json` (per-session title / cwd overrides) |
|
|
140
140
|
| Session discovery | Direct filesystem scan of `~/.pi/agent/sessions/<projectSlug>/*.jsonl`; first 96 KB parsed |
|
|
141
141
|
| Process model | Slash command pauses pi's TUI, spawns pisesh with inherited stdio, restarts pi on exit |
|
|
142
142
|
|
|
@@ -147,27 +147,6 @@ pisesh --help
|
|
|
147
147
|
- No network calls, no telemetry, no analytics
|
|
148
148
|
- No daemon / background process
|
|
149
149
|
|
|
150
|
-
## How resume works
|
|
151
|
-
|
|
152
|
-
```text
|
|
153
|
-
pi (session A) ── /sesh ──▶ ui.custom + tui.stop()
|
|
154
|
-
│
|
|
155
|
-
└─▶ spawn pisesh (PISESH_CURRENT_SESSION=A)
|
|
156
|
-
│ ↑↓ Tab f / Enter on session B
|
|
157
|
-
│
|
|
158
|
-
└─▶ spawn pi --session B --session-dir <dir>
|
|
159
|
-
│
|
|
160
|
-
│ user works in B …
|
|
161
|
-
│ user types q / ^D
|
|
162
|
-
│
|
|
163
|
-
◀─── inner pi exits, pisesh exits
|
|
164
|
-
│
|
|
165
|
-
◀─── tui.start() + requestRender(true)
|
|
166
|
-
pi (session A) continues exactly where it was
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
The current pi session is paused, not lost. When you finish with the resumed session, you pop back to A with full state intact.
|
|
170
|
-
|
|
171
150
|
## Storage
|
|
172
151
|
|
|
173
152
|
| What | Where |
|
|
@@ -211,22 +190,6 @@ Korean / Chinese / Japanese / fullwidth characters render **2 cells wide** in te
|
|
|
211
190
|
- Linux: **GNOME Terminal**, **Konsole**, **xterm**, **Alacritty**, **Kitty** ✅
|
|
212
191
|
- [`pi`](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) on `$PATH` for the `Enter`-to-resume action
|
|
213
192
|
|
|
214
|
-
## Roadmap
|
|
215
|
-
|
|
216
|
-
| Status | Item |
|
|
217
|
-
| ------ | ------------------------------------------------------------------------------- |
|
|
218
|
-
| ✅ | Tabs, star/unstar, search, alt-screen, CJK width, `[NOW]` badge, pi `/sesh` |
|
|
219
|
-
| ✅ | `Here` tab — filter to sessions matching the launch directory |
|
|
220
|
-
| ✅ | Inline rename (`e`) — custom display title that overrides the first prompt |
|
|
221
|
-
| ✅ | Edit cwd (`p`) — arrow-key directory browser sets the resume / `Here` dir |
|
|
222
|
-
| 🚧 | `n` / `N` jump to next / previous search match (less-style) |
|
|
223
|
-
| 🚧 | Highlight matched substring in yellow |
|
|
224
|
-
| 🚧 | Filter by `today/yesterday/this-week` |
|
|
225
|
-
| 🧠 | Optional summarize first-N user prompts via local model for richer titles |
|
|
226
|
-
| 🧠 | Export starred sessions as a single bundle (share / archive) |
|
|
227
|
-
|
|
228
|
-
PRs welcome for anything in the 🚧 lane.
|
|
229
|
-
|
|
230
193
|
## Contributing
|
|
231
194
|
|
|
232
195
|
```bash
|