reviewflow 3.27.0 → 3.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cli/parseCliArgs.d.ts +10 -1
  3. package/dist/cli/parseCliArgs.d.ts.map +1 -1
  4. package/dist/cli/parseCliArgs.js +23 -1
  5. package/dist/cli/parseCliArgs.js.map +1 -1
  6. package/dist/dashboard/index.html +4 -0
  7. package/dist/dashboard/modules/setupWizard.d.ts +93 -0
  8. package/dist/dashboard/modules/setupWizard.d.ts.map +1 -0
  9. package/dist/dashboard/modules/setupWizard.js +261 -0
  10. package/dist/dashboard/modules/setupWizard.js.map +1 -0
  11. package/dist/dashboard/modules/setupWizardAvatar.d.ts +126 -0
  12. package/dist/dashboard/modules/setupWizardAvatar.d.ts.map +1 -0
  13. package/dist/dashboard/modules/setupWizardAvatar.js +217 -0
  14. package/dist/dashboard/modules/setupWizardAvatar.js.map +1 -0
  15. package/dist/dashboard/modules/setupWizardAvatarRenderer.d.ts +42 -0
  16. package/dist/dashboard/modules/setupWizardAvatarRenderer.d.ts.map +1 -0
  17. package/dist/dashboard/modules/setupWizardAvatarRenderer.js +117 -0
  18. package/dist/dashboard/modules/setupWizardAvatarRenderer.js.map +1 -0
  19. package/dist/dashboard/modules/setupWizardForms.d.ts +70 -0
  20. package/dist/dashboard/modules/setupWizardForms.d.ts.map +1 -0
  21. package/dist/dashboard/modules/setupWizardForms.js +273 -0
  22. package/dist/dashboard/modules/setupWizardForms.js.map +1 -0
  23. package/dist/dashboard/modules/setupWizardStream.d.ts +81 -0
  24. package/dist/dashboard/modules/setupWizardStream.d.ts.map +1 -0
  25. package/dist/dashboard/modules/setupWizardStream.js +158 -0
  26. package/dist/dashboard/modules/setupWizardStream.js.map +1 -0
  27. package/dist/dashboard/modules/worktreePanel.d.ts +1 -1
  28. package/dist/dashboard/modules/worktreePanel.d.ts.map +1 -1
  29. package/dist/dashboard/modules/worktreePanel.js +1 -1
  30. package/dist/dashboard/setup.html +350 -0
  31. package/dist/dashboard/styles.css +344 -0
  32. package/dist/main/cli.js +11 -0
  33. package/dist/main/cli.js.map +1 -1
  34. package/dist/main/commands/setup.command.d.ts +25 -0
  35. package/dist/main/commands/setup.command.d.ts.map +1 -0
  36. package/dist/main/commands/setup.command.js +130 -0
  37. package/dist/main/commands/setup.command.js.map +1 -0
  38. package/dist/main/routes.d.ts.map +1 -1
  39. package/dist/main/routes.js +15 -0
  40. package/dist/main/routes.js.map +1 -1
  41. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.d.ts +5 -0
  42. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.d.ts.map +1 -0
  43. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.js +4 -0
  44. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.js.map +1 -0
  45. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.d.ts +13 -0
  46. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.d.ts.map +1 -0
  47. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.js +7 -0
  48. package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.js.map +1 -0
  49. package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.d.ts +13 -0
  50. package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.d.ts.map +1 -0
  51. package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.js +2 -0
  52. package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.js.map +1 -0
  53. package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.d.ts +4 -0
  54. package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.d.ts.map +1 -0
  55. package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.js +6 -0
  56. package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.js.map +1 -0
  57. package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.d.ts +8 -0
  58. package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.d.ts.map +1 -0
  59. package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.js +5 -0
  60. package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.js.map +1 -0
  61. package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.d.ts +9 -0
  62. package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.d.ts.map +1 -0
  63. package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.js +2 -0
  64. package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.js.map +1 -0
  65. package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.d.ts +8 -0
  66. package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.d.ts.map +1 -0
  67. package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.js +2 -0
  68. package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.js.map +1 -0
  69. package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.d.ts +21 -0
  70. package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.d.ts.map +1 -0
  71. package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.js +2 -0
  72. package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.js.map +1 -0
  73. package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.d.ts +16 -0
  74. package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.d.ts.map +1 -0
  75. package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.js +2 -0
  76. package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.js.map +1 -0
  77. package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.d.ts +10 -0
  78. package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.d.ts.map +1 -0
  79. package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.js +2 -0
  80. package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.js.map +1 -0
  81. package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.d.ts +7 -0
  82. package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.d.ts.map +1 -0
  83. package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.js +2 -0
  84. package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.js.map +1 -0
  85. package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.d.ts +4 -0
  86. package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.d.ts.map +1 -0
  87. package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.js +2 -0
  88. package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.js.map +1 -0
  89. package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.d.ts +13 -0
  90. package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.d.ts.map +1 -0
  91. package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.js +2 -0
  92. package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.js.map +1 -0
  93. package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.d.ts +8 -0
  94. package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.d.ts.map +1 -0
  95. package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.js +4 -0
  96. package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.js.map +1 -0
  97. package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.d.ts +42 -0
  98. package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.d.ts.map +1 -0
  99. package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.js +12 -0
  100. package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.js.map +1 -0
  101. package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.d.ts +11 -0
  102. package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.d.ts.map +1 -0
  103. package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.js +2 -0
  104. package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.js.map +1 -0
  105. package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.d.ts +7 -0
  106. package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.d.ts.map +1 -0
  107. package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.js +13 -0
  108. package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.js.map +1 -0
  109. package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.d.ts +14 -0
  110. package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.d.ts.map +1 -0
  111. package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.js +7 -0
  112. package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.js.map +1 -0
  113. package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.d.ts +10 -0
  114. package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.d.ts.map +1 -0
  115. package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.js +2 -0
  116. package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.js.map +1 -0
  117. package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.d.ts +14 -0
  118. package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.d.ts.map +1 -0
  119. package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.js +4 -0
  120. package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.js.map +1 -0
  121. package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.d.ts +17 -0
  122. package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.d.ts.map +1 -0
  123. package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.js +14 -0
  124. package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.js.map +1 -0
  125. package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.d.ts +16 -0
  126. package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.d.ts.map +1 -0
  127. package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.js +2 -0
  128. package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.js.map +1 -0
  129. package/dist/modules/setup-wizard/entities/setupState/setupState.d.ts +8 -0
  130. package/dist/modules/setup-wizard/entities/setupState/setupState.d.ts.map +1 -0
  131. package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.d.ts +11 -0
  132. package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.d.ts.map +1 -0
  133. package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.js +2 -0
  134. package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.js.map +1 -0
  135. package/dist/modules/setup-wizard/entities/setupState/setupState.guard.d.ts +19 -0
  136. package/dist/modules/setup-wizard/entities/setupState/setupState.guard.d.ts.map +1 -0
  137. package/dist/modules/setup-wizard/entities/setupState/setupState.guard.js +4 -0
  138. package/dist/modules/setup-wizard/entities/setupState/setupState.guard.js.map +1 -0
  139. package/dist/modules/setup-wizard/entities/setupState/setupState.js +30 -0
  140. package/dist/modules/setup-wizard/entities/setupState/setupState.js.map +1 -0
  141. package/dist/modules/setup-wizard/entities/setupState/setupState.schema.d.ts +50 -0
  142. package/dist/modules/setup-wizard/entities/setupState/setupState.schema.d.ts.map +1 -0
  143. package/dist/modules/setup-wizard/entities/setupState/setupState.schema.js +12 -0
  144. package/dist/modules/setup-wizard/entities/setupState/setupState.schema.js.map +1 -0
  145. package/dist/modules/setup-wizard/entities/setupStep/setupStep.d.ts +10 -0
  146. package/dist/modules/setup-wizard/entities/setupStep/setupStep.d.ts.map +1 -0
  147. package/dist/modules/setup-wizard/entities/setupStep/setupStep.js +2 -0
  148. package/dist/modules/setup-wizard/entities/setupStep/setupStep.js.map +1 -0
  149. package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.d.ts +6 -0
  150. package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.d.ts.map +1 -0
  151. package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.js +2 -0
  152. package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.js.map +1 -0
  153. package/dist/modules/setup-wizard/entities/stepId/stepId.schema.d.ts +16 -0
  154. package/dist/modules/setup-wizard/entities/stepId/stepId.schema.d.ts.map +1 -0
  155. package/dist/modules/setup-wizard/entities/stepId/stepId.schema.js +15 -0
  156. package/dist/modules/setup-wizard/entities/stepId/stepId.schema.js.map +1 -0
  157. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.d.ts +8 -0
  158. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.d.ts.map +1 -0
  159. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.d.ts +7 -0
  160. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.d.ts.map +1 -0
  161. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.js +4 -0
  162. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.js.map +1 -0
  163. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.js +39 -0
  164. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.js.map +1 -0
  165. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.d.ts +21 -0
  166. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.d.ts.map +1 -0
  167. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.js +9 -0
  168. package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.js.map +1 -0
  169. package/dist/modules/setup-wizard/entities/validation/validation.gateway.d.ts +13 -0
  170. package/dist/modules/setup-wizard/entities/validation/validation.gateway.d.ts.map +1 -0
  171. package/dist/modules/setup-wizard/entities/validation/validation.gateway.js +2 -0
  172. package/dist/modules/setup-wizard/entities/validation/validation.gateway.js.map +1 -0
  173. package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.d.ts +50 -0
  174. package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.d.ts.map +1 -0
  175. package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.js +2 -0
  176. package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.js.map +1 -0
  177. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.d.ts +39 -0
  178. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.d.ts.map +1 -0
  179. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.js +4 -0
  180. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.js.map +1 -0
  181. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.d.ts +200 -0
  182. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.d.ts.map +1 -0
  183. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.js +55 -0
  184. package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.js.map +1 -0
  185. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.d.ts +11 -0
  186. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.d.ts.map +1 -0
  187. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js +100 -0
  188. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js.map +1 -0
  189. package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.d.ts +6 -0
  190. package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.d.ts.map +1 -0
  191. package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.js +9 -0
  192. package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.js.map +1 -0
  193. package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.d.ts +17 -0
  194. package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.d.ts.map +1 -0
  195. package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.js +38 -0
  196. package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.js.map +1 -0
  197. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.d.ts +11 -0
  198. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.d.ts.map +1 -0
  199. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.js +26 -0
  200. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.js.map +1 -0
  201. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.d.ts +22 -0
  202. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.d.ts.map +1 -0
  203. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.js +60 -0
  204. package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.js.map +1 -0
  205. package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.d.ts +14 -0
  206. package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.d.ts.map +1 -0
  207. package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.js +31 -0
  208. package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.js.map +1 -0
  209. package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.d.ts +7 -0
  210. package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.d.ts.map +1 -0
  211. package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.js +58 -0
  212. package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.js.map +1 -0
  213. package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.d.ts +17 -0
  214. package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.d.ts.map +1 -0
  215. package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.js +33 -0
  216. package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.js.map +1 -0
  217. package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.d.ts +13 -0
  218. package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.d.ts.map +1 -0
  219. package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.js +39 -0
  220. package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.js.map +1 -0
  221. package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.d.ts +8 -0
  222. package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.d.ts.map +1 -0
  223. package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js +45 -0
  224. package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js.map +1 -0
  225. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.d.ts +22 -0
  226. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.d.ts.map +1 -0
  227. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.js +94 -0
  228. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.js.map +1 -0
  229. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.d.ts +8 -0
  230. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.d.ts.map +1 -0
  231. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.js +25 -0
  232. package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.js.map +1 -0
  233. package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.d.ts +13 -0
  234. package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.d.ts.map +1 -0
  235. package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.js +56 -0
  236. package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.js.map +1 -0
  237. package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.d.ts +14 -0
  238. package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.d.ts.map +1 -0
  239. package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.js +77 -0
  240. package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.js.map +1 -0
  241. package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.d.ts +14 -0
  242. package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.d.ts.map +1 -0
  243. package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.js +48 -0
  244. package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.js.map +1 -0
  245. package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.d.ts +13 -0
  246. package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.d.ts.map +1 -0
  247. package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.js +31 -0
  248. package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.js.map +1 -0
  249. package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.d.ts +12 -0
  250. package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.d.ts.map +1 -0
  251. package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.js +24 -0
  252. package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.js.map +1 -0
  253. package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.d.ts +20 -0
  254. package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.d.ts.map +1 -0
  255. package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.js +25 -0
  256. package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.js.map +1 -0
  257. package/dist/modules/setup-wizard/services/agentPresetCatalog.d.ts +4 -0
  258. package/dist/modules/setup-wizard/services/agentPresetCatalog.d.ts.map +1 -0
  259. package/dist/modules/setup-wizard/services/agentPresetCatalog.js +26 -0
  260. package/dist/modules/setup-wizard/services/agentPresetCatalog.js.map +1 -0
  261. package/dist/modules/setup-wizard/services/humanWizardEventEmitter.d.ts +18 -0
  262. package/dist/modules/setup-wizard/services/humanWizardEventEmitter.d.ts.map +1 -0
  263. package/dist/modules/setup-wizard/services/humanWizardEventEmitter.js +46 -0
  264. package/dist/modules/setup-wizard/services/humanWizardEventEmitter.js.map +1 -0
  265. package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.d.ts +19 -0
  266. package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.d.ts.map +1 -0
  267. package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.js +36 -0
  268. package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.js.map +1 -0
  269. package/dist/modules/setup-wizard/services/skillTemplateRenderer.d.ts +3 -0
  270. package/dist/modules/setup-wizard/services/skillTemplateRenderer.d.ts.map +1 -0
  271. package/dist/modules/setup-wizard/services/skillTemplateRenderer.js +21 -0
  272. package/dist/modules/setup-wizard/services/skillTemplateRenderer.js.map +1 -0
  273. package/dist/modules/setup-wizard/services/wizardEventEmitter.d.ts +13 -0
  274. package/dist/modules/setup-wizard/services/wizardEventEmitter.d.ts.map +1 -0
  275. package/dist/modules/setup-wizard/services/wizardEventEmitter.js +2 -0
  276. package/dist/modules/setup-wizard/services/wizardEventEmitter.js.map +1 -0
  277. package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.d.ts +19 -0
  278. package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.d.ts.map +1 -0
  279. package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.js +94 -0
  280. package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.js.map +1 -0
  281. package/dist/modules/setup-wizard/usecases/steps/addProject.step.d.ts +10 -0
  282. package/dist/modules/setup-wizard/usecases/steps/addProject.step.d.ts.map +1 -0
  283. package/dist/modules/setup-wizard/usecases/steps/addProject.step.js +49 -0
  284. package/dist/modules/setup-wizard/usecases/steps/addProject.step.js.map +1 -0
  285. package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.d.ts +10 -0
  286. package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.d.ts.map +1 -0
  287. package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.js +47 -0
  288. package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.js.map +1 -0
  289. package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.d.ts +10 -0
  290. package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.d.ts.map +1 -0
  291. package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.js +23 -0
  292. package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.js.map +1 -0
  293. package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.d.ts +10 -0
  294. package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.d.ts.map +1 -0
  295. package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.js +49 -0
  296. package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.js.map +1 -0
  297. package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.d.ts +10 -0
  298. package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.d.ts.map +1 -0
  299. package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.js +35 -0
  300. package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.js.map +1 -0
  301. package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.d.ts +10 -0
  302. package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.d.ts.map +1 -0
  303. package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.js +42 -0
  304. package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.js.map +1 -0
  305. package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.d.ts +10 -0
  306. package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.d.ts.map +1 -0
  307. package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.js +57 -0
  308. package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.js.map +1 -0
  309. package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.d.ts +10 -0
  310. package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.d.ts.map +1 -0
  311. package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.js +35 -0
  312. package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.js.map +1 -0
  313. package/dist/modules/setup-wizard/usecases/steps/registerProject.step.d.ts +10 -0
  314. package/dist/modules/setup-wizard/usecases/steps/registerProject.step.d.ts.map +1 -0
  315. package/dist/modules/setup-wizard/usecases/steps/registerProject.step.js +33 -0
  316. package/dist/modules/setup-wizard/usecases/steps/registerProject.step.js.map +1 -0
  317. package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.d.ts +10 -0
  318. package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.d.ts.map +1 -0
  319. package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.js +29 -0
  320. package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.js.map +1 -0
  321. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts +27 -0
  322. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts.map +1 -0
  323. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js +66 -0
  324. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js.map +1 -0
  325. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.d.ts +0 -6
  326. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.d.ts.map +1 -1
  327. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.js +0 -4
  328. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.js.map +1 -1
  329. package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.d.ts +0 -5
  330. package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.d.ts.map +1 -1
  331. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.d.ts.map +1 -1
  332. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.js +0 -6
  333. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.js.map +1 -1
  334. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.d.ts.map +1 -1
  335. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js +1 -7
  336. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js.map +1 -1
  337. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.d.ts.map +1 -1
  338. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.js +0 -6
  339. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.js.map +1 -1
  340. package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.js +0 -6
  341. package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.js.map +1 -1
  342. package/dist/tests/acceptance/183-setup-wizard.acceptance.test.d.ts +12 -0
  343. package/dist/tests/acceptance/183-setup-wizard.acceptance.test.d.ts.map +1 -0
  344. package/dist/tests/acceptance/183-setup-wizard.acceptance.test.js +277 -0
  345. package/dist/tests/acceptance/183-setup-wizard.acceptance.test.js.map +1 -0
  346. package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.d.ts +2 -0
  347. package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.d.ts.map +1 -0
  348. package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.js +67 -0
  349. package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.js.map +1 -0
  350. package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.d.ts +2 -0
  351. package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.d.ts.map +1 -0
  352. package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.js +272 -0
  353. package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.js.map +1 -0
  354. package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.d.ts +12 -0
  355. package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.d.ts.map +1 -0
  356. package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.js +252 -0
  357. package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.js.map +1 -0
  358. package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.d.ts +2 -0
  359. package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.d.ts.map +1 -0
  360. package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.js +83 -0
  361. package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.js.map +1 -0
  362. package/dist/tests/factories/agentPreset.factory.d.ts +11 -0
  363. package/dist/tests/factories/agentPreset.factory.d.ts.map +1 -0
  364. package/dist/tests/factories/agentPreset.factory.js +9 -0
  365. package/dist/tests/factories/agentPreset.factory.js.map +1 -0
  366. package/dist/tests/factories/projectContext.factory.d.ts +13 -0
  367. package/dist/tests/factories/projectContext.factory.d.ts.map +1 -0
  368. package/dist/tests/factories/projectContext.factory.js +12 -0
  369. package/dist/tests/factories/projectContext.factory.js.map +1 -0
  370. package/dist/tests/factories/setupInput.factory.d.ts +8 -0
  371. package/dist/tests/factories/setupInput.factory.d.ts.map +1 -0
  372. package/dist/tests/factories/setupInput.factory.js +15 -0
  373. package/dist/tests/factories/setupInput.factory.js.map +1 -0
  374. package/dist/tests/factories/setupState.factory.d.ts +13 -0
  375. package/dist/tests/factories/setupState.factory.d.ts.map +1 -0
  376. package/dist/tests/factories/setupState.factory.js +11 -0
  377. package/dist/tests/factories/setupState.factory.js.map +1 -0
  378. package/dist/tests/factories/stepOutcome.factory.d.ts +12 -0
  379. package/dist/tests/factories/stepOutcome.factory.d.ts.map +1 -0
  380. package/dist/tests/factories/stepOutcome.factory.js +11 -0
  381. package/dist/tests/factories/stepOutcome.factory.js.map +1 -0
  382. package/dist/tests/factories/wizardStreamEvent.factory.d.ts +39 -0
  383. package/dist/tests/factories/wizardStreamEvent.factory.d.ts.map +1 -0
  384. package/dist/tests/factories/wizardStreamEvent.factory.js +50 -0
  385. package/dist/tests/factories/wizardStreamEvent.factory.js.map +1 -0
  386. package/dist/tests/factories/worktreeHealth.factory.d.ts +0 -4
  387. package/dist/tests/factories/worktreeHealth.factory.d.ts.map +1 -1
  388. package/dist/tests/factories/worktreeHealth.factory.js +0 -11
  389. package/dist/tests/factories/worktreeHealth.factory.js.map +1 -1
  390. package/dist/tests/stubs/setup-wizard/aiFallback.stub.d.ts +14 -0
  391. package/dist/tests/stubs/setup-wizard/aiFallback.stub.d.ts.map +1 -0
  392. package/dist/tests/stubs/setup-wizard/aiFallback.stub.js +15 -0
  393. package/dist/tests/stubs/setup-wizard/aiFallback.stub.js.map +1 -0
  394. package/dist/tests/stubs/setup-wizard/claudeAuth.stub.d.ts +15 -0
  395. package/dist/tests/stubs/setup-wizard/claudeAuth.stub.d.ts.map +1 -0
  396. package/dist/tests/stubs/setup-wizard/claudeAuth.stub.js +20 -0
  397. package/dist/tests/stubs/setup-wizard/claudeAuth.stub.js.map +1 -0
  398. package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.d.ts +13 -0
  399. package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.d.ts.map +1 -0
  400. package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.js +12 -0
  401. package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.js.map +1 -0
  402. package/dist/tests/stubs/setup-wizard/daemonService.stub.d.ts +18 -0
  403. package/dist/tests/stubs/setup-wizard/daemonService.stub.d.ts.map +1 -0
  404. package/dist/tests/stubs/setup-wizard/daemonService.stub.js +25 -0
  405. package/dist/tests/stubs/setup-wizard/daemonService.stub.js.map +1 -0
  406. package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.d.ts +16 -0
  407. package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.d.ts.map +1 -0
  408. package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.js +18 -0
  409. package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.js.map +1 -0
  410. package/dist/tests/stubs/setup-wizard/envFile.stub.d.ts +13 -0
  411. package/dist/tests/stubs/setup-wizard/envFile.stub.d.ts.map +1 -0
  412. package/dist/tests/stubs/setup-wizard/envFile.stub.js +27 -0
  413. package/dist/tests/stubs/setup-wizard/envFile.stub.js.map +1 -0
  414. package/dist/tests/stubs/setup-wizard/gitRemote.stub.d.ts +20 -0
  415. package/dist/tests/stubs/setup-wizard/gitRemote.stub.d.ts.map +1 -0
  416. package/dist/tests/stubs/setup-wizard/gitRemote.stub.js +27 -0
  417. package/dist/tests/stubs/setup-wizard/gitRemote.stub.js.map +1 -0
  418. package/dist/tests/stubs/setup-wizard/lineReader.stub.d.ts +7 -0
  419. package/dist/tests/stubs/setup-wizard/lineReader.stub.d.ts.map +1 -0
  420. package/dist/tests/stubs/setup-wizard/lineReader.stub.js +13 -0
  421. package/dist/tests/stubs/setup-wizard/lineReader.stub.js.map +1 -0
  422. package/dist/tests/stubs/setup-wizard/projectConfig.stub.d.ts +13 -0
  423. package/dist/tests/stubs/setup-wizard/projectConfig.stub.d.ts.map +1 -0
  424. package/dist/tests/stubs/setup-wizard/projectConfig.stub.js +30 -0
  425. package/dist/tests/stubs/setup-wizard/projectConfig.stub.js.map +1 -0
  426. package/dist/tests/stubs/setup-wizard/prompt.stub.d.ts +16 -0
  427. package/dist/tests/stubs/setup-wizard/prompt.stub.d.ts.map +1 -0
  428. package/dist/tests/stubs/setup-wizard/prompt.stub.js +45 -0
  429. package/dist/tests/stubs/setup-wizard/prompt.stub.js.map +1 -0
  430. package/dist/tests/stubs/setup-wizard/serverConfig.stub.d.ts +15 -0
  431. package/dist/tests/stubs/setup-wizard/serverConfig.stub.d.ts.map +1 -0
  432. package/dist/tests/stubs/setup-wizard/serverConfig.stub.js +19 -0
  433. package/dist/tests/stubs/setup-wizard/serverConfig.stub.js.map +1 -0
  434. package/dist/tests/stubs/setup-wizard/skillTemplate.stub.d.ts +15 -0
  435. package/dist/tests/stubs/setup-wizard/skillTemplate.stub.d.ts.map +1 -0
  436. package/dist/tests/stubs/setup-wizard/skillTemplate.stub.js +11 -0
  437. package/dist/tests/stubs/setup-wizard/skillTemplate.stub.js.map +1 -0
  438. package/dist/tests/stubs/setup-wizard/validation.stub.d.ts +11 -0
  439. package/dist/tests/stubs/setup-wizard/validation.stub.d.ts.map +1 -0
  440. package/dist/tests/stubs/setup-wizard/validation.stub.js +10 -0
  441. package/dist/tests/stubs/setup-wizard/validation.stub.js.map +1 -0
  442. package/dist/tests/stubs/setupProcess.stub.d.ts +13 -0
  443. package/dist/tests/stubs/setupProcess.stub.d.ts.map +1 -0
  444. package/dist/tests/stubs/setupProcess.stub.js +53 -0
  445. package/dist/tests/stubs/setupProcess.stub.js.map +1 -0
  446. package/dist/tests/stubs/worktreeHealthProbe.stub.d.ts.map +1 -1
  447. package/dist/tests/stubs/worktreeHealthProbe.stub.js +0 -1
  448. package/dist/tests/stubs/worktreeHealthProbe.stub.js.map +1 -1
  449. package/dist/tests/units/cli/parseCliArgs.setup.test.d.ts +2 -0
  450. package/dist/tests/units/cli/parseCliArgs.setup.test.d.ts.map +1 -0
  451. package/dist/tests/units/cli/parseCliArgs.setup.test.js +45 -0
  452. package/dist/tests/units/cli/parseCliArgs.setup.test.js.map +1 -0
  453. package/dist/tests/units/dashboard/modules/setupWizard.test.d.ts +2 -0
  454. package/dist/tests/units/dashboard/modules/setupWizard.test.d.ts.map +1 -0
  455. package/dist/tests/units/dashboard/modules/setupWizard.test.js +149 -0
  456. package/dist/tests/units/dashboard/modules/setupWizard.test.js.map +1 -0
  457. package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.d.ts +2 -0
  458. package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.d.ts.map +1 -0
  459. package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.js +134 -0
  460. package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.js.map +1 -0
  461. package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.d.ts +2 -0
  462. package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.d.ts.map +1 -0
  463. package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.js +47 -0
  464. package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.js.map +1 -0
  465. package/dist/tests/units/dashboard/modules/setupWizardForms.test.d.ts +2 -0
  466. package/dist/tests/units/dashboard/modules/setupWizardForms.test.d.ts.map +1 -0
  467. package/dist/tests/units/dashboard/modules/setupWizardForms.test.js +218 -0
  468. package/dist/tests/units/dashboard/modules/setupWizardForms.test.js.map +1 -0
  469. package/dist/tests/units/dashboard/modules/setupWizardStream.test.d.ts +2 -0
  470. package/dist/tests/units/dashboard/modules/setupWizardStream.test.d.ts.map +1 -0
  471. package/dist/tests/units/dashboard/modules/setupWizardStream.test.js +83 -0
  472. package/dist/tests/units/dashboard/modules/setupWizardStream.test.js.map +1 -0
  473. package/dist/tests/units/main/commands/setup.command.test.d.ts +2 -0
  474. package/dist/tests/units/main/commands/setup.command.test.d.ts.map +1 -0
  475. package/dist/tests/units/main/commands/setup.command.test.js +141 -0
  476. package/dist/tests/units/main/commands/setup.command.test.js.map +1 -0
  477. package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.d.ts +2 -0
  478. package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.d.ts.map +1 -0
  479. package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.js +32 -0
  480. package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.js.map +1 -0
  481. package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.d.ts +2 -0
  482. package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.d.ts.map +1 -0
  483. package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.js +24 -0
  484. package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.js.map +1 -0
  485. package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.d.ts +2 -0
  486. package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.d.ts.map +1 -0
  487. package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.js +25 -0
  488. package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.js.map +1 -0
  489. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.d.ts +2 -0
  490. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.d.ts.map +1 -0
  491. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.js +26 -0
  492. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.js.map +1 -0
  493. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.d.ts +2 -0
  494. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.d.ts.map +1 -0
  495. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.js +21 -0
  496. package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.js.map +1 -0
  497. package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.d.ts +2 -0
  498. package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.d.ts.map +1 -0
  499. package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.js +44 -0
  500. package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.js.map +1 -0
  501. package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.d.ts +2 -0
  502. package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.d.ts.map +1 -0
  503. package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.js +16 -0
  504. package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.js.map +1 -0
  505. package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.d.ts +2 -0
  506. package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.d.ts.map +1 -0
  507. package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.js +35 -0
  508. package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.js.map +1 -0
  509. package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.d.ts +2 -0
  510. package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.d.ts.map +1 -0
  511. package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.js +114 -0
  512. package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.js.map +1 -0
  513. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.d.ts +2 -0
  514. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.d.ts.map +1 -0
  515. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js +158 -0
  516. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js.map +1 -0
  517. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.d.ts +2 -0
  518. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.d.ts.map +1 -0
  519. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.js +57 -0
  520. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.js.map +1 -0
  521. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.d.ts +2 -0
  522. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.d.ts.map +1 -0
  523. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.js +50 -0
  524. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.js.map +1 -0
  525. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.d.ts +2 -0
  526. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.d.ts.map +1 -0
  527. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.js +21 -0
  528. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.js.map +1 -0
  529. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.d.ts +2 -0
  530. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.d.ts.map +1 -0
  531. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.js +40 -0
  532. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.js.map +1 -0
  533. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.d.ts +2 -0
  534. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.d.ts.map +1 -0
  535. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.js +44 -0
  536. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.js.map +1 -0
  537. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.d.ts +2 -0
  538. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.d.ts.map +1 -0
  539. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.js +165 -0
  540. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.js.map +1 -0
  541. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.d.ts +2 -0
  542. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.d.ts.map +1 -0
  543. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.js +41 -0
  544. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.js.map +1 -0
  545. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.d.ts +2 -0
  546. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.d.ts.map +1 -0
  547. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.js +59 -0
  548. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.js.map +1 -0
  549. package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.d.ts +2 -0
  550. package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.d.ts.map +1 -0
  551. package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.js +64 -0
  552. package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.js.map +1 -0
  553. package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.d.ts +2 -0
  554. package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.d.ts.map +1 -0
  555. package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.js +31 -0
  556. package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.js.map +1 -0
  557. package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.d.ts +2 -0
  558. package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.d.ts.map +1 -0
  559. package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.js +59 -0
  560. package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.js.map +1 -0
  561. package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.d.ts +2 -0
  562. package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.d.ts.map +1 -0
  563. package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.js +65 -0
  564. package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.js.map +1 -0
  565. package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.d.ts +2 -0
  566. package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.d.ts.map +1 -0
  567. package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.js +21 -0
  568. package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.js.map +1 -0
  569. package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.d.ts +2 -0
  570. package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.d.ts.map +1 -0
  571. package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.js +251 -0
  572. package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.js.map +1 -0
  573. package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.d.ts +2 -0
  574. package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.d.ts.map +1 -0
  575. package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.js +110 -0
  576. package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.js.map +1 -0
  577. package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.d.ts +2 -0
  578. package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.d.ts.map +1 -0
  579. package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.js +77 -0
  580. package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.js.map +1 -0
  581. package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.d.ts +2 -0
  582. package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.d.ts.map +1 -0
  583. package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.js +77 -0
  584. package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.js.map +1 -0
  585. package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.d.ts +2 -0
  586. package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.d.ts.map +1 -0
  587. package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.js +82 -0
  588. package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.js.map +1 -0
  589. package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.d.ts +2 -0
  590. package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.d.ts.map +1 -0
  591. package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.js +113 -0
  592. package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.js.map +1 -0
  593. package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.d.ts +2 -0
  594. package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.d.ts.map +1 -0
  595. package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.js +92 -0
  596. package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.js.map +1 -0
  597. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.d.ts +2 -0
  598. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.d.ts.map +1 -0
  599. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.js +78 -0
  600. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.js.map +1 -0
  601. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.d.ts +2 -0
  602. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.d.ts.map +1 -0
  603. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.js +86 -0
  604. package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.js.map +1 -0
  605. package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.d.ts +2 -0
  606. package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.d.ts.map +1 -0
  607. package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.js +66 -0
  608. package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.js.map +1 -0
  609. package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.d.ts +2 -0
  610. package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.d.ts.map +1 -0
  611. package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.js +70 -0
  612. package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.js.map +1 -0
  613. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.d.ts +2 -0
  614. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.d.ts.map +1 -0
  615. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js +91 -0
  616. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js.map +1 -0
  617. package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.js +0 -7
  618. package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.js.map +1 -1
  619. package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.js +0 -16
  620. package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.js.map +1 -1
  621. package/dist/tests/units/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.test.js +0 -21
  622. package/dist/tests/units/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.test.js.map +1 -1
  623. package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.js +1 -16
  624. package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.js.map +1 -1
  625. package/package.json +1 -1
