nomoreide 0.2.0 → 0.3.2

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 (624) hide show
  1. package/README.md +12 -9
  2. package/bin/nomoreide.js +82 -0
  3. package/package.json +24 -132
  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 -359
  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 -258
  149. package/dist/core/cloudflare-manager.js +0 -414
  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 -348
  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 -84
  167. package/dist/core/daemon-client.js +0 -156
  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 -230
  254. package/dist/core/github-manager.js +0 -324
  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/api-base.d.ts +0 -24
  296. package/dist/core/providers/api-base.js +0 -44
  297. package/dist/core/providers/api-base.js.map +0 -1
  298. package/dist/core/providers/credentials.d.ts +0 -93
  299. package/dist/core/providers/credentials.js +0 -88
  300. package/dist/core/providers/credentials.js.map +0 -1
  301. package/dist/core/providers/deploy-provider.d.ts +0 -327
  302. package/dist/core/providers/deploy-provider.js +0 -25
  303. package/dist/core/providers/deploy-provider.js.map +0 -1
  304. package/dist/core/providers/egress.d.ts +0 -58
  305. package/dist/core/providers/egress.js +0 -124
  306. package/dist/core/providers/egress.js.map +0 -1
  307. package/dist/core/providers/host-bridge.d.ts +0 -20
  308. package/dist/core/providers/host-bridge.js +0 -57
  309. package/dist/core/providers/host-bridge.js.map +0 -1
  310. package/dist/core/providers/host-provider.d.ts +0 -160
  311. package/dist/core/providers/host-provider.js +0 -2
  312. package/dist/core/providers/host-provider.js.map +0 -1
  313. package/dist/core/providers/oauth.d.ts +0 -97
  314. package/dist/core/providers/oauth.js +0 -238
  315. package/dist/core/providers/oauth.js.map +0 -1
  316. package/dist/core/providers/project-resolution.d.ts +0 -81
  317. package/dist/core/providers/project-resolution.js +0 -101
  318. package/dist/core/providers/project-resolution.js.map +0 -1
  319. package/dist/core/providers/registry.d.ts +0 -73
  320. package/dist/core/providers/registry.js +0 -53
  321. package/dist/core/providers/registry.js.map +0 -1
  322. package/dist/core/providers/strings.d.ts +0 -95
  323. package/dist/core/providers/strings.js +0 -59
  324. package/dist/core/providers/strings.js.map +0 -1
  325. package/dist/core/public-config.d.ts +0 -18
  326. package/dist/core/public-config.js +0 -76
  327. package/dist/core/public-config.js.map +0 -1
  328. package/dist/core/read-only-files.d.ts +0 -28
  329. package/dist/core/read-only-files.js +0 -93
  330. package/dist/core/read-only-files.js.map +0 -1
  331. package/dist/core/repo-create.d.ts +0 -11
  332. package/dist/core/repo-create.js +0 -54
  333. package/dist/core/repo-create.js.map +0 -1
  334. package/dist/core/repo-match.d.ts +0 -12
  335. package/dist/core/repo-match.js +0 -40
  336. package/dist/core/repo-match.js.map +0 -1
  337. package/dist/core/repo-onboard.d.ts +0 -297
  338. package/dist/core/repo-onboard.js +0 -667
  339. package/dist/core/repo-onboard.js.map +0 -1
  340. package/dist/core/repro-bundle.d.ts +0 -30
  341. package/dist/core/repro-bundle.js +0 -116
  342. package/dist/core/repro-bundle.js.map +0 -1
  343. package/dist/core/service-graph.d.ts +0 -50
  344. package/dist/core/service-graph.js +0 -143
  345. package/dist/core/service-graph.js.map +0 -1
  346. package/dist/core/service-health.d.ts +0 -10
  347. package/dist/core/service-health.js +0 -46
  348. package/dist/core/service-health.js.map +0 -1
  349. package/dist/core/service-log-source.d.ts +0 -9
  350. package/dist/core/service-log-source.js +0 -49
  351. package/dist/core/service-log-source.js.map +0 -1
  352. package/dist/core/service-registry.d.ts +0 -52
  353. package/dist/core/service-registry.js +0 -101
  354. package/dist/core/service-registry.js.map +0 -1
  355. package/dist/core/snapshot-manager.d.ts +0 -62
  356. package/dist/core/snapshot-manager.js +0 -219
  357. package/dist/core/snapshot-manager.js.map +0 -1
  358. package/dist/core/ssh-servers.d.ts +0 -89
  359. package/dist/core/ssh-servers.js +0 -251
  360. package/dist/core/ssh-servers.js.map +0 -1
  361. package/dist/core/ssh-service-runner.d.ts +0 -7
  362. package/dist/core/ssh-service-runner.js +0 -36
  363. package/dist/core/ssh-service-runner.js.map +0 -1
  364. package/dist/core/ssh-setup.d.ts +0 -11
  365. package/dist/core/ssh-setup.js +0 -49
  366. package/dist/core/ssh-setup.js.map +0 -1
  367. package/dist/core/system-processes.d.ts +0 -29
  368. package/dist/core/system-processes.js +0 -119
  369. package/dist/core/system-processes.js.map +0 -1
  370. package/dist/core/terminal-manager.d.ts +0 -123
  371. package/dist/core/terminal-manager.js +0 -470
  372. package/dist/core/terminal-manager.js.map +0 -1
  373. package/dist/core/terminal-session.d.ts +0 -122
  374. package/dist/core/terminal-session.js +0 -242
  375. package/dist/core/terminal-session.js.map +0 -1
  376. package/dist/core/terminal-spawn.d.ts +0 -26
  377. package/dist/core/terminal-spawn.js +0 -63
  378. package/dist/core/terminal-spawn.js.map +0 -1
  379. package/dist/core/test-runner.d.ts +0 -69
  380. package/dist/core/test-runner.js +0 -199
  381. package/dist/core/test-runner.js.map +0 -1
  382. package/dist/core/timeline-store.d.ts +0 -20
  383. package/dist/core/timeline-store.js +0 -36
  384. package/dist/core/timeline-store.js.map +0 -1
  385. package/dist/core/tool-call-store.d.ts +0 -25
  386. package/dist/core/tool-call-store.js +0 -62
  387. package/dist/core/tool-call-store.js.map +0 -1
  388. package/dist/core/types.d.ts +0 -312
  389. package/dist/core/types.js +0 -2
  390. package/dist/core/types.js.map +0 -1
  391. package/dist/core/usage-history.d.ts +0 -81
  392. package/dist/core/usage-history.js +0 -149
  393. package/dist/core/usage-history.js.map +0 -1
  394. package/dist/core/vercel-actions.d.ts +0 -71
  395. package/dist/core/vercel-actions.js +0 -109
  396. package/dist/core/vercel-actions.js.map +0 -1
  397. package/dist/core/vercel-auth.d.ts +0 -40
  398. package/dist/core/vercel-auth.js +0 -88
  399. package/dist/core/vercel-auth.js.map +0 -1
  400. package/dist/core/vercel-context.d.ts +0 -2
  401. package/dist/core/vercel-context.js +0 -97
  402. package/dist/core/vercel-context.js.map +0 -1
  403. package/dist/core/vercel-manager.d.ts +0 -268
  404. package/dist/core/vercel-manager.js +0 -401
  405. package/dist/core/vercel-manager.js.map +0 -1
  406. package/dist/core/vercel-oauth.d.ts +0 -37
  407. package/dist/core/vercel-oauth.js +0 -57
  408. package/dist/core/vercel-oauth.js.map +0 -1
  409. package/dist/core/vercel-provider.d.ts +0 -23
  410. package/dist/core/vercel-provider.js +0 -276
  411. package/dist/core/vercel-provider.js.map +0 -1
  412. package/dist/core/vultr-actions.d.ts +0 -52
  413. package/dist/core/vultr-actions.js +0 -62
  414. package/dist/core/vultr-actions.js.map +0 -1
  415. package/dist/core/vultr-auth.d.ts +0 -32
  416. package/dist/core/vultr-auth.js +0 -54
  417. package/dist/core/vultr-auth.js.map +0 -1
  418. package/dist/core/vultr-context.d.ts +0 -2
  419. package/dist/core/vultr-context.js +0 -55
  420. package/dist/core/vultr-context.js.map +0 -1
  421. package/dist/core/vultr-manager.d.ts +0 -113
  422. package/dist/core/vultr-manager.js +0 -170
  423. package/dist/core/vultr-manager.js.map +0 -1
  424. package/dist/core/vultr-provider.d.ts +0 -69
  425. package/dist/core/vultr-provider.js +0 -226
  426. package/dist/core/vultr-provider.js.map +0 -1
  427. package/dist/core/workflow-triggers.d.ts +0 -139
  428. package/dist/core/workflow-triggers.js +0 -208
  429. package/dist/core/workflow-triggers.js.map +0 -1
  430. package/dist/core/workflows.d.ts +0 -290
  431. package/dist/core/workflows.js +0 -190
  432. package/dist/core/workflows.js.map +0 -1
  433. package/dist/index.d.ts +0 -2
  434. package/dist/index.js +0 -66
  435. package/dist/index.js.map +0 -1
  436. package/dist/mcp/server.d.ts +0 -37
  437. package/dist/mcp/server.js +0 -84
  438. package/dist/mcp/server.js.map +0 -1
  439. package/dist/mcp/tools/agent-env.d.ts +0 -9
  440. package/dist/mcp/tools/agent-env.js +0 -160
  441. package/dist/mcp/tools/agent-env.js.map +0 -1
  442. package/dist/mcp/tools/agent-profiles.d.ts +0 -9
  443. package/dist/mcp/tools/agent-profiles.js +0 -197
  444. package/dist/mcp/tools/agent-profiles.js.map +0 -1
  445. package/dist/mcp/tools/agent-registry.d.ts +0 -9
  446. package/dist/mcp/tools/agent-registry.js +0 -81
  447. package/dist/mcp/tools/agent-registry.js.map +0 -1
  448. package/dist/mcp/tools/agent.d.ts +0 -4
  449. package/dist/mcp/tools/agent.js +0 -29
  450. package/dist/mcp/tools/agent.js.map +0 -1
  451. package/dist/mcp/tools/context.d.ts +0 -36
  452. package/dist/mcp/tools/context.js +0 -69
  453. package/dist/mcp/tools/context.js.map +0 -1
  454. package/dist/mcp/tools/database.d.ts +0 -9
  455. package/dist/mcp/tools/database.js +0 -166
  456. package/dist/mcp/tools/database.js.map +0 -1
  457. package/dist/mcp/tools/docs.d.ts +0 -29
  458. package/dist/mcp/tools/docs.js +0 -134
  459. package/dist/mcp/tools/docs.js.map +0 -1
  460. package/dist/mcp/tools/errors.d.ts +0 -12
  461. package/dist/mcp/tools/errors.js +0 -47
  462. package/dist/mcp/tools/errors.js.map +0 -1
  463. package/dist/mcp/tools/git.d.ts +0 -4
  464. package/dist/mcp/tools/git.js +0 -209
  465. package/dist/mcp/tools/git.js.map +0 -1
  466. package/dist/mcp/tools/github.d.ts +0 -4
  467. package/dist/mcp/tools/github.js +0 -196
  468. package/dist/mcp/tools/github.js.map +0 -1
  469. package/dist/mcp/tools/index.d.ts +0 -36
  470. package/dist/mcp/tools/index.js +0 -61
  471. package/dist/mcp/tools/index.js.map +0 -1
  472. package/dist/mcp/tools/onboard.d.ts +0 -10
  473. package/dist/mcp/tools/onboard.js +0 -30
  474. package/dist/mcp/tools/onboard.js.map +0 -1
  475. package/dist/mcp/tools/provider.d.ts +0 -16
  476. package/dist/mcp/tools/provider.js +0 -110
  477. package/dist/mcp/tools/provider.js.map +0 -1
  478. package/dist/mcp/tools/services.d.ts +0 -13
  479. package/dist/mcp/tools/services.js +0 -204
  480. package/dist/mcp/tools/services.js.map +0 -1
  481. package/dist/mcp/tools/snapshots.d.ts +0 -8
  482. package/dist/mcp/tools/snapshots.js +0 -37
  483. package/dist/mcp/tools/snapshots.js.map +0 -1
  484. package/dist/mcp/tools/terminal.d.ts +0 -4
  485. package/dist/mcp/tools/terminal.js +0 -38
  486. package/dist/mcp/tools/terminal.js.map +0 -1
  487. package/dist/tui/app.d.ts +0 -22
  488. package/dist/tui/app.js +0 -138
  489. package/dist/tui/app.js.map +0 -1
  490. package/dist/web/agent-info.d.ts +0 -82
  491. package/dist/web/agent-info.js +0 -775
  492. package/dist/web/agent-info.js.map +0 -1
  493. package/dist/web/client/assets/SymbolsNerdFontMono-Regular-DDncdh2F.ttf +0 -0
  494. package/dist/web/client/assets/code-editor-TE0sjFGO.js +0 -30
  495. package/dist/web/client/assets/context-graph-B9MnBpp6.js +0 -7
  496. package/dist/web/client/assets/core-DhEqZVGG.js +0 -1
  497. package/dist/web/client/assets/event-BK_86lmQ.js +0 -1
  498. package/dist/web/client/assets/index-BhDAhmA1.js +0 -1
  499. package/dist/web/client/assets/index-CSo__8A6.css +0 -1
  500. package/dist/web/client/assets/index-DAJvBqn9.js +0 -352
  501. package/dist/web/client/assets/nomoreide-favicon-Ds7Tgj9p.svg +0 -24
  502. package/dist/web/client/assets/system-process-table-DetWu0Gj.js +0 -1
  503. package/dist/web/client/assets/window-DlR023_X.js +0 -1
  504. package/dist/web/client/index.html +0 -44
  505. package/dist/web/dashboard.d.ts +0 -61
  506. package/dist/web/dashboard.js +0 -221
  507. package/dist/web/dashboard.js.map +0 -1
  508. package/dist/web/directories.d.ts +0 -27
  509. package/dist/web/directories.js +0 -81
  510. package/dist/web/directories.js.map +0 -1
  511. package/dist/web/http-utils.d.ts +0 -13
  512. package/dist/web/http-utils.js +0 -72
  513. package/dist/web/http-utils.js.map +0 -1
  514. package/dist/web/routes/agent-chat-routes.d.ts +0 -3
  515. package/dist/web/routes/agent-chat-routes.js +0 -186
  516. package/dist/web/routes/agent-chat-routes.js.map +0 -1
  517. package/dist/web/routes/agent-env-routes.d.ts +0 -9
  518. package/dist/web/routes/agent-env-routes.js +0 -86
  519. package/dist/web/routes/agent-env-routes.js.map +0 -1
  520. package/dist/web/routes/agent-profile-routes.d.ts +0 -8
  521. package/dist/web/routes/agent-profile-routes.js +0 -211
  522. package/dist/web/routes/agent-profile-routes.js.map +0 -1
  523. package/dist/web/routes/agent-registry-routes.d.ts +0 -2
  524. package/dist/web/routes/agent-registry-routes.js +0 -375
  525. package/dist/web/routes/agent-registry-routes.js.map +0 -1
  526. package/dist/web/routes/agent-routes.d.ts +0 -3
  527. package/dist/web/routes/agent-routes.js +0 -73
  528. package/dist/web/routes/agent-routes.js.map +0 -1
  529. package/dist/web/routes/agent-settings-routes.d.ts +0 -8
  530. package/dist/web/routes/agent-settings-routes.js +0 -67
  531. package/dist/web/routes/agent-settings-routes.js.map +0 -1
  532. package/dist/web/routes/context-library-routes.d.ts +0 -2
  533. package/dist/web/routes/context-library-routes.js +0 -139
  534. package/dist/web/routes/context-library-routes.js.map +0 -1
  535. package/dist/web/routes/context.d.ts +0 -73
  536. package/dist/web/routes/context.js +0 -48
  537. package/dist/web/routes/context.js.map +0 -1
  538. package/dist/web/routes/dashboard-routes.d.ts +0 -3
  539. package/dist/web/routes/dashboard-routes.js +0 -47
  540. package/dist/web/routes/dashboard-routes.js.map +0 -1
  541. package/dist/web/routes/database-routes.d.ts +0 -3
  542. package/dist/web/routes/database-routes.js +0 -341
  543. package/dist/web/routes/database-routes.js.map +0 -1
  544. package/dist/web/routes/docker-routes.d.ts +0 -7
  545. package/dist/web/routes/docker-routes.js +0 -122
  546. package/dist/web/routes/docker-routes.js.map +0 -1
  547. package/dist/web/routes/errors-routes.d.ts +0 -3
  548. package/dist/web/routes/errors-routes.js +0 -77
  549. package/dist/web/routes/errors-routes.js.map +0 -1
  550. package/dist/web/routes/extensions-routes.d.ts +0 -14
  551. package/dist/web/routes/extensions-routes.js +0 -21
  552. package/dist/web/routes/extensions-routes.js.map +0 -1
  553. package/dist/web/routes/git-routes.d.ts +0 -3
  554. package/dist/web/routes/git-routes.js +0 -598
  555. package/dist/web/routes/git-routes.js.map +0 -1
  556. package/dist/web/routes/github-context.d.ts +0 -11
  557. package/dist/web/routes/github-context.js +0 -34
  558. package/dist/web/routes/github-context.js.map +0 -1
  559. package/dist/web/routes/github-routes.d.ts +0 -2
  560. package/dist/web/routes/github-routes.js +0 -699
  561. package/dist/web/routes/github-routes.js.map +0 -1
  562. package/dist/web/routes/host-routes.d.ts +0 -2
  563. package/dist/web/routes/host-routes.js +0 -188
  564. package/dist/web/routes/host-routes.js.map +0 -1
  565. package/dist/web/routes/index.d.ts +0 -10
  566. package/dist/web/routes/index.js +0 -72
  567. package/dist/web/routes/index.js.map +0 -1
  568. package/dist/web/routes/jetbrains-import-routes.d.ts +0 -2
  569. package/dist/web/routes/jetbrains-import-routes.js +0 -121
  570. package/dist/web/routes/jetbrains-import-routes.js.map +0 -1
  571. package/dist/web/routes/log-sources-routes.d.ts +0 -6
  572. package/dist/web/routes/log-sources-routes.js +0 -102
  573. package/dist/web/routes/log-sources-routes.js.map +0 -1
  574. package/dist/web/routes/metrics-routes.d.ts +0 -3
  575. package/dist/web/routes/metrics-routes.js +0 -60
  576. package/dist/web/routes/metrics-routes.js.map +0 -1
  577. package/dist/web/routes/onboard-routes.d.ts +0 -9
  578. package/dist/web/routes/onboard-routes.js +0 -146
  579. package/dist/web/routes/onboard-routes.js.map +0 -1
  580. package/dist/web/routes/overview-routes.d.ts +0 -2
  581. package/dist/web/routes/overview-routes.js +0 -36
  582. package/dist/web/routes/overview-routes.js.map +0 -1
  583. package/dist/web/routes/provider-routes.d.ts +0 -2
  584. package/dist/web/routes/provider-routes.js +0 -558
  585. package/dist/web/routes/provider-routes.js.map +0 -1
  586. package/dist/web/routes/service-routes.d.ts +0 -3
  587. package/dist/web/routes/service-routes.js +0 -511
  588. package/dist/web/routes/service-routes.js.map +0 -1
  589. package/dist/web/routes/settings-routes.d.ts +0 -2
  590. package/dist/web/routes/settings-routes.js +0 -151
  591. package/dist/web/routes/settings-routes.js.map +0 -1
  592. package/dist/web/routes/shell-routes.d.ts +0 -22
  593. package/dist/web/routes/shell-routes.js +0 -75
  594. package/dist/web/routes/shell-routes.js.map +0 -1
  595. package/dist/web/routes/skills-routes.d.ts +0 -2
  596. package/dist/web/routes/skills-routes.js +0 -49
  597. package/dist/web/routes/skills-routes.js.map +0 -1
  598. package/dist/web/routes/snapshot-routes.d.ts +0 -8
  599. package/dist/web/routes/snapshot-routes.js +0 -194
  600. package/dist/web/routes/snapshot-routes.js.map +0 -1
  601. package/dist/web/routes/ssh-server-routes.d.ts +0 -10
  602. package/dist/web/routes/ssh-server-routes.js +0 -163
  603. package/dist/web/routes/ssh-server-routes.js.map +0 -1
  604. package/dist/web/routes/terminal-routes.d.ts +0 -7
  605. package/dist/web/routes/terminal-routes.js +0 -313
  606. package/dist/web/routes/terminal-routes.js.map +0 -1
  607. package/dist/web/routes/workflow-routes.d.ts +0 -8
  608. package/dist/web/routes/workflow-routes.js +0 -45
  609. package/dist/web/routes/workflow-routes.js.map +0 -1
  610. package/dist/web/routes/workflow-trigger-routes.d.ts +0 -9
  611. package/dist/web/routes/workflow-trigger-routes.js +0 -78
  612. package/dist/web/routes/workflow-trigger-routes.js.map +0 -1
  613. package/dist/web/server.d.ts +0 -31
  614. package/dist/web/server.js +0 -325
  615. package/dist/web/server.js.map +0 -1
  616. package/dist/web/service-tester.d.ts +0 -16
  617. package/dist/web/service-tester.js +0 -107
  618. package/dist/web/service-tester.js.map +0 -1
  619. package/dist/web/static-assets.d.ts +0 -9
  620. package/dist/web/static-assets.js +0 -77
  621. package/dist/web/static-assets.js.map +0 -1
  622. package/dist/web/usage-info.d.ts +0 -56
  623. package/dist/web/usage-info.js +0 -265
  624. package/dist/web/usage-info.js.map +0 -1
