@henryqw/pi-herdr-clone 0.2.8 → 0.3.0
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 +1 -15
- package/extensions/clone-tab.ts +0 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ pi install npm:@henryqw/pi-herdr-clone
|
|
|
20
20
|
| `/clone-tab` | command | Clone the current conversation into a new tab of the current Herdr workspace. |
|
|
21
21
|
| `/clone-worktree` | command | Clone the current conversation into a new Herdr Git worktree workspace. |
|
|
22
22
|
|
|
23
|
-
Both commands
|
|
23
|
+
Both commands immediately validate the current Herdr pane (`HERDR_ENV=1`, `HERDR_PANE_ID`), the session file, and the current session leaf. They copy only the active root-to-leaf path available when invoked into a new persisted session file: sibling branches and any still-streaming assistant output are excluded, and the original Pi session is not switched. Neither command has configuration.
|
|
24
24
|
|
|
25
25
|
### `/clone-tab` behavior
|
|
26
26
|
|
|
@@ -40,17 +40,3 @@ Both commands wait until Pi is idle, then validate the current Herdr pane (`HERD
|
|
|
40
40
|
### Failure semantics
|
|
41
41
|
|
|
42
42
|
If target creation fails outright, no clone session is kept or created. A killed or incomplete creation response is ambiguous because Herdr may have retained partial state; the error reports every identifier returned so far and suggests inspecting `herdr workspace list`. Once agent start is attempted, the target tab, panes, and session file are retained because the launch outcome can be unknown; the error reports any known IDs for recovery. A later focus failure is shown as a warning and does not report the already-started clone as failed.
|
|
43
|
-
|
|
44
|
-
## Remove
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
pi remove npm:@henryqw/pi-herdr-clone
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Development
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npm test --workspace @henryqw/pi-herdr-clone
|
|
54
|
-
npm run typecheck --workspace @henryqw/pi-herdr-clone
|
|
55
|
-
npm run pack:check --workspace @henryqw/pi-herdr-clone
|
|
56
|
-
```
|
package/extensions/clone-tab.ts
CHANGED
|
@@ -232,7 +232,6 @@ export default function herdrCloneExtension(pi: ExtensionAPI): void {
|
|
|
232
232
|
pi.registerCommand("clone-tab", {
|
|
233
233
|
description: "Clone the current conversation path into a new Herdr tab",
|
|
234
234
|
handler: async (_args, ctx) => {
|
|
235
|
-
await ctx.waitForIdle();
|
|
236
235
|
const source = await resolveSource("clone-tab", herdr, ctx);
|
|
237
236
|
const mutate = async (): Promise<{ createdTab: HerdrExecResult; cloneFile: string }> => {
|
|
238
237
|
const cloneFile = await createBranchedClone(ctx, source, ctx.cwd);
|
|
@@ -275,7 +274,6 @@ export default function herdrCloneExtension(pi: ExtensionAPI): void {
|
|
|
275
274
|
pi.registerCommand("clone-worktree", {
|
|
276
275
|
description: "Clone the current conversation into Pi in a new Herdr Git worktree",
|
|
277
276
|
handler: async (_args, ctx) => {
|
|
278
|
-
await ctx.waitForIdle();
|
|
279
277
|
const source = await resolveSource("clone-worktree", herdr, ctx);
|
|
280
278
|
|
|
281
279
|
// Herdr only creates worktrees from the repo parent workspace; running
|