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,199 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { isAbsolute, resolve } from "node:path";
3
- const DEFAULT_TEST_COMMAND = "npm test";
4
- /** The log channel a service's test output is appended under. */
5
- export function testChannel(service) {
6
- return `${service}:test`;
7
- }
8
- /**
9
- * Runs a service's test command, streaming output into {@link LogStore} under a
10
- * synthetic `<service>:test` channel so the {@link ErrorInbox} (which subscribes
11
- * to the log store) turns assertion failures and stack traces into incidents.
12
- * On a non-zero exit it appends a synthetic summary line so every failed run
13
- * also surfaces a top-level incident.
14
- */
15
- export class TestRunner {
16
- logStore;
17
- configStore;
18
- cwd;
19
- runs = new Map();
20
- children = new Map();
21
- listeners = new Map();
22
- nextId = 1;
23
- /** Serialises log appends so the ErrorInbox sees lines in order. */
24
- appendChain = Promise.resolve();
25
- constructor(options) {
26
- this.logStore = options.logStore;
27
- this.configStore = options.configStore;
28
- this.cwd = options.cwd ?? process.cwd();
29
- }
30
- isRunning(service) {
31
- return this.runs.get(service)?.status === "running";
32
- }
33
- /** The current or most recent run for a service. */
34
- current(service) {
35
- return this.runs.get(service);
36
- }
37
- subscribe(service, listener) {
38
- let set = this.listeners.get(service);
39
- if (!set) {
40
- set = new Set();
41
- this.listeners.set(service, set);
42
- }
43
- set.add(listener);
44
- return () => set?.delete(listener);
45
- }
46
- /** Spawn the test command for a service. Rejects if a run is already active. */
47
- async run(service, pattern) {
48
- if (this.isRunning(service)) {
49
- throw new Error(`A test run is already in progress for ${service}.`);
50
- }
51
- const { command, cwd } = await this.resolveCommand(service, pattern);
52
- const run = {
53
- id: this.nextId++,
54
- service,
55
- command,
56
- pattern: pattern || undefined,
57
- status: "running",
58
- startedAt: new Date().toISOString(),
59
- failingCount: 0,
60
- };
61
- this.runs.set(service, run);
62
- this.emit(service, { type: "status", run });
63
- const child = spawn(command, {
64
- cwd,
65
- detached: process.platform !== "win32",
66
- env: process.env,
67
- shell: true,
68
- stdio: ["ignore", "pipe", "pipe"],
69
- });
70
- this.children.set(service, child);
71
- const buffers = { stdout: "", stderr: "" };
72
- const onChunk = (stream) => (chunk) => {
73
- buffers[stream] += chunk.toString();
74
- const lines = buffers[stream].split(/\r?\n/);
75
- buffers[stream] = lines.pop() ?? "";
76
- for (const line of lines)
77
- this.handleLine(service, run, stream, line);
78
- };
79
- child.stdout?.on("data", onChunk("stdout"));
80
- child.stderr?.on("data", onChunk("stderr"));
81
- child.once("error", (error) => {
82
- this.flush(service, run, buffers);
83
- this.finish(service, run, { status: "error", message: error.message });
84
- });
85
- child.once("exit", (exitCode, signal) => {
86
- this.flush(service, run, buffers);
87
- run.exitCode = exitCode;
88
- if (exitCode === 0) {
89
- this.finish(service, run, { status: "passed" });
90
- }
91
- else {
92
- const detail = run.failingCount ? `${run.failingCount} failing` : "non-zero exit";
93
- this.finish(service, run, {
94
- status: "failed",
95
- message: `ERROR: ${service} tests failed (${detail}) — exit ${exitCode ?? signal ?? "?"} — ${command}`,
96
- });
97
- }
98
- });
99
- return run;
100
- }
101
- /** Terminate the active run for a service, if any. */
102
- stop(service) {
103
- const child = this.children.get(service);
104
- if (!child?.pid)
105
- return;
106
- try {
107
- if (process.platform !== "win32")
108
- process.kill(-child.pid, "SIGTERM");
109
- else
110
- process.kill(child.pid, "SIGTERM");
111
- }
112
- catch {
113
- // The process may already have exited.
114
- }
115
- }
116
- handleLine(service, run, stream, text) {
117
- if (!text.trim())
118
- return;
119
- countFailures(run, text);
120
- this.append(service, stream, text);
121
- this.emit(service, { type: "output", run, line: { stream, text } });
122
- }
123
- flush(service, run, buffers) {
124
- for (const stream of ["stdout", "stderr"]) {
125
- const remaining = buffers[stream];
126
- buffers[stream] = "";
127
- if (remaining.trim())
128
- this.handleLine(service, run, stream, remaining);
129
- }
130
- }
131
- finish(service, run, result) {
132
- if (result.message)
133
- this.append(service, "stderr", result.message);
134
- // Emit the terminal status only once all queued log writes have flushed,
135
- // so a finished run reflects fully-persisted output (no write races).
136
- void this.appendChain.then(() => {
137
- run.status = result.status;
138
- run.endedAt = new Date().toISOString();
139
- this.children.delete(service);
140
- this.emit(service, { type: "status", run });
141
- });
142
- }
143
- /** Append to the synthetic test channel, preserving order for the ErrorInbox. */
144
- append(service, stream, text) {
145
- const channel = testChannel(service);
146
- this.appendChain = this.appendChain
147
- .then(() => this.logStore.append(channel, stream, text))
148
- .catch(() => { });
149
- }
150
- emit(service, event) {
151
- const set = this.listeners.get(service);
152
- if (!set)
153
- return;
154
- for (const listener of set) {
155
- try {
156
- listener(event);
157
- }
158
- catch {
159
- // ignore listener errors
160
- }
161
- }
162
- }
163
- async resolveCommand(service, pattern) {
164
- let command = DEFAULT_TEST_COMMAND;
165
- let serviceCwd = this.cwd;
166
- try {
167
- const config = await this.configStore.load();
168
- const definition = config.services.find((item) => item.name === service);
169
- if (!definition)
170
- throw new Error(`Service ${service} is not registered.`);
171
- command = definition.test?.trim() || DEFAULT_TEST_COMMAND;
172
- if (definition.cwd) {
173
- serviceCwd = isAbsolute(definition.cwd)
174
- ? definition.cwd
175
- : resolve(this.cwd, definition.cwd);
176
- }
177
- }
178
- catch (error) {
179
- if (error instanceof Error && error.message.includes("not registered"))
180
- throw error;
181
- // Otherwise fall back to defaults rooted at the workspace.
182
- }
183
- if (pattern?.trim())
184
- command = `${command} ${pattern.trim()}`;
185
- return { command, cwd: serviceCwd };
186
- }
187
- }
188
- const FAIL_LINE = /^\s*(?:FAIL|✗|×)\s/;
189
- const SUMMARY_FAILED = /(\d+)\s+failed/i;
190
- function countFailures(run, text) {
191
- const summary = SUMMARY_FAILED.exec(text);
192
- if (summary) {
193
- run.failingCount = Math.max(run.failingCount, Number(summary[1]));
194
- return;
195
- }
196
- if (FAIL_LINE.test(text))
197
- run.failingCount += 1;
198
- }
199
- //# sourceMappingURL=test-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../../src/core/test-runner.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { TimelineEvent } from "./types.js";
2
- interface TimelineStoreOptions {
3
- baseDir?: string;
4
- maxEvents?: number;
5
- }
6
- type TimelineListener = (event: TimelineEvent) => void;
7
- export declare class TimelineStore {
8
- private readonly events;
9
- private readonly baseDir;
10
- private readonly maxEvents;
11
- private readonly listeners;
12
- constructor(options?: TimelineStoreOptions);
13
- /** Notified after each appended event — the central app event bus. */
14
- subscribe(listener: TimelineListener): () => void;
15
- append(event: Omit<TimelineEvent, "id" | "timestamp"> & {
16
- timestamp?: string;
17
- }): Promise<TimelineEvent>;
18
- read(limit?: number): TimelineEvent[];
19
- }
20
- export {};
@@ -1,36 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import { appendFile, mkdir } from "node:fs/promises";
3
- import { join } from "node:path";
4
- export class TimelineStore {
5
- events = [];
6
- baseDir;
7
- maxEvents;
8
- listeners = new Set();
9
- constructor(options = {}) {
10
- this.baseDir = options.baseDir ?? ".nomoreide";
11
- this.maxEvents = options.maxEvents ?? 500;
12
- }
13
- /** Notified after each appended event — the central app event bus. */
14
- subscribe(listener) {
15
- this.listeners.add(listener);
16
- return () => this.listeners.delete(listener);
17
- }
18
- async append(event) {
19
- const completeEvent = {
20
- id: randomUUID(),
21
- timestamp: event.timestamp ?? new Date().toISOString(),
22
- ...event,
23
- };
24
- this.events.push(completeEvent);
25
- this.events.splice(0, Math.max(0, this.events.length - this.maxEvents));
26
- await mkdir(this.baseDir, { recursive: true });
27
- await appendFile(join(this.baseDir, "timeline.log"), `${JSON.stringify(completeEvent)}\n`);
28
- for (const listener of this.listeners)
29
- listener(completeEvent);
30
- return completeEvent;
31
- }
32
- read(limit = this.maxEvents) {
33
- return this.events.slice(-limit);
34
- }
35
- }
36
- //# sourceMappingURL=timeline-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeline-store.js","sourceRoot":"","sources":["../../src/core/timeline-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,MAAM,OAAO,aAAa;IACP,MAAM,GAAoB,EAAE,CAAC;IAC7B,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEzD,YAAY,UAAgC,EAAE;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;IAC5C,CAAC;IAED,sEAAsE;IACtE,SAAS,CAAC,QAA0B;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAuE;QAEvE,MAAM,aAAa,GAAkB;YACnC,EAAE,EAAE,UAAU,EAAE;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtD,GAAG,KAAK;SACT,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAExE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,UAAU,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAClC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CACrC,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -1,25 +0,0 @@
1
- export interface ToolCallRecord {
2
- id: number;
3
- tool: string;
4
- startedAt: string;
5
- durationMs: number;
6
- status: "ok" | "error";
7
- /** Agent session this call belongs to (see core/agent-sessions.ts). */
8
- sessionId?: string;
9
- args?: string;
10
- error?: string;
11
- }
12
- type Listener = (record: ToolCallRecord) => void;
13
- export declare class ToolCallStore {
14
- private readonly capacity;
15
- private readonly records;
16
- private readonly listeners;
17
- private nextId;
18
- constructor(capacity?: number);
19
- record(entry: Omit<ToolCallRecord, "id">): ToolCallRecord;
20
- recent(limit?: number): ToolCallRecord[];
21
- subscribe(listener: Listener): () => void;
22
- }
23
- export declare function previewArgs(args: unknown): string | undefined;
24
- export declare function redactSensitiveText(value: string): string;
25
- export {};
@@ -1,62 +0,0 @@
1
- export class ToolCallStore {
2
- capacity;
3
- records = [];
4
- listeners = new Set();
5
- nextId = 1;
6
- constructor(capacity = 200) {
7
- this.capacity = capacity;
8
- }
9
- record(entry) {
10
- const record = { id: this.nextId++, ...entry };
11
- this.records.push(record);
12
- if (this.records.length > this.capacity) {
13
- this.records.splice(0, this.records.length - this.capacity);
14
- }
15
- for (const listener of this.listeners) {
16
- try {
17
- listener(record);
18
- }
19
- catch {
20
- // ignore listener errors
21
- }
22
- }
23
- return record;
24
- }
25
- recent(limit = 100) {
26
- if (limit >= this.records.length)
27
- return [...this.records];
28
- return this.records.slice(this.records.length - limit);
29
- }
30
- subscribe(listener) {
31
- this.listeners.add(listener);
32
- return () => {
33
- this.listeners.delete(listener);
34
- };
35
- }
36
- }
37
- const ARG_PREVIEW_BYTES = 240;
38
- export function previewArgs(args) {
39
- if (args === undefined || args === null)
40
- return undefined;
41
- try {
42
- const json = typeof args === "string"
43
- ? redactSensitiveText(args)
44
- : JSON.stringify(args, (key, value) => /(url|password|token|secret|credential)/i.test(key) && typeof value === "string"
45
- ? "[redacted]"
46
- : value);
47
- if (!json)
48
- return undefined;
49
- if (json.length <= ARG_PREVIEW_BYTES)
50
- return json;
51
- return `${json.slice(0, ARG_PREVIEW_BYTES)}…`;
52
- }
53
- catch {
54
- return undefined;
55
- }
56
- }
57
- export function redactSensitiveText(value) {
58
- return value
59
- .replace(/\b(postgres(?:ql)?|mysql|mariadb):\/\/([^\s:@/]+):([^\s@/]+)@/gi, "$1://$2:****@")
60
- .replace(/\b(password|token|secret)\s*[=:]\s*[^\s,;]+/gi, "$1=****");
61
- }
62
- //# sourceMappingURL=tool-call-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-call-store.js","sourceRoot":"","sources":["../../src/core/tool-call-store.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,aAAa;IAKK;IAJZ,OAAO,GAAqB,EAAE,CAAC;IAC/B,SAAS,GAAG,IAAI,GAAG,EAAY,CAAC;IACzC,MAAM,GAAG,CAAC,CAAC;IAEnB,YAA6B,WAAW,GAAG;QAAd,aAAQ,GAAR,QAAQ,CAAM;IAAG,CAAC;IAE/C,MAAM,CAAC,KAAiC;QACtC,MAAM,MAAM,GAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,GAAG;QAChB,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,QAAkB;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GACR,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClC,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC9E,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,KAAK,CACV,CAAC;QACR,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK;SACT,OAAO,CAAC,iEAAiE,EAAE,eAAe,CAAC;SAC3F,OAAO,CAAC,+CAA+C,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC"}
@@ -1,312 +0,0 @@
1
- import type { ProcessTreeSummary } from "./process-tree.js";
2
- import type { PortBindingStatus } from "./port-utils.js";
3
- import type { Workflow } from "./workflows.js";
4
- import type { WorkflowTrigger } from "./workflow-triggers.js";
5
- export type ServiceKind = "local" | "docker-compose" | "ssh";
6
- /**
7
- * A reusable remote machine reached through the user's OpenSSH configuration.
8
- * NoMoreIDE stores only presentation metadata; credentials remain owned by
9
- * ~/.ssh/config and ssh-agent.
10
- */
11
- export interface SshServerDefinition {
12
- /** Host alias passed to `ssh`, normally an explicit Host in ~/.ssh/config. */
13
- host: string;
14
- /** Optional human-friendly label; falls back to `host`. */
15
- name?: string;
16
- /** Free-form environment label such as Development, UAT, or Production. */
17
- environment?: string;
18
- }
19
- export interface ServiceDefinition {
20
- name: string;
21
- kind?: ServiceKind;
22
- port?: number;
23
- description?: string;
24
- /** Test Runner command; defaults to `npm test` when absent. */
25
- test?: string;
26
- /**
27
- * Names of services that must be started (and healthy) before this one, used
28
- * to order `startBundle`. Self/unknown references are ignored at start time.
29
- */
30
- dependsOn?: string[];
31
- /**
32
- * Root path of the project this service belongs to. Overrides the default
33
- * inference from `cwd`; set it when `cwd` cannot identify the project, as
34
- * for remote services whose cwd lives on another machine.
35
- */
36
- projectPath?: string;
37
- command?: string;
38
- /**
39
- * Direct-exec arguments. Undefined preserves the legacy shell command;
40
- * present (including an empty array) executes `command` without a shell.
41
- */
42
- args?: string[];
43
- cwd?: string;
44
- env?: Record<string, string>;
45
- composeFile?: string;
46
- composeService?: string;
47
- host?: string;
48
- }
49
- export interface BundleDefinition {
50
- name: string;
51
- services: string[];
52
- }
53
- export interface GitRepositoryDefinition {
54
- name: string;
55
- /** Primary worktree used to identify and configure this logical project. */
56
- path: string;
57
- /** Worktree currently used by Git, agents, shells, and GitHub workflows. */
58
- activeWorktreePath?: string;
59
- /** GitHub identity used for API operations in this logical repository. */
60
- githubCredential?: GitHubCredentialSelection;
61
- /**
62
- * Deploy-provider project this repository ships, keyed by provider id
63
- * (`vercel`, `cloudflare`, …), when the user pinned one. A missing entry
64
- * means "infer it" — from the provider's link file (Vercel:
65
- * `.vercel/project.json`), else the git remote.
66
- */
67
- providerProjects?: Record<string, string>;
68
- }
69
- export type GitHubCredentialSelection = {
70
- source: "gh";
71
- host: string;
72
- login: string;
73
- } | {
74
- source: "stored";
75
- host: string;
76
- };
77
- export type DatabaseEngine = "postgres" | "mysql" | "sqlite";
78
- /**
79
- * A read-only database connection for DB Peek. For `postgres`/`mysql`, `url` is
80
- * the connection string (stored like a secret, masked in API responses). For
81
- * `sqlite`, `url` is an absolute path to the `.db` file.
82
- */
83
- export interface DatabaseConnection {
84
- name: string;
85
- engine: DatabaseEngine;
86
- url: string;
87
- /**
88
- * When true the user has explicitly unlocked write access for this
89
- * connection's SQL console. Default/absent = read-only (locked).
90
- */
91
- writeUnlocked?: boolean;
92
- /**
93
- * Directory that ties this connection to a project (a repo root, or the
94
- * cwd of the service whose .env it was detected in). Absent = shared /
95
- * unclassified — such connections stay visible in every project scope.
96
- */
97
- projectPath?: string;
98
- }
99
- export type LogSourceKind = "file" | "ssh" | "command";
100
- /**
101
- * Structured log backend. When set, the source builds its own query (time
102
- * range, text filter, level) instead of a fixed `tail`, pushing the work down
103
- * to the host. Runs over ssh when `host` is set, otherwise locally.
104
- */
105
- export type LogDriver = "journald" | "docker";
106
- /**
107
- * A named, on-demand log reader (e.g. "UAT", "PROD") that is *not* tied to a
108
- * managed process. `file` tails a local path, `ssh` tails a path on a remote
109
- * host via the local ssh binary + ~/.ssh/config, and `command` runs an
110
- * arbitrary command (journalctl, kubectl logs, …) and treats its output as log.
111
- *
112
- * Setting `driver` upgrades the source to a query backend: `journald` filters
113
- * server-side via journalctl flags, `docker` via `docker logs` windowing.
114
- */
115
- export interface LogSourceDefinition {
116
- name: string;
117
- kind: LogSourceKind;
118
- /** Absolute path for `file`; remote path for `ssh`. */
119
- path?: string;
120
- /** SSH host/alias for `ssh`, and for any `driver` source run remotely. */
121
- host?: string;
122
- /** Command line for `command`. */
123
- command?: string;
124
- /** Optional working directory for `command`. */
125
- cwd?: string;
126
- /** Query backend. When set, `since`/`until`/`grep`/`level` are honored. */
127
- driver?: LogDriver;
128
- /** systemd unit for `driver: "journald"`. */
129
- unit?: string;
130
- /** container name/id for `driver: "docker"`. */
131
- container?: string;
132
- }
133
- /**
134
- * Read-time query for a log source. Honored fully by `journald` (server-side
135
- * journalctl flags) and partially by `docker` (time window server-side, text +
136
- * level filtered client-side); for plain file/ssh/command sources `grep`/`level`
137
- * are applied client-side and `since`/`until`/`cursor` are ignored.
138
- */
139
- export interface LogQuery {
140
- /** Start of time window, e.g. "today", "1 hour ago", "2026-05-24 00:00". */
141
- since?: string;
142
- /** End of time window. */
143
- until?: string;
144
- /** Case-insensitive text/regex filter. */
145
- grep?: string;
146
- /** Minimum severity to include. */
147
- level?: "warn" | "error";
148
- /** Max lines (tail). */
149
- lines?: number;
150
- /** journald cursor to page *newer* than (`--after-cursor`). */
151
- cursor?: string;
152
- /** journald cursor to page *older* than — returns the `lines` entries before it. */
153
- before?: string;
154
- }
155
- export interface GitHubToken {
156
- host: string;
157
- token: string;
158
- /** Account the token belongs to, captured at connect time (optional legacy). */
159
- login?: string;
160
- avatarUrl?: string;
161
- }
162
- /**
163
- * Commit author/committer for a GitHub account. Cached so the commit path can
164
- * stamp an identity without an API round trip per commit.
165
- */
166
- export interface GitHubIdentity {
167
- host: string;
168
- login: string;
169
- name: string;
170
- email: string;
171
- }
172
- /**
173
- * How an external provider integration authenticates, keyed by provider id in
174
- * {@link NoMoreIdeConfig.connections}.
175
- *
176
- * The three sources are the same everywhere: `cli` holds no secret — the token
177
- * is re-read from the vendor CLI's own auth file each time, so `vercel logout`
178
- * (or `wrangler logout`) revokes NoMoreIDE's access too. `stored` carries a
179
- * pasted token. `oauth` is the browser sign-in, whose access token expires and
180
- * is renewed from `refreshToken` (see `vercel-oauth.ts`).
181
- */
182
- export interface ProviderConnection {
183
- source: "cli" | "stored" | "oauth";
184
- /** The pasted token (`stored`) or the current access token (`oauth`). Masked out of every API response. */
185
- token?: string;
186
- /** `oauth` only: renews `token`, and is itself rotated on every use. Masked like `token`. */
187
- refreshToken?: string;
188
- /** `oauth` only: epoch ms at which `token` expires. */
189
- expiresAt?: number;
190
- /** `oauth` only: the registered client the tokens belong to, needed to refresh them. */
191
- clientId?: string;
192
- /**
193
- * Account scope within the provider — a Vercel team, a Cloudflare account.
194
- * Absent means the provider's own default (for Vercel, the personal account).
195
- */
196
- scopeId?: string;
197
- scopeSlug?: string;
198
- /** Cached account identity, captured at connect time. */
199
- username?: string;
200
- }
201
- export interface ProjectPreferences {
202
- logs: {
203
- showTimestamps: boolean;
204
- wrapLines: boolean;
205
- };
206
- database: {
207
- confirmWrites: boolean;
208
- resultLimit: number;
209
- };
210
- }
211
- export interface NoMoreIdeConfig {
212
- version: 1;
213
- services: ServiceDefinition[];
214
- bundles: BundleDefinition[];
215
- gitRepositories: GitRepositoryDefinition[];
216
- selectedGitRepository?: string;
217
- /**
218
- * Ordered repo names pinned to the multi-repo board. Undefined means the
219
- * board shows every registered repo; an empty array means explicitly cleared.
220
- */
221
- gitBoardRepositories?: string[];
222
- databases: DatabaseConnection[];
223
- logSources: LogSourceDefinition[];
224
- sshServers: SshServerDefinition[];
225
- githubTokens: GitHubToken[];
226
- /** Resolved commit identities, keyed by host + login. */
227
- githubIdentities: GitHubIdentity[];
228
- /**
229
- * How each external provider authenticates, keyed by provider id (`vercel`,
230
- * `cloudflare`, …). A missing entry means that provider is not connected.
231
- */
232
- connections: Record<string, ProviderConnection>;
233
- /** User-saved git/GitHub workflows (forks/edits of the built-in templates). */
234
- workflows: Workflow[];
235
- /** Event→workflow bindings that auto-fire workflows (IDEAS #16). */
236
- workflowTriggers: WorkflowTrigger[];
237
- /**
238
- * Which CLI the in-dock agent chat drives. Undefined = never chosen → fall
239
- * back to startup-agent detection.
240
- */
241
- chatProvider?: "claude" | "codex";
242
- /**
243
- * Model each agent CLI is pinned to. A missing entry means "let the CLI
244
- * pick" — there is no model name that safely stands in for a provider's own
245
- * default, so the absence is the signal.
246
- */
247
- chatModels?: Partial<Record<"claude" | "codex", string>>;
248
- preferences?: ProjectPreferences;
249
- }
250
- export type ServiceState = "stopped" | "starting" | "running" | "exited";
251
- export interface ServiceStatus {
252
- name: string;
253
- state: ServiceState;
254
- pid?: number;
255
- url?: string;
256
- startedAt?: string;
257
- exitedAt?: string;
258
- exitCode?: number | null;
259
- signal?: NodeJS.Signals | null;
260
- processTree?: ProcessTreeSummary;
261
- kind?: ServiceKind;
262
- containerId?: string;
263
- host?: string;
264
- inspector?: InspectorStatus;
265
- }
266
- export interface InspectorStatus {
267
- enabled: boolean;
268
- port?: number;
269
- upstreamPort?: number;
270
- }
271
- export type LogStream = "stdout" | "stderr";
272
- export interface LogEntry {
273
- service: string;
274
- stream: LogStream;
275
- text: string;
276
- timestamp: string;
277
- /** journald `__CURSOR` for sources that support it; enables "load older" paging. */
278
- cursor?: string;
279
- }
280
- export type ServiceHealthStatus = "unknown" | "healthy" | "warning" | "unhealthy";
281
- export interface HealthCheckResult {
282
- name: string;
283
- ok: boolean;
284
- summary: string;
285
- latencyMs?: number;
286
- }
287
- export interface ServiceHealth {
288
- service: string;
289
- status: ServiceHealthStatus;
290
- summary: string;
291
- checkedAt: string;
292
- checks: HealthCheckResult[];
293
- processTree?: ProcessTreeSummary;
294
- ports: PortBindingStatus[];
295
- lastErrorLog?: LogEntry;
296
- agentContext: string;
297
- }
298
- export type TimelineEventKind = "service.lifecycle" | "service.log" | "service.health" | "service.port" | "service.http" | "mcp.tool" | "git.change" | "user.action";
299
- export interface TimelineEvent {
300
- id: string;
301
- timestamp: string;
302
- kind: TimelineEventKind;
303
- service?: string;
304
- severity: "info" | "warning" | "error";
305
- title: string;
306
- detail?: string;
307
- data?: Record<string, unknown>;
308
- }
309
- export interface ToolResult {
310
- ok: boolean;
311
- message: string;
312
- }