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
@@ -0,0 +1,215 @@
1
+ // src/git/conventions.ts — Discover commit message conventions from repo docs and config
2
+
3
+ import { readFileSync, existsSync } from "node:fs";
4
+ import { join } from "node:path";
5
+
6
+ type ExecFn = (
7
+ cmd: string,
8
+ args: string[],
9
+ opts?: { cwd?: string },
10
+ ) => Promise<{ stdout: string; code: number }>;
11
+
12
+ export interface CommitConventions {
13
+ /** Concatenated relevant sections from repo docs */
14
+ guidelines: string;
15
+ /** Source files that were found */
16
+ sources: string[];
17
+ }
18
+
19
+ /** Max total output size — prevents blowing up the agent prompt */
20
+ const MAX_GUIDELINES_BYTES = 4096;
21
+
22
+ /**
23
+ * Discover commit conventions by scanning well-known files and config.
24
+ * Pure I/O — reads filesystem and one git config query, no side effects.
25
+ */
26
+ export async function discoverCommitConventions(
27
+ exec: ExecFn,
28
+ cwd: string,
29
+ ): Promise<CommitConventions> {
30
+ const sections: { source: string; content: string }[] = [];
31
+
32
+ // ── Markdown docs (extract commit-related sections) ──────
33
+ for (const file of ["CONTRIBUTING.md", "AGENTS.md"]) {
34
+ const content = readFileSafe(join(cwd, file));
35
+ if (content) {
36
+ const extracted = extractCommitSections(content);
37
+ if (extracted) {
38
+ sections.push({ source: file, content: extracted });
39
+ }
40
+ }
41
+ }
42
+
43
+ // ── Dedicated commit convention files (read in full) ─────
44
+ for (const file of ["COMMIT.md", "COMMIT_CONVENTIONS.md"]) {
45
+ const content = readFileSafe(join(cwd, file));
46
+ if (content) {
47
+ sections.push({ source: file, content });
48
+ }
49
+ }
50
+
51
+ // ── Commitlint config ────────────────────────────────────
52
+ for (const file of [
53
+ ".commitlintrc.json",
54
+ ".commitlintrc.yml",
55
+ ".commitlintrc.js",
56
+ ]) {
57
+ const content = readFileSafe(join(cwd, file));
58
+ if (content) {
59
+ sections.push({ source: file, content });
60
+ }
61
+ }
62
+
63
+ // ── Commitizen config ────────────────────────────────────
64
+ for (const file of [".czrc", ".cz.json"]) {
65
+ const content = readFileSafe(join(cwd, file));
66
+ if (content) {
67
+ sections.push({ source: file, content });
68
+ }
69
+ }
70
+
71
+ // ── package.json — commitlint / commitizen fields ────────
72
+ const pkgContent = readFileSafe(join(cwd, "package.json"));
73
+ if (pkgContent) {
74
+ try {
75
+ const pkg = JSON.parse(pkgContent);
76
+ const relevant: Record<string, unknown> = {};
77
+ if (pkg.commitlint) relevant.commitlint = pkg.commitlint;
78
+ if (pkg.config?.commitizen) relevant["config.commitizen"] = pkg.config.commitizen;
79
+ if (Object.keys(relevant).length > 0) {
80
+ sections.push({
81
+ source: "package.json",
82
+ content: JSON.stringify(relevant, null, 2),
83
+ });
84
+ }
85
+ } catch {
86
+ // Malformed package.json — skip
87
+ }
88
+ }
89
+
90
+ // ── Commit hooks ─────────────────────────────────────────
91
+ for (const hookPath of [
92
+ join(cwd, ".husky", "commit-msg"),
93
+ join(cwd, ".git", "hooks", "commit-msg"),
94
+ ]) {
95
+ const content = readFileSafe(hookPath);
96
+ if (content) {
97
+ const relative = hookPath.startsWith(cwd)
98
+ ? hookPath.slice(cwd.length + 1)
99
+ : hookPath;
100
+ sections.push({ source: relative, content });
101
+ }
102
+ }
103
+
104
+ // ── Git commit template ──────────────────────────────────
105
+ try {
106
+ const result = await exec(
107
+ "git",
108
+ ["config", "commit.template"],
109
+ { cwd },
110
+ );
111
+ if (result.code === 0 && result.stdout.trim()) {
112
+ const templatePath = result.stdout.trim();
113
+ const absPath = templatePath.startsWith("/")
114
+ ? templatePath
115
+ : join(cwd, templatePath);
116
+ const content = readFileSafe(absPath);
117
+ if (content) {
118
+ sections.push({ source: `commit.template (${templatePath})`, content });
119
+ }
120
+ }
121
+ } catch {
122
+ // git config query failed — skip
123
+ }
124
+
125
+ // ── Assemble and truncate ────────────────────────────────
126
+ if (sections.length === 0) {
127
+ return { guidelines: "", sources: [] };
128
+ }
129
+
130
+ let guidelines = sections
131
+ .map((s) => `### ${s.source}\n${s.content}`)
132
+ .join("\n\n");
133
+
134
+ if (Buffer.byteLength(guidelines, "utf8") > MAX_GUIDELINES_BYTES) {
135
+ // Truncate by sections from the end until under limit
136
+ while (
137
+ sections.length > 1 &&
138
+ Buffer.byteLength(guidelines, "utf8") > MAX_GUIDELINES_BYTES
139
+ ) {
140
+ sections.pop();
141
+ guidelines = sections
142
+ .map((s) => `### ${s.source}\n${s.content}`)
143
+ .join("\n\n");
144
+ }
145
+ // If a single section is still too large, hard-truncate
146
+ if (Buffer.byteLength(guidelines, "utf8") > MAX_GUIDELINES_BYTES) {
147
+ guidelines = guidelines.slice(0, MAX_GUIDELINES_BYTES) + "\n[truncated]";
148
+ }
149
+ }
150
+
151
+ return {
152
+ guidelines,
153
+ sources: sections.map((s) => s.source),
154
+ };
155
+ }
156
+
157
+ // ── Helpers ──────────────────────────────────────────────────
158
+
159
+ function readFileSafe(path: string): string | null {
160
+ try {
161
+ if (!existsSync(path)) return null;
162
+ const content = readFileSync(path, "utf8");
163
+ return content.trim() || null;
164
+ } catch {
165
+ return null;
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Extract markdown sections whose headings mention commit conventions.
171
+ * Returns null if no relevant sections found.
172
+ */
173
+ function extractCommitSections(markdown: string): string | null {
174
+ const lines = markdown.split("\n");
175
+ const HEADING_RE = /^(#{1,4})\s+(.+)$/;
176
+ const KEYWORDS_RE = /commit|conventional|message format/i;
177
+
178
+ const sections: string[] = [];
179
+ let capturing = false;
180
+ let captureLevel = 0;
181
+ let buffer: string[] = [];
182
+
183
+ for (const line of lines) {
184
+ const headingMatch = HEADING_RE.exec(line);
185
+ if (headingMatch) {
186
+ const level = headingMatch[1].length;
187
+ const title = headingMatch[2];
188
+
189
+ // If we were capturing, a same-or-higher-level heading ends the section
190
+ if (capturing && level <= captureLevel) {
191
+ sections.push(buffer.join("\n"));
192
+ buffer = [];
193
+ capturing = false;
194
+ }
195
+
196
+ if (KEYWORDS_RE.test(title)) {
197
+ capturing = true;
198
+ captureLevel = level;
199
+ buffer.push(line);
200
+ continue;
201
+ }
202
+ }
203
+
204
+ if (capturing) {
205
+ buffer.push(line);
206
+ }
207
+ }
208
+
209
+ // Flush last section
210
+ if (capturing && buffer.length > 0) {
211
+ sections.push(buffer.join("\n"));
212
+ }
213
+
214
+ return sections.length > 0 ? sections.join("\n\n") : null;
215
+ }
@@ -0,0 +1,27 @@
1
+ type ExecFn = (cmd: string, args: string[], opts?: { cwd?: string }) => Promise<{ stdout: string; code: number }>;
2
+
3
+ export interface WorkingTreeStatus {
4
+ dirty: boolean;
5
+ /** Files with uncommitted changes (staged + unstaged + untracked) */
6
+ files: string[];
7
+ }
8
+
9
+ /**
10
+ * Check whether the working tree has uncommitted changes.
11
+ * Returns dirty: false on non-git dirs or exec errors — don't block the caller.
12
+ */
13
+ export async function getWorkingTreeStatus(exec: ExecFn, cwd: string): Promise<WorkingTreeStatus> {
14
+ try {
15
+ const result = await exec("git", ["status", "--porcelain"], { cwd });
16
+ if (result.code !== 0) {
17
+ return { dirty: false, files: [] };
18
+ }
19
+ const files = result.stdout
20
+ .split("\n")
21
+ .filter(Boolean)
22
+ .map((line) => line.slice(3)); // strip 2-char status + space
23
+ return { dirty: files.length > 0, files };
24
+ } catch {
25
+ return { dirty: false, files: [] };
26
+ }
27
+ }
@@ -0,0 +1,5 @@
1
+ // Allow importing .md files (required by @oh-my-pi/pi-ai transitive imports)
2
+ declare module "*.md" {
3
+ const content: string;
4
+ export default content;
5
+ }
package/src/index.ts CHANGED
@@ -1,13 +1,7 @@
1
- import { detectPlatform } from "./platform/detect.js";
2
1
  import { createOmpAdapter } from "./platform/omp.js";
3
- import { createPiAdapter } from "./platform/pi.js";
4
2
  import { bootstrap } from "./bootstrap.js";
5
3
 
6
4
  export default function supipowers(rawApi: any): void {
7
- const platformType = detectPlatform(rawApi);
8
- const platform = platformType === "omp"
9
- ? createOmpAdapter(rawApi)
10
- : createPiAdapter(rawApi);
11
-
5
+ const platform = createOmpAdapter(rawApi);
12
6
  bootstrap(platform);
13
7
  }
package/src/mcp/config.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  // src/mcp/config.ts
2
2
  import * as fs from "node:fs";
3
+ import { homedir } from "node:os";
3
4
  import * as path from "node:path";
4
5
  import type { PlatformPaths } from "../platform/types.js";
5
- import type { McpRegistry, ServerConfig } from "./types.js";
6
+ import type { McpRegistry, ServerConfig, HostMcpServer } from "./types.js";
6
7
  import { createEmptyRegistry, isValidServerName } from "./types.js";
7
8
 
8
9
  function getMcpConfigPath(paths: PlatformPaths, cwd: string): string {
@@ -142,3 +143,81 @@ export function acquireLock(paths: PlatformPaths, cwd: string): { acquired: bool
142
143
  },
143
144
  };
144
145
  }
146
+
147
+
148
+ // ── Host Config Discovery ─────────────────────────────────────
149
+
150
+ interface HostMcpRaw {
151
+ mcpServers?: Record<string, {
152
+ type?: "stdio" | "http" | "sse";
153
+ command?: string;
154
+ args?: string[];
155
+ url?: string;
156
+ headers?: Record<string, string>;
157
+ env?: Record<string, string>;
158
+ enabled?: boolean;
159
+ auth?: unknown;
160
+ oauth?: unknown;
161
+ }>;
162
+ }
163
+
164
+ /**
165
+ * Discover MCP servers from host config files:
166
+ * - User-level OMP: paths.agent("mcp.json") → ~/.omp/agent/mcp.json
167
+ * - Project-level OMP: <cwd>/<dotDir>/mcp.json → <cwd>/.omp/mcp.json
168
+ * - Claude Code: ~/.claude.json
169
+ *
170
+ * All use the same { mcpServers: Record<string, ...> } shape.
171
+ */
172
+ export function discoverHostMcpServers(
173
+ paths: PlatformPaths,
174
+ cwd: string,
175
+ homeDir: string = homedir(),
176
+ ): HostMcpServer[] {
177
+ const dot = paths.dotDir;
178
+
179
+ // OMP agent-level (user) config: ~/.omp/agent/mcp.json
180
+ const userPath = paths.agent("mcp.json");
181
+ // OMP project-level config: <cwd>/.omp/mcp.json
182
+ const projectPath = path.join(cwd, dot, "mcp.json");
183
+ // Claude Code user config: ~/.claude.json
184
+ const claudeCodePath = path.join(homeDir, ".claude.json");
185
+
186
+ const sources: Array<{ scope: HostMcpServer["scope"]; filePath: string }> = [
187
+ { scope: "user", filePath: userPath },
188
+ { scope: "project", filePath: projectPath },
189
+ { scope: "claude-code", filePath: claudeCodePath },
190
+ ];
191
+
192
+ const discovered: HostMcpServer[] = [];
193
+
194
+ for (const { scope, filePath } of sources) {
195
+ const data = readJsonSafe(filePath) as HostMcpRaw | null;
196
+ if (!data?.mcpServers) continue;
197
+
198
+ for (const [name, raw] of Object.entries(data.mcpServers)) {
199
+ // Skip explicitly disabled servers
200
+ if (raw.enabled === false) continue;
201
+
202
+ const effectiveType = raw.type ?? "stdio";
203
+ let transport: HostMcpServer["transport"] = "stdio";
204
+ if (effectiveType === "http") transport = "http";
205
+ else if (effectiveType === "sse") transport = "sse";
206
+
207
+ discovered.push({
208
+ name,
209
+ scope,
210
+ transport,
211
+ url: raw.url,
212
+ command: raw.command,
213
+ args: raw.args,
214
+ env: raw.env,
215
+ headers: raw.headers,
216
+ enabled: raw.enabled,
217
+ hasAuth: raw.auth !== undefined || raw.oauth !== undefined,
218
+ });
219
+ }
220
+ }
221
+
222
+ return discovered;
223
+ }
package/src/mcp/docs.ts CHANGED
@@ -119,7 +119,7 @@ function buildManagedSection(servers: Record<string, { description: string }>):
119
119
  lines.push("The following MCP servers are available via `$tag` or the `mcpc_<name>` tool:");
120
120
  lines.push("");
121
121
  for (const [name, { description }] of entries) {
122
- lines.push(`- **$${name}** — ${description}. Details: .pi/supipowers/mcpc/${name}/README.md`);
122
+ lines.push(`- **$${name}** — ${description}. Details: .omp/supipowers/mcpc/${name}/README.md`);
123
123
  }
124
124
  lines.push("");
125
125
  lines.push("Use `/supi:mcp` to manage servers. Invoke the `supi:mcpc` skill for usage patterns.");
package/src/mcp/types.ts CHANGED
@@ -47,6 +47,20 @@ export interface ServerState {
47
47
  catalog?: ToolCatalog;
48
48
  }
49
49
 
50
+ /** A server discovered from the OMP host MCP config (not yet in supipowers registry) */
51
+ export interface HostMcpServer {
52
+ name: string;
53
+ scope: "user" | "project" | "claude-code";
54
+ transport: "http" | "stdio" | "sse";
55
+ url?: string;
56
+ command?: string;
57
+ args?: string[];
58
+ env?: Record<string, string>;
59
+ headers?: Record<string, string>;
60
+ enabled?: boolean;
61
+ hasAuth?: boolean;
62
+ }
63
+
50
64
  /** mcpc exit codes per documentation */
51
65
  export const MCPC_EXIT = {
52
66
  SUCCESS: 0,
@@ -0,0 +1,174 @@
1
+ import type { Platform } from "../platform/types.js";
2
+ import { listPlans, readPlanFile } from "../storage/plans.js";
3
+
4
+ /**
5
+ * Plan approval flow state.
6
+ *
7
+ * After `/supi:plan` sends the planning steer, this module tracks the
8
+ * planning session. When the agent finishes a turn, we detect newly
9
+ * written plan files and show an approval UI — mirroring OMP's native
10
+ * `/plan` approval experience.
11
+ */
12
+ let planningActive = false;
13
+ let plansBefore: string[] = [];
14
+ let planCwd: string = "";
15
+ /** newSession function captured from the command context at plan start. */
16
+ let capturedNewSession: ((options?: any) => Promise<{ cancelled: boolean }>) | null = null;
17
+
18
+ /** Mark planning as started (called by plan command after sending steer). */
19
+ export function startPlanTracking(
20
+ cwd: string,
21
+ paths: any,
22
+ newSession?: (options?: any) => Promise<{ cancelled: boolean }>,
23
+ ): void {
24
+ planningActive = true;
25
+ planCwd = cwd;
26
+ plansBefore = listPlans(paths, cwd);
27
+ capturedNewSession = newSession ?? null;
28
+ }
29
+
30
+ /** Cancel plan tracking (e.g., session change). */
31
+ export function cancelPlanTracking(): void {
32
+ planningActive = false;
33
+ plansBefore = [];
34
+ planCwd = "";
35
+ capturedNewSession = null;
36
+ }
37
+
38
+ /** Whether a planning session is currently active. */
39
+ export function isPlanningActive(): boolean {
40
+ return planningActive;
41
+ }
42
+
43
+ /**
44
+ * Build the execution handoff prompt from an approved plan.
45
+ *
46
+ * Mirrors OMP's `plan-mode-approved.md` template: critical directive
47
+ * to execute, the full plan content, and step-by-step instructions.
48
+ */
49
+ function buildExecutionPrompt(planContent: string, planPath: string): string {
50
+ return [
51
+ "<critical>",
52
+ "Plan approved. You **MUST** execute it now.",
53
+ "</critical>",
54
+ "",
55
+ `Finalized plan: \`${planPath}\``,
56
+ "",
57
+ "## Plan",
58
+ "",
59
+ planContent,
60
+ "",
61
+ "<instruction>",
62
+ `You **MUST** execute this plan step by step from \`${planPath}\`.`,
63
+ "You **MUST** verify each step before proceeding to the next.",
64
+ "Before execution, you **MUST** initialize todo tracking with the task list.",
65
+ "After each completed step, immediately update progress so it stays visible.",
66
+ "</instruction>",
67
+ "",
68
+ "<critical>",
69
+ "You **MUST** keep going until complete. This matters.",
70
+ "</critical>",
71
+ ].join("\n");
72
+ }
73
+
74
+ /**
75
+ * Execute the approve-and-execute flow.
76
+ *
77
+ * Clears the current session via ctx.newSession() (gives a clean slate),
78
+ * then sends the execution prompt as a user message so the agent picks it
79
+ * up immediately in the new session.
80
+ *
81
+ * Falls back to same-session steer when ctx.newSession is unavailable
82
+ * (headless / SDK environments that don't expose the session API).
83
+ */
84
+ async function executeApproveFlow(
85
+ platform: Platform,
86
+ ctx: any,
87
+ planContent: string,
88
+ planPath: string,
89
+ ): Promise<void> {
90
+ const prompt = buildExecutionPrompt(planContent, planPath);
91
+
92
+ if (capturedNewSession) {
93
+ const result = await capturedNewSession();
94
+ if (result?.cancelled) {
95
+ // User dismissed the new-session prompt — keep plan state intact.
96
+ ctx.ui.notify("Session start cancelled. Plan saved; run /supi:plan again to execute.");
97
+ return;
98
+ }
99
+ platform.sendUserMessage(prompt);
100
+ } else {
101
+ // Fallback: headless/SDK mode — steer in the current session.
102
+ platform.sendMessage(
103
+ {
104
+ customType: "supi-plan-execute",
105
+ content: [{ type: "text", text: prompt }],
106
+ display: "none",
107
+ },
108
+ { deliverAs: "steer", triggerTurn: true },
109
+ );
110
+ ctx.ui.notify("Plan approved — starting execution");
111
+ }
112
+ }
113
+
114
+ /**
115
+ * Register the agent_end hook that drives the plan approval UI.
116
+ *
117
+ * After the planning agent finishes each turn, detect if a new plan
118
+ * file appeared and show an approval selector:
119
+ * - "Approve and execute" → clear session, send execution prompt
120
+ * - "Refine plan" → let user type refinement (empty = approve)
121
+ * - "Stay in plan mode" → cancel tracking, return control
122
+ */
123
+ export function registerPlanApprovalHook(platform: Platform): void {
124
+ platform.on("agent_end", async (_event: any, ctx: any) => {
125
+ if (!planningActive || !ctx?.hasUI) return;
126
+
127
+ // Detect newly written plan files
128
+ const plansNow = listPlans(platform.paths, planCwd);
129
+ const newPlans = plansNow.filter((p) => !plansBefore.includes(p));
130
+
131
+ if (newPlans.length === 0) {
132
+ // No new plan yet — agent is still exploring/asking questions.
133
+ // Update snapshot so we detect the plan on a future turn.
134
+ plansBefore = plansNow;
135
+ return;
136
+ }
137
+
138
+ // Pick the most recent new plan
139
+ const planName = newPlans[newPlans.length - 1];
140
+ const planContent = readPlanFile(platform.paths, planCwd, planName);
141
+ if (!planContent) return;
142
+
143
+ const planPath = `${platform.paths.dotDirDisplay}/supipowers/plans/${planName}`;
144
+
145
+ const choice = await ctx.ui.select("Plan complete — what next?", [
146
+ "Approve and execute",
147
+ "Refine plan",
148
+ "Stay in plan mode",
149
+ ]);
150
+
151
+ if (choice === "Approve and execute") {
152
+ planningActive = false;
153
+ plansBefore = [];
154
+ await executeApproveFlow(platform, ctx, planContent, planPath);
155
+ } else if (choice === "Refine plan") {
156
+ // Keep planning active, let user type refinement.
157
+ // Empty input is treated as misclick → fall through to approve.
158
+ plansBefore = plansNow;
159
+ const refinement = await ctx.ui.input("What should be refined?");
160
+ if (!refinement || !refinement.trim()) {
161
+ // Misclick: treat empty input as approval
162
+ planningActive = false;
163
+ plansBefore = [];
164
+ await executeApproveFlow(platform, ctx, planContent, planPath);
165
+ } else {
166
+ ctx.ui.setEditorText?.(refinement);
167
+ }
168
+ } else {
169
+ // Stay in plan mode — user keeps control, tracking cancelled
170
+ cancelPlanTracking();
171
+ ctx.ui.notify("Planning complete. Plan saved but not executing.");
172
+ }
173
+ });
174
+ }
@@ -98,7 +98,7 @@ export function buildPlanWriterPrompt(options: PlanWriterOptions): string {
98
98
  "",
99
99
  "- [ ] **Step 2: Run test to verify it fails**",
100
100
  "",
101
- "Run: `npx vitest run tests/path/test.ts`",
101
+ "Run: `bun test tests/path/test.ts`",
102
102
  'Expected: FAIL with "myFunction is not defined"',
103
103
  "",
104
104
  "- [ ] **Step 3: Write minimal implementation**",
@@ -111,7 +111,7 @@ export function buildPlanWriterPrompt(options: PlanWriterOptions): string {
111
111
  "",
112
112
  "- [ ] **Step 4: Run test to verify it passes**",
113
113
  "",
114
- "Run: `npx vitest run tests/path/test.ts`",
114
+ "Run: `bun test tests/path/test.ts`",
115
115
  "Expected: PASS",
116
116
  "",
117
117
  "- [ ] **Step 5: Commit**",
@@ -159,11 +159,12 @@ export function buildPlanWriterPrompt(options: PlanWriterOptions): string {
159
159
  // ── Execution Handoff ────────────────────────────────────────
160
160
  "## Step 6: Execution Handoff",
161
161
  "",
162
- "After saving the plan, ask:",
162
+ "After saving the plan, tell the user:",
163
163
  "",
164
- '> "Plan complete and saved to `<path>`. Ready to execute?"',
164
+ '> "Plan saved to `<path>`. Review it and approve when ready."',
165
165
  "",
166
- "Wait for user confirmation before proceeding to execution.",
166
+ "Then **stop and wait**. Do NOT start executing.",
167
+ "The user will see an approval prompt. Once they approve, a fresh execution session begins automatically.",
167
168
  "",
168
169
  ];
169
170
 
@@ -166,10 +166,11 @@ export function buildQuickPlanPrompt(
166
166
  "---",
167
167
  "```",
168
168
  "",
169
- "Each task should have: name, [parallel-safe] or [sequential] annotation,",
170
- "**files**, **criteria**, and **complexity** (small/medium/large).",
169
+ "Each task should have: name, **files**, **criteria**, and **complexity** (small/medium/large).",
171
170
  "",
172
- "After generating the plan, save it and confirm with the user.",
171
+ "After generating the plan, save it and tell the user:",
172
+ '> "Plan saved to `<path>`. Review it and approve when ready."',
173
+ "Then stop and wait. The user will see an approval prompt.",
173
174
  ];
174
175
 
175
176
  if (skillContent) {
@@ -1,9 +1,7 @@
1
1
  // src/platform/detect.ts
2
- export type PlatformType = "pi" | "omp";
3
-
4
- export function detectPlatform(rawApi: any): PlatformType {
5
- if (rawApi.pi && typeof rawApi.pi.createAgentSession === "function") {
6
- return "omp";
2
+ export function detectPlatform(rawApi: any): "omp" {
3
+ if (!rawApi.pi || typeof rawApi.pi.createAgentSession !== "function") {
4
+ throw new Error("Unrecognized API shape — expected OMP ExtensionAPI");
7
5
  }
8
- return "pi";
6
+ return "omp";
9
7
  }