nomoreide 0.1.103 → 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 (621) hide show
  1. package/README.md +72 -20
  2. package/bin/nomoreide.js +82 -0
  3. package/package.json +24 -90
  4. package/dist/cli/agents.d.ts +0 -2
  5. package/dist/cli/agents.js +0 -43
  6. package/dist/cli/agents.js.map +0 -1
  7. package/dist/cli/commands.d.ts +0 -11
  8. package/dist/cli/commands.js +0 -235
  9. package/dist/cli/commands.js.map +0 -1
  10. package/dist/cli/daemon.d.ts +0 -15
  11. package/dist/cli/daemon.js +0 -139
  12. package/dist/cli/daemon.js.map +0 -1
  13. package/dist/cli/database.d.ts +0 -2
  14. package/dist/cli/database.js +0 -145
  15. package/dist/cli/database.js.map +0 -1
  16. package/dist/cli/errors.d.ts +0 -2
  17. package/dist/cli/errors.js +0 -3
  18. package/dist/cli/errors.js.map +0 -1
  19. package/dist/cli/flags.d.ts +0 -1
  20. package/dist/cli/flags.js +0 -19
  21. package/dist/cli/flags.js.map +0 -1
  22. package/dist/cli/git.d.ts +0 -2
  23. package/dist/cli/git.js +0 -113
  24. package/dist/cli/git.js.map +0 -1
  25. package/dist/cli/profile.d.ts +0 -2
  26. package/dist/cli/profile.js +0 -171
  27. package/dist/cli/profile.js.map +0 -1
  28. package/dist/core/agent-context.d.ts +0 -9
  29. package/dist/core/agent-context.js +0 -43
  30. package/dist/core/agent-context.js.map +0 -1
  31. package/dist/core/agent-env/antigravity-reader.d.ts +0 -7
  32. package/dist/core/agent-env/antigravity-reader.js +0 -86
  33. package/dist/core/agent-env/antigravity-reader.js.map +0 -1
  34. package/dist/core/agent-env/availability.d.ts +0 -6
  35. package/dist/core/agent-env/availability.js +0 -79
  36. package/dist/core/agent-env/availability.js.map +0 -1
  37. package/dist/core/agent-env/claude-reader.d.ts +0 -7
  38. package/dist/core/agent-env/claude-reader.js +0 -101
  39. package/dist/core/agent-env/claude-reader.js.map +0 -1
  40. package/dist/core/agent-env/codex-reader.d.ts +0 -11
  41. package/dist/core/agent-env/codex-reader.js +0 -164
  42. package/dist/core/agent-env/codex-reader.js.map +0 -1
  43. package/dist/core/agent-env/index.d.ts +0 -9
  44. package/dist/core/agent-env/index.js +0 -29
  45. package/dist/core/agent-env/index.js.map +0 -1
  46. package/dist/core/agent-env/managed-plugins.d.ts +0 -18
  47. package/dist/core/agent-env/managed-plugins.js +0 -68
  48. package/dist/core/agent-env/managed-plugins.js.map +0 -1
  49. package/dist/core/agent-env/plugin-reader.d.ts +0 -9
  50. package/dist/core/agent-env/plugin-reader.js +0 -174
  51. package/dist/core/agent-env/plugin-reader.js.map +0 -1
  52. package/dist/core/agent-env/shared.d.ts +0 -26
  53. package/dist/core/agent-env/shared.js +0 -116
  54. package/dist/core/agent-env/shared.js.map +0 -1
  55. package/dist/core/agent-env/types.d.ts +0 -66
  56. package/dist/core/agent-env/types.js +0 -7
  57. package/dist/core/agent-env/types.js.map +0 -1
  58. package/dist/core/agent-env-actions.d.ts +0 -117
  59. package/dist/core/agent-env-actions.js +0 -273
  60. package/dist/core/agent-env-actions.js.map +0 -1
  61. package/dist/core/agent-env-plugin-uninstall.d.ts +0 -11
  62. package/dist/core/agent-env-plugin-uninstall.js +0 -189
  63. package/dist/core/agent-env-plugin-uninstall.js.map +0 -1
  64. package/dist/core/agent-env-writers.d.ts +0 -71
  65. package/dist/core/agent-env-writers.js +0 -632
  66. package/dist/core/agent-env-writers.js.map +0 -1
  67. package/dist/core/agent-profiles/apply.d.ts +0 -57
  68. package/dist/core/agent-profiles/apply.js +0 -209
  69. package/dist/core/agent-profiles/apply.js.map +0 -1
  70. package/dist/core/agent-profiles/builtin.d.ts +0 -8
  71. package/dist/core/agent-profiles/builtin.js +0 -33
  72. package/dist/core/agent-profiles/builtin.js.map +0 -1
  73. package/dist/core/agent-profiles/credentials.d.ts +0 -26
  74. package/dist/core/agent-profiles/credentials.js +0 -151
  75. package/dist/core/agent-profiles/credentials.js.map +0 -1
  76. package/dist/core/agent-profiles/debug-setup.d.ts +0 -18
  77. package/dist/core/agent-profiles/debug-setup.js +0 -237
  78. package/dist/core/agent-profiles/debug-setup.js.map +0 -1
  79. package/dist/core/agent-profiles/index.d.ts +0 -18
  80. package/dist/core/agent-profiles/index.js +0 -19
  81. package/dist/core/agent-profiles/index.js.map +0 -1
  82. package/dist/core/agent-profiles/plugin-apply.d.ts +0 -16
  83. package/dist/core/agent-profiles/plugin-apply.js +0 -383
  84. package/dist/core/agent-profiles/plugin-apply.js.map +0 -1
  85. package/dist/core/agent-profiles/plugin-bundle.d.ts +0 -6
  86. package/dist/core/agent-profiles/plugin-bundle.js +0 -32
  87. package/dist/core/agent-profiles/plugin-bundle.js.map +0 -1
  88. package/dist/core/agent-profiles/publication.d.ts +0 -105
  89. package/dist/core/agent-profiles/publication.js +0 -126
  90. package/dist/core/agent-profiles/publication.js.map +0 -1
  91. package/dist/core/agent-profiles/registry-auth.d.ts +0 -25
  92. package/dist/core/agent-profiles/registry-auth.js +0 -78
  93. package/dist/core/agent-profiles/registry-auth.js.map +0 -1
  94. package/dist/core/agent-profiles/registry-client.d.ts +0 -98
  95. package/dist/core/agent-profiles/registry-client.js +0 -109
  96. package/dist/core/agent-profiles/registry-client.js.map +0 -1
  97. package/dist/core/agent-profiles/registry-config.d.ts +0 -62
  98. package/dist/core/agent-profiles/registry-config.js +0 -221
  99. package/dist/core/agent-profiles/registry-config.js.map +0 -1
  100. package/dist/core/agent-profiles/registry-transfer.d.ts +0 -42
  101. package/dist/core/agent-profiles/registry-transfer.js +0 -133
  102. package/dist/core/agent-profiles/registry-transfer.js.map +0 -1
  103. package/dist/core/agent-profiles/store.d.ts +0 -62
  104. package/dist/core/agent-profiles/store.js +0 -479
  105. package/dist/core/agent-profiles/store.js.map +0 -1
  106. package/dist/core/agent-profiles/transfer.d.ts +0 -27
  107. package/dist/core/agent-profiles/transfer.js +0 -354
  108. package/dist/core/agent-profiles/transfer.js.map +0 -1
  109. package/dist/core/agent-profiles/types.d.ts +0 -364
  110. package/dist/core/agent-profiles/types.js +0 -79
  111. package/dist/core/agent-profiles/types.js.map +0 -1
  112. package/dist/core/agent-runtime.d.ts +0 -114
  113. package/dist/core/agent-runtime.js +0 -494
  114. package/dist/core/agent-runtime.js.map +0 -1
  115. package/dist/core/agent-sessions.d.ts +0 -46
  116. package/dist/core/agent-sessions.js +0 -109
  117. package/dist/core/agent-sessions.js.map +0 -1
  118. package/dist/core/agent-settings.d.ts +0 -31
  119. package/dist/core/agent-settings.js +0 -129
  120. package/dist/core/agent-settings.js.map +0 -1
  121. package/dist/core/agent-terminal.d.ts +0 -22
  122. package/dist/core/agent-terminal.js +0 -62
  123. package/dist/core/agent-terminal.js.map +0 -1
  124. package/dist/core/agent-transcripts.d.ts +0 -29
  125. package/dist/core/agent-transcripts.js +0 -281
  126. package/dist/core/agent-transcripts.js.map +0 -1
  127. package/dist/core/app-settings.d.ts +0 -74
  128. package/dist/core/app-settings.js +0 -118
  129. package/dist/core/app-settings.js.map +0 -1
  130. package/dist/core/app-version.d.ts +0 -2
  131. package/dist/core/app-version.js +0 -16
  132. package/dist/core/app-version.js.map +0 -1
  133. package/dist/core/approval-broker.d.ts +0 -29
  134. package/dist/core/approval-broker.js +0 -48
  135. package/dist/core/approval-broker.js.map +0 -1
  136. package/dist/core/claude-settings.d.ts +0 -18
  137. package/dist/core/claude-settings.js +0 -48
  138. package/dist/core/claude-settings.js.map +0 -1
  139. package/dist/core/cloudflare-actions.d.ts +0 -90
  140. package/dist/core/cloudflare-actions.js +0 -178
  141. package/dist/core/cloudflare-actions.js.map +0 -1
  142. package/dist/core/cloudflare-auth.d.ts +0 -61
  143. package/dist/core/cloudflare-auth.js +0 -149
  144. package/dist/core/cloudflare-auth.js.map +0 -1
  145. package/dist/core/cloudflare-context.d.ts +0 -2
  146. package/dist/core/cloudflare-context.js +0 -106
  147. package/dist/core/cloudflare-context.js.map +0 -1
  148. package/dist/core/cloudflare-manager.d.ts +0 -256
  149. package/dist/core/cloudflare-manager.js +0 -409
  150. package/dist/core/cloudflare-manager.js.map +0 -1
  151. package/dist/core/cloudflare-provider.d.ts +0 -64
  152. package/dist/core/cloudflare-provider.js +0 -343
  153. package/dist/core/cloudflare-provider.js.map +0 -1
  154. package/dist/core/config-files.d.ts +0 -27
  155. package/dist/core/config-files.js +0 -154
  156. package/dist/core/config-files.js.map +0 -1
  157. package/dist/core/config-store.d.ts +0 -181
  158. package/dist/core/config-store.js +0 -1026
  159. package/dist/core/config-store.js.map +0 -1
  160. package/dist/core/context-library.d.ts +0 -53
  161. package/dist/core/context-library.js +0 -605
  162. package/dist/core/context-library.js.map +0 -1
  163. package/dist/core/context-types.d.ts +0 -83
  164. package/dist/core/context-types.js +0 -9
  165. package/dist/core/context-types.js.map +0 -1
  166. package/dist/core/daemon-client.d.ts +0 -70
  167. package/dist/core/daemon-client.js +0 -136
  168. package/dist/core/daemon-client.js.map +0 -1
  169. package/dist/core/daemon-lifecycle.d.ts +0 -59
  170. package/dist/core/daemon-lifecycle.js +0 -147
  171. package/dist/core/daemon-lifecycle.js.map +0 -1
  172. package/dist/core/db/catalog.d.ts +0 -57
  173. package/dist/core/db/catalog.js +0 -38
  174. package/dist/core/db/catalog.js.map +0 -1
  175. package/dist/core/db/data-masking.d.ts +0 -3
  176. package/dist/core/db/data-masking.js +0 -14
  177. package/dist/core/db/data-masking.js.map +0 -1
  178. package/dist/core/db/driver.d.ts +0 -151
  179. package/dist/core/db/driver.js +0 -209
  180. package/dist/core/db/driver.js.map +0 -1
  181. package/dist/core/db/export.d.ts +0 -17
  182. package/dist/core/db/export.js +0 -67
  183. package/dist/core/db/export.js.map +0 -1
  184. package/dist/core/db/mysql-driver.d.ts +0 -33
  185. package/dist/core/db/mysql-driver.js +0 -364
  186. package/dist/core/db/mysql-driver.js.map +0 -1
  187. package/dist/core/db/postgres-driver.d.ts +0 -34
  188. package/dist/core/db/postgres-driver.js +0 -430
  189. package/dist/core/db/postgres-driver.js.map +0 -1
  190. package/dist/core/db/sqlite-driver.d.ts +0 -30
  191. package/dist/core/db/sqlite-driver.js +0 -301
  192. package/dist/core/db/sqlite-driver.js.map +0 -1
  193. package/dist/core/db-peek.d.ts +0 -99
  194. package/dist/core/db-peek.js +0 -322
  195. package/dist/core/db-peek.js.map +0 -1
  196. package/dist/core/db-write.d.ts +0 -45
  197. package/dist/core/db-write.js +0 -190
  198. package/dist/core/db-write.js.map +0 -1
  199. package/dist/core/docker-inspect.d.ts +0 -34
  200. package/dist/core/docker-inspect.js +0 -108
  201. package/dist/core/docker-inspect.js.map +0 -1
  202. package/dist/core/docker-resources.d.ts +0 -28
  203. package/dist/core/docker-resources.js +0 -59
  204. package/dist/core/docker-resources.js.map +0 -1
  205. package/dist/core/docker-service-runner.d.ts +0 -21
  206. package/dist/core/docker-service-runner.js +0 -80
  207. package/dist/core/docker-service-runner.js.map +0 -1
  208. package/dist/core/docker-stats.d.ts +0 -24
  209. package/dist/core/docker-stats.js +0 -76
  210. package/dist/core/docker-stats.js.map +0 -1
  211. package/dist/core/docker.d.ts +0 -75
  212. package/dist/core/docker.js +0 -219
  213. package/dist/core/docker.js.map +0 -1
  214. package/dist/core/env-file.d.ts +0 -24
  215. package/dist/core/env-file.js +0 -123
  216. package/dist/core/env-file.js.map +0 -1
  217. package/dist/core/env-runtime.d.ts +0 -32
  218. package/dist/core/env-runtime.js +0 -42
  219. package/dist/core/env-runtime.js.map +0 -1
  220. package/dist/core/error-inbox.d.ts +0 -91
  221. package/dist/core/error-inbox.js +0 -292
  222. package/dist/core/error-inbox.js.map +0 -1
  223. package/dist/core/extensions.d.ts +0 -78
  224. package/dist/core/extensions.js +0 -41
  225. package/dist/core/extensions.js.map +0 -1
  226. package/dist/core/external-terminal.d.ts +0 -60
  227. package/dist/core/external-terminal.js +0 -429
  228. package/dist/core/external-terminal.js.map +0 -1
  229. package/dist/core/fix-loop.d.ts +0 -55
  230. package/dist/core/fix-loop.js +0 -73
  231. package/dist/core/fix-loop.js.map +0 -1
  232. package/dist/core/git-actions.d.ts +0 -69
  233. package/dist/core/git-actions.js +0 -161
  234. package/dist/core/git-actions.js.map +0 -1
  235. package/dist/core/git-graph-layout.d.ts +0 -34
  236. package/dist/core/git-graph-layout.js +0 -94
  237. package/dist/core/git-graph-layout.js.map +0 -1
  238. package/dist/core/git-identity.d.ts +0 -78
  239. package/dist/core/git-identity.js +0 -178
  240. package/dist/core/git-identity.js.map +0 -1
  241. package/dist/core/git-manager.d.ts +0 -129
  242. package/dist/core/git-manager.js +0 -509
  243. package/dist/core/git-manager.js.map +0 -1
  244. package/dist/core/git-worktrees.d.ts +0 -35
  245. package/dist/core/git-worktrees.js +0 -142
  246. package/dist/core/git-worktrees.js.map +0 -1
  247. package/dist/core/github-auth.d.ts +0 -28
  248. package/dist/core/github-auth.js +0 -134
  249. package/dist/core/github-auth.js.map +0 -1
  250. package/dist/core/github-context.d.ts +0 -12
  251. package/dist/core/github-context.js +0 -36
  252. package/dist/core/github-context.js.map +0 -1
  253. package/dist/core/github-manager.d.ts +0 -223
  254. package/dist/core/github-manager.js +0 -285
  255. package/dist/core/github-manager.js.map +0 -1
  256. package/dist/core/host-metrics.d.ts +0 -41
  257. package/dist/core/host-metrics.js +0 -93
  258. package/dist/core/host-metrics.js.map +0 -1
  259. package/dist/core/http-inspector.d.ts +0 -20
  260. package/dist/core/http-inspector.js +0 -106
  261. package/dist/core/http-inspector.js.map +0 -1
  262. package/dist/core/jetbrains-import.d.ts +0 -85
  263. package/dist/core/jetbrains-import.js +0 -599
  264. package/dist/core/jetbrains-import.js.map +0 -1
  265. package/dist/core/log-sources.d.ts +0 -21
  266. package/dist/core/log-sources.js +0 -219
  267. package/dist/core/log-sources.js.map +0 -1
  268. package/dist/core/log-store.d.ts +0 -33
  269. package/dist/core/log-store.js +0 -94
  270. package/dist/core/log-store.js.map +0 -1
  271. package/dist/core/log-volume.d.ts +0 -41
  272. package/dist/core/log-volume.js +0 -81
  273. package/dist/core/log-volume.js.map +0 -1
  274. package/dist/core/mcp-auth.d.ts +0 -27
  275. package/dist/core/mcp-auth.js +0 -90
  276. package/dist/core/mcp-auth.js.map +0 -1
  277. package/dist/core/metrics-store.d.ts +0 -74
  278. package/dist/core/metrics-store.js +0 -187
  279. package/dist/core/metrics-store.js.map +0 -1
  280. package/dist/core/one-time-skills.d.ts +0 -27
  281. package/dist/core/one-time-skills.js +0 -185
  282. package/dist/core/one-time-skills.js.map +0 -1
  283. package/dist/core/port-utils.d.ts +0 -23
  284. package/dist/core/port-utils.js +0 -83
  285. package/dist/core/port-utils.js.map +0 -1
  286. package/dist/core/process-manager.d.ts +0 -99
  287. package/dist/core/process-manager.js +0 -738
  288. package/dist/core/process-manager.js.map +0 -1
  289. package/dist/core/process-tree.d.ts +0 -17
  290. package/dist/core/process-tree.js +0 -64
  291. package/dist/core/process-tree.js.map +0 -1
  292. package/dist/core/project-overview.d.ts +0 -52
  293. package/dist/core/project-overview.js +0 -122
  294. package/dist/core/project-overview.js.map +0 -1
  295. package/dist/core/providers/credentials.d.ts +0 -93
  296. package/dist/core/providers/credentials.js +0 -88
  297. package/dist/core/providers/credentials.js.map +0 -1
  298. package/dist/core/providers/deploy-provider.d.ts +0 -327
  299. package/dist/core/providers/deploy-provider.js +0 -25
  300. package/dist/core/providers/deploy-provider.js.map +0 -1
  301. package/dist/core/providers/egress.d.ts +0 -58
  302. package/dist/core/providers/egress.js +0 -115
  303. package/dist/core/providers/egress.js.map +0 -1
  304. package/dist/core/providers/host-bridge.d.ts +0 -20
  305. package/dist/core/providers/host-bridge.js +0 -57
  306. package/dist/core/providers/host-bridge.js.map +0 -1
  307. package/dist/core/providers/host-provider.d.ts +0 -160
  308. package/dist/core/providers/host-provider.js +0 -2
  309. package/dist/core/providers/host-provider.js.map +0 -1
  310. package/dist/core/providers/oauth.d.ts +0 -97
  311. package/dist/core/providers/oauth.js +0 -238
  312. package/dist/core/providers/oauth.js.map +0 -1
  313. package/dist/core/providers/project-resolution.d.ts +0 -81
  314. package/dist/core/providers/project-resolution.js +0 -101
  315. package/dist/core/providers/project-resolution.js.map +0 -1
  316. package/dist/core/providers/registry.d.ts +0 -73
  317. package/dist/core/providers/registry.js +0 -53
  318. package/dist/core/providers/registry.js.map +0 -1
  319. package/dist/core/providers/strings.d.ts +0 -95
  320. package/dist/core/providers/strings.js +0 -59
  321. package/dist/core/providers/strings.js.map +0 -1
  322. package/dist/core/public-config.d.ts +0 -18
  323. package/dist/core/public-config.js +0 -76
  324. package/dist/core/public-config.js.map +0 -1
  325. package/dist/core/read-only-files.d.ts +0 -28
  326. package/dist/core/read-only-files.js +0 -93
  327. package/dist/core/read-only-files.js.map +0 -1
  328. package/dist/core/repo-create.d.ts +0 -11
  329. package/dist/core/repo-create.js +0 -54
  330. package/dist/core/repo-create.js.map +0 -1
  331. package/dist/core/repo-match.d.ts +0 -12
  332. package/dist/core/repo-match.js +0 -40
  333. package/dist/core/repo-match.js.map +0 -1
  334. package/dist/core/repo-onboard.d.ts +0 -297
  335. package/dist/core/repo-onboard.js +0 -667
  336. package/dist/core/repo-onboard.js.map +0 -1
  337. package/dist/core/repro-bundle.d.ts +0 -30
  338. package/dist/core/repro-bundle.js +0 -116
  339. package/dist/core/repro-bundle.js.map +0 -1
  340. package/dist/core/service-graph.d.ts +0 -50
  341. package/dist/core/service-graph.js +0 -143
  342. package/dist/core/service-graph.js.map +0 -1
  343. package/dist/core/service-health.d.ts +0 -10
  344. package/dist/core/service-health.js +0 -46
  345. package/dist/core/service-health.js.map +0 -1
  346. package/dist/core/service-log-source.d.ts +0 -9
  347. package/dist/core/service-log-source.js +0 -49
  348. package/dist/core/service-log-source.js.map +0 -1
  349. package/dist/core/service-registry.d.ts +0 -52
  350. package/dist/core/service-registry.js +0 -101
  351. package/dist/core/service-registry.js.map +0 -1
  352. package/dist/core/snapshot-manager.d.ts +0 -62
  353. package/dist/core/snapshot-manager.js +0 -219
  354. package/dist/core/snapshot-manager.js.map +0 -1
  355. package/dist/core/ssh-servers.d.ts +0 -89
  356. package/dist/core/ssh-servers.js +0 -251
  357. package/dist/core/ssh-servers.js.map +0 -1
  358. package/dist/core/ssh-service-runner.d.ts +0 -7
  359. package/dist/core/ssh-service-runner.js +0 -36
  360. package/dist/core/ssh-service-runner.js.map +0 -1
  361. package/dist/core/ssh-setup.d.ts +0 -11
  362. package/dist/core/ssh-setup.js +0 -49
  363. package/dist/core/ssh-setup.js.map +0 -1
  364. package/dist/core/system-processes.d.ts +0 -29
  365. package/dist/core/system-processes.js +0 -119
  366. package/dist/core/system-processes.js.map +0 -1
  367. package/dist/core/terminal-manager.d.ts +0 -123
  368. package/dist/core/terminal-manager.js +0 -470
  369. package/dist/core/terminal-manager.js.map +0 -1
  370. package/dist/core/terminal-session.d.ts +0 -122
  371. package/dist/core/terminal-session.js +0 -242
  372. package/dist/core/terminal-session.js.map +0 -1
  373. package/dist/core/terminal-spawn.d.ts +0 -26
  374. package/dist/core/terminal-spawn.js +0 -63
  375. package/dist/core/terminal-spawn.js.map +0 -1
  376. package/dist/core/test-runner.d.ts +0 -69
  377. package/dist/core/test-runner.js +0 -199
  378. package/dist/core/test-runner.js.map +0 -1
  379. package/dist/core/timeline-store.d.ts +0 -20
  380. package/dist/core/timeline-store.js +0 -36
  381. package/dist/core/timeline-store.js.map +0 -1
  382. package/dist/core/tool-call-store.d.ts +0 -25
  383. package/dist/core/tool-call-store.js +0 -62
  384. package/dist/core/tool-call-store.js.map +0 -1
  385. package/dist/core/types.d.ts +0 -312
  386. package/dist/core/types.js +0 -2
  387. package/dist/core/types.js.map +0 -1
  388. package/dist/core/usage-history.d.ts +0 -81
  389. package/dist/core/usage-history.js +0 -149
  390. package/dist/core/usage-history.js.map +0 -1
  391. package/dist/core/vercel-actions.d.ts +0 -71
  392. package/dist/core/vercel-actions.js +0 -109
  393. package/dist/core/vercel-actions.js.map +0 -1
  394. package/dist/core/vercel-auth.d.ts +0 -40
  395. package/dist/core/vercel-auth.js +0 -88
  396. package/dist/core/vercel-auth.js.map +0 -1
  397. package/dist/core/vercel-context.d.ts +0 -2
  398. package/dist/core/vercel-context.js +0 -97
  399. package/dist/core/vercel-context.js.map +0 -1
  400. package/dist/core/vercel-manager.d.ts +0 -266
  401. package/dist/core/vercel-manager.js +0 -389
  402. package/dist/core/vercel-manager.js.map +0 -1
  403. package/dist/core/vercel-oauth.d.ts +0 -37
  404. package/dist/core/vercel-oauth.js +0 -51
  405. package/dist/core/vercel-oauth.js.map +0 -1
  406. package/dist/core/vercel-provider.d.ts +0 -23
  407. package/dist/core/vercel-provider.js +0 -271
  408. package/dist/core/vercel-provider.js.map +0 -1
  409. package/dist/core/vultr-actions.d.ts +0 -52
  410. package/dist/core/vultr-actions.js +0 -62
  411. package/dist/core/vultr-actions.js.map +0 -1
  412. package/dist/core/vultr-auth.d.ts +0 -32
  413. package/dist/core/vultr-auth.js +0 -54
  414. package/dist/core/vultr-auth.js.map +0 -1
  415. package/dist/core/vultr-context.d.ts +0 -2
  416. package/dist/core/vultr-context.js +0 -55
  417. package/dist/core/vultr-context.js.map +0 -1
  418. package/dist/core/vultr-manager.d.ts +0 -105
  419. package/dist/core/vultr-manager.js +0 -159
  420. package/dist/core/vultr-manager.js.map +0 -1
  421. package/dist/core/vultr-provider.d.ts +0 -69
  422. package/dist/core/vultr-provider.js +0 -224
  423. package/dist/core/vultr-provider.js.map +0 -1
  424. package/dist/core/workflow-triggers.d.ts +0 -139
  425. package/dist/core/workflow-triggers.js +0 -208
  426. package/dist/core/workflow-triggers.js.map +0 -1
  427. package/dist/core/workflows.d.ts +0 -290
  428. package/dist/core/workflows.js +0 -190
  429. package/dist/core/workflows.js.map +0 -1
  430. package/dist/index.d.ts +0 -2
  431. package/dist/index.js +0 -56
  432. package/dist/index.js.map +0 -1
  433. package/dist/mcp/server.d.ts +0 -37
  434. package/dist/mcp/server.js +0 -84
  435. package/dist/mcp/server.js.map +0 -1
  436. package/dist/mcp/tools/agent-env.d.ts +0 -9
  437. package/dist/mcp/tools/agent-env.js +0 -160
  438. package/dist/mcp/tools/agent-env.js.map +0 -1
  439. package/dist/mcp/tools/agent-profiles.d.ts +0 -9
  440. package/dist/mcp/tools/agent-profiles.js +0 -197
  441. package/dist/mcp/tools/agent-profiles.js.map +0 -1
  442. package/dist/mcp/tools/agent-registry.d.ts +0 -9
  443. package/dist/mcp/tools/agent-registry.js +0 -81
  444. package/dist/mcp/tools/agent-registry.js.map +0 -1
  445. package/dist/mcp/tools/agent.d.ts +0 -4
  446. package/dist/mcp/tools/agent.js +0 -29
  447. package/dist/mcp/tools/agent.js.map +0 -1
  448. package/dist/mcp/tools/context.d.ts +0 -36
  449. package/dist/mcp/tools/context.js +0 -69
  450. package/dist/mcp/tools/context.js.map +0 -1
  451. package/dist/mcp/tools/database.d.ts +0 -9
  452. package/dist/mcp/tools/database.js +0 -166
  453. package/dist/mcp/tools/database.js.map +0 -1
  454. package/dist/mcp/tools/docs.d.ts +0 -29
  455. package/dist/mcp/tools/docs.js +0 -125
  456. package/dist/mcp/tools/docs.js.map +0 -1
  457. package/dist/mcp/tools/errors.d.ts +0 -5
  458. package/dist/mcp/tools/errors.js +0 -40
  459. package/dist/mcp/tools/errors.js.map +0 -1
  460. package/dist/mcp/tools/git.d.ts +0 -4
  461. package/dist/mcp/tools/git.js +0 -208
  462. package/dist/mcp/tools/git.js.map +0 -1
  463. package/dist/mcp/tools/github.d.ts +0 -4
  464. package/dist/mcp/tools/github.js +0 -196
  465. package/dist/mcp/tools/github.js.map +0 -1
  466. package/dist/mcp/tools/index.d.ts +0 -20
  467. package/dist/mcp/tools/index.js +0 -60
  468. package/dist/mcp/tools/index.js.map +0 -1
  469. package/dist/mcp/tools/onboard.d.ts +0 -10
  470. package/dist/mcp/tools/onboard.js +0 -30
  471. package/dist/mcp/tools/onboard.js.map +0 -1
  472. package/dist/mcp/tools/provider.d.ts +0 -16
  473. package/dist/mcp/tools/provider.js +0 -110
  474. package/dist/mcp/tools/provider.js.map +0 -1
  475. package/dist/mcp/tools/services.d.ts +0 -11
  476. package/dist/mcp/tools/services.js +0 -200
  477. package/dist/mcp/tools/services.js.map +0 -1
  478. package/dist/mcp/tools/snapshots.d.ts +0 -8
  479. package/dist/mcp/tools/snapshots.js +0 -37
  480. package/dist/mcp/tools/snapshots.js.map +0 -1
  481. package/dist/mcp/tools/terminal.d.ts +0 -4
  482. package/dist/mcp/tools/terminal.js +0 -38
  483. package/dist/mcp/tools/terminal.js.map +0 -1
  484. package/dist/tui/app.d.ts +0 -22
  485. package/dist/tui/app.js +0 -138
  486. package/dist/tui/app.js.map +0 -1
  487. package/dist/web/agent-info.d.ts +0 -82
  488. package/dist/web/agent-info.js +0 -775
  489. package/dist/web/agent-info.js.map +0 -1
  490. package/dist/web/client/assets/SymbolsNerdFontMono-Regular-DDncdh2F.ttf +0 -0
  491. package/dist/web/client/assets/code-editor-B2_SPkzS.js +0 -30
  492. package/dist/web/client/assets/context-graph-DVrWyUaG.js +0 -7
  493. package/dist/web/client/assets/core-DhEqZVGG.js +0 -1
  494. package/dist/web/client/assets/event-BK_86lmQ.js +0 -1
  495. package/dist/web/client/assets/index-BhDAhmA1.js +0 -1
  496. package/dist/web/client/assets/index-DIspyq1R.js +0 -352
  497. package/dist/web/client/assets/index-DT9Uq0bE.css +0 -1
  498. package/dist/web/client/assets/nomoreide-favicon-Ds7Tgj9p.svg +0 -24
  499. package/dist/web/client/assets/system-process-table-CWZIisGo.js +0 -1
  500. package/dist/web/client/assets/window-DlR023_X.js +0 -1
  501. package/dist/web/client/index.html +0 -44
  502. package/dist/web/dashboard.d.ts +0 -61
  503. package/dist/web/dashboard.js +0 -221
  504. package/dist/web/dashboard.js.map +0 -1
  505. package/dist/web/directories.d.ts +0 -27
  506. package/dist/web/directories.js +0 -81
  507. package/dist/web/directories.js.map +0 -1
  508. package/dist/web/http-utils.d.ts +0 -13
  509. package/dist/web/http-utils.js +0 -72
  510. package/dist/web/http-utils.js.map +0 -1
  511. package/dist/web/routes/agent-chat-routes.d.ts +0 -3
  512. package/dist/web/routes/agent-chat-routes.js +0 -186
  513. package/dist/web/routes/agent-chat-routes.js.map +0 -1
  514. package/dist/web/routes/agent-env-routes.d.ts +0 -9
  515. package/dist/web/routes/agent-env-routes.js +0 -86
  516. package/dist/web/routes/agent-env-routes.js.map +0 -1
  517. package/dist/web/routes/agent-profile-routes.d.ts +0 -8
  518. package/dist/web/routes/agent-profile-routes.js +0 -211
  519. package/dist/web/routes/agent-profile-routes.js.map +0 -1
  520. package/dist/web/routes/agent-registry-routes.d.ts +0 -2
  521. package/dist/web/routes/agent-registry-routes.js +0 -361
  522. package/dist/web/routes/agent-registry-routes.js.map +0 -1
  523. package/dist/web/routes/agent-routes.d.ts +0 -3
  524. package/dist/web/routes/agent-routes.js +0 -73
  525. package/dist/web/routes/agent-routes.js.map +0 -1
  526. package/dist/web/routes/agent-settings-routes.d.ts +0 -8
  527. package/dist/web/routes/agent-settings-routes.js +0 -67
  528. package/dist/web/routes/agent-settings-routes.js.map +0 -1
  529. package/dist/web/routes/context-library-routes.d.ts +0 -2
  530. package/dist/web/routes/context-library-routes.js +0 -139
  531. package/dist/web/routes/context-library-routes.js.map +0 -1
  532. package/dist/web/routes/context.d.ts +0 -73
  533. package/dist/web/routes/context.js +0 -48
  534. package/dist/web/routes/context.js.map +0 -1
  535. package/dist/web/routes/dashboard-routes.d.ts +0 -3
  536. package/dist/web/routes/dashboard-routes.js +0 -47
  537. package/dist/web/routes/dashboard-routes.js.map +0 -1
  538. package/dist/web/routes/database-routes.d.ts +0 -3
  539. package/dist/web/routes/database-routes.js +0 -341
  540. package/dist/web/routes/database-routes.js.map +0 -1
  541. package/dist/web/routes/docker-routes.d.ts +0 -7
  542. package/dist/web/routes/docker-routes.js +0 -122
  543. package/dist/web/routes/docker-routes.js.map +0 -1
  544. package/dist/web/routes/errors-routes.d.ts +0 -3
  545. package/dist/web/routes/errors-routes.js +0 -77
  546. package/dist/web/routes/errors-routes.js.map +0 -1
  547. package/dist/web/routes/extensions-routes.d.ts +0 -14
  548. package/dist/web/routes/extensions-routes.js +0 -21
  549. package/dist/web/routes/extensions-routes.js.map +0 -1
  550. package/dist/web/routes/git-routes.d.ts +0 -3
  551. package/dist/web/routes/git-routes.js +0 -598
  552. package/dist/web/routes/git-routes.js.map +0 -1
  553. package/dist/web/routes/github-context.d.ts +0 -11
  554. package/dist/web/routes/github-context.js +0 -34
  555. package/dist/web/routes/github-context.js.map +0 -1
  556. package/dist/web/routes/github-routes.d.ts +0 -2
  557. package/dist/web/routes/github-routes.js +0 -699
  558. package/dist/web/routes/github-routes.js.map +0 -1
  559. package/dist/web/routes/host-routes.d.ts +0 -2
  560. package/dist/web/routes/host-routes.js +0 -188
  561. package/dist/web/routes/host-routes.js.map +0 -1
  562. package/dist/web/routes/index.d.ts +0 -10
  563. package/dist/web/routes/index.js +0 -72
  564. package/dist/web/routes/index.js.map +0 -1
  565. package/dist/web/routes/jetbrains-import-routes.d.ts +0 -2
  566. package/dist/web/routes/jetbrains-import-routes.js +0 -121
  567. package/dist/web/routes/jetbrains-import-routes.js.map +0 -1
  568. package/dist/web/routes/log-sources-routes.d.ts +0 -6
  569. package/dist/web/routes/log-sources-routes.js +0 -102
  570. package/dist/web/routes/log-sources-routes.js.map +0 -1
  571. package/dist/web/routes/metrics-routes.d.ts +0 -3
  572. package/dist/web/routes/metrics-routes.js +0 -60
  573. package/dist/web/routes/metrics-routes.js.map +0 -1
  574. package/dist/web/routes/onboard-routes.d.ts +0 -9
  575. package/dist/web/routes/onboard-routes.js +0 -146
  576. package/dist/web/routes/onboard-routes.js.map +0 -1
  577. package/dist/web/routes/overview-routes.d.ts +0 -2
  578. package/dist/web/routes/overview-routes.js +0 -36
  579. package/dist/web/routes/overview-routes.js.map +0 -1
  580. package/dist/web/routes/provider-routes.d.ts +0 -2
  581. package/dist/web/routes/provider-routes.js +0 -558
  582. package/dist/web/routes/provider-routes.js.map +0 -1
  583. package/dist/web/routes/service-routes.d.ts +0 -3
  584. package/dist/web/routes/service-routes.js +0 -511
  585. package/dist/web/routes/service-routes.js.map +0 -1
  586. package/dist/web/routes/settings-routes.d.ts +0 -2
  587. package/dist/web/routes/settings-routes.js +0 -151
  588. package/dist/web/routes/settings-routes.js.map +0 -1
  589. package/dist/web/routes/shell-routes.d.ts +0 -22
  590. package/dist/web/routes/shell-routes.js +0 -75
  591. package/dist/web/routes/shell-routes.js.map +0 -1
  592. package/dist/web/routes/skills-routes.d.ts +0 -2
  593. package/dist/web/routes/skills-routes.js +0 -49
  594. package/dist/web/routes/skills-routes.js.map +0 -1
  595. package/dist/web/routes/snapshot-routes.d.ts +0 -8
  596. package/dist/web/routes/snapshot-routes.js +0 -194
  597. package/dist/web/routes/snapshot-routes.js.map +0 -1
  598. package/dist/web/routes/ssh-server-routes.d.ts +0 -10
  599. package/dist/web/routes/ssh-server-routes.js +0 -163
  600. package/dist/web/routes/ssh-server-routes.js.map +0 -1
  601. package/dist/web/routes/terminal-routes.d.ts +0 -7
  602. package/dist/web/routes/terminal-routes.js +0 -313
  603. package/dist/web/routes/terminal-routes.js.map +0 -1
  604. package/dist/web/routes/workflow-routes.d.ts +0 -8
  605. package/dist/web/routes/workflow-routes.js +0 -45
  606. package/dist/web/routes/workflow-routes.js.map +0 -1
  607. package/dist/web/routes/workflow-trigger-routes.d.ts +0 -9
  608. package/dist/web/routes/workflow-trigger-routes.js +0 -78
  609. package/dist/web/routes/workflow-trigger-routes.js.map +0 -1
  610. package/dist/web/server.d.ts +0 -31
  611. package/dist/web/server.js +0 -325
  612. package/dist/web/server.js.map +0 -1
  613. package/dist/web/service-tester.d.ts +0 -16
  614. package/dist/web/service-tester.js +0 -107
  615. package/dist/web/service-tester.js.map +0 -1
  616. package/dist/web/static-assets.d.ts +0 -3
  617. package/dist/web/static-assets.js +0 -64
  618. package/dist/web/static-assets.js.map +0 -1
  619. package/dist/web/usage-info.d.ts +0 -56
  620. package/dist/web/usage-info.js +0 -265
  621. package/dist/web/usage-info.js.map +0 -1