@@ -0,0 +1,149 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { buildStepRowsModel, buildBannerModel, statusToDotClass, statusToLabel, buildAriaAnnouncement, renderStepRow, } from '../../../../dashboard/modules/setupWizard.js';
3
+ import { STEP_IDS } from '../../../../modules/setup-wizard/entities/stepId/stepId.schema.js';
4
+ describe('buildStepRowsModel', () => {
5
+ it('returns the 10 step rows in StepId order with a pending initial state', () => {
6
+ const rows = buildStepRowsModel([]);
7
+ expect(rows).toHaveLength(10);
8
+ expect(rows.map((row) => row.id)).toEqual([...STEP_IDS]);
9
+ for (const row of rows) {
10
+ expect(row.status).toBe('pending');
11
+ }
12
+ });
13
+ it('transitions a step to in_progress when its started event is consumed', () => {
14
+ const rows = buildStepRowsModel([
15
+ { step: 'dependencies', status: 'in_progress', message: 'Checking' },
16
+ ]);
17
+ const row = rows.find((entry) => entry.id === 'dependencies');
18
+ expect(row?.status).toBe('in_progress');
19
+ expect(row?.message).toBe('Checking');
20
+ });
21
+ it('keeps the latest status when a step receives started then completed', () => {
22
+ const rows = buildStepRowsModel([
23
+ { step: 'daemon', status: 'in_progress', message: 'Installing' },
24
+ { step: 'daemon', status: 'succeeded', message: 'Installed', remediation: null },
25
+ ]);
26
+ const row = rows.find((entry) => entry.id === 'daemon');
27
+ expect(row?.status).toBe('succeeded');
28
+ expect(row?.message).toBe('Installed');
29
+ });
30
+ it('carries the remediation on a blocked step', () => {
31
+ const rows = buildStepRowsModel([
32
+ { step: 'pipeline', status: 'blocked', message: 'No remote', remediation: 'Add a git remote' },
33
+ ]);
34
+ const row = rows.find((entry) => entry.id === 'pipeline');
35
+ expect(row?.status).toBe('blocked');
36
+ expect(row?.remediation).toBe('Add a git remote');
37
+ });
38
+ it('renders an awaiting_input step read-only with its prompt as the message', () => {
39
+ const rows = buildStepRowsModel([
40
+ { step: 'add-project', status: 'awaiting_input', prompt: 'Chemin du projet ?' },
41
+ ]);
42
+ const row = rows.find((entry) => entry.id === 'add-project');
43
+ expect(row?.status).toBe('awaiting_input');
44
+ expect(row?.message).toBe('Chemin du projet ?');
45
+ });
46
+ it('never includes banner events as step rows', () => {
47
+ const rows = buildStepRowsModel([
48
+ { step: 'instructions', status: 'info', lines: ['x'] },
49
+ { step: 'warning', status: 'warning', message: 'careful' },
50
+ { step: 'resume', status: 'resumed', resumeAt: 'secrets', position: 4, total: 10 },
51
+ { step: 'done', status: 'completed', summary: {} },
52
+ ]);
53
+ expect(rows).toHaveLength(10);
54
+ const ids = rows.map((row) => row.id);
55
+ expect(ids).not.toContain('instructions');
56
+ expect(ids).not.toContain('warning');
57
+ expect(ids).not.toContain('resume');
58
+ expect(ids).not.toContain('done');
59
+ });
60
+ });
61
+ describe('buildBannerModel', () => {
62
+ it('maps resume to a banner with position and total', () => {
63
+ const banners = buildBannerModel([
64
+ { step: 'resume', status: 'resumed', resumeAt: 'secrets', position: 4, total: 10 },
65
+ ]);
66
+ expect(banners).toHaveLength(1);
67
+ expect(banners[0].kind).toBe('resume');
68
+ expect(banners[0].position).toBe(4);
69
+ expect(banners[0].total).toBe(10);
70
+ });
71
+ it('maps done, warning and instructions to banners', () => {
72
+ const banners = buildBannerModel([
73
+ { step: 'done', status: 'completed', summary: { project: 'owner/repo' } },
74
+ { step: 'warning', status: 'warning', message: 'careful' },
75
+ { step: 'instructions', status: 'info', lines: ['line a', 'line b'] },
76
+ ]);
77
+ expect(banners.map((banner) => banner.kind)).toEqual(['done', 'warning', 'instructions']);
78
+ });
79
+ it('ignores step events', () => {
80
+ const banners = buildBannerModel([
81
+ { step: 'dependencies', status: 'succeeded', message: 'done', remediation: null },
82
+ ]);
83
+ expect(banners).toHaveLength(0);
84
+ });
85
+ });
86
+ describe('statusToDotClass', () => {
87
+ it('maps each observable status to a distinct dot class', () => {
88
+ expect(statusToDotClass('pending')).toContain('pending');
89
+ expect(statusToDotClass('in_progress')).toContain('in-progress');
90
+ expect(statusToDotClass('succeeded')).toContain('succeeded');
91
+ expect(statusToDotClass('skipped')).toContain('skipped');
92
+ expect(statusToDotClass('blocked')).toContain('blocked');
93
+ expect(statusToDotClass('warning')).toContain('warning');
94
+ expect(statusToDotClass('awaiting_input')).toContain('awaiting-input');
95
+ });
96
+ });
97
+ describe('statusToLabel', () => {
98
+ it('returns an uppercase human label for a status', () => {
99
+ expect(statusToLabel('in_progress')).toBe('IN PROGRESS');
100
+ expect(statusToLabel('succeeded')).toBe('SUCCEEDED');
101
+ expect(statusToLabel('blocked')).toBe('BLOCKED');
102
+ });
103
+ });
104
+ describe('buildAriaAnnouncement', () => {
105
+ it('announces step position and status for screen readers', () => {
106
+ const announcement = buildAriaAnnouncement({
107
+ id: 'claude-login',
108
+ label: 'Claude login',
109
+ status: 'succeeded',
110
+ message: null,
111
+ remediation: null,
112
+ position: 2,
113
+ total: 10,
114
+ });
115
+ expect(announcement).toContain('2');
116
+ expect(announcement).toContain('10');
117
+ expect(announcement.toLowerCase()).toContain('succeeded');
118
+ });
119
+ });
120
+ describe('renderStepRow', () => {
121
+ it('emits the // LABEL prefix and a status dot with the mapped class', () => {
122
+ const html = renderStepRow({
123
+ id: 'dependencies',
124
+ label: 'Dependencies',
125
+ status: 'in_progress',
126
+ message: 'Checking',
127
+ remediation: null,
128
+ position: 1,
129
+ total: 10,
130
+ });
131
+ expect(html).toContain('// DEPENDENCIES');
132
+ expect(html).toContain('setup-step-dot--in-progress');
133
+ expect(html).toContain('data-step-id="dependencies"');
134
+ });
135
+ it('escapes the remediation message to avoid injection', () => {
136
+ const html = renderStepRow({
137
+ id: 'pipeline',
138
+ label: 'Pipeline',
139
+ status: 'blocked',
140
+ message: 'broken',
141
+ remediation: '<img src=x onerror=alert(1)>',
142
+ position: 6,
143
+ total: 10,
144
+ });
145
+ expect(html).not.toContain('<img src=x');
146
+ expect(html).toContain('&lt;img');
147
+ });
148
+ });
149
+ //# sourceMappingURL=setupWizard.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizard.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizard.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAC;AAEnF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;SACrE,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE;YAChE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE;SACjF,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAC/F,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,EAAE;SAChF,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;YACtD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;YAC1D,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAClF,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;SACnD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;SACnF,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;YACzE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;YAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,OAAO,GAAG,gBAAgB,CAAC;YAC/B,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE;SAClF,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,YAAY,GAAG,qBAAqB,CAAC;YACzC,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setupWizardAvatar.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardAvatar.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardAvatar.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,134 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { AVATAR_STATES, avatarStateFromEvents, shouldUseAvatar, avatarStateToVisual, projectVertex, WIREFRAME_VERTICES, WIREFRAME_EDGES, } from '../../../../dashboard/modules/setupWizardAvatar.js';
3
+ describe('avatarStateFromEvents', () => {
4
+ it('returns idle when no events have been received yet', () => {
5
+ expect(avatarStateFromEvents([])).toBe('idle');
6
+ });
7
+ it('returns working when the latest step is in_progress', () => {
8
+ const events = [{ step: 'dependencies', status: 'in_progress', message: 'Checking' }];
9
+ expect(avatarStateFromEvents(events)).toBe('working');
10
+ });
11
+ it('returns success when the latest step succeeded', () => {
12
+ const events = [
13
+ { step: 'dependencies', status: 'in_progress', message: 'Checking' },
14
+ { step: 'dependencies', status: 'succeeded', message: 'Done' },
15
+ ];
16
+ expect(avatarStateFromEvents(events)).toBe('success');
17
+ });
18
+ it('treats a skipped step as success (no error state)', () => {
19
+ const events = [{ step: 'claude-login', status: 'skipped', message: 'Already logged in' }];
20
+ expect(avatarStateFromEvents(events)).toBe('success');
21
+ });
22
+ it('returns error when the latest step is blocked', () => {
23
+ const events = [
24
+ { step: 'pipeline', status: 'blocked', message: 'Aucun remote git', remediation: 'Add a remote' },
25
+ ];
26
+ expect(avatarStateFromEvents(events)).toBe('error');
27
+ });
28
+ it('returns listening when the latest step awaits input', () => {
29
+ const events = [
30
+ { step: 'add-project', status: 'awaiting_input', prompt: 'Chemin ?', kind: 'choice', options: [], defaultValue: null },
31
+ ];
32
+ expect(avatarStateFromEvents(events)).toBe('listening');
33
+ });
34
+ it('keeps working on a non-fatal warning', () => {
35
+ const events = [
36
+ { step: 'daemon', status: 'in_progress', message: 'Starting' },
37
+ { step: 'warning', status: 'warning', message: 'Daemon already running' },
38
+ ];
39
+ expect(avatarStateFromEvents(events)).toBe('working');
40
+ });
41
+ it('returns celebrating on terminal completion', () => {
42
+ const events = [
43
+ { step: 'next-actions', status: 'succeeded', message: 'Done' },
44
+ { step: 'done', status: 'completed', summary: {} },
45
+ ];
46
+ expect(avatarStateFromEvents(events)).toBe('celebrating');
47
+ });
48
+ it('ignores informational banner events when deriving the state', () => {
49
+ const events = [
50
+ { step: 'dependencies', status: 'in_progress', message: 'Checking' },
51
+ { step: 'instructions', status: 'info', lines: ['Run claude login'] },
52
+ { step: 'resume', status: 'resumed', resumeAt: 'add-project', position: 5, total: 10 },
53
+ ];
54
+ expect(avatarStateFromEvents(events)).toBe('working');
55
+ });
56
+ });
57
+ describe('shouldUseAvatar', () => {
58
+ it('uses the avatar when canvas is supported and reduced motion is off', () => {
59
+ expect(shouldUseAvatar({ canvasSupported: true, reducedMotion: false })).toBe(true);
60
+ });
61
+ it('falls back when reduced motion is preferred', () => {
62
+ expect(shouldUseAvatar({ canvasSupported: true, reducedMotion: true })).toBe(false);
63
+ });
64
+ it('falls back when canvas is not supported', () => {
65
+ expect(shouldUseAvatar({ canvasSupported: false, reducedMotion: false })).toBe(false);
66
+ });
67
+ it('falls back when neither canvas nor motion is available', () => {
68
+ expect(shouldUseAvatar({ canvasSupported: false, reducedMotion: true })).toBe(false);
69
+ });
70
+ });
71
+ describe('avatarStateToVisual', () => {
72
+ it('maps the error state to the danger colour token', () => {
73
+ expect(avatarStateToVisual('error').color).toBe('--danger');
74
+ });
75
+ it('maps the success and celebrating states to the success colour token', () => {
76
+ expect(avatarStateToVisual('success').color).toBe('--success');
77
+ expect(avatarStateToVisual('celebrating').color).toBe('--success');
78
+ });
79
+ it('maps idle, working and listening to the accent colour token', () => {
80
+ expect(avatarStateToVisual('idle').color).toBe('--accent');
81
+ expect(avatarStateToVisual('working').color).toBe('--accent');
82
+ expect(avatarStateToVisual('listening').color).toBe('--accent');
83
+ });
84
+ it('returns numeric line width, rotation speed and pulse for every state', () => {
85
+ for (const state of AVATAR_STATES) {
86
+ const visual = avatarStateToVisual(state);
87
+ expect(typeof visual.lineWidth).toBe('number');
88
+ expect(typeof visual.rotationSpeed).toBe('number');
89
+ expect(typeof visual.pulse).toBe('number');
90
+ }
91
+ });
92
+ it('rotates faster while working than while idle', () => {
93
+ expect(avatarStateToVisual('working').rotationSpeed).toBeGreaterThan(avatarStateToVisual('idle').rotationSpeed);
94
+ });
95
+ });
96
+ describe('wireframe geometry', () => {
97
+ it('describes an icosahedron with 12 vertices and 30 edges', () => {
98
+ expect(WIREFRAME_VERTICES).toHaveLength(12);
99
+ expect(WIREFRAME_EDGES).toHaveLength(30);
100
+ });
101
+ it('references only existing vertices in every edge', () => {
102
+ for (const [from, to] of WIREFRAME_EDGES) {
103
+ expect(from).toBeGreaterThanOrEqual(0);
104
+ expect(to).toBeGreaterThanOrEqual(0);
105
+ expect(from).toBeLessThan(WIREFRAME_VERTICES.length);
106
+ expect(to).toBeLessThan(WIREFRAME_VERTICES.length);
107
+ }
108
+ });
109
+ });
110
+ describe('projectVertex', () => {
111
+ const projection = { tilt: 0, distance: 4, scale: 100, centerX: 200, centerY: 150 };
112
+ it('places a vertex at the canvas centre on its projected axes for the origin', () => {
113
+ const point = projectVertex([0, 0, 0], 0, projection);
114
+ expect(point.x).toBeCloseTo(200, 5);
115
+ expect(point.y).toBeCloseTo(150, 5);
116
+ });
117
+ it('is deterministic for a known vertex at zero rotation', () => {
118
+ const first = projectVertex([1, 0, 0], 0, projection);
119
+ const second = projectVertex([1, 0, 0], 0, projection);
120
+ expect(first).toEqual(second);
121
+ });
122
+ it('returns to the starting point after a full 2π rotation', () => {
123
+ const start = projectVertex([1, 0.5, -0.5], 0, projection);
124
+ const full = projectVertex([1, 0.5, -0.5], Math.PI * 2, projection);
125
+ expect(full.x).toBeCloseTo(start.x, 5);
126
+ expect(full.y).toBeCloseTo(start.y, 5);
127
+ });
128
+ it('moves the projected x of an off-centre vertex when it rotates', () => {
129
+ const start = projectVertex([1, 0, 0], 0, projection);
130
+ const quarter = projectVertex([1, 0, 0], Math.PI / 2, projection);
131
+ expect(quarter.x).not.toBeCloseTo(start.x, 2);
132
+ });
133
+ });
134
+ //# sourceMappingURL=setupWizardAvatar.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardAvatar.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardAvatar.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setupWizardAvatarRenderer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardAvatarRenderer.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { mountSetupWizardAvatar } from '../../../../dashboard/modules/setupWizardAvatarRenderer.js';
3
+ function fakeCanvas() {
4
+ return { width: 220, height: 220, getContext: () => null };
5
+ }
6
+ describe('mountSetupWizardAvatar (lifecycle glue)', () => {
7
+ it('schedules an animation frame on mount', () => {
8
+ const requested = [];
9
+ const canvas = fakeCanvas();
10
+ mountSetupWizardAvatar({
11
+ canvas,
12
+ requestFrame: (callback) => {
13
+ requested.push(callback);
14
+ return requested.length;
15
+ },
16
+ cancelFrame: () => undefined,
17
+ now: () => 0,
18
+ });
19
+ expect(requested).toHaveLength(1);
20
+ });
21
+ it('cancels the scheduled frame on destroy so the loop cannot leak', () => {
22
+ const cancelled = [];
23
+ const canvas = fakeCanvas();
24
+ const controls = mountSetupWizardAvatar({
25
+ canvas,
26
+ requestFrame: () => 42,
27
+ cancelFrame: (handle) => {
28
+ cancelled.push(handle);
29
+ },
30
+ now: () => 0,
31
+ });
32
+ controls.destroy();
33
+ expect(cancelled).toEqual([42]);
34
+ });
35
+ it('exposes setState and destroy controls', () => {
36
+ const canvas = fakeCanvas();
37
+ const controls = mountSetupWizardAvatar({
38
+ canvas,
39
+ requestFrame: () => 1,
40
+ cancelFrame: () => undefined,
41
+ now: () => 0,
42
+ });
43
+ expect(typeof controls.setState).toBe('function');
44
+ expect(typeof controls.destroy).toBe('function');
45
+ });
46
+ });
47
+ //# sourceMappingURL=setupWizardAvatarRenderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardAvatarRenderer.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAQ1F,SAAS,UAAU;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,SAAS,GAAkC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,sBAAsB,CAAC;YACrB,MAAM;YACN,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACzB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,OAAO,SAAS,CAAC,MAAM,CAAC;YAC1B,CAAC;YACD,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;YAC5B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;SACb,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,MAAM;YACN,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;YACtB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YACD,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,MAAM;YACN,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YACrB,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;YAC5B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;SACb,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setupWizardForms.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardForms.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardForms.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,218 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { buildFormModel, renderForm, buildInputPayload, } from '../../../../dashboard/modules/setupWizardForms.js';
3
+ describe('buildFormModel', () => {
4
+ it('extracts the view model from a text awaiting_input event', () => {
5
+ const model = buildFormModel({
6
+ step: 'add-project',
7
+ status: 'awaiting_input',
8
+ prompt: 'Chemin du projet ?',
9
+ kind: 'text',
10
+ options: [],
11
+ defaultValue: '/home/u/cwd',
12
+ });
13
+ expect(model).toEqual({
14
+ stepId: 'add-project',
15
+ kind: 'text',
16
+ prompt: 'Chemin du projet ?',
17
+ options: [],
18
+ defaultValue: '/home/u/cwd',
19
+ });
20
+ });
21
+ it('extracts the offered options from a choice event', () => {
22
+ const model = buildFormModel({
23
+ step: 'pipeline',
24
+ status: 'awaiting_input',
25
+ prompt: 'Preset ?',
26
+ kind: 'choice',
27
+ options: [
28
+ { label: 'Backend', value: 'backend' },
29
+ { label: 'Frontend', value: 'frontend' },
30
+ ],
31
+ defaultValue: null,
32
+ });
33
+ expect(model?.kind).toBe('choice');
34
+ expect(model?.options).toEqual([
35
+ { label: 'Backend', value: 'backend' },
36
+ { label: 'Frontend', value: 'frontend' },
37
+ ]);
38
+ });
39
+ it('returns null when the event is not an awaiting_input event', () => {
40
+ const model = buildFormModel({
41
+ step: 'dependencies',
42
+ status: 'in_progress',
43
+ message: 'Checking',
44
+ });
45
+ expect(model).toBeNull();
46
+ });
47
+ it('returns null when the event is null', () => {
48
+ expect(buildFormModel(null)).toBeNull();
49
+ });
50
+ it('defaults options to an empty list and defaultValue to null when absent', () => {
51
+ const model = buildFormModel({
52
+ step: 'secrets',
53
+ status: 'awaiting_input',
54
+ prompt: 'Rotation requise ?',
55
+ kind: 'confirm',
56
+ });
57
+ expect(model?.options).toEqual([]);
58
+ expect(model?.defaultValue).toBeNull();
59
+ });
60
+ });
61
+ describe('renderForm', () => {
62
+ it('renders a text input using the default value as placeholder plus a submit', () => {
63
+ const html = renderForm({
64
+ stepId: 'add-project',
65
+ kind: 'text',
66
+ prompt: 'Chemin du projet ?',
67
+ options: [],
68
+ defaultValue: '/home/u/cwd',
69
+ });
70
+ expect(html).toContain('<input');
71
+ expect(html).toContain('type="text"');
72
+ expect(html).toContain('placeholder="/home/u/cwd"');
73
+ expect(html).toContain('// CHEMIN DU PROJET ?'.toUpperCase());
74
+ expect(html).toContain('type="submit"');
75
+ });
76
+ it('renders confirm and cancel controls for a confirm prompt', () => {
77
+ const html = renderForm({
78
+ stepId: 'secrets',
79
+ kind: 'confirm',
80
+ prompt: 'Rotation requise ?',
81
+ options: [],
82
+ defaultValue: null,
83
+ });
84
+ expect(html).toContain('data-confirm-value="true"');
85
+ expect(html).toContain('data-confirm-value="false"');
86
+ expect(html).toContain('Confirmer');
87
+ expect(html).toContain('Annuler');
88
+ });
89
+ it('renders a selectable list of options for a choice prompt', () => {
90
+ const html = renderForm({
91
+ stepId: 'pipeline',
92
+ kind: 'choice',
93
+ prompt: 'Preset ?',
94
+ options: [
95
+ { label: 'Backend', value: 'backend' },
96
+ { label: 'Frontend', value: 'frontend' },
97
+ ],
98
+ defaultValue: null,
99
+ });
100
+ expect(html).toContain('Backend');
101
+ expect(html).toContain('Frontend');
102
+ expect(html).toContain('data-choice-value="backend"');
103
+ expect(html).toContain('data-choice-value="frontend"');
104
+ });
105
+ it('renders checkboxes plus a submit for a multiSelect prompt', () => {
106
+ const html = renderForm({
107
+ stepId: 'pipeline',
108
+ kind: 'multiSelect',
109
+ prompt: 'Agents ?',
110
+ options: [
111
+ { label: 'SOLID', value: 'solid' },
112
+ { label: 'Testing', value: 'testing' },
113
+ ],
114
+ defaultValue: null,
115
+ });
116
+ expect(html).toContain('type="checkbox"');
117
+ expect(html).toContain('value="solid"');
118
+ expect(html).toContain('value="testing"');
119
+ expect(html).toContain('SOLID');
120
+ expect(html).toContain('type="submit"');
121
+ });
122
+ it('carries the // LABEL prefix and corner brackets consistent with step rows', () => {
123
+ const html = renderForm({
124
+ stepId: 'add-project',
125
+ kind: 'text',
126
+ prompt: 'Chemin du projet ?',
127
+ options: [],
128
+ defaultValue: null,
129
+ });
130
+ expect(html).toContain('// ');
131
+ expect(html).toContain('setup-corner--tl');
132
+ expect(html).toContain('setup-corner--br');
133
+ });
134
+ it('escapes the prompt and option labels to avoid injection', () => {
135
+ const html = renderForm({
136
+ stepId: 'pipeline',
137
+ kind: 'choice',
138
+ prompt: '<img src=x onerror=alert(1)>',
139
+ options: [{ label: '<script>bad()</script>', value: 'evil' }],
140
+ defaultValue: null,
141
+ });
142
+ expect(html).not.toContain('<img src=x');
143
+ expect(html).not.toContain('<script>bad()');
144
+ expect(html.toLowerCase()).toContain('&lt;img');
145
+ expect(html).toContain('&lt;script&gt;');
146
+ });
147
+ it('returns an empty string when the model is null', () => {
148
+ expect(renderForm(null)).toBe('');
149
+ });
150
+ });
151
+ describe('buildInputPayload', () => {
152
+ it('builds a text payload with the raw string value', () => {
153
+ const payload = buildInputPayload('text', 'run-1', '/home/u/api', []);
154
+ expect(payload).toEqual({
155
+ ok: true,
156
+ body: { runId: 'run-1', kind: 'text', value: '/home/u/api' },
157
+ });
158
+ });
159
+ it('coerces a confirm value to a boolean', () => {
160
+ expect(buildInputPayload('confirm', 'run-1', true, [])).toEqual({
161
+ ok: true,
162
+ body: { runId: 'run-1', kind: 'confirm', value: true },
163
+ });
164
+ expect(buildInputPayload('confirm', 'run-1', false, [])).toEqual({
165
+ ok: true,
166
+ body: { runId: 'run-1', kind: 'confirm', value: false },
167
+ });
168
+ });
169
+ it('builds a choice payload when the value is among the offered options', () => {
170
+ const payload = buildInputPayload('choice', 'run-1', 'backend', [
171
+ { label: 'Backend', value: 'backend' },
172
+ { label: 'Frontend', value: 'frontend' },
173
+ ]);
174
+ expect(payload).toEqual({
175
+ ok: true,
176
+ body: { runId: 'run-1', kind: 'choice', value: 'backend' },
177
+ });
178
+ });
179
+ it('surfaces an invalid choice that is not among the offered options', () => {
180
+ const payload = buildInputPayload('choice', 'run-1', 'database', [
181
+ { label: 'Backend', value: 'backend' },
182
+ ]);
183
+ expect(payload.ok).toBe(false);
184
+ expect(payload).toHaveProperty('error');
185
+ });
186
+ it('builds a multiSelect payload when every value is among the offered options', () => {
187
+ const payload = buildInputPayload('multiSelect', 'run-1', ['solid', 'testing'], [
188
+ { label: 'SOLID', value: 'solid' },
189
+ { label: 'Testing', value: 'testing' },
190
+ ]);
191
+ expect(payload).toEqual({
192
+ ok: true,
193
+ body: { runId: 'run-1', kind: 'multiSelect', value: ['solid', 'testing'] },
194
+ });
195
+ });
196
+ it('surfaces an invalid multiSelect when any value is not offered', () => {
197
+ const payload = buildInputPayload('multiSelect', 'run-1', ['solid', 'ghost'], [
198
+ { label: 'SOLID', value: 'solid' },
199
+ ]);
200
+ expect(payload.ok).toBe(false);
201
+ expect(payload).toHaveProperty('error');
202
+ });
203
+ it('accepts an empty multiSelect selection', () => {
204
+ const payload = buildInputPayload('multiSelect', 'run-1', [], [
205
+ { label: 'SOLID', value: 'solid' },
206
+ ]);
207
+ expect(payload).toEqual({
208
+ ok: true,
209
+ body: { runId: 'run-1', kind: 'multiSelect', value: [] },
210
+ });
211
+ });
212
+ it('surfaces an invalid confirm value that is not a boolean', () => {
213
+ const payload = buildInputPayload('confirm', 'run-1', 'yes', []);
214
+ expect(payload.ok).toBe(false);
215
+ expect(payload).toHaveProperty('error');
216
+ });
217
+ });
218
+ //# sourceMappingURL=setupWizardForms.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardForms.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardForms.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setupWizardStream.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWizardStream.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/setupWizardStream.test.ts"],"names":[],"mappings":""}