@posthog/wizard 2.9.1 → 2.10.1

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 (740) hide show
  1. package/README.md +40 -0
  2. package/dist/McpScreen-DINVFEYh.js +3356 -0
  3. package/dist/McpScreen-DINVFEYh.js.map +1 -0
  4. package/dist/add-mcp-server-to-clients-BlbtWGU0.js +436 -0
  5. package/dist/add-mcp-server-to-clients-BlbtWGU0.js.map +1 -0
  6. package/dist/agent-runner-D_eXxXPp.js +1114 -0
  7. package/dist/agent-runner-D_eXxXPp.js.map +1 -0
  8. package/dist/agent-skill-BVjJqol6.js +59 -0
  9. package/dist/agent-skill-BVjJqol6.js.map +1 -0
  10. package/dist/analytics-Bu1XKP2S.js +207 -0
  11. package/dist/analytics-Bu1XKP2S.js.map +1 -0
  12. package/dist/analytics-DjWAOHun.js +2 -0
  13. package/dist/bin.d.ts +1 -2
  14. package/dist/bin.js +635 -521
  15. package/dist/bin.js.map +1 -1
  16. package/dist/craft-pre-release.sh +10 -0
  17. package/dist/debug-CIyf0ZGx.js +2 -0
  18. package/dist/debug-CyJ_3dTP.js +201 -0
  19. package/dist/debug-CyJ_3dTP.js.map +1 -0
  20. package/dist/defaults-DoVkE0gW.js +234 -0
  21. package/dist/defaults-DoVkE0gW.js.map +1 -0
  22. package/dist/detection-B6EEBoZk.js +122 -0
  23. package/dist/detection-B6EEBoZk.js.map +1 -0
  24. package/dist/env-api-key-K8TdTDII.js +20 -0
  25. package/dist/env-api-key-K8TdTDII.js.map +1 -0
  26. package/dist/file-utils-BWneZy6p.js +38 -0
  27. package/dist/file-utils-BWneZy6p.js.map +1 -0
  28. package/dist/generate-version.cjs +11 -0
  29. package/dist/package-json-BQgl5C3Z.js +2 -0
  30. package/dist/package-json-Ctq6LSl8.js +25 -0
  31. package/dist/package-json-Ctq6LSl8.js.map +1 -0
  32. package/dist/package-manager-BTZ75a-a.js +222 -0
  33. package/dist/package-manager-BTZ75a-a.js.map +1 -0
  34. package/dist/posthog-integration-_xd3kuTB.js +230 -0
  35. package/dist/posthog-integration-_xd3kuTB.js.map +1 -0
  36. package/dist/readiness-BPPVNQum.js +2156 -0
  37. package/dist/readiness-BPPVNQum.js.map +1 -0
  38. package/dist/registry-BY4HuKIE.js +2922 -0
  39. package/dist/registry-BY4HuKIE.js.map +1 -0
  40. package/dist/rolldown-runtime-B_-DWIq7.js +15 -0
  41. package/dist/router-D5A1Sb4p.js +141 -0
  42. package/dist/router-D5A1Sb4p.js.map +1 -0
  43. package/dist/setup-utils-Dymympue.js +928 -0
  44. package/dist/setup-utils-Dymympue.js.map +1 -0
  45. package/dist/smoke-test-ci.sh +165 -0
  46. package/dist/start-playground-BjIMB4sp.js +1005 -0
  47. package/dist/start-playground-BjIMB4sp.js.map +1 -0
  48. package/dist/start-tui-xs7DNbH9.js +1885 -0
  49. package/dist/start-tui-xs7DNbH9.js.map +1 -0
  50. package/dist/steps-CCz4dZOV.js +146 -0
  51. package/dist/steps-CCz4dZOV.js.map +1 -0
  52. package/dist/telemetry-DfPvsfxj.js +13 -0
  53. package/dist/telemetry-DfPvsfxj.js.map +1 -0
  54. package/dist/wizard-abort-BPf5l506.js +39 -0
  55. package/dist/wizard-abort-BPf5l506.js.map +1 -0
  56. package/dist/wizard-abort-WACKybRA.js +2 -0
  57. package/dist/wizard-session-Db6R023m.js +62 -0
  58. package/dist/wizard-session-Db6R023m.js.map +1 -0
  59. package/dist/wizard-session-y7nf6aKH.js +2 -0
  60. package/npm-shrinkwrap.json +2 -2
  61. package/package.json +16 -8
  62. package/dist/src/__tests__/cli.test.d.ts +0 -1
  63. package/dist/src/__tests__/cli.test.js +0 -256
  64. package/dist/src/__tests__/cli.test.js.map +0 -1
  65. package/dist/src/__tests__/package-json.test.d.ts +0 -1
  66. package/dist/src/__tests__/package-json.test.js +0 -173
  67. package/dist/src/__tests__/package-json.test.js.map +0 -1
  68. package/dist/src/__tests__/wizard-abort.test.d.ts +0 -1
  69. package/dist/src/__tests__/wizard-abort.test.js +0 -148
  70. package/dist/src/__tests__/wizard-abort.test.js.map +0 -1
  71. package/dist/src/frameworks/android/android-wizard-agent.d.ts +0 -6
  72. package/dist/src/frameworks/android/android-wizard-agent.js +0 -142
  73. package/dist/src/frameworks/android/android-wizard-agent.js.map +0 -1
  74. package/dist/src/frameworks/android/utils.d.ts +0 -11
  75. package/dist/src/frameworks/android/utils.js +0 -97
  76. package/dist/src/frameworks/android/utils.js.map +0 -1
  77. package/dist/src/frameworks/angular/angular-wizard-agent.d.ts +0 -4
  78. package/dist/src/frameworks/angular/angular-wizard-agent.js +0 -65
  79. package/dist/src/frameworks/angular/angular-wizard-agent.js.map +0 -1
  80. package/dist/src/frameworks/angular/utils.d.ts +0 -4
  81. package/dist/src/frameworks/angular/utils.js +0 -9
  82. package/dist/src/frameworks/angular/utils.js.map +0 -1
  83. package/dist/src/frameworks/astro/astro-wizard-agent.d.ts +0 -7
  84. package/dist/src/frameworks/astro/astro-wizard-agent.js +0 -102
  85. package/dist/src/frameworks/astro/astro-wizard-agent.js.map +0 -1
  86. package/dist/src/frameworks/astro/utils.d.ts +0 -14
  87. package/dist/src/frameworks/astro/utils.js +0 -114
  88. package/dist/src/frameworks/astro/utils.js.map +0 -1
  89. package/dist/src/frameworks/django/django-wizard-agent.d.ts +0 -8
  90. package/dist/src/frameworks/django/django-wizard-agent.js +0 -173
  91. package/dist/src/frameworks/django/django-wizard-agent.js.map +0 -1
  92. package/dist/src/frameworks/django/utils.d.ts +0 -31
  93. package/dist/src/frameworks/django/utils.js +0 -306
  94. package/dist/src/frameworks/django/utils.js.map +0 -1
  95. package/dist/src/frameworks/fastapi/fastapi-wizard-agent.d.ts +0 -5
  96. package/dist/src/frameworks/fastapi/fastapi-wizard-agent.js +0 -191
  97. package/dist/src/frameworks/fastapi/fastapi-wizard-agent.js.map +0 -1
  98. package/dist/src/frameworks/fastapi/utils.d.ts +0 -26
  99. package/dist/src/frameworks/fastapi/utils.js +0 -258
  100. package/dist/src/frameworks/fastapi/utils.js.map +0 -1
  101. package/dist/src/frameworks/flask/flask-wizard-agent.d.ts +0 -8
  102. package/dist/src/frameworks/flask/flask-wizard-agent.js +0 -179
  103. package/dist/src/frameworks/flask/flask-wizard-agent.js.map +0 -1
  104. package/dist/src/frameworks/flask/utils.d.ts +0 -28
  105. package/dist/src/frameworks/flask/utils.js +0 -344
  106. package/dist/src/frameworks/flask/utils.js.map +0 -1
  107. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.d.ts +0 -4
  108. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.js +0 -61
  109. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.js.map +0 -1
  110. package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.d.ts +0 -3
  111. package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.js +0 -152
  112. package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.js.map +0 -1
  113. package/dist/src/frameworks/javascript-web/utils.d.ts +0 -28
  114. package/dist/src/frameworks/javascript-web/utils.js +0 -147
  115. package/dist/src/frameworks/javascript-web/utils.js.map +0 -1
  116. package/dist/src/frameworks/laravel/laravel-wizard-agent.d.ts +0 -10
  117. package/dist/src/frameworks/laravel/laravel-wizard-agent.js +0 -182
  118. package/dist/src/frameworks/laravel/laravel-wizard-agent.js.map +0 -1
  119. package/dist/src/frameworks/laravel/utils.d.ts +0 -38
  120. package/dist/src/frameworks/laravel/utils.js +0 -238
  121. package/dist/src/frameworks/laravel/utils.js.map +0 -1
  122. package/dist/src/frameworks/nextjs/nextjs-wizard-agent.d.ts +0 -7
  123. package/dist/src/frameworks/nextjs/nextjs-wizard-agent.js +0 -94
  124. package/dist/src/frameworks/nextjs/nextjs-wizard-agent.js.map +0 -1
  125. package/dist/src/frameworks/nextjs/utils.d.ts +0 -12
  126. package/dist/src/frameworks/nextjs/utils.js +0 -52
  127. package/dist/src/frameworks/nextjs/utils.js.map +0 -1
  128. package/dist/src/frameworks/nuxt/nuxt-wizard-agent.d.ts +0 -6
  129. package/dist/src/frameworks/nuxt/nuxt-wizard-agent.js +0 -77
  130. package/dist/src/frameworks/nuxt/nuxt-wizard-agent.js.map +0 -1
  131. package/dist/src/frameworks/python/python-wizard-agent.d.ts +0 -7
  132. package/dist/src/frameworks/python/python-wizard-agent.js +0 -195
  133. package/dist/src/frameworks/python/python-wizard-agent.js.map +0 -1
  134. package/dist/src/frameworks/python/utils.d.ts +0 -28
  135. package/dist/src/frameworks/python/utils.js +0 -147
  136. package/dist/src/frameworks/python/utils.js.map +0 -1
  137. package/dist/src/frameworks/rails/rails-wizard-agent.d.ts +0 -8
  138. package/dist/src/frameworks/rails/rails-wizard-agent.js +0 -90
  139. package/dist/src/frameworks/rails/rails-wizard-agent.js.map +0 -1
  140. package/dist/src/frameworks/rails/utils.d.ts +0 -37
  141. package/dist/src/frameworks/rails/utils.js +0 -187
  142. package/dist/src/frameworks/rails/utils.js.map +0 -1
  143. package/dist/src/frameworks/react-native/react-native-wizard-agent.d.ts +0 -7
  144. package/dist/src/frameworks/react-native/react-native-wizard-agent.js +0 -89
  145. package/dist/src/frameworks/react-native/react-native-wizard-agent.js.map +0 -1
  146. package/dist/src/frameworks/react-native/utils.d.ts +0 -8
  147. package/dist/src/frameworks/react-native/utils.js +0 -28
  148. package/dist/src/frameworks/react-native/utils.js.map +0 -1
  149. package/dist/src/frameworks/react-router/react-router-wizard-agent.d.ts +0 -7
  150. package/dist/src/frameworks/react-router/react-router-wizard-agent.js +0 -94
  151. package/dist/src/frameworks/react-router/react-router-wizard-agent.js.map +0 -1
  152. package/dist/src/frameworks/react-router/utils.d.ts +0 -13
  153. package/dist/src/frameworks/react-router/utils.js +0 -161
  154. package/dist/src/frameworks/react-router/utils.js.map +0 -1
  155. package/dist/src/frameworks/ruby/ruby-wizard-agent.d.ts +0 -7
  156. package/dist/src/frameworks/ruby/ruby-wizard-agent.js +0 -113
  157. package/dist/src/frameworks/ruby/ruby-wizard-agent.js.map +0 -1
  158. package/dist/src/frameworks/ruby/utils.d.ts +0 -25
  159. package/dist/src/frameworks/ruby/utils.js +0 -158
  160. package/dist/src/frameworks/ruby/utils.js.map +0 -1
  161. package/dist/src/frameworks/svelte/svelte-wizard-agent.d.ts +0 -4
  162. package/dist/src/frameworks/svelte/svelte-wizard-agent.js +0 -61
  163. package/dist/src/frameworks/svelte/svelte-wizard-agent.js.map +0 -1
  164. package/dist/src/frameworks/swift/swift-wizard-agent.d.ts +0 -7
  165. package/dist/src/frameworks/swift/swift-wizard-agent.js +0 -143
  166. package/dist/src/frameworks/swift/swift-wizard-agent.js.map +0 -1
  167. package/dist/src/frameworks/swift/utils.d.ts +0 -8
  168. package/dist/src/frameworks/swift/utils.js +0 -105
  169. package/dist/src/frameworks/swift/utils.js.map +0 -1
  170. package/dist/src/frameworks/tanstack-router/tanstack-router-wizard-agent.d.ts +0 -7
  171. package/dist/src/frameworks/tanstack-router/tanstack-router-wizard-agent.js +0 -96
  172. package/dist/src/frameworks/tanstack-router/tanstack-router-wizard-agent.js.map +0 -1
  173. package/dist/src/frameworks/tanstack-router/utils.d.ts +0 -11
  174. package/dist/src/frameworks/tanstack-router/utils.js +0 -149
  175. package/dist/src/frameworks/tanstack-router/utils.js.map +0 -1
  176. package/dist/src/frameworks/tanstack-start/tanstack-start-wizard-agent.d.ts +0 -4
  177. package/dist/src/frameworks/tanstack-start/tanstack-start-wizard-agent.js +0 -64
  178. package/dist/src/frameworks/tanstack-start/tanstack-start-wizard-agent.js.map +0 -1
  179. package/dist/src/frameworks/tanstack-start/utils.d.ts +0 -4
  180. package/dist/src/frameworks/tanstack-start/utils.js +0 -9
  181. package/dist/src/frameworks/tanstack-start/utils.js.map +0 -1
  182. package/dist/src/frameworks/vue/vue-wizard-agent.d.ts +0 -4
  183. package/dist/src/frameworks/vue/vue-wizard-agent.js +0 -62
  184. package/dist/src/frameworks/vue/vue-wizard-agent.js.map +0 -1
  185. package/dist/src/lib/__tests__/agent-interface.test.d.ts +0 -1
  186. package/dist/src/lib/__tests__/agent-interface.test.js +0 -317
  187. package/dist/src/lib/__tests__/agent-interface.test.js.map +0 -1
  188. package/dist/src/lib/__tests__/cloudflare-detection.test.d.ts +0 -1
  189. package/dist/src/lib/__tests__/cloudflare-detection.test.js +0 -119
  190. package/dist/src/lib/__tests__/cloudflare-detection.test.js.map +0 -1
  191. package/dist/src/lib/__tests__/wizard-tools.test.d.ts +0 -1
  192. package/dist/src/lib/__tests__/wizard-tools.test.js +0 -200
  193. package/dist/src/lib/__tests__/wizard-tools.test.js.map +0 -1
  194. package/dist/src/lib/__tests__/yara-hooks.test.d.ts +0 -1
  195. package/dist/src/lib/__tests__/yara-hooks.test.js +0 -432
  196. package/dist/src/lib/__tests__/yara-hooks.test.js.map +0 -1
  197. package/dist/src/lib/__tests__/yara-scanner.test.d.ts +0 -1
  198. package/dist/src/lib/__tests__/yara-scanner.test.js +0 -613
  199. package/dist/src/lib/__tests__/yara-scanner.test.js.map +0 -1
  200. package/dist/src/lib/agent/__tests__/agent-prompt.test.d.ts +0 -1
  201. package/dist/src/lib/agent/__tests__/agent-prompt.test.js +0 -57
  202. package/dist/src/lib/agent/__tests__/agent-prompt.test.js.map +0 -1
  203. package/dist/src/lib/agent/agent-interface.d.ts +0 -171
  204. package/dist/src/lib/agent/agent-interface.js +0 -1082
  205. package/dist/src/lib/agent/agent-interface.js.map +0 -1
  206. package/dist/src/lib/agent/agent-prompt.d.ts +0 -23
  207. package/dist/src/lib/agent/agent-prompt.js +0 -47
  208. package/dist/src/lib/agent/agent-prompt.js.map +0 -1
  209. package/dist/src/lib/agent/agent-runner.d.ts +0 -78
  210. package/dist/src/lib/agent/agent-runner.js +0 -325
  211. package/dist/src/lib/agent/agent-runner.js.map +0 -1
  212. package/dist/src/lib/agent/commandments.d.ts +0 -1
  213. package/dist/src/lib/agent/commandments.js +0 -26
  214. package/dist/src/lib/agent/commandments.js.map +0 -1
  215. package/dist/src/lib/api.d.ts +0 -75
  216. package/dist/src/lib/api.js +0 -105
  217. package/dist/src/lib/api.js.map +0 -1
  218. package/dist/src/lib/cloudflare-detection.d.ts +0 -14
  219. package/dist/src/lib/cloudflare-detection.js +0 -74
  220. package/dist/src/lib/cloudflare-detection.js.map +0 -1
  221. package/dist/src/lib/constants.d.ts +0 -74
  222. package/dist/src/lib/constants.js +0 -98
  223. package/dist/src/lib/constants.js.map +0 -1
  224. package/dist/src/lib/detection/__tests__/context.test.d.ts +0 -1
  225. package/dist/src/lib/detection/__tests__/context.test.js +0 -72
  226. package/dist/src/lib/detection/__tests__/context.test.js.map +0 -1
  227. package/dist/src/lib/detection/__tests__/features.test.d.ts +0 -1
  228. package/dist/src/lib/detection/__tests__/features.test.js +0 -75
  229. package/dist/src/lib/detection/__tests__/features.test.js.map +0 -1
  230. package/dist/src/lib/detection/__tests__/package-manager.test.d.ts +0 -1
  231. package/dist/src/lib/detection/__tests__/package-manager.test.js +0 -195
  232. package/dist/src/lib/detection/__tests__/package-manager.test.js.map +0 -1
  233. package/dist/src/lib/detection/context.d.ts +0 -31
  234. package/dist/src/lib/detection/context.js +0 -92
  235. package/dist/src/lib/detection/context.js.map +0 -1
  236. package/dist/src/lib/detection/features.d.ts +0 -16
  237. package/dist/src/lib/detection/features.js +0 -56
  238. package/dist/src/lib/detection/features.js.map +0 -1
  239. package/dist/src/lib/detection/framework.d.ts +0 -14
  240. package/dist/src/lib/detection/framework.js +0 -35
  241. package/dist/src/lib/detection/framework.js.map +0 -1
  242. package/dist/src/lib/detection/index.d.ts +0 -3
  243. package/dist/src/lib/detection/index.js +0 -11
  244. package/dist/src/lib/detection/index.js.map +0 -1
  245. package/dist/src/lib/detection/package-manager.d.ts +0 -37
  246. package/dist/src/lib/detection/package-manager.js +0 -183
  247. package/dist/src/lib/detection/package-manager.js.map +0 -1
  248. package/dist/src/lib/framework-config.d.ts +0 -175
  249. package/dist/src/lib/framework-config.js +0 -22
  250. package/dist/src/lib/framework-config.js.map +0 -1
  251. package/dist/src/lib/health-checks/__tests__/health-checks.test.d.ts +0 -18
  252. package/dist/src/lib/health-checks/__tests__/health-checks.test.js +0 -759
  253. package/dist/src/lib/health-checks/__tests__/health-checks.test.js.map +0 -1
  254. package/dist/src/lib/health-checks/endpoints.d.ts +0 -4
  255. package/dist/src/lib/health-checks/endpoints.js +0 -49
  256. package/dist/src/lib/health-checks/endpoints.js.map +0 -1
  257. package/dist/src/lib/health-checks/index.d.ts +0 -4
  258. package/dist/src/lib/health-checks/index.js +0 -24
  259. package/dist/src/lib/health-checks/index.js.map +0 -1
  260. package/dist/src/lib/health-checks/readiness.d.ts +0 -29
  261. package/dist/src/lib/health-checks/readiness.js +0 -188
  262. package/dist/src/lib/health-checks/readiness.js.map +0 -1
  263. package/dist/src/lib/health-checks/statuspage.d.ts +0 -9
  264. package/dist/src/lib/health-checks/statuspage.js +0 -105
  265. package/dist/src/lib/health-checks/statuspage.js.map +0 -1
  266. package/dist/src/lib/health-checks/types.d.ts +0 -32
  267. package/dist/src/lib/health-checks/types.js +0 -10
  268. package/dist/src/lib/health-checks/types.js.map +0 -1
  269. package/dist/src/lib/helper-functions.d.ts +0 -1
  270. package/dist/src/lib/helper-functions.js +0 -6
  271. package/dist/src/lib/helper-functions.js.map +0 -1
  272. package/dist/src/lib/middleware/benchmark.d.ts +0 -54
  273. package/dist/src/lib/middleware/benchmark.js +0 -45
  274. package/dist/src/lib/middleware/benchmark.js.map +0 -1
  275. package/dist/src/lib/middleware/benchmarks/cache-tracker.d.ts +0 -44
  276. package/dist/src/lib/middleware/benchmarks/cache-tracker.js +0 -81
  277. package/dist/src/lib/middleware/benchmarks/cache-tracker.js.map +0 -1
  278. package/dist/src/lib/middleware/benchmarks/compaction-tracker.d.ts +0 -29
  279. package/dist/src/lib/middleware/benchmarks/compaction-tracker.js +0 -60
  280. package/dist/src/lib/middleware/benchmarks/compaction-tracker.js.map +0 -1
  281. package/dist/src/lib/middleware/benchmarks/context-size-tracker.d.ts +0 -26
  282. package/dist/src/lib/middleware/benchmarks/context-size-tracker.js +0 -56
  283. package/dist/src/lib/middleware/benchmarks/context-size-tracker.js.map +0 -1
  284. package/dist/src/lib/middleware/benchmarks/cost-tracker.d.ts +0 -16
  285. package/dist/src/lib/middleware/benchmarks/cost-tracker.js +0 -76
  286. package/dist/src/lib/middleware/benchmarks/cost-tracker.js.map +0 -1
  287. package/dist/src/lib/middleware/benchmarks/duration-tracker.d.ts +0 -20
  288. package/dist/src/lib/middleware/benchmarks/duration-tracker.js +0 -40
  289. package/dist/src/lib/middleware/benchmarks/duration-tracker.js.map +0 -1
  290. package/dist/src/lib/middleware/benchmarks/index.d.ts +0 -9
  291. package/dist/src/lib/middleware/benchmarks/index.js +0 -60
  292. package/dist/src/lib/middleware/benchmarks/index.js.map +0 -1
  293. package/dist/src/lib/middleware/benchmarks/json-writer.d.ts +0 -15
  294. package/dist/src/lib/middleware/benchmarks/json-writer.js +0 -144
  295. package/dist/src/lib/middleware/benchmarks/json-writer.js.map +0 -1
  296. package/dist/src/lib/middleware/benchmarks/summary.d.ts +0 -9
  297. package/dist/src/lib/middleware/benchmarks/summary.js +0 -102
  298. package/dist/src/lib/middleware/benchmarks/summary.js.map +0 -1
  299. package/dist/src/lib/middleware/benchmarks/token-tracker.d.ts +0 -40
  300. package/dist/src/lib/middleware/benchmarks/token-tracker.js +0 -77
  301. package/dist/src/lib/middleware/benchmarks/token-tracker.js.map +0 -1
  302. package/dist/src/lib/middleware/benchmarks/turn-counter.d.ts +0 -34
  303. package/dist/src/lib/middleware/benchmarks/turn-counter.js +0 -59
  304. package/dist/src/lib/middleware/benchmarks/turn-counter.js.map +0 -1
  305. package/dist/src/lib/middleware/config.d.ts +0 -24
  306. package/dist/src/lib/middleware/config.js +0 -78
  307. package/dist/src/lib/middleware/config.js.map +0 -1
  308. package/dist/src/lib/middleware/index.d.ts +0 -11
  309. package/dist/src/lib/middleware/index.js +0 -18
  310. package/dist/src/lib/middleware/index.js.map +0 -1
  311. package/dist/src/lib/middleware/phase-detector.d.ts +0 -7
  312. package/dist/src/lib/middleware/phase-detector.js +0 -64
  313. package/dist/src/lib/middleware/phase-detector.js.map +0 -1
  314. package/dist/src/lib/middleware/pipeline.d.ts +0 -29
  315. package/dist/src/lib/middleware/pipeline.js +0 -82
  316. package/dist/src/lib/middleware/pipeline.js.map +0 -1
  317. package/dist/src/lib/middleware/types.d.ts +0 -40
  318. package/dist/src/lib/middleware/types.js +0 -9
  319. package/dist/src/lib/middleware/types.js.map +0 -1
  320. package/dist/src/lib/registry.d.ts +0 -3
  321. package/dist/src/lib/registry.js +0 -49
  322. package/dist/src/lib/registry.js.map +0 -1
  323. package/dist/src/lib/safe-tools.d.ts +0 -2
  324. package/dist/src/lib/safe-tools.js +0 -215
  325. package/dist/src/lib/safe-tools.js.map +0 -1
  326. package/dist/src/lib/skill-install.d.ts +0 -10
  327. package/dist/src/lib/skill-install.js +0 -23
  328. package/dist/src/lib/skill-install.js.map +0 -1
  329. package/dist/src/lib/version.d.ts +0 -1
  330. package/dist/src/lib/version.js +0 -6
  331. package/dist/src/lib/version.js.map +0 -1
  332. package/dist/src/lib/wizard-session.d.ts +0 -146
  333. package/dist/src/lib/wizard-session.js +0 -116
  334. package/dist/src/lib/wizard-session.js.map +0 -1
  335. package/dist/src/lib/wizard-tools.d.ts +0 -91
  336. package/dist/src/lib/wizard-tools.js +0 -389
  337. package/dist/src/lib/wizard-tools.js.map +0 -1
  338. package/dist/src/lib/workflows/__tests__/agent-skill.test.d.ts +0 -1
  339. package/dist/src/lib/workflows/__tests__/agent-skill.test.js +0 -73
  340. package/dist/src/lib/workflows/__tests__/agent-skill.test.js.map +0 -1
  341. package/dist/src/lib/workflows/__tests__/revenue-analytics-detect.test.d.ts +0 -1
  342. package/dist/src/lib/workflows/__tests__/revenue-analytics-detect.test.js +0 -101
  343. package/dist/src/lib/workflows/__tests__/revenue-analytics-detect.test.js.map +0 -1
  344. package/dist/src/lib/workflows/__tests__/workflow-registry.test.d.ts +0 -1
  345. package/dist/src/lib/workflows/__tests__/workflow-registry.test.js +0 -32
  346. package/dist/src/lib/workflows/__tests__/workflow-registry.test.js.map +0 -1
  347. package/dist/src/lib/workflows/__tests__/workflow-step.test.d.ts +0 -1
  348. package/dist/src/lib/workflows/__tests__/workflow-step.test.js +0 -54
  349. package/dist/src/lib/workflows/__tests__/workflow-step.test.js.map +0 -1
  350. package/dist/src/lib/workflows/agent-skill/index.d.ts +0 -44
  351. package/dist/src/lib/workflows/agent-skill/index.js +0 -47
  352. package/dist/src/lib/workflows/agent-skill/index.js.map +0 -1
  353. package/dist/src/lib/workflows/agent-skill/steps.d.ts +0 -8
  354. package/dist/src/lib/workflows/agent-skill/steps.js +0 -43
  355. package/dist/src/lib/workflows/agent-skill/steps.js.map +0 -1
  356. package/dist/src/lib/workflows/posthog-integration/detect.d.ts +0 -12
  357. package/dist/src/lib/workflows/posthog-integration/detect.js +0 -57
  358. package/dist/src/lib/workflows/posthog-integration/detect.js.map +0 -1
  359. package/dist/src/lib/workflows/posthog-integration/index.d.ts +0 -3
  360. package/dist/src/lib/workflows/posthog-integration/index.js +0 -152
  361. package/dist/src/lib/workflows/posthog-integration/index.js.map +0 -1
  362. package/dist/src/lib/workflows/posthog-integration/steps.d.ts +0 -9
  363. package/dist/src/lib/workflows/posthog-integration/steps.js +0 -100
  364. package/dist/src/lib/workflows/posthog-integration/steps.js.map +0 -1
  365. package/dist/src/lib/workflows/revenue-analytics/detect.d.ts +0 -40
  366. package/dist/src/lib/workflows/revenue-analytics/detect.js +0 -156
  367. package/dist/src/lib/workflows/revenue-analytics/detect.js.map +0 -1
  368. package/dist/src/lib/workflows/revenue-analytics/index.d.ts +0 -4
  369. package/dist/src/lib/workflows/revenue-analytics/index.js +0 -30
  370. package/dist/src/lib/workflows/revenue-analytics/index.js.map +0 -1
  371. package/dist/src/lib/workflows/revenue-analytics/steps.d.ts +0 -8
  372. package/dist/src/lib/workflows/revenue-analytics/steps.js +0 -53
  373. package/dist/src/lib/workflows/revenue-analytics/steps.js.map +0 -1
  374. package/dist/src/lib/workflows/workflow-registry.d.ts +0 -18
  375. package/dist/src/lib/workflows/workflow-registry.js +0 -32
  376. package/dist/src/lib/workflows/workflow-registry.js.map +0 -1
  377. package/dist/src/lib/workflows/workflow-step.d.ts +0 -126
  378. package/dist/src/lib/workflows/workflow-step.js +0 -28
  379. package/dist/src/lib/workflows/workflow-step.js.map +0 -1
  380. package/dist/src/lib/yara-hooks.d.ts +0 -44
  381. package/dist/src/lib/yara-hooks.js +0 -377
  382. package/dist/src/lib/yara-hooks.js.map +0 -1
  383. package/dist/src/lib/yara-scanner.d.ts +0 -61
  384. package/dist/src/lib/yara-scanner.js +0 -328
  385. package/dist/src/lib/yara-scanner.js.map +0 -1
  386. package/dist/src/steps/add-mcp-server-to-clients/MCPClient.d.ts +0 -30
  387. package/dist/src/steps/add-mcp-server-to-clients/MCPClient.js +0 -138
  388. package/dist/src/steps/add-mcp-server-to-clients/MCPClient.js.map +0 -1
  389. package/dist/src/steps/add-mcp-server-to-clients/__tests__/defaults.test.d.ts +0 -1
  390. package/dist/src/steps/add-mcp-server-to-clients/__tests__/defaults.test.js +0 -72
  391. package/dist/src/steps/add-mcp-server-to-clients/__tests__/defaults.test.js.map +0 -1
  392. package/dist/src/steps/add-mcp-server-to-clients/clients/__tests__/claude.test.d.ts +0 -1
  393. package/dist/src/steps/add-mcp-server-to-clients/clients/__tests__/claude.test.js +0 -341
  394. package/dist/src/steps/add-mcp-server-to-clients/clients/__tests__/claude.test.js.map +0 -1
  395. package/dist/src/steps/add-mcp-server-to-clients/clients/__tests__/codex.test.d.ts +0 -1
  396. package/dist/src/steps/add-mcp-server-to-clients/clients/__tests__/codex.test.js +0 -108
  397. package/dist/src/steps/add-mcp-server-to-clients/clients/__tests__/codex.test.js.map +0 -1
  398. package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.d.ts +0 -89
  399. package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.js +0 -169
  400. package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.js.map +0 -1
  401. package/dist/src/steps/add-mcp-server-to-clients/clients/claude.d.ts +0 -80
  402. package/dist/src/steps/add-mcp-server-to-clients/clients/claude.js +0 -64
  403. package/dist/src/steps/add-mcp-server-to-clients/clients/claude.js.map +0 -1
  404. package/dist/src/steps/add-mcp-server-to-clients/clients/codex.d.ts +0 -88
  405. package/dist/src/steps/add-mcp-server-to-clients/clients/codex.js +0 -76
  406. package/dist/src/steps/add-mcp-server-to-clients/clients/codex.js.map +0 -1
  407. package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.d.ts +0 -84
  408. package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.js +0 -61
  409. package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.js.map +0 -1
  410. package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.d.ts +0 -92
  411. package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.js +0 -101
  412. package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.js.map +0 -1
  413. package/dist/src/steps/add-mcp-server-to-clients/clients/zed.d.ts +0 -110
  414. package/dist/src/steps/add-mcp-server-to-clients/clients/zed.js +0 -102
  415. package/dist/src/steps/add-mcp-server-to-clients/clients/zed.js.map +0 -1
  416. package/dist/src/steps/add-mcp-server-to-clients/defaults.d.ts +0 -119
  417. package/dist/src/steps/add-mcp-server-to-clients/defaults.js +0 -239
  418. package/dist/src/steps/add-mcp-server-to-clients/defaults.js.map +0 -1
  419. package/dist/src/steps/add-mcp-server-to-clients/index.d.ts +0 -23
  420. package/dist/src/steps/add-mcp-server-to-clients/index.js +0 -111
  421. package/dist/src/steps/add-mcp-server-to-clients/index.js.map +0 -1
  422. package/dist/src/steps/add-or-update-environment-variables.d.ts +0 -10
  423. package/dist/src/steps/add-or-update-environment-variables.js +0 -188
  424. package/dist/src/steps/add-or-update-environment-variables.js.map +0 -1
  425. package/dist/src/steps/index.d.ts +0 -4
  426. package/dist/src/steps/index.js +0 -21
  427. package/dist/src/steps/index.js.map +0 -1
  428. package/dist/src/steps/run-prettier.d.ts +0 -5
  429. package/dist/src/steps/run-prettier.js +0 -91
  430. package/dist/src/steps/run-prettier.js.map +0 -1
  431. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.d.ts +0 -11
  432. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.js +0 -12
  433. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.js.map +0 -1
  434. package/dist/src/steps/upload-environment-variables/index.d.ts +0 -6
  435. package/dist/src/steps/upload-environment-variables/index.js +0 -38
  436. package/dist/src/steps/upload-environment-variables/index.js.map +0 -1
  437. package/dist/src/steps/upload-environment-variables/providers/__tests__/vercel.test.d.ts +0 -1
  438. package/dist/src/steps/upload-environment-variables/providers/__tests__/vercel.test.js +0 -117
  439. package/dist/src/steps/upload-environment-variables/providers/__tests__/vercel.test.js.map +0 -1
  440. package/dist/src/steps/upload-environment-variables/providers/vercel.d.ts +0 -15
  441. package/dist/src/steps/upload-environment-variables/providers/vercel.js +0 -142
  442. package/dist/src/steps/upload-environment-variables/providers/vercel.js.map +0 -1
  443. package/dist/src/telemetry.d.ts +0 -2
  444. package/dist/src/telemetry.js +0 -13
  445. package/dist/src/telemetry.js.map +0 -1
  446. package/dist/src/ui/index.d.ts +0 -8
  447. package/dist/src/ui/index.js +0 -17
  448. package/dist/src/ui/index.js.map +0 -1
  449. package/dist/src/ui/logging-ui.d.ts +0 -52
  450. package/dist/src/ui/logging-ui.js +0 -121
  451. package/dist/src/ui/logging-ui.js.map +0 -1
  452. package/dist/src/ui/tui/App.d.ts +0 -6
  453. package/dist/src/ui/tui/App.js +0 -10
  454. package/dist/src/ui/tui/App.js.map +0 -1
  455. package/dist/src/ui/tui/__tests__/flows.test.d.ts +0 -1
  456. package/dist/src/ui/tui/__tests__/flows.test.js +0 -115
  457. package/dist/src/ui/tui/__tests__/flows.test.js.map +0 -1
  458. package/dist/src/ui/tui/__tests__/layout-helpers.test.d.ts +0 -1
  459. package/dist/src/ui/tui/__tests__/layout-helpers.test.js +0 -68
  460. package/dist/src/ui/tui/__tests__/layout-helpers.test.js.map +0 -1
  461. package/dist/src/ui/tui/__tests__/router.test.d.ts +0 -1
  462. package/dist/src/ui/tui/__tests__/router.test.js +0 -87
  463. package/dist/src/ui/tui/__tests__/router.test.js.map +0 -1
  464. package/dist/src/ui/tui/__tests__/store.test.d.ts +0 -1
  465. package/dist/src/ui/tui/__tests__/store.test.js +0 -935
  466. package/dist/src/ui/tui/__tests__/store.test.js.map +0 -1
  467. package/dist/src/ui/tui/components/LearnCard.d.ts +0 -10
  468. package/dist/src/ui/tui/components/LearnCard.js +0 -217
  469. package/dist/src/ui/tui/components/LearnCard.js.map +0 -1
  470. package/dist/src/ui/tui/components/ServiceHealthList.d.ts +0 -15
  471. package/dist/src/ui/tui/components/ServiceHealthList.js +0 -57
  472. package/dist/src/ui/tui/components/ServiceHealthList.js.map +0 -1
  473. package/dist/src/ui/tui/components/TipsCard.d.ts +0 -9
  474. package/dist/src/ui/tui/components/TipsCard.js +0 -55
  475. package/dist/src/ui/tui/components/TipsCard.js.map +0 -1
  476. package/dist/src/ui/tui/components/TitleBar.d.ts +0 -6
  477. package/dist/src/ui/tui/components/TitleBar.js +0 -17
  478. package/dist/src/ui/tui/components/TitleBar.js.map +0 -1
  479. package/dist/src/ui/tui/flows.d.ts +0 -52
  480. package/dist/src/ui/tui/flows.js +0 -76
  481. package/dist/src/ui/tui/flows.js.map +0 -1
  482. package/dist/src/ui/tui/hooks/useStdoutDimensions.d.ts +0 -9
  483. package/dist/src/ui/tui/hooks/useStdoutDimensions.js +0 -37
  484. package/dist/src/ui/tui/hooks/useStdoutDimensions.js.map +0 -1
  485. package/dist/src/ui/tui/ink-ui.d.ts +0 -58
  486. package/dist/src/ui/tui/ink-ui.js +0 -125
  487. package/dist/src/ui/tui/ink-ui.js.map +0 -1
  488. package/dist/src/ui/tui/package.json +0 -1
  489. package/dist/src/ui/tui/playground/PlaygroundApp.d.ts +0 -12
  490. package/dist/src/ui/tui/playground/PlaygroundApp.js +0 -50
  491. package/dist/src/ui/tui/playground/PlaygroundApp.js.map +0 -1
  492. package/dist/src/ui/tui/playground/demos/HealthCheckDemo.d.ts +0 -11
  493. package/dist/src/ui/tui/playground/demos/HealthCheckDemo.js +0 -57
  494. package/dist/src/ui/tui/playground/demos/HealthCheckDemo.js.map +0 -1
  495. package/dist/src/ui/tui/playground/demos/InputDemo.d.ts +0 -4
  496. package/dist/src/ui/tui/playground/demos/InputDemo.js +0 -53
  497. package/dist/src/ui/tui/playground/demos/InputDemo.js.map +0 -1
  498. package/dist/src/ui/tui/playground/demos/LayoutDemo.d.ts +0 -5
  499. package/dist/src/ui/tui/playground/demos/LayoutDemo.js +0 -25
  500. package/dist/src/ui/tui/playground/demos/LayoutDemo.js.map +0 -1
  501. package/dist/src/ui/tui/playground/demos/LogDemo.d.ts +0 -5
  502. package/dist/src/ui/tui/playground/demos/LogDemo.js +0 -53
  503. package/dist/src/ui/tui/playground/demos/LogDemo.js.map +0 -1
  504. package/dist/src/ui/tui/playground/demos/McpDemo.d.ts +0 -12
  505. package/dist/src/ui/tui/playground/demos/McpDemo.js +0 -27
  506. package/dist/src/ui/tui/playground/demos/McpDemo.js.map +0 -1
  507. package/dist/src/ui/tui/playground/demos/ModalDemo.d.ts +0 -6
  508. package/dist/src/ui/tui/playground/demos/ModalDemo.js +0 -13
  509. package/dist/src/ui/tui/playground/demos/ModalDemo.js.map +0 -1
  510. package/dist/src/ui/tui/playground/demos/ProgressDemo.d.ts +0 -5
  511. package/dist/src/ui/tui/playground/demos/ProgressDemo.js +0 -58
  512. package/dist/src/ui/tui/playground/demos/ProgressDemo.js.map +0 -1
  513. package/dist/src/ui/tui/playground/demos/RunScreenDemo.d.ts +0 -11
  514. package/dist/src/ui/tui/playground/demos/RunScreenDemo.js +0 -159
  515. package/dist/src/ui/tui/playground/demos/RunScreenDemo.js.map +0 -1
  516. package/dist/src/ui/tui/playground/demos/WelcomeDemo.d.ts +0 -9
  517. package/dist/src/ui/tui/playground/demos/WelcomeDemo.js +0 -15
  518. package/dist/src/ui/tui/playground/demos/WelcomeDemo.js.map +0 -1
  519. package/dist/src/ui/tui/playground/start-playground.d.ts +0 -4
  520. package/dist/src/ui/tui/playground/start-playground.js +0 -24
  521. package/dist/src/ui/tui/playground/start-playground.js.map +0 -1
  522. package/dist/src/ui/tui/primitives/CardLayout.d.ts +0 -12
  523. package/dist/src/ui/tui/primitives/CardLayout.js +0 -10
  524. package/dist/src/ui/tui/primitives/CardLayout.js.map +0 -1
  525. package/dist/src/ui/tui/primitives/ConfirmationInput.d.ts +0 -13
  526. package/dist/src/ui/tui/primitives/ConfirmationInput.js +0 -35
  527. package/dist/src/ui/tui/primitives/ConfirmationInput.js.map +0 -1
  528. package/dist/src/ui/tui/primitives/ContentSequencer.d.ts +0 -42
  529. package/dist/src/ui/tui/primitives/ContentSequencer.js +0 -137
  530. package/dist/src/ui/tui/primitives/ContentSequencer.js.map +0 -1
  531. package/dist/src/ui/tui/primitives/DissolveTransition.d.ts +0 -21
  532. package/dist/src/ui/tui/primitives/DissolveTransition.js +0 -149
  533. package/dist/src/ui/tui/primitives/DissolveTransition.js.map +0 -1
  534. package/dist/src/ui/tui/primitives/Divider.d.ts +0 -6
  535. package/dist/src/ui/tui/primitives/Divider.js +0 -15
  536. package/dist/src/ui/tui/primitives/Divider.js.map +0 -1
  537. package/dist/src/ui/tui/primitives/EventPlanViewer.d.ts +0 -9
  538. package/dist/src/ui/tui/primitives/EventPlanViewer.js +0 -9
  539. package/dist/src/ui/tui/primitives/EventPlanViewer.js.map +0 -1
  540. package/dist/src/ui/tui/primitives/GroupedPickerMenu.d.ts +0 -23
  541. package/dist/src/ui/tui/primitives/GroupedPickerMenu.js +0 -182
  542. package/dist/src/ui/tui/primitives/GroupedPickerMenu.js.map +0 -1
  543. package/dist/src/ui/tui/primitives/HNViewer.d.ts +0 -7
  544. package/dist/src/ui/tui/primitives/HNViewer.js +0 -63
  545. package/dist/src/ui/tui/primitives/HNViewer.js.map +0 -1
  546. package/dist/src/ui/tui/primitives/LinesBlock.d.ts +0 -16
  547. package/dist/src/ui/tui/primitives/LinesBlock.js +0 -37
  548. package/dist/src/ui/tui/primitives/LinesBlock.js.map +0 -1
  549. package/dist/src/ui/tui/primitives/LoadingBox.d.ts +0 -8
  550. package/dist/src/ui/tui/primitives/LoadingBox.js +0 -10
  551. package/dist/src/ui/tui/primitives/LoadingBox.js.map +0 -1
  552. package/dist/src/ui/tui/primitives/LogViewer.d.ts +0 -11
  553. package/dist/src/ui/tui/primitives/LogViewer.js +0 -55
  554. package/dist/src/ui/tui/primitives/LogViewer.js.map +0 -1
  555. package/dist/src/ui/tui/primitives/ModalOverlay.d.ts +0 -25
  556. package/dist/src/ui/tui/primitives/ModalOverlay.js +0 -7
  557. package/dist/src/ui/tui/primitives/ModalOverlay.js.map +0 -1
  558. package/dist/src/ui/tui/primitives/NodeBlock.d.ts +0 -13
  559. package/dist/src/ui/tui/primitives/NodeBlock.js +0 -17
  560. package/dist/src/ui/tui/primitives/NodeBlock.js.map +0 -1
  561. package/dist/src/ui/tui/primitives/PickerMenu.d.ts +0 -20
  562. package/dist/src/ui/tui/primitives/PickerMenu.js +0 -143
  563. package/dist/src/ui/tui/primitives/PickerMenu.js.map +0 -1
  564. package/dist/src/ui/tui/primitives/ProgressList.d.ts +0 -15
  565. package/dist/src/ui/tui/primitives/ProgressList.js +0 -32
  566. package/dist/src/ui/tui/primitives/ProgressList.js.map +0 -1
  567. package/dist/src/ui/tui/primitives/PromptLabel.d.ts +0 -11
  568. package/dist/src/ui/tui/primitives/PromptLabel.js +0 -13
  569. package/dist/src/ui/tui/primitives/PromptLabel.js.map +0 -1
  570. package/dist/src/ui/tui/primitives/ScreenContainer.d.ts +0 -16
  571. package/dist/src/ui/tui/primitives/ScreenContainer.js +0 -36
  572. package/dist/src/ui/tui/primitives/ScreenContainer.js.map +0 -1
  573. package/dist/src/ui/tui/primitives/ScreenErrorBoundary.d.ts +0 -22
  574. package/dist/src/ui/tui/primitives/ScreenErrorBoundary.js +0 -35
  575. package/dist/src/ui/tui/primitives/ScreenErrorBoundary.js.map +0 -1
  576. package/dist/src/ui/tui/primitives/SplitView.d.ts +0 -11
  577. package/dist/src/ui/tui/primitives/SplitView.js +0 -9
  578. package/dist/src/ui/tui/primitives/SplitView.js.map +0 -1
  579. package/dist/src/ui/tui/primitives/TabContainer.d.ts +0 -23
  580. package/dist/src/ui/tui/primitives/TabContainer.js +0 -45
  581. package/dist/src/ui/tui/primitives/TabContainer.js.map +0 -1
  582. package/dist/src/ui/tui/primitives/TextBlock.d.ts +0 -41
  583. package/dist/src/ui/tui/primitives/TextBlock.js +0 -144
  584. package/dist/src/ui/tui/primitives/TextBlock.js.map +0 -1
  585. package/dist/src/ui/tui/primitives/content-types.d.ts +0 -37
  586. package/dist/src/ui/tui/primitives/content-types.js +0 -19
  587. package/dist/src/ui/tui/primitives/content-types.js.map +0 -1
  588. package/dist/src/ui/tui/primitives/index.d.ts +0 -27
  589. package/dist/src/ui/tui/primitives/index.js +0 -24
  590. package/dist/src/ui/tui/primitives/index.js.map +0 -1
  591. package/dist/src/ui/tui/primitives/layout-helpers.d.ts +0 -36
  592. package/dist/src/ui/tui/primitives/layout-helpers.js +0 -95
  593. package/dist/src/ui/tui/primitives/layout-helpers.js.map +0 -1
  594. package/dist/src/ui/tui/primitives/text-helpers.d.ts +0 -10
  595. package/dist/src/ui/tui/primitives/text-helpers.js +0 -43
  596. package/dist/src/ui/tui/primitives/text-helpers.js.map +0 -1
  597. package/dist/src/ui/tui/router.d.ts +0 -58
  598. package/dist/src/ui/tui/router.js +0 -96
  599. package/dist/src/ui/tui/router.js.map +0 -1
  600. package/dist/src/ui/tui/screen-registry.d.ts +0 -19
  601. package/dist/src/ui/tui/screen-registry.js +0 -46
  602. package/dist/src/ui/tui/screen-registry.js.map +0 -1
  603. package/dist/src/ui/tui/screens/AgentSkillIntroScreen.d.ts +0 -12
  604. package/dist/src/ui/tui/screens/AgentSkillIntroScreen.js +0 -75
  605. package/dist/src/ui/tui/screens/AgentSkillIntroScreen.js.map +0 -1
  606. package/dist/src/ui/tui/screens/AuthErrorScreen.d.ts +0 -7
  607. package/dist/src/ui/tui/screens/AuthErrorScreen.js +0 -16
  608. package/dist/src/ui/tui/screens/AuthErrorScreen.js.map +0 -1
  609. package/dist/src/ui/tui/screens/AuthScreen.d.ts +0 -13
  610. package/dist/src/ui/tui/screens/AuthScreen.js +0 -20
  611. package/dist/src/ui/tui/screens/AuthScreen.js.map +0 -1
  612. package/dist/src/ui/tui/screens/IntroScreenLayout.d.ts +0 -46
  613. package/dist/src/ui/tui/screens/IntroScreenLayout.js +0 -33
  614. package/dist/src/ui/tui/screens/IntroScreenLayout.js.map +0 -1
  615. package/dist/src/ui/tui/screens/KeepSkillsScreen.d.ts +0 -14
  616. package/dist/src/ui/tui/screens/KeepSkillsScreen.js +0 -74
  617. package/dist/src/ui/tui/screens/KeepSkillsScreen.js.map +0 -1
  618. package/dist/src/ui/tui/screens/ManagedSettingsScreen.d.ts +0 -13
  619. package/dist/src/ui/tui/screens/ManagedSettingsScreen.js +0 -32
  620. package/dist/src/ui/tui/screens/ManagedSettingsScreen.js.map +0 -1
  621. package/dist/src/ui/tui/screens/McpScreen.d.ts +0 -24
  622. package/dist/src/ui/tui/screens/McpScreen.js +0 -130
  623. package/dist/src/ui/tui/screens/McpScreen.js.map +0 -1
  624. package/dist/src/ui/tui/screens/OutroScreen.d.ts +0 -11
  625. package/dist/src/ui/tui/screens/OutroScreen.js +0 -22
  626. package/dist/src/ui/tui/screens/OutroScreen.js.map +0 -1
  627. package/dist/src/ui/tui/screens/PortConflictScreen.d.ts +0 -11
  628. package/dist/src/ui/tui/screens/PortConflictScreen.js +0 -30
  629. package/dist/src/ui/tui/screens/PortConflictScreen.js.map +0 -1
  630. package/dist/src/ui/tui/screens/PostHogIntegrationIntroScreen.d.ts +0 -15
  631. package/dist/src/ui/tui/screens/PostHogIntegrationIntroScreen.js +0 -135
  632. package/dist/src/ui/tui/screens/PostHogIntegrationIntroScreen.js.map +0 -1
  633. package/dist/src/ui/tui/screens/RevenueIntroScreen.d.ts +0 -16
  634. package/dist/src/ui/tui/screens/RevenueIntroScreen.js +0 -89
  635. package/dist/src/ui/tui/screens/RevenueIntroScreen.js.map +0 -1
  636. package/dist/src/ui/tui/screens/RunScreen.d.ts +0 -16
  637. package/dist/src/ui/tui/screens/RunScreen.js +0 -73
  638. package/dist/src/ui/tui/screens/RunScreen.js.map +0 -1
  639. package/dist/src/ui/tui/screens/SettingsOverrideScreen.d.ts +0 -6
  640. package/dist/src/ui/tui/screens/SettingsOverrideScreen.js +0 -30
  641. package/dist/src/ui/tui/screens/SettingsOverrideScreen.js.map +0 -1
  642. package/dist/src/ui/tui/screens/SetupScreen.d.ts +0 -13
  643. package/dist/src/ui/tui/screens/SetupScreen.js +0 -74
  644. package/dist/src/ui/tui/screens/SetupScreen.js.map +0 -1
  645. package/dist/src/ui/tui/screens/health/HealthCheckScreen.d.ts +0 -14
  646. package/dist/src/ui/tui/screens/health/HealthCheckScreen.js +0 -77
  647. package/dist/src/ui/tui/screens/health/HealthCheckScreen.js.map +0 -1
  648. package/dist/src/ui/tui/services/mcp-installer.d.ts +0 -21
  649. package/dist/src/ui/tui/services/mcp-installer.js +0 -58
  650. package/dist/src/ui/tui/services/mcp-installer.js.map +0 -1
  651. package/dist/src/ui/tui/start-tui.d.ts +0 -9
  652. package/dist/src/ui/tui/start-tui.js +0 -41
  653. package/dist/src/ui/tui/start-tui.js.map +0 -1
  654. package/dist/src/ui/tui/store.d.ts +0 -190
  655. package/dist/src/ui/tui/store.js +0 -474
  656. package/dist/src/ui/tui/store.js.map +0 -1
  657. package/dist/src/ui/tui/styles.d.ts +0 -32
  658. package/dist/src/ui/tui/styles.js +0 -35
  659. package/dist/src/ui/tui/styles.js.map +0 -1
  660. package/dist/src/ui/wizard-ui.d.ts +0 -81
  661. package/dist/src/ui/wizard-ui.js +0 -19
  662. package/dist/src/ui/wizard-ui.js.map +0 -1
  663. package/dist/src/utils/__tests__/analytics.test.d.ts +0 -1
  664. package/dist/src/utils/__tests__/analytics.test.js +0 -136
  665. package/dist/src/utils/__tests__/analytics.test.js.map +0 -1
  666. package/dist/src/utils/__tests__/provisioning.test.d.ts +0 -1
  667. package/dist/src/utils/__tests__/provisioning.test.js +0 -192
  668. package/dist/src/utils/__tests__/provisioning.test.js.map +0 -1
  669. package/dist/src/utils/__tests__/semver.test.d.ts +0 -1
  670. package/dist/src/utils/__tests__/semver.test.js +0 -159
  671. package/dist/src/utils/__tests__/semver.test.js.map +0 -1
  672. package/dist/src/utils/__tests__/setup-utils.test.d.ts +0 -1
  673. package/dist/src/utils/__tests__/setup-utils.test.js +0 -138
  674. package/dist/src/utils/__tests__/setup-utils.test.js.map +0 -1
  675. package/dist/src/utils/analytics.d.ts +0 -33
  676. package/dist/src/utils/analytics.js +0 -137
  677. package/dist/src/utils/analytics.js.map +0 -1
  678. package/dist/src/utils/anthropic-status.d.ts +0 -17
  679. package/dist/src/utils/anthropic-status.js +0 -49
  680. package/dist/src/utils/anthropic-status.js.map +0 -1
  681. package/dist/src/utils/bash.d.ts +0 -2
  682. package/dist/src/utils/bash.js +0 -54
  683. package/dist/src/utils/bash.js.map +0 -1
  684. package/dist/src/utils/custom-headers.d.ts +0 -9
  685. package/dist/src/utils/custom-headers.js +0 -24
  686. package/dist/src/utils/custom-headers.js.map +0 -1
  687. package/dist/src/utils/debug.d.ts +0 -29
  688. package/dist/src/utils/debug.js +0 -87
  689. package/dist/src/utils/debug.js.map +0 -1
  690. package/dist/src/utils/env-api-key.d.ts +0 -5
  691. package/dist/src/utils/env-api-key.js +0 -57
  692. package/dist/src/utils/env-api-key.js.map +0 -1
  693. package/dist/src/utils/environment.d.ts +0 -4
  694. package/dist/src/utils/environment.js +0 -77
  695. package/dist/src/utils/environment.js.map +0 -1
  696. package/dist/src/utils/file-utils.d.ts +0 -10
  697. package/dist/src/utils/file-utils.js +0 -49
  698. package/dist/src/utils/file-utils.js.map +0 -1
  699. package/dist/src/utils/logging.d.ts +0 -9
  700. package/dist/src/utils/logging.js +0 -47
  701. package/dist/src/utils/logging.js.map +0 -1
  702. package/dist/src/utils/oauth.d.ts +0 -33
  703. package/dist/src/utils/oauth.js +0 -288
  704. package/dist/src/utils/oauth.js.map +0 -1
  705. package/dist/src/utils/package-json.d.ts +0 -30
  706. package/dist/src/utils/package-json.js +0 -47
  707. package/dist/src/utils/package-json.js.map +0 -1
  708. package/dist/src/utils/package-manager.d.ts +0 -21
  709. package/dist/src/utils/package-manager.js +0 -210
  710. package/dist/src/utils/package-manager.js.map +0 -1
  711. package/dist/src/utils/provisioning.d.ts +0 -25
  712. package/dist/src/utils/provisioning.js +0 -191
  713. package/dist/src/utils/provisioning.js.map +0 -1
  714. package/dist/src/utils/rules/astro-rules.md +0 -44
  715. package/dist/src/utils/rules/next-rules.md +0 -9
  716. package/dist/src/utils/rules/react-native-rules.md +0 -7
  717. package/dist/src/utils/rules/react-rules.md +0 -7
  718. package/dist/src/utils/rules/svelte-rules.md +0 -7
  719. package/dist/src/utils/rules/universal.md +0 -32
  720. package/dist/src/utils/semver.d.ts +0 -21
  721. package/dist/src/utils/semver.js +0 -87
  722. package/dist/src/utils/semver.js.map +0 -1
  723. package/dist/src/utils/setup-utils.d.ts +0 -79
  724. package/dist/src/utils/setup-utils.js +0 -406
  725. package/dist/src/utils/setup-utils.js.map +0 -1
  726. package/dist/src/utils/string.d.ts +0 -1
  727. package/dist/src/utils/string.js +0 -9
  728. package/dist/src/utils/string.js.map +0 -1
  729. package/dist/src/utils/types.d.ts +0 -85
  730. package/dist/src/utils/types.js +0 -3
  731. package/dist/src/utils/types.js.map +0 -1
  732. package/dist/src/utils/urls.d.ts +0 -7
  733. package/dist/src/utils/urls.js +0 -78
  734. package/dist/src/utils/urls.js.map +0 -1
  735. package/dist/src/utils/vendor/is-unicorn-supported.d.ts +0 -1
  736. package/dist/src/utils/vendor/is-unicorn-supported.js +0 -24
  737. package/dist/src/utils/vendor/is-unicorn-supported.js.map +0 -1
  738. package/dist/src/utils/wizard-abort.d.ts +0 -16
  739. package/dist/src/utils/wizard-abort.js +0 -59
  740. package/dist/src/utils/wizard-abort.js.map +0 -1
