workos 0.19.0 → 0.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/README.md +4 -646
  2. package/bin/workos.js +44 -0
  3. package/package.json +18 -99
  4. package/LICENSE +0 -47
  5. package/dist/bin.d.ts +0 -2
  6. package/dist/bin.js +0 -1790
  7. package/dist/bin.js.map +0 -1
  8. package/dist/cli.config.d.ts +0 -88
  9. package/dist/cli.config.js +0 -110
  10. package/dist/cli.config.js.map +0 -1
  11. package/dist/commands/api/catalog.d.ts +0 -23
  12. package/dist/commands/api/catalog.js +0 -97
  13. package/dist/commands/api/catalog.js.map +0 -1
  14. package/dist/commands/api/format.d.ts +0 -5
  15. package/dist/commands/api/format.js +0 -46
  16. package/dist/commands/api/format.js.map +0 -1
  17. package/dist/commands/api/index.d.ts +0 -15
  18. package/dist/commands/api/index.js +0 -213
  19. package/dist/commands/api/index.js.map +0 -1
  20. package/dist/commands/api/interactive.d.ts +0 -3
  21. package/dist/commands/api/interactive.js +0 -133
  22. package/dist/commands/api/interactive.js.map +0 -1
  23. package/dist/commands/api/request.d.ts +0 -14
  24. package/dist/commands/api/request.js +0 -38
  25. package/dist/commands/api/request.js.map +0 -1
  26. package/dist/commands/api-key-mgmt.d.ts +0 -16
  27. package/dist/commands/api-key-mgmt.js +0 -96
  28. package/dist/commands/api-key-mgmt.js.map +0 -1
  29. package/dist/commands/audit-log.d.ts +0 -26
  30. package/dist/commands/audit-log.js +0 -155
  31. package/dist/commands/audit-log.js.map +0 -1
  32. package/dist/commands/auth-status.d.ts +0 -1
  33. package/dist/commands/auth-status.js +0 -57
  34. package/dist/commands/auth-status.js.map +0 -1
  35. package/dist/commands/claim.d.ts +0 -11
  36. package/dist/commands/claim.js +0 -143
  37. package/dist/commands/claim.js.map +0 -1
  38. package/dist/commands/config.d.ts +0 -3
  39. package/dist/commands/config.js +0 -54
  40. package/dist/commands/config.js.map +0 -1
  41. package/dist/commands/connection.d.ts +0 -13
  42. package/dist/commands/connection.js +0 -96
  43. package/dist/commands/connection.js.map +0 -1
  44. package/dist/commands/debug-sso.d.ts +0 -1
  45. package/dist/commands/debug-sso.js +0 -78
  46. package/dist/commands/debug-sso.js.map +0 -1
  47. package/dist/commands/debug-sync.d.ts +0 -1
  48. package/dist/commands/debug-sync.js +0 -102
  49. package/dist/commands/debug-sync.js.map +0 -1
  50. package/dist/commands/debug.d.ts +0 -28
  51. package/dist/commands/debug.js +0 -406
  52. package/dist/commands/debug.js.map +0 -1
  53. package/dist/commands/dev.d.ts +0 -22
  54. package/dist/commands/dev.js +0 -145
  55. package/dist/commands/dev.js.map +0 -1
  56. package/dist/commands/directory.d.ts +0 -27
  57. package/dist/commands/directory.js +0 -176
  58. package/dist/commands/directory.js.map +0 -1
  59. package/dist/commands/doctor.d.ts +0 -12
  60. package/dist/commands/doctor.js +0 -41
  61. package/dist/commands/doctor.js.map +0 -1
  62. package/dist/commands/emulate.d.ts +0 -7
  63. package/dist/commands/emulate.js +0 -69
  64. package/dist/commands/emulate.js.map +0 -1
  65. package/dist/commands/env.d.ts +0 -19
  66. package/dist/commands/env.js +0 -303
  67. package/dist/commands/env.js.map +0 -1
  68. package/dist/commands/event.d.ts +0 -9
  69. package/dist/commands/event.js +0 -43
  70. package/dist/commands/event.js.map +0 -1
  71. package/dist/commands/feature-flag.d.ts +0 -12
  72. package/dist/commands/feature-flag.js +0 -96
  73. package/dist/commands/feature-flag.js.map +0 -1
  74. package/dist/commands/install-skill.d.ts +0 -85
  75. package/dist/commands/install-skill.js +0 -332
  76. package/dist/commands/install-skill.js.map +0 -1
  77. package/dist/commands/install.d.ts +0 -6
  78. package/dist/commands/install.js +0 -51
  79. package/dist/commands/install.js.map +0 -1
  80. package/dist/commands/invitation.d.ts +0 -19
  81. package/dist/commands/invitation.js +0 -94
  82. package/dist/commands/invitation.js.map +0 -1
  83. package/dist/commands/list-skills.d.ts +0 -4
  84. package/dist/commands/list-skills.js +0 -52
  85. package/dist/commands/list-skills.js.map +0 -1
  86. package/dist/commands/login.d.ts +0 -32
  87. package/dist/commands/login.js +0 -239
  88. package/dist/commands/login.js.map +0 -1
  89. package/dist/commands/logout.d.ts +0 -1
  90. package/dist/commands/logout.js +0 -17
  91. package/dist/commands/logout.js.map +0 -1
  92. package/dist/commands/mcp.d.ts +0 -14
  93. package/dist/commands/mcp.js +0 -99
  94. package/dist/commands/mcp.js.map +0 -1
  95. package/dist/commands/membership.d.ts +0 -20
  96. package/dist/commands/membership.js +0 -129
  97. package/dist/commands/membership.js.map +0 -1
  98. package/dist/commands/migrations.d.ts +0 -2
  99. package/dist/commands/migrations.js +0 -50
  100. package/dist/commands/migrations.js.map +0 -1
  101. package/dist/commands/onboard-user.d.ts +0 -7
  102. package/dist/commands/onboard-user.js +0 -61
  103. package/dist/commands/onboard-user.js.map +0 -1
  104. package/dist/commands/org-domain.d.ts +0 -4
  105. package/dist/commands/org-domain.js +0 -45
  106. package/dist/commands/org-domain.js.map +0 -1
  107. package/dist/commands/organization.d.ts +0 -14
  108. package/dist/commands/organization.js +0 -103
  109. package/dist/commands/organization.js.map +0 -1
  110. package/dist/commands/permission.d.ts +0 -20
  111. package/dist/commands/permission.js +0 -93
  112. package/dist/commands/permission.js.map +0 -1
  113. package/dist/commands/portal.d.ts +0 -7
  114. package/dist/commands/portal.js +0 -26
  115. package/dist/commands/portal.js.map +0 -1
  116. package/dist/commands/role.d.ts +0 -17
  117. package/dist/commands/role.js +0 -122
  118. package/dist/commands/role.js.map +0 -1
  119. package/dist/commands/seed.d.ts +0 -6
  120. package/dist/commands/seed.js +0 -298
  121. package/dist/commands/seed.js.map +0 -1
  122. package/dist/commands/session.d.ts +0 -8
  123. package/dist/commands/session.js +0 -63
  124. package/dist/commands/session.js.map +0 -1
  125. package/dist/commands/setup-org.d.ts +0 -6
  126. package/dist/commands/setup-org.js +0 -99
  127. package/dist/commands/setup-org.js.map +0 -1
  128. package/dist/commands/setup.d.ts +0 -50
  129. package/dist/commands/setup.js +0 -237
  130. package/dist/commands/setup.js.map +0 -1
  131. package/dist/commands/telemetry.d.ts +0 -3
  132. package/dist/commands/telemetry.js +0 -88
  133. package/dist/commands/telemetry.js.map +0 -1
  134. package/dist/commands/uninstall-skill.d.ts +0 -11
  135. package/dist/commands/uninstall-skill.js +0 -117
  136. package/dist/commands/uninstall-skill.js.map +0 -1
  137. package/dist/commands/user.d.ts +0 -19
  138. package/dist/commands/user.js +0 -92
  139. package/dist/commands/user.js.map +0 -1
  140. package/dist/commands/vault-run.d.ts +0 -13
  141. package/dist/commands/vault-run.js +0 -195
  142. package/dist/commands/vault-run.js.map +0 -1
  143. package/dist/commands/vault.d.ts +0 -25
  144. package/dist/commands/vault.js +0 -153
  145. package/dist/commands/vault.js.map +0 -1
  146. package/dist/commands/verify-login.d.ts +0 -25
  147. package/dist/commands/verify-login.js +0 -158
  148. package/dist/commands/verify-login.js.map +0 -1
  149. package/dist/commands/webhook.d.ts +0 -3
  150. package/dist/commands/webhook.js +0 -92
  151. package/dist/commands/webhook.js.map +0 -1
  152. package/dist/craft-pre-release.sh +0 -10
  153. package/dist/dashboard/components/AnimatedLogo.d.ts +0 -8
  154. package/dist/dashboard/components/AnimatedLogo.js +0 -16
  155. package/dist/dashboard/components/AnimatedLogo.js.map +0 -1
  156. package/dist/dashboard/components/CompletionView.d.ts +0 -13
  157. package/dist/dashboard/components/CompletionView.js +0 -25
  158. package/dist/dashboard/components/CompletionView.js.map +0 -1
  159. package/dist/dashboard/components/ConfirmPrompt.d.ts +0 -9
  160. package/dist/dashboard/components/ConfirmPrompt.js +0 -25
  161. package/dist/dashboard/components/ConfirmPrompt.js.map +0 -1
  162. package/dist/dashboard/components/CredentialsForm.d.ts +0 -10
  163. package/dist/dashboard/components/CredentialsForm.js +0 -47
  164. package/dist/dashboard/components/CredentialsForm.js.map +0 -1
  165. package/dist/dashboard/components/Dashboard.d.ts +0 -3
  166. package/dist/dashboard/components/Dashboard.js +0 -100
  167. package/dist/dashboard/components/Dashboard.js.map +0 -1
  168. package/dist/dashboard/components/DashboardLayout.d.ts +0 -24
  169. package/dist/dashboard/components/DashboardLayout.js +0 -25
  170. package/dist/dashboard/components/DashboardLayout.js.map +0 -1
  171. package/dist/dashboard/components/DiffPanel.d.ts +0 -9
  172. package/dist/dashboard/components/DiffPanel.js +0 -136
  173. package/dist/dashboard/components/DiffPanel.js.map +0 -1
  174. package/dist/dashboard/components/InlinePrompt.d.ts +0 -8
  175. package/dist/dashboard/components/InlinePrompt.js +0 -19
  176. package/dist/dashboard/components/InlinePrompt.js.map +0 -1
  177. package/dist/dashboard/components/OutputPanel.d.ts +0 -10
  178. package/dist/dashboard/components/OutputPanel.js +0 -100
  179. package/dist/dashboard/components/OutputPanel.js.map +0 -1
  180. package/dist/dashboard/components/Panel.d.ts +0 -12
  181. package/dist/dashboard/components/Panel.js +0 -6
  182. package/dist/dashboard/components/Panel.js.map +0 -1
  183. package/dist/dashboard/components/TextInput.d.ts +0 -13
  184. package/dist/dashboard/components/TextInput.js +0 -57
  185. package/dist/dashboard/components/TextInput.js.map +0 -1
  186. package/dist/dashboard/components/WelcomeArt.d.ts +0 -2
  187. package/dist/dashboard/components/WelcomeArt.js +0 -9
  188. package/dist/dashboard/components/WelcomeArt.js.map +0 -1
  189. package/dist/dashboard/hooks/useAnimation.d.ts +0 -7
  190. package/dist/dashboard/hooks/useAnimation.js +0 -24
  191. package/dist/dashboard/hooks/useAnimation.js.map +0 -1
  192. package/dist/dashboard/hooks/useKeyboard.d.ts +0 -8
  193. package/dist/dashboard/hooks/useKeyboard.js +0 -18
  194. package/dist/dashboard/hooks/useKeyboard.js.map +0 -1
  195. package/dist/dashboard/hooks/useTerminalSize.d.ts +0 -8
  196. package/dist/dashboard/hooks/useTerminalSize.js +0 -23
  197. package/dist/dashboard/hooks/useTerminalSize.js.map +0 -1
  198. package/dist/dashboard/index.d.ts +0 -6
  199. package/dist/dashboard/index.js +0 -36
  200. package/dist/dashboard/index.js.map +0 -1
  201. package/dist/dashboard/lib/diff-utils.d.ts +0 -21
  202. package/dist/dashboard/lib/diff-utils.js +0 -271
  203. package/dist/dashboard/lib/diff-utils.js.map +0 -1
  204. package/dist/dashboard/lib/logo-frames.d.ts +0 -20
  205. package/dist/dashboard/lib/logo-frames.js +0 -109
  206. package/dist/dashboard/lib/logo-frames.js.map +0 -1
  207. package/dist/dashboard/lib/welcome-art.d.ts +0 -1
  208. package/dist/dashboard/lib/welcome-art.js +0 -5
  209. package/dist/dashboard/lib/welcome-art.js.map +0 -1
  210. package/dist/dashboard/types.d.ts +0 -5
  211. package/dist/dashboard/types.js +0 -2
  212. package/dist/dashboard/types.js.map +0 -1
  213. package/dist/doctor/agent-prompt.d.ts +0 -10
  214. package/dist/doctor/agent-prompt.js +0 -190
  215. package/dist/doctor/agent-prompt.js.map +0 -1
  216. package/dist/doctor/checks/ai-analysis.d.ts +0 -9
  217. package/dist/doctor/checks/ai-analysis.js +0 -124
  218. package/dist/doctor/checks/ai-analysis.js.map +0 -1
  219. package/dist/doctor/checks/auth-patterns.d.ts +0 -2
  220. package/dist/doctor/checks/auth-patterns.js +0 -569
  221. package/dist/doctor/checks/auth-patterns.js.map +0 -1
  222. package/dist/doctor/checks/connectivity.d.ts +0 -2
  223. package/dist/doctor/checks/connectivity.js +0 -35
  224. package/dist/doctor/checks/connectivity.js.map +0 -1
  225. package/dist/doctor/checks/dashboard.d.ts +0 -3
  226. package/dist/doctor/checks/dashboard.js +0 -123
  227. package/dist/doctor/checks/dashboard.js.map +0 -1
  228. package/dist/doctor/checks/environment.d.ts +0 -2
  229. package/dist/doctor/checks/environment.js +0 -86
  230. package/dist/doctor/checks/environment.js.map +0 -1
  231. package/dist/doctor/checks/framework.d.ts +0 -2
  232. package/dist/doctor/checks/framework.js +0 -94
  233. package/dist/doctor/checks/framework.js.map +0 -1
  234. package/dist/doctor/checks/host-execution.d.ts +0 -2
  235. package/dist/doctor/checks/host-execution.js +0 -21
  236. package/dist/doctor/checks/host-execution.js.map +0 -1
  237. package/dist/doctor/checks/language.d.ts +0 -6
  238. package/dist/doctor/checks/language.js +0 -104
  239. package/dist/doctor/checks/language.js.map +0 -1
  240. package/dist/doctor/checks/mcp.d.ts +0 -15
  241. package/dist/doctor/checks/mcp.js +0 -34
  242. package/dist/doctor/checks/mcp.js.map +0 -1
  243. package/dist/doctor/checks/runtime.d.ts +0 -2
  244. package/dist/doctor/checks/runtime.js +0 -20
  245. package/dist/doctor/checks/runtime.js.map +0 -1
  246. package/dist/doctor/checks/sdk.d.ts +0 -2
  247. package/dist/doctor/checks/sdk.js +0 -192
  248. package/dist/doctor/checks/sdk.js.map +0 -1
  249. package/dist/doctor/checks/skills.d.ts +0 -9
  250. package/dist/doctor/checks/skills.js +0 -84
  251. package/dist/doctor/checks/skills.js.map +0 -1
  252. package/dist/doctor/clipboard.d.ts +0 -1
  253. package/dist/doctor/clipboard.js +0 -43
  254. package/dist/doctor/clipboard.js.map +0 -1
  255. package/dist/doctor/index.d.ts +0 -26
  256. package/dist/doctor/index.js +0 -182
  257. package/dist/doctor/index.js.map +0 -1
  258. package/dist/doctor/issues.d.ts +0 -63
  259. package/dist/doctor/issues.js +0 -199
  260. package/dist/doctor/issues.js.map +0 -1
  261. package/dist/doctor/json-output.d.ts +0 -2
  262. package/dist/doctor/json-output.js +0 -4
  263. package/dist/doctor/json-output.js.map +0 -1
  264. package/dist/doctor/output.d.ts +0 -7
  265. package/dist/doctor/output.js +0 -289
  266. package/dist/doctor/output.js.map +0 -1
  267. package/dist/doctor/types.d.ts +0 -203
  268. package/dist/doctor/types.js +0 -2
  269. package/dist/doctor/types.js.map +0 -1
  270. package/dist/integrations/dotnet/index.d.ts +0 -8
  271. package/dist/integrations/dotnet/index.js +0 -170
  272. package/dist/integrations/dotnet/index.js.map +0 -1
  273. package/dist/integrations/elixir/index.d.ts +0 -8
  274. package/dist/integrations/elixir/index.js +0 -146
  275. package/dist/integrations/elixir/index.js.map +0 -1
  276. package/dist/integrations/go/index.d.ts +0 -11
  277. package/dist/integrations/go/index.js +0 -212
  278. package/dist/integrations/go/index.js.map +0 -1
  279. package/dist/integrations/kotlin/index.d.ts +0 -4
  280. package/dist/integrations/kotlin/index.js +0 -78
  281. package/dist/integrations/kotlin/index.js.map +0 -1
  282. package/dist/integrations/nextjs/index.d.ts +0 -4
  283. package/dist/integrations/nextjs/index.js +0 -93
  284. package/dist/integrations/nextjs/index.js.map +0 -1
  285. package/dist/integrations/nextjs/utils.d.ts +0 -8
  286. package/dist/integrations/nextjs/utils.js +0 -68
  287. package/dist/integrations/nextjs/utils.js.map +0 -1
  288. package/dist/integrations/node/index.d.ts +0 -4
  289. package/dist/integrations/node/index.js +0 -52
  290. package/dist/integrations/node/index.js.map +0 -1
  291. package/dist/integrations/php/index.d.ts +0 -4
  292. package/dist/integrations/php/index.js +0 -51
  293. package/dist/integrations/php/index.js.map +0 -1
  294. package/dist/integrations/php-laravel/index.d.ts +0 -4
  295. package/dist/integrations/php-laravel/index.js +0 -51
  296. package/dist/integrations/php-laravel/index.js.map +0 -1
  297. package/dist/integrations/python/index.d.ts +0 -9
  298. package/dist/integrations/python/index.js +0 -249
  299. package/dist/integrations/python/index.js.map +0 -1
  300. package/dist/integrations/react/index.d.ts +0 -4
  301. package/dist/integrations/react/index.js +0 -49
  302. package/dist/integrations/react/index.js.map +0 -1
  303. package/dist/integrations/react-router/index.d.ts +0 -4
  304. package/dist/integrations/react-router/index.js +0 -94
  305. package/dist/integrations/react-router/index.js.map +0 -1
  306. package/dist/integrations/react-router/utils.d.ts +0 -10
  307. package/dist/integrations/react-router/utils.js +0 -162
  308. package/dist/integrations/react-router/utils.js.map +0 -1
  309. package/dist/integrations/ruby/index.d.ts +0 -8
  310. package/dist/integrations/ruby/index.js +0 -137
  311. package/dist/integrations/ruby/index.js.map +0 -1
  312. package/dist/integrations/sveltekit/index.d.ts +0 -4
  313. package/dist/integrations/sveltekit/index.js +0 -50
  314. package/dist/integrations/sveltekit/index.js.map +0 -1
  315. package/dist/integrations/tanstack-start/index.d.ts +0 -4
  316. package/dist/integrations/tanstack-start/index.js +0 -51
  317. package/dist/integrations/tanstack-start/index.js.map +0 -1
  318. package/dist/integrations/vanilla-js/index.d.ts +0 -4
  319. package/dist/integrations/vanilla-js/index.js +0 -49
  320. package/dist/integrations/vanilla-js/index.js.map +0 -1
  321. package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.d.ts +0 -7
  322. package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.js +0 -12
  323. package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.js.map +0 -1
  324. package/dist/lib/adapters/cli-adapter.d.ts +0 -113
  325. package/dist/lib/adapters/cli-adapter.js +0 -641
  326. package/dist/lib/adapters/cli-adapter.js.map +0 -1
  327. package/dist/lib/adapters/dashboard-adapter.d.ts +0 -34
  328. package/dist/lib/adapters/dashboard-adapter.js +0 -121
  329. package/dist/lib/adapters/dashboard-adapter.js.map +0 -1
  330. package/dist/lib/adapters/headless-adapter.d.ts +0 -80
  331. package/dist/lib/adapters/headless-adapter.js +0 -347
  332. package/dist/lib/adapters/headless-adapter.js.map +0 -1
  333. package/dist/lib/adapters/index.d.ts +0 -4
  334. package/dist/lib/adapters/index.js +0 -4
  335. package/dist/lib/adapters/index.js.map +0 -1
  336. package/dist/lib/adapters/types.d.ts +0 -41
  337. package/dist/lib/adapters/types.js +0 -2
  338. package/dist/lib/adapters/types.js.map +0 -1
  339. package/dist/lib/agent-interface.d.ts +0 -84
  340. package/dist/lib/agent-interface.js +0 -840
  341. package/dist/lib/agent-interface.js.map +0 -1
  342. package/dist/lib/agent-runner.d.ts +0 -9
  343. package/dist/lib/agent-runner.js +0 -261
  344. package/dist/lib/agent-runner.js.map +0 -1
  345. package/dist/lib/ai-content.d.ts +0 -14
  346. package/dist/lib/ai-content.js +0 -131
  347. package/dist/lib/ai-content.js.map +0 -1
  348. package/dist/lib/api-error-handler.d.ts +0 -18
  349. package/dist/lib/api-error-handler.js +0 -76
  350. package/dist/lib/api-error-handler.js.map +0 -1
  351. package/dist/lib/api-key.d.ts +0 -14
  352. package/dist/lib/api-key.js +0 -37
  353. package/dist/lib/api-key.js.map +0 -1
  354. package/dist/lib/api.d.ts +0 -25
  355. package/dist/lib/api.js +0 -120
  356. package/dist/lib/api.js.map +0 -1
  357. package/dist/lib/background-refresh.d.ts +0 -29
  358. package/dist/lib/background-refresh.js +0 -95
  359. package/dist/lib/background-refresh.js.map +0 -1
  360. package/dist/lib/command-aliases.d.ts +0 -8
  361. package/dist/lib/command-aliases.js +0 -12
  362. package/dist/lib/command-aliases.js.map +0 -1
  363. package/dist/lib/completion-data.d.ts +0 -33
  364. package/dist/lib/completion-data.js +0 -33
  365. package/dist/lib/completion-data.js.map +0 -1
  366. package/dist/lib/config-store.d.ts +0 -63
  367. package/dist/lib/config-store.js +0 -293
  368. package/dist/lib/config-store.js.map +0 -1
  369. package/dist/lib/config.d.ts +0 -34
  370. package/dist/lib/config.js +0 -37
  371. package/dist/lib/config.js.map +0 -1
  372. package/dist/lib/constants.d.ts +0 -51
  373. package/dist/lib/constants.js +0 -50
  374. package/dist/lib/constants.js.map +0 -1
  375. package/dist/lib/credential-discovery.d.ts +0 -42
  376. package/dist/lib/credential-discovery.js +0 -100
  377. package/dist/lib/credential-discovery.js.map +0 -1
  378. package/dist/lib/credential-proxy.d.ts +0 -45
  379. package/dist/lib/credential-proxy.js +0 -364
  380. package/dist/lib/credential-proxy.js.map +0 -1
  381. package/dist/lib/credential-store.d.ts +0 -32
  382. package/dist/lib/credential-store.js +0 -236
  383. package/dist/lib/credential-store.js.map +0 -1
  384. package/dist/lib/credentials.d.ts +0 -13
  385. package/dist/lib/credentials.js +0 -34
  386. package/dist/lib/credentials.js.map +0 -1
  387. package/dist/lib/dev-command.d.ts +0 -26
  388. package/dist/lib/dev-command.js +0 -129
  389. package/dist/lib/dev-command.js.map +0 -1
  390. package/dist/lib/device-auth.d.ts +0 -48
  391. package/dist/lib/device-auth.js +0 -176
  392. package/dist/lib/device-auth.js.map +0 -1
  393. package/dist/lib/device-id.d.ts +0 -25
  394. package/dist/lib/device-id.js +0 -102
  395. package/dist/lib/device-id.js.map +0 -1
  396. package/dist/lib/ensure-auth.d.ts +0 -12
  397. package/dist/lib/ensure-auth.js +0 -111
  398. package/dist/lib/ensure-auth.js.map +0 -1
  399. package/dist/lib/env-writer.d.ts +0 -25
  400. package/dist/lib/env-writer.js +0 -90
  401. package/dist/lib/env-writer.js.map +0 -1
  402. package/dist/lib/events.d.ts +0 -248
  403. package/dist/lib/events.js +0 -19
  404. package/dist/lib/events.js.map +0 -1
  405. package/dist/lib/framework-config.d.ts +0 -133
  406. package/dist/lib/framework-config.js +0 -11
  407. package/dist/lib/framework-config.js.map +0 -1
  408. package/dist/lib/helper-functions.d.ts +0 -1
  409. package/dist/lib/helper-functions.js +0 -2
  410. package/dist/lib/helper-functions.js.map +0 -1
  411. package/dist/lib/host-probe.d.ts +0 -28
  412. package/dist/lib/host-probe.js +0 -154
  413. package/dist/lib/host-probe.js.map +0 -1
  414. package/dist/lib/installer-core.d.ts +0 -569
  415. package/dist/lib/installer-core.js +0 -1134
  416. package/dist/lib/installer-core.js.map +0 -1
  417. package/dist/lib/installer-core.types.d.ts +0 -162
  418. package/dist/lib/installer-core.types.js +0 -2
  419. package/dist/lib/installer-core.types.js.map +0 -1
  420. package/dist/lib/mcp-clients.d.ts +0 -45
  421. package/dist/lib/mcp-clients.js +0 -297
  422. package/dist/lib/mcp-clients.js.map +0 -1
  423. package/dist/lib/port-detection.d.ts +0 -7
  424. package/dist/lib/port-detection.js +0 -244
  425. package/dist/lib/port-detection.js.map +0 -1
  426. package/dist/lib/post-install.d.ts +0 -8
  427. package/dist/lib/post-install.js +0 -51
  428. package/dist/lib/post-install.js.map +0 -1
  429. package/dist/lib/preferences.d.ts +0 -143
  430. package/dist/lib/preferences.js +0 -227
  431. package/dist/lib/preferences.js.map +0 -1
  432. package/dist/lib/progress-tracker.d.ts +0 -22
  433. package/dist/lib/progress-tracker.js +0 -47
  434. package/dist/lib/progress-tracker.js.map +0 -1
  435. package/dist/lib/registry.d.ts +0 -42
  436. package/dist/lib/registry.js +0 -96
  437. package/dist/lib/registry.js.map +0 -1
  438. package/dist/lib/resolve-install-credentials.d.ts +0 -11
  439. package/dist/lib/resolve-install-credentials.js +0 -53
  440. package/dist/lib/resolve-install-credentials.js.map +0 -1
  441. package/dist/lib/run-with-core.d.ts +0 -7
  442. package/dist/lib/run-with-core.js +0 -559
  443. package/dist/lib/run-with-core.js.map +0 -1
  444. package/dist/lib/safe-tools.d.ts +0 -2
  445. package/dist/lib/safe-tools.js +0 -212
  446. package/dist/lib/safe-tools.js.map +0 -1
  447. package/dist/lib/scaffold/index.d.ts +0 -1
  448. package/dist/lib/scaffold/index.js +0 -2
  449. package/dist/lib/scaffold/index.js.map +0 -1
  450. package/dist/lib/scaffold/scaffold.d.ts +0 -66
  451. package/dist/lib/scaffold/scaffold.js +0 -156
  452. package/dist/lib/scaffold/scaffold.js.map +0 -1
  453. package/dist/lib/settings.d.ts +0 -60
  454. package/dist/lib/settings.js +0 -31
  455. package/dist/lib/settings.js.map +0 -1
  456. package/dist/lib/staging-api.d.ts +0 -22
  457. package/dist/lib/staging-api.js +0 -74
  458. package/dist/lib/staging-api.js.map +0 -1
  459. package/dist/lib/startup-notice-gate.d.ts +0 -21
  460. package/dist/lib/startup-notice-gate.js +0 -29
  461. package/dist/lib/startup-notice-gate.js.map +0 -1
  462. package/dist/lib/telemetry-notice.d.ts +0 -25
  463. package/dist/lib/telemetry-notice.js +0 -58
  464. package/dist/lib/telemetry-notice.js.map +0 -1
  465. package/dist/lib/token-refresh-client.d.ts +0 -23
  466. package/dist/lib/token-refresh-client.js +0 -89
  467. package/dist/lib/token-refresh-client.js.map +0 -1
  468. package/dist/lib/token-refresh.d.ts +0 -12
  469. package/dist/lib/token-refresh.js +0 -27
  470. package/dist/lib/token-refresh.js.map +0 -1
  471. package/dist/lib/unclaimed-env-api.d.ts +0 -42
  472. package/dist/lib/unclaimed-env-api.js +0 -139
  473. package/dist/lib/unclaimed-env-api.js.map +0 -1
  474. package/dist/lib/unclaimed-env-provision.d.ts +0 -24
  475. package/dist/lib/unclaimed-env-provision.js +0 -80
  476. package/dist/lib/unclaimed-env-provision.js.map +0 -1
  477. package/dist/lib/unclaimed-warning.d.ts +0 -15
  478. package/dist/lib/unclaimed-warning.js +0 -78
  479. package/dist/lib/unclaimed-warning.js.map +0 -1
  480. package/dist/lib/validation/build-validator.d.ts +0 -21
  481. package/dist/lib/validation/build-validator.js +0 -153
  482. package/dist/lib/validation/build-validator.js.map +0 -1
  483. package/dist/lib/validation/index.d.ts +0 -4
  484. package/dist/lib/validation/index.js +0 -4
  485. package/dist/lib/validation/index.js.map +0 -1
  486. package/dist/lib/validation/quick-checks.d.ts +0 -19
  487. package/dist/lib/validation/quick-checks.js +0 -192
  488. package/dist/lib/validation/quick-checks.js.map +0 -1
  489. package/dist/lib/validation/security-checks.d.ts +0 -35
  490. package/dist/lib/validation/security-checks.js +0 -106
  491. package/dist/lib/validation/security-checks.js.map +0 -1
  492. package/dist/lib/validation/types.d.ts +0 -56
  493. package/dist/lib/validation/types.js +0 -2
  494. package/dist/lib/validation/types.js.map +0 -1
  495. package/dist/lib/validation/validator.d.ts +0 -13
  496. package/dist/lib/validation/validator.js +0 -711
  497. package/dist/lib/validation/validator.js.map +0 -1
  498. package/dist/lib/version-check.d.ts +0 -6
  499. package/dist/lib/version-check.js +0 -46
  500. package/dist/lib/version-check.js.map +0 -1
  501. package/dist/lib/workos-api.d.ts +0 -30
  502. package/dist/lib/workos-api.js +0 -69
  503. package/dist/lib/workos-api.js.map +0 -1
  504. package/dist/lib/workos-client.d.ts +0 -58
  505. package/dist/lib/workos-client.js +0 -140
  506. package/dist/lib/workos-client.js.map +0 -1
  507. package/dist/lib/workos-management.d.ts +0 -32
  508. package/dist/lib/workos-management.js +0 -149
  509. package/dist/lib/workos-management.js.map +0 -1
  510. package/dist/nextjs/nextjs-installer-agent.d.ts +0 -5
  511. package/dist/nextjs/nextjs-installer-agent.js +0 -6
  512. package/dist/nextjs/nextjs-installer-agent.js.map +0 -1
  513. package/dist/nextjs/utils.d.ts +0 -4
  514. package/dist/nextjs/utils.js +0 -5
  515. package/dist/nextjs/utils.js.map +0 -1
  516. package/dist/react/react-installer-agent.d.ts +0 -4
  517. package/dist/react/react-installer-agent.js +0 -5
  518. package/dist/react/react-installer-agent.js.map +0 -1
  519. package/dist/react-router/react-router-installer-agent.d.ts +0 -4
  520. package/dist/react-router/react-router-installer-agent.js +0 -5
  521. package/dist/react-router/react-router-installer-agent.js.map +0 -1
  522. package/dist/react-router/utils.d.ts +0 -4
  523. package/dist/react-router/utils.js +0 -5
  524. package/dist/react-router/utils.js.map +0 -1
  525. package/dist/run.d.ts +0 -33
  526. package/dist/run.js +0 -58
  527. package/dist/run.js.map +0 -1
  528. package/dist/smoke-test.ts +0 -881
  529. package/dist/steps/add-or-update-environment-variables.d.ts +0 -10
  530. package/dist/steps/add-or-update-environment-variables.js +0 -155
  531. package/dist/steps/add-or-update-environment-variables.js.map +0 -1
  532. package/dist/steps/index.d.ts +0 -3
  533. package/dist/steps/index.js +0 -4
  534. package/dist/steps/index.js.map +0 -1
  535. package/dist/steps/run-prettier.d.ts +0 -5
  536. package/dist/steps/run-prettier.js +0 -50
  537. package/dist/steps/run-prettier.js.map +0 -1
  538. package/dist/steps/upload-environment-variables/EnvironmentProvider.d.ts +0 -8
  539. package/dist/steps/upload-environment-variables/EnvironmentProvider.js +0 -7
  540. package/dist/steps/upload-environment-variables/EnvironmentProvider.js.map +0 -1
  541. package/dist/steps/upload-environment-variables/index.d.ts +0 -6
  542. package/dist/steps/upload-environment-variables/index.js +0 -69
  543. package/dist/steps/upload-environment-variables/index.js.map +0 -1
  544. package/dist/steps/upload-environment-variables/providers/vercel.d.ts +0 -14
  545. package/dist/steps/upload-environment-variables/providers/vercel.js +0 -107
  546. package/dist/steps/upload-environment-variables/providers/vercel.js.map +0 -1
  547. package/dist/tanstack-start/tanstack-start-installer-agent.d.ts +0 -4
  548. package/dist/tanstack-start/tanstack-start-installer-agent.js +0 -5
  549. package/dist/tanstack-start/tanstack-start-installer-agent.js.map +0 -1
  550. package/dist/telemetry.d.ts +0 -2
  551. package/dist/telemetry.js +0 -29
  552. package/dist/telemetry.js.map +0 -1
  553. package/dist/test/force-insecure-storage.d.ts +0 -1
  554. package/dist/test/force-insecure-storage.js +0 -9
  555. package/dist/test/force-insecure-storage.js.map +0 -1
  556. package/dist/test/setup.d.ts +0 -1
  557. package/dist/test/setup.js +0 -38
  558. package/dist/test/setup.js.map +0 -1
  559. package/dist/utils/analytics.d.ts +0 -66
  560. package/dist/utils/analytics.js +0 -330
  561. package/dist/utils/analytics.js.map +0 -1
  562. package/dist/utils/bash.d.ts +0 -2
  563. package/dist/utils/bash.js +0 -17
  564. package/dist/utils/bash.js.map +0 -1
  565. package/dist/utils/box.d.ts +0 -9
  566. package/dist/utils/box.js +0 -15
  567. package/dist/utils/box.js.map +0 -1
  568. package/dist/utils/cli-exit.d.ts +0 -15
  569. package/dist/utils/cli-exit.js +0 -11
  570. package/dist/utils/cli-exit.js.map +0 -1
  571. package/dist/utils/cli-symbols.d.ts +0 -44
  572. package/dist/utils/cli-symbols.js +0 -58
  573. package/dist/utils/cli-symbols.js.map +0 -1
  574. package/dist/utils/command-invocation.d.ts +0 -10
  575. package/dist/utils/command-invocation.js +0 -26
  576. package/dist/utils/command-invocation.js.map +0 -1
  577. package/dist/utils/command-telemetry.d.ts +0 -17
  578. package/dist/utils/command-telemetry.js +0 -67
  579. package/dist/utils/command-telemetry.js.map +0 -1
  580. package/dist/utils/crash-reporter.d.ts +0 -13
  581. package/dist/utils/crash-reporter.js +0 -91
  582. package/dist/utils/crash-reporter.js.map +0 -1
  583. package/dist/utils/debug.d.ts +0 -9
  584. package/dist/utils/debug.js +0 -105
  585. package/dist/utils/debug.js.map +0 -1
  586. package/dist/utils/env-parser.d.ts +0 -5
  587. package/dist/utils/env-parser.js +0 -18
  588. package/dist/utils/env-parser.js.map +0 -1
  589. package/dist/utils/environment.d.ts +0 -10
  590. package/dist/utils/environment.js +0 -69
  591. package/dist/utils/environment.js.map +0 -1
  592. package/dist/utils/errors.d.ts +0 -3
  593. package/dist/utils/errors.js +0 -7
  594. package/dist/utils/errors.js.map +0 -1
  595. package/dist/utils/exec-file.d.ts +0 -15
  596. package/dist/utils/exec-file.js +0 -39
  597. package/dist/utils/exec-file.js.map +0 -1
  598. package/dist/utils/exit-codes.d.ts +0 -31
  599. package/dist/utils/exit-codes.js +0 -69
  600. package/dist/utils/exit-codes.js.map +0 -1
  601. package/dist/utils/git-utils.d.ts +0 -23
  602. package/dist/utils/git-utils.js +0 -86
  603. package/dist/utils/git-utils.js.map +0 -1
  604. package/dist/utils/help-json.d.ts +0 -58
  605. package/dist/utils/help-json.js +0 -1577
  606. package/dist/utils/help-json.js.map +0 -1
  607. package/dist/utils/interaction-mode.d.ts +0 -25
  608. package/dist/utils/interaction-mode.js +0 -99
  609. package/dist/utils/interaction-mode.js.map +0 -1
  610. package/dist/utils/lock-art.d.ts +0 -4
  611. package/dist/utils/lock-art.js +0 -73
  612. package/dist/utils/lock-art.js.map +0 -1
  613. package/dist/utils/logging.d.ts +0 -9
  614. package/dist/utils/logging.js +0 -36
  615. package/dist/utils/logging.js.map +0 -1
  616. package/dist/utils/ndjson.d.ts +0 -16
  617. package/dist/utils/ndjson.js +0 -18
  618. package/dist/utils/ndjson.js.map +0 -1
  619. package/dist/utils/output.d.ts +0 -60
  620. package/dist/utils/output.js +0 -124
  621. package/dist/utils/output.js.map +0 -1
  622. package/dist/utils/package-json.d.ts +0 -26
  623. package/dist/utils/package-json.js +0 -32
  624. package/dist/utils/package-json.js.map +0 -1
  625. package/dist/utils/package-manager.d.ts +0 -21
  626. package/dist/utils/package-manager.js +0 -166
  627. package/dist/utils/package-manager.js.map +0 -1
  628. package/dist/utils/paths.d.ts +0 -5
  629. package/dist/utils/paths.js +0 -18
  630. package/dist/utils/paths.js.map +0 -1
  631. package/dist/utils/platform.d.ts +0 -8
  632. package/dist/utils/platform.js +0 -7
  633. package/dist/utils/platform.js.map +0 -1
  634. package/dist/utils/recovery-hints.d.ts +0 -42
  635. package/dist/utils/recovery-hints.js +0 -92
  636. package/dist/utils/recovery-hints.js.map +0 -1
  637. package/dist/utils/redact.d.ts +0 -5
  638. package/dist/utils/redact.js +0 -29
  639. package/dist/utils/redact.js.map +0 -1
  640. package/dist/utils/register-subcommand.d.ts +0 -10
  641. package/dist/utils/register-subcommand.js +0 -33
  642. package/dist/utils/register-subcommand.js.map +0 -1
  643. package/dist/utils/semver.d.ts +0 -10
  644. package/dist/utils/semver.js +0 -43
  645. package/dist/utils/semver.js.map +0 -1
  646. package/dist/utils/string.d.ts +0 -1
  647. package/dist/utils/string.js +0 -6
  648. package/dist/utils/string.js.map +0 -1
  649. package/dist/utils/summary-box.d.ts +0 -25
  650. package/dist/utils/summary-box.js +0 -211
  651. package/dist/utils/summary-box.js.map +0 -1
  652. package/dist/utils/table.d.ts +0 -5
  653. package/dist/utils/table.js +0 -18
  654. package/dist/utils/table.js.map +0 -1
  655. package/dist/utils/telemetry-client.d.ts +0 -43
  656. package/dist/utils/telemetry-client.js +0 -171
  657. package/dist/utils/telemetry-client.js.map +0 -1
  658. package/dist/utils/telemetry-store-forward.d.ts +0 -11
  659. package/dist/utils/telemetry-store-forward.js +0 -94
  660. package/dist/utils/telemetry-store-forward.js.map +0 -1
  661. package/dist/utils/telemetry-types.d.ts +0 -100
  662. package/dist/utils/telemetry-types.js +0 -6
  663. package/dist/utils/telemetry-types.js.map +0 -1
  664. package/dist/utils/types.d.ts +0 -123
  665. package/dist/utils/types.js +0 -2
  666. package/dist/utils/types.js.map +0 -1
  667. package/dist/utils/ui-utils.d.ts +0 -97
  668. package/dist/utils/ui-utils.js +0 -449
  669. package/dist/utils/ui-utils.js.map +0 -1
  670. package/dist/utils/ui.d.ts +0 -148
  671. package/dist/utils/ui.js +0 -368
  672. package/dist/utils/ui.js.map +0 -1
  673. package/dist/utils/urls.d.ts +0 -13
  674. package/dist/utils/urls.js +0 -14
  675. package/dist/utils/urls.js.map +0 -1
  676. package/dist/utils/vendor/is-unicorn-supported.d.ts +0 -1
  677. package/dist/utils/vendor/is-unicorn-supported.js +0 -21
  678. package/dist/utils/vendor/is-unicorn-supported.js.map +0 -1
  679. package/dist/vanilla-js/vanilla-js-installer-agent.d.ts +0 -4
  680. package/dist/vanilla-js/vanilla-js-installer-agent.js +0 -5
  681. package/dist/vanilla-js/vanilla-js-installer-agent.js.map +0 -1
