supipowers 1.1.0 → 1.2.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 (718) hide show
  1. package/README.md +83 -237
  2. package/bin/ctx-mode-wrapper.mjs +3 -3
  3. package/bin/install.ts +6 -1
  4. package/package.json +12 -23
  5. package/skills/planning/SKILL.md +2 -4
  6. package/skills/release/SKILL.md +5 -2
  7. package/src/bootstrap.ts +16 -33
  8. package/src/commands/commit.ts +44 -0
  9. package/src/commands/config.ts +0 -27
  10. package/src/commands/context.ts +117 -0
  11. package/src/commands/doctor.ts +1 -2
  12. package/src/commands/fix-pr.ts +16 -42
  13. package/src/commands/mcp.ts +121 -3
  14. package/src/commands/plan.ts +5 -1
  15. package/src/commands/release.ts +385 -48
  16. package/src/commands/review.ts +1 -1
  17. package/src/commands/status.ts +9 -26
  18. package/src/commands/supi.ts +2 -5
  19. package/src/config/defaults.ts +0 -19
  20. package/src/config/model-config.ts +0 -19
  21. package/src/context/analyzer.ts +316 -0
  22. package/src/deps/registry.ts +2 -4
  23. package/src/fix-pr/bot-detector.ts +41 -0
  24. package/src/fix-pr/scripts/fetch-pr-comments.sh +2 -2
  25. package/src/fix-pr/types.ts +1 -0
  26. package/src/git/commit-msg-hook.ts +21 -0
  27. package/src/git/commit-msg.ts +53 -0
  28. package/src/git/commit.ts +677 -0
  29. package/src/git/conventions.ts +215 -0
  30. package/src/git/status.ts +27 -0
  31. package/src/global.d.ts +5 -0
  32. package/src/index.ts +1 -7
  33. package/src/mcp/config.ts +80 -1
  34. package/src/mcp/docs.ts +1 -1
  35. package/src/mcp/types.ts +14 -0
  36. package/src/planning/approval-flow.ts +174 -0
  37. package/src/planning/plan-writer-prompt.ts +6 -5
  38. package/src/planning/prompt-builder.ts +4 -3
  39. package/src/platform/detect.ts +4 -6
  40. package/src/platform/omp.ts +16 -15
  41. package/src/platform/test-utils.ts +18 -17
  42. package/src/platform/types.ts +7 -6
  43. package/src/release/changelog.ts +30 -20
  44. package/src/release/commit-types.ts +35 -0
  45. package/src/release/executor.ts +65 -26
  46. package/src/release/prompt.ts +1 -1
  47. package/src/release/version.ts +27 -0
  48. package/src/storage/plans.ts +2 -12
  49. package/src/types.ts +7 -55
  50. package/bin/.omp/SYSTEM.md +0 -77
  51. package/bin/.omp/supipowers/sessions/events.db +0 -0
  52. package/bin/.omp/supipowers/sessions/events.db-shm +0 -0
  53. package/bin/.omp/supipowers/sessions/events.db-wal +0 -0
  54. package/src/commands/run.ts +0 -511
  55. package/src/orchestrator/agent-grid.ts +0 -439
  56. package/src/orchestrator/agent-prompts.ts +0 -290
  57. package/src/orchestrator/batch-scheduler.ts +0 -59
  58. package/src/orchestrator/conflict-resolver.ts +0 -39
  59. package/src/orchestrator/dispatcher.ts +0 -666
  60. package/src/orchestrator/progress-renderer.ts +0 -281
  61. package/src/orchestrator/prompts.ts +0 -149
  62. package/src/orchestrator/result-collector.ts +0 -72
  63. package/src/orchestrator/run-progress.ts +0 -95
  64. package/src/platform/pi.ts +0 -61
  65. package/src/storage/runs.ts +0 -126
  66. package/src/types/bun-sqlite.d.ts +0 -24
  67. package/src/visual/scripts/node_modules/.package-lock.json +0 -869
  68. package/src/visual/scripts/node_modules/accepts/HISTORY.md +0 -243
  69. package/src/visual/scripts/node_modules/accepts/LICENSE +0 -23
  70. package/src/visual/scripts/node_modules/accepts/README.md +0 -140
  71. package/src/visual/scripts/node_modules/accepts/index.js +0 -238
  72. package/src/visual/scripts/node_modules/accepts/package.json +0 -47
  73. package/src/visual/scripts/node_modules/array-flatten/LICENSE +0 -21
  74. package/src/visual/scripts/node_modules/array-flatten/README.md +0 -43
  75. package/src/visual/scripts/node_modules/array-flatten/array-flatten.js +0 -64
  76. package/src/visual/scripts/node_modules/array-flatten/package.json +0 -39
  77. package/src/visual/scripts/node_modules/body-parser/HISTORY.md +0 -680
  78. package/src/visual/scripts/node_modules/body-parser/LICENSE +0 -23
  79. package/src/visual/scripts/node_modules/body-parser/README.md +0 -476
  80. package/src/visual/scripts/node_modules/body-parser/index.js +0 -156
  81. package/src/visual/scripts/node_modules/body-parser/lib/read.js +0 -205
  82. package/src/visual/scripts/node_modules/body-parser/lib/types/json.js +0 -247
  83. package/src/visual/scripts/node_modules/body-parser/lib/types/raw.js +0 -101
  84. package/src/visual/scripts/node_modules/body-parser/lib/types/text.js +0 -121
  85. package/src/visual/scripts/node_modules/body-parser/lib/types/urlencoded.js +0 -300
  86. package/src/visual/scripts/node_modules/body-parser/package.json +0 -55
  87. package/src/visual/scripts/node_modules/bytes/History.md +0 -97
  88. package/src/visual/scripts/node_modules/bytes/LICENSE +0 -23
  89. package/src/visual/scripts/node_modules/bytes/Readme.md +0 -152
  90. package/src/visual/scripts/node_modules/bytes/index.js +0 -170
  91. package/src/visual/scripts/node_modules/bytes/package.json +0 -42
  92. package/src/visual/scripts/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  93. package/src/visual/scripts/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  94. package/src/visual/scripts/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  95. package/src/visual/scripts/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  96. package/src/visual/scripts/node_modules/call-bind-apply-helpers/LICENSE +0 -21
  97. package/src/visual/scripts/node_modules/call-bind-apply-helpers/README.md +0 -62
  98. package/src/visual/scripts/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  99. package/src/visual/scripts/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  100. package/src/visual/scripts/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  101. package/src/visual/scripts/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  102. package/src/visual/scripts/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  103. package/src/visual/scripts/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  104. package/src/visual/scripts/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  105. package/src/visual/scripts/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  106. package/src/visual/scripts/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  107. package/src/visual/scripts/node_modules/call-bind-apply-helpers/index.js +0 -15
  108. package/src/visual/scripts/node_modules/call-bind-apply-helpers/package.json +0 -85
  109. package/src/visual/scripts/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  110. package/src/visual/scripts/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  111. package/src/visual/scripts/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  112. package/src/visual/scripts/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  113. package/src/visual/scripts/node_modules/call-bound/.eslintrc +0 -13
  114. package/src/visual/scripts/node_modules/call-bound/.github/FUNDING.yml +0 -12
  115. package/src/visual/scripts/node_modules/call-bound/.nycrc +0 -9
  116. package/src/visual/scripts/node_modules/call-bound/CHANGELOG.md +0 -42
  117. package/src/visual/scripts/node_modules/call-bound/LICENSE +0 -21
  118. package/src/visual/scripts/node_modules/call-bound/README.md +0 -53
  119. package/src/visual/scripts/node_modules/call-bound/index.d.ts +0 -94
  120. package/src/visual/scripts/node_modules/call-bound/index.js +0 -19
  121. package/src/visual/scripts/node_modules/call-bound/package.json +0 -99
  122. package/src/visual/scripts/node_modules/call-bound/test/index.js +0 -61
  123. package/src/visual/scripts/node_modules/call-bound/tsconfig.json +0 -10
  124. package/src/visual/scripts/node_modules/chokidar/LICENSE +0 -21
  125. package/src/visual/scripts/node_modules/chokidar/README.md +0 -305
  126. package/src/visual/scripts/node_modules/chokidar/esm/handler.d.ts +0 -90
  127. package/src/visual/scripts/node_modules/chokidar/esm/handler.js +0 -629
  128. package/src/visual/scripts/node_modules/chokidar/esm/index.d.ts +0 -215
  129. package/src/visual/scripts/node_modules/chokidar/esm/index.js +0 -798
  130. package/src/visual/scripts/node_modules/chokidar/esm/package.json +0 -1
  131. package/src/visual/scripts/node_modules/chokidar/handler.d.ts +0 -90
  132. package/src/visual/scripts/node_modules/chokidar/handler.js +0 -635
  133. package/src/visual/scripts/node_modules/chokidar/index.d.ts +0 -215
  134. package/src/visual/scripts/node_modules/chokidar/index.js +0 -804
  135. package/src/visual/scripts/node_modules/chokidar/package.json +0 -69
  136. package/src/visual/scripts/node_modules/content-disposition/HISTORY.md +0 -60
  137. package/src/visual/scripts/node_modules/content-disposition/LICENSE +0 -22
  138. package/src/visual/scripts/node_modules/content-disposition/README.md +0 -142
  139. package/src/visual/scripts/node_modules/content-disposition/index.js +0 -458
  140. package/src/visual/scripts/node_modules/content-disposition/package.json +0 -44
  141. package/src/visual/scripts/node_modules/content-type/HISTORY.md +0 -29
  142. package/src/visual/scripts/node_modules/content-type/LICENSE +0 -22
  143. package/src/visual/scripts/node_modules/content-type/README.md +0 -94
  144. package/src/visual/scripts/node_modules/content-type/index.js +0 -225
  145. package/src/visual/scripts/node_modules/content-type/package.json +0 -42
  146. package/src/visual/scripts/node_modules/cookie/LICENSE +0 -24
  147. package/src/visual/scripts/node_modules/cookie/README.md +0 -317
  148. package/src/visual/scripts/node_modules/cookie/SECURITY.md +0 -25
  149. package/src/visual/scripts/node_modules/cookie/index.js +0 -335
  150. package/src/visual/scripts/node_modules/cookie/package.json +0 -44
  151. package/src/visual/scripts/node_modules/cookie-signature/History.md +0 -42
  152. package/src/visual/scripts/node_modules/cookie-signature/Readme.md +0 -42
  153. package/src/visual/scripts/node_modules/cookie-signature/index.js +0 -51
  154. package/src/visual/scripts/node_modules/cookie-signature/package.json +0 -18
  155. package/src/visual/scripts/node_modules/debug/.coveralls.yml +0 -1
  156. package/src/visual/scripts/node_modules/debug/.eslintrc +0 -11
  157. package/src/visual/scripts/node_modules/debug/.travis.yml +0 -14
  158. package/src/visual/scripts/node_modules/debug/CHANGELOG.md +0 -362
  159. package/src/visual/scripts/node_modules/debug/LICENSE +0 -19
  160. package/src/visual/scripts/node_modules/debug/Makefile +0 -50
  161. package/src/visual/scripts/node_modules/debug/README.md +0 -312
  162. package/src/visual/scripts/node_modules/debug/component.json +0 -19
  163. package/src/visual/scripts/node_modules/debug/karma.conf.js +0 -70
  164. package/src/visual/scripts/node_modules/debug/node.js +0 -1
  165. package/src/visual/scripts/node_modules/debug/package.json +0 -49
  166. package/src/visual/scripts/node_modules/debug/src/browser.js +0 -185
  167. package/src/visual/scripts/node_modules/debug/src/debug.js +0 -202
  168. package/src/visual/scripts/node_modules/debug/src/index.js +0 -10
  169. package/src/visual/scripts/node_modules/debug/src/inspector-log.js +0 -15
  170. package/src/visual/scripts/node_modules/debug/src/node.js +0 -248
  171. package/src/visual/scripts/node_modules/depd/History.md +0 -103
  172. package/src/visual/scripts/node_modules/depd/LICENSE +0 -22
  173. package/src/visual/scripts/node_modules/depd/Readme.md +0 -280
  174. package/src/visual/scripts/node_modules/depd/index.js +0 -538
  175. package/src/visual/scripts/node_modules/depd/lib/browser/index.js +0 -77
  176. package/src/visual/scripts/node_modules/depd/package.json +0 -45
  177. package/src/visual/scripts/node_modules/destroy/LICENSE +0 -23
  178. package/src/visual/scripts/node_modules/destroy/README.md +0 -63
  179. package/src/visual/scripts/node_modules/destroy/index.js +0 -209
  180. package/src/visual/scripts/node_modules/destroy/package.json +0 -48
  181. package/src/visual/scripts/node_modules/dunder-proto/.eslintrc +0 -5
  182. package/src/visual/scripts/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  183. package/src/visual/scripts/node_modules/dunder-proto/.nycrc +0 -13
  184. package/src/visual/scripts/node_modules/dunder-proto/CHANGELOG.md +0 -24
  185. package/src/visual/scripts/node_modules/dunder-proto/LICENSE +0 -21
  186. package/src/visual/scripts/node_modules/dunder-proto/README.md +0 -54
  187. package/src/visual/scripts/node_modules/dunder-proto/get.d.ts +0 -5
  188. package/src/visual/scripts/node_modules/dunder-proto/get.js +0 -30
  189. package/src/visual/scripts/node_modules/dunder-proto/package.json +0 -76
  190. package/src/visual/scripts/node_modules/dunder-proto/set.d.ts +0 -5
  191. package/src/visual/scripts/node_modules/dunder-proto/set.js +0 -35
  192. package/src/visual/scripts/node_modules/dunder-proto/test/get.js +0 -34
  193. package/src/visual/scripts/node_modules/dunder-proto/test/index.js +0 -4
  194. package/src/visual/scripts/node_modules/dunder-proto/test/set.js +0 -50
  195. package/src/visual/scripts/node_modules/dunder-proto/tsconfig.json +0 -9
  196. package/src/visual/scripts/node_modules/ee-first/LICENSE +0 -22
  197. package/src/visual/scripts/node_modules/ee-first/README.md +0 -80
  198. package/src/visual/scripts/node_modules/ee-first/index.js +0 -95
  199. package/src/visual/scripts/node_modules/ee-first/package.json +0 -29
  200. package/src/visual/scripts/node_modules/encodeurl/LICENSE +0 -22
  201. package/src/visual/scripts/node_modules/encodeurl/README.md +0 -109
  202. package/src/visual/scripts/node_modules/encodeurl/index.js +0 -60
  203. package/src/visual/scripts/node_modules/encodeurl/package.json +0 -40
  204. package/src/visual/scripts/node_modules/es-define-property/.eslintrc +0 -13
  205. package/src/visual/scripts/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  206. package/src/visual/scripts/node_modules/es-define-property/.nycrc +0 -9
  207. package/src/visual/scripts/node_modules/es-define-property/CHANGELOG.md +0 -29
  208. package/src/visual/scripts/node_modules/es-define-property/LICENSE +0 -21
  209. package/src/visual/scripts/node_modules/es-define-property/README.md +0 -49
  210. package/src/visual/scripts/node_modules/es-define-property/index.d.ts +0 -3
  211. package/src/visual/scripts/node_modules/es-define-property/index.js +0 -14
  212. package/src/visual/scripts/node_modules/es-define-property/package.json +0 -81
  213. package/src/visual/scripts/node_modules/es-define-property/test/index.js +0 -56
  214. package/src/visual/scripts/node_modules/es-define-property/tsconfig.json +0 -10
  215. package/src/visual/scripts/node_modules/es-errors/.eslintrc +0 -5
  216. package/src/visual/scripts/node_modules/es-errors/.github/FUNDING.yml +0 -12
  217. package/src/visual/scripts/node_modules/es-errors/CHANGELOG.md +0 -40
  218. package/src/visual/scripts/node_modules/es-errors/LICENSE +0 -21
  219. package/src/visual/scripts/node_modules/es-errors/README.md +0 -55
  220. package/src/visual/scripts/node_modules/es-errors/eval.d.ts +0 -3
  221. package/src/visual/scripts/node_modules/es-errors/eval.js +0 -4
  222. package/src/visual/scripts/node_modules/es-errors/index.d.ts +0 -3
  223. package/src/visual/scripts/node_modules/es-errors/index.js +0 -4
  224. package/src/visual/scripts/node_modules/es-errors/package.json +0 -80
  225. package/src/visual/scripts/node_modules/es-errors/range.d.ts +0 -3
  226. package/src/visual/scripts/node_modules/es-errors/range.js +0 -4
  227. package/src/visual/scripts/node_modules/es-errors/ref.d.ts +0 -3
  228. package/src/visual/scripts/node_modules/es-errors/ref.js +0 -4
  229. package/src/visual/scripts/node_modules/es-errors/syntax.d.ts +0 -3
  230. package/src/visual/scripts/node_modules/es-errors/syntax.js +0 -4
  231. package/src/visual/scripts/node_modules/es-errors/test/index.js +0 -19
  232. package/src/visual/scripts/node_modules/es-errors/tsconfig.json +0 -49
  233. package/src/visual/scripts/node_modules/es-errors/type.d.ts +0 -3
  234. package/src/visual/scripts/node_modules/es-errors/type.js +0 -4
  235. package/src/visual/scripts/node_modules/es-errors/uri.d.ts +0 -3
  236. package/src/visual/scripts/node_modules/es-errors/uri.js +0 -4
  237. package/src/visual/scripts/node_modules/es-object-atoms/.eslintrc +0 -16
  238. package/src/visual/scripts/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  239. package/src/visual/scripts/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  240. package/src/visual/scripts/node_modules/es-object-atoms/LICENSE +0 -21
  241. package/src/visual/scripts/node_modules/es-object-atoms/README.md +0 -63
  242. package/src/visual/scripts/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  243. package/src/visual/scripts/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  244. package/src/visual/scripts/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  245. package/src/visual/scripts/node_modules/es-object-atoms/ToObject.js +0 -10
  246. package/src/visual/scripts/node_modules/es-object-atoms/index.d.ts +0 -3
  247. package/src/visual/scripts/node_modules/es-object-atoms/index.js +0 -4
  248. package/src/visual/scripts/node_modules/es-object-atoms/isObject.d.ts +0 -3
  249. package/src/visual/scripts/node_modules/es-object-atoms/isObject.js +0 -6
  250. package/src/visual/scripts/node_modules/es-object-atoms/package.json +0 -80
  251. package/src/visual/scripts/node_modules/es-object-atoms/test/index.js +0 -38
  252. package/src/visual/scripts/node_modules/es-object-atoms/tsconfig.json +0 -6
  253. package/src/visual/scripts/node_modules/escape-html/LICENSE +0 -24
  254. package/src/visual/scripts/node_modules/escape-html/Readme.md +0 -43
  255. package/src/visual/scripts/node_modules/escape-html/index.js +0 -78
  256. package/src/visual/scripts/node_modules/escape-html/package.json +0 -24
  257. package/src/visual/scripts/node_modules/etag/HISTORY.md +0 -83
  258. package/src/visual/scripts/node_modules/etag/LICENSE +0 -22
  259. package/src/visual/scripts/node_modules/etag/README.md +0 -159
  260. package/src/visual/scripts/node_modules/etag/index.js +0 -131
  261. package/src/visual/scripts/node_modules/etag/package.json +0 -47
  262. package/src/visual/scripts/node_modules/express/History.md +0 -3667
  263. package/src/visual/scripts/node_modules/express/LICENSE +0 -24
  264. package/src/visual/scripts/node_modules/express/Readme.md +0 -260
  265. package/src/visual/scripts/node_modules/express/index.js +0 -11
  266. package/src/visual/scripts/node_modules/express/lib/application.js +0 -661
  267. package/src/visual/scripts/node_modules/express/lib/express.js +0 -116
  268. package/src/visual/scripts/node_modules/express/lib/middleware/init.js +0 -43
  269. package/src/visual/scripts/node_modules/express/lib/middleware/query.js +0 -47
  270. package/src/visual/scripts/node_modules/express/lib/request.js +0 -525
  271. package/src/visual/scripts/node_modules/express/lib/response.js +0 -1179
  272. package/src/visual/scripts/node_modules/express/lib/router/index.js +0 -673
  273. package/src/visual/scripts/node_modules/express/lib/router/layer.js +0 -181
  274. package/src/visual/scripts/node_modules/express/lib/router/route.js +0 -230
  275. package/src/visual/scripts/node_modules/express/lib/utils.js +0 -303
  276. package/src/visual/scripts/node_modules/express/lib/view.js +0 -182
  277. package/src/visual/scripts/node_modules/express/package.json +0 -102
  278. package/src/visual/scripts/node_modules/finalhandler/HISTORY.md +0 -216
  279. package/src/visual/scripts/node_modules/finalhandler/LICENSE +0 -22
  280. package/src/visual/scripts/node_modules/finalhandler/README.md +0 -147
  281. package/src/visual/scripts/node_modules/finalhandler/SECURITY.md +0 -25
  282. package/src/visual/scripts/node_modules/finalhandler/index.js +0 -341
  283. package/src/visual/scripts/node_modules/finalhandler/package.json +0 -47
  284. package/src/visual/scripts/node_modules/forwarded/HISTORY.md +0 -21
  285. package/src/visual/scripts/node_modules/forwarded/LICENSE +0 -22
  286. package/src/visual/scripts/node_modules/forwarded/README.md +0 -57
  287. package/src/visual/scripts/node_modules/forwarded/index.js +0 -90
  288. package/src/visual/scripts/node_modules/forwarded/package.json +0 -45
  289. package/src/visual/scripts/node_modules/fresh/HISTORY.md +0 -70
  290. package/src/visual/scripts/node_modules/fresh/LICENSE +0 -23
  291. package/src/visual/scripts/node_modules/fresh/README.md +0 -119
  292. package/src/visual/scripts/node_modules/fresh/index.js +0 -137
  293. package/src/visual/scripts/node_modules/fresh/package.json +0 -46
  294. package/src/visual/scripts/node_modules/function-bind/.eslintrc +0 -21
  295. package/src/visual/scripts/node_modules/function-bind/.github/FUNDING.yml +0 -12
  296. package/src/visual/scripts/node_modules/function-bind/.github/SECURITY.md +0 -3
  297. package/src/visual/scripts/node_modules/function-bind/.nycrc +0 -13
  298. package/src/visual/scripts/node_modules/function-bind/CHANGELOG.md +0 -136
  299. package/src/visual/scripts/node_modules/function-bind/LICENSE +0 -20
  300. package/src/visual/scripts/node_modules/function-bind/README.md +0 -46
  301. package/src/visual/scripts/node_modules/function-bind/implementation.js +0 -84
  302. package/src/visual/scripts/node_modules/function-bind/index.js +0 -5
  303. package/src/visual/scripts/node_modules/function-bind/package.json +0 -87
  304. package/src/visual/scripts/node_modules/function-bind/test/.eslintrc +0 -9
  305. package/src/visual/scripts/node_modules/function-bind/test/index.js +0 -252
  306. package/src/visual/scripts/node_modules/get-intrinsic/.eslintrc +0 -42
  307. package/src/visual/scripts/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  308. package/src/visual/scripts/node_modules/get-intrinsic/.nycrc +0 -9
  309. package/src/visual/scripts/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  310. package/src/visual/scripts/node_modules/get-intrinsic/LICENSE +0 -21
  311. package/src/visual/scripts/node_modules/get-intrinsic/README.md +0 -71
  312. package/src/visual/scripts/node_modules/get-intrinsic/index.js +0 -378
  313. package/src/visual/scripts/node_modules/get-intrinsic/package.json +0 -97
  314. package/src/visual/scripts/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  315. package/src/visual/scripts/node_modules/get-proto/.eslintrc +0 -10
  316. package/src/visual/scripts/node_modules/get-proto/.github/FUNDING.yml +0 -12
  317. package/src/visual/scripts/node_modules/get-proto/.nycrc +0 -9
  318. package/src/visual/scripts/node_modules/get-proto/CHANGELOG.md +0 -21
  319. package/src/visual/scripts/node_modules/get-proto/LICENSE +0 -21
  320. package/src/visual/scripts/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  321. package/src/visual/scripts/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  322. package/src/visual/scripts/node_modules/get-proto/README.md +0 -50
  323. package/src/visual/scripts/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  324. package/src/visual/scripts/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  325. package/src/visual/scripts/node_modules/get-proto/index.d.ts +0 -5
  326. package/src/visual/scripts/node_modules/get-proto/index.js +0 -27
  327. package/src/visual/scripts/node_modules/get-proto/package.json +0 -81
  328. package/src/visual/scripts/node_modules/get-proto/test/index.js +0 -68
  329. package/src/visual/scripts/node_modules/get-proto/tsconfig.json +0 -9
  330. package/src/visual/scripts/node_modules/gopd/.eslintrc +0 -16
  331. package/src/visual/scripts/node_modules/gopd/.github/FUNDING.yml +0 -12
  332. package/src/visual/scripts/node_modules/gopd/CHANGELOG.md +0 -45
  333. package/src/visual/scripts/node_modules/gopd/LICENSE +0 -21
  334. package/src/visual/scripts/node_modules/gopd/README.md +0 -40
  335. package/src/visual/scripts/node_modules/gopd/gOPD.d.ts +0 -1
  336. package/src/visual/scripts/node_modules/gopd/gOPD.js +0 -4
  337. package/src/visual/scripts/node_modules/gopd/index.d.ts +0 -5
  338. package/src/visual/scripts/node_modules/gopd/index.js +0 -15
  339. package/src/visual/scripts/node_modules/gopd/package.json +0 -77
  340. package/src/visual/scripts/node_modules/gopd/test/index.js +0 -36
  341. package/src/visual/scripts/node_modules/gopd/tsconfig.json +0 -9
  342. package/src/visual/scripts/node_modules/has-symbols/.eslintrc +0 -11
  343. package/src/visual/scripts/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  344. package/src/visual/scripts/node_modules/has-symbols/.nycrc +0 -9
  345. package/src/visual/scripts/node_modules/has-symbols/CHANGELOG.md +0 -91
  346. package/src/visual/scripts/node_modules/has-symbols/LICENSE +0 -21
  347. package/src/visual/scripts/node_modules/has-symbols/README.md +0 -46
  348. package/src/visual/scripts/node_modules/has-symbols/index.d.ts +0 -3
  349. package/src/visual/scripts/node_modules/has-symbols/index.js +0 -14
  350. package/src/visual/scripts/node_modules/has-symbols/package.json +0 -111
  351. package/src/visual/scripts/node_modules/has-symbols/shams.d.ts +0 -3
  352. package/src/visual/scripts/node_modules/has-symbols/shams.js +0 -45
  353. package/src/visual/scripts/node_modules/has-symbols/test/index.js +0 -22
  354. package/src/visual/scripts/node_modules/has-symbols/test/shams/core-js.js +0 -29
  355. package/src/visual/scripts/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  356. package/src/visual/scripts/node_modules/has-symbols/test/tests.js +0 -58
  357. package/src/visual/scripts/node_modules/has-symbols/tsconfig.json +0 -10
  358. package/src/visual/scripts/node_modules/hasown/.eslintrc +0 -5
  359. package/src/visual/scripts/node_modules/hasown/.github/FUNDING.yml +0 -12
  360. package/src/visual/scripts/node_modules/hasown/.nycrc +0 -13
  361. package/src/visual/scripts/node_modules/hasown/CHANGELOG.md +0 -40
  362. package/src/visual/scripts/node_modules/hasown/LICENSE +0 -21
  363. package/src/visual/scripts/node_modules/hasown/README.md +0 -40
  364. package/src/visual/scripts/node_modules/hasown/index.d.ts +0 -3
  365. package/src/visual/scripts/node_modules/hasown/index.js +0 -8
  366. package/src/visual/scripts/node_modules/hasown/package.json +0 -92
  367. package/src/visual/scripts/node_modules/hasown/tsconfig.json +0 -6
  368. package/src/visual/scripts/node_modules/http-errors/HISTORY.md +0 -186
  369. package/src/visual/scripts/node_modules/http-errors/LICENSE +0 -23
  370. package/src/visual/scripts/node_modules/http-errors/README.md +0 -169
  371. package/src/visual/scripts/node_modules/http-errors/index.js +0 -290
  372. package/src/visual/scripts/node_modules/http-errors/package.json +0 -54
  373. package/src/visual/scripts/node_modules/iconv-lite/Changelog.md +0 -162
  374. package/src/visual/scripts/node_modules/iconv-lite/LICENSE +0 -21
  375. package/src/visual/scripts/node_modules/iconv-lite/README.md +0 -156
  376. package/src/visual/scripts/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  377. package/src/visual/scripts/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  378. package/src/visual/scripts/node_modules/iconv-lite/encodings/index.js +0 -22
  379. package/src/visual/scripts/node_modules/iconv-lite/encodings/internal.js +0 -188
  380. package/src/visual/scripts/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  381. package/src/visual/scripts/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  382. package/src/visual/scripts/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  383. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  384. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  385. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  386. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  387. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  388. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  389. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  390. package/src/visual/scripts/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  391. package/src/visual/scripts/node_modules/iconv-lite/encodings/utf16.js +0 -177
  392. package/src/visual/scripts/node_modules/iconv-lite/encodings/utf7.js +0 -290
  393. package/src/visual/scripts/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  394. package/src/visual/scripts/node_modules/iconv-lite/lib/extend-node.js +0 -217
  395. package/src/visual/scripts/node_modules/iconv-lite/lib/index.d.ts +0 -24
  396. package/src/visual/scripts/node_modules/iconv-lite/lib/index.js +0 -153
  397. package/src/visual/scripts/node_modules/iconv-lite/lib/streams.js +0 -121
  398. package/src/visual/scripts/node_modules/iconv-lite/package.json +0 -46
  399. package/src/visual/scripts/node_modules/inherits/LICENSE +0 -16
  400. package/src/visual/scripts/node_modules/inherits/README.md +0 -42
  401. package/src/visual/scripts/node_modules/inherits/inherits.js +0 -9
  402. package/src/visual/scripts/node_modules/inherits/inherits_browser.js +0 -27
  403. package/src/visual/scripts/node_modules/inherits/package.json +0 -29
  404. package/src/visual/scripts/node_modules/ipaddr.js/LICENSE +0 -19
  405. package/src/visual/scripts/node_modules/ipaddr.js/README.md +0 -233
  406. package/src/visual/scripts/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  407. package/src/visual/scripts/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  408. package/src/visual/scripts/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  409. package/src/visual/scripts/node_modules/ipaddr.js/package.json +0 -35
  410. package/src/visual/scripts/node_modules/math-intrinsics/.eslintrc +0 -16
  411. package/src/visual/scripts/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  412. package/src/visual/scripts/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  413. package/src/visual/scripts/node_modules/math-intrinsics/LICENSE +0 -21
  414. package/src/visual/scripts/node_modules/math-intrinsics/README.md +0 -50
  415. package/src/visual/scripts/node_modules/math-intrinsics/abs.d.ts +0 -1
  416. package/src/visual/scripts/node_modules/math-intrinsics/abs.js +0 -4
  417. package/src/visual/scripts/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  418. package/src/visual/scripts/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  419. package/src/visual/scripts/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  420. package/src/visual/scripts/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  421. package/src/visual/scripts/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  422. package/src/visual/scripts/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  423. package/src/visual/scripts/node_modules/math-intrinsics/floor.d.ts +0 -1
  424. package/src/visual/scripts/node_modules/math-intrinsics/floor.js +0 -4
  425. package/src/visual/scripts/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  426. package/src/visual/scripts/node_modules/math-intrinsics/isFinite.js +0 -12
  427. package/src/visual/scripts/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  428. package/src/visual/scripts/node_modules/math-intrinsics/isInteger.js +0 -16
  429. package/src/visual/scripts/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  430. package/src/visual/scripts/node_modules/math-intrinsics/isNaN.js +0 -6
  431. package/src/visual/scripts/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  432. package/src/visual/scripts/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  433. package/src/visual/scripts/node_modules/math-intrinsics/max.d.ts +0 -1
  434. package/src/visual/scripts/node_modules/math-intrinsics/max.js +0 -4
  435. package/src/visual/scripts/node_modules/math-intrinsics/min.d.ts +0 -1
  436. package/src/visual/scripts/node_modules/math-intrinsics/min.js +0 -4
  437. package/src/visual/scripts/node_modules/math-intrinsics/mod.d.ts +0 -3
  438. package/src/visual/scripts/node_modules/math-intrinsics/mod.js +0 -9
  439. package/src/visual/scripts/node_modules/math-intrinsics/package.json +0 -86
  440. package/src/visual/scripts/node_modules/math-intrinsics/pow.d.ts +0 -1
  441. package/src/visual/scripts/node_modules/math-intrinsics/pow.js +0 -4
  442. package/src/visual/scripts/node_modules/math-intrinsics/round.d.ts +0 -1
  443. package/src/visual/scripts/node_modules/math-intrinsics/round.js +0 -4
  444. package/src/visual/scripts/node_modules/math-intrinsics/sign.d.ts +0 -3
  445. package/src/visual/scripts/node_modules/math-intrinsics/sign.js +0 -11
  446. package/src/visual/scripts/node_modules/math-intrinsics/test/index.js +0 -192
  447. package/src/visual/scripts/node_modules/math-intrinsics/tsconfig.json +0 -3
  448. package/src/visual/scripts/node_modules/media-typer/HISTORY.md +0 -22
  449. package/src/visual/scripts/node_modules/media-typer/LICENSE +0 -22
  450. package/src/visual/scripts/node_modules/media-typer/README.md +0 -81
  451. package/src/visual/scripts/node_modules/media-typer/index.js +0 -270
  452. package/src/visual/scripts/node_modules/media-typer/package.json +0 -26
  453. package/src/visual/scripts/node_modules/merge-descriptors/HISTORY.md +0 -21
  454. package/src/visual/scripts/node_modules/merge-descriptors/LICENSE +0 -23
  455. package/src/visual/scripts/node_modules/merge-descriptors/README.md +0 -49
  456. package/src/visual/scripts/node_modules/merge-descriptors/index.js +0 -60
  457. package/src/visual/scripts/node_modules/merge-descriptors/package.json +0 -39
  458. package/src/visual/scripts/node_modules/methods/HISTORY.md +0 -29
  459. package/src/visual/scripts/node_modules/methods/LICENSE +0 -24
  460. package/src/visual/scripts/node_modules/methods/README.md +0 -51
  461. package/src/visual/scripts/node_modules/methods/index.js +0 -69
  462. package/src/visual/scripts/node_modules/methods/package.json +0 -36
  463. package/src/visual/scripts/node_modules/mime/CHANGELOG.md +0 -164
  464. package/src/visual/scripts/node_modules/mime/LICENSE +0 -21
  465. package/src/visual/scripts/node_modules/mime/README.md +0 -90
  466. package/src/visual/scripts/node_modules/mime/cli.js +0 -8
  467. package/src/visual/scripts/node_modules/mime/mime.js +0 -108
  468. package/src/visual/scripts/node_modules/mime/package.json +0 -44
  469. package/src/visual/scripts/node_modules/mime/src/build.js +0 -53
  470. package/src/visual/scripts/node_modules/mime/src/test.js +0 -60
  471. package/src/visual/scripts/node_modules/mime/types.json +0 -1
  472. package/src/visual/scripts/node_modules/mime-db/HISTORY.md +0 -507
  473. package/src/visual/scripts/node_modules/mime-db/LICENSE +0 -23
  474. package/src/visual/scripts/node_modules/mime-db/README.md +0 -100
  475. package/src/visual/scripts/node_modules/mime-db/db.json +0 -8519
  476. package/src/visual/scripts/node_modules/mime-db/index.js +0 -12
  477. package/src/visual/scripts/node_modules/mime-db/package.json +0 -60
  478. package/src/visual/scripts/node_modules/mime-types/HISTORY.md +0 -397
  479. package/src/visual/scripts/node_modules/mime-types/LICENSE +0 -23
  480. package/src/visual/scripts/node_modules/mime-types/README.md +0 -113
  481. package/src/visual/scripts/node_modules/mime-types/index.js +0 -188
  482. package/src/visual/scripts/node_modules/mime-types/package.json +0 -44
  483. package/src/visual/scripts/node_modules/ms/index.js +0 -152
  484. package/src/visual/scripts/node_modules/ms/license.md +0 -21
  485. package/src/visual/scripts/node_modules/ms/package.json +0 -37
  486. package/src/visual/scripts/node_modules/ms/readme.md +0 -51
  487. package/src/visual/scripts/node_modules/negotiator/HISTORY.md +0 -108
  488. package/src/visual/scripts/node_modules/negotiator/LICENSE +0 -24
  489. package/src/visual/scripts/node_modules/negotiator/README.md +0 -203
  490. package/src/visual/scripts/node_modules/negotiator/index.js +0 -82
  491. package/src/visual/scripts/node_modules/negotiator/lib/charset.js +0 -169
  492. package/src/visual/scripts/node_modules/negotiator/lib/encoding.js +0 -184
  493. package/src/visual/scripts/node_modules/negotiator/lib/language.js +0 -179
  494. package/src/visual/scripts/node_modules/negotiator/lib/mediaType.js +0 -294
  495. package/src/visual/scripts/node_modules/negotiator/package.json +0 -42
  496. package/src/visual/scripts/node_modules/object-inspect/.eslintrc +0 -53
  497. package/src/visual/scripts/node_modules/object-inspect/.github/FUNDING.yml +0 -12
  498. package/src/visual/scripts/node_modules/object-inspect/.nycrc +0 -13
  499. package/src/visual/scripts/node_modules/object-inspect/CHANGELOG.md +0 -424
  500. package/src/visual/scripts/node_modules/object-inspect/LICENSE +0 -21
  501. package/src/visual/scripts/node_modules/object-inspect/example/all.js +0 -23
  502. package/src/visual/scripts/node_modules/object-inspect/example/circular.js +0 -6
  503. package/src/visual/scripts/node_modules/object-inspect/example/fn.js +0 -5
  504. package/src/visual/scripts/node_modules/object-inspect/example/inspect.js +0 -10
  505. package/src/visual/scripts/node_modules/object-inspect/index.js +0 -544
  506. package/src/visual/scripts/node_modules/object-inspect/package-support.json +0 -20
  507. package/src/visual/scripts/node_modules/object-inspect/package.json +0 -105
  508. package/src/visual/scripts/node_modules/object-inspect/readme.markdown +0 -84
  509. package/src/visual/scripts/node_modules/object-inspect/test/bigint.js +0 -58
  510. package/src/visual/scripts/node_modules/object-inspect/test/browser/dom.js +0 -15
  511. package/src/visual/scripts/node_modules/object-inspect/test/circular.js +0 -16
  512. package/src/visual/scripts/node_modules/object-inspect/test/deep.js +0 -12
  513. package/src/visual/scripts/node_modules/object-inspect/test/element.js +0 -53
  514. package/src/visual/scripts/node_modules/object-inspect/test/err.js +0 -48
  515. package/src/visual/scripts/node_modules/object-inspect/test/fakes.js +0 -29
  516. package/src/visual/scripts/node_modules/object-inspect/test/fn.js +0 -76
  517. package/src/visual/scripts/node_modules/object-inspect/test/global.js +0 -17
  518. package/src/visual/scripts/node_modules/object-inspect/test/has.js +0 -15
  519. package/src/visual/scripts/node_modules/object-inspect/test/holes.js +0 -15
  520. package/src/visual/scripts/node_modules/object-inspect/test/indent-option.js +0 -271
  521. package/src/visual/scripts/node_modules/object-inspect/test/inspect.js +0 -139
  522. package/src/visual/scripts/node_modules/object-inspect/test/lowbyte.js +0 -12
  523. package/src/visual/scripts/node_modules/object-inspect/test/number.js +0 -58
  524. package/src/visual/scripts/node_modules/object-inspect/test/quoteStyle.js +0 -26
  525. package/src/visual/scripts/node_modules/object-inspect/test/toStringTag.js +0 -40
  526. package/src/visual/scripts/node_modules/object-inspect/test/undef.js +0 -12
  527. package/src/visual/scripts/node_modules/object-inspect/test/values.js +0 -261
  528. package/src/visual/scripts/node_modules/object-inspect/test-core-js.js +0 -26
  529. package/src/visual/scripts/node_modules/object-inspect/util.inspect.js +0 -1
  530. package/src/visual/scripts/node_modules/on-finished/HISTORY.md +0 -98
  531. package/src/visual/scripts/node_modules/on-finished/LICENSE +0 -23
  532. package/src/visual/scripts/node_modules/on-finished/README.md +0 -162
  533. package/src/visual/scripts/node_modules/on-finished/index.js +0 -234
  534. package/src/visual/scripts/node_modules/on-finished/package.json +0 -39
  535. package/src/visual/scripts/node_modules/parseurl/HISTORY.md +0 -58
  536. package/src/visual/scripts/node_modules/parseurl/LICENSE +0 -24
  537. package/src/visual/scripts/node_modules/parseurl/README.md +0 -133
  538. package/src/visual/scripts/node_modules/parseurl/index.js +0 -158
  539. package/src/visual/scripts/node_modules/parseurl/package.json +0 -40
  540. package/src/visual/scripts/node_modules/path-to-regexp/LICENSE +0 -21
  541. package/src/visual/scripts/node_modules/path-to-regexp/Readme.md +0 -35
  542. package/src/visual/scripts/node_modules/path-to-regexp/index.js +0 -156
  543. package/src/visual/scripts/node_modules/path-to-regexp/package.json +0 -30
  544. package/src/visual/scripts/node_modules/proxy-addr/HISTORY.md +0 -161
  545. package/src/visual/scripts/node_modules/proxy-addr/LICENSE +0 -22
  546. package/src/visual/scripts/node_modules/proxy-addr/README.md +0 -139
  547. package/src/visual/scripts/node_modules/proxy-addr/index.js +0 -327
  548. package/src/visual/scripts/node_modules/proxy-addr/package.json +0 -47
  549. package/src/visual/scripts/node_modules/qs/.editorconfig +0 -46
  550. package/src/visual/scripts/node_modules/qs/.github/FUNDING.yml +0 -12
  551. package/src/visual/scripts/node_modules/qs/.github/SECURITY.md +0 -11
  552. package/src/visual/scripts/node_modules/qs/.github/THREAT_MODEL.md +0 -78
  553. package/src/visual/scripts/node_modules/qs/.nycrc +0 -13
  554. package/src/visual/scripts/node_modules/qs/CHANGELOG.md +0 -644
  555. package/src/visual/scripts/node_modules/qs/LICENSE.md +0 -29
  556. package/src/visual/scripts/node_modules/qs/README.md +0 -740
  557. package/src/visual/scripts/node_modules/qs/dist/qs.js +0 -141
  558. package/src/visual/scripts/node_modules/qs/eslint.config.mjs +0 -56
  559. package/src/visual/scripts/node_modules/qs/lib/formats.js +0 -23
  560. package/src/visual/scripts/node_modules/qs/lib/index.js +0 -11
  561. package/src/visual/scripts/node_modules/qs/lib/parse.js +0 -371
  562. package/src/visual/scripts/node_modules/qs/lib/stringify.js +0 -356
  563. package/src/visual/scripts/node_modules/qs/lib/utils.js +0 -340
  564. package/src/visual/scripts/node_modules/qs/package.json +0 -94
  565. package/src/visual/scripts/node_modules/qs/test/empty-keys-cases.js +0 -267
  566. package/src/visual/scripts/node_modules/qs/test/parse.js +0 -1512
  567. package/src/visual/scripts/node_modules/qs/test/stringify.js +0 -1310
  568. package/src/visual/scripts/node_modules/qs/test/utils.js +0 -397
  569. package/src/visual/scripts/node_modules/range-parser/HISTORY.md +0 -56
  570. package/src/visual/scripts/node_modules/range-parser/LICENSE +0 -23
  571. package/src/visual/scripts/node_modules/range-parser/README.md +0 -84
  572. package/src/visual/scripts/node_modules/range-parser/index.js +0 -162
  573. package/src/visual/scripts/node_modules/range-parser/package.json +0 -44
  574. package/src/visual/scripts/node_modules/raw-body/LICENSE +0 -22
  575. package/src/visual/scripts/node_modules/raw-body/README.md +0 -223
  576. package/src/visual/scripts/node_modules/raw-body/index.d.ts +0 -87
  577. package/src/visual/scripts/node_modules/raw-body/index.js +0 -336
  578. package/src/visual/scripts/node_modules/raw-body/package.json +0 -47
  579. package/src/visual/scripts/node_modules/readdirp/LICENSE +0 -21
  580. package/src/visual/scripts/node_modules/readdirp/README.md +0 -120
  581. package/src/visual/scripts/node_modules/readdirp/esm/index.d.ts +0 -108
  582. package/src/visual/scripts/node_modules/readdirp/esm/index.js +0 -257
  583. package/src/visual/scripts/node_modules/readdirp/esm/package.json +0 -1
  584. package/src/visual/scripts/node_modules/readdirp/index.d.ts +0 -108
  585. package/src/visual/scripts/node_modules/readdirp/index.js +0 -263
  586. package/src/visual/scripts/node_modules/readdirp/package.json +0 -70
  587. package/src/visual/scripts/node_modules/safe-buffer/LICENSE +0 -21
  588. package/src/visual/scripts/node_modules/safe-buffer/README.md +0 -584
  589. package/src/visual/scripts/node_modules/safe-buffer/index.d.ts +0 -187
  590. package/src/visual/scripts/node_modules/safe-buffer/index.js +0 -65
  591. package/src/visual/scripts/node_modules/safe-buffer/package.json +0 -51
  592. package/src/visual/scripts/node_modules/safer-buffer/LICENSE +0 -21
  593. package/src/visual/scripts/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  594. package/src/visual/scripts/node_modules/safer-buffer/Readme.md +0 -156
  595. package/src/visual/scripts/node_modules/safer-buffer/dangerous.js +0 -58
  596. package/src/visual/scripts/node_modules/safer-buffer/package.json +0 -34
  597. package/src/visual/scripts/node_modules/safer-buffer/safer.js +0 -77
  598. package/src/visual/scripts/node_modules/safer-buffer/tests.js +0 -406
  599. package/src/visual/scripts/node_modules/send/HISTORY.md +0 -538
  600. package/src/visual/scripts/node_modules/send/LICENSE +0 -23
  601. package/src/visual/scripts/node_modules/send/README.md +0 -327
  602. package/src/visual/scripts/node_modules/send/SECURITY.md +0 -24
  603. package/src/visual/scripts/node_modules/send/index.js +0 -1142
  604. package/src/visual/scripts/node_modules/send/node_modules/ms/index.js +0 -162
  605. package/src/visual/scripts/node_modules/send/node_modules/ms/license.md +0 -21
  606. package/src/visual/scripts/node_modules/send/node_modules/ms/package.json +0 -38
  607. package/src/visual/scripts/node_modules/send/node_modules/ms/readme.md +0 -59
  608. package/src/visual/scripts/node_modules/send/package.json +0 -62
  609. package/src/visual/scripts/node_modules/serve-static/HISTORY.md +0 -493
  610. package/src/visual/scripts/node_modules/serve-static/LICENSE +0 -25
  611. package/src/visual/scripts/node_modules/serve-static/README.md +0 -257
  612. package/src/visual/scripts/node_modules/serve-static/index.js +0 -209
  613. package/src/visual/scripts/node_modules/serve-static/package.json +0 -42
  614. package/src/visual/scripts/node_modules/setprototypeof/LICENSE +0 -13
  615. package/src/visual/scripts/node_modules/setprototypeof/README.md +0 -31
  616. package/src/visual/scripts/node_modules/setprototypeof/index.d.ts +0 -2
  617. package/src/visual/scripts/node_modules/setprototypeof/index.js +0 -17
  618. package/src/visual/scripts/node_modules/setprototypeof/package.json +0 -38
  619. package/src/visual/scripts/node_modules/setprototypeof/test/index.js +0 -24
  620. package/src/visual/scripts/node_modules/side-channel/.editorconfig +0 -9
  621. package/src/visual/scripts/node_modules/side-channel/.eslintrc +0 -12
  622. package/src/visual/scripts/node_modules/side-channel/.github/FUNDING.yml +0 -12
  623. package/src/visual/scripts/node_modules/side-channel/.nycrc +0 -13
  624. package/src/visual/scripts/node_modules/side-channel/CHANGELOG.md +0 -110
  625. package/src/visual/scripts/node_modules/side-channel/LICENSE +0 -21
  626. package/src/visual/scripts/node_modules/side-channel/README.md +0 -61
  627. package/src/visual/scripts/node_modules/side-channel/index.d.ts +0 -14
  628. package/src/visual/scripts/node_modules/side-channel/index.js +0 -43
  629. package/src/visual/scripts/node_modules/side-channel/package.json +0 -85
  630. package/src/visual/scripts/node_modules/side-channel/test/index.js +0 -104
  631. package/src/visual/scripts/node_modules/side-channel/tsconfig.json +0 -9
  632. package/src/visual/scripts/node_modules/side-channel-list/.editorconfig +0 -9
  633. package/src/visual/scripts/node_modules/side-channel-list/.eslintrc +0 -11
  634. package/src/visual/scripts/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
  635. package/src/visual/scripts/node_modules/side-channel-list/.nycrc +0 -13
  636. package/src/visual/scripts/node_modules/side-channel-list/CHANGELOG.md +0 -15
  637. package/src/visual/scripts/node_modules/side-channel-list/LICENSE +0 -21
  638. package/src/visual/scripts/node_modules/side-channel-list/README.md +0 -62
  639. package/src/visual/scripts/node_modules/side-channel-list/index.d.ts +0 -13
  640. package/src/visual/scripts/node_modules/side-channel-list/index.js +0 -113
  641. package/src/visual/scripts/node_modules/side-channel-list/list.d.ts +0 -14
  642. package/src/visual/scripts/node_modules/side-channel-list/package.json +0 -77
  643. package/src/visual/scripts/node_modules/side-channel-list/test/index.js +0 -104
  644. package/src/visual/scripts/node_modules/side-channel-list/tsconfig.json +0 -9
  645. package/src/visual/scripts/node_modules/side-channel-map/.editorconfig +0 -9
  646. package/src/visual/scripts/node_modules/side-channel-map/.eslintrc +0 -11
  647. package/src/visual/scripts/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
  648. package/src/visual/scripts/node_modules/side-channel-map/.nycrc +0 -13
  649. package/src/visual/scripts/node_modules/side-channel-map/CHANGELOG.md +0 -22
  650. package/src/visual/scripts/node_modules/side-channel-map/LICENSE +0 -21
  651. package/src/visual/scripts/node_modules/side-channel-map/README.md +0 -62
  652. package/src/visual/scripts/node_modules/side-channel-map/index.d.ts +0 -15
  653. package/src/visual/scripts/node_modules/side-channel-map/index.js +0 -68
  654. package/src/visual/scripts/node_modules/side-channel-map/package.json +0 -80
  655. package/src/visual/scripts/node_modules/side-channel-map/test/index.js +0 -114
  656. package/src/visual/scripts/node_modules/side-channel-map/tsconfig.json +0 -9
  657. package/src/visual/scripts/node_modules/side-channel-weakmap/.editorconfig +0 -9
  658. package/src/visual/scripts/node_modules/side-channel-weakmap/.eslintrc +0 -12
  659. package/src/visual/scripts/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
  660. package/src/visual/scripts/node_modules/side-channel-weakmap/.nycrc +0 -13
  661. package/src/visual/scripts/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
  662. package/src/visual/scripts/node_modules/side-channel-weakmap/LICENSE +0 -21
  663. package/src/visual/scripts/node_modules/side-channel-weakmap/README.md +0 -62
  664. package/src/visual/scripts/node_modules/side-channel-weakmap/index.d.ts +0 -15
  665. package/src/visual/scripts/node_modules/side-channel-weakmap/index.js +0 -84
  666. package/src/visual/scripts/node_modules/side-channel-weakmap/package.json +0 -87
  667. package/src/visual/scripts/node_modules/side-channel-weakmap/test/index.js +0 -114
  668. package/src/visual/scripts/node_modules/side-channel-weakmap/tsconfig.json +0 -9
  669. package/src/visual/scripts/node_modules/statuses/HISTORY.md +0 -87
  670. package/src/visual/scripts/node_modules/statuses/LICENSE +0 -23
  671. package/src/visual/scripts/node_modules/statuses/README.md +0 -139
  672. package/src/visual/scripts/node_modules/statuses/codes.json +0 -65
  673. package/src/visual/scripts/node_modules/statuses/index.js +0 -146
  674. package/src/visual/scripts/node_modules/statuses/package.json +0 -49
  675. package/src/visual/scripts/node_modules/toidentifier/HISTORY.md +0 -9
  676. package/src/visual/scripts/node_modules/toidentifier/LICENSE +0 -21
  677. package/src/visual/scripts/node_modules/toidentifier/README.md +0 -61
  678. package/src/visual/scripts/node_modules/toidentifier/index.js +0 -32
  679. package/src/visual/scripts/node_modules/toidentifier/package.json +0 -38
  680. package/src/visual/scripts/node_modules/type-is/HISTORY.md +0 -259
  681. package/src/visual/scripts/node_modules/type-is/LICENSE +0 -23
  682. package/src/visual/scripts/node_modules/type-is/README.md +0 -170
  683. package/src/visual/scripts/node_modules/type-is/index.js +0 -266
  684. package/src/visual/scripts/node_modules/type-is/package.json +0 -45
  685. package/src/visual/scripts/node_modules/unpipe/HISTORY.md +0 -4
  686. package/src/visual/scripts/node_modules/unpipe/LICENSE +0 -22
  687. package/src/visual/scripts/node_modules/unpipe/README.md +0 -43
  688. package/src/visual/scripts/node_modules/unpipe/index.js +0 -69
  689. package/src/visual/scripts/node_modules/unpipe/package.json +0 -27
  690. package/src/visual/scripts/node_modules/utils-merge/LICENSE +0 -20
  691. package/src/visual/scripts/node_modules/utils-merge/README.md +0 -34
  692. package/src/visual/scripts/node_modules/utils-merge/index.js +0 -23
  693. package/src/visual/scripts/node_modules/utils-merge/package.json +0 -40
  694. package/src/visual/scripts/node_modules/vary/HISTORY.md +0 -39
  695. package/src/visual/scripts/node_modules/vary/LICENSE +0 -22
  696. package/src/visual/scripts/node_modules/vary/README.md +0 -101
  697. package/src/visual/scripts/node_modules/vary/index.js +0 -149
  698. package/src/visual/scripts/node_modules/vary/package.json +0 -43
  699. package/src/visual/scripts/node_modules/ws/LICENSE +0 -20
  700. package/src/visual/scripts/node_modules/ws/README.md +0 -548
  701. package/src/visual/scripts/node_modules/ws/browser.js +0 -8
  702. package/src/visual/scripts/node_modules/ws/index.js +0 -22
  703. package/src/visual/scripts/node_modules/ws/lib/buffer-util.js +0 -131
  704. package/src/visual/scripts/node_modules/ws/lib/constants.js +0 -19
  705. package/src/visual/scripts/node_modules/ws/lib/event-target.js +0 -292
  706. package/src/visual/scripts/node_modules/ws/lib/extension.js +0 -203
  707. package/src/visual/scripts/node_modules/ws/lib/limiter.js +0 -55
  708. package/src/visual/scripts/node_modules/ws/lib/permessage-deflate.js +0 -528
  709. package/src/visual/scripts/node_modules/ws/lib/receiver.js +0 -706
  710. package/src/visual/scripts/node_modules/ws/lib/sender.js +0 -602
  711. package/src/visual/scripts/node_modules/ws/lib/stream.js +0 -161
  712. package/src/visual/scripts/node_modules/ws/lib/subprotocol.js +0 -62
  713. package/src/visual/scripts/node_modules/ws/lib/validation.js +0 -152
  714. package/src/visual/scripts/node_modules/ws/lib/websocket-server.js +0 -554
  715. package/src/visual/scripts/node_modules/ws/lib/websocket.js +0 -1393
  716. package/src/visual/scripts/node_modules/ws/package.json +0 -70
  717. package/src/visual/scripts/node_modules/ws/wrapper.mjs +0 -21
  718. package/src/visual/scripts/package-lock.json +0 -878
