@henryqw/pi-herdr-clone 0.3.2 → 0.3.4
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 +10 -4
- package/extensions/clone-tab.ts +3 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# `@henryqw/pi-herdr-clone`
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Continue the current Pi conversation in a new Herdr tab or a fresh Git worktree workspace.
|
|
4
4
|
|
|
5
5
|
## Why
|
|
6
6
|
|
|
7
|
-
- **Created for**:
|
|
8
|
-
- **Advantage**:
|
|
7
|
+
- **Created for**: Pi users who want to explore or implement from the current conversation in another workspace.
|
|
8
|
+
- **Advantage**: Copy only the active conversation path while leaving siblings and the original session untouched.
|
|
9
9
|
|
|
10
10
|
## Install
|
|
11
11
|
|
|
@@ -13,10 +13,16 @@ Clone the current Pi conversation path into a new Herdr tab or Git worktree work
|
|
|
13
13
|
pi install npm:@henryqw/pi-herdr-clone
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Requires a Pi session running inside Herdr.
|
|
16
|
+
Requires the Herdr CLI and a Pi session running inside a Herdr-managed pane.
|
|
17
|
+
|
|
18
|
+
## With
|
|
19
|
+
|
|
20
|
+
[`@henryqw/pi-herdr-done`](https://pi.henry.wang/extensions/pi-herdr-done) improves worktree clones by cleaning them up when work finishes.
|
|
17
21
|
|
|
18
22
|
## Use
|
|
19
23
|
|
|
24
|
+
Run `/clone-tab` first. A new Herdr tab opens with the saved active conversation, while the original session stays open.
|
|
25
|
+
|
|
20
26
|
| Surface | Type | Purpose |
|
|
21
27
|
| --- | --- | --- |
|
|
22
28
|
| `/clone-tab` | command | Clone the current conversation into a new tab of the current Herdr workspace. |
|
package/extensions/clone-tab.ts
CHANGED
|
@@ -324,6 +324,9 @@ export default function herdrCloneExtension(pi: ExtensionAPI): void {
|
|
|
324
324
|
checkoutPath = typeof result?.workspace?.worktree?.checkout_path === "string" && result.workspace.worktree.checkout_path.trim()
|
|
325
325
|
? result.workspace.worktree.checkout_path
|
|
326
326
|
: undefined;
|
|
327
|
+
if (createdWorktree.killed) {
|
|
328
|
+
throw new Error("Herdr worktree create was killed before completion.");
|
|
329
|
+
}
|
|
327
330
|
const missing = [
|
|
328
331
|
[workspaceId, "workspace_id"],
|
|
329
332
|
[tabId, "tab_id"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@henryqw/pi-herdr-clone",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Clone the current Pi conversation path into a new Herdr tab.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|
|
35
|
-
"url": "git+https://github.com/HenryQW/pi-
|
|
36
|
-
"directory": "
|
|
35
|
+
"url": "git+https://github.com/HenryQW/pi-harness.git",
|
|
36
|
+
"directory": "extensions/pi-herdr-clone"
|
|
37
37
|
},
|
|
38
38
|
"bugs": {
|
|
39
|
-
"url": "https://github.com/HenryQW/pi-
|
|
39
|
+
"url": "https://github.com/HenryQW/pi-harness/issues"
|
|
40
40
|
},
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|