@@ -1,35 +0,0 @@
1
- export interface GitWorktree {
2
- path: string;
3
- head: string;
4
- createdAt?: number;
5
- branch?: string;
6
- bare: boolean;
7
- detached: boolean;
8
- locked: boolean;
9
- lockedReason?: string;
10
- prunable: boolean;
11
- prunableReason?: string;
12
- primary: boolean;
13
- dirty: boolean;
14
- }
15
- interface ParsedWorktree extends Omit<GitWorktree, "dirty" | "primary"> {
16
- }
17
- export interface CreateWorktreeOptions {
18
- branch: string;
19
- createBranch: boolean;
20
- baseRef?: string;
21
- destination?: string;
22
- projectName?: string;
23
- }
24
- export declare function defaultWorktreesDir(homeDir?: string): string;
25
- export declare function parseGitWorktreePorcelain(output: string): ParsedWorktree[];
26
- export declare class GitWorktreeManager {
27
- private readonly repositoryPath;
28
- private readonly managedRoot;
29
- constructor(repositoryPath: string, managedRoot?: string);
30
- list(): Promise<GitWorktree[]>;
31
- create(options: CreateWorktreeOptions): Promise<GitWorktree>;
32
- remove(path: string): Promise<void>;
33
- prune(): Promise<void>;
34
- }
35
- export {};
@@ -1,142 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- import { mkdir, realpath, stat } from "node:fs/promises";
3
- import { homedir } from "node:os";
4
- import { basename, join, resolve } from "node:path";
5
- import { promisify } from "node:util";
6
- const execFileAsync = promisify(execFile);
7
- const HEADS_PREFIX = "refs/heads/";
8
- const UNSAFE_PATH_SEGMENT = /[^a-zA-Z0-9._-]+/g;
9
- export function defaultWorktreesDir(homeDir = homedir()) {
10
- const override = process.env.NOMOREIDE_WORKTREES_DIR?.trim();
11
- return resolve(override || join(homeDir, ".nomoreide", "worktrees"));
12
- }
13
- export function parseGitWorktreePorcelain(output) {
14
- return output
15
- .split("\0\0")
16
- .map((record) => record.split("\0").filter(Boolean))
17
- .filter((fields) => fields.some((field) => field.startsWith("worktree ")))
18
- .map((fields) => {
19
- const value = (key) => {
20
- const field = fields.find((item) => item === key || item.startsWith(`${key} `));
21
- return field?.slice(key.length).trim() || undefined;
22
- };
23
- const branchRef = value("branch");
24
- return {
25
- path: value("worktree") ?? "",
26
- head: value("HEAD") ?? "",
27
- branch: branchRef?.startsWith(HEADS_PREFIX)
28
- ? branchRef.slice(HEADS_PREFIX.length)
29
- : branchRef,
30
- bare: fields.includes("bare"),
31
- detached: fields.includes("detached"),
32
- locked: fields.some((field) => field === "locked" || field.startsWith("locked ")),
33
- lockedReason: value("locked"),
34
- prunable: fields.some((field) => field === "prunable" || field.startsWith("prunable ")),
35
- prunableReason: value("prunable"),
36
- };
37
- })
38
- .filter((worktree) => worktree.path);
39
- }
40
- export class GitWorktreeManager {
41
- repositoryPath;
42
- managedRoot;
43
- constructor(repositoryPath, managedRoot = defaultWorktreesDir()) {
44
- this.repositoryPath = repositoryPath;
45
- this.managedRoot = managedRoot;
46
- }
47
- async list() {
48
- const { stdout } = await execFileAsync("git", ["worktree", "list", "--porcelain", "-z"], { cwd: this.repositoryPath });
49
- const parsed = parseGitWorktreePorcelain(stdout);
50
- return Promise.all(parsed.map(async (worktree, index) => ({
51
- ...worktree,
52
- createdAt: await worktreeCreatedAt(worktree.path),
53
- primary: index === 0,
54
- dirty: worktree.bare ? false : await isDirty(worktree.path),
55
- })));
56
- }
57
- async create(options) {
58
- const branch = requireBranchName(options.branch);
59
- const project = safeSegment(options.projectName || basename(this.repositoryPath));
60
- const destination = options.destination ??
61
- join(this.managedRoot, project, safeSegment(branch));
62
- await mkdir(resolve(destination, ".."), { recursive: true });
63
- const args = ["worktree", "add"];
64
- if (options.createBranch) {
65
- args.push("-b", branch, destination, options.baseRef?.trim() || "HEAD");
66
- }
67
- else {
68
- args.push(destination, branch);
69
- }
70
- await execFileAsync("git", args, { cwd: this.repositoryPath });
71
- const canonicalDestination = await canonicalPath(destination);
72
- const worktrees = await this.list();
73
- const canonicalPaths = await Promise.all(worktrees.map((worktree) => canonicalPath(worktree.path)));
74
- const created = worktrees.find((_worktree, index) => canonicalPaths[index] === canonicalDestination);
75
- if (!created) {
76
- throw new Error(`Git created the worktree but it could not be found: ${destination}`);
77
- }
78
- return created;
79
- }
80
- async remove(path) {
81
- const target = await canonicalPath(path);
82
- const worktrees = await this.list();
83
- const canonicalPaths = await Promise.all(worktrees.map((worktree) => canonicalPath(worktree.path)));
84
- const worktree = worktrees.find((_candidate, index) => canonicalPaths[index] === target);
85
- if (!worktree)
86
- throw new Error("Unknown worktree.");
87
- if (worktree.primary)
88
- throw new Error("The primary worktree cannot be removed.");
89
- if (worktree.locked)
90
- throw new Error("Unlock this worktree before removing it.");
91
- if (worktree.dirty) {
92
- throw new Error("Commit, stash, or discard this worktree's changes before removing it.");
93
- }
94
- await execFileAsync("git", ["worktree", "remove", worktree.path], {
95
- cwd: this.repositoryPath,
96
- });
97
- }
98
- async prune() {
99
- await execFileAsync("git", ["worktree", "prune"], {
100
- cwd: this.repositoryPath,
101
- });
102
- }
103
- }
104
- function requireBranchName(value) {
105
- const branch = value.trim();
106
- if (!branch || branch.startsWith("-") || branch.includes("\0")) {
107
- throw new Error("A valid branch name is required.");
108
- }
109
- return branch;
110
- }
111
- function safeSegment(value) {
112
- const result = value
113
- .trim()
114
- .replace(UNSAFE_PATH_SEGMENT, "-")
115
- .replace(/^-+|-+$/g, "");
116
- if (!result || result === "." || result === "..") {
117
- throw new Error("Could not derive a safe worktree folder name.");
118
- }
119
- return result;
120
- }
121
- async function isDirty(path) {
122
- try {
123
- const { stdout } = await execFileAsync("git", ["status", "--porcelain=v1", "--untracked-files=all"], { cwd: path });
124
- return stdout.length > 0;
125
- }
126
- catch {
127
- return false;
128
- }
129
- }
130
- async function canonicalPath(path) {
131
- return realpath(path).catch(() => resolve(path));
132
- }
133
- async function worktreeCreatedAt(path) {
134
- try {
135
- const createdAt = (await stat(path)).birthtimeMs;
136
- return Number.isFinite(createdAt) && createdAt > 0 ? createdAt : undefined;
137
- }
138
- catch {
139
- return undefined;
140
- }
141
- }
142
- //# sourceMappingURL=git-worktrees.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-worktrees.js","sourceRoot":"","sources":["../../src/core/git-worktrees.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import type { GitHubCredentialSelection, GitRepositoryDefinition, NoMoreIdeConfig } from "./types.js";
2
- export interface GitHubCliAccount {
3
- host: string;
4
- login: string;
5
- active: boolean;
6
- state: string;
7
- }
8
- export interface GitHubCliAccounts {
9
- available: boolean;
10
- accounts: GitHubCliAccount[];
11
- error?: string;
12
- }
13
- export interface ResolvedGitHubCredential {
14
- source: "gh" | "stored";
15
- host: string;
16
- login?: string;
17
- token: string;
18
- }
19
- export type GhRunner = (args: string[]) => Promise<string>;
20
- export declare class GitHubCliAuth {
21
- private readonly run;
22
- constructor(run?: GhRunner);
23
- listAccounts(): Promise<GitHubCliAccounts>;
24
- token(host: string, login: string): Promise<string>;
25
- }
26
- export declare function parseGitHubCliAccounts(raw: string): GitHubCliAccount[];
27
- export declare function resolveGitHubCredential(config: NoMoreIdeConfig, repository: GitRepositoryDefinition | undefined, remoteHost: string, cli?: GitHubCliAuth): Promise<ResolvedGitHubCredential>;
28
- export declare function publicCredential(credential: ResolvedGitHubCredential): GitHubCredentialSelection;
@@ -1,134 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- import { promisify } from "node:util";
3
- const execFileAsync = promisify(execFile);
4
- const GH_TIMEOUT_MS = 5_000;
5
- const GH_MAX_BUFFER = 1024 * 1024;
6
- export class GitHubCliAuth {
7
- run;
8
- constructor(run = runGh) {
9
- this.run = run;
10
- }
11
- async listAccounts() {
12
- try {
13
- const stdout = await this.run(["auth", "status", "--json", "hosts"]);
14
- return { available: true, accounts: parseGitHubCliAccounts(stdout) };
15
- }
16
- catch (error) {
17
- return {
18
- available: false,
19
- accounts: [],
20
- error: ghUnavailableMessage(error),
21
- };
22
- }
23
- }
24
- async token(host, login) {
25
- validateGitHubIdentity(host, login);
26
- try {
27
- const token = (await this.run([
28
- "auth",
29
- "token",
30
- "--hostname",
31
- host,
32
- "--user",
33
- login,
34
- ])).trim();
35
- if (!token)
36
- throw new Error("GitHub CLI returned an empty token.");
37
- return token;
38
- }
39
- catch {
40
- throw new Error(`GitHub CLI could not provide credentials for @${login} on ${host}. Re-authenticate with gh auth login or choose another account.`);
41
- }
42
- }
43
- }
44
- export function parseGitHubCliAccounts(raw) {
45
- const parsed = JSON.parse(raw);
46
- if (!parsed.hosts || typeof parsed.hosts !== "object" || Array.isArray(parsed.hosts)) {
47
- throw new Error("GitHub CLI returned an unsupported account response.");
48
- }
49
- const accounts = [];
50
- for (const [host, entries] of Object.entries(parsed.hosts)) {
51
- if (!Array.isArray(entries))
52
- continue;
53
- for (const entry of entries) {
54
- if (!entry || typeof entry !== "object")
55
- continue;
56
- const candidate = entry;
57
- const login = typeof candidate.login === "string" ? candidate.login.trim() : "";
58
- const entryHost = typeof candidate.host === "string" ? candidate.host.trim() : host;
59
- if (!login || !entryHost)
60
- continue;
61
- accounts.push({
62
- host: entryHost,
63
- login,
64
- active: candidate.active === true,
65
- state: typeof candidate.state === "string" ? candidate.state : "unknown",
66
- });
67
- }
68
- }
69
- return accounts;
70
- }
71
- export async function resolveGitHubCredential(config, repository, remoteHost, cli = new GitHubCliAuth()) {
72
- const selection = repository?.githubCredential;
73
- if (selection?.host !== undefined && selection.host !== remoteHost) {
74
- throw new Error(`The selected GitHub credential is for ${selection.host}, but this repository uses ${remoteHost}.`);
75
- }
76
- if (selection?.source === "gh") {
77
- return {
78
- source: "gh",
79
- host: selection.host,
80
- login: selection.login,
81
- token: await cli.token(selection.host, selection.login),
82
- };
83
- }
84
- const host = selection?.host ?? remoteHost;
85
- const token = config.githubTokens.find((entry) => entry.host === host)?.token;
86
- if (!token) {
87
- const suffix = selection?.source === "stored" ? ` for ${host}` : "";
88
- throw new Error(`No stored GitHub token configured${suffix}. Choose a GitHub CLI account or connect GitHub.`);
89
- }
90
- return { source: "stored", host, token };
91
- }
92
- export function publicCredential(credential) {
93
- if (credential.source === "gh") {
94
- if (!credential.login)
95
- throw new Error("Resolved GitHub CLI credential is missing its login.");
96
- return { source: "gh", host: credential.host, login: credential.login };
97
- }
98
- return { source: "stored", host: credential.host };
99
- }
100
- async function runGh(args) {
101
- const env = { ...process.env };
102
- for (const name of [
103
- "GH_TOKEN",
104
- "GITHUB_TOKEN",
105
- "GH_ENTERPRISE_TOKEN",
106
- "GITHUB_ENTERPRISE_TOKEN",
107
- ]) {
108
- delete env[name];
109
- }
110
- env.GH_PROMPT_DISABLED = "1";
111
- const { stdout } = await execFileAsync("gh", args, {
112
- encoding: "utf8",
113
- env,
114
- maxBuffer: GH_MAX_BUFFER,
115
- timeout: GH_TIMEOUT_MS,
116
- });
117
- return stdout;
118
- }
119
- function validateGitHubIdentity(host, login) {
120
- const hasControlCharacter = [...host, ...login].some((char) => {
121
- const code = char.charCodeAt(0);
122
- return code <= 31 || code === 127;
123
- });
124
- if (!host.trim() || !login.trim() || hasControlCharacter) {
125
- throw new Error("Invalid GitHub host or account login.");
126
- }
127
- }
128
- function ghUnavailableMessage(error) {
129
- const code = error?.code;
130
- if (code === "ENOENT")
131
- return "GitHub CLI is not installed or is not available on PATH.";
132
- return "GitHub CLI account discovery is unavailable. Update gh and run gh auth login.";
133
- }
134
- //# sourceMappingURL=github-auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-auth.js","sourceRoot":"","sources":["../../src/core/github-auth.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { ConfigStore } from "./config-store.js";
2
- import { GitHubManager } from "./github-manager.js";
3
- import type { GitHubCredentialSelection, NoMoreIdeConfig } from "./types.js";
4
- export interface GitHubContext {
5
- manager: GitHubManager;
6
- owner: string;
7
- repo: string;
8
- credential: GitHubCredentialSelection;
9
- }
10
- export declare function requireGitHubContext(configStore: ConfigStore, gitCwd: string): Promise<GitHubContext>;
11
- export declare function optionalGitHubContext(configStore: ConfigStore, gitCwd: string): Promise<GitHubContext | null>;
12
- export declare function selectedGitHubCwd(config: NoMoreIdeConfig, fallbackCwd: string): string;
@@ -1,36 +0,0 @@
1
- import { GitManager } from "./git-manager.js";
2
- import { publicCredential, resolveGitHubCredential } from "./github-auth.js";
3
- import { GitHubManager } from "./github-manager.js";
4
- import { matchRegisteredRepository } from "./repo-match.js";
5
- export async function requireGitHubContext(configStore, gitCwd) {
6
- const config = await configStore.load();
7
- const git = new GitManager(gitCwd);
8
- const [remoteUrl, topLevel] = await Promise.all([git.remoteUrl("origin"), git.root()]);
9
- if (!remoteUrl)
10
- throw new Error("No git remote 'origin' found.");
11
- const parsed = GitHubManager.parseRemoteUrl(remoteUrl);
12
- if (!parsed)
13
- throw new Error(`Could not parse GitHub remote URL: ${remoteUrl}`);
14
- const repository = await matchRegisteredRepository(config, topLevel);
15
- const credential = await resolveGitHubCredential(config, repository, "github.com");
16
- return {
17
- manager: new GitHubManager(credential.token, parsed.owner, parsed.repo),
18
- owner: parsed.owner,
19
- repo: parsed.repo,
20
- credential: publicCredential(credential),
21
- };
22
- }
23
- export async function optionalGitHubContext(configStore, gitCwd) {
24
- try {
25
- return await requireGitHubContext(configStore, gitCwd);
26
- }
27
- catch {
28
- return null;
29
- }
30
- }
31
- export function selectedGitHubCwd(config, fallbackCwd) {
32
- const repository = config.gitRepositories.find((entry) => entry.name === config.selectedGitRepository)
33
- ?? config.gitRepositories[0];
34
- return repository?.activeWorktreePath ?? repository?.path ?? fallbackCwd;
35
- }
36
- //# sourceMappingURL=github-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-context.js","sourceRoot":"","sources":["../../src/core/github-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAc5D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAwB,EACxB,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;IAEhF,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACnF,OAAO;QACL,OAAO,EAAE,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;QACvE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,MAAc;IAEd,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAuB,EAAE,WAAmB;IAC5E,MAAM,UAAU,GACd,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,qBAAqB,CAAC;WAChF,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,UAAU,EAAE,kBAAkB,IAAI,UAAU,EAAE,IAAI,IAAI,WAAW,CAAC;AAC3E,CAAC"}
@@ -1,223 +0,0 @@
1
- export interface GitHubPR {
2
- number: number;
3
- title: string;
4
- state: "open" | "closed" | "merged";
5
- body: string | null;
6
- html_url: string;
7
- head: {
8
- ref: string;
9
- sha: string;
10
- };
11
- base: {
12
- ref: string;
13
- };
14
- user: {
15
- login: string;
16
- };
17
- created_at: string;
18
- updated_at: string;
19
- merged_at: string | null;
20
- draft: boolean;
21
- mergeable: boolean | null;
22
- }
23
- export interface GitHubIssue {
24
- number: number;
25
- title: string;
26
- state: "open" | "closed";
27
- body: string | null;
28
- html_url: string;
29
- user: {
30
- login: string;
31
- };
32
- labels: Array<{
33
- name: string;
34
- color: string;
35
- }>;
36
- created_at: string;
37
- updated_at: string;
38
- comments: number;
39
- pull_request?: object;
40
- }
41
- export interface GitHubComment {
42
- id: number;
43
- body: string;
44
- user: {
45
- login: string;
46
- };
47
- created_at: string;
48
- html_url: string;
49
- }
50
- export interface GitHubPRFile {
51
- path: string;
52
- status: string;
53
- additions: number;
54
- deletions: number;
55
- changes: number;
56
- patch?: string;
57
- blob_url: string;
58
- }
59
- export interface GitHubPRReview {
60
- id: number;
61
- state: string;
62
- body: string | null;
63
- user: {
64
- login: string;
65
- };
66
- submitted_at: string | null;
67
- html_url: string;
68
- }
69
- export interface GitHubBranchInfo {
70
- name: string;
71
- protected: boolean;
72
- commit: {
73
- sha: string;
74
- };
75
- }
76
- export interface GitHubCheckRun {
77
- id: number;
78
- name: string;
79
- status: string;
80
- conclusion: string | null;
81
- html_url: string;
82
- started_at: string | null;
83
- completed_at: string | null;
84
- }
85
- export interface CommitCIStatus {
86
- sha: string;
87
- state: "pending" | "success" | "failure" | "error" | "unknown";
88
- totalCount: number;
89
- runs: GitHubCheckRun[];
90
- }
91
- export interface GitHubWorkflowRun {
92
- id: number;
93
- name: string;
94
- status: string;
95
- conclusion: string | null;
96
- html_url: string;
97
- head_sha: string;
98
- head_branch: string;
99
- created_at: string;
100
- updated_at: string;
101
- run_number: number;
102
- event: string;
103
- }
104
- export interface GitHubWorkflowJobStep {
105
- name: string;
106
- status: string;
107
- conclusion: string | null;
108
- number: number;
109
- started_at: string | null;
110
- completed_at: string | null;
111
- }
112
- export interface GitHubWorkflowJob {
113
- id: number;
114
- run_id: number;
115
- html_url: string;
116
- status: string;
117
- conclusion: string | null;
118
- started_at: string | null;
119
- completed_at: string | null;
120
- name: string;
121
- steps: GitHubWorkflowJobStep[];
122
- }
123
- export interface GitHubViewer {
124
- login: string;
125
- /** Public avatar URL; cached at connect time so status calls stay free. */
126
- avatar_url?: string;
127
- /** Numeric account id — the stable half of GitHub's `noreply` commit address. */
128
- id?: number;
129
- /** Display name; null when the account has not set one. */
130
- name?: string | null;
131
- /** Public commit address; null when the account keeps its email private. */
132
- email?: string | null;
133
- }
134
- export interface GitHubRepoInfo {
135
- full_name: string;
136
- html_url: string;
137
- default_branch?: string;
138
- }
139
- export interface GitHubCompareCommit {
140
- sha: string;
141
- message: string;
142
- }
143
- export interface GitHubCompareFile {
144
- path: string;
145
- status: string;
146
- additions: number;
147
- deletions: number;
148
- changes: number;
149
- }
150
- export interface GitHubCompareSummary {
151
- status: string;
152
- aheadBy: number;
153
- headSha: string | null;
154
- commits: GitHubCompareCommit[];
155
- files: GitHubCompareFile[];
156
- }
157
- /** Drop every stored validator. Exported for tests and credential changes. */
158
- export declare function clearGitHubEtagCache(): void;
159
- export declare class GitHubApiError extends Error {
160
- readonly status: number;
161
- readonly path: string;
162
- constructor(message: string, status: number, path: string);
163
- }
164
- export declare class GitHubManager {
165
- private readonly token;
166
- private readonly owner;
167
- private readonly repo;
168
- private readonly baseUrl;
169
- constructor(token: string, owner: string, repo: string, baseUrl?: string);
170
- static parseRemoteUrl(remoteUrl: string): {
171
- owner: string;
172
- repo: string;
173
- } | null;
174
- viewer(): Promise<GitHubViewer>;
175
- repoInfo(): Promise<GitHubRepoInfo>;
176
- compareBranches(base: string, head: string): Promise<GitHubCompareSummary>;
177
- listBranches(): Promise<GitHubBranchInfo[]>;
178
- listPRs(state?: "open" | "closed" | "all", page?: number): Promise<GitHubPR[]>;
179
- getPR(number: number): Promise<GitHubPR>;
180
- getPRDiff(number: number): Promise<string>;
181
- listPRFiles(number: number): Promise<GitHubPRFile[]>;
182
- listPRReviews(number: number): Promise<GitHubPRReview[]>;
183
- createPR(opts: {
184
- title: string;
185
- body?: string;
186
- head: string;
187
- base: string;
188
- draft?: boolean;
189
- }): Promise<GitHubPR>;
190
- /**
191
- * Merge a pull request via the GitHub API. Defaults to a squash merge — the
192
- * common "Squash & merge" button behavior. GitHub rejects the call (405) if
193
- * the PR isn't mergeable (conflicts, failing required checks, branch
194
- * protection), and that message is surfaced to the caller.
195
- */
196
- mergePR(number: number, opts?: {
197
- method?: "merge" | "squash" | "rebase";
198
- commitTitle?: string;
199
- commitMessage?: string;
200
- }): Promise<{
201
- merged: boolean;
202
- sha: string;
203
- message: string;
204
- }>;
205
- listIssues(state?: "open" | "closed" | "all", page?: number): Promise<GitHubIssue[]>;
206
- getIssue(number: number): Promise<GitHubIssue>;
207
- createIssue(opts: {
208
- title: string;
209
- body?: string;
210
- }): Promise<GitHubIssue>;
211
- listIssueComments(number: number): Promise<GitHubComment[]>;
212
- addIssueComment(number: number, body: string): Promise<GitHubComment>;
213
- getCommitChecks(sha: string): Promise<CommitCIStatus>;
214
- listWorkflowRuns(branch?: string, page?: number): Promise<GitHubWorkflowRun[]>;
215
- listWorkflowRunJobs(runId: number): Promise<GitHubWorkflowJob[]>;
216
- private request;
217
- /**
218
- * Store this response's body against its ETag, when GitHub issued one. The
219
- * body is cloned on the way in as well as on the way out: the caller already
220
- * holds the original and is free to mutate it.
221
- */
222
- private cacheValidator;
223
- }