pi-edit-session-in-place 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +6 -5
- package/extensions/edit-session-in-place.ts +8 -19
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,26 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## [0.1.16] - 2026-06-04
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- fixed `Ctrl+Shift+E` after the Pi 0.78.1 update by removing the registered shortcut handler that consumed the key and only showed the placeholder notification
|
|
11
|
+
- added regression coverage that verifies the extension no longer registers a conflicting shortcut handler and still installs the custom editor hotkey path
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- removed the custom main-editor wrapper path and returned to the focused custom-editor hotkey path used by the working releases
|
|
15
|
+
|
|
16
|
+
## [0.1.15] - 2026-06-04
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- updated the local pi development baseline to `@earendil-works/pi-coding-agent` / `@earendil-works/pi-tui` `0.78.1` and regenerated the npm lockfile
|
|
20
|
+
- refreshed README compatibility notes and the fleet-tested pi marker for `0.78.1` without pinning pi `0.78.1` as a hard runtime requirement
|
|
21
|
+
- changed the main-editor integration to wrap any previously configured custom editor instead of replacing it
|
|
22
|
+
|
|
23
|
+
### Compatibility
|
|
24
|
+
- reviewed the pi `0.78.1` changelog and current extension, TUI, custom editor, mode, session, and package guidance; the extension now guards custom TUI behavior with `ctx.mode === "tui"` and keeps existing custom editors composed
|
|
25
|
+
- confirmed the new `ctx.getSystemPromptOptions()` command API, provider additions, package-install hardening, and security fixes do not require additional runtime changes for this package
|
|
26
|
+
|
|
7
27
|
## [0.1.14] - 2026-05-29
|
|
8
28
|
|
|
9
29
|
### Changed
|
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# pi edit-session-in-place
|
|
2
2
|
|
|
3
|
-
A [pi](https://github.com/
|
|
3
|
+
A [pi](https://github.com/earendil-works/pi-mono) extension that lets you rewind to an earlier user message in the current branch, then either **edit it in place** or **delete it and continue from there**.
|
|
4
4
|
|
|
5
5
|
## Compatibility
|
|
6
6
|
|
|
7
7
|
Tested with:
|
|
8
8
|
|
|
9
|
-
- `@earendil-works/pi-coding-agent` `0.78.
|
|
10
|
-
- `@earendil-works/pi-tui` `0.78.
|
|
9
|
+
- `@earendil-works/pi-coding-agent` `0.78.1`
|
|
10
|
+
- `@earendil-works/pi-tui` `0.78.1`
|
|
11
11
|
- Node.js `>=22 <25`
|
|
12
12
|
|
|
13
|
-
Local development and verification in this repo target pi `0.78.
|
|
13
|
+
Local development and verification in this repo target pi `0.78.1` as the suggested minimum tested baseline. `@earendil-works/pi-coding-agent` and `@earendil-works/pi-tui` stay in `devDependencies` for local typechecking and tests, while pi core packages are declared as optional wildcard peers and the extension relies on pi's bundled runtime packages at execution time. That keeps installs forward-open for future pi releases: npm peer ranges should not block users from trying a newer pi, though runtime behavior is only verified against the tested baseline until a follow-up package release confirms it.
|
|
14
14
|
|
|
15
15
|
## What it does
|
|
16
16
|
|
|
@@ -76,11 +76,12 @@ If you clear the message and submit an empty value, the selected message is effe
|
|
|
76
76
|
|
|
77
77
|
## Behavior notes
|
|
78
78
|
|
|
79
|
-
- Works in interactive mode; non-interactive modes do not show the picker/editor UI
|
|
79
|
+
- Works in interactive TUI mode; non-interactive and RPC modes do not show the picker/editor UI
|
|
80
80
|
- Later messages on the abandoned branch are not deleted from the session file; they remain reachable through `/tree`
|
|
81
81
|
- If the selected message contains images, the extension warns that re-editing or deleting it will drop the images and keep only text behavior
|
|
82
82
|
- The extension only offers text-bearing user messages for editing; image-only or whitespace-only user messages are skipped
|
|
83
83
|
- Queued messages must be cleared before using the command
|
|
84
|
+
- The `Ctrl+Shift+E` hotkey is handled by this extension's main-editor component so Pi's registered shortcut dispatcher does not consume it first
|
|
84
85
|
|
|
85
86
|
## Development
|
|
86
87
|
|
|
@@ -503,7 +503,10 @@ const clearSavedDraft = () => {
|
|
|
503
503
|
};
|
|
504
504
|
|
|
505
505
|
const handleEditTurn = async (ctx: ExtensionCommandContext) => {
|
|
506
|
-
if (
|
|
506
|
+
if (ctx.mode !== "tui") {
|
|
507
|
+
if (ctx.hasUI) {
|
|
508
|
+
ctx.ui.notify("/edit-turn requires interactive TUI mode.", "warning");
|
|
509
|
+
}
|
|
507
510
|
clearSavedDraft();
|
|
508
511
|
return;
|
|
509
512
|
}
|
|
@@ -587,28 +590,14 @@ export default function editSessionInPlace(pi: ExtensionAPI) {
|
|
|
587
590
|
},
|
|
588
591
|
});
|
|
589
592
|
|
|
590
|
-
|
|
591
|
-
// the command execution while this registration keeps the hotkey discoverable.
|
|
592
|
-
pi.registerShortcut(HOTKEY, {
|
|
593
|
-
description: `Edit a previous user message (${HOTKEY_LABEL})`,
|
|
594
|
-
handler: (ctx) => {
|
|
595
|
-
if (!ctx.hasUI) {
|
|
596
|
-
return;
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
ctx.ui.notify(`Press ${HOTKEY_LABEL} in the main editor to edit a previous message.`, "info");
|
|
600
|
-
},
|
|
601
|
-
});
|
|
602
|
-
|
|
603
|
-
pi.on("session_start", async () => {
|
|
593
|
+
pi.on("session_start", (_event, ctx) => {
|
|
604
594
|
clearSavedDraft();
|
|
595
|
+
if (ctx.mode === "tui") {
|
|
596
|
+
ctx.ui.setEditorComponent((tui, theme, keybindings) => new EditSessionInPlaceEditor(tui, theme, keybindings));
|
|
597
|
+
}
|
|
605
598
|
});
|
|
606
599
|
|
|
607
600
|
pi.on("session_shutdown", async () => {
|
|
608
601
|
clearSavedDraft();
|
|
609
602
|
});
|
|
610
|
-
|
|
611
|
-
pi.on("session_start", (_event, ctx) => {
|
|
612
|
-
ctx.ui.setEditorComponent((tui, theme, keybindings) => new EditSessionInPlaceEditor(tui, theme, keybindings));
|
|
613
|
-
});
|
|
614
603
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-edit-session-in-place",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "pi extension that lets you re-edit or delete an earlier user message in the current session branch",
|
|
5
5
|
"author": "Mitch Fultz (https://github.com/fitchmultz)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"node": ">=22 <25"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@earendil-works/pi-coding-agent": "^0.78.
|
|
49
|
-
"@earendil-works/pi-tui": "^0.78.
|
|
48
|
+
"@earendil-works/pi-coding-agent": "^0.78.1",
|
|
49
|
+
"@earendil-works/pi-tui": "^0.78.1",
|
|
50
50
|
"@types/node": "^25.9.1",
|
|
51
51
|
"typescript": "^6.0.3"
|
|
52
52
|
},
|