@henryqw/pi-herdr-rename 4.1.1 → 4.1.3

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 CHANGED
@@ -9,13 +9,15 @@ pi install npm:@henryqw/pi-task-models
9
9
  pi install npm:@henryqw/pi-herdr-rename
10
10
  ```
11
11
 
12
- Run `/task-models` and configure the `fast` profile. Herdr is required for pane, tab, workspace, and branch updates.
12
+ Run `/task-models` and configure the `fast` profile. Open `/task-models` again and verify that `fast` no longer says `not configured`. Herdr is required for pane, tab, workspace, and branch updates.
13
13
 
14
14
  Outside Herdr, the extension still changes the Pi session name.
15
15
 
16
16
  ## Works with
17
17
 
18
- **Required.** [`@henryqw/pi-task-models`](https://pi.henry.wang/extensions/pi-task-models) provides shared title-generation model profiles.
18
+ | Package | Relationship | Purpose |
19
+ | --- | --- | --- |
20
+ | [`@henryqw/pi-task-models`](https://pi.henry.wang/extensions/pi-task-models) | Required | Provides shared title-generation model profiles. |
19
21
 
20
22
  ## Use
21
23
 
@@ -5,6 +5,7 @@ import {
5
5
  } from "@earendil-works/pi-coding-agent";
6
6
  import { createHerdrClient, withWorktreeLock } from "@henryqw/pi-herdr";
7
7
  import {
8
+ executeTaskRoutes,
8
9
  loadTaskModelsConfig,
9
10
  registerModelTask,
10
11
  resolveConfiguredTaskRoutes,
@@ -185,9 +186,9 @@ async function generateTitle(text: string, ctx: ExtensionContext, signal: AbortS
185
186
  return response;
186
187
  };
187
188
 
188
- let failure: RenameModelError | undefined;
189
- for (const route of configuredRenameRoutes(ctx)) {
190
- try {
189
+ return executeTaskRoutes(
190
+ configuredRenameRoutes(ctx),
191
+ async (route) => {
191
192
  const response = await complete(route);
192
193
  const title = response.content
193
194
  .filter((part) => part.type === "text")
@@ -199,12 +200,12 @@ async function generateTitle(text: string, ctx: ExtensionContext, signal: AbortS
199
200
  const generated = parseGeneratedTitle(title);
200
201
  if (!generated) throw new RenameModelError("Rename task model returned an invalid title.");
201
202
  return generated;
202
- } catch (error) {
203
- if (signal.aborted || !(error instanceof RenameModelError)) throw error;
204
- failure = error;
205
- }
206
- }
207
- throw failure ?? new RenameModelError("Rename task model routes failed.");
203
+ },
204
+ {
205
+ signal,
206
+ shouldFallback: (error) => error instanceof RenameModelError,
207
+ },
208
+ );
208
209
  }
209
210
 
210
211
  export default function herdrRenameExtension(pi: ExtensionAPI): void {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@henryqw/pi-herdr-rename",
3
- "version": "4.1.1",
3
+ "version": "4.1.3",
4
4
  "description": "Generate short Pi display titles and rename the current Herdr location.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -45,6 +45,6 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@henryqw/pi-herdr": "^0.4.1",
48
- "@henryqw/pi-task-models": "^5.0.0"
48
+ "@henryqw/pi-task-models": "^5.1.0"
49
49
  }
50
50
  }