@speclife/core 0.1.7 → 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.
Files changed (72) hide show
  1. package/dist/adapters/git-adapter.d.ts +15 -2
  2. package/dist/adapters/git-adapter.d.ts.map +1 -1
  3. package/dist/adapters/git-adapter.js +75 -4
  4. package/dist/adapters/git-adapter.js.map +1 -1
  5. package/dist/adapters/github-adapter.d.ts +39 -26
  6. package/dist/adapters/github-adapter.d.ts.map +1 -1
  7. package/dist/adapters/github-adapter.js +154 -93
  8. package/dist/adapters/github-adapter.js.map +1 -1
  9. package/dist/adapters/index.d.ts +5 -4
  10. package/dist/adapters/index.d.ts.map +1 -1
  11. package/dist/adapters/index.js +6 -5
  12. package/dist/adapters/index.js.map +1 -1
  13. package/dist/config.d.ts +52 -4
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +58 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/index.d.ts +2 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/types.d.ts +124 -15
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/types.js.map +1 -1
  24. package/dist/utils/format.d.ts +57 -0
  25. package/dist/utils/format.d.ts.map +1 -0
  26. package/dist/utils/format.js +154 -0
  27. package/dist/utils/format.js.map +1 -0
  28. package/dist/utils/index.d.ts +5 -0
  29. package/dist/utils/index.d.ts.map +1 -0
  30. package/dist/utils/index.js +5 -0
  31. package/dist/utils/index.js.map +1 -0
  32. package/dist/workflows/implement.d.ts +24 -16
  33. package/dist/workflows/implement.d.ts.map +1 -1
  34. package/dist/workflows/implement.js +70 -258
  35. package/dist/workflows/implement.js.map +1 -1
  36. package/dist/workflows/index.d.ts +6 -0
  37. package/dist/workflows/index.d.ts.map +1 -1
  38. package/dist/workflows/index.js +7 -0
  39. package/dist/workflows/index.js.map +1 -1
  40. package/dist/workflows/init.d.ts +11 -7
  41. package/dist/workflows/init.d.ts.map +1 -1
  42. package/dist/workflows/init.js +16 -107
  43. package/dist/workflows/init.js.map +1 -1
  44. package/dist/workflows/merge.d.ts +9 -13
  45. package/dist/workflows/merge.d.ts.map +1 -1
  46. package/dist/workflows/merge.js +11 -103
  47. package/dist/workflows/merge.js.map +1 -1
  48. package/dist/workflows/release.d.ts +28 -0
  49. package/dist/workflows/release.d.ts.map +1 -0
  50. package/dist/workflows/release.js +212 -0
  51. package/dist/workflows/release.js.map +1 -0
  52. package/dist/workflows/submit.d.ts +7 -1
  53. package/dist/workflows/submit.d.ts.map +1 -1
  54. package/dist/workflows/submit.js +92 -4
  55. package/dist/workflows/submit.js.map +1 -1
  56. package/dist/workflows/worktree.d.ts +62 -0
  57. package/dist/workflows/worktree.d.ts.map +1 -0
  58. package/dist/workflows/worktree.js +97 -0
  59. package/dist/workflows/worktree.js.map +1 -0
  60. package/package.json +2 -2
  61. package/dist/adapters/claude-cli-adapter.d.ts +0 -72
  62. package/dist/adapters/claude-cli-adapter.d.ts.map +0 -1
  63. package/dist/adapters/claude-cli-adapter.js +0 -232
  64. package/dist/adapters/claude-cli-adapter.js.map +0 -1
  65. package/dist/adapters/claude-sdk-adapter.d.ts +0 -49
  66. package/dist/adapters/claude-sdk-adapter.d.ts.map +0 -1
  67. package/dist/adapters/claude-sdk-adapter.js +0 -278
  68. package/dist/adapters/claude-sdk-adapter.js.map +0 -1
  69. package/dist/adapters/cursor-adapter.d.ts +0 -26
  70. package/dist/adapters/cursor-adapter.d.ts.map +0 -1
  71. package/dist/adapters/cursor-adapter.js +0 -54
  72. package/dist/adapters/cursor-adapter.js.map +0 -1
