@amplitude/wizard 1.0.0-beta.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 (333) hide show
  1. package/LICENSE +47 -0
  2. package/README.md +119 -0
  3. package/dist/bin.d.ts +2 -0
  4. package/dist/bin.js +763 -0
  5. package/dist/package.json +144 -0
  6. package/dist/src/frameworks/android/android-wizard-agent.d.ts +6 -0
  7. package/dist/src/frameworks/android/android-wizard-agent.js +72 -0
  8. package/dist/src/frameworks/android/utils.d.ts +11 -0
  9. package/dist/src/frameworks/android/utils.js +32 -0
  10. package/dist/src/frameworks/django/django-wizard-agent.d.ts +8 -0
  11. package/dist/src/frameworks/django/django-wizard-agent.js +171 -0
  12. package/dist/src/frameworks/django/utils.d.ts +31 -0
  13. package/dist/src/frameworks/django/utils.js +305 -0
  14. package/dist/src/frameworks/fastapi/fastapi-wizard-agent.d.ts +11 -0
  15. package/dist/src/frameworks/fastapi/fastapi-wizard-agent.js +189 -0
  16. package/dist/src/frameworks/fastapi/utils.d.ts +26 -0
  17. package/dist/src/frameworks/fastapi/utils.js +257 -0
  18. package/dist/src/frameworks/flask/flask-wizard-agent.d.ts +8 -0
  19. package/dist/src/frameworks/flask/flask-wizard-agent.js +177 -0
  20. package/dist/src/frameworks/flask/utils.d.ts +28 -0
  21. package/dist/src/frameworks/flask/utils.js +343 -0
  22. package/dist/src/frameworks/flutter/flutter-wizard-agent.d.ts +4 -0
  23. package/dist/src/frameworks/flutter/flutter-wizard-agent.js +57 -0
  24. package/dist/src/frameworks/flutter/utils.d.ts +7 -0
  25. package/dist/src/frameworks/flutter/utils.js +64 -0
  26. package/dist/src/frameworks/generic/generic-wizard-agent.d.ts +2 -0
  27. package/dist/src/frameworks/generic/generic-wizard-agent.js +176 -0
  28. package/dist/src/frameworks/go/go-wizard-agent.d.ts +4 -0
  29. package/dist/src/frameworks/go/go-wizard-agent.js +57 -0
  30. package/dist/src/frameworks/go/utils.d.ts +5 -0
  31. package/dist/src/frameworks/go/utils.js +44 -0
  32. package/dist/src/frameworks/java/java-wizard-agent.d.ts +7 -0
  33. package/dist/src/frameworks/java/java-wizard-agent.js +73 -0
  34. package/dist/src/frameworks/java/utils.d.ts +15 -0
  35. package/dist/src/frameworks/java/utils.js +64 -0
  36. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.d.ts +4 -0
  37. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.js +57 -0
  38. package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.d.ts +3 -0
  39. package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.js +151 -0
  40. package/dist/src/frameworks/javascript-web/utils.d.ts +28 -0
  41. package/dist/src/frameworks/javascript-web/utils.js +153 -0
  42. package/dist/src/frameworks/nextjs/nextjs-wizard-agent.d.ts +7 -0
  43. package/dist/src/frameworks/nextjs/nextjs-wizard-agent.js +98 -0
  44. package/dist/src/frameworks/nextjs/utils.d.ts +12 -0
  45. package/dist/src/frameworks/nextjs/utils.js +51 -0
  46. package/dist/src/frameworks/python/python-wizard-agent.d.ts +7 -0
  47. package/dist/src/frameworks/python/python-wizard-agent.js +193 -0
  48. package/dist/src/frameworks/python/utils.d.ts +28 -0
  49. package/dist/src/frameworks/python/utils.js +146 -0
  50. package/dist/src/frameworks/react-native/react-native-wizard-agent.d.ts +6 -0
  51. package/dist/src/frameworks/react-native/react-native-wizard-agent.js +84 -0
  52. package/dist/src/frameworks/react-native/utils.d.ts +21 -0
  53. package/dist/src/frameworks/react-native/utils.js +82 -0
  54. package/dist/src/frameworks/react-router/react-router-wizard-agent.d.ts +7 -0
  55. package/dist/src/frameworks/react-router/react-router-wizard-agent.js +98 -0
  56. package/dist/src/frameworks/react-router/utils.d.ts +13 -0
  57. package/dist/src/frameworks/react-router/utils.js +160 -0
  58. package/dist/src/frameworks/swift/swift-wizard-agent.d.ts +7 -0
  59. package/dist/src/frameworks/swift/swift-wizard-agent.js +72 -0
  60. package/dist/src/frameworks/swift/utils.d.ts +12 -0
  61. package/dist/src/frameworks/swift/utils.js +82 -0
  62. package/dist/src/frameworks/unity/unity-wizard-agent.d.ts +6 -0
  63. package/dist/src/frameworks/unity/unity-wizard-agent.js +79 -0
  64. package/dist/src/frameworks/unity/utils.d.ts +12 -0
  65. package/dist/src/frameworks/unity/utils.js +66 -0
  66. package/dist/src/frameworks/unreal/unreal-wizard-agent.d.ts +6 -0
  67. package/dist/src/frameworks/unreal/unreal-wizard-agent.js +77 -0
  68. package/dist/src/frameworks/unreal/utils.d.ts +10 -0
  69. package/dist/src/frameworks/unreal/utils.js +29 -0
  70. package/dist/src/frameworks/vue/vue-wizard-agent.d.ts +4 -0
  71. package/dist/src/frameworks/vue/vue-wizard-agent.js +64 -0
  72. package/dist/src/lib/agent-hooks.d.ts +26 -0
  73. package/dist/src/lib/agent-hooks.js +118 -0
  74. package/dist/src/lib/agent-interface.d.ts +175 -0
  75. package/dist/src/lib/agent-interface.js +1217 -0
  76. package/dist/src/lib/agent-runner.d.ts +9 -0
  77. package/dist/src/lib/agent-runner.js +415 -0
  78. package/dist/src/lib/ampli-config.d.ts +105 -0
  79. package/dist/src/lib/ampli-config.js +178 -0
  80. package/dist/src/lib/api.d.ts +107 -0
  81. package/dist/src/lib/api.js +442 -0
  82. package/dist/src/lib/commandments.d.ts +1 -0
  83. package/dist/src/lib/commandments.js +24 -0
  84. package/dist/src/lib/console-query.d.ts +27 -0
  85. package/dist/src/lib/console-query.js +121 -0
  86. package/dist/src/lib/constants.d.ts +124 -0
  87. package/dist/src/lib/constants.js +170 -0
  88. package/dist/src/lib/detect-amplitude.d.ts +31 -0
  89. package/dist/src/lib/detect-amplitude.js +407 -0
  90. package/dist/src/lib/framework-config.d.ts +188 -0
  91. package/dist/src/lib/framework-config.js +21 -0
  92. package/dist/src/lib/health-checks/endpoints.d.ts +3 -0
  93. package/dist/src/lib/health-checks/endpoints.js +45 -0
  94. package/dist/src/lib/health-checks/index.d.ts +4 -0
  95. package/dist/src/lib/health-checks/index.js +22 -0
  96. package/dist/src/lib/health-checks/readiness.d.ts +24 -0
  97. package/dist/src/lib/health-checks/readiness.js +118 -0
  98. package/dist/src/lib/health-checks/statuspage.d.ts +9 -0
  99. package/dist/src/lib/health-checks/statuspage.js +104 -0
  100. package/dist/src/lib/health-checks/types.d.ts +31 -0
  101. package/dist/src/lib/health-checks/types.js +9 -0
  102. package/dist/src/lib/helper-functions.d.ts +1 -0
  103. package/dist/src/lib/helper-functions.js +5 -0
  104. package/dist/src/lib/middleware/benchmark.d.ts +54 -0
  105. package/dist/src/lib/middleware/benchmark.js +48 -0
  106. package/dist/src/lib/middleware/benchmarks/cache-tracker.d.ts +44 -0
  107. package/dist/src/lib/middleware/benchmarks/cache-tracker.js +80 -0
  108. package/dist/src/lib/middleware/benchmarks/compaction-tracker.d.ts +29 -0
  109. package/dist/src/lib/middleware/benchmarks/compaction-tracker.js +59 -0
  110. package/dist/src/lib/middleware/benchmarks/context-size-tracker.d.ts +26 -0
  111. package/dist/src/lib/middleware/benchmarks/context-size-tracker.js +55 -0
  112. package/dist/src/lib/middleware/benchmarks/cost-tracker.d.ts +16 -0
  113. package/dist/src/lib/middleware/benchmarks/cost-tracker.js +75 -0
  114. package/dist/src/lib/middleware/benchmarks/duration-tracker.d.ts +20 -0
  115. package/dist/src/lib/middleware/benchmarks/duration-tracker.js +39 -0
  116. package/dist/src/lib/middleware/benchmarks/index.d.ts +9 -0
  117. package/dist/src/lib/middleware/benchmarks/index.js +67 -0
  118. package/dist/src/lib/middleware/benchmarks/json-writer.d.ts +15 -0
  119. package/dist/src/lib/middleware/benchmarks/json-writer.js +144 -0
  120. package/dist/src/lib/middleware/benchmarks/summary.d.ts +9 -0
  121. package/dist/src/lib/middleware/benchmarks/summary.js +105 -0
  122. package/dist/src/lib/middleware/benchmarks/token-tracker.d.ts +40 -0
  123. package/dist/src/lib/middleware/benchmarks/token-tracker.js +76 -0
  124. package/dist/src/lib/middleware/benchmarks/turn-counter.d.ts +34 -0
  125. package/dist/src/lib/middleware/benchmarks/turn-counter.js +58 -0
  126. package/dist/src/lib/middleware/config.d.ts +24 -0
  127. package/dist/src/lib/middleware/config.js +96 -0
  128. package/dist/src/lib/middleware/index.d.ts +11 -0
  129. package/dist/src/lib/middleware/index.js +17 -0
  130. package/dist/src/lib/middleware/phase-detector.d.ts +8 -0
  131. package/dist/src/lib/middleware/phase-detector.js +63 -0
  132. package/dist/src/lib/middleware/pipeline.d.ts +29 -0
  133. package/dist/src/lib/middleware/pipeline.js +81 -0
  134. package/dist/src/lib/middleware/schemas.d.ts +27 -0
  135. package/dist/src/lib/middleware/schemas.js +84 -0
  136. package/dist/src/lib/middleware/types.d.ts +94 -0
  137. package/dist/src/lib/middleware/types.js +8 -0
  138. package/dist/src/lib/package-manager-detection.d.ts +42 -0
  139. package/dist/src/lib/package-manager-detection.js +292 -0
  140. package/dist/src/lib/registry.d.ts +3 -0
  141. package/dist/src/lib/registry.js +42 -0
  142. package/dist/src/lib/safe-tools.d.ts +2 -0
  143. package/dist/src/lib/safe-tools.js +214 -0
  144. package/dist/src/lib/wizard-session.d.ts +220 -0
  145. package/dist/src/lib/wizard-session.js +127 -0
  146. package/dist/src/lib/wizard-tools.d.ts +82 -0
  147. package/dist/src/lib/wizard-tools.js +499 -0
  148. package/dist/src/run.d.ts +19 -0
  149. package/dist/src/run.js +151 -0
  150. package/dist/src/steps/add-mcp-server-to-clients/MCPClient.d.ts +30 -0
  151. package/dist/src/steps/add-mcp-server-to-clients/MCPClient.js +141 -0
  152. package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.d.ts +29 -0
  153. package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.js +180 -0
  154. package/dist/src/steps/add-mcp-server-to-clients/clients/claude.d.ts +20 -0
  155. package/dist/src/steps/add-mcp-server-to-clients/clients/claude.js +63 -0
  156. package/dist/src/steps/add-mcp-server-to-clients/clients/codex.d.ts +28 -0
  157. package/dist/src/steps/add-mcp-server-to-clients/clients/codex.js +77 -0
  158. package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.d.ts +24 -0
  159. package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.js +60 -0
  160. package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.d.ts +27 -0
  161. package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.js +101 -0
  162. package/dist/src/steps/add-mcp-server-to-clients/clients/zed.d.ts +26 -0
  163. package/dist/src/steps/add-mcp-server-to-clients/clients/zed.js +102 -0
  164. package/dist/src/steps/add-mcp-server-to-clients/defaults.d.ts +44 -0
  165. package/dist/src/steps/add-mcp-server-to-clients/defaults.js +123 -0
  166. package/dist/src/steps/add-mcp-server-to-clients/index.d.ts +19 -0
  167. package/dist/src/steps/add-mcp-server-to-clients/index.js +110 -0
  168. package/dist/src/steps/add-or-update-environment-variables.d.ts +10 -0
  169. package/dist/src/steps/add-or-update-environment-variables.js +188 -0
  170. package/dist/src/steps/index.d.ts +4 -0
  171. package/dist/src/steps/index.js +20 -0
  172. package/dist/src/steps/run-prettier.d.ts +5 -0
  173. package/dist/src/steps/run-prettier.js +90 -0
  174. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.d.ts +11 -0
  175. package/dist/src/steps/upload-environment-variables/EnvironmentProvider.js +11 -0
  176. package/dist/src/steps/upload-environment-variables/index.d.ts +6 -0
  177. package/dist/src/steps/upload-environment-variables/index.js +37 -0
  178. package/dist/src/steps/upload-environment-variables/providers/vercel.d.ts +15 -0
  179. package/dist/src/steps/upload-environment-variables/providers/vercel.js +145 -0
  180. package/dist/src/telemetry.d.ts +2 -0
  181. package/dist/src/telemetry.js +12 -0
  182. package/dist/src/ui/index.d.ts +8 -0
  183. package/dist/src/ui/index.js +16 -0
  184. package/dist/src/ui/logging-ui.d.ts +56 -0
  185. package/dist/src/ui/logging-ui.js +157 -0
  186. package/dist/src/ui/tui/App.d.ts +6 -0
  187. package/dist/src/ui/tui/App.js +34 -0
  188. package/dist/src/ui/tui/components/AmplitudeLogo.d.ts +5 -0
  189. package/dist/src/ui/tui/components/AmplitudeLogo.js +81 -0
  190. package/dist/src/ui/tui/components/AmplitudeTextLogo.d.ts +3 -0
  191. package/dist/src/ui/tui/components/AmplitudeTextLogo.js +31 -0
  192. package/dist/src/ui/tui/components/ConsoleView.d.ts +23 -0
  193. package/dist/src/ui/tui/components/ConsoleView.js +220 -0
  194. package/dist/src/ui/tui/components/TitleBar.d.ts +6 -0
  195. package/dist/src/ui/tui/components/TitleBar.js +16 -0
  196. package/dist/src/ui/tui/console-commands.d.ts +16 -0
  197. package/dist/src/ui/tui/console-commands.js +31 -0
  198. package/dist/src/ui/tui/context/CommandModeContext.d.ts +2 -0
  199. package/dist/src/ui/tui/context/CommandModeContext.js +3 -0
  200. package/dist/src/ui/tui/flows.d.ts +48 -0
  201. package/dist/src/ui/tui/flows.js +154 -0
  202. package/dist/src/ui/tui/hooks/useScreenInput.d.ts +13 -0
  203. package/dist/src/ui/tui/hooks/useScreenInput.js +18 -0
  204. package/dist/src/ui/tui/hooks/useStdoutDimensions.d.ts +9 -0
  205. package/dist/src/ui/tui/hooks/useStdoutDimensions.js +29 -0
  206. package/dist/src/ui/tui/ink-ui.d.ts +62 -0
  207. package/dist/src/ui/tui/ink-ui.js +142 -0
  208. package/dist/src/ui/tui/primitives/CardLayout.d.ts +12 -0
  209. package/dist/src/ui/tui/primitives/CardLayout.js +9 -0
  210. package/dist/src/ui/tui/primitives/ConfirmationInput.d.ts +13 -0
  211. package/dist/src/ui/tui/primitives/ConfirmationInput.js +35 -0
  212. package/dist/src/ui/tui/primitives/DissolveTransition.d.ts +21 -0
  213. package/dist/src/ui/tui/primitives/DissolveTransition.js +143 -0
  214. package/dist/src/ui/tui/primitives/EventPlanViewer.d.ts +9 -0
  215. package/dist/src/ui/tui/primitives/EventPlanViewer.js +9 -0
  216. package/dist/src/ui/tui/primitives/KagiSmallWebViewer.d.ts +7 -0
  217. package/dist/src/ui/tui/primitives/KagiSmallWebViewer.js +101 -0
  218. package/dist/src/ui/tui/primitives/LoadingBox.d.ts +8 -0
  219. package/dist/src/ui/tui/primitives/LoadingBox.js +9 -0
  220. package/dist/src/ui/tui/primitives/LogViewer.d.ts +11 -0
  221. package/dist/src/ui/tui/primitives/LogViewer.js +55 -0
  222. package/dist/src/ui/tui/primitives/PickerMenu.d.ts +20 -0
  223. package/dist/src/ui/tui/primitives/PickerMenu.js +212 -0
  224. package/dist/src/ui/tui/primitives/ProgressList.d.ts +15 -0
  225. package/dist/src/ui/tui/primitives/ProgressList.js +29 -0
  226. package/dist/src/ui/tui/primitives/PromptLabel.d.ts +11 -0
  227. package/dist/src/ui/tui/primitives/PromptLabel.js +12 -0
  228. package/dist/src/ui/tui/primitives/ReportViewer.d.ts +12 -0
  229. package/dist/src/ui/tui/primitives/ReportViewer.js +99 -0
  230. package/dist/src/ui/tui/primitives/ScreenErrorBoundary.d.ts +26 -0
  231. package/dist/src/ui/tui/primitives/ScreenErrorBoundary.js +29 -0
  232. package/dist/src/ui/tui/primitives/SlashCommandInput.d.ts +21 -0
  233. package/dist/src/ui/tui/primitives/SlashCommandInput.js +85 -0
  234. package/dist/src/ui/tui/primitives/SnakeGame.d.ts +1 -0
  235. package/dist/src/ui/tui/primitives/SnakeGame.js +1 -0
  236. package/dist/src/ui/tui/primitives/SplitView.d.ts +11 -0
  237. package/dist/src/ui/tui/primitives/SplitView.js +8 -0
  238. package/dist/src/ui/tui/primitives/TabContainer.d.ts +18 -0
  239. package/dist/src/ui/tui/primitives/TabContainer.js +30 -0
  240. package/dist/src/ui/tui/primitives/index.d.ts +23 -0
  241. package/dist/src/ui/tui/primitives/index.js +19 -0
  242. package/dist/src/ui/tui/router.d.ts +61 -0
  243. package/dist/src/ui/tui/router.js +104 -0
  244. package/dist/src/ui/tui/screen-registry.d.ts +19 -0
  245. package/dist/src/ui/tui/screen-registry.js +56 -0
  246. package/dist/src/ui/tui/screens/ActivationOptionsScreen.d.ts +12 -0
  247. package/dist/src/ui/tui/screens/ActivationOptionsScreen.js +57 -0
  248. package/dist/src/ui/tui/screens/AuthScreen.d.ts +18 -0
  249. package/dist/src/ui/tui/screens/AuthScreen.js +107 -0
  250. package/dist/src/ui/tui/screens/ChecklistScreen.d.ts +22 -0
  251. package/dist/src/ui/tui/screens/ChecklistScreen.js +122 -0
  252. package/dist/src/ui/tui/screens/DataIngestionCheckScreen.d.ts +24 -0
  253. package/dist/src/ui/tui/screens/DataIngestionCheckScreen.js +113 -0
  254. package/dist/src/ui/tui/screens/DataSetupScreen.d.ts +17 -0
  255. package/dist/src/ui/tui/screens/DataSetupScreen.js +73 -0
  256. package/dist/src/ui/tui/screens/IntroScreen.d.ts +16 -0
  257. package/dist/src/ui/tui/screens/IntroScreen.js +86 -0
  258. package/dist/src/ui/tui/screens/LoginScreen.d.ts +15 -0
  259. package/dist/src/ui/tui/screens/LoginScreen.js +65 -0
  260. package/dist/src/ui/tui/screens/LogoutScreen.d.ts +12 -0
  261. package/dist/src/ui/tui/screens/LogoutScreen.js +28 -0
  262. package/dist/src/ui/tui/screens/McpScreen.d.ts +26 -0
  263. package/dist/src/ui/tui/screens/McpScreen.js +148 -0
  264. package/dist/src/ui/tui/screens/OutageScreen.d.ts +10 -0
  265. package/dist/src/ui/tui/screens/OutageScreen.js +17 -0
  266. package/dist/src/ui/tui/screens/OutroScreen.d.ts +11 -0
  267. package/dist/src/ui/tui/screens/OutroScreen.js +69 -0
  268. package/dist/src/ui/tui/screens/RegionSelectScreen.d.ts +17 -0
  269. package/dist/src/ui/tui/screens/RegionSelectScreen.js +40 -0
  270. package/dist/src/ui/tui/screens/RunScreen.d.ts +16 -0
  271. package/dist/src/ui/tui/screens/RunScreen.js +212 -0
  272. package/dist/src/ui/tui/screens/SettingsOverrideScreen.d.ts +10 -0
  273. package/dist/src/ui/tui/screens/SettingsOverrideScreen.js +23 -0
  274. package/dist/src/ui/tui/screens/SetupScreen.d.ts +13 -0
  275. package/dist/src/ui/tui/screens/SetupScreen.js +73 -0
  276. package/dist/src/ui/tui/screens/SlackScreen.d.ts +25 -0
  277. package/dist/src/ui/tui/screens/SlackScreen.js +97 -0
  278. package/dist/src/ui/tui/services/mcp-installer.d.ts +25 -0
  279. package/dist/src/ui/tui/services/mcp-installer.js +82 -0
  280. package/dist/src/ui/tui/start-tui.d.ts +10 -0
  281. package/dist/src/ui/tui/start-tui.js +50 -0
  282. package/dist/src/ui/tui/store.d.ts +231 -0
  283. package/dist/src/ui/tui/store.js +568 -0
  284. package/dist/src/ui/tui/styles.d.ts +31 -0
  285. package/dist/src/ui/tui/styles.js +33 -0
  286. package/dist/src/ui/wizard-ui.d.ts +110 -0
  287. package/dist/src/ui/wizard-ui.js +18 -0
  288. package/dist/src/utils/ampli-settings.d.ts +37 -0
  289. package/dist/src/utils/ampli-settings.js +182 -0
  290. package/dist/src/utils/analytics.d.ts +35 -0
  291. package/dist/src/utils/analytics.js +133 -0
  292. package/dist/src/utils/anthropic-status.d.ts +17 -0
  293. package/dist/src/utils/anthropic-status.js +51 -0
  294. package/dist/src/utils/api-key-store.d.ts +35 -0
  295. package/dist/src/utils/api-key-store.js +176 -0
  296. package/dist/src/utils/bash.d.ts +2 -0
  297. package/dist/src/utils/bash.js +53 -0
  298. package/dist/src/utils/custom-headers.d.ts +9 -0
  299. package/dist/src/utils/custom-headers.js +23 -0
  300. package/dist/src/utils/debug.d.ts +23 -0
  301. package/dist/src/utils/debug.js +86 -0
  302. package/dist/src/utils/environment.d.ts +4 -0
  303. package/dist/src/utils/environment.js +76 -0
  304. package/dist/src/utils/file-utils.d.ts +2 -0
  305. package/dist/src/utils/file-utils.js +16 -0
  306. package/dist/src/utils/get-api-key.d.ts +17 -0
  307. package/dist/src/utils/get-api-key.js +50 -0
  308. package/dist/src/utils/logging.d.ts +9 -0
  309. package/dist/src/utils/logging.js +48 -0
  310. package/dist/src/utils/oauth.d.ts +53 -0
  311. package/dist/src/utils/oauth.js +354 -0
  312. package/dist/src/utils/package-json.d.ts +25 -0
  313. package/dist/src/utils/package-json.js +26 -0
  314. package/dist/src/utils/package-manager.d.ts +21 -0
  315. package/dist/src/utils/package-manager.js +208 -0
  316. package/dist/src/utils/semver.d.ts +21 -0
  317. package/dist/src/utils/semver.js +61 -0
  318. package/dist/src/utils/setup-utils.d.ts +82 -0
  319. package/dist/src/utils/setup-utils.js +467 -0
  320. package/dist/src/utils/shell-completions.d.ts +10 -0
  321. package/dist/src/utils/shell-completions.js +199 -0
  322. package/dist/src/utils/string.d.ts +1 -0
  323. package/dist/src/utils/string.js +8 -0
  324. package/dist/src/utils/types.d.ts +72 -0
  325. package/dist/src/utils/types.js +2 -0
  326. package/dist/src/utils/urls.d.ts +14 -0
  327. package/dist/src/utils/urls.js +69 -0
  328. package/dist/src/utils/vendor/is-unicorn-supported.d.ts +1 -0
  329. package/dist/src/utils/vendor/is-unicorn-supported.js +23 -0
  330. package/dist/src/utils/wizard-abort.d.ts +13 -0
  331. package/dist/src/utils/wizard-abort.js +56 -0
  332. package/man/amplitude-wizard.1 +170 -0
  333. package/package.json +144 -0
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Middleware system types for wizard agent runs.
3
+ *
4
+ * Middleware receives lifecycle events (messages, phase transitions, finalize)
5
+ * and can publish data to a shared store for downstream middleware to read.
6
+ */
7
+ import type { SpinnerHandle } from '../../ui';
8
+ /** Token usage reported by the SDK on assistant messages */
9
+ export interface SDKUsage {
10
+ input_tokens?: number;
11
+ output_tokens?: number;
12
+ cache_read_input_tokens?: number;
13
+ cache_creation_input_tokens?: number;
14
+ cache_creation?: {
15
+ ephemeral_5m_input_tokens?: number;
16
+ ephemeral_1h_input_tokens?: number;
17
+ };
18
+ total_cost_usd?: number;
19
+ }
20
+ export interface SDKContentBlock {
21
+ type: string;
22
+ text?: string;
23
+ name?: string;
24
+ input?: Record<string, unknown>;
25
+ [key: string]: unknown;
26
+ }
27
+ export interface SDKModelUsageEntry {
28
+ inputTokens?: number;
29
+ outputTokens?: number;
30
+ cacheCreationInputTokens?: number;
31
+ cacheReadInputTokens?: number;
32
+ }
33
+ export interface SDKCompactMetadata {
34
+ pre_tokens?: number;
35
+ trigger?: string;
36
+ }
37
+ /** SDK message received from the agent runner */
38
+ export interface SDKMessage {
39
+ type: string;
40
+ subtype?: string;
41
+ message?: {
42
+ id?: string;
43
+ usage?: SDKUsage;
44
+ content?: SDKContentBlock[];
45
+ [key: string]: unknown;
46
+ };
47
+ compact_metadata?: SDKCompactMetadata;
48
+ is_error?: boolean;
49
+ result?: string;
50
+ errors?: string[];
51
+ model?: string;
52
+ tools?: unknown[];
53
+ mcp_servers?: {
54
+ name: string;
55
+ status: string;
56
+ }[];
57
+ usage?: SDKUsage;
58
+ total_cost_usd?: number;
59
+ num_turns?: number;
60
+ modelUsage?: Record<string, SDKModelUsageEntry>;
61
+ [key: string]: unknown;
62
+ }
63
+ /** Read-only shared state available to all middleware */
64
+ export interface MiddlewareContext {
65
+ /** Current detected phase name */
66
+ readonly currentPhase: string;
67
+ /** Whether the current phase started with fresh context (new query) */
68
+ readonly currentPhaseFreshContext: boolean;
69
+ /** Read a value from the shared store (published by upstream middleware) */
70
+ get<T>(key: string): T | undefined;
71
+ }
72
+ /** Write handle for middleware to publish data to the shared store */
73
+ export interface MiddlewareStore {
74
+ set(key: string, value: unknown): void;
75
+ }
76
+ /** Lifecycle hooks a middleware can implement */
77
+ export interface Middleware {
78
+ /** Unique name for this middleware (used in config and store keys) */
79
+ readonly name: string;
80
+ /** Called once when the pipeline initializes */
81
+ onInit?(ctx: MiddlewareContext): void;
82
+ /** Called for every SDK message */
83
+ onMessage?(message: SDKMessage, ctx: MiddlewareContext, store: MiddlewareStore): void;
84
+ /** Called when a phase transition is detected */
85
+ onPhaseTransition?(fromPhase: string, toPhase: string, ctx: MiddlewareContext, store: MiddlewareStore): void;
86
+ /** Called at the end of the agent run. Return value from last middleware is used. */
87
+ onFinalize?(resultMessage: SDKMessage, totalDurationMs: number, ctx: MiddlewareContext, store: MiddlewareStore): unknown;
88
+ }
89
+ /** Options bag passed to middleware factories during construction */
90
+ export interface MiddlewareFactoryOptions {
91
+ spinner?: SpinnerHandle;
92
+ outputPath?: string;
93
+ phased?: boolean;
94
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Middleware system types for wizard agent runs.
4
+ *
5
+ * Middleware receives lifecycle events (messages, phase transitions, finalize)
6
+ * and can publish data to a shared store for downstream middleware to read.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Cross-ecosystem package manager detection.
3
+ *
4
+ * Provides a common interface (PackageManagerDetector) that each FrameworkConfig
5
+ * implements, plus shared helpers for Node.js, Python, PHP, and Swift ecosystems.
6
+ * The MCP tool in wizard-tools.ts delegates to whatever detector the
7
+ * current framework supplies.
8
+ */
9
+ /** Structured package manager info the agent can act on */
10
+ export interface DetectedPackageManager {
11
+ name: string;
12
+ label: string;
13
+ installCommand: string;
14
+ runCommand?: string;
15
+ }
16
+ /** Result returned by every detector */
17
+ export interface PackageManagerInfo {
18
+ detected: DetectedPackageManager[];
19
+ primary: DetectedPackageManager | null;
20
+ recommendation: string;
21
+ }
22
+ /** Signature each framework implements */
23
+ export type PackageManagerDetector = (installDir: string) => Promise<PackageManagerInfo>;
24
+ /**
25
+ * Detect Node.js package managers via lockfiles.
26
+ * Wraps the existing detectAllPackageManagers() from utils/package-manager.ts.
27
+ */
28
+ export declare function detectNodePackageManagers(installDir: string): Promise<PackageManagerInfo>;
29
+ /**
30
+ * Detect Python package managers via lockfiles and config files.
31
+ * Wraps the existing detectPackageManager() from python/utils.ts.
32
+ */
33
+ export declare function detectPythonPackageManagers(installDir: string): Promise<PackageManagerInfo>;
34
+ export declare function composerPackageManager(): Promise<PackageManagerInfo>;
35
+ export declare function swiftPackageManager(): Promise<PackageManagerInfo>;
36
+ export declare function detectJavaPackageManagers(installDir: string): Promise<PackageManagerInfo>;
37
+ export declare function flutterPackageManager(): Promise<PackageManagerInfo>;
38
+ export declare function goPackageManager(): Promise<PackageManagerInfo>;
39
+ export declare function unityPackageManager(): Promise<PackageManagerInfo>;
40
+ export declare function unrealPackageManager(): Promise<PackageManagerInfo>;
41
+ export declare function bundlerPackageManager(): Promise<PackageManagerInfo>;
42
+ export declare function gradlePackageManager(): Promise<PackageManagerInfo>;
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ /**
3
+ * Cross-ecosystem package manager detection.
4
+ *
5
+ * Provides a common interface (PackageManagerDetector) that each FrameworkConfig
6
+ * implements, plus shared helpers for Node.js, Python, PHP, and Swift ecosystems.
7
+ * The MCP tool in wizard-tools.ts delegates to whatever detector the
8
+ * current framework supplies.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.detectNodePackageManagers = detectNodePackageManagers;
12
+ exports.detectPythonPackageManagers = detectPythonPackageManagers;
13
+ exports.composerPackageManager = composerPackageManager;
14
+ exports.swiftPackageManager = swiftPackageManager;
15
+ exports.detectJavaPackageManagers = detectJavaPackageManagers;
16
+ exports.flutterPackageManager = flutterPackageManager;
17
+ exports.goPackageManager = goPackageManager;
18
+ exports.unityPackageManager = unityPackageManager;
19
+ exports.unrealPackageManager = unrealPackageManager;
20
+ exports.bundlerPackageManager = bundlerPackageManager;
21
+ exports.gradlePackageManager = gradlePackageManager;
22
+ const package_manager_1 = require("../utils/package-manager");
23
+ const utils_1 = require("../frameworks/python/utils");
24
+ // ---------------------------------------------------------------------------
25
+ // Node.js helper
26
+ // ---------------------------------------------------------------------------
27
+ function serializeNodePM(pm) {
28
+ return {
29
+ name: pm.name,
30
+ label: pm.label,
31
+ installCommand: pm.installCommand,
32
+ runCommand: pm.runScriptCommand,
33
+ };
34
+ }
35
+ /**
36
+ * Detect Node.js package managers via lockfiles.
37
+ * Wraps the existing detectAllPackageManagers() from utils/package-manager.ts.
38
+ */
39
+ function detectNodePackageManagers(installDir) {
40
+ const detected = (0, package_manager_1.detectAllPackageManagers)({ installDir }).map(serializeNodePM);
41
+ if (detected.length === 0) {
42
+ return Promise.resolve({
43
+ detected: [],
44
+ primary: null,
45
+ recommendation: 'No lockfile found. Default to npm (npm add, npm run).',
46
+ });
47
+ }
48
+ const primary = detected[0];
49
+ return Promise.resolve({
50
+ detected,
51
+ primary,
52
+ recommendation: detected.length === 1
53
+ ? `Use ${primary.label} (${primary.installCommand}).`
54
+ : `Multiple package managers detected. Prefer ${primary.label} (${primary.installCommand}).`,
55
+ });
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // Python helper
59
+ // ---------------------------------------------------------------------------
60
+ const PYTHON_PM_INFO = {
61
+ [utils_1.PythonPackageManager.UV]: {
62
+ name: 'uv',
63
+ label: 'uv',
64
+ installCommand: 'uv add',
65
+ runCommand: 'uv run',
66
+ },
67
+ [utils_1.PythonPackageManager.POETRY]: {
68
+ name: 'poetry',
69
+ label: 'Poetry',
70
+ installCommand: 'poetry add',
71
+ runCommand: 'poetry run',
72
+ },
73
+ [utils_1.PythonPackageManager.PDM]: {
74
+ name: 'pdm',
75
+ label: 'PDM',
76
+ installCommand: 'pdm add',
77
+ runCommand: 'pdm run',
78
+ },
79
+ [utils_1.PythonPackageManager.HATCH]: {
80
+ name: 'hatch',
81
+ label: 'Hatch',
82
+ installCommand: 'hatch add',
83
+ runCommand: 'hatch run',
84
+ },
85
+ [utils_1.PythonPackageManager.RYE]: {
86
+ name: 'rye',
87
+ label: 'Rye',
88
+ installCommand: 'rye add',
89
+ runCommand: 'rye run',
90
+ },
91
+ [utils_1.PythonPackageManager.PIPENV]: {
92
+ name: 'pipenv',
93
+ label: 'Pipenv',
94
+ installCommand: 'pipenv install',
95
+ runCommand: 'pipenv run',
96
+ },
97
+ [utils_1.PythonPackageManager.CONDA]: {
98
+ name: 'conda',
99
+ label: 'Conda',
100
+ installCommand: 'conda install',
101
+ runCommand: 'conda run',
102
+ },
103
+ [utils_1.PythonPackageManager.PIP]: {
104
+ name: 'pip',
105
+ label: 'pip',
106
+ installCommand: 'pip install',
107
+ },
108
+ [utils_1.PythonPackageManager.UNKNOWN]: {
109
+ name: 'pip',
110
+ label: 'pip (default)',
111
+ installCommand: 'pip install',
112
+ },
113
+ };
114
+ /**
115
+ * Detect Python package managers via lockfiles and config files.
116
+ * Wraps the existing detectPackageManager() from python/utils.ts.
117
+ */
118
+ async function detectPythonPackageManagers(installDir) {
119
+ const pm = await (0, utils_1.detectPackageManager)({
120
+ installDir,
121
+ });
122
+ const info = PYTHON_PM_INFO[pm];
123
+ return {
124
+ detected: [info],
125
+ primary: info,
126
+ recommendation: `Use ${info.label} (${info.installCommand}).`,
127
+ };
128
+ }
129
+ // ---------------------------------------------------------------------------
130
+ // PHP (Composer) helper
131
+ // ---------------------------------------------------------------------------
132
+ const COMPOSER = {
133
+ name: 'composer',
134
+ label: 'Composer',
135
+ installCommand: 'composer require',
136
+ };
137
+ function composerPackageManager() {
138
+ return Promise.resolve({
139
+ detected: [COMPOSER],
140
+ primary: COMPOSER,
141
+ recommendation: 'Use Composer (composer require).',
142
+ });
143
+ }
144
+ // ---------------------------------------------------------------------------
145
+ // Swift (SPM) helper
146
+ // ---------------------------------------------------------------------------
147
+ const SPM = {
148
+ name: 'spm',
149
+ label: 'Swift Package Manager',
150
+ installCommand: 'swift package add-dependency',
151
+ };
152
+ function swiftPackageManager() {
153
+ return Promise.resolve({
154
+ detected: [SPM],
155
+ primary: SPM,
156
+ recommendation: 'Use Swift Package Manager. Add the dependency to Package.swift or via Xcode.',
157
+ });
158
+ }
159
+ // ---------------------------------------------------------------------------
160
+ // Java (Maven / Gradle) helper
161
+ // ---------------------------------------------------------------------------
162
+ const MAVEN = {
163
+ name: 'maven',
164
+ label: 'Maven',
165
+ installCommand: 'mvn',
166
+ runCommand: 'mvn exec:java',
167
+ };
168
+ const GRADLE_JAVA = {
169
+ name: 'gradle',
170
+ label: 'Gradle',
171
+ installCommand: 'gradle',
172
+ runCommand: 'gradle run',
173
+ };
174
+ async function detectJavaPackageManagers(installDir) {
175
+ const fs = await import('node:fs');
176
+ const nodePath = await import('node:path');
177
+ const hasMaven = fs.existsSync(nodePath.join(installDir, 'pom.xml'));
178
+ const hasGradle = fs.existsSync(nodePath.join(installDir, 'build.gradle')) ||
179
+ fs.existsSync(nodePath.join(installDir, 'build.gradle.kts'));
180
+ if (hasMaven) {
181
+ return {
182
+ detected: [MAVEN],
183
+ primary: MAVEN,
184
+ recommendation: 'Use Maven: add the dependency to pom.xml and run mvn install.',
185
+ };
186
+ }
187
+ if (hasGradle) {
188
+ return {
189
+ detected: [GRADLE_JAVA],
190
+ primary: GRADLE_JAVA,
191
+ recommendation: 'Use Gradle: add the implementation dependency to build.gradle and sync.',
192
+ };
193
+ }
194
+ return {
195
+ detected: [MAVEN],
196
+ primary: MAVEN,
197
+ recommendation: 'No build file detected. Defaulting to Maven.',
198
+ };
199
+ }
200
+ // ---------------------------------------------------------------------------
201
+ // Flutter (pub) helper
202
+ // ---------------------------------------------------------------------------
203
+ const FLUTTER_PUB = {
204
+ name: 'flutter',
205
+ label: 'Flutter pub',
206
+ installCommand: 'flutter pub add',
207
+ runCommand: 'flutter pub run',
208
+ };
209
+ function flutterPackageManager() {
210
+ return Promise.resolve({
211
+ detected: [FLUTTER_PUB],
212
+ primary: FLUTTER_PUB,
213
+ recommendation: 'Use Flutter pub (flutter pub add).',
214
+ });
215
+ }
216
+ // ---------------------------------------------------------------------------
217
+ // Go (modules) helper
218
+ // ---------------------------------------------------------------------------
219
+ const GO_MODULES = {
220
+ name: 'go',
221
+ label: 'Go modules',
222
+ installCommand: 'go get',
223
+ runCommand: 'go run',
224
+ };
225
+ function goPackageManager() {
226
+ return Promise.resolve({
227
+ detected: [GO_MODULES],
228
+ primary: GO_MODULES,
229
+ recommendation: 'Use Go modules (go get).',
230
+ });
231
+ }
232
+ // ---------------------------------------------------------------------------
233
+ // Unity (UPM) helper
234
+ // ---------------------------------------------------------------------------
235
+ const UNITY_UPM = {
236
+ name: 'unity',
237
+ label: 'Unity Package Manager',
238
+ installCommand: 'Add to Packages/manifest.json dependencies: "com.amplitude.unity-plugin": "https://github.com/amplitude/unity-plugin.git?path=/Assets"',
239
+ };
240
+ function unityPackageManager() {
241
+ return Promise.resolve({
242
+ detected: [UNITY_UPM],
243
+ primary: UNITY_UPM,
244
+ recommendation: 'Use Unity Package Manager: add the git URL dependency to Packages/manifest.json.',
245
+ });
246
+ }
247
+ // ---------------------------------------------------------------------------
248
+ // Unreal Engine helper
249
+ // ---------------------------------------------------------------------------
250
+ const UNREAL_MANUAL = {
251
+ name: 'unreal',
252
+ label: 'Manual plugin install',
253
+ installCommand: 'Download AmplitudeUnreal.zip from https://github.com/amplitude/Amplitude-Unreal/releases/latest and extract into Plugins/AmplitudeUnreal/',
254
+ };
255
+ function unrealPackageManager() {
256
+ return Promise.resolve({
257
+ detected: [UNREAL_MANUAL],
258
+ primary: UNREAL_MANUAL,
259
+ recommendation: 'Unreal Engine uses manual plugin installation. Download the zip from GitHub releases and extract it into the project Plugins/ directory.',
260
+ });
261
+ }
262
+ // ---------------------------------------------------------------------------
263
+ // Ruby (Bundler) helper
264
+ // ---------------------------------------------------------------------------
265
+ const BUNDLER = {
266
+ name: 'bundler',
267
+ label: 'Bundler',
268
+ installCommand: 'bundle add',
269
+ runCommand: 'bundle exec',
270
+ };
271
+ function bundlerPackageManager() {
272
+ return Promise.resolve({
273
+ detected: [BUNDLER],
274
+ primary: BUNDLER,
275
+ recommendation: 'Use Bundler (bundle add). Run commands with bundle exec.',
276
+ });
277
+ }
278
+ // ---------------------------------------------------------------------------
279
+ // Android (Gradle) helper
280
+ // ---------------------------------------------------------------------------
281
+ const GRADLE = {
282
+ name: 'gradle',
283
+ label: 'Gradle',
284
+ installCommand: 'implementation',
285
+ };
286
+ function gradlePackageManager() {
287
+ return Promise.resolve({
288
+ detected: [GRADLE],
289
+ primary: GRADLE,
290
+ recommendation: 'Add dependencies to build.gradle(.kts) using implementation().',
291
+ });
292
+ }
@@ -0,0 +1,3 @@
1
+ import type { FrameworkConfig } from './framework-config';
2
+ import { Integration } from './constants';
3
+ export declare const FRAMEWORK_REGISTRY: Record<Integration, FrameworkConfig>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FRAMEWORK_REGISTRY = void 0;
4
+ const constants_1 = require("./constants");
5
+ const nextjs_wizard_agent_1 = require("../frameworks/nextjs/nextjs-wizard-agent");
6
+ const vue_wizard_agent_1 = require("../frameworks/vue/vue-wizard-agent");
7
+ const react_router_wizard_agent_1 = require("../frameworks/react-router/react-router-wizard-agent");
8
+ const django_wizard_agent_1 = require("../frameworks/django/django-wizard-agent");
9
+ const flask_wizard_agent_1 = require("../frameworks/flask/flask-wizard-agent");
10
+ const fastapi_wizard_agent_1 = require("../frameworks/fastapi/fastapi-wizard-agent");
11
+ const swift_wizard_agent_1 = require("../frameworks/swift/swift-wizard-agent");
12
+ const react_native_wizard_agent_1 = require("../frameworks/react-native/react-native-wizard-agent");
13
+ const android_wizard_agent_1 = require("../frameworks/android/android-wizard-agent");
14
+ const flutter_wizard_agent_1 = require("../frameworks/flutter/flutter-wizard-agent");
15
+ const go_wizard_agent_1 = require("../frameworks/go/go-wizard-agent");
16
+ const java_wizard_agent_1 = require("../frameworks/java/java-wizard-agent");
17
+ const unreal_wizard_agent_1 = require("../frameworks/unreal/unreal-wizard-agent");
18
+ const unity_wizard_agent_1 = require("../frameworks/unity/unity-wizard-agent");
19
+ const python_wizard_agent_1 = require("../frameworks/python/python-wizard-agent");
20
+ const javascript_node_wizard_agent_1 = require("../frameworks/javascript-node/javascript-node-wizard-agent");
21
+ const javascript_web_wizard_agent_1 = require("../frameworks/javascript-web/javascript-web-wizard-agent");
22
+ const generic_wizard_agent_1 = require("../frameworks/generic/generic-wizard-agent");
23
+ exports.FRAMEWORK_REGISTRY = {
24
+ [constants_1.Integration.nextjs]: nextjs_wizard_agent_1.NEXTJS_AGENT_CONFIG,
25
+ [constants_1.Integration.vue]: vue_wizard_agent_1.VUE_AGENT_CONFIG,
26
+ [constants_1.Integration.reactRouter]: react_router_wizard_agent_1.REACT_ROUTER_AGENT_CONFIG,
27
+ [constants_1.Integration.django]: django_wizard_agent_1.DJANGO_AGENT_CONFIG,
28
+ [constants_1.Integration.flask]: flask_wizard_agent_1.FLASK_AGENT_CONFIG,
29
+ [constants_1.Integration.fastapi]: fastapi_wizard_agent_1.FASTAPI_AGENT_CONFIG,
30
+ [constants_1.Integration.swift]: swift_wizard_agent_1.SWIFT_AGENT_CONFIG,
31
+ [constants_1.Integration.reactNative]: react_native_wizard_agent_1.REACT_NATIVE_AGENT_CONFIG,
32
+ [constants_1.Integration.android]: android_wizard_agent_1.ANDROID_AGENT_CONFIG,
33
+ [constants_1.Integration.flutter]: flutter_wizard_agent_1.FLUTTER_AGENT_CONFIG,
34
+ [constants_1.Integration.go]: go_wizard_agent_1.GO_AGENT_CONFIG,
35
+ [constants_1.Integration.java]: java_wizard_agent_1.JAVA_AGENT_CONFIG,
36
+ [constants_1.Integration.unreal]: unreal_wizard_agent_1.UNREAL_AGENT_CONFIG,
37
+ [constants_1.Integration.unity]: unity_wizard_agent_1.UNITY_AGENT_CONFIG,
38
+ [constants_1.Integration.python]: python_wizard_agent_1.PYTHON_AGENT_CONFIG,
39
+ [constants_1.Integration.javascriptNode]: javascript_node_wizard_agent_1.JAVASCRIPT_NODE_AGENT_CONFIG,
40
+ [constants_1.Integration.javascript_web]: javascript_web_wizard_agent_1.JAVASCRIPT_WEB_AGENT_CONFIG,
41
+ [constants_1.Integration.generic]: generic_wizard_agent_1.GENERIC_AGENT_CONFIG,
42
+ };
@@ -0,0 +1,2 @@
1
+ export declare const LINTING_TOOLS: string[];
2
+ export type LintingTool = (typeof LINTING_TOOLS)[number];