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,83 +0,0 @@
1
- export declare const CONTEXT_KINDS: readonly ["note", "project", "service", "file", "incident", "session"];
2
- export type ContextKind = (typeof CONTEXT_KINDS)[number];
3
- export interface ContextRef {
4
- kind: ContextKind;
5
- id: string;
6
- }
7
- export interface ContextLink {
8
- target: string;
9
- label?: string;
10
- embed: boolean;
11
- }
12
- export interface ContextItem {
13
- ref: ContextRef;
14
- title: string;
15
- kind: ContextKind;
16
- excerpt?: string;
17
- projectPath?: string;
18
- path?: string;
19
- updatedAt?: string;
20
- tags: string[];
21
- aliases: string[];
22
- pinned: boolean;
23
- editable: boolean;
24
- }
25
- export interface ContextNote extends ContextItem {
26
- kind: "note";
27
- body: string;
28
- revision: string;
29
- links: ContextLink[];
30
- projectPaths: string[];
31
- frontmatter: Record<string, unknown>;
32
- }
33
- export interface ContextGraphNode {
34
- ref: ContextRef;
35
- title: string;
36
- kind: ContextKind;
37
- pinned: boolean;
38
- unresolved?: boolean;
39
- }
40
- export interface ContextGraphEdge {
41
- from: ContextRef;
42
- to: ContextRef;
43
- type: "wiki" | "belongs-to" | "mentions" | "depends-on";
44
- }
45
- export interface ContextGraph {
46
- nodes: ContextGraphNode[];
47
- edges: ContextGraphEdge[];
48
- truncated: boolean;
49
- }
50
- export interface ContextAttachment {
51
- refs: ContextRef[];
52
- includePinned: boolean;
53
- }
54
- export interface ContextPreview {
55
- context: string;
56
- estimatedTokens: number;
57
- resolved: ContextItem[];
58
- missing: ContextRef[];
59
- warnings: string[];
60
- }
61
- export interface ContextLibrarySnapshot {
62
- vaultPath: string;
63
- items: ContextItem[];
64
- pinned: ContextRef[];
65
- diagnostics: string[];
66
- truncated: boolean;
67
- }
68
- export interface CreateContextNoteInput {
69
- title: string;
70
- body?: string;
71
- projectPaths?: string[];
72
- tags?: string[];
73
- aliases?: string[];
74
- sourceKey?: string;
75
- }
76
- export interface UpdateContextNoteInput {
77
- title: string;
78
- body: string;
79
- projectPaths: string[];
80
- tags: string[];
81
- aliases: string[];
82
- revision: string;
83
- }
@@ -1,9 +0,0 @@
1
- export const CONTEXT_KINDS = [
2
- "note",
3
- "project",
4
- "service",
5
- "file",
6
- "incident",
7
- "session",
8
- ];
9
- //# sourceMappingURL=context-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-types.js","sourceRoot":"","sources":["../../src/core/context-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;CACD,CAAC"}
@@ -1,70 +0,0 @@
1
- import type { NoMoreIdeStatus } from "./process-manager.js";
2
- import type { PortHolder } from "./port-utils.js";
3
- import type { TerminalSessionInfo } from "./terminal-manager.js";
4
- import type { LogEntry, NoMoreIdeConfig, ServiceStatus, TimelineEvent } from "./types.js";
5
- import { type DaemonLifecycleOptions, type EnsureDaemonResult } from "./daemon-lifecycle.js";
6
- /** Non-2xx daemon response that isn't a port conflict. */
7
- export declare class DaemonRequestError extends Error {
8
- readonly httpStatus: number;
9
- constructor(message: string, httpStatus: number);
10
- }
11
- /** Mirrors the daemon's serialized PortConflictError (HTTP 409 + conflict body). */
12
- export declare class DaemonPortConflictError extends Error {
13
- readonly port: number;
14
- readonly holder: PortHolder | null;
15
- readonly code = "PORT_IN_USE";
16
- constructor(message: string, port: number, holder: PortHolder | null);
17
- }
18
- export interface StartOptions {
19
- killHolder?: boolean;
20
- }
21
- /** Subset of the `/api/dashboard` payload the clients consume. */
22
- export interface DaemonDashboard {
23
- ok: boolean;
24
- config: NoMoreIdeConfig;
25
- runtime: NoMoreIdeStatus;
26
- health: unknown;
27
- timeline: TimelineEvent[];
28
- }
29
- export interface DaemonClientOptions {
30
- fetch?: typeof fetch;
31
- }
32
- /**
33
- * Typed fetch client for the daemon's existing HTTP API. Thin by design:
34
- * every method maps 1:1 onto a route the web UI already uses.
35
- */
36
- export declare class DaemonClient {
37
- readonly url: string;
38
- private readonly fetchFn;
39
- constructor(url: string, options?: DaemonClientOptions);
40
- status(): Promise<NoMoreIdeStatus>;
41
- dashboard(): Promise<DaemonDashboard>;
42
- logs(name: string, lines?: number): Promise<LogEntry[]>;
43
- timeline(limit?: number): Promise<TimelineEvent[]>;
44
- startService(name: string, options?: StartOptions): Promise<ServiceStatus>;
45
- stopService(name: string): Promise<ServiceStatus>;
46
- restartService(name: string, options?: StartOptions): Promise<ServiceStatus>;
47
- startBundle(name: string): Promise<ServiceStatus[]>;
48
- stopBundle(name: string): Promise<ServiceStatus[]>;
49
- restartBundle(name: string): Promise<ServiceStatus[]>;
50
- /** Asks the daemon to stop every service and exit. */
51
- shutdown(): Promise<void>;
52
- listTerminalSessions(): Promise<TerminalSessionInfo[]>;
53
- openTerminal(id: string): Promise<TerminalSessionInfo>;
54
- reclaimTerminal(id: string): Promise<TerminalSessionInfo>;
55
- private serviceAction;
56
- private bundleAction;
57
- private request;
58
- }
59
- /**
60
- * Lazy daemon handle shared by MCP/CLI/TUI: every `client()` call re-runs
61
- * `ensureDaemon` (one local health round-trip on the happy path), so a daemon
62
- * that died mid-session is respawned instead of surfacing connection errors.
63
- */
64
- export interface DaemonConnection {
65
- ensure(): Promise<EnsureDaemonResult>;
66
- client(): Promise<DaemonClient>;
67
- /** A client for an already-running daemon, or null — never spawns one. */
68
- existing(): Promise<DaemonClient | null>;
69
- }
70
- export declare function createDaemonConnection(options?: DaemonLifecycleOptions): DaemonConnection;
@@ -1,136 +0,0 @@
1
- import { defaultDaemonStatePath, ensureDaemon, probeDaemon, readDaemonState, resolveDaemonPort, } from "./daemon-lifecycle.js";
2
- /** Non-2xx daemon response that isn't a port conflict. */
3
- export class DaemonRequestError extends Error {
4
- httpStatus;
5
- constructor(message, httpStatus) {
6
- super(message);
7
- this.httpStatus = httpStatus;
8
- this.name = "DaemonRequestError";
9
- }
10
- }
11
- /** Mirrors the daemon's serialized PortConflictError (HTTP 409 + conflict body). */
12
- export class DaemonPortConflictError extends Error {
13
- port;
14
- holder;
15
- code = "PORT_IN_USE";
16
- constructor(message, port, holder) {
17
- super(message);
18
- this.port = port;
19
- this.holder = holder;
20
- this.name = "DaemonPortConflictError";
21
- }
22
- }
23
- /**
24
- * Typed fetch client for the daemon's existing HTTP API. Thin by design:
25
- * every method maps 1:1 onto a route the web UI already uses.
26
- */
27
- export class DaemonClient {
28
- url;
29
- fetchFn;
30
- constructor(url, options = {}) {
31
- this.url = url;
32
- this.fetchFn = options.fetch ?? fetch;
33
- }
34
- async status() {
35
- const body = await this.request("GET", "/api/status");
36
- return body.status;
37
- }
38
- async dashboard() {
39
- return await this.request("GET", "/api/dashboard");
40
- }
41
- async logs(name, lines = 200) {
42
- const body = await this.request("GET", `/api/services/${encodeURIComponent(name)}/logs?lines=${lines}`);
43
- return body.logs;
44
- }
45
- async timeline(limit = 120) {
46
- const body = await this.request("GET", `/api/timeline?limit=${limit}`);
47
- return body.timeline;
48
- }
49
- async startService(name, options = {}) {
50
- return await this.serviceAction(name, "start", options);
51
- }
52
- async stopService(name) {
53
- return await this.serviceAction(name, "stop");
54
- }
55
- async restartService(name, options = {}) {
56
- return await this.serviceAction(name, "restart", options);
57
- }
58
- async startBundle(name) {
59
- return await this.bundleAction(name, "start");
60
- }
61
- async stopBundle(name) {
62
- return await this.bundleAction(name, "stop");
63
- }
64
- async restartBundle(name) {
65
- return await this.bundleAction(name, "restart");
66
- }
67
- /** Asks the daemon to stop every service and exit. */
68
- async shutdown() {
69
- await this.request("POST", "/api/daemon/shutdown");
70
- }
71
- async listTerminalSessions() {
72
- const body = await this.request("GET", "/api/terminal/sessions");
73
- return body.sessions;
74
- }
75
- async openTerminal(id) {
76
- const body = await this.request("POST", `/api/terminal/sessions/${encodeURIComponent(id)}/open-system-terminal`, undefined, { "x-nomoreide-terminal-control": "1" });
77
- return body.session;
78
- }
79
- async reclaimTerminal(id) {
80
- const body = await this.request("POST", `/api/terminal/sessions/${encodeURIComponent(id)}/reclaim-dock`, undefined, { "x-nomoreide-terminal-control": "1" });
81
- return body.session;
82
- }
83
- async serviceAction(name, action, options = {}) {
84
- const form = new URLSearchParams();
85
- if (options.killHolder)
86
- form.set("strategy", "killHolder");
87
- const body = await this.request("POST", `/api/services/${encodeURIComponent(name)}/${action}`, form);
88
- return body.status;
89
- }
90
- async bundleAction(name, action) {
91
- const body = await this.request("POST", `/api/bundles/${encodeURIComponent(name)}/${action}`);
92
- return body.statuses;
93
- }
94
- async request(method, path, form, headers) {
95
- const response = await this.fetchFn(new URL(path, this.url), {
96
- method,
97
- ...(form
98
- ? {
99
- body: form.toString(),
100
- headers: {
101
- "content-type": "application/x-www-form-urlencoded",
102
- ...headers,
103
- },
104
- }
105
- : headers ? { headers } : {}),
106
- });
107
- const body = (await response.json().catch(() => ({})));
108
- if (!response.ok || body.ok === false) {
109
- const message = body.error ?? `Daemon request failed (${response.status})`;
110
- if (body.conflict?.code === "PORT_IN_USE") {
111
- throw new DaemonPortConflictError(message, body.conflict.port ?? 0, body.conflict.holder ?? null);
112
- }
113
- throw new DaemonRequestError(message, response.status);
114
- }
115
- return body;
116
- }
117
- }
118
- export function createDaemonConnection(options = {}) {
119
- return {
120
- ensure: () => ensureDaemon(options),
121
- async client() {
122
- const ensured = await ensureDaemon(options);
123
- return new DaemonClient(ensured.url, { fetch: options.fetch });
124
- },
125
- async existing() {
126
- const state = await readDaemonState(options.statePath ?? defaultDaemonStatePath());
127
- const url = state?.url ??
128
- `http://127.0.0.1:${options.port ?? resolveDaemonPort(options.env)}`;
129
- const probe = await probeDaemon(url, options.fetch);
130
- if (probe.kind !== "nomoreide")
131
- return null;
132
- return new DaemonClient(url, { fetch: options.fetch });
133
- },
134
- };
135
- }
136
- //# sourceMappingURL=daemon-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../src/core/daemon-client.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Discovery/spawn of the single machine-global NoMoreIDE daemon (the web
3
- * server started detached via `nomoreide daemon`). Every session — MCP, CLI,
4
- * TUI, `nomoreide web` — calls {@link ensureDaemon} and talks HTTP to the
5
- * winner instead of owning its own ProcessManager, so spawned services
6
- * survive session exits and are visible everywhere.
7
- */
8
- export interface DaemonState {
9
- pid: number;
10
- url: string;
11
- port: number;
12
- version?: string;
13
- startedAt: string;
14
- }
15
- /** Shape `/api/health` answers with (daemon adds version + pid). */
16
- export interface DaemonHealth {
17
- version?: string;
18
- pid?: number;
19
- }
20
- export interface EnsureDaemonResult {
21
- status: "already_running" | "adopted" | "started";
22
- url: string;
23
- port: number;
24
- /** Daemon pid — 0 when the daemon predates health `pid` reporting. */
25
- pid: number;
26
- /** Set when the daemon runs a different nomoreide version than this client. */
27
- versionWarning?: string;
28
- }
29
- export interface DaemonLifecycleOptions {
30
- /** Defaults to `~/.nomoreide/daemon.json`. */
31
- statePath?: string;
32
- /** Defaults to `NOMOREIDE_DAEMON_PORT` or 4317. */
33
- port?: number;
34
- env?: NodeJS.ProcessEnv;
35
- fetch?: typeof fetch;
36
- /** Injectable for tests; defaults to detaching `node <entry> daemon`. */
37
- spawnDaemon?: (entryPath: string, port: number) => void;
38
- /** Compiled CLI entry (`dist/index.js`); resolved from this module by default. */
39
- entryPath?: string;
40
- pollTimeoutMs?: number;
41
- pollIntervalMs?: number;
42
- /** Pid-liveness probe, injectable for tests. */
43
- isPidAlive?: (pid: number) => boolean;
44
- }
45
- export declare function defaultDaemonStatePath(): string;
46
- export declare function resolveDaemonPort(env?: NodeJS.ProcessEnv): number;
47
- export declare function ensureDaemon(options?: DaemonLifecycleOptions): Promise<EnsureDaemonResult>;
48
- export declare function readDaemonState(statePath: string): Promise<DaemonState | null>;
49
- type DaemonProbe = {
50
- kind: "nomoreide";
51
- health: DaemonHealth;
52
- } | {
53
- kind: "foreign";
54
- } | {
55
- kind: "down";
56
- };
57
- /** `nomoreide` when `/api/health` answers with our shape, `foreign` when something else holds the port. */
58
- export declare function probeDaemon(url: string, fetchFn?: typeof fetch): Promise<DaemonProbe>;
59
- export {};
@@ -1,147 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { existsSync } from "node:fs";
3
- import { readFile, rm } from "node:fs/promises";
4
- import { homedir } from "node:os";
5
- import { join } from "node:path";
6
- import { fileURLToPath } from "node:url";
7
- import { appVersion } from "./app-version.js";
8
- import { isPidAlive } from "./service-registry.js";
9
- export function defaultDaemonStatePath() {
10
- return join(homedir(), ".nomoreide", "daemon.json");
11
- }
12
- export function resolveDaemonPort(env = process.env) {
13
- const fromEnv = Number(env.NOMOREIDE_DAEMON_PORT);
14
- return Number.isInteger(fromEnv) && fromEnv > 0 ? fromEnv : 4317;
15
- }
16
- export async function ensureDaemon(options = {}) {
17
- const statePath = options.statePath ?? defaultDaemonStatePath();
18
- const port = options.port ?? resolveDaemonPort(options.env);
19
- const fetchFn = options.fetch ?? fetch;
20
- const pidAlive = options.isPidAlive ?? isPidAlive;
21
- const url = `http://127.0.0.1:${port}`;
22
- const state = await readDaemonState(statePath);
23
- if (state && pidAlive(state.pid)) {
24
- const probe = await probeDaemon(state.url, fetchFn);
25
- if (probe.kind === "nomoreide") {
26
- return {
27
- status: "already_running",
28
- url: state.url,
29
- port: state.port,
30
- pid: probe.health.pid ?? state.pid,
31
- versionWarning: versionWarning(probe.health),
32
- };
33
- }
34
- }
35
- if (state) {
36
- await rm(statePath, { force: true });
37
- }
38
- const probe = await probeDaemon(url, fetchFn);
39
- if (probe.kind === "nomoreide") {
40
- return {
41
- status: "adopted",
42
- url,
43
- port,
44
- pid: probe.health.pid ?? 0,
45
- versionWarning: versionWarning(probe.health),
46
- };
47
- }
48
- if (probe.kind === "foreign") {
49
- throw new Error(foreignPortMessage(port));
50
- }
51
- const spawnFn = options.spawnDaemon ?? spawnDetachedDaemon;
52
- spawnFn(resolveEntryPath(options.entryPath), port);
53
- const timeoutMs = options.pollTimeoutMs ?? 10_000;
54
- const intervalMs = options.pollIntervalMs ?? 250;
55
- const deadline = Date.now() + timeoutMs;
56
- // If two sessions raced, the loser's daemon exits on the port conflict and
57
- // this poll simply adopts whichever daemon won the bind.
58
- while (Date.now() < deadline) {
59
- const attempt = await probeDaemon(url, fetchFn);
60
- if (attempt.kind === "nomoreide") {
61
- return {
62
- status: "started",
63
- url,
64
- port,
65
- pid: attempt.health.pid ?? 0,
66
- versionWarning: versionWarning(attempt.health),
67
- };
68
- }
69
- if (attempt.kind === "foreign") {
70
- throw new Error(foreignPortMessage(port));
71
- }
72
- await sleep(intervalMs);
73
- }
74
- throw new Error(`NoMoreIDE daemon did not become healthy on port ${port} within ${timeoutMs}ms. ` +
75
- `Check \`nomoreide daemon\` output or pick another port via NOMOREIDE_DAEMON_PORT.`);
76
- }
77
- export async function readDaemonState(statePath) {
78
- try {
79
- const parsed = JSON.parse(await readFile(statePath, "utf8"));
80
- if (typeof parsed.pid !== "number" ||
81
- typeof parsed.url !== "string" ||
82
- typeof parsed.port !== "number") {
83
- return null;
84
- }
85
- return parsed;
86
- }
87
- catch {
88
- return null;
89
- }
90
- }
91
- /** `nomoreide` when `/api/health` answers with our shape, `foreign` when something else holds the port. */
92
- export async function probeDaemon(url, fetchFn = fetch) {
93
- let response;
94
- try {
95
- response = await fetchFn(new URL("/api/health", url));
96
- }
97
- catch {
98
- return { kind: "down" };
99
- }
100
- try {
101
- const body = (await response.json());
102
- if (!response.ok || body.ok !== true || body.app !== "nomoreide") {
103
- return { kind: "foreign" };
104
- }
105
- return {
106
- kind: "nomoreide",
107
- health: {
108
- version: typeof body.version === "string" ? body.version : undefined,
109
- pid: typeof body.pid === "number" ? body.pid : undefined,
110
- },
111
- };
112
- }
113
- catch {
114
- return { kind: "foreign" };
115
- }
116
- }
117
- function versionWarning(health) {
118
- const clientVersion = appVersion();
119
- if (!health.version || health.version === clientVersion)
120
- return undefined;
121
- // Never auto-kill on skew — the daemon owns running services.
122
- return (`NoMoreIDE daemon is v${health.version} but this client is v${clientVersion}. ` +
123
- `Run \`nomoreide daemon restart\` to update it (this stops the services it manages).`);
124
- }
125
- function foreignPortMessage(port) {
126
- return (`Port ${port} is held by a process that is not a NoMoreIDE daemon. ` +
127
- `Stop it or set NOMOREIDE_DAEMON_PORT to use a different port.`);
128
- }
129
- function resolveEntryPath(override) {
130
- const entryPath = override ?? fileURLToPath(new URL("../index.js", import.meta.url));
131
- if (!existsSync(entryPath)) {
132
- throw new Error(`Cannot find the nomoreide entry point at ${entryPath} to spawn the daemon ` +
133
- `(running from source? build first or run \`nomoreide daemon\` yourself).`);
134
- }
135
- return entryPath;
136
- }
137
- function spawnDetachedDaemon(entryPath, port) {
138
- const child = spawn(process.execPath, [entryPath, "daemon", `--port=${port}`], {
139
- detached: true,
140
- stdio: "ignore",
141
- });
142
- child.unref();
143
- }
144
- function sleep(ms) {
145
- return new Promise((resolveSleep) => setTimeout(resolveSleep, ms));
146
- }
147
- //# sourceMappingURL=daemon-lifecycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon-lifecycle.js","sourceRoot":"","sources":["../../src/core/daemon-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import type { ColumnInfo, TableRef } from "./driver.js";
2
- export type DatabaseObjectKind = "table" | "view" | "materializedView" | "function" | "procedure" | "sequence";
3
- export interface DatabaseCapabilities {
4
- objectKinds: DatabaseObjectKind[];
5
- tableDetails: Array<"columns" | "indexes" | "constraints" | "triggers">;
6
- }
7
- export interface DatabaseSchema {
8
- name: string;
9
- }
10
- export interface DatabaseObject {
11
- /** Opaque server-issued key; callers must never construct or parse it. */
12
- key: string;
13
- schema: string;
14
- name: string;
15
- kind: DatabaseObjectKind;
16
- qualifiedName: string;
17
- /** Engine-native identity included only to disambiguate live catalog entries. */
18
- nativeId?: string;
19
- }
20
- export interface DatabaseIndex {
21
- name: string;
22
- definition: string;
23
- unique: boolean;
24
- }
25
- export interface DatabaseConstraint {
26
- name: string;
27
- type: string;
28
- definition: string;
29
- }
30
- export interface DatabaseTrigger {
31
- name: string;
32
- definition: string;
33
- }
34
- export interface DatabaseObjectDetails {
35
- object: DatabaseObject;
36
- columns: ColumnInfo[];
37
- indexes: DatabaseIndex[];
38
- constraints: DatabaseConstraint[];
39
- triggers: DatabaseTrigger[];
40
- /** Function/view/trigger definition, capped before it leaves the core. */
41
- definition?: string;
42
- /** Executable DDL that recreates this object, capped before it leaves the core. */
43
- createScript?: string;
44
- }
45
- interface ObjectIdentity {
46
- schema: string;
47
- name: string;
48
- kind: DatabaseObjectKind;
49
- nativeId?: string;
50
- }
51
- export declare function objectKey(identity: ObjectIdentity): string;
52
- export declare function objectFromIdentity(identity: ObjectIdentity): DatabaseObject;
53
- /** Resolve an opaque key only by equality against a freshly-read live catalog. */
54
- export declare function resolveCatalogObject(objects: DatabaseObject[], key: string): DatabaseObject;
55
- export declare function tableRefForObject(object: DatabaseObject): TableRef;
56
- export declare function capDefinition(value: string | null | undefined): string | undefined;
57
- export {};
@@ -1,38 +0,0 @@
1
- const DEFINITION_LIMIT = 64 * 1024;
2
- export function objectKey(identity) {
3
- return Buffer.from(JSON.stringify(identity), "utf8").toString("base64url");
4
- }
5
- export function objectFromIdentity(identity) {
6
- return {
7
- ...identity,
8
- key: objectKey(identity),
9
- qualifiedName: identity.schema === "main"
10
- ? identity.name
11
- : `${identity.schema}.${identity.name}`,
12
- };
13
- }
14
- /** Resolve an opaque key only by equality against a freshly-read live catalog. */
15
- export function resolveCatalogObject(objects, key) {
16
- const object = objects.find((candidate) => candidate.key === key);
17
- if (!object)
18
- throw new Error("Database object was not found in the live catalog.");
19
- return object;
20
- }
21
- export function tableRefForObject(object) {
22
- if (object.kind !== "table" && object.kind !== "view" && object.kind !== "materializedView") {
23
- throw new Error(`Database object "${object.qualifiedName}" cannot be sampled.`);
24
- }
25
- return {
26
- schema: object.schema,
27
- name: object.name,
28
- qualifiedName: object.qualifiedName,
29
- };
30
- }
31
- export function capDefinition(value) {
32
- if (!value)
33
- return undefined;
34
- return value.length <= DEFINITION_LIMIT
35
- ? value
36
- : `${value.slice(0, DEFINITION_LIMIT)}\n-- Definition truncated by NoMoreIDE.`;
37
- }
38
- //# sourceMappingURL=catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/core/db/catalog.ts"],"names":[],"mappings":"AAkEA,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAM,UAAU,SAAS,CAAC,QAAwB;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAwB;IACzD,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC;QACxB,aAAa,EACX,QAAQ,CAAC,MAAM,KAAK,MAAM;YACxB,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAClC,OAAyB,EACzB,GAAW;IAEX,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,aAAa,sBAAsB,CAAC,CAAC;IAClF,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAgC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,MAAM,IAAI,gBAAgB;QACrC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,yCAAyC,CAAC;AACnF,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function isSensitiveDatabaseColumn(name: string): boolean;
2
- export declare function maskDatabaseRow(row: Record<string, unknown>): Record<string, unknown>;
3
- export declare function maskDatabaseRows(rows: Array<Record<string, unknown>>): Array<Record<string, unknown>>;
@@ -1,14 +0,0 @@
1
- const SENSITIVE_COLUMN = /(^|_)(password|passwd|pwd|secret|token|api_?key|access_?key|private_?key|credential|authorization|cookie)(_|$)/i;
2
- export function isSensitiveDatabaseColumn(name) {
3
- return SENSITIVE_COLUMN.test(name);
4
- }
5
- export function maskDatabaseRow(row) {
6
- return Object.fromEntries(Object.entries(row).map(([column, value]) => [
7
- column,
8
- isSensitiveDatabaseColumn(column) && value !== null ? "••••" : value,
9
- ]));
10
- }
11
- export function maskDatabaseRows(rows) {
12
- return rows.map(maskDatabaseRow);
13
- }
14
- //# sourceMappingURL=data-masking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-masking.js","sourceRoot":"","sources":["../../../src/core/db/data-masking.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GACpB,iHAAiH,CAAC;AAEpH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAA4B;IAC1D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM;QACN,yBAAyB,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;KACrE,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAoC;IAEpC,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC"}