@@ -1,197 +0,0 @@
1
- import { z } from "zod";
2
- import { applyProfile, copyPluginBetweenProfiles, copySkillBetweenProfiles, createProfile, deleteProfile, exportProfile, getProfile, importProfile, listProfiles, previewProfileApply, pluginIdentity, profileMcpSchema, profilePluginSchema, snapshotProfileFromAgent, updateProfile, } from "../../core/agent-profiles/index.js";
3
- import { stringify } from "./context.js";
4
- export const AGENT_PROFILE_TOOL_NAMES = [
5
- "nomoreide_profiles_list",
6
- "nomoreide_profiles_get",
7
- "nomoreide_profiles_create",
8
- "nomoreide_profiles_update",
9
- "nomoreide_profiles_delete",
10
- "nomoreide_profiles_snapshot",
11
- "nomoreide_profiles_apply",
12
- "nomoreide_profiles_export",
13
- "nomoreide_profiles_import",
14
- "nomoreide_profiles_copy_items",
15
- ];
16
- const agentSchema = z.enum(["claude", "codex", "antigravity"]);
17
- const nameField = z.string().min(1).describe("Profile name.");
18
- const cwdField = z
19
- .string()
20
- .min(1)
21
- .optional()
22
- .describe("Project directory (defaults to the server's cwd).");
23
- /**
24
- * Agent Profiles (ROR-62): named MCP+skill bundles. Mutations of agent
25
- * configs (apply) flow through the write-guarded agent-env layer and echo
26
- * backup paths; profile CRUD only touches `~/.config/nomoreide/agent-profiles/`.
27
- */
28
- export function registerAgentProfileTools(server, _ctx) {
29
- server.addTool({
30
- name: "nomoreide_profiles_list",
31
- description: "List saved agent profiles (named bundles of MCP servers, skills, and plugins).",
32
- parameters: z.object({}),
33
- execute: async () => stringify(await listProfiles()),
34
- });
35
- server.addTool({
36
- name: "nomoreide_profiles_get",
37
- description: "Get a profile's full config: MCP servers, bundled skills, and plugins.",
38
- parameters: z.object({ name: nameField }),
39
- execute: async ({ name }) => stringify(await getProfile(name)),
40
- });
41
- server.addTool({
42
- name: "nomoreide_profiles_create",
43
- description: 'Create an empty profile. Name must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/.',
44
- parameters: z.object({ name: nameField, description: z.string().optional() }),
45
- execute: async (input) => stringify(await createProfile(input)),
46
- });
47
- server.addTool({
48
- name: "nomoreide_profiles_update",
49
- description: "Update a profile's description, MCP map, skill list, or plugin list (name is immutable).",
50
- parameters: z.object({
51
- name: nameField,
52
- description: z.string().optional(),
53
- mcps: z.record(profileMcpSchema).optional(),
54
- skills: z.array(z.object({ name: z.string().min(1) })).optional(),
55
- plugins: z.array(profilePluginSchema).optional(),
56
- }),
57
- execute: async ({ name, ...patch }) => stringify(await updateProfile(name, patch)),
58
- });
59
- server.addTool({
60
- name: "nomoreide_profiles_delete",
61
- description: "Delete a saved profile (does not touch any agent's live config).",
62
- parameters: z.object({ name: nameField }),
63
- execute: async ({ name }) => {
64
- await deleteProfile(name);
65
- return stringify({ ok: true, deleted: name });
66
- },
67
- });
68
- server.addTool({
69
- name: "nomoreide_profiles_snapshot",
70
- description: "Snapshot an agent's live MCPs, user skills, and installed plugins into a new profile.",
71
- parameters: z.object({
72
- agent: agentSchema,
73
- name: nameField,
74
- description: z.string().optional(),
75
- cwd: cwdField,
76
- }),
77
- execute: async (input) => stringify(await snapshotProfileFromAgent({ ...input, cwd: input.cwd ?? process.cwd() })),
78
- });
79
- server.addTool({
80
- name: "nomoreide_profiles_apply",
81
- description: "Apply a profile's MCPs, skills, and plugins to an agent. Set dryRun=true for a conflict preview.",
82
- parameters: z.object({
83
- name: nameField,
84
- agent: agentSchema,
85
- dryRun: z.boolean().default(false),
86
- skipMcps: z.array(z.string()).optional().describe("MCP keys to leave untouched."),
87
- skipSkills: z.array(z.string()).optional().describe("Skill names to leave untouched."),
88
- skipPlugins: z.array(z.string()).optional().describe("Plugin names to leave untouched."),
89
- cwd: cwdField,
90
- }),
91
- execute: async (input) => {
92
- const cwd = input.cwd ?? process.cwd();
93
- if (input.dryRun) {
94
- return stringify(await previewProfileApply({ cwd, name: input.name, agent: input.agent }));
95
- }
96
- return stringify(await applyProfile({
97
- cwd,
98
- name: input.name,
99
- agent: input.agent,
100
- skip: {
101
- mcps: input.skipMcps,
102
- skills: input.skipSkills,
103
- plugins: input.skipPlugins,
104
- },
105
- }));
106
- },
107
- });
108
- server.addTool({
109
- name: "nomoreide_profiles_export",
110
- description: "Export a profile as a portable .tar.gz. Secret-looking env/header values are redacted to ${credentials.*} placeholders — the archive never contains raw secrets.",
111
- parameters: z.object({
112
- name: nameField,
113
- outputPath: z.string().optional().describe("Defaults to <cwd>/<name>.tar.gz."),
114
- cwd: cwdField,
115
- }),
116
- execute: async (input) => stringify(await exportProfile({
117
- name: input.name,
118
- outputPath: input.outputPath,
119
- cwd: input.cwd ?? process.cwd(),
120
- })),
121
- });
122
- server.addTool({
123
- name: "nomoreide_profiles_import",
124
- description: "Import a portable profile .tar.gz. Supplied credentials (or matching environment variables) fill ${credentials.*} placeholders; unresolved keys are reported.",
125
- parameters: z.object({
126
- archivePath: z.string().min(1),
127
- force: z.boolean().default(false).describe("Overwrite an existing profile of the same name."),
128
- as: z.string().optional().describe("Import under a different profile name."),
129
- credentials: z.record(z.string()).optional(),
130
- }),
131
- execute: async (input) => stringify(await importProfile(input)),
132
- });
133
- server.addTool({
134
- name: "nomoreide_profiles_copy_items",
135
- description: "Copy selected MCPs, skills, and/or plugins from one profile into another.",
136
- parameters: z.object({
137
- from: z.string().min(1),
138
- to: z.string().min(1),
139
- mcps: z.array(z.string()).optional().describe("MCP keys to copy."),
140
- skills: z.array(z.string()).optional().describe("Skill names to copy."),
141
- plugins: z
142
- .array(z.string())
143
- .optional()
144
- .describe("Canonical plugin IDs to copy; an unambiguous plugin name is also accepted."),
145
- }),
146
- execute: async (input) => {
147
- const source = await getProfile(input.from);
148
- const target = await getProfile(input.to);
149
- const mcps = { ...target.mcps };
150
- const copiedMcps = [];
151
- for (const key of input.mcps ?? []) {
152
- const entry = source.mcps[key];
153
- if (!entry)
154
- throw new Error(`MCP "${key}" not found in profile "${input.from}".`);
155
- mcps[key] = entry;
156
- copiedMcps.push(key);
157
- }
158
- const skills = [...target.skills];
159
- const copiedSkills = [];
160
- for (const skillName of input.skills ?? []) {
161
- if (!source.skills.some((skill) => skill.name === skillName)) {
162
- throw new Error(`Skill "${skillName}" not found in profile "${input.from}".`);
163
- }
164
- await copySkillBetweenProfiles(input.from, input.to, skillName);
165
- if (!skills.some((skill) => skill.name === skillName)) {
166
- skills.push({ name: skillName });
167
- }
168
- copiedSkills.push(skillName);
169
- }
170
- const plugins = [...target.plugins];
171
- const copiedPlugins = [];
172
- for (const pluginSelector of input.plugins ?? []) {
173
- const pluginById = source.plugins.find((entry) => pluginIdentity(entry) === pluginSelector);
174
- const pluginsByName = source.plugins.filter((entry) => entry.name === pluginSelector);
175
- if (!pluginById && pluginsByName.length > 1) {
176
- throw new Error(`Plugin name "${pluginSelector}" is ambiguous in profile "${input.from}". Use one of: ${pluginsByName.map(pluginIdentity).join(", ")}.`);
177
- }
178
- const plugin = pluginById ?? pluginsByName[0];
179
- if (!plugin) {
180
- throw new Error(`Plugin "${pluginSelector}" not found in profile "${input.from}".`);
181
- }
182
- await copyPluginBetweenProfiles(input.from, input.to, plugin.bundleKey);
183
- const existing = plugins.findIndex((entry) => entry.name === plugin.name &&
184
- entry.sourceAgent === plugin.sourceAgent &&
185
- entry.source === plugin.source);
186
- if (existing >= 0)
187
- plugins[existing] = plugin;
188
- else
189
- plugins.push(plugin);
190
- copiedPlugins.push(pluginIdentity(plugin));
191
- }
192
- await updateProfile(input.to, { mcps, skills, plugins });
193
- return stringify({ ok: true, copiedMcps, copiedSkills, copiedPlugins });
194
- },
195
- });
196
- }
197
- //# sourceMappingURL=agent-profiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-profiles.js","sourceRoot":"","sources":["../../../src/mcp/tools/agent-profiles.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { FastMCP } from "fastmcp";
2
- import { type ToolContext } from "./context.js";
3
- export declare const AGENT_REGISTRY_TOOL_NAMES: readonly ["nomoreide_profiles_publish", "nomoreide_profiles_install_from_registry", "nomoreide_profiles_register_github"];
4
- /**
5
- * Hosted profile registry (ROR-63; the brainctl platform, kept as-is).
6
- * Auth comes from the stored registry sign-in (`~/.nomoreide/config.json`) or
7
- * `NOMOREIDE_API_TOKEN` — sign-in itself is a browser flow in the web UI.
8
- */
9
- export declare function registerAgentRegistryTools(server: FastMCP, _ctx: ToolContext): void;
@@ -1,81 +0,0 @@
1
- import { z } from "zod";
2
- import { createRegistryClient, createRegistryTokenManager, installProfileFromRegistry, publishProfileToRegistry, resolveRegistryApiBaseUrl, resolveRegistryApiToken, } from "../../core/agent-profiles/index.js";
3
- import { stringify } from "./context.js";
4
- export const AGENT_REGISTRY_TOOL_NAMES = [
5
- "nomoreide_profiles_publish",
6
- "nomoreide_profiles_install_from_registry",
7
- "nomoreide_profiles_register_github",
8
- ];
9
- /**
10
- * Hosted profile registry (ROR-63; the brainctl platform, kept as-is).
11
- * Auth comes from the stored registry sign-in (`~/.nomoreide/config.json`) or
12
- * `NOMOREIDE_API_TOKEN` — sign-in itself is a browser flow in the web UI.
13
- */
14
- export function registerAgentRegistryTools(server, _ctx) {
15
- const tokenManager = createRegistryTokenManager();
16
- const authenticatedFetch = (input, init) => tokenManager.authenticatedFetch(typeof input === "string" ? input : input.toString(), init);
17
- async function requireToken() {
18
- if ((await tokenManager.getAccessToken()) === null) {
19
- throw new Error("Not signed in to the profile registry. Sign in from the web UI (Agent Environments → Registry) or set NOMOREIDE_API_TOKEN.");
20
- }
21
- }
22
- server.addTool({
23
- name: "nomoreide_profiles_publish",
24
- description: "Publish a saved profile to the hosted registry so others can install it by slug. Uploads the credential-redacted export archive — raw secrets never leave the machine.",
25
- parameters: z.object({
26
- name: z.string().min(1).describe("Local profile name."),
27
- slug: z.string().min(1).describe("Registry slug to publish under."),
28
- title: z.string().min(1),
29
- summary: z.string().optional(),
30
- version: z.string().optional().describe("Defaults to 1.0.0."),
31
- changelog: z.string().optional(),
32
- visibility: z.enum(["public", "private"]).default("public"),
33
- cwd: z.string().min(1).optional().describe("Project directory (defaults to the server's cwd)."),
34
- }),
35
- execute: async (input) => {
36
- await requireToken();
37
- return stringify(await publishProfileToRegistry({
38
- ...input,
39
- cwd: input.cwd ?? process.cwd(),
40
- apiBaseUrl: await resolveRegistryApiBaseUrl(),
41
- fetch: authenticatedFetch,
42
- }));
43
- },
44
- });
45
- server.addTool({
46
- name: "nomoreide_profiles_install_from_registry",
47
- description: "Install a published profile from the hosted registry by slug. Supplied credentials (or matching environment variables) fill ${credentials.*} placeholders; unresolved keys are reported.",
48
- parameters: z.object({
49
- slug: z.string().min(1),
50
- force: z.boolean().default(false).describe("Overwrite an existing profile of the same name."),
51
- as: z.string().optional().describe("Install under a different local profile name."),
52
- credentials: z.record(z.string()).optional(),
53
- }),
54
- execute: async (input) => stringify(await installProfileFromRegistry({
55
- ...input,
56
- apiBaseUrl: await resolveRegistryApiBaseUrl(),
57
- token: (await resolveRegistryApiToken())?.token,
58
- })),
59
- });
60
- server.addTool({
61
- name: "nomoreide_profiles_register_github",
62
- description: "Register a GitHub repository as a registry profile — the registry serves it without a package upload (free sharing path).",
63
- parameters: z.object({
64
- repoUrl: z.string().min(1).describe("GitHub repository URL."),
65
- slug: z.string().min(1),
66
- title: z.string().min(1),
67
- summary: z.string().optional(),
68
- refName: z.string().optional().describe("Branch or tag (defaults to main)."),
69
- profilePath: z.string().optional().describe("Path to the profile file inside the repo."),
70
- }),
71
- execute: async (input) => {
72
- await requireToken();
73
- const client = createRegistryClient({
74
- baseUrl: await resolveRegistryApiBaseUrl(),
75
- fetch: authenticatedFetch,
76
- });
77
- return stringify(await client.registerGithubProfile({ ...input, manifestJson: { name: input.slug } }));
78
- },
79
- });
80
- }
81
- //# sourceMappingURL=agent-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../../src/mcp/tools/agent-registry.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { FastMCP } from "fastmcp";
2
- import { type ToolContext } from "./context.js";
3
- export declare const AGENT_TOOL_NAMES: readonly ["nomoreide_open_ui", "nomoreide_close_ui"];
4
- export declare function registerAgentTools(server: FastMCP, ctx: ToolContext): void;
@@ -1,29 +0,0 @@
1
- import { stringify } from "./context.js";
2
- export const AGENT_TOOL_NAMES = [
3
- "nomoreide_open_ui",
4
- "nomoreide_close_ui",
5
- ];
6
- export function registerAgentTools(server, ctx) {
7
- const { daemon } = ctx;
8
- server.addTool({
9
- name: "nomoreide_open_ui",
10
- description: "Open (or reuse) the machine-global NoMoreIDE daemon and return its web UI URL.",
11
- execute: async () => stringify(await daemon.ensure()),
12
- });
13
- server.addTool({
14
- name: "nomoreide_close_ui",
15
- description: "Shut down the NoMoreIDE daemon. WARNING: this stops every service it manages, for all sessions on this machine.",
16
- execute: async () => {
17
- const client = await daemon.existing();
18
- if (!client) {
19
- return stringify({ status: "not_running" });
20
- }
21
- await client.shutdown();
22
- return stringify({
23
- status: "stopping",
24
- note: "Daemon is stopping all managed services and exiting.",
25
- });
26
- },
27
- });
28
- }
29
- //# sourceMappingURL=agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/mcp/tools/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAoB,MAAM,cAAc,CAAC;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,oBAAoB;CACZ,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAAC,MAAe,EAAE,GAAgB;IAClE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gFAAgF;QAClF,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,iHAAiH;QACnH,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;gBACf,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,sDAAsD;aAC7D,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,36 +0,0 @@
1
- import type { FastMCP } from "fastmcp";
2
- import type { AgentSessionTracker } from "../../core/agent-sessions.js";
3
- import type { ConfigStore } from "../../core/config-store.js";
4
- import type { DaemonConnection } from "../../core/daemon-client.js";
5
- import type { DbPeek } from "../../core/db-peek.js";
6
- import type { ErrorInbox } from "../../core/error-inbox.js";
7
- import { GitActions } from "../../core/git-actions.js";
8
- import { GitManager } from "../../core/git-manager.js";
9
- import { type ToolCallStore } from "../../core/tool-call-store.js";
10
- /** Shared stateful services every tool group receives. */
11
- export interface ToolContext {
12
- configStore: ConfigStore;
13
- /**
14
- * Handle to the machine-global daemon that owns all spawned services.
15
- * Service tools go through it over HTTP; config/git/db tools stay local.
16
- */
17
- daemon: DaemonConnection;
18
- dbPeek: DbPeek;
19
- errorInbox: ErrorInbox;
20
- }
21
- /** Each domain registers its tools onto the (optionally recording) server. */
22
- export type RegisterTools = (server: FastMCP, ctx: ToolContext) => void;
23
- export declare function git(cwd?: string): GitManager;
24
- /** Write-capable Git ops (push) — kept distinct from the read-safe {@link git}. */
25
- export declare function gitActions(cwd?: string): GitActions;
26
- export declare function stringify(value: unknown): string;
27
- /**
28
- * Wrap a FastMCP server so every `addTool` execute is timed and recorded in
29
- * the tool-call store. The aggregator wraps once, then hands the same wrapped
30
- * server to each domain's `registerXTools`.
31
- *
32
- * When a session tracker is supplied, every execute first runs
33
- * `beforeToolCall()` — which auto-snapshots the working tree at the start of
34
- * a new agent session — and the resulting sessionId tags each record.
35
- */
36
- export declare function wrapServerForRecording(server: FastMCP, store: ToolCallStore, sessions?: AgentSessionTracker): FastMCP;
@@ -1,69 +0,0 @@
1
- import { GitActions } from "../../core/git-actions.js";
2
- import { GitManager } from "../../core/git-manager.js";
3
- import { previewArgs, redactSensitiveText } from "../../core/tool-call-store.js";
4
- export function git(cwd) {
5
- return new GitManager(cwd ?? process.cwd());
6
- }
7
- /** Write-capable Git ops (push) — kept distinct from the read-safe {@link git}. */
8
- export function gitActions(cwd) {
9
- return new GitActions(cwd ?? process.cwd());
10
- }
11
- export function stringify(value) {
12
- return JSON.stringify(value, null, 2);
13
- }
14
- /**
15
- * Wrap a FastMCP server so every `addTool` execute is timed and recorded in
16
- * the tool-call store. The aggregator wraps once, then hands the same wrapped
17
- * server to each domain's `registerXTools`.
18
- *
19
- * When a session tracker is supplied, every execute first runs
20
- * `beforeToolCall()` — which auto-snapshots the working tree at the start of
21
- * a new agent session — and the resulting sessionId tags each record.
22
- */
23
- export function wrapServerForRecording(server, store, sessions) {
24
- const originalAdd = server.addTool.bind(server);
25
- const wrapped = (definition) => {
26
- const originalExecute = definition.execute;
27
- const recordingDefinition = {
28
- ...definition,
29
- execute: async (args, context) => {
30
- const sessionId = sessions ? await sessions.beforeToolCall() : undefined;
31
- const start = Date.now();
32
- const startedAt = new Date(start).toISOString();
33
- try {
34
- const result = await originalExecute(args, context);
35
- store.record({
36
- tool: definition.name,
37
- startedAt,
38
- durationMs: Date.now() - start,
39
- status: "ok",
40
- sessionId,
41
- args: previewArgs(args),
42
- });
43
- return result;
44
- }
45
- catch (error) {
46
- store.record({
47
- tool: definition.name,
48
- startedAt,
49
- durationMs: Date.now() - start,
50
- status: "error",
51
- sessionId,
52
- args: previewArgs(args),
53
- error: redactSensitiveText(error instanceof Error ? error.message : String(error)),
54
- });
55
- throw error;
56
- }
57
- },
58
- };
59
- return originalAdd(recordingDefinition);
60
- };
61
- return new Proxy(server, {
62
- get(target, prop, receiver) {
63
- if (prop === "addTool")
64
- return wrapped;
65
- return Reflect.get(target, prop, receiver);
66
- },
67
- });
68
- }
69
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/mcp/tools/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAsB,MAAM,+BAA+B,CAAC;AAiBrG,MAAM,UAAU,GAAG,CAAC,GAAY;IAC9B,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAe,EACf,KAAoB,EACpB,QAA8B;IAE9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,UAA6C,EAAE,EAAE;QAChE,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC;QAC3C,MAAM,mBAAmB,GAAG;YAC1B,GAAG,UAAU;YACb,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,OAAgB,EAAE,EAAE;gBACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAO,eAGA,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACtC,KAAK,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,SAAS;wBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;wBAC9B,MAAM,EAAE,IAAI;wBACZ,SAAS;wBACT,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;qBACxB,CAAC,CAAC;oBACH,OAAO,MAA4C,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,SAAS;wBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;wBAC9B,MAAM,EAAE,OAAO;wBACf,SAAS;wBACT,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACnF,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;SACmC,CAAC;QACvC,OAAO,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { FastMCP } from "fastmcp";
2
- import { type ToolContext } from "./context.js";
3
- export declare const DATABASE_TOOL_NAMES: readonly ["nomoreide_list_databases", "nomoreide_register_database", "nomoreide_check_database", "nomoreide_db_schemas", "nomoreide_db_objects", "nomoreide_db_object_details", "nomoreide_db_tables", "nomoreide_db_sample", "nomoreide_db_query"];
4
- /**
5
- * DB Peek tools: read-only access to the user's registered database
6
- * connections. Scoped to connections in ConfigStore; `nomoreide_db_query` runs
7
- * SQL inside a read-only transaction, so writes are rejected by the server.
8
- */
9
- export declare function registerDatabaseTools(server: FastMCP, ctx: ToolContext): void;
@@ -1,166 +0,0 @@
1
- import { z } from "zod";
2
- import { isReadStatement } from "../../core/db/driver.js";
3
- import { stringify } from "./context.js";
4
- /**
5
- * Returned to the agent when a write hits the read-only query path. This is the
6
- * contextual teach for the raw-terminal workflow. It costs nothing until the
7
- * agent actually tries to change data and keeps execution in the human-only,
8
- * locked SQL console with its affected-rows preview.
9
- */
10
- function writeStagingGuidance(connection) {
11
- return [
12
- "This connection is read-only, so that statement was NOT executed.",
13
- "Provide the exact SQL statement for the user to review in a standard SQL",
14
- `fenced block, and identify the target connection as \`${connection}\`:`,
15
- "",
16
- "```sql",
17
- "UPDATE … SET … WHERE …;",
18
- "```",
19
- "",
20
- "Direct the user to stage and run it through NoMoreIDE's locked SQL console,",
21
- "where they explicitly unlock writes and review an affected-rows preview",
22
- "before committing. Emit exactly one statement, and always scope",
23
- "UPDATE/DELETE with a WHERE clause.",
24
- ].join("\n");
25
- }
26
- export const DATABASE_TOOL_NAMES = [
27
- "nomoreide_list_databases",
28
- "nomoreide_register_database",
29
- "nomoreide_check_database",
30
- "nomoreide_db_schemas",
31
- "nomoreide_db_objects",
32
- "nomoreide_db_object_details",
33
- "nomoreide_db_tables",
34
- "nomoreide_db_sample",
35
- "nomoreide_db_query",
36
- ];
37
- const engineSchema = z.enum(["postgres", "mysql", "sqlite"]);
38
- const registerSchema = z.object({
39
- name: z.string().min(1).describe("Globally unique connection name."),
40
- engine: engineSchema,
41
- url: z.string().min(1).describe("Connection URL, or an absolute SQLite file path."),
42
- projectPath: z.string().optional().describe("Optional project directory used for UI scoping."),
43
- check: z.boolean().optional().describe("Check connectivity before saving (default true)."),
44
- replace: z.boolean().optional().describe("Required to replace an existing connection with the same name."),
45
- });
46
- const connectionSchema = z.object({
47
- connection: z
48
- .string()
49
- .min(1)
50
- .describe("Connection name from nomoreide_list_databases."),
51
- });
52
- const sampleSchema = connectionSchema.extend({
53
- table: z
54
- .string()
55
- .min(1)
56
- .describe("Qualified table name from nomoreide_db_tables (e.g. public.users)."),
57
- limit: z
58
- .number()
59
- .int()
60
- .positive()
61
- .max(1000)
62
- .optional()
63
- .describe("Max rows to sample (default 100)."),
64
- });
65
- const querySchema = connectionSchema.extend({
66
- sql: z
67
- .string()
68
- .min(1)
69
- .describe("A read-only SELECT-style statement. Writes are rejected server-side."),
70
- limit: z
71
- .number()
72
- .int()
73
- .positive()
74
- .max(1000)
75
- .optional()
76
- .describe("Max rows to return (default 100)."),
77
- });
78
- const schemaSchema = connectionSchema.extend({
79
- schema: z.string().min(1).describe("Schema name returned by nomoreide_db_schemas."),
80
- });
81
- const objectSchema = connectionSchema.extend({
82
- key: z.string().min(1).describe("Opaque object key returned by nomoreide_db_objects."),
83
- });
84
- /**
85
- * DB Peek tools: read-only access to the user's registered database
86
- * connections. Scoped to connections in ConfigStore; `nomoreide_db_query` runs
87
- * SQL inside a read-only transaction, so writes are rejected by the server.
88
- */
89
- export function registerDatabaseTools(server, ctx) {
90
- const { dbPeek } = ctx;
91
- server.addTool({
92
- name: "nomoreide_list_databases",
93
- description: "List registered read-only database connections (Postgres / MySQL / SQLite). Passwords are masked.",
94
- parameters: z.object({}),
95
- execute: async () => stringify(await dbPeek.listConnections()),
96
- });
97
- server.addTool({
98
- name: "nomoreide_register_database",
99
- description: "Register a read-only database connection. Connectivity is checked by default; raw credentials are never returned or recorded.",
100
- parameters: registerSchema,
101
- execute: async ({ name, engine, url, projectPath, check, replace }) => stringify(await dbPeek.register({ name, engine, url, projectPath, check, replace })),
102
- });
103
- server.addTool({
104
- name: "nomoreide_check_database",
105
- description: "Check a registered connection without revealing its credentials.",
106
- parameters: connectionSchema,
107
- execute: async ({ connection }) => stringify(await dbPeek.check(connection)),
108
- });
109
- server.addTool({
110
- name: "nomoreide_db_schemas",
111
- description: "List schemas and supported catalog capabilities for a registered connection.",
112
- parameters: connectionSchema,
113
- execute: async ({ connection }) => stringify({
114
- schemas: await dbPeek.listSchemas(connection),
115
- capabilities: await dbPeek.capabilities(connection),
116
- }),
117
- });
118
- server.addTool({
119
- name: "nomoreide_db_objects",
120
- description: "List tables, views, routines, and sequences in one live database schema.",
121
- parameters: schemaSchema,
122
- execute: async ({ connection, schema }) => stringify(await dbPeek.listObjects(connection, schema)),
123
- });
124
- server.addTool({
125
- name: "nomoreide_db_object_details",
126
- description: "Read columns, indexes, constraints, triggers, a capped definition, and an executable create script for an opaque live catalog object.",
127
- parameters: objectSchema,
128
- execute: async ({ connection, key }) => stringify(await dbPeek.objectDetails(connection, key)),
129
- });
130
- server.addTool({
131
- name: "nomoreide_db_tables",
132
- description: "List the tables and views in a registered database connection.",
133
- parameters: connectionSchema,
134
- execute: async ({ connection }) => stringify(await dbPeek.listTables(connection)),
135
- });
136
- server.addTool({
137
- name: "nomoreide_db_sample",
138
- description: "Sample rows from a table (read-only) with its column schema — the 'explain this data to the agent' payload.",
139
- parameters: sampleSchema,
140
- execute: async ({ connection, table, limit }) => stringify(await dbPeek.sampleRows(connection, table, limit ?? 100)),
141
- });
142
- server.addTool({
143
- name: "nomoreide_db_query",
144
- description: "Run a read-only SQL query against a registered connection and return the rows. " +
145
- "Read-only at the transaction level — INSERT/UPDATE/DELETE/DDL are rejected. To " +
146
- "make a change, don't run it here. Provide the exact SQL statement for review, " +
147
- "identify the connection, and direct the user to stage and run it through " +
148
- "NoMoreIDE's locked SQL console with its affected-rows preview.",
149
- parameters: querySchema,
150
- execute: async ({ connection, sql, limit }) => {
151
- try {
152
- return stringify(await dbPeek.runQuery(connection, sql, limit ?? 100));
153
- }
154
- catch (caught) {
155
- const message = caught instanceof Error ? caught.message : String(caught);
156
- // A write rejected by the read-only transaction (every engine phrases it
157
- // with "read only/readonly") becomes a teach, not a bare error.
158
- if (/read[\s-]?only/i.test(message) || !isReadStatement(sql)) {
159
- return writeStagingGuidance(connection);
160
- }
161
- throw caught;
162
- }
163
- },
164
- });
165
- }
166
- //# sourceMappingURL=database.js.map