@@ -25,9 +25,9 @@ export interface GitAdapter {
25
25
  /** Delete a local branch */
26
26
  deleteBranch(name: string, force?: boolean): Promise<void>;
27
27
  /** Create a worktree for parallel development */
28
- createWorktree(path: string, branch: string): Promise<void>;
28
+ createWorktree(path: string, branch: string, baseBranch?: string): Promise<void>;
29
29
  /** Remove a worktree */
30
- removeWorktree(path: string): Promise<void>;
30
+ removeWorktree(path: string, force?: boolean): Promise<void>;
31
31
  /** List all worktrees */
32
32
  listWorktrees(): Promise<Array<{
33
33
  path: string;
@@ -35,6 +35,19 @@ export interface GitAdapter {
35
35
  }>>;
36
36
  /** Get the main worktree path (original repo location) */
37
37
  getMainWorktreePath(): Promise<string>;
38
+ /** Get the latest tag (by version order) */
39
+ getLatestTag(): Promise<string | null>;
40
+ /** Get commits since a specific tag or commit */
41
+ getCommitsSince(ref: string): Promise<Array<{
42
+ sha: string;
43
+ message: string;
44
+ }>>;
45
+ /** Create an annotated tag */
46
+ createTag(name: string, message: string): Promise<void>;
47
+ /** Check if a tag exists */
48
+ tagExists(name: string): Promise<boolean>;
49
+ /** Get diff between current branch and a base branch */
50
+ diff(base: string): Promise<string>;
38
51
  }
39
52
  /**
40
53
  * Create a Git adapter for the specified repository
@@ -1 +1 @@
1
- {"version":3,"file":"git-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,8BAA8B;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,iDAAiD;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,wBAAwB;IACxB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,yBAAyB;IACzB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAkH7D"}
1
+ {"version":3,"file":"git-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,8BAA8B;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,iDAAiD;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjF,wBAAwB;IACxB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D,yBAAyB;IACzB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAIvC,4CAA4C;IAC5C,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEvC,iDAAiD;IACjD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAE/E,8BAA8B;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,4BAA4B;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,wDAAwD;IACxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA2L7D"}
@@ -68,11 +68,21 @@ export function createGitAdapter(repoPath) {
68
68
  }
69
69
  },
70
70
  // Worktree operations (Phase 4)
71
- async createWorktree(path, branch) {
72
- await git.raw(['worktree', 'add', path, '-b', branch]);
71
+ async createWorktree(path, branch, baseBranch) {
72
+ if (baseBranch) {
73
+ await git.raw(['worktree', 'add', path, '-b', branch, baseBranch]);
74
+ }
75
+ else {
76
+ await git.raw(['worktree', 'add', path, '-b', branch]);
77
+ }
73
78
  },
74
- async removeWorktree(path) {
75
- await git.raw(['worktree', 'remove', path, '--force']);
79
+ async removeWorktree(path, force = false) {
80
+ if (force) {
81
+ await git.raw(['worktree', 'remove', path, '--force']);
82
+ }
83
+ else {
84
+ await git.raw(['worktree', 'remove', path]);
85
+ }
76
86
  },
77
87
  async listWorktrees() {
78
88
  const result = await git.raw(['worktree', 'list', '--porcelain']);
@@ -103,6 +113,67 @@ export function createGitAdapter(repoPath) {
103
113
  const toplevel = await git.revparse(['--show-toplevel']);
104
114
  return toplevel.trim();
105
115
  },
116
+ // Tag operations (for releases)
117
+ async getLatestTag() {
118
+ try {
119
+ // Get tags sorted by version (semver)
120
+ const result = await git.raw(['tag', '-l', 'v*', '--sort=-v:refname']);
121
+ const tags = result.trim().split('\n').filter(Boolean);
122
+ return tags.length > 0 ? tags[0] : null;
123
+ }
124
+ catch {
125
+ return null;
126
+ }
127
+ },
128
+ async getCommitsSince(ref) {
129
+ try {
130
+ // Get commits from ref to HEAD
131
+ const result = await git.raw([
132
+ 'log',
133
+ `${ref}..HEAD`,
134
+ '--pretty=format:%H|%s',
135
+ ]);
136
+ if (!result.trim()) {
137
+ return [];
138
+ }
139
+ return result.trim().split('\n').map(line => {
140
+ const [sha, ...messageParts] = line.split('|');
141
+ return { sha, message: messageParts.join('|') };
142
+ });
143
+ }
144
+ catch {
145
+ // If ref doesn't exist, get all commits
146
+ const result = await git.raw(['log', '--pretty=format:%H|%s']);
147
+ return result.trim().split('\n').map(line => {
148
+ const [sha, ...messageParts] = line.split('|');
149
+ return { sha, message: messageParts.join('|') };
150
+ });
151
+ }
152
+ },
153
+ async createTag(name, message) {
154
+ await git.tag(['-a', name, '-m', message]);
155
+ },
156
+ async tagExists(name) {
157
+ try {
158
+ await git.raw(['rev-parse', name]);
159
+ return true;
160
+ }
161
+ catch {
162
+ return false;
163
+ }
164
+ },
165
+ async diff(base) {
166
+ try {
167
+ // Get diff between base and HEAD
168
+ const result = await git.diff([`${base}...HEAD`]);
169
+ return result;
170
+ }
171
+ catch {
172
+ // Fallback: try without the three-dot notation
173
+ const result = await git.diff([base]);
174
+ return result;
175
+ }
176
+ },
106
177
  };
107
178
  }
108
179
  //# sourceMappingURL=git-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-adapter.js","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-adapter.js","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,54 @@
1
1
  /**
2
- * GitHub adapter using Octokit
2
+ * GitHub adapter - DEPRECATED
3
+ *
4
+ * This adapter is deprecated. Use one of these alternatives instead:
5
+ * - @github MCP server for AI-assisted GitHub operations
6
+ * - `gh` CLI for command-line GitHub operations
7
+ * - `/speclife ship` and `/speclife land` slash commands
8
+ *
9
+ * The adapter remains functional for backward compatibility but will be
10
+ * removed in a future version.
3
11
  */
4
12
  import { type PullRequest } from '../types.js';
5
- /** GitHub operations interface */
13
+ /** @deprecated Use @github MCP or gh CLI instead */
6
14
  export interface GitHubAdapter {
7
- /** Create a pull request */
8
- createPullRequest(params: {
9
- title: string;
10
- body: string;
11
- head: string;
12
- base: string;
13
- draft?: boolean;
14
- }): Promise<PullRequest>;
15
- /** Get pull request by branch */
15
+ /** @deprecated */
16
+ createPullRequest(options: CreatePROptions): Promise<PullRequest>;
17
+ /** @deprecated */
18
+ getPullRequest(prNumber: number): Promise<PullRequest>;
19
+ /** @deprecated */
16
20
  getPullRequestByBranch(branch: string): Promise<PullRequest | null>;
17
- /** Get pull request by number */
18
- getPullRequest(number: number): Promise<PullRequest>;
19
- /** Get pull request diff */
20
- getPullRequestDiff(number: number): Promise<string>;
21
- /** Merge pull request */
22
- mergePullRequest(number: number, method?: 'merge' | 'squash' | 'rebase'): Promise<void>;
23
- /** Check if PR is mergeable */
24
- isPullRequestMergeable(number: number): Promise<{
21
+ /** @deprecated */
22
+ mergePullRequest(prNumber: number, mergeMethod?: 'merge' | 'squash' | 'rebase'): Promise<void>;
23
+ /** @deprecated */
24
+ updatePullRequest(prNumber: number, options: UpdatePROptions): Promise<PullRequest>;
25
+ /** @deprecated */
26
+ markPullRequestReady(prNumber: number): Promise<PullRequest>;
27
+ /** @deprecated */
28
+ isPullRequestMergeable(prNumber: number): Promise<{
25
29
  mergeable: boolean;
26
30
  reason?: string;
27
31
  }>;
28
- /** Mark a draft PR as ready for review */
29
- markPullRequestReady(number: number): Promise<PullRequest>;
32
+ /** @deprecated */
33
+ enableAutoMerge(prNumber: number, mergeMethod?: 'MERGE' | 'SQUASH' | 'REBASE'): Promise<boolean>;
30
34
  }
31
- interface GitHubAdapterOptions {
32
- owner: string;
33
- repo: string;
34
- token?: string;
35
+ interface CreatePROptions {
36
+ title: string;
37
+ body: string;
38
+ head: string;
39
+ base: string;
40
+ draft?: boolean;
41
+ }
42
+ interface UpdatePROptions {
43
+ title?: string;
44
+ body?: string;
45
+ draft?: boolean;
35
46
  }
36
47
  /**
37
48
  * Create a GitHub adapter
49
+ *
50
+ * @deprecated Use @github MCP or gh CLI instead
38
51
  */
39
- export declare function createGitHubAdapter(options: GitHubAdapterOptions): GitHubAdapter;
52
+ export declare function createGitHubAdapter(owner: string, repo: string): GitHubAdapter;
40
53
  export {};
41
54
  //# sourceMappingURL=github-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1E,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB,iCAAiC;IACjC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAErD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,yBAAyB;IACzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,+BAA+B;IAC/B,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC5D;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA4JhF"}
1
+ {"version":3,"file":"github-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,kBAAkB;IAClB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,kBAAkB;IAClB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,kBAAkB;IAClB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACpE,kBAAkB;IAClB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,kBAAkB;IAClB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpF,kBAAkB;IAClB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,kBAAkB;IAClB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,kBAAkB;IAClB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClG;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAaD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CA+K9E"}
@@ -1,37 +1,60 @@
1
1
  /**
2
- * GitHub adapter using Octokit
2
+ * GitHub adapter - DEPRECATED
3
+ *
4
+ * This adapter is deprecated. Use one of these alternatives instead:
5
+ * - @github MCP server for AI-assisted GitHub operations
6
+ * - `gh` CLI for command-line GitHub operations
7
+ * - `/speclife ship` and `/speclife land` slash commands
8
+ *
9
+ * The adapter remains functional for backward compatibility but will be
10
+ * removed in a future version.
3
11
  */
4
12
  import { Octokit } from '@octokit/rest';
5
- import { SpecLifeError, ErrorCodes } from '../types.js';
13
+ const DEPRECATION_WARNING = `
14
+ ⚠️ DEPRECATION WARNING: createGitHubAdapter is deprecated.
15
+
16
+ Use one of these alternatives:
17
+ - @github MCP server for AI-assisted operations
18
+ - \`gh\` CLI for command-line operations
19
+ - /speclife ship and /speclife land slash commands
20
+
21
+ This adapter will be removed in a future version.
22
+ `;
6
23
  /**
7
24
  * Create a GitHub adapter
25
+ *
26
+ * @deprecated Use @github MCP or gh CLI instead
8
27
  */
9
- export function createGitHubAdapter(options) {
10
- const token = options.token ?? process.env.GITHUB_TOKEN;
28
+ export function createGitHubAdapter(owner, repo) {
29
+ // Show deprecation warning once per adapter creation
30
+ console.warn(DEPRECATION_WARNING);
31
+ const token = process.env.GITHUB_TOKEN;
11
32
  if (!token) {
12
- throw new SpecLifeError(ErrorCodes.MISSING_TOKEN, 'GITHUB_TOKEN environment variable is required for GitHub operations', { variable: 'GITHUB_TOKEN' });
33
+ throw new Error('GITHUB_TOKEN environment variable is required.\n' +
34
+ 'Consider using /speclife ship or /speclife land slash commands instead,\n' +
35
+ 'which use @github MCP or gh CLI and do not require token configuration.');
13
36
  }
14
37
  const octokit = new Octokit({ auth: token });
15
- const { owner, repo } = options;
16
38
  return {
17
- async createPullRequest(params) {
39
+ async createPullRequest(options) {
18
40
  const { data } = await octokit.pulls.create({
19
41
  owner,
20
42
  repo,
21
- title: params.title,
22
- body: params.body,
23
- head: params.head,
24
- base: params.base,
25
- draft: params.draft,
43
+ title: options.title,
44
+ body: options.body,
45
+ head: options.head,
46
+ base: options.base,
47
+ draft: options.draft,
26
48
  });
27
- return {
28
- number: data.number,
29
- url: data.html_url,
30
- title: data.title,
31
- state: data.state,
32
- mergeable: data.mergeable,
33
- draft: data.draft ?? false,
34
- };
49
+ return mapPullRequest(data);
50
+ },
51
+ async getPullRequest(prNumber) {
52
+ const { data } = await octokit.pulls.get({
53
+ owner,
54
+ repo,
55
+ pull_number: prNumber,
56
+ });
57
+ return mapPullRequest(data);
35
58
  },
36
59
  async getPullRequestByBranch(branch) {
37
60
  const { data } = await octokit.pulls.list({
@@ -43,99 +66,137 @@ export function createGitHubAdapter(options) {
43
66
  if (data.length === 0) {
44
67
  return null;
45
68
  }
46
- const pr = data[0];
47
- return {
48
- number: pr.number,
49
- url: pr.html_url,
50
- title: pr.title,
51
- state: pr.state,
52
- mergeable: null, // List endpoint doesn't return mergeable; use getPullRequest for full details
53
- draft: pr.draft ?? false,
54
- };
55
- },
56
- async getPullRequest(number) {
57
- const { data } = await octokit.pulls.get({
58
- owner,
59
- repo,
60
- pull_number: number,
61
- });
62
- return {
63
- number: data.number,
64
- url: data.html_url,
65
- title: data.title,
66
- state: data.merged ? 'merged' : data.state,
67
- mergeable: data.mergeable,
68
- draft: data.draft ?? false,
69
- };
69
+ return mapPullRequest(data[0]);
70
70
  },
71
- async getPullRequestDiff(number) {
72
- const { data } = await octokit.pulls.get({
73
- owner,
74
- repo,
75
- pull_number: number,
76
- mediaType: {
77
- format: 'diff',
78
- },
79
- });
80
- // When requesting diff format, data is returned as a string
81
- return data;
82
- },
83
- async mergePullRequest(number, method = 'merge') {
71
+ async mergePullRequest(prNumber, mergeMethod = 'squash') {
84
72
  await octokit.pulls.merge({
85
73
  owner,
86
74
  repo,
87
- pull_number: number,
88
- merge_method: method,
75
+ pull_number: prNumber,
76
+ merge_method: mergeMethod,
89
77
  });
90
78
  },
91
- async isPullRequestMergeable(number) {
92
- const { data } = await octokit.pulls.get({
93
- owner,
94
- repo,
95
- pull_number: number,
96
- });
97
- if (data.mergeable === false) {
98
- return { mergeable: false, reason: 'Conflicts or checks failing' };
79
+ async updatePullRequest(prNumber, options) {
80
+ // Handle draft status separately (requires GraphQL)
81
+ if (options.draft === false) {
82
+ // Mark as ready for review using GraphQL
83
+ const { data: pr } = await octokit.pulls.get({
84
+ owner,
85
+ repo,
86
+ pull_number: prNumber,
87
+ });
88
+ await octokit.graphql(`
89
+ mutation($pullRequestId: ID!) {
90
+ markPullRequestReadyForReview(input: { pullRequestId: $pullRequestId }) {
91
+ pullRequest { id }
92
+ }
93
+ }
94
+ `, {
95
+ pullRequestId: pr.node_id,
96
+ });
99
97
  }
100
- if (data.draft) {
101
- return { mergeable: false, reason: 'PR is still a draft' };
98
+ // Update other fields
99
+ const updateData = {};
100
+ if (options.title)
101
+ updateData.title = options.title;
102
+ if (options.body)
103
+ updateData.body = options.body;
104
+ if (Object.keys(updateData).length > 0) {
105
+ await octokit.pulls.update({
106
+ owner,
107
+ repo,
108
+ pull_number: prNumber,
109
+ ...updateData,
110
+ });
102
111
  }
103
- return { mergeable: data.mergeable ?? false };
112
+ // Fetch and return updated PR
113
+ return this.getPullRequest(prNumber);
104
114
  },
105
- async markPullRequestReady(number) {
106
- // The REST API doesn't support marking PRs ready, so we use GraphQL
107
- // First, get the node ID for the PR
108
- const { data: prData } = await octokit.pulls.get({
115
+ async markPullRequestReady(prNumber) {
116
+ const { data: pr } = await octokit.pulls.get({
109
117
  owner,
110
118
  repo,
111
- pull_number: number,
119
+ pull_number: prNumber,
112
120
  });
113
- const nodeId = prData.node_id;
114
- // Use GraphQL mutation to mark ready
115
121
  await octokit.graphql(`
116
- mutation($id: ID!) {
117
- markPullRequestReadyForReview(input: { pullRequestId: $id }) {
118
- pullRequest {
119
- id
120
- }
122
+ mutation($pullRequestId: ID!) {
123
+ markPullRequestReadyForReview(input: { pullRequestId: $pullRequestId }) {
124
+ pullRequest { id }
121
125
  }
122
126
  }
123
- `, { id: nodeId });
124
- // Fetch updated PR
127
+ `, {
128
+ pullRequestId: pr.node_id,
129
+ });
130
+ // Fetch and return updated PR
131
+ return this.getPullRequest(prNumber);
132
+ },
133
+ async isPullRequestMergeable(prNumber) {
125
134
  const { data } = await octokit.pulls.get({
126
135
  owner,
127
136
  repo,
128
- pull_number: number,
137
+ pull_number: prNumber,
129
138
  });
130
- return {
131
- number: data.number,
132
- url: data.html_url,
133
- title: data.title,
134
- state: data.merged ? 'merged' : data.state,
135
- mergeable: data.mergeable,
136
- draft: data.draft ?? false,
137
- };
139
+ // GitHub's mergeable can be null when status is unknown/checking
140
+ if (data.mergeable === null) {
141
+ return { mergeable: false, reason: 'Mergeability status is being computed' };
142
+ }
143
+ if (!data.mergeable) {
144
+ return {
145
+ mergeable: false,
146
+ reason: data.mergeable_state === 'dirty' ? 'Has merge conflicts' :
147
+ data.mergeable_state === 'blocked' ? 'Blocked by branch protection rules' :
148
+ data.mergeable_state === 'behind' ? 'Branch is behind base' :
149
+ `State: ${data.mergeable_state}`
150
+ };
151
+ }
152
+ return { mergeable: true };
153
+ },
154
+ async enableAutoMerge(prNumber, mergeMethod = 'SQUASH') {
155
+ try {
156
+ const { data: pr } = await octokit.pulls.get({
157
+ owner,
158
+ repo,
159
+ pull_number: prNumber,
160
+ });
161
+ await octokit.graphql(`
162
+ mutation($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
163
+ enablePullRequestAutoMerge(input: { pullRequestId: $pullRequestId, mergeMethod: $mergeMethod }) {
164
+ pullRequest { id }
165
+ }
166
+ }
167
+ `, {
168
+ pullRequestId: pr.node_id,
169
+ mergeMethod,
170
+ });
171
+ return true;
172
+ }
173
+ catch {
174
+ // Auto-merge might not be enabled on the repository
175
+ return false;
176
+ }
177
+ },
178
+ };
179
+ }
180
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
181
+ function mapPullRequest(data) {
182
+ return {
183
+ number: data.number,
184
+ title: data.title,
185
+ body: data.body || '',
186
+ state: data.merged ? 'merged' : data.state,
187
+ draft: data.draft || false,
188
+ url: data.html_url,
189
+ html_url: data.html_url,
190
+ head: {
191
+ ref: data.head.ref,
192
+ sha: data.head.sha,
193
+ },
194
+ base: {
195
+ ref: data.base.ref,
138
196
  },
197
+ merged: data.merged || false,
198
+ mergeable: data.mergeable,
199
+ mergeable_state: data.mergeable_state,
139
200
  };
140
201
  }
141
202
  //# sourceMappingURL=github-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAyC1E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CACrB,UAAU,CAAC,aAAa,EACxB,qEAAqE,EACrE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEhC,OAAO;QACL,KAAK,CAAC,iBAAiB,CAAC,MAAM;YAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC1C,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAA0B;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxC,KAAK;gBACL,IAAI;gBACJ,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;gBAC1B,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,GAAG,EAAE,EAAE,CAAC,QAAQ;gBAChB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,KAAK,EAAE,EAAE,CAAC,KAA0B;gBACpC,SAAS,EAAE,IAAI,EAAE,8EAA8E;gBAC/F,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK;aACzB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,MAAc;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAA2B;gBACjE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;YACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE;oBACT,MAAM,EAAE,MAAM;iBACf;aACF,CAAC,CAAC;YAEH,4DAA4D;YAC5D,OAAO,IAAyB,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,SAAwC,OAAO;YACpF,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxB,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;gBACnB,YAAY,EAAE,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;YACrE,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YAC7D,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,MAAc;YACvC,oEAAoE;YACpE,oCAAoC;YACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC/C,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,qCAAqC;YACrC,MAAM,OAAO,CAAC,OAAO,CAAC;;;;;;;;OAQrB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAEnB,mBAAmB;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAA2B;gBACjE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;aAC3B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAqCxC,MAAM,mBAAmB,GAAG;;;;;;;;;CAS3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,IAAY;IAC7D,qDAAqD;IACrD,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAElC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,kDAAkD;YAClD,2EAA2E;YAC3E,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7C,OAAO;QACL,KAAK,CAAC,iBAAiB,CAAC,OAAwB;YAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC1C,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,QAAgB;YACnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxC,KAAK;gBACL,IAAI;gBACJ,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;gBAC1B,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,cAA6C,QAAQ;YAC5F,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxB,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,QAAQ;gBACrB,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAwB;YAChE,oDAAoD;YACpD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC5B,yCAAyC;gBACzC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC3C,KAAK;oBACL,IAAI;oBACJ,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,OAAO,CAAC;;;;;;SAMrB,EAAE;oBACD,aAAa,EAAE,EAAE,CAAC,OAAO;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,sBAAsB;YACtB,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,KAAK;gBAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACpD,IAAI,OAAO,CAAC,IAAI;gBAAE,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAEjD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;oBACzB,KAAK;oBACL,IAAI;oBACJ,WAAW,EAAE,QAAQ;oBACrB,GAAG,UAAU;iBACd,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,QAAgB;YACzC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3C,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,OAAO,CAAC;;;;;;OAMrB,EAAE;gBACD,aAAa,EAAE,EAAE,CAAC,OAAO;aAC1B,CAAC,CAAC;YAEH,8BAA8B;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;YAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,KAAK;gBACL,IAAI;gBACJ,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,iEAAiE;YACjE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC5B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;YAC/E,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;wBAC1D,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;4BAC3E,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;gCAC7D,UAAU,IAAI,CAAC,eAAe,EAAE;iBACzC,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,cAA6C,QAAQ;YAC3F,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC3C,KAAK;oBACL,IAAI;oBACJ,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,OAAO,CAAC;;;;;;SAMrB,EAAE;oBACD,aAAa,EAAE,EAAE,CAAC,OAAO;oBACzB,WAAW;iBACZ,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,SAAS,cAAc,CAAC,IAAS;IAC/B,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;QAC1B,GAAG,EAAE,IAAI,CAAC,QAAQ;QAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE;YACJ,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;SACnB;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;SACnB;QACD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,eAAe,EAAE,IAAI,CAAC,eAAe;KACtC,CAAC;AACJ,CAAC"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Adapters for external services
3
+ *
4
+ * DEPRECATION NOTES:
5
+ * - GitHub adapter: Use @github MCP or gh CLI instead
6
+ * - AI adapters: Removed - the agent IS the AI, use slash commands
3
7
  */
4
8
  export { createGitAdapter, type GitAdapter } from './git-adapter.js';
5
- export { createGitHubAdapter, type GitHubAdapter } from './github-adapter.js';
6
9
  export { createOpenSpecAdapter, type OpenSpecAdapter } from './openspec-adapter.js';
10
+ export { createGitHubAdapter, type GitHubAdapter } from './github-adapter.js';
7
11
  export { type EnvironmentAdapter, type EnvironmentRegistry, type BootstrapStrategy, type DetectionResult, type BootstrapResult, type MonorepoInfo, type WorkspacePackage, createEnvironmentRegistry, createDefaultEnvironmentRegistry, createNodejsAdapter, createPythonAdapter, createGoAdapter, createRustAdapter, detectMonorepo, patchTsconfigForMonorepo, } from './environment-adapter.js';
8
- export { createClaudeCliAdapter, generateImplementationPrompt, generateVersionAnalysisPrompt, parseVersionAnalysisResponse, type ClaudeCliAdapter, type ClaudeCliOptions, type ClaudeCliResult, } from './claude-cli-adapter.js';
9
- export { createClaudeSdkAdapter, generateAgenticSystemPrompt, type ClaudeSdkAdapter, type AgenticLoopOptions, type AgenticLoopResult, } from './claude-sdk-adapter.js';
10
- export { createCursorAdapter, type CursorAdapter, type CursorResult, } from './cursor-adapter.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * Adapters for external services
3
+ *
4
+ * DEPRECATION NOTES:
5
+ * - GitHub adapter: Use @github MCP or gh CLI instead
6
+ * - AI adapters: Removed - the agent IS the AI, use slash commands
3
7
  */
4
8
  export { createGitAdapter } from './git-adapter.js';
5
- export { createGitHubAdapter } from './github-adapter.js';
6
9
  export { createOpenSpecAdapter } from './openspec-adapter.js';
10
+ // GitHub adapter (deprecated but kept for backward compatibility)
11
+ export { createGitHubAdapter } from './github-adapter.js';
7
12
  // Environment adapters for worktree setup
8
13
  export { createEnvironmentRegistry, createDefaultEnvironmentRegistry, createNodejsAdapter, createPythonAdapter, createGoAdapter, createRustAdapter, detectMonorepo, patchTsconfigForMonorepo, } from './environment-adapter.js';
9
- // AI/Implementation adapters
10
- export { createClaudeCliAdapter, generateImplementationPrompt, generateVersionAnalysisPrompt, parseVersionAnalysisResponse, } from './claude-cli-adapter.js';
11
- export { createClaudeSdkAdapter, generateAgenticSystemPrompt, } from './claude-sdk-adapter.js';
12
- export { createCursorAdapter, } from './cursor-adapter.js';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEpF,0CAA0C;AAC1C,OAAO,EAQL,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,GAI7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAI5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEpF,kEAAkE;AAClE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAE9E,0CAA0C;AAC1C,OAAO,EAQL,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}