pi-squad 0.19.1 → 0.19.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/CHANGELOG.md +14 -1
- package/package.json +1 -1
- package/src/store.ts +6 -1
- package/src/tools-registration.ts +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.19.3] - 2026-07-19
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Newly generated squad IDs now combine a path-safe readable goal slug with a full UUID, eliminating collisions while retaining recognizable names. Slugs also trim separators introduced at the 40-character boundary, preventing `PUBLISH_FAILED: unsafe squad id`. Existing persisted squad IDs and user-authored task IDs are unchanged.
|
|
15
|
+
|
|
16
|
+
## [0.19.2] - 2026-07-18
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- The compact widget now auto-dismisses when a squad is accepted as done through `squad_review`. Review-pending, review-failed, and failed squads keep the widget because they require attention, and explicitly selecting a done squad still displays it.
|
|
21
|
+
|
|
10
22
|
## [0.19.1] - 2026-07-18
|
|
11
23
|
|
|
12
24
|
### Fixed
|
|
@@ -84,7 +96,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
84
96
|
|
|
85
97
|
- Kept failed-review rework in the original squad, preserving task ownership and durable session continuity.
|
|
86
98
|
|
|
87
|
-
[Unreleased]: https://github.com/picassio/pi-squad/compare/v0.19.
|
|
99
|
+
[Unreleased]: https://github.com/picassio/pi-squad/compare/v0.19.2...HEAD
|
|
100
|
+
[0.19.2]: https://github.com/picassio/pi-squad/compare/v0.19.1...v0.19.2
|
|
88
101
|
[0.19.1]: https://github.com/picassio/pi-squad/compare/v0.19.0...v0.19.1
|
|
89
102
|
[0.19.0]: https://github.com/picassio/pi-squad/compare/v0.18.0...v0.19.0
|
|
90
103
|
[0.18.0]: https://github.com/picassio/pi-squad/compare/v0.17.2...v0.18.0
|
package/package.json
CHANGED
package/src/store.ts
CHANGED
|
@@ -701,7 +701,12 @@ export function makeTaskId(title: string): string {
|
|
|
701
701
|
.toLowerCase()
|
|
702
702
|
.replace(/[^a-z0-9]+/g, "-")
|
|
703
703
|
.replace(/^-|-$/g, "")
|
|
704
|
-
.slice(0, 40)
|
|
704
|
+
.slice(0, 40)
|
|
705
|
+
.replace(/-$/, "");
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
export function makeSquadId(goal: string): string {
|
|
709
|
+
return `${makeTaskId(goal) || "squad"}-${randomUUID()}`;
|
|
705
710
|
}
|
|
706
711
|
|
|
707
712
|
export function squadExists(squadId: string): boolean {
|
|
@@ -214,7 +214,7 @@ pi.registerTool({
|
|
|
214
214
|
}
|
|
215
215
|
effective = coerced.value;
|
|
216
216
|
}
|
|
217
|
-
const baseId = store.
|
|
217
|
+
const baseId = store.makeSquadId(effective.goal);
|
|
218
218
|
const squadId = store.squadExists(baseId) ? `${baseId}-${Date.now().toString(36)}` : baseId;
|
|
219
219
|
return await startSquad(squadId, effective, ctx.cwd, squadSkillPaths, pi, sessionFile, prepared);
|
|
220
220
|
},
|
|
@@ -356,6 +356,10 @@ pi.registerTool({
|
|
|
356
356
|
store.saveSquad(squad);
|
|
357
357
|
forceWidgetUpdate();
|
|
358
358
|
const accepted = squad.status === "done";
|
|
359
|
+
// An accepted squad needs no further attention: auto-dismiss its widget.
|
|
360
|
+
// Review-pending, review-failed, and failed squads stay visible, and the
|
|
361
|
+
// user can still reselect a done squad explicitly with /squad select.
|
|
362
|
+
if (accepted && runtime.activeSquadId === id) focusSquad(null);
|
|
359
363
|
const text = accepted
|
|
360
364
|
? `Independent orchestrator review recorded for '${id}' (${params.verdict}). The squad is now accepted as done.`
|
|
361
365
|
: `Independent review FAILED for '${id}'. The squad remains review-required. Fix every issue, rerun verification/E2E, then submit a fresh squad_review.`;
|