package/src/bootstrap.ts CHANGED
@@ -7,29 +7,28 @@ import { registerConfigCommand, handleConfig } from "./commands/config.js";
7
7
  import { registerStatusCommand, handleStatus } from "./commands/status.js";
8
8
  import { registerPlanCommand, getActiveVisualSessionDir, setActiveVisualSessionDir } from "./commands/plan.js";
9
9
  import { getScriptsDir } from "./visual/companion.js";
10
- import { registerRunCommand } from "./commands/run.js";
11
10
  import { registerReviewCommand } from "./commands/review.js";
12
11
  import { registerQaCommand } from "./commands/qa.js";
13
- import { registerReleaseCommand } from "./commands/release.js";
12
+ import { registerReleaseCommand, handleRelease } from "./commands/release.js";
14
13
  import { registerUpdateCommand, handleUpdate } from "./commands/update.js";
15
14
  import { registerDoctorCommand, handleDoctor } from "./commands/doctor.js";
16
15
  import { registerMcpCommand, handleMcp, handleMcpCli, parseCliArgs } from "./commands/mcp.js";
17
16
  import { registerModelCommand, handleModel } from "./commands/model.js";
18
17
  import { executeManagerAction } from "./mcp/manager-tool.js";
19
18
  import { registerFixPrCommand } from "./commands/fix-pr.js";
