gsd-pi 2.30.0 → 2.31.0-dev.6ffc032

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.
Files changed (75) hide show
  1. package/dist/cli.js +51 -0
  2. package/dist/help-text.js +35 -0
  3. package/dist/resources/extensions/aws-auth/index.ts +144 -0
  4. package/dist/resources/extensions/gsd/auto-dashboard.ts +65 -186
  5. package/dist/resources/extensions/gsd/auto-prompts.ts +2 -10
  6. package/dist/resources/extensions/gsd/auto-start.ts +3 -10
  7. package/dist/resources/extensions/gsd/auto-supervisor.ts +2 -0
  8. package/dist/resources/extensions/gsd/auto-worktree.ts +12 -8
  9. package/dist/resources/extensions/gsd/auto.ts +2 -2
  10. package/dist/resources/extensions/gsd/commands-prefs-wizard.ts +2 -12
  11. package/dist/resources/extensions/gsd/docs/preferences-reference.md +2 -4
  12. package/dist/resources/extensions/gsd/git-service.ts +4 -22
  13. package/dist/resources/extensions/gsd/gitignore.ts +6 -7
  14. package/dist/resources/extensions/gsd/guided-flow-queue.ts +3 -7
  15. package/dist/resources/extensions/gsd/guided-flow.ts +8 -11
  16. package/dist/resources/extensions/gsd/index.ts +13 -0
  17. package/dist/resources/extensions/gsd/init-wizard.ts +2 -30
  18. package/dist/resources/extensions/gsd/preferences-types.ts +0 -2
  19. package/dist/resources/extensions/gsd/preferences-validation.ts +1 -2
  20. package/dist/resources/extensions/gsd/roadmap-slices.ts +22 -7
  21. package/dist/resources/extensions/gsd/session-lock.ts +72 -5
  22. package/dist/resources/extensions/gsd/templates/preferences.md +0 -1
  23. package/dist/resources/extensions/gsd/tests/git-service.test.ts +14 -42
  24. package/dist/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +3 -9
  25. package/dist/resources/extensions/gsd/tests/preferences.test.ts +1 -9
  26. package/dist/resources/extensions/gsd/tests/worktree.test.ts +1 -4
  27. package/dist/resources/extensions/gsd/worktree.ts +2 -2
  28. package/dist/worktree-cli.d.ts +34 -0
  29. package/dist/worktree-cli.js +294 -0
  30. package/dist/worktree-name-gen.d.ts +7 -0
  31. package/dist/worktree-name-gen.js +44 -0
  32. package/package.json +1 -1
  33. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  34. package/packages/pi-coding-agent/dist/core/agent-session.js +14 -0
  35. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  36. package/packages/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
  37. package/packages/pi-coding-agent/dist/core/extensions/loader.js +4 -0
  38. package/packages/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
  39. package/packages/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  40. package/packages/pi-coding-agent/dist/core/extensions/runner.js +1 -0
  41. package/packages/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  42. package/packages/pi-coding-agent/dist/core/extensions/types.d.ts +7 -0
  43. package/packages/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  44. package/packages/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  45. package/packages/pi-coding-agent/package.json +1 -1
  46. package/packages/pi-coding-agent/src/core/agent-session.ts +14 -0
  47. package/packages/pi-coding-agent/src/core/extensions/loader.ts +5 -0
  48. package/packages/pi-coding-agent/src/core/extensions/runner.ts +1 -0
  49. package/packages/pi-coding-agent/src/core/extensions/types.ts +8 -0
  50. package/pkg/package.json +1 -1
  51. package/src/resources/extensions/aws-auth/index.ts +144 -0
  52. package/src/resources/extensions/gsd/auto-dashboard.ts +65 -186
  53. package/src/resources/extensions/gsd/auto-prompts.ts +2 -10
  54. package/src/resources/extensions/gsd/auto-start.ts +3 -10
  55. package/src/resources/extensions/gsd/auto-supervisor.ts +2 -0
  56. package/src/resources/extensions/gsd/auto-worktree.ts +12 -8
  57. package/src/resources/extensions/gsd/auto.ts +2 -2
  58. package/src/resources/extensions/gsd/commands-prefs-wizard.ts +2 -12
  59. package/src/resources/extensions/gsd/docs/preferences-reference.md +2 -4
  60. package/src/resources/extensions/gsd/git-service.ts +4 -22
  61. package/src/resources/extensions/gsd/gitignore.ts +6 -7
  62. package/src/resources/extensions/gsd/guided-flow-queue.ts +3 -7
  63. package/src/resources/extensions/gsd/guided-flow.ts +8 -11
  64. package/src/resources/extensions/gsd/index.ts +13 -0
  65. package/src/resources/extensions/gsd/init-wizard.ts +2 -30
  66. package/src/resources/extensions/gsd/preferences-types.ts +0 -2
  67. package/src/resources/extensions/gsd/preferences-validation.ts +1 -2
  68. package/src/resources/extensions/gsd/roadmap-slices.ts +22 -7
  69. package/src/resources/extensions/gsd/session-lock.ts +72 -5
  70. package/src/resources/extensions/gsd/templates/preferences.md +0 -1
  71. package/src/resources/extensions/gsd/tests/git-service.test.ts +14 -42
  72. package/src/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +3 -9
  73. package/src/resources/extensions/gsd/tests/preferences.test.ts +1 -9
  74. package/src/resources/extensions/gsd/tests/worktree.test.ts +1 -4
  75. package/src/resources/extensions/gsd/worktree.ts +2 -2
