hub-launch 1.0.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.
Files changed (331) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/README.md +195 -0
  3. package/bin/hublaunch +20 -0
  4. package/dist/commands/checkout.d.ts +7 -0
  5. package/dist/commands/checkout.d.ts.map +1 -0
  6. package/dist/commands/checkout.js +164 -0
  7. package/dist/commands/checkout.js.map +1 -0
  8. package/dist/commands/clean.d.ts +7 -0
  9. package/dist/commands/clean.d.ts.map +1 -0
  10. package/dist/commands/clean.js +206 -0
  11. package/dist/commands/clean.js.map +1 -0
  12. package/dist/commands/close.d.ts +7 -0
  13. package/dist/commands/close.d.ts.map +1 -0
  14. package/dist/commands/close.js +109 -0
  15. package/dist/commands/close.js.map +1 -0
  16. package/dist/commands/create.d.ts +7 -0
  17. package/dist/commands/create.d.ts.map +1 -0
  18. package/dist/commands/create.js +367 -0
  19. package/dist/commands/create.js.map +1 -0
  20. package/dist/commands/diff.d.ts +7 -0
  21. package/dist/commands/diff.d.ts.map +1 -0
  22. package/dist/commands/diff.js +98 -0
  23. package/dist/commands/diff.js.map +1 -0
  24. package/dist/commands/execute.d.ts +7 -0
  25. package/dist/commands/execute.d.ts.map +1 -0
  26. package/dist/commands/execute.js +376 -0
  27. package/dist/commands/execute.js.map +1 -0
  28. package/dist/commands/init.d.ts +8 -0
  29. package/dist/commands/init.d.ts.map +1 -0
  30. package/dist/commands/init.js +1243 -0
  31. package/dist/commands/init.js.map +1 -0
  32. package/dist/commands/interactive.d.ts +12 -0
  33. package/dist/commands/interactive.d.ts.map +1 -0
  34. package/dist/commands/interactive.js +1071 -0
  35. package/dist/commands/interactive.js.map +1 -0
  36. package/dist/commands/launch.d.ts +16 -0
  37. package/dist/commands/launch.d.ts.map +1 -0
  38. package/dist/commands/launch.js +684 -0
  39. package/dist/commands/launch.js.map +1 -0
  40. package/dist/commands/login.d.ts +40 -0
  41. package/dist/commands/login.d.ts.map +1 -0
  42. package/dist/commands/login.js +469 -0
  43. package/dist/commands/login.js.map +1 -0
  44. package/dist/commands/logs.d.ts +22 -0
  45. package/dist/commands/logs.d.ts.map +1 -0
  46. package/dist/commands/logs.js +105 -0
  47. package/dist/commands/logs.js.map +1 -0
  48. package/dist/commands/merge.d.ts +7 -0
  49. package/dist/commands/merge.d.ts.map +1 -0
  50. package/dist/commands/merge.js +240 -0
  51. package/dist/commands/merge.js.map +1 -0
  52. package/dist/commands/preview.d.ts +7 -0
  53. package/dist/commands/preview.d.ts.map +1 -0
  54. package/dist/commands/preview.js +160 -0
  55. package/dist/commands/preview.js.map +1 -0
  56. package/dist/commands/project.d.ts +18 -0
  57. package/dist/commands/project.d.ts.map +1 -0
  58. package/dist/commands/project.js +352 -0
  59. package/dist/commands/project.js.map +1 -0
  60. package/dist/commands/respond.d.ts +7 -0
  61. package/dist/commands/respond.d.ts.map +1 -0
  62. package/dist/commands/respond.js +112 -0
  63. package/dist/commands/respond.js.map +1 -0
  64. package/dist/commands/setPriority.d.ts +7 -0
  65. package/dist/commands/setPriority.d.ts.map +1 -0
  66. package/dist/commands/setPriority.js +112 -0
  67. package/dist/commands/setPriority.js.map +1 -0
  68. package/dist/commands/track.d.ts +7 -0
  69. package/dist/commands/track.d.ts.map +1 -0
  70. package/dist/commands/track.js +140 -0
  71. package/dist/commands/track.js.map +1 -0
  72. package/dist/commands/upload.d.ts +21 -0
  73. package/dist/commands/upload.d.ts.map +1 -0
  74. package/dist/commands/upload.js +145 -0
  75. package/dist/commands/upload.js.map +1 -0
  76. package/dist/commands/view.d.ts +7 -0
  77. package/dist/commands/view.d.ts.map +1 -0
  78. package/dist/commands/view.js +168 -0
  79. package/dist/commands/view.js.map +1 -0
  80. package/dist/commands/watch.d.ts +7 -0
  81. package/dist/commands/watch.d.ts.map +1 -0
  82. package/dist/commands/watch.js +438 -0
  83. package/dist/commands/watch.js.map +1 -0
  84. package/dist/commands/worktree.d.ts +7 -0
  85. package/dist/commands/worktree.d.ts.map +1 -0
  86. package/dist/commands/worktree.js +122 -0
  87. package/dist/commands/worktree.js.map +1 -0
  88. package/dist/config/command-names.d.ts +16 -0
  89. package/dist/config/command-names.d.ts.map +1 -0
  90. package/dist/config/command-names.js +17 -0
  91. package/dist/config/command-names.js.map +1 -0
  92. package/dist/config/constants.d.ts +12 -0
  93. package/dist/config/constants.d.ts.map +1 -0
  94. package/dist/config/constants.js +12 -0
  95. package/dist/config/constants.js.map +1 -0
  96. package/dist/config/index.d.ts +47 -0
  97. package/dist/config/index.d.ts.map +1 -0
  98. package/dist/config/index.js +175 -0
  99. package/dist/config/index.js.map +1 -0
  100. package/dist/index.d.ts +3 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +148 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/services/api/HulaApiClient.d.ts +170 -0
  105. package/dist/services/api/HulaApiClient.d.ts.map +1 -0
  106. package/dist/services/api/HulaApiClient.js +233 -0
  107. package/dist/services/api/HulaApiClient.js.map +1 -0
  108. package/dist/services/diff/DiffService.d.ts +44 -0
  109. package/dist/services/diff/DiffService.d.ts.map +1 -0
  110. package/dist/services/diff/DiffService.js +126 -0
  111. package/dist/services/diff/DiffService.js.map +1 -0
  112. package/dist/services/editor/EditorService.d.ts +53 -0
  113. package/dist/services/editor/EditorService.d.ts.map +1 -0
  114. package/dist/services/editor/EditorService.js +161 -0
  115. package/dist/services/editor/EditorService.js.map +1 -0
  116. package/dist/services/git/GitService.d.ts +124 -0
  117. package/dist/services/git/GitService.d.ts.map +1 -0
  118. package/dist/services/git/GitService.js +423 -0
  119. package/dist/services/git/GitService.js.map +1 -0
  120. package/dist/services/git/WorktreeService.d.ts +144 -0
  121. package/dist/services/git/WorktreeService.d.ts.map +1 -0
  122. package/dist/services/git/WorktreeService.js +505 -0
  123. package/dist/services/git/WorktreeService.js.map +1 -0
  124. package/dist/services/github/ActionsService.d.ts +66 -0
  125. package/dist/services/github/ActionsService.d.ts.map +1 -0
  126. package/dist/services/github/ActionsService.js +114 -0
  127. package/dist/services/github/ActionsService.js.map +1 -0
  128. package/dist/services/github/AssetUploadService.d.ts +103 -0
  129. package/dist/services/github/AssetUploadService.d.ts.map +1 -0
  130. package/dist/services/github/AssetUploadService.js +299 -0
  131. package/dist/services/github/AssetUploadService.js.map +1 -0
  132. package/dist/services/github/BatchCopilotDetectionService.d.ts +58 -0
  133. package/dist/services/github/BatchCopilotDetectionService.d.ts.map +1 -0
  134. package/dist/services/github/BatchCopilotDetectionService.js +321 -0
  135. package/dist/services/github/BatchCopilotDetectionService.js.map +1 -0
  136. package/dist/services/github/CopilotDetectionService.d.ts +40 -0
  137. package/dist/services/github/CopilotDetectionService.d.ts.map +1 -0
  138. package/dist/services/github/CopilotDetectionService.js +280 -0
  139. package/dist/services/github/CopilotDetectionService.js.map +1 -0
  140. package/dist/services/github/CopilotService.d.ts +27 -0
  141. package/dist/services/github/CopilotService.d.ts.map +1 -0
  142. package/dist/services/github/CopilotService.js +249 -0
  143. package/dist/services/github/CopilotService.js.map +1 -0
  144. package/dist/services/github/DeploymentDetectionService.d.ts +38 -0
  145. package/dist/services/github/DeploymentDetectionService.d.ts.map +1 -0
  146. package/dist/services/github/DeploymentDetectionService.js +104 -0
  147. package/dist/services/github/DeploymentDetectionService.js.map +1 -0
  148. package/dist/services/github/GithubAppService.d.ts +40 -0
  149. package/dist/services/github/GithubAppService.d.ts.map +1 -0
  150. package/dist/services/github/GithubAppService.js +187 -0
  151. package/dist/services/github/GithubAppService.js.map +1 -0
  152. package/dist/services/github/IssueService.d.ts +65 -0
  153. package/dist/services/github/IssueService.d.ts.map +1 -0
  154. package/dist/services/github/IssueService.js +231 -0
  155. package/dist/services/github/IssueService.js.map +1 -0
  156. package/dist/services/github/LabelService.d.ts +36 -0
  157. package/dist/services/github/LabelService.d.ts.map +1 -0
  158. package/dist/services/github/LabelService.js +122 -0
  159. package/dist/services/github/LabelService.js.map +1 -0
  160. package/dist/services/github/PRService.d.ts +77 -0
  161. package/dist/services/github/PRService.d.ts.map +1 -0
  162. package/dist/services/github/PRService.js +287 -0
  163. package/dist/services/github/PRService.js.map +1 -0
  164. package/dist/services/github/ProjectService.d.ts +144 -0
  165. package/dist/services/github/ProjectService.d.ts.map +1 -0
  166. package/dist/services/github/ProjectService.js +804 -0
  167. package/dist/services/github/ProjectService.js.map +1 -0
  168. package/dist/services/hooks/HookExecutor.d.ts +66 -0
  169. package/dist/services/hooks/HookExecutor.d.ts.map +1 -0
  170. package/dist/services/hooks/HookExecutor.js +227 -0
  171. package/dist/services/hooks/HookExecutor.js.map +1 -0
  172. package/dist/services/hooks/index.d.ts +2 -0
  173. package/dist/services/hooks/index.d.ts.map +1 -0
  174. package/dist/services/hooks/index.js +2 -0
  175. package/dist/services/hooks/index.js.map +1 -0
  176. package/dist/services/logs/LogFormatterService.d.ts +17 -0
  177. package/dist/services/logs/LogFormatterService.d.ts.map +1 -0
  178. package/dist/services/logs/LogFormatterService.js +35 -0
  179. package/dist/services/logs/LogFormatterService.js.map +1 -0
  180. package/dist/services/logs/TempFileService.d.ts +27 -0
  181. package/dist/services/logs/TempFileService.d.ts.map +1 -0
  182. package/dist/services/logs/TempFileService.js +90 -0
  183. package/dist/services/logs/TempFileService.js.map +1 -0
  184. package/dist/services/logs/index.d.ts +3 -0
  185. package/dist/services/logs/index.d.ts.map +1 -0
  186. package/dist/services/logs/index.js +4 -0
  187. package/dist/services/logs/index.js.map +1 -0
  188. package/dist/services/plan/PlanService.d.ts +70 -0
  189. package/dist/services/plan/PlanService.d.ts.map +1 -0
  190. package/dist/services/plan/PlanService.js +211 -0
  191. package/dist/services/plan/PlanService.js.map +1 -0
  192. package/dist/services/polling/GitHubDirectPollingAdapter.d.ts +16 -0
  193. package/dist/services/polling/GitHubDirectPollingAdapter.d.ts.map +1 -0
  194. package/dist/services/polling/GitHubDirectPollingAdapter.js +87 -0
  195. package/dist/services/polling/GitHubDirectPollingAdapter.js.map +1 -0
  196. package/dist/services/polling/HulaServerPollingAdapter.d.ts +23 -0
  197. package/dist/services/polling/HulaServerPollingAdapter.d.ts.map +1 -0
  198. package/dist/services/polling/HulaServerPollingAdapter.js +78 -0
  199. package/dist/services/polling/HulaServerPollingAdapter.js.map +1 -0
  200. package/dist/services/polling/IStatusPollingAdapter.d.ts +29 -0
  201. package/dist/services/polling/IStatusPollingAdapter.d.ts.map +1 -0
  202. package/dist/services/polling/IStatusPollingAdapter.js +2 -0
  203. package/dist/services/polling/IStatusPollingAdapter.js.map +1 -0
  204. package/dist/services/polling/StatusPollingAdapterFactory.d.ts +14 -0
  205. package/dist/services/polling/StatusPollingAdapterFactory.d.ts.map +1 -0
  206. package/dist/services/polling/StatusPollingAdapterFactory.js +41 -0
  207. package/dist/services/polling/StatusPollingAdapterFactory.js.map +1 -0
  208. package/dist/services/polling/index.d.ts +5 -0
  209. package/dist/services/polling/index.d.ts.map +1 -0
  210. package/dist/services/polling/index.js +5 -0
  211. package/dist/services/polling/index.js.map +1 -0
  212. package/dist/services/preview/PreviewService.d.ts +86 -0
  213. package/dist/services/preview/PreviewService.d.ts.map +1 -0
  214. package/dist/services/preview/PreviewService.js +439 -0
  215. package/dist/services/preview/PreviewService.js.map +1 -0
  216. package/dist/services/tracking/ProjectTrackingAdapter.d.ts +41 -0
  217. package/dist/services/tracking/ProjectTrackingAdapter.d.ts.map +1 -0
  218. package/dist/services/tracking/ProjectTrackingAdapter.js +230 -0
  219. package/dist/services/tracking/ProjectTrackingAdapter.js.map +1 -0
  220. package/dist/services/tracking/RemoteTrackingAdapter.d.ts +62 -0
  221. package/dist/services/tracking/RemoteTrackingAdapter.d.ts.map +1 -0
  222. package/dist/services/tracking/RemoteTrackingAdapter.js +242 -0
  223. package/dist/services/tracking/RemoteTrackingAdapter.js.map +1 -0
  224. package/dist/services/tracking/TrackingAdapterFactory.d.ts +25 -0
  225. package/dist/services/tracking/TrackingAdapterFactory.d.ts.map +1 -0
  226. package/dist/services/tracking/TrackingAdapterFactory.js +55 -0
  227. package/dist/services/tracking/TrackingAdapterFactory.js.map +1 -0
  228. package/dist/services/tracking/TrackingService.d.ts +104 -0
  229. package/dist/services/tracking/TrackingService.d.ts.map +1 -0
  230. package/dist/services/tracking/TrackingService.js +256 -0
  231. package/dist/services/tracking/TrackingService.js.map +1 -0
  232. package/dist/services/tracking/UntrackedIssuesService.d.ts +20 -0
  233. package/dist/services/tracking/UntrackedIssuesService.d.ts.map +1 -0
  234. package/dist/services/tracking/UntrackedIssuesService.js +148 -0
  235. package/dist/services/tracking/UntrackedIssuesService.js.map +1 -0
  236. package/dist/services/tracking/local-file-migration.d.ts +16 -0
  237. package/dist/services/tracking/local-file-migration.d.ts.map +1 -0
  238. package/dist/services/tracking/local-file-migration.js +86 -0
  239. package/dist/services/tracking/local-file-migration.js.map +1 -0
  240. package/dist/templates/planning-instructions.md +752 -0
  241. package/dist/templates/proceed-instructions.md +453 -0
  242. package/dist/templates/scripts/hula-fix-commit.sh +110 -0
  243. package/dist/templates/scripts/hula-fix-setup.sh +145 -0
  244. package/dist/templates/scripts/hula-launch-run.sh +89 -0
  245. package/dist/templates/scripts/hula-merge-local.sh +138 -0
  246. package/dist/templates/scripts/hula-merge-remote.sh +74 -0
  247. package/dist/templates/scripts/hula-read-config.sh +38 -0
  248. package/dist/templates/scripts/hula-verify-gather.sh +135 -0
  249. package/dist/templates/scripts/hula-verify-post.sh +84 -0
  250. package/dist/templates/skills/hula-confirm/SKILL.md +361 -0
  251. package/dist/templates/skills/hula-create/SKILL.md +211 -0
  252. package/dist/templates/skills/hula-fix/SKILL.md +224 -0
  253. package/dist/templates/skills/hula-launch/SKILL.md +159 -0
  254. package/dist/templates/skills/hula-log/SKILL.md +105 -0
  255. package/dist/templates/skills/hula-merge/SKILL.md +387 -0
  256. package/dist/templates/skills/hula-plan/SKILL.md +148 -0
  257. package/dist/templates/skills/hula-upload/SKILL.md +115 -0
  258. package/dist/templates/skills/hula-verify/SKILL.md +754 -0
  259. package/dist/types/common.schema.d.ts +46 -0
  260. package/dist/types/common.schema.d.ts.map +1 -0
  261. package/dist/types/common.schema.js +60 -0
  262. package/dist/types/common.schema.js.map +1 -0
  263. package/dist/types/config.schema.d.ts +443 -0
  264. package/dist/types/config.schema.d.ts.map +1 -0
  265. package/dist/types/config.schema.js +126 -0
  266. package/dist/types/config.schema.js.map +1 -0
  267. package/dist/types/index.d.ts +6 -0
  268. package/dist/types/index.d.ts.map +1 -0
  269. package/dist/types/index.js +7 -0
  270. package/dist/types/index.js.map +1 -0
  271. package/dist/types/issue.schema.d.ts +136 -0
  272. package/dist/types/issue.schema.d.ts.map +1 -0
  273. package/dist/types/issue.schema.js +49 -0
  274. package/dist/types/issue.schema.js.map +1 -0
  275. package/dist/types/pr.schema.d.ts +118 -0
  276. package/dist/types/pr.schema.d.ts.map +1 -0
  277. package/dist/types/pr.schema.js +40 -0
  278. package/dist/types/pr.schema.js.map +1 -0
  279. package/dist/types/tracking.schema.d.ts +340 -0
  280. package/dist/types/tracking.schema.d.ts.map +1 -0
  281. package/dist/types/tracking.schema.js +56 -0
  282. package/dist/types/tracking.schema.js.map +1 -0
  283. package/dist/utils/browser-launcher.d.ts +60 -0
  284. package/dist/utils/browser-launcher.d.ts.map +1 -0
  285. package/dist/utils/browser-launcher.js +263 -0
  286. package/dist/utils/browser-launcher.js.map +1 -0
  287. package/dist/utils/cache.d.ts +44 -0
  288. package/dist/utils/cache.d.ts.map +1 -0
  289. package/dist/utils/cache.js +94 -0
  290. package/dist/utils/cache.js.map +1 -0
  291. package/dist/utils/config-parser.d.ts +16 -0
  292. package/dist/utils/config-parser.d.ts.map +1 -0
  293. package/dist/utils/config-parser.js +210 -0
  294. package/dist/utils/config-parser.js.map +1 -0
  295. package/dist/utils/editor.d.ts +21 -0
  296. package/dist/utils/editor.d.ts.map +1 -0
  297. package/dist/utils/editor.js +213 -0
  298. package/dist/utils/editor.js.map +1 -0
  299. package/dist/utils/git-utils.d.ts +5 -0
  300. package/dist/utils/git-utils.d.ts.map +1 -0
  301. package/dist/utils/git-utils.js +18 -0
  302. package/dist/utils/git-utils.js.map +1 -0
  303. package/dist/utils/github-cli.d.ts +62 -0
  304. package/dist/utils/github-cli.d.ts.map +1 -0
  305. package/dist/utils/github-cli.js +492 -0
  306. package/dist/utils/github-cli.js.map +1 -0
  307. package/dist/utils/logger.d.ts +45 -0
  308. package/dist/utils/logger.d.ts.map +1 -0
  309. package/dist/utils/logger.js +118 -0
  310. package/dist/utils/logger.js.map +1 -0
  311. package/dist/utils/open-url.d.ts +19 -0
  312. package/dist/utils/open-url.d.ts.map +1 -0
  313. package/dist/utils/open-url.js +37 -0
  314. package/dist/utils/open-url.js.map +1 -0
  315. package/dist/utils/project-resolver.d.ts +13 -0
  316. package/dist/utils/project-resolver.d.ts.map +1 -0
  317. package/dist/utils/project-resolver.js +35 -0
  318. package/dist/utils/project-resolver.js.map +1 -0
  319. package/dist/utils/prompts.d.ts +80 -0
  320. package/dist/utils/prompts.d.ts.map +1 -0
  321. package/dist/utils/prompts.js +326 -0
  322. package/dist/utils/prompts.js.map +1 -0
  323. package/dist/utils/shell.d.ts +54 -0
  324. package/dist/utils/shell.d.ts.map +1 -0
  325. package/dist/utils/shell.js +152 -0
  326. package/dist/utils/shell.js.map +1 -0
  327. package/dist/utils/validators.d.ts +32 -0
  328. package/dist/utils/validators.d.ts.map +1 -0
  329. package/dist/utils/validators.js +64 -0
  330. package/dist/utils/validators.js.map +1 -0
  331. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Execute the unified login flow for hub-launch
