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,74 +0,0 @@
1
- import { z } from "zod";
2
- export interface AppSettings {
3
- version: 1;
4
- terminal: {
5
- fontSize: number;
6
- cursorStyle: "block" | "underline" | "bar";
7
- scrollback: number;
8
- copyOnSelect: boolean;
9
- confirmTerminate: boolean;
10
- smoothScroll: boolean;
11
- externalTerminal: ExternalTerminalPreference;
12
- };
13
- }
14
- export type ExternalTerminalPreference = "automatic" | "ghostty" | "iterm2" | "terminal";
15
- export declare const DEFAULT_APP_SETTINGS: AppSettings;
16
- export declare const appSettingsPatchSchema: z.ZodObject<{
17
- terminal: z.ZodOptional<z.ZodObject<{
18
- fontSize: z.ZodOptional<z.ZodNumber>;
19
- cursorStyle: z.ZodOptional<z.ZodEnum<["block", "underline", "bar"]>>;
20
- scrollback: z.ZodOptional<z.ZodNumber>;
21
- copyOnSelect: z.ZodOptional<z.ZodBoolean>;
22
- confirmTerminate: z.ZodOptional<z.ZodBoolean>;
23
- smoothScroll: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
24
- externalTerminal: z.ZodOptional<z.ZodDefault<z.ZodEnum<["automatic", "ghostty", "iterm2", "terminal"]>>>;
25
- }, "strict", z.ZodTypeAny, {
26
- fontSize?: number | undefined;
27
- cursorStyle?: "block" | "underline" | "bar" | undefined;
28
- scrollback?: number | undefined;
29
- copyOnSelect?: boolean | undefined;
30
- confirmTerminate?: boolean | undefined;
31
- smoothScroll?: boolean | undefined;
32
- externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
33
- }, {
34
- fontSize?: number | undefined;
35
- cursorStyle?: "block" | "underline" | "bar" | undefined;
36
- scrollback?: number | undefined;
37
- copyOnSelect?: boolean | undefined;
38
- confirmTerminate?: boolean | undefined;
39
- smoothScroll?: boolean | undefined;
40
- externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
41
- }>>;
42
- }, "strict", z.ZodTypeAny, {
43
- terminal?: {
44
- fontSize?: number | undefined;
45
- cursorStyle?: "block" | "underline" | "bar" | undefined;
46
- scrollback?: number | undefined;
47
- copyOnSelect?: boolean | undefined;
48
- confirmTerminate?: boolean | undefined;
49
- smoothScroll?: boolean | undefined;
50
- externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
51
- } | undefined;
52
- }, {
53
- terminal?: {
54
- fontSize?: number | undefined;
55
- cursorStyle?: "block" | "underline" | "bar" | undefined;
56
- scrollback?: number | undefined;
57
- copyOnSelect?: boolean | undefined;
58
- confirmTerminate?: boolean | undefined;
59
- smoothScroll?: boolean | undefined;
60
- externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
61
- } | undefined;
62
- }>;
63
- export type AppSettingsPatch = z.infer<typeof appSettingsPatchSchema>;
64
- export declare function defaultAppSettingsPath(): string;
65
- export declare class AppSettingsStore {
66
- private readonly settingsPath;
67
- private mutationQueue;
68
- constructor(settingsPath?: string);
69
- load(): Promise<AppSettings>;
70
- update(patch: AppSettingsPatch): Promise<AppSettings>;
71
- reset(): Promise<AppSettings>;
72
- private enqueueMutation;
73
- private persist;
74
- }
@@ -1,118 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import { mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
3
- import { homedir } from "node:os";
4
- import { basename, dirname, join } from "node:path";
5
- import { z } from "zod";
6
- export const DEFAULT_APP_SETTINGS = Object.freeze({
7
- version: 1,
8
- terminal: Object.freeze({
9
- fontSize: 13,
10
- cursorStyle: "block",
11
- scrollback: 5_000,
12
- copyOnSelect: false,
13
- confirmTerminate: true,
14
- smoothScroll: true,
15
- externalTerminal: "automatic",
16
- }),
17
- });
18
- const terminalSettingsShape = {
19
- fontSize: z.number().int().min(10).max(24),
20
- cursorStyle: z.enum(["block", "underline", "bar"]),
21
- scrollback: z.number().int().min(500).max(100_000),
22
- copyOnSelect: z.boolean(),
23
- confirmTerminate: z.boolean(),
24
- // Defaulted rather than required: settings.json files written before this
25
- // setting existed still have to load, and `load()` only forgives ENOENT.
26
- smoothScroll: z.boolean().default(true),
27
- // Defaulted for settings.json files written before external terminal
28
- // selection was configurable.
29
- externalTerminal: z
30
- .enum(["automatic", "ghostty", "iterm2", "terminal"])
31
- .default("automatic"),
32
- };
33
- // Input is `unknown` because this parses JSON off disk, where the defaulted
34
- // field above makes the accepted shape wider than `AppSettings`.
35
- const appSettingsSchema = z.object({
36
- version: z.literal(1),
37
- terminal: z.object(terminalSettingsShape),
38
- });
39
- export const appSettingsPatchSchema = z
40
- .object({
41
- terminal: z.object(terminalSettingsShape).partial().strict().optional(),
42
- })
43
- .strict();
44
- export function defaultAppSettingsPath() {
45
- const configuredRoot = process.env.XDG_CONFIG_HOME?.trim();
46
- const configRoot = configuredRoot || join(homedir(), ".config");
47
- return join(configRoot, "nomoreide", "settings.json");
48
- }
49
- export class AppSettingsStore {
50
- settingsPath;
51
- mutationQueue = Promise.resolve();
52
- constructor(settingsPath = defaultAppSettingsPath()) {
53
- this.settingsPath = settingsPath;
54
- }
55
- async load() {
56
- try {
57
- const contents = await readFile(this.settingsPath, "utf8");
58
- return cloneSettings(appSettingsSchema.parse(JSON.parse(contents)));
59
- }
60
- catch (error) {
61
- if (isMissingFileError(error)) {
62
- return cloneSettings(DEFAULT_APP_SETTINGS);
63
- }
64
- throw error;
65
- }
66
- }
67
- async update(patch) {
68
- return this.enqueueMutation(async () => {
69
- const current = await this.load();
70
- const next = appSettingsSchema.parse({
71
- ...current,
72
- ...patch,
73
- terminal: {
74
- ...current.terminal,
75
- ...patch.terminal,
76
- },
77
- });
78
- await this.persist(next);
79
- return cloneSettings(next);
80
- });
81
- }
82
- async reset() {
83
- return this.enqueueMutation(async () => {
84
- const defaults = cloneSettings(DEFAULT_APP_SETTINGS);
85
- await this.persist(defaults);
86
- return cloneSettings(defaults);
87
- });
88
- }
89
- enqueueMutation(operation) {
90
- const result = this.mutationQueue.then(operation);
91
- this.mutationQueue = result.then(() => undefined, () => undefined);
92
- return result;
93
- }
94
- async persist(settings) {
95
- const validated = appSettingsSchema.parse(settings);
96
- const parentDirectory = dirname(this.settingsPath);
97
- const temporaryPath = join(parentDirectory, `.${basename(this.settingsPath)}.${process.pid}.${randomUUID()}.tmp`);
98
- await mkdir(parentDirectory, { recursive: true });
99
- try {
100
- await writeFile(temporaryPath, `${JSON.stringify(validated, null, 2)}\n`, { flag: "wx" });
101
- await rename(temporaryPath, this.settingsPath);
102
- }
103
- catch (error) {
104
- await unlink(temporaryPath).catch(() => undefined);
105
- throw error;
106
- }
107
- }
108
- }
109
- function cloneSettings(settings) {
110
- return structuredClone(settings);
111
- }
112
- function isMissingFileError(error) {
113
- return (typeof error === "object" &&
114
- error !== null &&
115
- "code" in error &&
116
- error.code === "ENOENT");
117
- }
118
- //# sourceMappingURL=app-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-settings.js","sourceRoot":"","sources":["../../src/core/app-settings.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- /** The installed nomoreide package version (from package.json, cached). */
2
- export declare function appVersion(): string;
@@ -1,16 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- let cached;
3
- /** The installed nomoreide package version (from package.json, cached). */
4
- export function appVersion() {
5
- if (cached === undefined) {
6
- try {
7
- const raw = readFileSync(new URL("../../package.json", import.meta.url), "utf8");
8
- cached = String(JSON.parse(raw).version ?? "0.0.0");
9
- }
10
- catch {
11
- cached = "0.0.0";
12
- }
13
- }
14
- return cached;
15
- }
16
- //# sourceMappingURL=app-version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-version.js","sourceRoot":"","sources":["../../src/core/app-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,IAAI,MAA0B,CAAC;AAE/B,2EAA2E;AAC3E,MAAM,UAAU,UAAU;IACxB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CACtB,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9C,MAAM,CACP,CAAC;YACF,MAAM,GAAG,MAAM,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Bridges Claude Code's PreToolUse permission hook to the web UI. The hook
3
- * (a child process of the spawned `claude`) POSTs an approval request and
4
- * blocks; the broker emits it onto the active chat SSE stream and parks a
5
- * resolver until the browser POSTs the user's decision back.
6
- *
7
- * Keyed by Claude Code session id, which both the SSE stream (from the init
8
- * event) and the hook (from its stdin payload) know.
9
- */
10
- export interface ApprovalRequest {
11
- requestId: string;
12
- name: string;
13
- input: unknown;
14
- }
15
- export interface ApprovalDecision {
16
- decision: "allow" | "deny";
17
- reason?: string;
18
- }
19
- export declare class ApprovalBroker {
20
- private readonly channels;
21
- /** Register the SSE emitter for a session so approvals can reach the browser. */
22
- openRun(sessionId: string, emit: (request: ApprovalRequest) => void): void;
23
- /** Tear down a session, auto-denying anything still awaiting a decision. */
24
- closeRun(sessionId: string): void;
25
- /** Called by the hook endpoint. Resolves once the user decides (or no channel). */
26
- requestApproval(sessionId: string | undefined, requestId: string, name: string, input: unknown): Promise<ApprovalDecision>;
27
- /** Called by the browser. Returns false if the request is unknown/expired. */
28
- resolve(sessionId: string, requestId: string, decision: ApprovalDecision): boolean;
29
- }
@@ -1,48 +0,0 @@
1
- /**
2
- * Bridges Claude Code's PreToolUse permission hook to the web UI. The hook
3
- * (a child process of the spawned `claude`) POSTs an approval request and
4
- * blocks; the broker emits it onto the active chat SSE stream and parks a
5
- * resolver until the browser POSTs the user's decision back.
6
- *
7
- * Keyed by Claude Code session id, which both the SSE stream (from the init
8
- * event) and the hook (from its stdin payload) know.
9
- */
10
- export class ApprovalBroker {
11
- channels = new Map();
12
- /** Register the SSE emitter for a session so approvals can reach the browser. */
13
- openRun(sessionId, emit) {
14
- this.channels.set(sessionId, { emit, pending: new Map() });
15
- }
16
- /** Tear down a session, auto-denying anything still awaiting a decision. */
17
- closeRun(sessionId) {
18
- const channel = this.channels.get(sessionId);
19
- if (!channel)
20
- return;
21
- for (const resolve of channel.pending.values()) {
22
- resolve({ decision: "deny", reason: "The agent session ended before you responded." });
23
- }
24
- this.channels.delete(sessionId);
25
- }
26
- /** Called by the hook endpoint. Resolves once the user decides (or no channel). */
27
- requestApproval(sessionId, requestId, name, input) {
28
- const channel = sessionId ? this.channels.get(sessionId) : undefined;
29
- if (!channel) {
30
- return Promise.resolve({ decision: "deny", reason: "No active agent session to approve." });
31
- }
32
- return new Promise((resolve) => {
33
- channel.pending.set(requestId, resolve);
34
- channel.emit({ requestId, name, input });
35
- });
36
- }
37
- /** Called by the browser. Returns false if the request is unknown/expired. */
38
- resolve(sessionId, requestId, decision) {
39
- const channel = this.channels.get(sessionId);
40
- const resolver = channel?.pending.get(requestId);
41
- if (!channel || !resolver)
42
- return false;
43
- channel.pending.delete(requestId);
44
- resolver(decision);
45
- return true;
46
- }
47
- }
48
- //# sourceMappingURL=approval-broker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"approval-broker.js","sourceRoot":"","sources":["../../src/core/approval-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,MAAM,OAAO,cAAc;IACR,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvD,iFAAiF;IACjF,OAAO,CAAC,SAAiB,EAAE,IAAwC;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,4EAA4E;IAC5E,QAAQ,CAAC,SAAiB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,mFAAmF;IACnF,eAAe,CACb,SAA6B,EAC7B,SAAiB,EACjB,IAAY,EACZ,KAAc;QAEd,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAA0B;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Read/write a single setting in the user-global `~/.claude/settings.json`.
3
- * Keep this narrow — we only touch the keys the UI exposes, and preserve the
4
- * rest of the file verbatim so users who hand-edit it don't lose data.
5
- */
6
- export interface ClaudeAttribution {
7
- /** Trailer Claude Code appends to commits (empty = no trailer). */
8
- commit?: string;
9
- /** Trailer Claude Code appends to PR bodies (empty = no trailer). */
10
- pr?: string;
11
- }
12
- /**
13
- * Claude Code defaults to including the co-author trailer, so a missing file
14
- * or missing `attribution` key reads as "on". Only an explicit
15
- * `{ commit: "", pr: "" }` (or both blank) counts as opted-out.
16
- */
17
- export declare function getCoAuthorWithClaude(): Promise<boolean>;
18
- export declare function setCoAuthorWithClaude(enabled: boolean): Promise<boolean>;
@@ -1,48 +0,0 @@
1
- import { mkdir, readFile, writeFile } from "node:fs/promises";
2
- import { homedir } from "node:os";
3
- import { dirname, join } from "node:path";
4
- function settingsPath() {
5
- return join(homedir(), ".claude", "settings.json");
6
- }
7
- async function readSettings() {
8
- try {
9
- const raw = await readFile(settingsPath(), "utf8");
10
- const parsed = JSON.parse(raw);
11
- return parsed && typeof parsed === "object" ? parsed : {};
12
- }
13
- catch (error) {
14
- if (error.code === "ENOENT")
15
- return {};
16
- throw error;
17
- }
18
- }
19
- async function writeSettings(settings) {
20
- const path = settingsPath();
21
- await mkdir(dirname(path), { recursive: true });
22
- await writeFile(path, `${JSON.stringify(settings, null, 2)}\n`);
23
- }
24
- /**
25
- * Claude Code defaults to including the co-author trailer, so a missing file
26
- * or missing `attribution` key reads as "on". Only an explicit
27
- * `{ commit: "", pr: "" }` (or both blank) counts as opted-out.
28
- */
29
- export async function getCoAuthorWithClaude() {
30
- const { attribution } = await readSettings();
31
- if (!attribution)
32
- return true;
33
- const commit = attribution.commit ?? "";
34
- const pr = attribution.pr ?? "";
35
- return !(commit === "" && pr === "");
36
- }
37
- export async function setCoAuthorWithClaude(enabled) {
38
- const settings = await readSettings();
39
- if (enabled) {
40
- delete settings.attribution;
41
- }
42
- else {
43
- settings.attribution = { commit: "", pr: "" };
44
- }
45
- await writeSettings(settings);
46
- return enabled;
47
- }
48
- //# sourceMappingURL=claude-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/core/claude-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoB1C,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAClE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAuB;IAClD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAC7C,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAChC,OAAO,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB;IAC1D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,90 +0,0 @@
1
- import { type CloudflareEnvVar, type CloudflareRequestAuth } from "./cloudflare-manager.js";
2
- /**
3
- * Write-capable Cloudflare Pages operations, deliberately separate from the
4
- * read-safe {@link ./cloudflare-manager.js CloudflareManager} — the same split
5
- * as `git-manager` / `git-actions` and `db-peek` / `db-write`.
6
- *
7
- * Everything here changes what the internet is serving, so none of it is
8
- * exposed as an MCP tool: these are reached only from the dashboard's own
9
- * routes, where a human clicked the button.
10
- *
11
- * Still intentionally excludes the irreversible ones — Cloudflare's
12
- * `DELETE .../deployments/{id}` and project deletion — which would need their
13
- * own guarded surface.
14
- */
15
- /** The only two environments Pages has. A third would be silently created by a PATCH. */
16
- export declare const CLOUDFLARE_ENVIRONMENTS: readonly ["production", "preview"];
17
- export type CloudflareEnvironment = (typeof CLOUDFLARE_ENVIRONMENTS)[number];
18
- export declare class CloudflareActions {
19
- private readonly auth;
20
- private readonly accountId;
21
- constructor(auth: CloudflareRequestAuth, accountId: string);
22
- /**
23
- * Rebuild an existing deployment.
24
- *
25
- * Cloudflare calls this "retry" and mints a new deployment id, inheriting the
26
- * original's branch, commit and environment — so, unlike Vercel's redeploy,
27
- * nothing has to be carried through by the caller to keep a production retry
28
- * in production.
29
- */
30
- retry(projectName: string, deploymentId: string): Promise<{
31
- id: string;
32
- url: string | null;
33
- }>;
34
- /**
35
- * Point the project's production alias at an earlier deployment without
36
- * rebuilding it. Cloudflare records this as a rollback, and it takes effect
37
- * immediately.
38
- */
39
- rollback(projectName: string, deploymentId: string): Promise<{
40
- id: string;
41
- url: string | null;
42
- }>;
43
- /**
44
- * Add a variable. `secret` (Vercel's "encrypted") is the default, and its
45
- * value never reads back over the API afterwards.
46
- */
47
- createEnv(projectName: string, input: {
48
- key: string;
49
- value: string;
50
- environments: string[];
51
- secret?: boolean;
52
- }): Promise<CloudflareEnvVar>;
53
- /**
54
- * Change a variable's value and/or the environments it applies to.
55
- *
56
- * Adding an environment needs a value: Cloudflare stores the variable
57
- * separately per environment and never hands back a secret's value, so there
58
- * is nothing to copy across. Saying that is better than writing an empty
59
- * string into the new environment.
60
- */
61
- updateEnv(projectName: string, key: string, input: {
62
- value?: string;
63
- environments?: string[];
64
- }): Promise<CloudflareEnvVar>;
65
- /** Remove a variable from every environment it is set in. */
66
- deleteEnv(projectName: string, key: string): Promise<void>;
67
- /**
68
- * The one write to a project's variables.
69
- *
70
- * Cloudflare merges the `env_vars` map it is sent — a key set to `null` is
71
- * deleted, and keys the patch does not mention are untouched — so this never
72
- * has to read-modify-write the whole map and cannot clobber a variable added
73
- * between the read and the write.
74
- */
75
- private patchEnv;
76
- private patchProject;
77
- private currentEnv;
78
- private projectPath;
79
- private request;
80
- }
81
- /**
82
- * Cloudflare's action vocabulary, mapped onto the names the shared UI already
83
- * knows. "retry" is Cloudflare's word for what Vercel calls a redeploy, and
84
- * there is no cancel endpoint for a Pages build at all — so the manifest is
85
- * two actions, not four, and the deployment row hides what it cannot do.
86
- */
87
- export declare const CLOUDFLARE_ACTIONS: readonly ["redeploy", "rollback"];
88
- export type CloudflareActionName = (typeof CLOUDFLARE_ACTIONS)[number];
89
- /** Actions that change what production serves — the UI confirms these first. */
90
- export declare const PRODUCTION_AFFECTING_ACTIONS: ReadonlySet<CloudflareActionName>;
@@ -1,178 +0,0 @@
1
- import { cloudflareRequest, } from "./cloudflare-manager.js";
2
- /**
3
- * Write-capable Cloudflare Pages operations, deliberately separate from the
4
- * read-safe {@link ./cloudflare-manager.js CloudflareManager} — the same split
5
- * as `git-manager` / `git-actions` and `db-peek` / `db-write`.
6
- *
7
- * Everything here changes what the internet is serving, so none of it is
8
- * exposed as an MCP tool: these are reached only from the dashboard's own
9
- * routes, where a human clicked the button.
10
- *
11
- * Still intentionally excludes the irreversible ones — Cloudflare's
12
- * `DELETE .../deployments/{id}` and project deletion — which would need their
13
- * own guarded surface.
14
- */
15
- /** The only two environments Pages has. A third would be silently created by a PATCH. */
16
- export const CLOUDFLARE_ENVIRONMENTS = ["production", "preview"];
17
- export class CloudflareActions {
18
- auth;
19
- accountId;
20
- constructor(auth, accountId) {
21
- this.auth = auth;
22
- this.accountId = accountId;
23
- }
24
- /**
25
- * Rebuild an existing deployment.
26
- *
27
- * Cloudflare calls this "retry" and mints a new deployment id, inheriting the
28
- * original's branch, commit and environment — so, unlike Vercel's redeploy,
29
- * nothing has to be carried through by the caller to keep a production retry
30
- * in production.
31
- */
32
- async retry(projectName, deploymentId) {
33
- const created = await this.request(`${this.projectPath(projectName)}/deployments/${encodeURIComponent(deploymentId)}/retry`, { method: "POST" });
34
- return { id: created.id ?? "", url: created.url ?? null };
35
- }
36
- /**
37
- * Point the project's production alias at an earlier deployment without
38
- * rebuilding it. Cloudflare records this as a rollback, and it takes effect
39
- * immediately.
40
- */
41
- async rollback(projectName, deploymentId) {
42
- const rolled = await this.request(`${this.projectPath(projectName)}/deployments/${encodeURIComponent(deploymentId)}/rollback`, { method: "POST" });
43
- return { id: rolled.id ?? deploymentId, url: rolled.url ?? null };
44
- }
45
- /**
46
- * Add a variable. `secret` (Vercel's "encrypted") is the default, and its
47
- * value never reads back over the API afterwards.
48
- */
49
- createEnv(projectName, input) {
50
- const type = input.secret === false ? "plain_text" : "secret_text";
51
- const patch = {};
52
- for (const environment of requireEnvironments(input.environments)) {
53
- patch[environment] = { [input.key]: { type, value: input.value } };
54
- }
55
- return this.patchEnv(projectName, input.key, patch);
56
- }
57
- /**
58
- * Change a variable's value and/or the environments it applies to.
59
- *
60
- * Adding an environment needs a value: Cloudflare stores the variable
61
- * separately per environment and never hands back a secret's value, so there
62
- * is nothing to copy across. Saying that is better than writing an empty
63
- * string into the new environment.
64
- */
65
- async updateEnv(projectName, key, input) {
66
- const current = await this.currentEnv(projectName, key);
67
- const wanted = input.environments
68
- ? requireEnvironments(input.environments)
69
- : current.environments;
70
- const patch = {};
71
- for (const environment of wanted) {
72
- if (input.value !== undefined) {
73
- patch[environment] = { [key]: { type: current.type, value: input.value } };
74
- }
75
- else if (!current.environments.includes(environment)) {
76
- throw new Error(`Adding "${key}" to ${environment} needs a value — Cloudflare stores it separately per environment.`);
77
- }
78
- }
79
- for (const environment of current.environments) {
80
- if (!wanted.includes(environment)) {
81
- patch[environment] = { [key]: null };
82
- }
83
- }
84
- return this.patchEnv(projectName, key, patch);
85
- }
86
- /** Remove a variable from every environment it is set in. */
87
- async deleteEnv(projectName, key) {
88
- const current = await this.currentEnv(projectName, key);
89
- const patch = {};
90
- for (const environment of current.environments)
91
- patch[environment] = { [key]: null };
92
- await this.patchProject(projectName, patch);
93
- }
94
- /**
95
- * The one write to a project's variables.
96
- *
97
- * Cloudflare merges the `env_vars` map it is sent — a key set to `null` is
98
- * deleted, and keys the patch does not mention are untouched — so this never
99
- * has to read-modify-write the whole map and cannot clobber a variable added
100
- * between the read and the write.
101
- */
102
- async patchEnv(projectName, key, patch) {
103
- const updated = await this.patchProject(projectName, patch);
104
- const found = updated.find((entry) => entry.key === key);
105
- if (!found)
106
- throw new Error(`Cloudflare did not report "${key}" after the update.`);
107
- return found;
108
- }
109
- async patchProject(projectName, patch) {
110
- const deploymentConfigs = {};
111
- for (const [environment, envVars] of Object.entries(patch)) {
112
- if (envVars)
113
- deploymentConfigs[environment] = { env_vars: envVars };
114
- }
115
- const project = await this.request(this.projectPath(projectName), {
116
- method: "PATCH",
117
- body: { deployment_configs: deploymentConfigs },
118
- });
119
- return mergeEnvVars(project.deployment_configs);
120
- }
121
- async currentEnv(projectName, key) {
122
- const project = await this.request(this.projectPath(projectName));
123
- const found = mergeEnvVars(project.deployment_configs).find((entry) => entry.key === key);
124
- if (!found)
125
- throw new Error(`No variable named "${key}" on this project.`);
126
- return found;
127
- }
128
- projectPath(projectName) {
129
- return `/accounts/${this.accountId}/pages/projects/${encodeURIComponent(projectName)}`;
130
- }
131
- request(path, opts) {
132
- return cloudflareRequest(this.auth, path, opts);
133
- }
134
- }
135
- /**
136
- * Rejects anything that is not one of Pages' two environments. Vercel's env
137
- * dialog offers `development` as well, and a PATCH naming it would quietly
138
- * create a third deployment config that nothing ever reads.
139
- */
140
- function requireEnvironments(environments) {
141
- const invalid = environments.filter((entry) => !CLOUDFLARE_ENVIRONMENTS.includes(entry));
142
- if (invalid.length > 0) {
143
- throw new Error(`Cloudflare Pages only has ${CLOUDFLARE_ENVIRONMENTS.join(" and ")} environments, not ${invalid.join(", ")}.`);
144
- }
145
- return environments;
146
- }
147
- /** The read side's flattening, applied to whatever a write handed back. */
148
- function mergeEnvVars(configs) {
149
- const merged = new Map();
150
- for (const [environment, config] of Object.entries(configs ?? {})) {
151
- for (const [key, entry] of Object.entries(config?.env_vars ?? {})) {
152
- if (!entry)
153
- continue;
154
- const type = entry.type === "plain_text" ? "plain_text" : "secret_text";
155
- const existing = merged.get(key);
156
- if (existing) {
157
- existing.environments.push(environment);
158
- if (type === "secret_text")
159
- existing.type = "secret_text";
160
- continue;
161
- }
162
- merged.set(key, { key, environments: [environment], type, value: entry.value });
163
- }
164
- }
165
- return [...merged.values()].sort((a, b) => a.key.localeCompare(b.key));
166
- }
167
- /**
168
- * Cloudflare's action vocabulary, mapped onto the names the shared UI already
169
- * knows. "retry" is Cloudflare's word for what Vercel calls a redeploy, and
170
- * there is no cancel endpoint for a Pages build at all — so the manifest is
171
- * two actions, not four, and the deployment row hides what it cannot do.
172
- */
173
- export const CLOUDFLARE_ACTIONS = ["redeploy", "rollback"];
174
- /** Actions that change what production serves — the UI confirms these first. */
175
- export const PRODUCTION_AFFECTING_ACTIONS = new Set([
176
- "rollback",
177
- ]);
178
- //# sourceMappingURL=cloudflare-actions.js.map