@@ -28,18 +28,12 @@ const BASE_VARS = {
28
28
  sourceFilePaths: "- **Requirements**: `.gsd/REQUIREMENTS.md`",
29
29
  };
30
30
 
31
- test("plan-slice prompt: commit step present when commit_docs=true", () => {
32
- const result = loadPrompt("plan-slice", { ...BASE_VARS, commitInstruction: "Commit: `docs(S01): add slice plan`" });
33
- assert.ok(result.includes("docs(S01): add slice plan"));
31
+ test("plan-slice prompt: commit instruction says do not commit (external state)", () => {
32
+ const result = loadPrompt("plan-slice", { ...BASE_VARS, commitInstruction: "Do not commit planning artifacts — .gsd/ is managed externally." });
33
+ assert.ok(result.includes("Do not commit planning artifacts"));
34
34
  assert.ok(!result.includes("{{commitInstruction}}"));
35
35
  });
36
36
 
37
- test("plan-slice prompt: no commit step when commit_docs=false", () => {
38
- const result = loadPrompt("plan-slice", { ...BASE_VARS, commitInstruction: "Do not commit — planning docs are not tracked in git for this project." });
39
- assert.ok(!result.includes("docs(S01): add slice plan"));
40
- assert.ok(result.includes("Do not commit"));
41
- });
42
-
43
37
  test("plan-slice prompt: all variables substituted", () => {
44
38
  const result = loadPrompt("plan-slice", { ...BASE_VARS, commitInstruction: "Commit: `docs(S01): add slice plan`" });
45
39
  assert.ok(!result.includes("{{"));
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Preferences tests — consolidated from:
3
- * - preferences-git.test.ts (git.isolation, git.merge_to_main, git.commit_docs)
3
+ * - preferences-git.test.ts (git.isolation, git.merge_to_main)
4
4
  * - preferences-hooks.test.ts (post-unit + pre-dispatch hook config)
5
5
  * - preferences-mode.test.ts (solo/team mode defaults, overrides)
6
6
  * - preferences-models.test.ts (model config parsing, OpenRouter, CRLF)
@@ -39,14 +39,6 @@ test("git.merge_to_main produces deprecation warning", () => {
39
39
  }
40
40
  });
41
41
 
42
- test("git.commit_docs accepts boolean, rejects string", () => {
43
- const { errors: e1, preferences: p1 } = validatePreferences({ git: { commit_docs: false } });
44
- assert.equal(e1.length, 0);
45
- assert.equal(p1.git?.commit_docs, false);
46
-
47
- const { errors: e2 } = validatePreferences({ git: { commit_docs: "no" as any } });
48
- assert.ok(e2.length > 0);
49
- });
50
42
 
51
43
  test("getIsolationMode defaults to worktree when no prefs file", { skip: "requires no global ~/.gsd/preferences.md" }, () => {
52
44
  assert.equal(getIsolationMode(), "worktree");
@@ -108,10 +108,7 @@ async function main(): Promise<void> {
108
108
  assertEq(readIntegrationBranch(repo, "M001"), "f-123-thing",
109
109
  "captureIntegrationBranch records the current branch");
110
110
 
111
- // Verify it was committed (not just written to disk)
112
- const logOut = run("git log --oneline -1", repo);
113
- assertTrue(logOut.includes("integration branch"), "metadata committed to git");
114
-
111
+ // .gsd/ metadata is written to disk only (not committed) since commit_docs removal
115
112
  rmSync(repo, { recursive: true, force: true });
116
113
  }
117
114
 
@@ -56,13 +56,13 @@ export function setActiveMilestoneId(basePath: string, milestoneId: string | nul
56
56
  * record when the user starts from a different branch (#300). Always a no-op
57
57
  * if on a GSD slice branch.
58
58
  */
59
- export function captureIntegrationBranch(basePath: string, milestoneId: string, options?: { commitDocs?: boolean }): void {
59
+ export function captureIntegrationBranch(basePath: string, milestoneId: string): void {
60
60
  // In a worktree, the base branch is implicit (worktree/<name>).
61
61
  // Writing it to META.json would leave stale metadata after merge back to main.
62
62
  if (detectWorktreeName(basePath)) return;
63
63
  const svc = getService(basePath);
64
64
  const current = svc.getCurrentBranch();
65
- writeIntegrationBranch(basePath, milestoneId, current, options);
65
+ writeIntegrationBranch(basePath, milestoneId, current);
66
66
  }
67
67
 
68
68
  // ─── Pure Utility Functions (unchanged) ────────────────────────────────────