3
+ *
4
+ * This command authenticates the user with both GitHub and hula-project in one flow:
5
+ * 1. Initiates GitHub App Device Flow
6
+ * 2. User authorizes in browser
7
+ * 3. Receives GitHub token
8
+ * 4. Exchanges token for hula-project API key
9
+ * 5. Configures gh CLI with GitHub token
10
+ * 6. Saves API key to config
11
+ */
12
+ export declare function executeLogin(config: any): Promise<void>;
13
+ /**
14
+ * Load saved GitHub token metadata
15
+ */
16
+ export declare function loadGitHubToken(): Promise<{
17
+ access_token: string;
18
+ refresh_token?: string;
19
+ expires_at?: string;
20
+ } | null>;
21
+ /**
22
+ * Check if token is expired or will expire soon
23
+ */
24
+ export declare function isTokenExpired(expiresAt?: string): boolean;
25
+ /**
26
+ * Check if a token will expire within the given time window.
27
+ * Returns false if no expiry info is available (non-expiring token).
28
+ * @param expiresAt - ISO 8601 expiry timestamp, or null/undefined if no expiry
29
+ * @param bufferMs - Window in milliseconds (e.g., 2 * 60 * 60 * 1000 for 2 hours)
30
+ */
31
+ export declare function isTokenExpiringWithin(expiresAt: string | null | undefined, bufferMs: number): boolean;
32
+ /**
33
+ * Refresh GitHub token using refresh_token
34
+ */
35
+ export declare function refreshGitHubToken(refreshToken: string, config: any): Promise<{
36
+ access_token: string;
37
+ refresh_token?: string;
38
+ expires_in?: number;
39
+ } | null>;
40
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AA2DA;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA4I7D;AAqWD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAAC,CAiBR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAS1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAKT;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAAC,CA6CR"}
@@ -0,0 +1,469 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import * as fs from 'fs/promises';
4
+ import * as path from 'path';
5
+ import * as os from 'os';
6
+ import { logger } from '../utils/logger.js';
7
+ import { githubAppService } from '../services/github/GithubAppService.js';
8
+ import { HULA_PROJECT_URL, GITHUB_APP_CLIENT_ID } from '../config/constants.js';
9
+ import { executeInit } from './init.js';
10
+ import { existsSync } from 'fs';
11
+ import { GitService } from '../services/git/GitService.js';
12
+ import { getConfigLoader } from '../config/index.js';
13
+ import { findGitRoot } from '../utils/git-utils.js';
14
+ const execAsync = promisify(exec);
15
+ // Normalize URL by removing trailing slash
16
+ function normalizeUrl(url) {
17
+ return url.endsWith('/') ? url.slice(0, -1) : url;
18
+ }
19
+ // GitHub App Client ID
20
+ // Read from config, then fall back to constant
21
+ // (Client ID is public and safe to hardcode, like GitHub CLI)
22
+ function getGitHubAppClientId(config) {
23
+ return config.githubAppClientId ?? GITHUB_APP_CLIENT_ID;
24
+ }
25
+ /**
26
+ * Execute the unified login flow for hub-launch
27
+ *
28
+ * This command authenticates the user with both GitHub and hula-project in one flow:
29
+ * 1. Initiates GitHub App Device Flow
30
+ * 2. User authorizes in browser
31
+ * 3. Receives GitHub token
32
+ * 4. Exchanges token for hula-project API key
33
+ * 5. Configures gh CLI with GitHub token
34
+ * 6. Saves API key to config
35
+ */
36
+ export async function executeLogin(config) {
37
+ // Check if init has been run (config file exists)
38
+ // Use git root so login works from any subdirectory
39
+ const projectRoot = await findGitRoot();
40
+ const configPath = path.join(projectRoot, '.hublaunch', 'hublaunch.config.js');
41
+ const configPathTs = path.join(projectRoot, '.hublaunch', 'hublaunch.config.ts');
42
+ if (!existsSync(configPath) && !existsSync(configPathTs)) {
43
+ logger.blank();
44
+ logger.warning('⚠️ Project not initialized');
45
+ logger.info('Running initialization first...');
46
+ logger.blank();
47
+ // Run init first
48
+ await executeInit();
49
+ // Reload config after init to pick up newly generated values
50
+ try {
51
+ const loader = getConfigLoader();
52
+ const reloadedConfig = await loader.reload();
53
+ Object.assign(config, reloadedConfig);
54
+ }
55
+ catch {
56
+ // Continue with existing config if reload fails
57
+ }
58
+ logger.blank();
59
+ logger.info('Continuing with login...');
60
+ logger.blank();
61
+ }
62
+ const hulaProjectUrl = normalizeUrl(config.hulaProjectUrl || HULA_PROJECT_URL);
63
+ logger.section('Login');
64
+ logger.info('🔄 Refreshing GitHub authentication...\n');
65
+ // Detect repository from git remote
66
+ const gitService = new GitService();
67
+ let repositoryInfo = null;
68
+ try {
69
+ const isGitRepo = await gitService.isGitRepo();
70
+ if (isGitRepo) {
71
+ repositoryInfo = await gitService.getRemoteRepository();
72
+ if (repositoryInfo) {
73
+ logger.info(`📁 Repository detected: ${repositoryInfo.owner}/${repositoryInfo.repo}\n`);
74
+ }
75
+ else {
76
+ logger.warning('⚠️ Could not detect GitHub repository from git remote.\n' +
77
+ ' API key will not be scoped to a repository.\n');
78
+ }
79
+ }
80
+ else {
81
+ logger.warning('⚠️ Not in a git repository.\n' +
82
+ ' API key will not be scoped to a repository.\n');
83
+ }
84
+ }
85
+ catch (error) {
86
+ logger.debug(`Failed to detect repository: ${error instanceof Error ? error.message : String(error)}`);
87
+ }
88
+ try {
89
+ // Step 1: Initiate Device Flow
90
+ logger.info('Starting authentication...\n');
91
+ const deviceFlow = await initiateDeviceFlow(hulaProjectUrl);
92
+ // Step 2: Display code and open browser
93
+ await displayUserCodeAndOpenBrowser(deviceFlow);
94
+ // Step 3: Poll for GitHub token
95
+ const tokenData = await pollGitHubForToken(deviceFlow.device_code, deviceFlow.interval, hulaProjectUrl, config);
96
+ logger.success('\n✅ Authenticated with GitHub');
97
+ // Step 4: Exchange for API key (with repository binding if detected)
98
+ const exchange = await exchangeTokenForApiKey(hulaProjectUrl, tokenData.access_token, repositoryInfo);
99
+ logger.success(`✅ Authenticated with Hula (${exchange.user.githubUsername})`);
100
+ if (exchange.repository) {
101
+ logger.success(`✅ API key scoped to: ${exchange.repository.owner}/${exchange.repository.name}`);
102
+ }
103
+ // Step 5: Save GitHub token and configure gh CLI
104
+ await saveGitHubToken(tokenData.access_token, tokenData.refresh_token, tokenData.expires_in);
105
+ await configureGhCli(tokenData.access_token);
106
+ // Step 6: Save API key to config
107
+ await saveApiKeyToConfig(config, exchange.api_key, exchange.repository);
108
+ logger.blank();
109
+ logger.success('🎉 Login successful! Your authentication has been refreshed.');
110
+ // Step 7: Check and prompt for GitHub App installation
111
+ await githubAppService.checkAndPromptAfterLogin(exchange.githubAppInstallUrl);
112
+ logger.blank();
113
+ }
114
+ catch (error) {
115
+ if (error instanceof Error) {
116
+ logger.error(`\n❌ Authentication failed: ${error.message}`);
117
+ }
118
+ else {
119
+ logger.error('\n❌ Authentication failed');
120
+ }
121
+ throw error;
122
+ }
123
+ }
124
+ async function initiateDeviceFlow(hulaProjectUrl) {
125
+ try {
126
+ const url = `${hulaProjectUrl}/api/v1/auth/device-flow`;
127
+ logger.debug(`Initiating device flow: ${url}`);
128
+ const response = await fetch(url, {
129
+ method: 'POST',
130
+ headers: {
131
+ 'Content-Type': 'application/json',
132
+ },
133
+ });
134
+ if (!response.ok) {
135
+ const errorText = await response.text().catch(() => 'Unknown error');
136
+ throw new Error(`Device flow initiation failed (${response.status}): ${errorText}`);
137
+ }
138
+ return response.json();
139
+ }
140
+ catch (error) {
141
+ if (error instanceof TypeError && error.message.includes('fetch')) {
142
+ throw new Error(`Network error: Cannot connect to ${hulaProjectUrl}. Please check your internet connection and that the Hula Project API is accessible.`);
143
+ }
144
+ throw error;
145
+ }
146
+ }
147
+ async function displayUserCodeAndOpenBrowser(deviceFlow) {
148
+ logger.info(`1. Visit: ${deviceFlow.verification_uri}`);
149
+ logger.info(`2. Enter code: ${deviceFlow.user_code}\n`);
150
+ // Open browser automatically
151
+ try {
152
+ const openCommand = process.platform === 'darwin'
153
+ ? 'open'
154
+ : process.platform === 'win32'
155
+ ? 'start'
156
+ : 'xdg-open';
157
+ await execAsync(`${openCommand} "${deviceFlow.verification_uri}"`);
158
+ logger.success('Browser opened');
159
+ }
160
+ catch (error) {
161
+ logger.warning('Could not open browser automatically');
162
+ }
163
+ }
164
+ async function pollGitHubForToken(deviceCode, interval, _hulaProjectUrl, config) {
165
+ process.stdout.write('Waiting for authorization');
166
+ const maxAttempts = 180 / interval; // 3 minutes
167
+ let attempts = 0;
168
+ while (attempts < maxAttempts) {
169
+ await sleep(interval * 1000);
170
+ attempts++;
171
+ try {
172
+ // Poll GitHub directly (not through hula-project)
173
+ const response = await fetch('https://github.com/login/oauth/access_token', {
174
+ method: 'POST',
175
+ headers: {
176
+ 'Content-Type': 'application/json',
177
+ Accept: 'application/json',
178
+ },
179
+ body: JSON.stringify({
180
+ client_id: getGitHubAppClientId(config),
181
+ device_code: deviceCode,
182
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
183
+ }),
184
+ });
185
+ const data = (await response.json());
186
+ if (data.access_token) {
187
+ // Store refresh token and expiry if provided by GitHub
188
+ return {
189
+ access_token: data.access_token,
190
+ refresh_token: data.refresh_token,
191
+ expires_in: data.expires_in,
192
+ };
193
+ }
194
+ if (data.error === 'authorization_pending') {
195
+ process.stdout.write('.');
196
+ continue;
197
+ }
198
+ if (data.error === 'slow_down') {
199
+ interval += 5;
200
+ continue;
201
+ }
202
+ if (data.error === 'expired_token') {
203
+ throw new Error('Device code expired. Please run the command again.');
204
+ }
205
+ if (data.error === 'access_denied') {
206
+ throw new Error('Access denied. You cancelled the authorization.');
207
+ }
208
+ throw new Error(`GitHub error: ${data.error}`);
209
+ }
210
+ catch (error) {
211
+ if (error instanceof Error &&
212
+ (error.message.includes('expired') || error.message.includes('denied'))) {
213
+ throw error;
214
+ }
215
+ process.stdout.write('x');
216
+ }
217
+ }
218
+ throw new Error('Authentication timed out. Please run the command again.');
219
+ }
220
+ async function exchangeTokenForApiKey(hulaProjectUrl, githubToken, repository) {
221
+ try {
222
+ const url = `${hulaProjectUrl}/api/v1/auth/exchange`;
223
+ const body = { github_token: githubToken };
224
+ // Add repository info if available
225
+ if (repository) {
226
+ body.repository = {
227
+ owner: repository.owner,
228
+ name: repository.repo,
229
+ };
230
+ }
231
+ const response = await fetch(url, {
232
+ method: 'POST',
233
+ headers: {
234
+ 'Content-Type': 'application/json',
235
+ },
236
+ body: JSON.stringify(body),
237
+ });
238
+ if (!response.ok) {
239
+ const error = await response.text().catch(() => 'Unknown error');
240
+ throw new Error(`Token exchange failed (${response.status}): ${error}`);
241
+ }
242
+ return response.json();
243
+ }
244
+ catch (error) {
245
+ if (error instanceof TypeError && error.message.includes('fetch')) {
246
+ throw new Error(`Network error: Cannot connect to ${hulaProjectUrl}. Please check your internet connection.`);
247
+ }
248
+ throw error;
249
+ }
250
+ }
251
+ async function saveGitHubToken(token, refreshToken, expiresIn) {
252
+ const tokenPath = path.join(os.homedir(), '.hublaunch', 'github-token');
253
+ await fs.mkdir(path.dirname(tokenPath), { recursive: true });
254
+ // Save token metadata including refresh token if available
255
+ const tokenData = {
256
+ access_token: token,
257
+ refresh_token: refreshToken,
258
+ expires_at: expiresIn
259
+ ? new Date(Date.now() + expiresIn * 1000).toISOString()
260
+ : null,
261
+ created_at: new Date().toISOString(),
262
+ };
263
+ await fs.writeFile(tokenPath, JSON.stringify(tokenData, null, 2), {
264
+ mode: 0o600,
265
+ });
266
+ logger.info(`✓ GitHub token saved to: ${tokenPath}\n`);
267
+ if (refreshToken) {
268
+ logger.info('✓ Refresh token stored for automatic renewal\n');
269
+ }
270
+ }
271
+ async function configureGhCli(token) {
272
+ logger.info('🔧 Configuring GitHub CLI...\n');
273
+ try {
274
+ // Check if gh is installed (cross-platform)
275
+ const checkCommand = process.platform === 'win32' ? 'where gh' : 'which gh';
276
+ await execAsync(checkCommand);
277
+ // If gh is already authenticated, preserve the existing session.
278
+ // This protects any long-lived or browser-managed credentials the user
279
+ // set up independently (e.g. via `gh auth login`). Hula's short-lived
280
+ // token should not overwrite a healthier existing credential.
281
+ try {
282
+ const statusCommand = process.platform === 'win32'
283
+ ? 'gh auth status --hostname github.com 2>nul'
284
+ : 'gh auth status --hostname github.com 2>/dev/null';
285
+ await execAsync(statusCommand);
286
+ logger.debug('gh CLI already authenticated — preserving existing session');
287
+ logger.success('✓ GitHub CLI already configured\n');
288
+ return;
289
+ }
290
+ catch {
291
+ // Not authenticated — proceed to configure with hula token
292
+ }
293
+ // gh is not authenticated — configure with hula token (cross-platform)
294
+ if (process.platform === 'win32') {
295
+ // Windows: use PowerShell or CMD to pipe token
296
+ try {
297
+ // Try PowerShell first
298
+ await execAsync(`powershell -Command "echo '${token}' | gh auth login --with-token"`, {
299
+ shell: 'powershell.exe',
300
+ });
301
+ }
302
+ catch {
303
+ // Fallback: write token to temp file and use it
304
+ const tmpFile = path.join(os.tmpdir(), `gh-token-${Date.now()}.txt`);
305
+ await fs.writeFile(tmpFile, token, { mode: 0o600 });
306
+ try {
307
+ await execAsync(`gh auth login --with-token < "${tmpFile}"`);
308
+ }
309
+ finally {
310
+ // Clean up temp file
311
+ await fs.unlink(tmpFile).catch(() => { });
312
+ }
313
+ }
314
+ }
315
+ else {
316
+ // Unix-like systems
317
+ await execAsync(`echo "${token}" | gh auth login --with-token`);
318
+ }
319
+ logger.success('✓ GitHub CLI configured\n');
320
+ }
321
+ catch (error) {
322
+ logger.warning('Could not configure gh CLI automatically');
323
+ logger.info(' You can manually set GITHUB_TOKEN environment variable\n');
324
+ logger.debug(`Error: ${error instanceof Error ? error.message : String(error)}`);
325
+ }
326
+ }
327
+ async function saveApiKeyToConfig(_config, apiKey, repository) {
328
+ // Use git root so saving works from any subdirectory
329
+ const projectRoot = await findGitRoot();
330
+ const configPath = path.join(projectRoot, '.hublaunch', 'hublaunch.config.js');
331
+ // Read existing config
332
+ let configContent = await fs.readFile(configPath, 'utf-8');
333
+ // Add or update hulaApiKey and hulaProjectUrl
334
+ const hulaProjectUrl = HULA_PROJECT_URL;
335
+ if (configContent.includes('hulaApiKey:')) {
336
+ // Comment out ALL existing hulaApiKey lines (commented or not)
337
+ configContent = configContent.replace(/^(\s*)(?:\/\/\s*)?hulaApiKey:\s*['"][^'"]*['"],?.*$/gm, (match, indent) => `${indent}// ${match.trim()}`);
338
+ // Add the new key after the config opening
339
+ const configStart = configContent.match(/(export (?:const config|default) = {)/);
340
+ if (configStart) {
341
+ configContent = configContent.replace(configStart[0], `${configStart[0]}\n hulaApiKey: '${apiKey}',`);
342
+ }
343
+ }
344
+ else {
345
+ // Add new fields after the config declaration
346
+ // Support both "export const config = {" and "export default {"
347
+ const configStart = configContent.match(/(export (?:const config|default) = {)/);
348
+ if (configStart) {
349
+ configContent = configContent.replace(configStart[0], `${configStart[0]}\n hulaApiKey: '${apiKey}',\n hulaProjectUrl: '${hulaProjectUrl}',`);
350
+ }
351
+ }
352
+ // Add or update hulaProject if provided. The server's
353
+ // /api/v1/auth/exchange response still uses the legacy field name
354
+ // `repository`, but locally we persist it as `hulaProject` (and read
355
+ // it as `config.hulaProject` from the rest of the CLI).
356
+ if (repository) {
357
+ const repoString = `${repository.owner}/${repository.name}`;
358
+ if (configContent.includes('hulaProject:')) {
359
+ // Replace existing project
360
+ configContent = configContent.replace(/hulaProject:\s*['"][^'"]*['"]/, `hulaProject: '${repoString}'`);
361
+ }
362
+ else {
363
+ // Add after hulaApiKey
364
+ configContent = configContent.replace(/hulaApiKey:\s*['"][^'"]*['"]/, `hulaApiKey: '${apiKey}',\n hulaProject: '${repoString}'`);
365
+ }
366
+ }
367
+ await fs.writeFile(configPath, configContent, { mode: 0o600 });
368
+ const maskedKey = apiKey.slice(0, 16) + '...';
369
+ logger.info(`✓ API key saved to config: ${configPath}`);
370
+ logger.info(` Key: ${maskedKey}`);
371
+ if (repository) {
372
+ logger.info(` Repository: ${repository.owner}/${repository.name}\n`);
373
+ }
374
+ else {
375
+ logger.info('\n');
376
+ }
377
+ }
378
+ function sleep(ms) {
379
+ return new Promise((resolve) => setTimeout(resolve, ms));
380
+ }
381
+ /**
382
+ * Load saved GitHub token metadata
383
+ */
384
+ export async function loadGitHubToken() {
385
+ try {
386
+ const tokenPath = path.join(os.homedir(), '.hublaunch', 'github-token');
387
+ const content = await fs.readFile(tokenPath, 'utf-8');
388
+ // Try to parse as JSON first (new format)
389
+ try {
390
+ return JSON.parse(content);
391
+ }
392
+ catch {
393
+ // Fallback to old format (plain token string)
394
+ return {
395
+ access_token: content.trim(),
396
+ };
397
+ }
398
+ }
399
+ catch {
400
+ return null;
401
+ }
402
+ }
403
+ /**
404
+ * Check if token is expired or will expire soon
405
+ */
406
+ export function isTokenExpired(expiresAt) {
407
+ if (!expiresAt)
408
+ return false; // No expiry info means it doesn't expire
409
+ const expiry = new Date(expiresAt);
410
+ const now = new Date();
411
+ // Consider expired if less than 1 hour remaining
412
+ const bufferMs = 60 * 60 * 1000; // 1 hour
413
+ return expiry.getTime() - now.getTime() < bufferMs;
414
+ }
415
+ /**
416
+ * Check if a token will expire within the given time window.
417
+ * Returns false if no expiry info is available (non-expiring token).
418
+ * @param expiresAt - ISO 8601 expiry timestamp, or null/undefined if no expiry
419
+ * @param bufferMs - Window in milliseconds (e.g., 2 * 60 * 60 * 1000 for 2 hours)
420
+ */
421
+ export function isTokenExpiringWithin(expiresAt, bufferMs) {
422
+ if (!expiresAt)
423
+ return false;
424
+ const expiry = new Date(expiresAt);
425
+ const now = new Date();
426
+ return expiry.getTime() - now.getTime() < bufferMs;
427
+ }
428
+ /**
429
+ * Refresh GitHub token using refresh_token
430
+ */
431
+ export async function refreshGitHubToken(refreshToken, config) {
432
+ try {
433
+ logger.info('🔄 Refreshing GitHub token...');
434
+ const response = await fetch('https://github.com/login/oauth/access_token', {
435
+ method: 'POST',
436
+ headers: {
437
+ 'Content-Type': 'application/json',
438
+ Accept: 'application/json',
439
+ },
440
+ body: JSON.stringify({
441
+ client_id: getGitHubAppClientId(config),
442
+ grant_type: 'refresh_token',
443
+ refresh_token: refreshToken,
444
+ }),
445
+ });
446
+ if (!response.ok) {
447
+ logger.debug('Token refresh failed: ' + response.statusText);
448
+ return null;
449
+ }
450
+ const data = (await response.json());
451
+ if (data.access_token) {
452
+ logger.success('✅ Token refreshed successfully');
453
+ return {
454
+ access_token: data.access_token,
455
+ refresh_token: data.refresh_token,
456
+ expires_in: data.expires_in,
457
+ };
458
+ }
459
+ if (data.error) {
460
+ logger.debug('Token refresh error: ' + data.error);
461
+ }
462
+ return null;
463
+ }
464
+ catch (error) {
465
+ logger.debug('Token refresh exception: ' + error);
466
+ return null;
467
+ }
468
+ }
469
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Command } from 'commander';
2
+ import type { Config } from '../types/index.js';
3
+ interface LogsOptions {
4
+ lines: string;
5
+ raw: boolean;
6
+ }
7
+ /**
8
+ * Logs command - View logs for a tracked plan
9
+ *
10
+ * Usage: hula logs <trackingName> [--lines N] [--raw]
11
+ */
12
+ export declare function logsCommand(program: Command, config: Config): void;
13
+ /**
14
+ * Execute logs command - fetch and display logs for a tracked plan
15
+ *
16
+ * @param trackingName - The plan's tracking name (e.g., "fix-button")
17
+ * @param options - Command options (lines, raw)
18
+ * @param config - HubLaunch configuration
19
+ */
20
+ export declare function executeLogs(trackingName: string, options: LogsOptions, config: Config): Promise<void>;
21
+ export {};
22
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQhD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAUlE;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA0Df"}