claudedesk 1.0.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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +431 -0
  3. package/config/repos.example.json +128 -0
  4. package/config/settings.example.json +64 -0
  5. package/config/skills/code-review.md +76 -0
  6. package/config/skills/full-check.md +26 -0
  7. package/config/skills/lint-fix.md +23 -0
  8. package/dist/api/agent-routes.d.ts +2 -0
  9. package/dist/api/agent-routes.d.ts.map +1 -0
  10. package/dist/api/agent-routes.js +251 -0
  11. package/dist/api/agent-routes.js.map +1 -0
  12. package/dist/api/app-routes.d.ts +2 -0
  13. package/dist/api/app-routes.d.ts.map +1 -0
  14. package/dist/api/app-routes.js +150 -0
  15. package/dist/api/app-routes.js.map +1 -0
  16. package/dist/api/docker-routes.d.ts +2 -0
  17. package/dist/api/docker-routes.d.ts.map +1 -0
  18. package/dist/api/docker-routes.js +167 -0
  19. package/dist/api/docker-routes.js.map +1 -0
  20. package/dist/api/middleware.d.ts +6 -0
  21. package/dist/api/middleware.d.ts.map +1 -0
  22. package/dist/api/middleware.js +293 -0
  23. package/dist/api/middleware.js.map +1 -0
  24. package/dist/api/pin-auth.d.ts +65 -0
  25. package/dist/api/pin-auth.d.ts.map +1 -0
  26. package/dist/api/pin-auth.js +218 -0
  27. package/dist/api/pin-auth.js.map +1 -0
  28. package/dist/api/routes.d.ts +2 -0
  29. package/dist/api/routes.d.ts.map +1 -0
  30. package/dist/api/routes.js +473 -0
  31. package/dist/api/routes.js.map +1 -0
  32. package/dist/api/settings-routes.d.ts +2 -0
  33. package/dist/api/settings-routes.d.ts.map +1 -0
  34. package/dist/api/settings-routes.js +570 -0
  35. package/dist/api/settings-routes.js.map +1 -0
  36. package/dist/api/skill-routes.d.ts +2 -0
  37. package/dist/api/skill-routes.d.ts.map +1 -0
  38. package/dist/api/skill-routes.js +88 -0
  39. package/dist/api/skill-routes.js.map +1 -0
  40. package/dist/api/terminal-routes.d.ts +2 -0
  41. package/dist/api/terminal-routes.d.ts.map +1 -0
  42. package/dist/api/terminal-routes.js +3524 -0
  43. package/dist/api/terminal-routes.js.map +1 -0
  44. package/dist/api/tunnel-routes.d.ts +2 -0
  45. package/dist/api/tunnel-routes.d.ts.map +1 -0
  46. package/dist/api/tunnel-routes.js +196 -0
  47. package/dist/api/tunnel-routes.js.map +1 -0
  48. package/dist/api/workspace-routes.d.ts +3 -0
  49. package/dist/api/workspace-routes.d.ts.map +1 -0
  50. package/dist/api/workspace-routes.js +649 -0
  51. package/dist/api/workspace-routes.js.map +1 -0
  52. package/dist/cli.d.ts +3 -0
  53. package/dist/cli.d.ts.map +1 -0
  54. package/dist/cli.js +276 -0
  55. package/dist/cli.js.map +1 -0
  56. package/dist/client/assets/index-B4r0njGe.js +780 -0
  57. package/dist/client/assets/index-CY_9MyE0.css +1 -0
  58. package/dist/client/favicon.svg +5 -0
  59. package/dist/client/icons/icon-192.svg +5 -0
  60. package/dist/client/icons/icon-512.svg +5 -0
  61. package/dist/client/icons/logo-with-message.png +0 -0
  62. package/dist/client/icons/logo.png +0 -0
  63. package/dist/client/index.html +25 -0
  64. package/dist/client/manifest.json +62 -0
  65. package/dist/client/sw.js +243 -0
  66. package/dist/config/agent-usage.d.ts +34 -0
  67. package/dist/config/agent-usage.d.ts.map +1 -0
  68. package/dist/config/agent-usage.js +87 -0
  69. package/dist/config/agent-usage.js.map +1 -0
  70. package/dist/config/repos.d.ts +34 -0
  71. package/dist/config/repos.d.ts.map +1 -0
  72. package/dist/config/repos.js +412 -0
  73. package/dist/config/repos.js.map +1 -0
  74. package/dist/config/settings.d.ts +634 -0
  75. package/dist/config/settings.d.ts.map +1 -0
  76. package/dist/config/settings.js +459 -0
  77. package/dist/config/settings.js.map +1 -0
  78. package/dist/config/skills.d.ts +18 -0
  79. package/dist/config/skills.d.ts.map +1 -0
  80. package/dist/config/skills.js +174 -0
  81. package/dist/config/skills.js.map +1 -0
  82. package/dist/config/workspaces.d.ts +961 -0
  83. package/dist/config/workspaces.d.ts.map +1 -0
  84. package/dist/config/workspaces.js +482 -0
  85. package/dist/config/workspaces.js.map +1 -0
  86. package/dist/core/app-manager.d.ts +85 -0
  87. package/dist/core/app-manager.d.ts.map +1 -0
  88. package/dist/core/app-manager.js +447 -0
  89. package/dist/core/app-manager.js.map +1 -0
  90. package/dist/core/claude-invoker.d.ts +49 -0
  91. package/dist/core/claude-invoker.d.ts.map +1 -0
  92. package/dist/core/claude-invoker.js +583 -0
  93. package/dist/core/claude-invoker.js.map +1 -0
  94. package/dist/core/claude-session-reader.d.ts +25 -0
  95. package/dist/core/claude-session-reader.d.ts.map +1 -0
  96. package/dist/core/claude-session-reader.js +184 -0
  97. package/dist/core/claude-session-reader.js.map +1 -0
  98. package/dist/core/claude-usage-query.d.ts +78 -0
  99. package/dist/core/claude-usage-query.d.ts.map +1 -0
  100. package/dist/core/claude-usage-query.js +294 -0
  101. package/dist/core/claude-usage-query.js.map +1 -0
  102. package/dist/core/git-credential-helper.d.ts +57 -0
  103. package/dist/core/git-credential-helper.d.ts.map +1 -0
  104. package/dist/core/git-credential-helper.js +176 -0
  105. package/dist/core/git-credential-helper.js.map +1 -0
  106. package/dist/core/git-sandbox.d.ts +135 -0
  107. package/dist/core/git-sandbox.d.ts.map +1 -0
  108. package/dist/core/git-sandbox.js +907 -0
  109. package/dist/core/git-sandbox.js.map +1 -0
  110. package/dist/core/github-integration.d.ts +66 -0
  111. package/dist/core/github-integration.d.ts.map +1 -0
  112. package/dist/core/github-integration.js +350 -0
  113. package/dist/core/github-integration.js.map +1 -0
  114. package/dist/core/github-oauth.d.ts +88 -0
  115. package/dist/core/github-oauth.d.ts.map +1 -0
  116. package/dist/core/github-oauth.js +244 -0
  117. package/dist/core/github-oauth.js.map +1 -0
  118. package/dist/core/gitlab-integration.d.ts +66 -0
  119. package/dist/core/gitlab-integration.d.ts.map +1 -0
  120. package/dist/core/gitlab-integration.js +353 -0
  121. package/dist/core/gitlab-integration.js.map +1 -0
  122. package/dist/core/gitlab-oauth.d.ts +100 -0
  123. package/dist/core/gitlab-oauth.d.ts.map +1 -0
  124. package/dist/core/gitlab-oauth.js +366 -0
  125. package/dist/core/gitlab-oauth.js.map +1 -0
  126. package/dist/core/insights-extractor.d.ts +68 -0
  127. package/dist/core/insights-extractor.d.ts.map +1 -0
  128. package/dist/core/insights-extractor.js +402 -0
  129. package/dist/core/insights-extractor.js.map +1 -0
  130. package/dist/core/logger.d.ts +27 -0
  131. package/dist/core/logger.d.ts.map +1 -0
  132. package/dist/core/logger.js +70 -0
  133. package/dist/core/logger.js.map +1 -0
  134. package/dist/core/process-runner.d.ts +27 -0
  135. package/dist/core/process-runner.d.ts.map +1 -0
  136. package/dist/core/process-runner.js +147 -0
  137. package/dist/core/process-runner.js.map +1 -0
  138. package/dist/core/project-detector.d.ts +30 -0
  139. package/dist/core/project-detector.d.ts.map +1 -0
  140. package/dist/core/project-detector.js +482 -0
  141. package/dist/core/project-detector.js.map +1 -0
  142. package/dist/core/qr-generator.d.ts +18 -0
  143. package/dist/core/qr-generator.d.ts.map +1 -0
  144. package/dist/core/qr-generator.js +61 -0
  145. package/dist/core/qr-generator.js.map +1 -0
  146. package/dist/core/remote-tunnel-manager.d.ts +59 -0
  147. package/dist/core/remote-tunnel-manager.d.ts.map +1 -0
  148. package/dist/core/remote-tunnel-manager.js +235 -0
  149. package/dist/core/remote-tunnel-manager.js.map +1 -0
  150. package/dist/core/shared-docker-manager.d.ts +41 -0
  151. package/dist/core/shared-docker-manager.d.ts.map +1 -0
  152. package/dist/core/shared-docker-manager.js +409 -0
  153. package/dist/core/shared-docker-manager.js.map +1 -0
  154. package/dist/core/skill-executor.d.ts +25 -0
  155. package/dist/core/skill-executor.d.ts.map +1 -0
  156. package/dist/core/skill-executor.js +171 -0
  157. package/dist/core/skill-executor.js.map +1 -0
  158. package/dist/core/terminal-session.d.ts +149 -0
  159. package/dist/core/terminal-session.d.ts.map +1 -0
  160. package/dist/core/terminal-session.js +2340 -0
  161. package/dist/core/terminal-session.js.map +1 -0
  162. package/dist/core/tunnel-manager.d.ts +35 -0
  163. package/dist/core/tunnel-manager.d.ts.map +1 -0
  164. package/dist/core/tunnel-manager.js +137 -0
  165. package/dist/core/tunnel-manager.js.map +1 -0
  166. package/dist/core/usage-manager.d.ts +57 -0
  167. package/dist/core/usage-manager.d.ts.map +1 -0
  168. package/dist/core/usage-manager.js +363 -0
  169. package/dist/core/usage-manager.js.map +1 -0
  170. package/dist/core/ws-manager.d.ts +39 -0
  171. package/dist/core/ws-manager.d.ts.map +1 -0
  172. package/dist/core/ws-manager.js +190 -0
  173. package/dist/core/ws-manager.js.map +1 -0
  174. package/dist/index.d.ts +7 -0
  175. package/dist/index.d.ts.map +1 -0
  176. package/dist/index.js +229 -0
  177. package/dist/index.js.map +1 -0
  178. package/dist/types.d.ts +868 -0
  179. package/dist/types.d.ts.map +1 -0
  180. package/dist/types.js +119 -0
  181. package/dist/types.js.map +1 -0
  182. package/package.json +96 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-sandbox.js","sourceRoot":"","sources":["../../src/core/git-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ export interface PRResult {
2
+ success: boolean;
3
+ prUrl?: string;
4
+ error?: string;
5
+ }
6
+ export declare class GitHubIntegration {
7
+ /**
8
+ * Check if GitHub CLI (gh) is installed and authenticated
9
+ */
10
+ isAvailable(): boolean;
11
+ /**
12
+ * Create a pull request using GitHub API with OAuth token.
13
+ * This method is preferred over CLI as it doesn't require `gh` to be installed.
14
+ *
15
+ * @param repoPath - Path to the repository (to get remote URL)
16
+ * @param branch - Branch to create PR from
17
+ * @param title - PR title
18
+ * @param body - PR body/description
19
+ * @param token - OAuth access token
20
+ * @param baseBranch - Base branch for the PR (optional, defaults to main/master)
21
+ * @returns PRResult with success status and PR URL
22
+ */
23
+ createPRWithToken(repoPath: string, branch: string, title: string, body: string, token: string, baseBranch?: string): Promise<PRResult>;
24
+ /**
25
+ * Create a pull request.
26
+ * First tries OAuth API if workspace has a token, then falls back to gh CLI.
27
+ *
28
+ * @param repoPath - Path to the repository (working directory for git commands)
29
+ * @param branch - Branch to create PR from
30
+ * @param title - PR title
31
+ * @param body - PR body/description
32
+ * @param workspaceLookupPath - Optional path used for workspace token lookup (for worktree support)
33
+ * @returns PRResult with success status and PR URL
34
+ */
35
+ createPR(repoPath: string, branch: string, title: string, body: string, workspaceLookupPath?: string, baseBranch?: string): Promise<PRResult>;
36
+ /**
37
+ * Create a pull request using GitHub CLI (gh).
38
+ * Fallback method when OAuth is not available.
39
+ */
40
+ private createPRWithCLI;
41
+ /**
42
+ * Create a new repository on GitHub and push local code
43
+ * First checks if workspace has a GitHub token, otherwise falls back to gh CLI
44
+ * @param repoPath - Path to the local repository
45
+ * @param repoName - Name for the GitHub repository
46
+ * @param isPrivate - Whether the repo should be private (default: true)
47
+ * @returns Result with success status and remote URL
48
+ */
49
+ createRepo(repoPath: string, repoName: string, isPrivate?: boolean): Promise<PRResult>;
50
+ /**
51
+ * Create repo using GitHub API with OAuth token
52
+ */
53
+ private createRepoWithToken;
54
+ /**
55
+ * Create repo using GitHub CLI (gh)
56
+ */
57
+ private createRepoWithCLI;
58
+ /**
59
+ * Get the URL to create a PR manually in the browser
60
+ * @param repoPath - Path to the repository
61
+ * @param branch - Branch to create PR from
62
+ */
63
+ getPRCreateUrl(repoPath: string, branch: string): string | null;
64
+ }
65
+ export declare const githubIntegration: GitHubIntegration;
66
+ //# sourceMappingURL=github-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-integration.d.ts","sourceRoot":"","sources":["../../src/core/github-integration.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,WAAW,IAAI,OAAO;IAStB;;;;;;;;;;;OAWG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IA+EpB;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoBnJ;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0CvB;;;;;;;OAOG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAclG;;OAEG;YACW,mBAAmB;IAmFjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAoBhE;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,350 @@
1
+ import { execSync } from 'child_process';
2
+ import https from 'https';
3
+ import { workspaceManager } from '../config/workspaces.js';
4
+ /**
5
+ * Helper to make synchronous-like HTTPS requests using native Node.js https module.
6
+ * Avoids embedding tokens in shell commands.
7
+ */
8
+ function httpsRequest(options, data) {
9
+ return new Promise((resolve, reject) => {
10
+ const req = https.request(options, (res) => {
11
+ let body = '';
12
+ res.on('data', (chunk) => (body += chunk));
13
+ res.on('end', () => resolve({ statusCode: res.statusCode || 0, body }));
14
+ });
15
+ req.on('error', reject);
16
+ if (data)
17
+ req.write(data);
18
+ req.end();
19
+ });
20
+ }
21
+ /**
22
+ * Parse owner and repo from a GitHub remote URL.
23
+ * Supports both SSH and HTTPS formats.
24
+ */
25
+ function parseGitHubRemote(remoteUrl) {
26
+ // SSH format: git@github.com:owner/repo.git
27
+ // HTTPS format: https://github.com/owner/repo.git
28
+ const sshMatch = remoteUrl.match(/github\.com[:/]([^/]+)\/([^/.]+)/);
29
+ if (sshMatch) {
30
+ return { owner: sshMatch[1], repo: sshMatch[2].replace(/\.git$/, '') };
31
+ }
32
+ return null;
33
+ }
34
+ export class GitHubIntegration {
35
+ /**
36
+ * Check if GitHub CLI (gh) is installed and authenticated
37
+ */
38
+ isAvailable() {
39
+ try {
40
+ execSync('gh auth status', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
41
+ return true;
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ /**
48
+ * Create a pull request using GitHub API with OAuth token.
49
+ * This method is preferred over CLI as it doesn't require `gh` to be installed.
50
+ *
51
+ * @param repoPath - Path to the repository (to get remote URL)
52
+ * @param branch - Branch to create PR from
53
+ * @param title - PR title
54
+ * @param body - PR body/description
55
+ * @param token - OAuth access token
56
+ * @param baseBranch - Base branch for the PR (optional, defaults to main/master)
57
+ * @returns PRResult with success status and PR URL
58
+ */
59
+ async createPRWithToken(repoPath, branch, title, body, token, baseBranch) {
60
+ try {
61
+ // Get the remote URL to determine owner/repo
62
+ const remoteUrl = execSync('git remote get-url origin', {
63
+ cwd: repoPath,
64
+ encoding: 'utf-8',
65
+ stdio: ['pipe', 'pipe', 'pipe'],
66
+ }).trim();
67
+ const parsed = parseGitHubRemote(remoteUrl);
68
+ if (!parsed) {
69
+ return { success: false, error: 'Could not parse GitHub remote URL' };
70
+ }
71
+ const { owner, repo } = parsed;
72
+ // Determine base branch if not provided
73
+ if (!baseBranch) {
74
+ try {
75
+ // Try to detect main branch
76
+ const branches = execSync('git branch -a', {
77
+ cwd: repoPath,
78
+ encoding: 'utf-8',
79
+ stdio: ['pipe', 'pipe', 'pipe'],
80
+ });
81
+ baseBranch = branches.includes('remotes/origin/main') ? 'main' : 'master';
82
+ }
83
+ catch {
84
+ baseBranch = 'main';
85
+ }
86
+ }
87
+ // Create PR via GitHub API using native https module (SEC-01 fix: no token in shell)
88
+ const data = JSON.stringify({
89
+ title,
90
+ body,
91
+ head: branch,
92
+ base: baseBranch,
93
+ });
94
+ const response = await httpsRequest({
95
+ hostname: 'api.github.com',
96
+ path: `/repos/${owner}/${repo}/pulls`,
97
+ method: 'POST',
98
+ headers: {
99
+ Accept: 'application/vnd.github+json',
100
+ Authorization: `Bearer ${token}`,
101
+ 'User-Agent': 'ClaudeDesk-App',
102
+ 'Content-Type': 'application/json',
103
+ 'Content-Length': Buffer.byteLength(data),
104
+ 'X-GitHub-Api-Version': '2022-11-28',
105
+ },
106
+ }, data);
107
+ if (response.statusCode >= 200 && response.statusCode < 300) {
108
+ const pr = JSON.parse(response.body);
109
+ console.log(`[GitHubIntegration] PR created via API: ${pr.html_url}`);
110
+ return { success: true, prUrl: pr.html_url };
111
+ }
112
+ else {
113
+ let errorMsg = response.body;
114
+ try {
115
+ const err = JSON.parse(response.body);
116
+ errorMsg = err.message || response.body;
117
+ }
118
+ catch {
119
+ // Use raw body as error
120
+ }
121
+ console.error(`[GitHubIntegration] API error creating PR: ${errorMsg}`);
122
+ return { success: false, error: errorMsg };
123
+ }
124
+ }
125
+ catch (error) {
126
+ const err = error;
127
+ const errorMsg = err.stderr?.toString() || err.message || 'Unknown error';
128
+ console.error(`[GitHubIntegration] Failed to create PR via API: ${errorMsg}`);
129
+ return { success: false, error: errorMsg };
130
+ }
131
+ }
132
+ /**
133
+ * Create a pull request.
134
+ * First tries OAuth API if workspace has a token, then falls back to gh CLI.
135
+ *
136
+ * @param repoPath - Path to the repository (working directory for git commands)
137
+ * @param branch - Branch to create PR from
138
+ * @param title - PR title
139
+ * @param body - PR body/description
140
+ * @param workspaceLookupPath - Optional path used for workspace token lookup (for worktree support)
141
+ * @returns PRResult with success status and PR URL
142
+ */
143
+ async createPR(repoPath, branch, title, body, workspaceLookupPath, baseBranch) {
144
+ // First, check if this repo belongs to a workspace with GitHub token
145
+ // Use workspaceLookupPath if provided (for worktree mode), otherwise use repoPath
146
+ const workspace = workspaceManager.getWorkspaceForRepo(workspaceLookupPath || repoPath);
147
+ const token = workspace ? workspaceManager.getGitHubToken(workspace.id) : null;
148
+ if (token) {
149
+ console.log(`[GitHubIntegration] Using OAuth token for PR creation`);
150
+ const result = await this.createPRWithToken(repoPath, branch, title, body, token, baseBranch);
151
+ if (result.success) {
152
+ return result;
153
+ }
154
+ // If API fails, fall through to CLI
155
+ console.log(`[GitHubIntegration] OAuth PR creation failed, trying CLI fallback: ${result.error}`);
156
+ }
157
+ // Fall back to gh CLI
158
+ return this.createPRWithCLI(repoPath, branch, title, body, baseBranch);
159
+ }
160
+ /**
161
+ * Create a pull request using GitHub CLI (gh).
162
+ * Fallback method when OAuth is not available.
163
+ */
164
+ createPRWithCLI(repoPath, branch, title, body, baseBranch) {
165
+ if (!this.isAvailable()) {
166
+ return {
167
+ success: false,
168
+ error: 'GitHub CLI (gh) is not installed or not authenticated. Install from https://cli.github.com/, or connect GitHub OAuth in workspace settings.',
169
+ };
170
+ }
171
+ try {
172
+ // Escape special characters in title and body for shell
173
+ const escapedTitle = title.replace(/"/g, '\\"').replace(/`/g, '\\`');
174
+ const escapedBody = body.replace(/"/g, '\\"').replace(/`/g, '\\`');
175
+ // Build command with optional base branch
176
+ let cmd = `gh pr create --title "${escapedTitle}" --body "${escapedBody}" --head "${branch}"`;
177
+ if (baseBranch) {
178
+ cmd += ` --base "${baseBranch}"`;
179
+ }
180
+ const result = execSync(cmd, {
181
+ cwd: repoPath,
182
+ encoding: 'utf-8',
183
+ stdio: ['pipe', 'pipe', 'pipe'],
184
+ timeout: 60000, // 60s timeout
185
+ }).trim();
186
+ // gh pr create outputs the PR URL on success
187
+ const prUrl = result.match(/https:\/\/github\.com\/.+\/pull\/\d+/)?.[0] || result;
188
+ console.log(`[GitHubIntegration] PR created via CLI: ${prUrl}`);
189
+ return { success: true, prUrl };
190
+ }
191
+ catch (error) {
192
+ const err = error;
193
+ const errorMsg = err.stderr?.toString() || err.message || 'Unknown error';
194
+ console.error(`[GitHubIntegration] Failed to create PR via CLI: ${errorMsg}`);
195
+ return { success: false, error: errorMsg };
196
+ }
197
+ }
198
+ /**
199
+ * Create a new repository on GitHub and push local code
200
+ * First checks if workspace has a GitHub token, otherwise falls back to gh CLI
201
+ * @param repoPath - Path to the local repository
202
+ * @param repoName - Name for the GitHub repository
203
+ * @param isPrivate - Whether the repo should be private (default: true)
204
+ * @returns Result with success status and remote URL
205
+ */
206
+ async createRepo(repoPath, repoName, isPrivate = true) {
207
+ // First, check if this repo belongs to a workspace with GitHub token
208
+ const workspace = workspaceManager.getWorkspaceForRepo(repoPath);
209
+ const token = workspace ? workspaceManager.getGitHubToken(workspace.id) : null;
210
+ if (token) {
211
+ // Use GitHub API with workspace token
212
+ return this.createRepoWithToken(repoPath, repoName, isPrivate, token);
213
+ }
214
+ // Fall back to gh CLI
215
+ return this.createRepoWithCLI(repoPath, repoName, isPrivate);
216
+ }
217
+ /**
218
+ * Create repo using GitHub API with OAuth token
219
+ */
220
+ async createRepoWithToken(repoPath, repoName, isPrivate, token) {
221
+ try {
222
+ // Create repo via GitHub API using native https module (SEC-01 fix: no token in shell)
223
+ const repoData = JSON.stringify({
224
+ name: repoName,
225
+ private: isPrivate,
226
+ auto_init: false,
227
+ });
228
+ const response = await httpsRequest({
229
+ hostname: 'api.github.com',
230
+ path: '/user/repos',
231
+ method: 'POST',
232
+ headers: {
233
+ Accept: 'application/json',
234
+ Authorization: `Bearer ${token}`,
235
+ 'User-Agent': 'ClaudeDesk-App',
236
+ 'Content-Type': 'application/json',
237
+ 'Content-Length': Buffer.byteLength(repoData),
238
+ },
239
+ }, repoData);
240
+ if (response.statusCode < 200 || response.statusCode >= 300) {
241
+ console.error(`[GitHubIntegration] API error: ${response.body}`);
242
+ return { success: false, error: response.body };
243
+ }
244
+ const repo = JSON.parse(response.body);
245
+ const htmlUrl = repo.html_url;
246
+ const cloneUrl = repo.clone_url;
247
+ // Now add remote and push using git commands with token auth
248
+ // Use credential helper instead of embedding token in URL
249
+ const { createCredentialHelperScript, removeCredentialHelperScript } = await import('./git-credential-helper.js');
250
+ const scriptPath = createCredentialHelperScript(token, 'github');
251
+ try {
252
+ // Add remote (without token in URL)
253
+ execSync(`git remote add origin "${cloneUrl}"`, {
254
+ cwd: repoPath,
255
+ encoding: 'utf-8',
256
+ stdio: ['pipe', 'pipe', 'pipe'],
257
+ });
258
+ // Push with credential helper
259
+ const pushCmd = process.platform === 'win32'
260
+ ? 'cmd /c "git push -u origin main || git push -u origin master"'
261
+ : 'git push -u origin main || git push -u origin master';
262
+ execSync(pushCmd, {
263
+ cwd: repoPath,
264
+ encoding: 'utf-8',
265
+ stdio: ['pipe', 'pipe', 'pipe'],
266
+ timeout: 120000,
267
+ env: {
268
+ ...process.env,
269
+ GIT_ASKPASS: scriptPath,
270
+ GIT_TERMINAL_PROMPT: '0',
271
+ },
272
+ });
273
+ }
274
+ finally {
275
+ // Always clean up credential helper script
276
+ removeCredentialHelperScript(scriptPath);
277
+ }
278
+ console.log(`[GitHubIntegration] Repo created via API: ${htmlUrl}`);
279
+ return { success: true, prUrl: htmlUrl };
280
+ }
281
+ catch (error) {
282
+ const err = error;
283
+ const errorMsg = err.stderr?.toString() || err.message || 'Unknown error';
284
+ console.error(`[GitHubIntegration] Failed to create repo via API: ${errorMsg}`);
285
+ return { success: false, error: errorMsg };
286
+ }
287
+ }
288
+ /**
289
+ * Create repo using GitHub CLI (gh)
290
+ */
291
+ createRepoWithCLI(repoPath, repoName, isPrivate) {
292
+ if (!this.isAvailable()) {
293
+ return {
294
+ success: false,
295
+ error: 'GitHub CLI (gh) is not installed or not authenticated. Install from https://cli.github.com/',
296
+ };
297
+ }
298
+ try {
299
+ const visibility = isPrivate ? '--private' : '--public';
300
+ // gh repo create will create the repo and set up remote origin
301
+ // --source=. uses current directory
302
+ // --remote=origin sets up the remote
303
+ // --push pushes the code
304
+ const result = execSync(`gh repo create ${repoName} ${visibility} --source=. --remote=origin --push`, {
305
+ cwd: repoPath,
306
+ encoding: 'utf-8',
307
+ stdio: ['pipe', 'pipe', 'pipe'],
308
+ timeout: 120000, // 2 min timeout for push
309
+ }).trim();
310
+ // Extract the repo URL from output
311
+ const repoUrl = result.match(/https:\/\/github\.com\/[^\s]+/)?.[0] || result;
312
+ console.log(`[GitHubIntegration] Repo created via CLI: ${repoUrl}`);
313
+ return { success: true, prUrl: repoUrl };
314
+ }
315
+ catch (error) {
316
+ const err = error;
317
+ const errorMsg = err.stderr?.toString() || err.message || 'Unknown error';
318
+ console.error(`[GitHubIntegration] Failed to create repo via CLI: ${errorMsg}`);
319
+ return { success: false, error: errorMsg };
320
+ }
321
+ }
322
+ /**
323
+ * Get the URL to create a PR manually in the browser
324
+ * @param repoPath - Path to the repository
325
+ * @param branch - Branch to create PR from
326
+ */
327
+ getPRCreateUrl(repoPath, branch) {
328
+ try {
329
+ // Get the remote URL
330
+ const remoteUrl = execSync('git remote get-url origin', {
331
+ cwd: repoPath,
332
+ encoding: 'utf-8',
333
+ stdio: ['pipe', 'pipe', 'pipe'],
334
+ }).trim();
335
+ // Parse GitHub URL from remote
336
+ // Supports: git@github.com:user/repo.git, https://github.com/user/repo.git
337
+ let match = remoteUrl.match(/github\.com[:/]([^/]+)\/([^/.]+)/);
338
+ if (!match)
339
+ return null;
340
+ const [, owner, repo] = match;
341
+ return `https://github.com/${owner}/${repo}/compare/main...${branch}?expand=1`;
342
+ }
343
+ catch {
344
+ return null;
345
+ }
346
+ }
347
+ }
348
+ // Singleton instance
349
+ export const githubIntegration = new GitHubIntegration();
350
+ //# sourceMappingURL=github-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-integration.js","sourceRoot":"","sources":["../../src/core/github-integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * GitHub OAuth Device Flow Implementation
3
+ *
4
+ * The device flow allows CLI/desktop apps to authenticate without a callback URL:
5
+ * 1. Request a device code from GitHub
6
+ * 2. User goes to github.com/login/device and enters the code
7
+ * 3. App polls GitHub until user completes authorization
8
+ * 4. GitHub returns access token
9
+ *
10
+ * See: https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#device-flow
11
+ */
12
+ export interface DeviceCodeResponse {
13
+ deviceCode: string;
14
+ userCode: string;
15
+ verificationUri: string;
16
+ expiresIn: number;
17
+ interval: number;
18
+ }
19
+ export interface TokenResponse {
20
+ accessToken: string;
21
+ tokenType: string;
22
+ scope: string;
23
+ }
24
+ export interface GitHubUser {
25
+ login: string;
26
+ name: string | null;
27
+ avatarUrl: string;
28
+ }
29
+ export type PollStatus = 'pending' | 'success' | 'expired' | 'error';
30
+ export interface PollResult {
31
+ status: PollStatus;
32
+ token?: TokenResponse;
33
+ error?: string;
34
+ }
35
+ export declare class GitHubDeviceAuth {
36
+ private clientId;
37
+ constructor(clientId: string);
38
+ /**
39
+ * Step 1: Request a device code from GitHub
40
+ * User will need to visit the verification URI and enter the user code
41
+ */
42
+ requestDeviceCode(scope?: string): Promise<DeviceCodeResponse>;
43
+ /**
44
+ * Step 2: Poll for access token
45
+ * Call this periodically (respecting the interval) until authorization completes
46
+ */
47
+ pollForToken(deviceCode: string): Promise<PollResult>;
48
+ /**
49
+ * Get the polling interval for a device code session
50
+ */
51
+ getPollingInterval(deviceCode: string): number;
52
+ /**
53
+ * Cancel an active device code session
54
+ */
55
+ cancelSession(deviceCode: string): void;
56
+ /**
57
+ * Get user info using an access token
58
+ */
59
+ getUser(accessToken: string): Promise<GitHubUser>;
60
+ /**
61
+ * Verify that an access token is still valid
62
+ */
63
+ verifyToken(accessToken: string): Promise<boolean>;
64
+ }
65
+ /**
66
+ * Create a new GitHub API client with an access token
67
+ * For making authenticated GitHub API calls
68
+ */
69
+ export declare class GitHubAPI {
70
+ private accessToken;
71
+ constructor(accessToken: string);
72
+ private request;
73
+ getUser(): Promise<GitHubUser>;
74
+ createRepo(name: string, isPrivate?: boolean, description?: string): Promise<{
75
+ name: string;
76
+ fullName: string;
77
+ htmlUrl: string;
78
+ cloneUrl: string;
79
+ sshUrl: string;
80
+ }>;
81
+ listRepos(page?: number, perPage?: number): Promise<Array<{
82
+ name: string;
83
+ fullName: string;
84
+ htmlUrl: string;
85
+ private: boolean;
86
+ }>>;
87
+ }
88
+ //# sourceMappingURL=github-oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-oauth.d.ts","sourceRoot":"","sources":["../../src/core/github-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B;;;OAGG;IACG,iBAAiB,CAAC,KAAK,GAAE,MAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuC5E;;;OAGG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA0E3D;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAK9C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBvD;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAczD;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;YAIjB,OAAO;IAuBf,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAS9B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACvF,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAuBI,SAAS,CAAC,IAAI,GAAE,MAAU,EAAE,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QACrE,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CASJ"}