@@ -1,143 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * PickerMenu — Single and multi select.
4
- * Single mode: custom renderer with small triangle indicator.
5
- * Multi mode: checkbox glyphs with space to toggle.
6
- */
7
- import { Box, Text, useInput } from 'ink';
8
- import { useState } from 'react';
9
- import { Icons, Colors } from '../styles.js';
10
- import { PromptLabel } from './PromptLabel.js';
11
- export const PickerMenu = ({ message, options, mode = 'single', centered = false, columns = 1, onSelect, }) => {
12
- if (mode === 'multi') {
13
- return (_jsx(MultiPickerMenu, { message: message, options: options, centered: centered, columns: columns, onSelect: onSelect }));
14
- }
15
- return (_jsx(SinglePickerMenu, { message: message, options: options, centered: centered, columns: columns, onSelect: onSelect }));
16
- };
17
- /** Custom single-select with triangle indicator and accent highlight. */
18
- const SinglePickerMenu = ({ message, options, centered = false, columns = 1, onSelect, }) => {
19
- const [focused, setFocused] = useState(0);
20
- const rows = Math.ceil(options.length / columns);
21
- useInput((_input, key) => {
22
- const col = Math.floor(focused / rows);
23
- const row = focused % rows;
24
- if (key.upArrow) {
25
- if (row > 0) {
26
- setFocused(col * rows + row - 1);
27
- }
28
- else {
29
- setFocused(Math.min(col * rows + rows - 1, options.length - 1));
30
- }
31
- }
32
- if (key.downArrow) {
33
- const next = col * rows + row + 1;
34
- if (next < options.length && row + 1 < rows) {
35
- setFocused(next);
36
- }
37
- else {
38
- setFocused(col * rows);
39
- }
40
- }
41
- if (key.leftArrow && columns > 1) {
42
- const prevCol = col > 0 ? col - 1 : columns - 1;
43
- setFocused(Math.min(prevCol * rows + row, options.length - 1));
44
- }
45
- if (key.rightArrow && columns > 1) {
46
- const nextCol = col < columns - 1 ? col + 1 : 0;
47
- setFocused(Math.min(nextCol * rows + row, options.length - 1));
48
- }
49
- if (key.return) {
50
- const selected = options[focused];
51
- if (selected) {
52
- onSelect(selected.value);
53
- }
54
- }
55
- });
56
- // Chunk options into columns (column-first ordering)
57
- const columnArrays = [];
58
- for (let c = 0; c < columns; c++) {
59
- columnArrays.push(options.slice(c * rows, c * rows + rows));
60
- }
61
- const align = centered ? 'center' : undefined;
62
- return (_jsxs(Box, { flexDirection: "column", alignItems: align, children: [_jsx(PromptLabel, { message: message }), _jsx(Box, { flexDirection: "row", gap: 4, children: columnArrays.map((colOpts, colIdx) => (_jsx(Box, { flexDirection: "column", children: colOpts.map((opt, rowIdx) => {
63
- const flatIdx = colIdx * rows + rowIdx;
64
- const isFocused = flatIdx === focused;
65
- const label = opt.hint ? `${opt.label} (${opt.hint})` : opt.label;
66
- return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: isFocused ? Colors.accent : undefined, dimColor: !isFocused, children: isFocused ? Icons.triangleSmallRight : ' ' }), _jsx(Text, { color: isFocused ? Colors.accent : undefined, bold: isFocused, dimColor: !isFocused, children: label })] }, flatIdx));
67
- }) }, colIdx))) })] }));
68
- };
69
- /** Custom multi-select with checkbox glyphs and accent highlight. */
70
- const MultiPickerMenu = ({ message, options, centered = false, columns = 1, onSelect, }) => {
71
- const [focused, setFocused] = useState(0);
72
- const [selected, setSelected] = useState(new Set());
73
- const rows = Math.ceil(options.length / columns);
74
- useInput((_input, key) => {
75
- const col = Math.floor(focused / rows);
76
- const row = focused % rows;
77
- if (key.upArrow) {
78
- if (row > 0) {
79
- setFocused(col * rows + row - 1);
80
- }
81
- else {
82
- setFocused(Math.min(col * rows + rows - 1, options.length - 1));
83
- }
84
- }
85
- if (key.downArrow) {
86
- const next = col * rows + row + 1;
87
- if (next < options.length && row + 1 < rows) {
88
- setFocused(next);
89
- }
90
- else {
91
- setFocused(col * rows);
92
- }
93
- }
94
- if (key.leftArrow && columns > 1) {
95
- const prevCol = col > 0 ? col - 1 : columns - 1;
96
- setFocused(Math.min(prevCol * rows + row, options.length - 1));
97
- }
98
- if (key.rightArrow && columns > 1) {
99
- const nextCol = col < columns - 1 ? col + 1 : 0;
100
- setFocused(Math.min(nextCol * rows + row, options.length - 1));
101
- }
102
- if (_input === ' ') {
103
- setSelected((prev) => {
104
- const next = new Set(prev);
105
- if (next.has(focused)) {
106
- next.delete(focused);
107
- }
108
- else {
109
- next.add(focused);
110
- }
111
- return next;
112
- });
113
- }
114
- if (key.return) {
115
- if (selected.size === 0) {
116
- // Nothing toggled, select hovered
117
- const hovered = options[focused];
118
- if (hovered) {
119
- onSelect(hovered.value);
120
- }
121
- }
122
- else {
123
- const values = [...selected].sort().map((i) => options[i].value);
124
- onSelect(values);
125
- }
126
- }
127
- });
128
- const columnArrays = [];
129
- for (let c = 0; c < columns; c++) {
130
- columnArrays.push(options.slice(c * rows, c * rows + rows));
131
- }
132
- return (_jsxs(Box, { flexDirection: "column", alignItems: centered ? 'center' : undefined, children: [_jsx(PromptLabel, { message: message }), _jsx(Text, { dimColor: true, children: " (space to multi-select, enter to confirm)" }), _jsx(Box, { flexDirection: "row", gap: 4, marginLeft: centered ? 0 : 2, marginTop: 1, children: columnArrays.map((colOpts, colIdx) => (_jsx(Box, { flexDirection: "column", children: colOpts.map((opt, rowIdx) => {
133
- const flatIdx = colIdx * rows + rowIdx;
134
- const isFocused = flatIdx === focused;
135
- const isSelected = selected.has(flatIdx);
136
- const label = opt.hint ? `${opt.label} (${opt.hint})` : opt.label;
137
- const checkbox = isSelected
138
- ? Icons.squareFilled
139
- : Icons.squareOpen;
140
- return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: isSelected ? 'white' : Colors.muted, dimColor: !isFocused && !isSelected, children: checkbox }), _jsx(Text, { color: isFocused ? Colors.accent : undefined, bold: isFocused, dimColor: !isFocused, children: label })] }, flatIdx));
141
- }) }, colIdx))) })] }));
142
- };
143
- //# sourceMappingURL=PickerMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PickerMenu.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/PickerMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * PickerMenu — Single and multi select.\n * Single mode: custom renderer with small triangle indicator.\n * Multi mode: checkbox glyphs with space to toggle.\n */\n\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { Icons, Colors } from '../styles.js';\nimport { PromptLabel } from './PromptLabel.js';\n\ninterface PickerOption<T> {\n label: string;\n value: T;\n hint?: string;\n}\n\ninterface PickerMenuProps<T> {\n message?: string;\n options: PickerOption<T>[];\n mode?: 'single' | 'multi';\n centered?: boolean;\n columns?: 1 | 2 | 3 | 4;\n onSelect: (value: T | T[]) => void;\n}\n\nexport const PickerMenu = <T,>({\n message,\n options,\n mode = 'single',\n centered = false,\n columns = 1,\n onSelect,\n}: PickerMenuProps<T>) => {\n if (mode === 'multi') {\n return (\n <MultiPickerMenu\n message={message}\n options={options}\n centered={centered}\n columns={columns}\n onSelect={onSelect}\n />\n );\n }\n\n return (\n <SinglePickerMenu\n message={message}\n options={options}\n centered={centered}\n columns={columns}\n onSelect={onSelect}\n />\n );\n};\n\n/** Custom single-select with triangle indicator and accent highlight. */\nconst SinglePickerMenu = <T,>({\n message,\n options,\n centered = false,\n columns = 1,\n onSelect,\n}: {\n message?: string;\n options: PickerOption<T>[];\n centered?: boolean;\n columns?: number;\n onSelect: (value: T | T[]) => void;\n}) => {\n const [focused, setFocused] = useState(0);\n const rows = Math.ceil(options.length / columns);\n\n useInput((_input, key) => {\n const col = Math.floor(focused / rows);\n const row = focused % rows;\n\n if (key.upArrow) {\n if (row > 0) {\n setFocused(col * rows + row - 1);\n } else {\n setFocused(Math.min(col * rows + rows - 1, options.length - 1));\n }\n }\n if (key.downArrow) {\n const next = col * rows + row + 1;\n if (next < options.length && row + 1 < rows) {\n setFocused(next);\n } else {\n setFocused(col * rows);\n }\n }\n if (key.leftArrow && columns > 1) {\n const prevCol = col > 0 ? col - 1 : columns - 1;\n setFocused(Math.min(prevCol * rows + row, options.length - 1));\n }\n if (key.rightArrow && columns > 1) {\n const nextCol = col < columns - 1 ? col + 1 : 0;\n setFocused(Math.min(nextCol * rows + row, options.length - 1));\n }\n if (key.return) {\n const selected = options[focused];\n if (selected) {\n onSelect(selected.value);\n }\n }\n });\n\n // Chunk options into columns (column-first ordering)\n const columnArrays: PickerOption<T>[][] = [];\n for (let c = 0; c < columns; c++) {\n columnArrays.push(options.slice(c * rows, c * rows + rows));\n }\n\n const align = centered ? 'center' : undefined;\n\n return (\n <Box flexDirection=\"column\" alignItems={align}>\n <PromptLabel message={message} />\n <Box flexDirection=\"row\" gap={4}>\n {columnArrays.map((colOpts, colIdx) => (\n <Box key={colIdx} flexDirection=\"column\">\n {colOpts.map((opt, rowIdx) => {\n const flatIdx = colIdx * rows + rowIdx;\n const isFocused = flatIdx === focused;\n const label = opt.hint ? `${opt.label} (${opt.hint})` : opt.label;\n return (\n <Box key={flatIdx} gap={1}>\n <Text\n color={isFocused ? Colors.accent : undefined}\n dimColor={!isFocused}\n >\n {isFocused ? Icons.triangleSmallRight : ' '}\n </Text>\n <Text\n color={isFocused ? Colors.accent : undefined}\n bold={isFocused}\n dimColor={!isFocused}\n >\n {label}\n </Text>\n </Box>\n );\n })}\n </Box>\n ))}\n </Box>\n </Box>\n );\n};\n\n/** Custom multi-select with checkbox glyphs and accent highlight. */\nconst MultiPickerMenu = <T,>({\n message,\n options,\n centered = false,\n columns = 1,\n onSelect,\n}: {\n message?: string;\n options: PickerOption<T>[];\n centered?: boolean;\n columns?: number;\n onSelect: (value: T | T[]) => void;\n}) => {\n const [focused, setFocused] = useState(0);\n const [selected, setSelected] = useState<Set<number>>(new Set());\n const rows = Math.ceil(options.length / columns);\n\n useInput((_input, key) => {\n const col = Math.floor(focused / rows);\n const row = focused % rows;\n\n if (key.upArrow) {\n if (row > 0) {\n setFocused(col * rows + row - 1);\n } else {\n setFocused(Math.min(col * rows + rows - 1, options.length - 1));\n }\n }\n if (key.downArrow) {\n const next = col * rows + row + 1;\n if (next < options.length && row + 1 < rows) {\n setFocused(next);\n } else {\n setFocused(col * rows);\n }\n }\n if (key.leftArrow && columns > 1) {\n const prevCol = col > 0 ? col - 1 : columns - 1;\n setFocused(Math.min(prevCol * rows + row, options.length - 1));\n }\n if (key.rightArrow && columns > 1) {\n const nextCol = col < columns - 1 ? col + 1 : 0;\n setFocused(Math.min(nextCol * rows + row, options.length - 1));\n }\n if (_input === ' ') {\n setSelected((prev) => {\n const next = new Set(prev);\n if (next.has(focused)) {\n next.delete(focused);\n } else {\n next.add(focused);\n }\n return next;\n });\n }\n if (key.return) {\n if (selected.size === 0) {\n // Nothing toggled, select hovered\n const hovered = options[focused];\n if (hovered) {\n onSelect(hovered.value);\n }\n } else {\n const values = [...selected].sort().map((i) => options[i].value);\n onSelect(values);\n }\n }\n });\n\n const columnArrays: PickerOption<T>[][] = [];\n for (let c = 0; c < columns; c++) {\n columnArrays.push(options.slice(c * rows, c * rows + rows));\n }\n\n return (\n <Box flexDirection=\"column\" alignItems={centered ? 'center' : undefined}>\n <PromptLabel message={message} />\n <Text dimColor> (space to multi-select, enter to confirm)</Text>\n <Box\n flexDirection=\"row\"\n gap={4}\n marginLeft={centered ? 0 : 2}\n marginTop={1}\n >\n {columnArrays.map((colOpts, colIdx) => (\n <Box key={colIdx} flexDirection=\"column\">\n {colOpts.map((opt, rowIdx) => {\n const flatIdx = colIdx * rows + rowIdx;\n const isFocused = flatIdx === focused;\n const isSelected = selected.has(flatIdx);\n const label = opt.hint ? `${opt.label} (${opt.hint})` : opt.label;\n const checkbox = isSelected\n ? Icons.squareFilled\n : Icons.squareOpen;\n return (\n <Box key={flatIdx} gap={1}>\n <Text\n color={isSelected ? 'white' : Colors.muted}\n dimColor={!isFocused && !isSelected}\n >\n {checkbox}\n </Text>\n <Text\n color={isFocused ? Colors.accent : undefined}\n bold={isFocused}\n dimColor={!isFocused}\n >\n {label}\n </Text>\n </Box>\n );\n })}\n </Box>\n ))}\n </Box>\n </Box>\n );\n};\n"]}
@@ -1,15 +0,0 @@
1
- /**
2
- * ProgressList — Reusable task checklist with status icons.
3
- * Extracted from StatusTab logic.
4
- */
5
- export interface ProgressItem {
6
- label: string;
7
- activeForm?: string;
8
- status: 'pending' | 'in_progress' | 'completed';
9
- }
10
- interface ProgressListProps {
11
- items: ProgressItem[];
12
- title?: string;
13
- }
14
- export declare const ProgressList: ({ items, title }: ProgressListProps) => import("react/jsx-runtime").JSX.Element;
15
- export {};
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ProgressList — Reusable task checklist with status icons.
4
- * Extracted from StatusTab logic.
5
- */
6
- import { Box, Text } from 'ink';
7
- import { Spinner } from '@inkjs/ui';
8
- import { Colors, Icons } from '../styles.js';
9
- import { LoadingBox } from './LoadingBox.js';
10
- export const ProgressList = ({ items, title }) => {
11
- const completed = items.filter((t) => t.status === 'completed').length;
12
- const total = items.length;
13
- return (_jsxs(Box, { flexDirection: "column", children: [title && (_jsxs(_Fragment, { children: [_jsx(Text, { bold: true, children: title }), _jsx(Text, { children: " " })] })), items.length === 0 && _jsx(LoadingBox, { message: "Analyzing project..." }), items.map((item, i) => {
14
- const icon = item.status === 'completed'
15
- ? Icons.squareFilled
16
- : item.status === 'in_progress'
17
- ? Icons.triangleRight
18
- : Icons.squareOpen;
19
- const color = item.status === 'completed'
20
- ? Colors.success
21
- : item.status === 'in_progress'
22
- ? Colors.primary
23
- : Colors.muted;
24
- const label = item.status === 'in_progress' && item.activeForm
25
- ? item.activeForm
26
- : item.label;
27
- return (_jsxs(Text, { children: [_jsx(Text, { color: color, children: icon }), _jsxs(Text, { dimColor: item.status === 'pending', children: [" ", label] })] }, i));
28
- }), total > 0 && (_jsxs(Box, { marginTop: 1, gap: 1, children: [_jsx(Spinner, {}), _jsx(Text, { dimColor: true, children: completed < total
29
- ? `Progress: ${completed}/${total} completed`
30
- : 'Cleaning up...' })] }))] }));
31
- };
32
- //# sourceMappingURL=ProgressList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressList.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/ProgressList.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAqB,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAE3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,KAAK,IAAI,CACR,8BACE,KAAC,IAAI,IAAC,IAAI,kBAAE,KAAK,GAAQ,EACzB,KAAC,IAAI,oBAAS,IACb,CACJ,EACA,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAC,UAAU,IAAC,OAAO,EAAC,sBAAsB,GAAG,EACnE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACrB,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,WAAW;oBACzB,CAAC,CAAC,KAAK,CAAC,YAAY;oBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;wBAC/B,CAAC,CAAC,KAAK,CAAC,aAAa;wBACrB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACvB,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,KAAK,WAAW;oBACzB,CAAC,CAAC,MAAM,CAAC,OAAO;oBAChB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;wBAC/B,CAAC,CAAC,MAAM,CAAC,OAAO;wBAChB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnB,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU;oBAC9C,CAAC,CAAC,IAAI,CAAC,UAAU;oBACjB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAEjB,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAAG,IAAI,GAAQ,EACjC,MAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,kBAAI,KAAK,IAAQ,KAFjD,CAAC,CAGL,CACR,CAAC;YACJ,CAAC,CAAC,EACD,KAAK,GAAG,CAAC,IAAI,CACZ,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,aACvB,KAAC,OAAO,KAAG,EACX,KAAC,IAAI,IAAC,QAAQ,kBACX,SAAS,GAAG,KAAK;4BAChB,CAAC,CAAC,aAAa,SAAS,IAAI,KAAK,YAAY;4BAC7C,CAAC,CAAC,gBAAgB,GACf,IACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * ProgressList — Reusable task checklist with status icons.\n * Extracted from StatusTab logic.\n */\n\nimport { Box, Text } from 'ink';\nimport { Spinner } from '@inkjs/ui';\nimport { Colors, Icons } from '../styles.js';\nimport { LoadingBox } from './LoadingBox.js';\n\nexport interface ProgressItem {\n label: string;\n activeForm?: string;\n status: 'pending' | 'in_progress' | 'completed';\n}\n\ninterface ProgressListProps {\n items: ProgressItem[];\n title?: string;\n}\n\nexport const ProgressList = ({ items, title }: ProgressListProps) => {\n const completed = items.filter((t) => t.status === 'completed').length;\n const total = items.length;\n\n return (\n <Box flexDirection=\"column\">\n {title && (\n <>\n <Text bold>{title}</Text>\n <Text> </Text>\n </>\n )}\n {items.length === 0 && <LoadingBox message=\"Analyzing project...\" />}\n {items.map((item, i) => {\n const icon =\n item.status === 'completed'\n ? Icons.squareFilled\n : item.status === 'in_progress'\n ? Icons.triangleRight\n : Icons.squareOpen;\n const color =\n item.status === 'completed'\n ? Colors.success\n : item.status === 'in_progress'\n ? Colors.primary\n : Colors.muted;\n const label =\n item.status === 'in_progress' && item.activeForm\n ? item.activeForm\n : item.label;\n\n return (\n <Text key={i}>\n <Text color={color}>{icon}</Text>\n <Text dimColor={item.status === 'pending'}> {label}</Text>\n </Text>\n );\n })}\n {total > 0 && (\n <Box marginTop={1} gap={1}>\n <Spinner />\n <Text dimColor>\n {completed < total\n ? `Progress: ${completed}/${total} completed`\n : 'Cleaning up...'}\n </Text>\n </Box>\n )}\n </Box>\n );\n};\n"]}
@@ -1,11 +0,0 @@
1
- /**
2
- * PromptLabel — Compact inline label for input prompts.
3
- *
4
- * Renders: [!] message
5
- * where [!] is black text on accent background.
6
- */
7
- interface PromptLabelProps {
8
- message?: string;
9
- }
10
- export declare const PromptLabel: ({ message }: PromptLabelProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1,13 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * PromptLabel — Compact inline label for input prompts.
4
- *
5
- * Renders: [!] message
6
- * where [!] is black text on accent background.
7
- */
8
- import { Box, Text } from 'ink';
9
- import { Colors } from '../styles.js';
10
- export const PromptLabel = ({ message }) => {
11
- return (_jsx(Box, { children: _jsxs(Text, { bold: true, color: Colors.accent, children: [' ', message] }) }));
12
- };
13
- //# sourceMappingURL=PromptLabel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptLabel.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/PromptLabel.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAMtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAoB,EAAE,EAAE;IAC3D,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aAC5B,GAAG,EACH,OAAO,IACH,GACH,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * PromptLabel — Compact inline label for input prompts.\n *\n * Renders: [!] message\n * where [!] is black text on accent background.\n */\n\nimport { Box, Text } from 'ink';\nimport { Colors } from '../styles.js';\n\ninterface PromptLabelProps {\n message?: string;\n}\n\nexport const PromptLabel = ({ message }: PromptLabelProps) => {\n return (\n <Box>\n <Text bold color={Colors.accent}>\n {' '}\n {message}\n </Text>\n </Box>\n );\n};\n"]}
@@ -1,16 +0,0 @@
1
- /**
2
- * ScreenContainer — Renders TitleBar + routes between screens with transitions.
3
- * Takes a screens map and renders the one matching store.currentScreen.
4
- * Horizontal wipe plays on push (left) or pop (right).
5
- *
6
- * Each screen is wrapped in a ScreenErrorBoundary so that render crashes
7
- * route to the outro screen with an error message instead of hanging.
8
- */
9
- import { type ReactNode } from 'react';
10
- import type { WizardStore } from '../store.js';
11
- interface ScreenContainerProps {
12
- store: WizardStore;
13
- screens: Record<string, ReactNode>;
14
- }
15
- export declare const ScreenContainer: ({ store, screens }: ScreenContainerProps) => import("react/jsx-runtime").JSX.Element;
16
- export {};
@@ -1,36 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ScreenContainer — Renders TitleBar + routes between screens with transitions.
4
- * Takes a screens map and renders the one matching store.currentScreen.
5
- * Horizontal wipe plays on push (left) or pop (right).
6
- *
7
- * Each screen is wrapped in a ScreenErrorBoundary so that render crashes
8
- * route to the outro screen with an error message instead of hanging.
9
- */
10
- import { Box } from 'ink';
11
- import { useSyncExternalStore } from 'react';
12
- import { TitleBar } from '../components/TitleBar.js';
13
- import { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';
14
- import { DissolveTransition } from './DissolveTransition.js';
15
- import { ScreenErrorBoundary } from './ScreenErrorBoundary.js';
16
- const MIN_WIDTH = 80;
17
- const MAX_WIDTH = 120;
18
- /** Use terminal width when small so we don't overflow; otherwise clamp to [MIN_WIDTH, MAX_WIDTH]. */
19
- function getContentWidth(terminalColumns) {
20
- if (terminalColumns < MIN_WIDTH)
21
- return terminalColumns;
22
- return Math.min(MAX_WIDTH, terminalColumns);
23
- }
24
- export const ScreenContainer = ({ store, screens }) => {
25
- const [columns, rows] = useStdoutDimensions();
26
- useSyncExternalStore((cb) => store.subscribe(cb), () => store.getSnapshot());
27
- const terminalWidth = columns;
28
- const width = getContentWidth(terminalWidth);
29
- const contentHeight = Math.max(5, rows - 3);
30
- const contentAreaWidth = Math.max(10, width - 2);
31
- const direction = store.lastNavDirection === 'pop' ? 'right' : 'left';
32
- const activeScreen = screens[store.currentScreen] ?? null;
33
- const inner = (_jsxs(Box, { flexDirection: "column", height: rows, width: width, children: [_jsx(TitleBar, { version: store.version, width: width }), _jsx(Box, { height: 1 }), _jsx(Box, { flexDirection: "column", flexGrow: 1, paddingX: 1, children: _jsx(DissolveTransition, { transitionKey: store.currentScreen, width: contentAreaWidth, height: contentHeight, direction: direction, children: _jsx(ScreenErrorBoundary, { store: store, children: activeScreen }) }) })] }));
34
- return (_jsx(Box, { flexDirection: "column", height: rows, width: terminalWidth, alignItems: "center", justifyContent: "flex-start", children: inner }));
35
- };
36
- //# sourceMappingURL=ScreenContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScreenContainer.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/ScreenContainer.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAkB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,qGAAqG;AACrG,SAAS,eAAe,CAAC,eAAuB;IAC9C,IAAI,eAAe,GAAG,SAAS;QAAE,OAAO,eAAe,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAOD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAwB,EAAE,EAAE;IAC1E,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,mBAAmB,EAAE,CAAC;IAC9C,oBAAoB,CAClB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAC3B,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAC1B,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC;IAC9B,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IAE1D,MAAM,KAAK,GAAG,CACZ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,aACpD,KAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,GAAI,EAClD,KAAC,GAAG,IAAC,MAAM,EAAE,CAAC,GAAI,EAClB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAClD,KAAC,kBAAkB,IACjB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,YAEpB,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,YAC9B,YAAY,GACO,GACH,GACjB,IACF,CACP,CAAC;IAEF,OAAO,CACL,KAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,aAAa,EACpB,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,YAAY,YAE1B,KAAK,GACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * ScreenContainer — Renders TitleBar + routes between screens with transitions.\n * Takes a screens map and renders the one matching store.currentScreen.\n * Horizontal wipe plays on push (left) or pop (right).\n *\n * Each screen is wrapped in a ScreenErrorBoundary so that render crashes\n * route to the outro screen with an error message instead of hanging.\n */\n\nimport { Box } from 'ink';\nimport { useSyncExternalStore, type ReactNode } from 'react';\nimport { TitleBar } from '../components/TitleBar.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { DissolveTransition } from './DissolveTransition.js';\nimport { ScreenErrorBoundary } from './ScreenErrorBoundary.js';\nimport type { WizardStore } from '../store.js';\n\nconst MIN_WIDTH = 80;\nconst MAX_WIDTH = 120;\n\n/** Use terminal width when small so we don't overflow; otherwise clamp to [MIN_WIDTH, MAX_WIDTH]. */\nfunction getContentWidth(terminalColumns: number): number {\n if (terminalColumns < MIN_WIDTH) return terminalColumns;\n return Math.min(MAX_WIDTH, terminalColumns);\n}\n\ninterface ScreenContainerProps {\n store: WizardStore;\n screens: Record<string, ReactNode>;\n}\n\nexport const ScreenContainer = ({ store, screens }: ScreenContainerProps) => {\n const [columns, rows] = useStdoutDimensions();\n useSyncExternalStore(\n (cb) => store.subscribe(cb),\n () => store.getSnapshot(),\n );\n\n const terminalWidth = columns;\n const width = getContentWidth(terminalWidth);\n const contentHeight = Math.max(5, rows - 3);\n const contentAreaWidth = Math.max(10, width - 2);\n const direction = store.lastNavDirection === 'pop' ? 'right' : 'left';\n const activeScreen = screens[store.currentScreen] ?? null;\n\n const inner = (\n <Box flexDirection=\"column\" height={rows} width={width}>\n <TitleBar version={store.version} width={width} />\n <Box height={1} />\n <Box flexDirection=\"column\" flexGrow={1} paddingX={1}>\n <DissolveTransition\n transitionKey={store.currentScreen}\n width={contentAreaWidth}\n height={contentHeight}\n direction={direction}\n >\n <ScreenErrorBoundary store={store}>\n {activeScreen}\n </ScreenErrorBoundary>\n </DissolveTransition>\n </Box>\n </Box>\n );\n\n return (\n <Box\n flexDirection=\"column\"\n height={rows}\n width={terminalWidth}\n alignItems=\"center\"\n justifyContent=\"flex-start\"\n >\n {inner}\n </Box>\n );\n};\n"]}
@@ -1,22 +0,0 @@
1
- /**
2
- * ScreenErrorBoundary — catches React render errors in screens
3
- * and routes to the outro screen with an error message.
4
- *
5
- * Without this, a screen crash silently hangs the TUI.
6
- */
7
- import { Component, type ReactNode } from 'react';
8
- import type { WizardStore } from '../store.js';
9
- interface Props {
10
- store: WizardStore;
11
- children: ReactNode;
12
- }
13
- interface State {
14
- error: Error | null;
15
- }
16
- export declare class ScreenErrorBoundary extends Component<Props, State> {
17
- state: State;
18
- static getDerivedStateFromError(error: Error): State;
19
- componentDidCatch(error: Error): void;
20
- render(): ReactNode;
21
- }
22
- export {};
@@ -1,35 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ScreenErrorBoundary — catches React render errors in screens
4
- * and routes to the outro screen with an error message.
5
- *
6
- * Without this, a screen crash silently hangs the TUI.
7
- */
8
- import { Box, Text } from 'ink';
9
- import { Component } from 'react';
10
- import { OutroKind, RunPhase } from '../../../lib/wizard-session.js';
11
- export class ScreenErrorBoundary extends Component {
12
- state = { error: null };
13
- static getDerivedStateFromError(error) {
14
- return { error };
15
- }
16
- componentDidCatch(error) {
17
- const { store } = this.props;
18
- // eslint-disable-next-line no-console
19
- console.error('[ScreenErrorBoundary]', error.message, error.stack);
20
- // Set error state — the router will resolve to outro
21
- store.setOutroData({
22
- kind: OutroKind.Error,
23
- message: `A screen crashed: ${error.message}`,
24
- });
25
- store.setRunPhase(RunPhase.Error);
26
- }
27
- render() {
28
- if (this.state.error) {
29
- // Fallback while the store transition fires
30
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "red", bold: true, children: "Something went wrong." }), _jsx(Text, { dimColor: true, children: this.state.error.message })] }));
31
- }
32
- return this.props.children;
33
- }
34
- }
35
- //# sourceMappingURL=ScreenErrorBoundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScreenErrorBoundary.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/ScreenErrorBoundary.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAWrE,MAAM,OAAO,mBAAoB,SAAQ,SAAuB;IAC9D,KAAK,GAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE/B,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC1C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,KAAY;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnE,qDAAqD;QACrD,KAAK,CAAC,YAAY,CAAC;YACjB,IAAI,EAAE,SAAS,CAAC,KAAK;YACrB,OAAO,EAAE,qBAAqB,KAAK,CAAC,OAAO,EAAE;SAC9C,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,4CAA4C;YAC5C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,4CAEf,EACP,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAQ,IAC5C,CACP,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF","sourcesContent":["/**\n * ScreenErrorBoundary — catches React render errors in screens\n * and routes to the outro screen with an error message.\n *\n * Without this, a screen crash silently hangs the TUI.\n */\n\nimport { Box, Text } from 'ink';\nimport { Component, type ReactNode } from 'react';\nimport type { WizardStore } from '../store.js';\nimport { OutroKind, RunPhase } from '../../../lib/wizard-session.js';\n\ninterface Props {\n store: WizardStore;\n children: ReactNode;\n}\n\ninterface State {\n error: Error | null;\n}\n\nexport class ScreenErrorBoundary extends Component<Props, State> {\n state: State = { error: null };\n\n static getDerivedStateFromError(error: Error): State {\n return { error };\n }\n\n componentDidCatch(error: Error): void {\n const { store } = this.props;\n\n // eslint-disable-next-line no-console\n console.error('[ScreenErrorBoundary]', error.message, error.stack);\n\n // Set error state — the router will resolve to outro\n store.setOutroData({\n kind: OutroKind.Error,\n message: `A screen crashed: ${error.message}`,\n });\n store.setRunPhase(RunPhase.Error);\n }\n\n render(): ReactNode {\n if (this.state.error) {\n // Fallback while the store transition fires\n return (\n <Box flexDirection=\"column\">\n <Text color=\"red\" bold>\n Something went wrong.\n </Text>\n <Text dimColor>{this.state.error.message}</Text>\n </Box>\n );\n }\n\n return this.props.children;\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- /**
2
- * SplitView — Two-pane horizontal layout: 50/50.
3
- */
4
- import type { ReactNode } from 'react';
5
- interface SplitViewProps {
6
- left: ReactNode;
7
- right: ReactNode;
8
- gap?: number;
9
- }
10
- export declare const SplitView: ({ left, right, gap }: SplitViewProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * SplitView — Two-pane horizontal layout: 50/50.
4
- */
5
- import { Box } from 'ink';
6
- export const SplitView = ({ left, right, gap = 2 }) => {
7
- return (_jsxs(Box, { flexDirection: "row", flexGrow: 1, flexShrink: 1, gap: gap, children: [_jsx(Box, { width: "50%", flexDirection: "column", overflow: "hidden", children: left }), _jsx(Box, { width: "50%", flexDirection: "column", overflow: "hidden", children: right })] }));
8
- };
9
- //# sourceMappingURL=SplitView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SplitView.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/SplitView.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAS1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAkB,EAAE,EAAE;IACpE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,aAC3D,KAAC,GAAG,IAAC,KAAK,EAAC,KAAK,EAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,YACtD,IAAI,GACD,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,KAAK,EAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,YACtD,KAAK,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * SplitView — Two-pane horizontal layout: 50/50.\n */\n\nimport { Box } from 'ink';\nimport type { ReactNode } from 'react';\n\ninterface SplitViewProps {\n left: ReactNode;\n right: ReactNode;\n gap?: number;\n}\n\nexport const SplitView = ({ left, right, gap = 2 }: SplitViewProps) => {\n return (\n <Box flexDirection=\"row\" flexGrow={1} flexShrink={1} gap={gap}>\n <Box width=\"50%\" flexDirection=\"column\" overflow=\"hidden\">\n {left}\n </Box>\n <Box width=\"50%\" flexDirection=\"column\" overflow=\"hidden\">\n {right}\n </Box>\n </Box>\n );\n};\n"]}
@@ -1,23 +0,0 @@
1
- /**
2
- * TabContainer — Self-contained tabbed interface.
3
- * Absorbs BottomTabBar + StatusPanel functionality.
4
- */
5
- import { type ReactNode } from 'react';
6
- import type { WizardStore } from '../store.js';
7
- export interface TabDefinition {
8
- id: string;
9
- label: string;
10
- component: ReactNode;
11
- }
12
- export declare const COLLAPSED_COUNT = 2;
13
- export declare const EXPANDED_COUNT = 10;
14
- interface TabContainerProps {
15
- tabs: TabDefinition[];
16
- statusMessage?: string | string[];
17
- /** Enable expand/collapse on the status box via 's' key */
18
- expandableStatus?: boolean;
19
- /** Store reference — required when expandableStatus is true so status state is shared. */
20
- store?: WizardStore;
21
- }
22
- export declare const TabContainer: ({ tabs, statusMessage, expandableStatus, store, }: TabContainerProps) => import("react/jsx-runtime").JSX.Element;
23
- export {};
@@ -1,45 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * TabContainer — Self-contained tabbed interface.
4
- * Absorbs BottomTabBar + StatusPanel functionality.
5
- */
6
- import { Box, Text, useInput } from 'ink';
7
- import { useState } from 'react';
8
- import { Colors, Icons } from '../styles.js';
9
- export const COLLAPSED_COUNT = 2;
10
- export const EXPANDED_COUNT = 10;
11
- export const TabContainer = ({ tabs, statusMessage, expandableStatus = false, store, }) => {
12
- const [activeTab, setActiveTab] = useState(0);
13
- // Fallback to local state when no store is provided
14
- const [localExpanded, setLocalExpanded] = useState(false);
15
- const statusExpanded = store ? store.statusExpanded : localExpanded;
16
- useInput((input, key) => {
17
- if (key.leftArrow) {
18
- setActiveTab((prev) => Math.max(0, prev - 1));
19
- }
20
- if (key.rightArrow) {
21
- setActiveTab((prev) => Math.min(tabs.length - 1, prev + 1));
22
- }
23
- if (expandableStatus && input === 's') {
24
- if (store) {
25
- store.toggleStatusExpanded();
26
- }
27
- else {
28
- setLocalExpanded((prev) => !prev);
29
- }
30
- }
31
- });
32
- const current = tabs[activeTab];
33
- const allMessages = statusMessage
34
- ? Array.isArray(statusMessage)
35
- ? statusMessage
36
- : [statusMessage]
37
- : [];
38
- const visibleCount = expandableStatus && statusExpanded ? EXPANDED_COUNT : COLLAPSED_COUNT;
39
- const visibleMessages = allMessages.slice(-visibleCount);
40
- return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsx(Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, overflow: "hidden", children: current?.component }), visibleMessages.length > 0 && (_jsx(Box, { flexDirection: "column", borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: Colors.muted, paddingX: 1, overflow: "hidden", children: visibleMessages.map((msg, i, arr) => {
41
- const isCurrent = i === arr.length - 1;
42
- return (_jsxs(Text, { color: Colors.muted, dimColor: !isCurrent, children: [isCurrent ? Icons.diamond : '\u250A', " ", msg] }, i));
43
- }) })), _jsx(Box, { height: 1 }), _jsx(Box, { gap: 1, paddingX: 1, children: tabs.map((tab, i) => (_jsx(Text, { inverse: i === activeTab, color: i === activeTab ? Colors.accent : Colors.muted, bold: i === activeTab, children: ` ${tab.label} ` }, tab.id))) })] }));
44
- };
45
- //# sourceMappingURL=TabContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabContainer.js","sourceRoot":"","sources":["../../../../../src/ui/tui/primitives/TabContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * TabContainer — Self-contained tabbed interface.\n * Absorbs BottomTabBar + StatusPanel functionality.\n */\n\nimport { Box, Text, useInput } from 'ink';\nimport { useState, type ReactNode } from 'react';\nimport { Colors, Icons } from '../styles.js';\nimport type { WizardStore } from '../store.js';\n\nexport interface TabDefinition {\n id: string;\n label: string;\n component: ReactNode;\n}\n\nexport const COLLAPSED_COUNT = 2;\nexport const EXPANDED_COUNT = 10;\n\ninterface TabContainerProps {\n tabs: TabDefinition[];\n statusMessage?: string | string[];\n /** Enable expand/collapse on the status box via 's' key */\n expandableStatus?: boolean;\n /** Store reference — required when expandableStatus is true so status state is shared. */\n store?: WizardStore;\n}\n\nexport const TabContainer = ({\n tabs,\n statusMessage,\n expandableStatus = false,\n store,\n}: TabContainerProps) => {\n const [activeTab, setActiveTab] = useState(0);\n // Fallback to local state when no store is provided\n const [localExpanded, setLocalExpanded] = useState(false);\n\n const statusExpanded = store ? store.statusExpanded : localExpanded;\n\n useInput((input, key) => {\n if (key.leftArrow) {\n setActiveTab((prev) => Math.max(0, prev - 1));\n }\n if (key.rightArrow) {\n setActiveTab((prev) => Math.min(tabs.length - 1, prev + 1));\n }\n if (expandableStatus && input === 's') {\n if (store) {\n store.toggleStatusExpanded();\n } else {\n setLocalExpanded((prev) => !prev);\n }\n }\n });\n\n const current = tabs[activeTab];\n\n const allMessages = statusMessage\n ? Array.isArray(statusMessage)\n ? statusMessage\n : [statusMessage]\n : [];\n const visibleCount =\n expandableStatus && statusExpanded ? EXPANDED_COUNT : COLLAPSED_COUNT;\n const visibleMessages = allMessages.slice(-visibleCount);\n\n return (\n <Box flexDirection=\"column\" flexGrow={1}>\n {/* Active tab content — overflow hidden so expanded status eats into this area */}\n <Box flexDirection=\"column\" flexGrow={1} flexShrink={1} overflow=\"hidden\">\n {current?.component}\n </Box>\n\n {/* Status bar */}\n {visibleMessages.length > 0 && (\n <Box\n flexDirection=\"column\"\n borderStyle=\"single\"\n borderTop\n borderBottom={false}\n borderLeft={false}\n borderRight={false}\n borderColor={Colors.muted}\n paddingX={1}\n overflow=\"hidden\"\n >\n {visibleMessages.map((msg, i, arr) => {\n const isCurrent = i === arr.length - 1;\n return (\n <Text key={i} color={Colors.muted} dimColor={!isCurrent}>\n {isCurrent ? Icons.diamond : '\\u250A'} {msg}\n </Text>\n );\n })}\n </Box>\n )}\n\n {/* Tab bar */}\n <Box height={1} />\n <Box gap={1} paddingX={1}>\n {tabs.map((tab, i) => (\n <Text\n key={tab.id}\n inverse={i === activeTab}\n color={i === activeTab ? Colors.accent : Colors.muted}\n bold={i === activeTab}\n >\n {` ${tab.label} `}\n </Text>\n ))}\n </Box>\n </Box>\n );\n};\n"]}
@@ -1,41 +0,0 @@
1
- /**
2
- * TextBlock — Animates a single string paragraph.
3
- *
4
- * Self-contained: owns its own animIdx and timer.
5
- * Calls onComplete() when the animation finishes.
6
- *
7
- * Five animation modes:
8
- * 1. Typewriter — character-by-character reveal
9
- * 2. Word by word — each word appears in order
10
- * 3. Sentence by sentence — sentences appear one at a time
11
- * 4. Paragraph fade — paragraph appears at full opacity immediately
12
- * 5. Sentence fade — paragraph dim, sentences light up in order
13
- */
14
- import { type ReactNode } from 'react';
15
- export declare enum TextRevealMode {
16
- Typewriter = 0,
17
- WordByWord = 1,
18
- SentenceBySentence = 2,
19
- ParagraphFade = 3,
20
- SentenceFade = 4
21
- }
22
- export declare const TEXT_REVEAL_MODE_LABELS: string[];
23
- export declare const TEXT_REVEAL_MODE_COUNT = 5;
24
- /** Default interval per mode (ms) */
25
- export declare const TEXT_REVEAL_MODE_DEFAULTS: Record<TextRevealMode, number>;
26
- interface TextBlockProps {
27
- text: string;
28
- active: boolean;
29
- completed: boolean;
30
- onComplete: () => void;
31
- mode: TextRevealMode;
32
- bullet?: ReactNode;
33
- animationInterval?: number;
34
- sentenceInterval?: number;
35
- /** Max rows this block may occupy. When exceeded, top lines are truncated. */
36
- maxHeight?: number;
37
- /** Available text width in columns (for truncation wrapping). */
38
- availableWidth?: number;
39
- }
40
- export declare const TextBlock: ({ text, active, completed, onComplete, mode, bullet, animationInterval, sentenceInterval, maxHeight, availableWidth, }: TextBlockProps) => import("react/jsx-runtime").JSX.Element;
41
- export {};