19
+ import { registerContextCommand, handleContext } from "./commands/context.js";
20
+ import { registerCommitCommand, handleCommit } from "./commands/commit.js";
20
21
  import { loadConfig } from "./config/loader.js";
21
- import { migrateModelPreference } from "./config/model-config.js";
22
22
  import { registerContextModeHooks } from "./context-mode/hooks.js";
23
- import { registerProgressRenderer } from "./orchestrator/progress-renderer.js";
24
- import { activeRuns } from "./orchestrator/run-progress.js";
25
23
  import { loadMcpRegistry } from "./mcp/config.js";
26
24
  import { McpcClient } from "./mcp/mcpc.js";
27
25
  import { parseTags, computeActiveServers } from "./mcp/activation.js";
28
26
  import { initializeMcpServers, shutdownMcpServers } from "./mcp/lifecycle.js";
27
+ import { registerPlanApprovalHook } from "./planning/approval-flow.js";
29
28
 
30
29
  // TUI-only commands — intercepted at the input level to prevent
31
30
  // message submission and "Working..." indicator
32
- const TUI_COMMANDS: Record<string, (platform: Platform, ctx: any) => void> = {
31
+ const TUI_COMMANDS: Record<string, (platform: Platform, ctx: any, args?: string) => void> = {
33
32
  "supi": (platform, ctx) => handleSupi(platform, ctx),
34
33
  "supi:config": (platform, ctx) => handleConfig(platform, ctx),
35
34
  "supi:status": (platform, ctx) => handleStatus(platform, ctx),
@@ -37,6 +36,9 @@ const TUI_COMMANDS: Record<string, (platform: Platform, ctx: any) => void> = {
37
36
  "supi:doctor": (platform, ctx) => handleDoctor(platform, ctx),
38
37
  "supi:mcp": (platform, ctx) => handleMcp(platform, ctx),
39
38
  "supi:model": (platform, ctx) => handleModel(platform, ctx),
39
+ "supi:context": (platform, ctx) => handleContext(platform, ctx),
40
+ "supi:commit": (platform, ctx, args) => handleCommit(platform, ctx, args),
41
+ "supi:release": (platform, ctx, args) => handleRelease(platform, ctx, args),
40
42
  };
41
43
 
42
44
  let pendingTags: string[] = [];
@@ -57,7 +59,6 @@ export function bootstrap(platform: Platform): void {
57
59
  registerConfigCommand(platform);
58
60
  registerStatusCommand(platform);
59
61
  registerPlanCommand(platform);
60
- registerRunCommand(platform);
61
62
  registerReviewCommand(platform);
62
63
  registerQaCommand(platform);
63
64
  registerReleaseCommand(platform);
@@ -66,30 +67,13 @@ export function bootstrap(platform: Platform): void {
66
67
  registerDoctorCommand(platform);
67
68
  registerMcpCommand(platform);
68
69
  registerModelCommand(platform);
70
+ registerContextCommand(platform);
71
+ registerCommitCommand(platform);
72
+
73
+
74
+ // Register plan approval flow (agent_end hook for plan approval UI)
75
+ registerPlanApprovalHook(platform);
69
76
 
70
- // Register custom message renderers
71
- registerProgressRenderer(platform);
72
-
73
- // Wire ESC key to abort active runs via raw terminal input
74
- // The handleInput on InlineProgressComponent is not called by OMP's TUI
75
- // (custom message renderers are not the focused component), so we use
76
- // onTerminalInput which hooks into the TUI's input listener pipeline.
77
- platform.on("session_start", (_event: any, ctx: any) => {
78
- if (!ctx?.ui?.onTerminalInput) return;
79
- ctx.ui.onTerminalInput((data: string) => {
80
- // ESC key: \x1b not followed by [ (which would be an ANSI sequence)
81
- if (data !== "\x1b" && data !== "\x1b\x1b") return;
82
- // Find any active run and abort it
83
- for (const state of activeRuns.values()) {
84
- if (!state.aborted) {
85
- state.abort();
86
- ctx.ui.notify("Run interrupted — press ESC again to abort the agent turn", "warning");
87
- return { consume: true };
88
- }
89
- }
90
- return;
91
- });
92
- });
93
77
 
94
78
  // Intercept TUI-only commands at the input level — this runs BEFORE
95
79
  // message submission, so no chat message appears and no "Working..." indicator
@@ -114,7 +98,8 @@ export function bootstrap(platform: Platform): void {
114
98
  const handler = TUI_COMMANDS[commandName];
115
99
  if (!handler) return;
116
100
 
117
- handler(platform, ctx);
101
+ const args = spaceIndex === -1 ? undefined : text.slice(spaceIndex + 1);
102
+ handler(platform, ctx, args);
118
103
  return { action: "handled" };
119
104
  });
120
105
 
@@ -122,8 +107,6 @@ export function bootstrap(platform: Platform): void {
122
107
  const config = loadConfig(platform.paths, process.cwd());
123
108
  registerContextModeHooks(platform, config);
124
109
 
125
- // Migrate old modelPreference to model.json
126
- migrateModelPreference(platform.paths, process.cwd());
127
110
 
128
111
  // MCP per-turn activation
129
112
  platform.on("before_agent_start", async (event, ctx) => {
@@ -0,0 +1,44 @@
1
+ // src/commands/commit.ts — /supi:commit slash command
2
+ //
3
+ // TUI-only command — intercepted at the input level to prevent
4
+ // the "Working..." spinner. It never triggers the outer LLM session.
5
+
6
+ import type { Platform } from "../platform/types.js";
7
+ import type { PlatformContext } from "../platform/types.js";
8
+ import { analyzeAndCommit } from "../git/commit.js";
9
+
10
+ /**
11
+ * Register the command for autocomplete and /help listing.
12
+ * Actual execution goes through handleCommit via the TUI dispatch.
13
+ */
14
+ export function registerCommitCommand(platform: Platform): void {
15
+ platform.registerCommand("supi:commit", {
16
+ description: "AI-powered commit — analyzes changes and generates conventional commit messages",
17
+ async handler() {
18
+ // No-op: execution is handled by the TUI input interceptor.
19
+ // This registration exists only for autocomplete and /help.
20
+ },
21
+ });
22
+ }
23
+
24
+ /**
25
+ * TUI-only handler — called from the input event dispatcher in bootstrap.ts.
26
+ * Runs the full commit flow (git ops, agent analysis, UI approval, execution)
27
+ * without ever triggering the outer LLM session.
28
+ */
29
+ export function handleCommit(platform: Platform, ctx: PlatformContext, args?: string): void {
30
+ if (!ctx.hasUI) {
31
+ ctx.ui.notify("Commit requires interactive mode", "warning");
32
+ return;
33
+ }
34
+
35
+ void (async () => {
36
+ try {
37
+ await analyzeAndCommit(platform, ctx, {
38
+ userContext: args?.trim() || undefined,
39
+ });
40
+ } catch (err) {
41
+ ctx.ui.notify(`Commit error: ${(err as Error).message}`, "error");
42
+ }
43
+ })();
44
+ }
@@ -44,33 +44,6 @@ function buildSettings(platform: Platform, cwd: string): SettingDef[] {
44
44
  get: (c) => c.defaultProfile,
45
45
  set: (d, v) => updateConfig(paths, d, { defaultProfile: v }),
46
46
  },
47
- {
48
- label: "Max parallel agents",
49
- key: "orchestration.maxParallelAgents",
50
- helpText: "Sub-agents running concurrently in each /supi:run batch",
51
- type: "select",
52
- options: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"],
53
- get: (c) => String(c.orchestration.maxParallelAgents),
54
- set: (d, v) => updateConfig(paths, d, { orchestration: { maxParallelAgents: Number(v) } }),
55
- },
56
- {
57
- label: "Max fix retries",
58
- key: "orchestration.maxFixRetries",
59
- helpText: "Times a failed task is retried before marking it blocked",
60
- type: "select",
61
- options: ["0", "1", "2", "3", "4", "5"],
62
- get: (c) => String(c.orchestration.maxFixRetries),
63
- set: (d, v) => updateConfig(paths, d, { orchestration: { maxFixRetries: Number(v) } }),
64
- },
65
- {
66
- label: "Max nesting depth",
67
- key: "orchestration.maxNestingDepth",
68
- helpText: "How deep sub-agents can spawn other sub-agents",
69
- type: "select",
70
- options: ["0", "1", "2", "3", "4", "5"],
71
- get: (c) => String(c.orchestration.maxNestingDepth),
72
- set: (d, v) => updateConfig(paths, d, { orchestration: { maxNestingDepth: Number(v) } }),
73
- },
74
47
  {
75
48
  label: "LSP setup guide",
76
49
  key: "lsp.setupGuide",
@@ -0,0 +1,117 @@
1
+ import { writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { tmpdir } from "node:os";
4
+ import type { Platform, PlatformContext } from "../platform/types.js";
5
+ import {
6
+ parseSystemPrompt,
7
+ buildBreakdownItems,
8
+ formatSectionReport,
9
+ formatToolsReport,
10
+ } from "../context/analyzer.js";
11
+ import type { ContextUsage } from "../context/analyzer.js";
12
+
13
+ const REPORT_FILE = ".omp-context-breakdown.md";
14
+
15
+ export function handleContext(platform: Platform, ctx: PlatformContext): void {
16
+ void (async () => {
17
+ if (!ctx.hasUI) return;
18
+
19
+ // Gather data from OMP runtime
20
+ let usage: ContextUsage | null = null;
21
+ try {
22
+ const raw = (ctx as any).getContextUsage?.();
23
+ if (raw && typeof raw === "object") {
24
+ usage = {
25
+ tokens: typeof raw.tokens === "number" ? raw.tokens : null,
26
+ contextWindow: typeof raw.contextWindow === "number" ? raw.contextWindow : null,
27
+ percent: typeof raw.percent === "number" ? raw.percent : null,
28
+ };
29
+ }
30
+ } catch {
31
+ // getContextUsage not available — continue without
32
+ }
33
+
34
+ let systemPrompt = "";
35
+ try {
36
+ systemPrompt = (ctx as any).getSystemPrompt?.() ?? "";
37
+ } catch {
38
+ // getSystemPrompt not available — continue without
39
+ }
40
+
41
+ // If we have nothing to show, notify and bail
42
+ if (!usage && !systemPrompt) {
43
+ ctx.ui.notify("Context data unavailable", "warning");
44
+ return;
45
+ }
46
+
47
+ // Parse system prompt (may be empty)
48
+ const sections = systemPrompt ? parseSystemPrompt(systemPrompt) : [];
49
+ const activeTools = platform.getActiveTools();
50
+ const items = buildBreakdownItems(usage, sections, activeTools, !systemPrompt);
51
+ const lines = items.map(i => i.line);
52
+
53
+ while (true) {
54
+ const choice = await ctx.ui.select("Context Breakdown", lines, {
55
+ helpText: "Select to inspect, Esc to close",
56
+ });
57
+ if (!choice || choice.trim() === "Close") break;
58
+
59
+ const item = items.find(i => i.line === choice);
60
+ if (!item || (!item.section && !item.toolNames)) continue;
61
+
62
+ let report: string | null = null;
63
+ if (item.section) {
64
+ report = formatSectionReport(item.section);
65
+ } else if (item.toolNames) {
66
+ report = formatToolsReport(item.toolNames);
67
+ }
68
+
69
+ if (report) {
70
+ const filePath = writeReport(ctx.cwd, report);
71
+ await openInEditor(platform, filePath);
72
+ ctx.ui.notify(`Wrote ${REPORT_FILE}`, "info");
73
+ }
74
+ }
75
+ })().catch((err) => {
76
+ ctx.ui.notify(`Context error: ${(err as Error).message}`, "error");
77
+ });
78
+ }
79
+
80
+ export function registerContextCommand(platform: Platform): void {
81
+ platform.registerCommand("supi:context", {
82
+ description: "Show context window breakdown — what's consuming tokens",
83
+ async handler(_args: string | undefined, ctx: any) {
84
+ handleContext(platform, ctx);
85
+ },
86
+ });
87
+ }
88
+
89
+
90
+ /** Write report to project root, falling back to tmpdir on failure */
91
+ function writeReport(cwd: string, content: string): string {
92
+ const primary = join(cwd, REPORT_FILE);
93
+ try {
94
+ writeFileSync(primary, content, "utf-8");
95
+ return primary;
96
+ } catch {
97
+ const fallback = join(tmpdir(), REPORT_FILE);
98
+ writeFileSync(fallback, content, "utf-8");
99
+ return fallback;
100
+ }
101
+ }
102
+
103
+ /** Open a file in the user's preferred editor */
104
+ async function openInEditor(platform: Platform, filePath: string): Promise<void> {
105
+ const editor = process.env.VISUAL || process.env.EDITOR;
106
+ try {
107
+ if (editor) {
108
+ await platform.exec(editor, [filePath]);
109
+ } else {
110
+ const cmd = process.platform === "darwin" ? "open"
111
+ : process.platform === "win32" ? "start" : "xdg-open";
112
+ await platform.exec(cmd, [filePath]);
113
+ }
114
+ } catch {
115
+ // Editor open failed — non-fatal, file was still written
116
+ }
117
+ }
@@ -323,8 +323,7 @@ export function registerDoctorCommand(platform: Platform): void {
323
323
  });
324
324
  }
325
325
 
326
- const CAPABILITY_LABELS: Record<keyof PlatformCapabilities, string> = {
327
- agentSessions: "Sub-agent orchestration (/supi:run)",
326
+ const CAPABILITY_LABELS: Partial<Record<keyof PlatformCapabilities, string>> = {
328
327
  compactionHooks: "Context compression",
329
328
  customWidgets: "Progress widgets",
330
329
  registerTool: "Custom tool registration",
@@ -3,7 +3,7 @@ import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
4
  import { loadFixPrConfig, saveFixPrConfig, DEFAULT_FIX_PR_CONFIG } from "../fix-pr/config.js";
5
5
  import { buildFixPrOrchestratorPrompt } from "../fix-pr/prompt-builder.js";
6
- import type { FixPrConfig, ReviewerType, CommentReplyPolicy } from "../fix-pr/types.js";
6
+ import type { FixPrConfig, CommentReplyPolicy } from "../fix-pr/types.js";
7
7
  import {
8
8
  generateFixPrSessionId,
9
9
  createFixPrSession,
@@ -14,6 +14,7 @@ import { notifyInfo, notifyError, notifyWarning } from "../notifications/rendere
14
14
  import { modelRegistry } from "../config/model-registry-instance.js";
15
15
  import { resolveModelForAction, createModelBridge } from "../config/model-resolver.js";
16
16
  import { loadModelConfig } from "../config/model-config.js";
17
+ import { detectBotReviewers } from "../fix-pr/bot-detector.js";
17
18
 
18
19
  modelRegistry.register({
19
20
  id: "fix-pr",
@@ -155,6 +156,18 @@ export function registerFixPrCommand(platform: Platform): void {
155
156
 
156
157
  const commentCount = comments.split("\n").length;
157
158
 
159
+ // Auto-detect bot reviewers from comment data
160
+ const detectedBots = detectBotReviewers(comments);
161
+ if (detectedBots.length > 0) {
162
+ config = {
163
+ ...config,
164
+ reviewer: {
165
+ type: detectedBots[0].type,
166
+ triggerMethod: detectedBots[0].triggerMethod,
167
+ },
168
+ };
169
+ }
170
+
158
171
  // ── Step 5: Load skill ─────────────────────────────────────────
159
172
  let skillContent = "";
160
173
  const skillPath = findSkillPath("fix-pr");
@@ -180,7 +193,7 @@ export function registerFixPrCommand(platform: Platform): void {
180
193
  const modelConfig = loadModelConfig(platform.paths, ctx.cwd);
181
194
  const bridge = createModelBridge(platform);
182
195
  const resolved = resolveModelForAction("fix-pr", modelRegistry, modelConfig, bridge);
183
- if (resolved.source !== "main" && platform.setModel) {
196
+ if (resolved.source !== "main" && platform.setModel && resolved.model) {
184
197
  platform.setModel(resolved.model);
185
198
  }
186
199
 
@@ -200,18 +213,6 @@ export function registerFixPrCommand(platform: Platform): void {
200
213
 
201
214
  // ── Setup Wizard ───────────────────────────────────────────────────────
202
215
 
203
- const REVIEWER_OPTIONS = [
204
- "CodeRabbit",
205
- "GitHub Copilot",
206
- "Gemini Code Review",
207
- "None",
208
- ];
209
-
210
- const REVIEWER_DEFAULTS: Record<string, string> = {
211
- "CodeRabbit": "/review",
212
- "GitHub Copilot": "@copilot review",
213
- "Gemini Code Review": "/gemini review",
214
- };
215
216
 
216
217
  const POLICY_OPTIONS = [
217
218
  "Answer all comments",
@@ -239,33 +240,6 @@ const MODEL_TIER_OPTIONS = [
239
240
  ];
240
241
 
241
242
  async function runSetupWizard(ctx: any): Promise<FixPrConfig | null> {
242
- // 1. Automated reviewer
243
- const reviewerChoice = await ctx.ui.select(
244
- "Automated PR reviewer",
245
- REVIEWER_OPTIONS,
246
- { helpText: "Select your automated reviewer, if any" },
247
- );
248
- if (!reviewerChoice) return null;
249
-
250
- let reviewerType: ReviewerType = "none";
251
- let triggerMethod: string | null = null;
252
-
253
- if (reviewerChoice !== "None") {
254
- reviewerType = reviewerChoice.toLowerCase().replace(/ /g, "").replace("github", "") as ReviewerType;
255
- // Normalize to our type names
256
- if (reviewerChoice === "CodeRabbit") reviewerType = "coderabbit";
257
- else if (reviewerChoice === "GitHub Copilot") reviewerType = "copilot";
258
- else if (reviewerChoice === "Gemini Code Review") reviewerType = "gemini";
259
-
260
- const defaultTrigger = REVIEWER_DEFAULTS[reviewerChoice] || "";
261
- triggerMethod = await ctx.ui.input(
262
- "How to trigger re-review?",
263
- defaultTrigger,
264
- { helpText: `Default for ${reviewerChoice}: ${defaultTrigger}` },
265
- );
266
- if (triggerMethod === undefined) return null;
267
- if (!triggerMethod) triggerMethod = defaultTrigger;
268
- }
269
243
 
270
244
  // 2. Comment reply policy
271
245
  const policyChoice = await ctx.ui.select(
@@ -319,7 +293,7 @@ async function runSetupWizard(ctx: any): Promise<FixPrConfig | null> {
319
293
  if (!fixerTier) return null;
320
294
 
321
295
  const config: FixPrConfig = {
322
- reviewer: { type: reviewerType, triggerMethod },
296
+ reviewer: { type: "none", triggerMethod: null },
323
297
  commentPolicy,
324
298
  loop: { delaySeconds, maxIterations },
325
299
  models: {
@@ -1,12 +1,12 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
3
  import type { Platform, PlatformContext } from "../platform/types.js";
4
- import { loadMcpRegistry, addServer, removeServer, updateServer, getServerConfig, acquireLock } from "../mcp/config.js";
4
+ import { loadMcpRegistry, addServer, removeServer, updateServer, getServerConfig, acquireLock, discoverHostMcpServers } from "../mcp/config.js";
5
5
  import { McpcClient } from "../mcp/mcpc.js";
6
6
  import { generateTriggers } from "../mcp/triggers.js";
7
7
  import { generateReadme, writeReadme, writeToolsCache, generateSkill, writeSkill, updateAgentsMd } from "../mcp/docs.js";
8
8
  import { MCPC_EXIT } from "../mcp/types.js";
9
- import type { McpTool, ServerConfig } from "../mcp/types.js";
9
+ import type { McpTool, ServerConfig, HostMcpServer } from "../mcp/types.js";
10
10
  import { lookupMcpServer, pickBestMatch } from "../mcp/registry.js";
11
11
 
12
12
  export interface ParsedMcpArgs {
@@ -507,14 +507,125 @@ export async function handleMcpCli(
507
507
  break;
508
508
  }
509
509
 
510
+ // ── MIGRATE ──────────────────────────────────────────
511
+ case "migrate": {
512
+ await handleMcpMigrate(platform, ctx);
513
+ break;
514
+ }
515
+
510
516
  default:
511
517
  ctx.ui.notify(
512
- `Unknown subcommand "${parsed.subcommand}". Available: add, remove, enable, disable, refresh, login, logout, activation, tag, list, info`,
518
+ `Unknown subcommand "${parsed.subcommand}". Available: add, remove, enable, disable, refresh, login, logout, activation, tag, list, info, migrate`,
513
519
  "warning",
514
520
  );
515
521
  }
516
522
  }
517
523
 
524
+ // ── Migrate Handler ───────────────────────────────────────────
525
+
526
+ /**
527
+ * Discover MCP servers from the host config that are not yet in supi's
528
+ * managed registry, present a checkbox multi-select UI, and migrate selected
529
+ * servers via the existing "add" flow.
530
+ */
531
+ export async function handleMcpMigrate(
532
+ platform: Platform,
533
+ ctx: PlatformContext,
534
+ ): Promise<void> {
535
+ // 1. Discover host servers
536
+ const hostServers = discoverHostMcpServers(platform.paths, ctx.cwd);
537
+
538
+ // 2. Load supi registry to find already-managed names
539
+ const registry = loadMcpRegistry(platform.paths, ctx.cwd);
540
+ const managedNames = new Set(Object.keys(registry.servers));
541
+
542
+ // 3. Filter to servers not yet managed
543
+ const candidates: HostMcpServer[] = hostServers.filter((s) => !managedNames.has(s.name));
544
+
545
+ if (candidates.length === 0) {
546
+ ctx.ui.notify("All host MCP servers are already in the supipowers registry.", "info");
547
+ return;
548
+ }
549
+
550
+ // 4. Checkbox-toggle multi-select UI
551
+ const selected = new Set<number>();
552
+
553
+ while (true) {
554
+ const checkboxOptions = candidates.map((s, i) => {
555
+ const tick = selected.has(i) ? "✓" : "✗";
556
+ // Treat sse as http for display
557
+ const t = s.transport === "sse" ? "http" : s.transport;
558
+ const auth = s.hasAuth ? " 🔒" : "";
559
+ return `${tick} ${s.name} — ${t} (${s.scope})${auth}`;
560
+ });
561
+
562
+ const selectedCount = selected.size;
563
+ const doneLabel = `[Done — migrate ${selectedCount} selected]`;
564
+
565
+ checkboxOptions.push("[Select All]");
566
+ checkboxOptions.push(doneLabel);
567
+ checkboxOptions.push("[Cancel]");
568
+
569
+ const pick = await ctx.ui.select(
570
+ "Migrate MCP servers from host config",
571
+ checkboxOptions,
572
+ { helpText: "Select servers to migrate · Esc to cancel" },
573
+ );
574
+
575
+ if (pick === undefined || pick === null || pick === "[Cancel]") return;
576
+
577
+ if (pick === "[Select All]") {
578
+ if (selected.size === candidates.length) {
579
+ // All selected — deselect all
580
+ selected.clear();
581
+ } else {
582
+ candidates.forEach((_, i) => selected.add(i));
583
+ }
584
+ continue;
585
+ }
586
+
587
+ if (pick === doneLabel) break;
588
+
589
+ // Toggle the clicked candidate
590
+ const idx = checkboxOptions.indexOf(pick);
591
+ if (idx >= 0 && idx < candidates.length) {
592
+ if (selected.has(idx)) {
593
+ selected.delete(idx);
594
+ } else {
595
+ selected.add(idx);
596
+ }
597
+ }
598
+ }
599
+
600
+ if (selected.size === 0) {
601
+ ctx.ui.notify("No servers selected. Migration cancelled.", "info");
602
+ return;
603
+ }
604
+
605
+ // 5. Migrate selected servers via the existing add flow
606
+ const toMigrate = [...selected].map((i) => candidates[i]);
607
+ let migratedCount = 0;
608
+
609
+ for (const server of toMigrate) {
610
+ // Map host transport to supi's transport (sse → http, treat as HTTP URL-based)
611
+ const transport: "http" | "stdio" = server.transport === "stdio" ? "stdio" : "http";
612
+
613
+ await handleMcpCli(platform, ctx, {
614
+ subcommand: "add",
615
+ name: server.name,
616
+ url: transport === "http" ? server.url : undefined,
617
+ command: transport === "stdio" ? server.command : undefined,
618
+ commandArgs: server.args,
619
+ transport,
620
+ });
621
+
622
+ migratedCount++;
623
+ }
624
+
625
+ ctx.ui.notify(`Migration complete. Processed ${migratedCount} server(s).`, "info");
626
+ }
627
+
628
+
518
629
  export function handleMcp(platform: Platform, ctx: PlatformContext): void {
519
630
  if (!ctx.hasUI) {
520
631
  ctx.ui.notify("MCP UI requires interactive mode", "warning");
@@ -536,6 +647,7 @@ export function handleMcp(platform: Platform, ctx: PlatformContext): void {
536
647
  });
537
648
  options.push("[Add server]");
538
649
  options.push("[Refresh all]");
650
+ options.push("[Migrate from host]");
539
651
  options.push("[Done]");
540
652
 
541
653
  const choice = await ctx.ui.select(
@@ -572,6 +684,12 @@ export function handleMcp(platform: Platform, ctx: PlatformContext): void {
572
684
  }
573
685
 
574
686
  // ── Refresh all ───────────────────────────────────────
687
+ // ── Migrate from host flow ───────────────────────────
688
+ if (choice === "[Migrate from host]") {
689
+ await handleMcpMigrate(platform, ctx);
690
+ continue;
691
+ }
692
+
575
693
  if (choice === "[Refresh all]") {
576
694
  await handleMcpCli(platform, ctx, { subcommand: "refresh" });
577
695
  continue;
@@ -14,6 +14,7 @@ import * as path from "node:path";
14
14
  import { modelRegistry } from "../config/model-registry-instance.js";
15
15
  import { resolveModelForAction, createModelBridge } from "../config/model-resolver.js";
16
16
  import { loadModelConfig } from "../config/model-config.js";
17
+ import { startPlanTracking } from "../planning/approval-flow.js";
17
18
 
18
19
  modelRegistry.register({
19
20
  id: "plan",
@@ -136,7 +137,7 @@ export function registerPlanCommand(platform: Platform): void {
136
137
  const modelConfig = loadModelConfig(platform.paths, ctx.cwd);
137
138
  const bridge = createModelBridge(platform);
138
139
  const resolved = resolveModelForAction("plan", modelRegistry, modelConfig, bridge);
139
- if (resolved.source !== "main" && platform.setModel) {
140
+ if (resolved.source !== "main" && platform.setModel && resolved.model) {
140
141
  platform.setModel(resolved.model);
141
142
  }
142
143
 
@@ -149,6 +150,9 @@ export function registerPlanCommand(platform: Platform): void {
149
150
  { deliverAs: "steer", triggerTurn: true }
150
151
  );
151
152
 
153
+ // Track planning state for the approval flow (agent_end hook)
154
+ startPlanTracking(ctx.cwd, platform.paths, ctx.newSession?.bind(ctx));
155
+
152
156
  notifyInfo(ctx, "Planning started", args ? `Topic: ${args}` : "Describe what you want to build");
153
157
  },
154
158
  });