@@ -1,559 +0,0 @@
1
- import { createActor, fromPromise } from 'xstate';
2
- import open from 'open';
3
- import { existsSync, readFileSync } from 'fs';
4
- import { join } from 'path';
5
- import { installerMachine } from './installer-core.js';
6
- import { createInstallerEventEmitter } from './events.js';
7
- import { buildCompletionData } from './completion-data.js';
8
- import { resolveDevCommand } from './dev-command.js';
9
- import { getConfig as getInstallerSettings } from './settings.js';
10
- import { CLIAdapter } from './adapters/cli-adapter.js';
11
- import { DashboardAdapter } from './adapters/dashboard-adapter.js';
12
- import { getInteractionMode, isAgentMode, isCiMode } from '../utils/interaction-mode.js';
13
- import { getOutputMode, isJsonMode, resolveEffectiveOutputMode, setOutputMode } from '../utils/output.js';
14
- import { isScaffoldableEmptyDir, resolvePackageManager, runCreateNextApp } from './scaffold/index.js';
15
- import { parseEnvFile } from '../utils/env-parser.js';
16
- import { enableDebugLogs, initLogFile, logInfo, logError } from '../utils/debug.js';
17
- import { getAccessToken, saveCredentials, getStagingCredentials, saveStagingCredentials } from './credentials.js';
18
- import { getConfig, saveConfig, getActiveEnvironment, isUnclaimedEnvironment } from './config-store.js';
19
- import { checkForEnvFiles, discoverCredentials } from './credential-discovery.js';
20
- import { requestDeviceCode, pollForToken } from './device-auth.js';
21
- import { fetchStagingCredentials as fetchStagingCredentialsApi } from './staging-api.js';
22
- import { getCliAuthClientId, getAuthkitDomain } from './settings.js';
23
- import { getTelemetryUrl } from '../utils/urls.js';
24
- import { analytics } from '../utils/analytics.js';
25
- import { getVersion } from './settings.js';
26
- import { isInGitRepo, getUncommittedOrUntrackedFiles } from '../utils/ui-utils.js';
27
- import { getCurrentBranch, isProtectedBranch, createBranch as createGitBranch, branchExists, } from '../utils/git-utils.js';
28
- import { detectChanges, stageAndCommit, pushBranch as pushGitBranch, createPullRequest } from './post-install.js';
29
- import { generateCommitMessage as generateCommitMessageAi, generatePrDescription as generatePrDescriptionAi, } from './ai-content.js';
30
- import { autoConfigureWorkOSEnvironment } from './workos-management.js';
31
- import { detectPort, getCallbackPath } from './port-detection.js';
32
- import { writeEnvLocal } from './env-writer.js';
33
- import { getRegistry } from './registry.js';
34
- import { observeHostFailure } from './host-probe.js';
35
- import { formatWorkOSCommand } from '../utils/command-invocation.js';
36
- async function runIntegrationInstallerFn(integration, options) {
37
- const registry = await getRegistry();
38
- const mod = registry.get(integration);
39
- if (!mod) {
40
- throw new Error(`Unknown integration: ${integration}`);
41
- }
42
- return mod.run(options);
43
- }
44
- function readExistingCredentials(installDir) {
45
- const envPath = join(installDir, '.env.local');
46
- if (!existsSync(envPath)) {
47
- return {};
48
- }
49
- try {
50
- const content = readFileSync(envPath, 'utf-8');
51
- const envVars = parseEnvFile(content);
52
- return {
53
- apiKey: envVars.WORKOS_API_KEY || undefined,
54
- clientId: envVars.WORKOS_CLIENT_ID || undefined,
55
- };
56
- }
57
- catch {
58
- return {};
59
- }
60
- }
61
- async function detectIntegrationFn(options) {
62
- const registry = await getRegistry();
63
- const configs = registry.detectionOrder();
64
- for (const config of configs) {
65
- // Use the detect function from INTEGRATION_CONFIG in config.ts for JS integrations,
66
- // or fall back to checking if the framework package is installed
67
- const detected = await detectSingleIntegration(config.metadata.integration, options);
68
- if (detected) {
69
- return config.metadata.integration;
70
- }
71
- }
72
- return undefined;
73
- }
74
- /**
75
- * Detect if a single integration matches the project.
76
- * Uses package.json detection for JS integrations, manifest files for others.
77
- */
78
- export async function detectSingleIntegration(integration, options) {
79
- const { getPackageDotJson } = await import('../utils/ui-utils.js');
80
- const { hasPackageInstalled } = await import('../utils/package-json.js');
81
- const { existsSync } = await import('node:fs');
82
- const { join } = await import('node:path');
83
- const registry = await getRegistry();
84
- const mod = registry.get(integration);
85
- if (!mod)
86
- return false;
87
- const config = mod.config;
88
- // For JS integrations, check package.json
89
- if (config.metadata.language === 'javascript') {
90
- // Without a package.json, no JS integration can match. Skip silently so
91
- // non-JS integrations (Python/Django, Ruby, Go, ...) still get a chance —
92
- // getPackageDotJson would otherwise call process.exit(1).
93
- if (!existsSync(join(options.installDir, 'package.json'))) {
94
- return false;
95
- }
96
- const packageJson = await getPackageDotJson(options);
97
- switch (integration) {
98
- case 'nextjs':
99
- return hasPackageInstalled('next', packageJson);
100
- case 'tanstack-start':
101
- return hasPackageInstalled('@tanstack/react-start', packageJson);
102
- case 'react-router':
103
- return hasPackageInstalled('react-router', packageJson);
104
- case 'react': {
105
- const hasReact = hasPackageInstalled('react', packageJson);
106
- const hasNext = hasPackageInstalled('next', packageJson);
107
- const hasReactRouter = hasPackageInstalled('react-router', packageJson);
108
- const hasTanstack = hasPackageInstalled('@tanstack/react-start', packageJson);
109
- const hasSvelteKit = hasPackageInstalled('@sveltejs/kit', packageJson);
110
- return hasReact && !hasNext && !hasReactRouter && !hasTanstack && !hasSvelteKit;
111
- }
112
- case 'sveltekit':
113
- return hasPackageInstalled('@sveltejs/kit', packageJson);
114
- case 'node': {
115
- const hasExpress = hasPackageInstalled('express', packageJson);
116
- const hasFrontend = hasPackageInstalled('next', packageJson) ||
117
- hasPackageInstalled('@sveltejs/kit', packageJson) ||
118
- hasPackageInstalled('react', packageJson) ||
119
- hasPackageInstalled('@tanstack/react-start', packageJson);
120
- return hasExpress && !hasFrontend;
121
- }
122
- case 'vanilla-js':
123
- return true; // Fallback
124
- default:
125
- // Unknown JS integration — try package name detection
126
- return hasPackageInstalled(config.detection.packageName, packageJson);
127
- }
128
- }
129
- // For non-JS integrations, prefer a custom detect() if provided
130
- // (e.g., Django matches manage.py | pyproject.toml | requirements.txt),
131
- // otherwise fall back to manifest file existence.
132
- if (config.metadata.detect) {
133
- return await config.metadata.detect(options);
134
- }
135
- if (config.metadata.manifestFile) {
136
- return existsSync(join(options.installDir, config.metadata.manifestFile));
137
- }
138
- return false;
139
- }
140
- export async function runWithCore(options) {
141
- // Initialize debug/logging early so we capture all failures
142
- initLogFile();
143
- if (options.debug) {
144
- enableDebugLogs();
145
- }
146
- logInfo('Wizard starting with options:', {
147
- debug: options.debug,
148
- dashboard: options.dashboard,
149
- local: options.local,
150
- ci: options.ci,
151
- skipAuth: options.skipAuth,
152
- installDir: options.installDir,
153
- });
154
- // Configure telemetry endpoint separately from the LLM gateway proxy.
155
- const gatewayUrl = getTelemetryUrl();
156
- analytics.setGatewayUrl(gatewayUrl);
157
- const existingCreds = readExistingCredentials(options.installDir);
158
- const augmentedOptions = {
159
- ...options,
160
- apiKey: options.apiKey || existingCreds.apiKey,
161
- clientId: options.clientId || existingCreds.clientId,
162
- };
163
- const emitter = createInstallerEventEmitter();
164
- let actor = null;
165
- const sendEvent = (event) => {
166
- if (actor) {
167
- actor.send(event);
168
- }
169
- };
170
- const nonHumanMode = isAgentMode() || isCiMode();
171
- if (nonHumanMode && !isJsonMode()) {
172
- setOutputMode(resolveEffectiveOutputMode(getOutputMode(), getInteractionMode()));
173
- }
174
- // Headless (no prompts, structured output) is for MACHINE output only: JSON.
175
- // A prompt cannot render into a JSON stream, so any JSON run must be headless.
176
- // We deliberately do NOT route a human session with non-TTY stdin here:
177
- // headless auto-approves branch/commit/scaffold, and applying those unattended
178
- // to a session the user never opted into would violate the "nothing is written
179
- // until you confirm" contract. Those sessions keep the CLIAdapter, which now
180
- // fails fast with a clear `prompt_unavailable` error on the first prompt
181
- // (see CLIAdapter's handler-error catch) instead of hanging or auto-writing.
182
- // --dashboard keeps its own adapter even under --json.
183
- const headlessMode = isJsonMode() && !options.dashboard;
184
- let adapter;
185
- if (headlessMode) {
186
- const { HeadlessAdapter } = await import('./adapters/headless-adapter.js');
187
- adapter = new HeadlessAdapter({
188
- emitter,
189
- sendEvent,
190
- debug: augmentedOptions.debug,
191
- options: {
192
- apiKey: augmentedOptions.apiKey,
193
- clientId: augmentedOptions.clientId,
194
- noBranch: augmentedOptions.noBranch,
195
- noCommit: augmentedOptions.noCommit,
196
- createPr: augmentedOptions.createPr,
197
- noGitCheck: augmentedOptions.noGitCheck,
198
- ci: augmentedOptions.ci,
199
- },
200
- });
201
- }
202
- else if (options.dashboard) {
203
- adapter = new DashboardAdapter({ emitter, sendEvent, debug: augmentedOptions.debug });
204
- }
205
- else {
206
- adapter = new CLIAdapter({ emitter, sendEvent, debug: augmentedOptions.debug });
207
- }
208
- const machineWithActors = installerMachine.provide({
209
- actors: {
210
- checkAuthentication: fromPromise(async () => {
211
- // Check for active environment with credentials (covers unclaimed environments).
212
- const activeEnv = getActiveEnvironment();
213
- if (activeEnv?.apiKey) {
214
- return true;
215
- }
216
- const token = getAccessToken();
217
- if (!token) {
218
- // This should rarely happen since bin.ts handles auth first
219
- // But keep as safety net for programmatic usage
220
- throw new Error(`Not authenticated. Run \`${formatWorkOSCommand('auth login')}\` first.`);
221
- }
222
- return true;
223
- }),
224
- checkWorkspace: fromPromise(async ({ input }) => {
225
- const scaffoldable = await isScaffoldableEmptyDir(input.options.installDir);
226
- const packageManager = resolvePackageManager({
227
- pm: input.options.pm,
228
- userAgent: process.env.npm_config_user_agent,
229
- });
230
- // headlessMode is computed above; --scaffold opts in during interactive runs.
231
- const autoScaffold = scaffoldable && (headlessMode || !!input.options.scaffold);
232
- return { scaffoldable, packageManager, autoScaffold };
233
- }),
234
- runScaffold: fromPromise(async ({ input }) => {
235
- const { options: installerOptions, packageManager, emitter: ctxEmitter } = input.context;
236
- await runCreateNextApp({
237
- installDir: installerOptions.installDir,
238
- packageManager: packageManager ?? 'npm',
239
- emitter: ctxEmitter,
240
- });
241
- }),
242
- detectIntegration: fromPromise(async ({ input }) => {
243
- const integration = await detectIntegrationFn({ installDir: input.options.installDir });
244
- return { integration };
245
- }),
246
- checkGitStatus: fromPromise(async () => {
247
- if (!isInGitRepo()) {
248
- return { isClean: true, files: [] };
249
- }
250
- const files = getUncommittedOrUntrackedFiles();
251
- return { isClean: files.length === 0, files };
252
- }),
253
- configureEnvironment: fromPromise(async ({ input }) => {
254
- const { context } = input;
255
- const { options: installerOptions, integration, credentials } = context;
256
- if (!integration || !credentials) {
257
- throw new Error('Missing integration or credentials');
258
- }
259
- // Non-JS integrations own their env file writing (e.g. Python writes
260
- // .env inside its own run()). Skip here so we don't leak a .env.local
261
- // with JS-flavored vars (WORKOS_COOKIE_PASSWORD, wrong redirect port).
262
- const registry = await getRegistry();
263
- const mod = registry.get(integration);
264
- if (mod?.config.metadata.language !== 'javascript') {
265
- return;
266
- }
267
- const port = detectPort(integration, installerOptions.installDir);
268
- const callbackPath = getCallbackPath(integration);
269
- const redirectUri = installerOptions.redirectUri || `http://localhost:${port}${callbackPath}`;
270
- const requiresApiKey = ['nextjs', 'tanstack-start', 'react-router'].includes(integration);
271
- if (credentials.apiKey && requiresApiKey) {
272
- await autoConfigureWorkOSEnvironment(credentials.apiKey, integration, port, {
273
- homepageUrl: installerOptions.homepageUrl,
274
- redirectUri: installerOptions.redirectUri,
275
- });
276
- }
277
- const redirectUriKey = integration === 'nextjs' ? 'NEXT_PUBLIC_WORKOS_REDIRECT_URI' : 'WORKOS_REDIRECT_URI';
278
- writeEnvLocal(installerOptions.installDir, {
279
- ...(credentials.apiKey ? { WORKOS_API_KEY: credentials.apiKey } : {}),
280
- WORKOS_CLIENT_ID: credentials.clientId,
281
- [redirectUriKey]: redirectUri,
282
- });
283
- }),
284
- runAgent: fromPromise(async ({ input }) => {
285
- const { context } = input;
286
- const { options: installerOptions, integration, credentials } = context;
287
- if (!integration) {
288
- return { success: false, error: new Error('No integration specified') };
289
- }
290
- try {
291
- const agentOptions = {
292
- ...installerOptions,
293
- apiKey: credentials?.apiKey,
294
- clientId: credentials?.clientId,
295
- credentialSource: context.credentialSource,
296
- emitter: context.emitter,
297
- };
298
- const summary = await runIntegrationInstallerFn(integration, agentOptions);
299
- return {
300
- success: true,
301
- summary: summary || `Successfully installed WorkOS AuthKit for ${integration}!`,
302
- };
303
- }
304
- catch (error) {
305
- return {
306
- success: false,
307
- error: error instanceof Error ? error : new Error(String(error)),
308
- };
309
- }
310
- }),
311
- buildCompletion: fromPromise(async ({ input }) => {
312
- const { integration, changedFiles, options: installerOptions } = input.context;
313
- if (!integration)
314
- return undefined;
315
- try {
316
- const registry = await getRegistry();
317
- const mod = registry.get(integration);
318
- const cfg = mod?.config;
319
- const settings = getInstallerSettings();
320
- return await buildCompletionData({ integration, changedFiles, installDir: installerOptions.installDir }, {
321
- resolveDevCommand,
322
- detectPort,
323
- docsUrl: cfg?.metadata.docsUrl ?? settings.documentation.workosDocsUrl,
324
- dashboardUrl: settings.documentation.dashboardUrl,
325
- frameworkNextSteps: cfg?.ui.getOutroNextSteps?.({}) ?? [],
326
- signInSnippet: cfg?.ui.getSignInSnippet?.({}),
327
- });
328
- }
329
- catch {
330
- // Degrade to the static fallback box rather than blocking completion.
331
- return undefined;
332
- }
333
- }),
334
- // Credential discovery actors
335
- detectEnvFiles: fromPromise(async ({ input }) => {
336
- return checkForEnvFiles(input.installDir);
337
- }),
338
- scanEnvFiles: fromPromise(async ({ input }) => {
339
- return discoverCredentials(input.installDir);
340
- }),
341
- checkStoredAuth: fromPromise(async () => {
342
- const activeEnv = getActiveEnvironment();
343
- if (activeEnv?.apiKey && isUnclaimedEnvironment(activeEnv)) {
344
- return true;
345
- }
346
- const token = getAccessToken();
347
- return token !== null;
348
- }),
349
- runDeviceAuth: fromPromise(async ({ input }) => {
350
- const clientId = getCliAuthClientId();
351
- const authkitDomain = getAuthkitDomain();
352
- const deviceAuth = await requestDeviceCode({
353
- clientId,
354
- authkitDomain,
355
- });
356
- // Emit device started event with verification info
357
- input.emitter.emit('device:started', {
358
- verificationUri: deviceAuth.verification_uri,
359
- verificationUriComplete: deviceAuth.verification_uri_complete,
360
- userCode: deviceAuth.user_code,
361
- });
362
- // Open browser
363
- try {
364
- const { default: openFn } = await import('open');
365
- await openFn(deviceAuth.verification_uri_complete, { wait: false });
366
- }
367
- catch (error) {
368
- observeHostFailure('browser-launch', error, {
369
- operation: 'open',
370
- target: deviceAuth.verification_uri_complete,
371
- label: 'installer device auth browser',
372
- });
373
- // User can open manually
374
- }
375
- const result = await pollForToken(deviceAuth.device_code, {
376
- clientId,
377
- authkitDomain,
378
- interval: deviceAuth.interval,
379
- onPoll: () => input.emitter.emit('device:polling', {}),
380
- });
381
- // Save the auth token
382
- saveCredentials({
383
- accessToken: result.accessToken,
384
- expiresAt: result.expiresAt,
385
- userId: result.userId,
386
- email: result.email,
387
- refreshToken: result.refreshToken,
388
- });
389
- return { result, deviceAuth };
390
- }),
391
- fetchStagingCredentials: fromPromise(async () => {
392
- const activeEnv = getActiveEnvironment();
393
- if (activeEnv?.clientId && activeEnv?.apiKey) {
394
- return { clientId: activeEnv.clientId, apiKey: activeEnv.apiKey };
395
- }
396
- const cached = getStagingCredentials();
397
- if (cached)
398
- return cached;
399
- const token = getAccessToken();
400
- if (!token)
401
- throw new Error('No access token available');
402
- const staging = await fetchStagingCredentialsApi(token);
403
- saveStagingCredentials(staging);
404
- try {
405
- const config = getConfig() ?? { environments: {} };
406
- if (!config.environments['default']) {
407
- config.environments['default'] = {
408
- name: 'default',
409
- type: staging.apiKey.startsWith('sk_test_') ? 'sandbox' : 'production',
410
- apiKey: staging.apiKey,
411
- clientId: staging.clientId,
412
- };
413
- if (!config.activeEnvironment) {
414
- config.activeEnvironment = 'default';
415
- }
416
- saveConfig(config);
417
- }
418
- }
419
- catch {
420
- // Don't block install if config-store write fails
421
- }
422
- return staging;
423
- }),
424
- // Branch check actors
425
- checkBranch: fromPromise(async () => {
426
- const branch = getCurrentBranch();
427
- if (!branch) {
428
- return { branch: null, isProtected: false };
429
- }
430
- return {
431
- branch,
432
- isProtected: isProtectedBranch(branch),
433
- };
434
- }),
435
- createBranch: fromPromise(async ({ input }) => {
436
- const { name, fallbackName } = input;
437
- const targetBranch = branchExists(name) ? fallbackName : name;
438
- createGitBranch(targetBranch);
439
- return { branch: targetBranch };
440
- }),
441
- // Post-install actors
442
- detectChanges: fromPromise(async () => {
443
- return detectChanges();
444
- }),
445
- generateCommitMessage: fromPromise(async ({ input }) => {
446
- return generateCommitMessageAi(input.integration, input.files, { direct: input.direct });
447
- }),
448
- commitChanges: fromPromise(async ({ input }) => {
449
- stageAndCommit(input.message, input.cwd);
450
- }),
451
- generatePrDescription: fromPromise(async ({ input }) => {
452
- return generatePrDescriptionAi(input.integration, input.files, input.commitMessage, { direct: input.direct });
453
- }),
454
- pushBranch: fromPromise(async ({ input }) => {
455
- pushGitBranch(input.cwd);
456
- }),
457
- createPr: fromPromise(async ({ input }) => {
458
- return createPullRequest(input.title, input.body, input.cwd);
459
- }),
460
- },
461
- });
462
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
463
- let inspector;
464
- if (augmentedOptions.inspect) {
465
- const originalLog = console.log;
466
- let inspectUrl;
467
- console.log = (...args) => {
468
- const msg = args.join(' ');
469
- if (typeof msg === 'string' && msg.startsWith('https://stately.ai/inspect/')) {
470
- inspectUrl = msg;
471
- console.log = originalLog;
472
- console.log(`Opening XState inspector: ${inspectUrl}`);
473
- void open(inspectUrl).catch((error) => {
474
- observeHostFailure('browser-launch', error, {
475
- operation: 'open',
476
- target: inspectUrl,
477
- label: 'XState inspector browser',
478
- });
479
- });
480
- }
481
- else {
482
- originalLog.apply(console, args);
483
- }
484
- };
485
- // Dynamic import - @statelyai/inspect is a devDependency
486
- const { createSkyInspector } = await import('@statelyai/inspect');
487
- inspector = createSkyInspector();
488
- setTimeout(() => {
489
- console.log = originalLog;
490
- }, 5000).unref();
491
- }
492
- actor = createActor(machineWithActors, {
493
- input: { emitter, options: augmentedOptions },
494
- inspect: inspector?.inspect,
495
- });
496
- await adapter.start();
497
- analytics.configureAuthFromAvailableSources();
498
- const mode = headlessMode ? 'headless' : augmentedOptions.dashboard ? 'tui' : 'cli';
499
- analytics.sessionStart(mode, getVersion());
500
- let installerStatus = 'success';
501
- // Handle ctrl+c by sending CANCEL to state machine for graceful shutdown
502
- const handleSigint = () => {
503
- installerStatus = 'cancelled';
504
- actor?.send({ type: 'CANCEL' });
505
- };
506
- process.on('SIGINT', handleSigint);
507
- try {
508
- await new Promise((resolve, reject) => {
509
- actor.subscribe({
510
- complete: () => {
511
- const snapshot = actor.getSnapshot();
512
- if (snapshot.value === 'error') {
513
- const err = snapshot.context.error;
514
- installerStatus = 'error';
515
- reject(err ?? new Error('Wizard failed'));
516
- }
517
- else if (snapshot.value === 'cancelled') {
518
- installerStatus = 'cancelled';
519
- resolve();
520
- }
521
- else {
522
- resolve();
523
- }
524
- },
525
- error: (err) => {
526
- installerStatus = 'error';
527
- reject(err);
528
- },
529
- });
530
- actor.start();
531
- actor.send({ type: 'START' });
532
- });
533
- }
534
- catch (error) {
535
- installerStatus = 'error';
536
- logError('Wizard failed with error:', error instanceof Error ? error.stack || error.message : String(error));
537
- throw error;
538
- }
539
- finally {
540
- process.off('SIGINT', handleSigint);
541
- // Record the detected framework so session.end carries it (and the API can
542
- // tag install metrics by integration). Known only after detection runs, so
543
- // it's read from the final machine snapshot here; absent if the session
544
- // aborted before detection.
545
- const finalContext = actor?.getSnapshot().context;
546
- const detectedIntegration = finalContext?.integration;
547
- if (detectedIntegration) {
548
- analytics.setTag('installer.integration', detectedIntegration);
549
- }
550
- // Record whether the empty-dir flow scaffolded a new app, so session.end
551
- // carries it for adoption + scaffold-failure tracking.
552
- if (finalContext?.scaffolded) {
553
- analytics.setTag('scaffolded', true);
554
- }
555
- await analytics.shutdown(installerStatus);
556
- await adapter.stop();
557
- }
558
- }
559
- //# sourceMappingURL=run-with-core.js.map