pi-squad 0.19.2 → 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 +6 -0
- package/package.json +1 -1
- package/src/store.ts +6 -1
- package/src/tools-registration.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ 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
|
+
|
|
10
16
|
## [0.19.2] - 2026-07-18
|
|
11
17
|
|
|
12
18
|
### Fixed
|
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
|
},
|