workos 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
package/README.md CHANGED
@@ -1,649 +1,7 @@
1
1
  # workos
2
2
 
3
- WorkOS CLI for installing AuthKit integrations and managing WorkOS resources.
3
+ Thin npm launcher for the WorkOS CLI. Installing this package pulls in the
4
+ prebuilt binary for your platform via an optional dependency and runs it.
4
5
 
5
- ## Installation
6
-
7
- ```bash
8
- # Run the installer directly with npx (recommended)
9
- npx workos@latest install
10
-
11
- # Or install globally
12
- npm install -g workos
13
- workos install
14
- ```
15
-
16
- `npx workos@latest install` is recommended because it bypasses stale global shims and older shell-resolved binaries.
17
- If a global install reports `unknown command "install"`, run the npx command above or reinstall globally and clear your
18
- shell command cache.
19
-
20
- ## Features
21
-
22
- - **15 Framework Support:** Next.js, React Router, TanStack Start, React SPA, Vanilla JS, SvelteKit, Node.js (Express), Python (Django), Ruby (Rails), Go, .NET (ASP.NET Core), Kotlin (Spring Boot), Elixir (Phoenix), PHP (Laravel), PHP
23
- - **AI-Powered:** Uses Claude to intelligently adapt to your project structure
24
- - **Security-First:** Masks API keys, redacts from logs, saves to .env.local
25
- - **Smart Detection:** Auto-detects framework, package manager, router type
26
- - **Greenfield Scaffolding:** Run in an empty directory to scaffold a new Next.js app (via `create-next-app`) before wiring AuthKit
27
- - **Live Documentation:** Fetches latest SDK docs from WorkOS and GitHub
28
- - **Full Integration:** Creates routes, middleware, environment vars, and UI
29
- - **Agent & CI Ready:** Non-TTY auto-detection, JSON output, structured errors, headless installer with NDJSON streaming
30
-
31
- ## What It Creates
32
-
33
- Depending on your framework, the installer creates:
34
-
35
- - ✅ Authentication routes (callback, sign-in, sign-out)
36
- - ✅ Middleware for route protection
37
- - ✅ Environment variable configuration
38
- - ✅ SDK installation with correct package manager
39
- - ✅ UI components showing login status
40
- - ✅ User info display (name, email)
41
-
42
- ## Credentials
43
-
44
- Get your credentials from [dashboard.workos.com](https://dashboard.workos.com):
45
-
46
- - **API Key** (sk_test_xxx or sk_live_xxx) - For server-side frameworks only
47
- - **Client ID** (client_xxx) - Required for all frameworks
48
-
49
- **Security:** API keys are masked during input and redacted in logs.
50
-
51
- ## CLI Options
52
-
53
- ```bash
54
- workos [command]
55
-
56
- Commands:
57
- install Install WorkOS AuthKit into your project
58
- auth Manage authentication (login, logout, status)
59
- env Manage environment configurations (add, remove, switch, list, claim)
60
- doctor Diagnose WorkOS integration issues
61
- skills Manage WorkOS skills for coding agents (install, uninstall, list)
62
-
63
- Skills auto-install to detected coding agents on `workos install` and `workos auth login`. Use `workos skills list` to check status, `workos doctor` to detect stale skills, or `workos doctor --fix` to refresh them in place (constrained to `workos/` and `workos-widgets/`).
64
-
65
- Resource Management:
66
- organization (org) Manage organizations
67
- user Manage users
68
- role Manage roles (RBAC)
69
- permission Manage permissions (RBAC)
70
- membership Manage organization memberships
71
- invitation Manage user invitations
72
- session Manage user sessions
73
- connection Manage SSO connections
74
- directory Manage directory sync
75
- event Query events
76
- audit-log Manage audit logs
77
- feature-flag Manage feature flags
78
- webhook Manage webhooks
79
- config Manage redirect URIs, CORS, homepage URL
80
- portal Generate Admin Portal links
81
- vault Manage encrypted secrets
82
- api-key Manage per-org API keys
83
- org-domain Manage organization domains
84
-
85
- Migrations:
86
- migrations Migrate users and SSO connections into WorkOS
87
-
88
- Local Development:
89
- emulate Start a local WorkOS API emulator
90
-
91
- Workflows:
92
- seed Declarative resource provisioning from YAML
93
- setup-org One-shot organization onboarding
94
- onboard-user Send invitation and assign role
95
- debug-sso Diagnose SSO connection issues
96
- debug-sync Diagnose directory sync issues
97
- ```
98
-
99
- All management commands support `--json` for structured output (auto-enabled in non-TTY) and `--api-key` to override the active environment's key.
100
-
101
- ### Unclaimed Environments
102
-
103
- When you run `workos install` without credentials, the CLI automatically provisions a temporary WorkOS environment — no account needed. This lets you try AuthKit immediately.
104
-
105
- ```bash
106
- # Install with zero setup — environment provisioned automatically
107
- npx workos@latest install
108
-
109
- # Check your environment
110
- workos env list
111
- # Shows: unclaimed (unclaimed) ← active
112
-
113
- # Claim the environment to link it to your WorkOS account
114
- workos env claim
115
- ```
116
-
117
- Management commands work on unclaimed environments with a warning reminding you to claim.
118
-
119
- ### Workflows
120
-
121
- The compound workflow commands compose multiple API calls into common operations. These are the highest-value commands for both developers and AI agents.
122
-
123
- #### seed — Declarative resource provisioning
124
-
125
- Provision permissions, roles, organizations, and config from a YAML file. Tracks created resources for clean teardown.
126
-
127
- ```bash
128
- # Apply a seed file
129
- workos seed --file workos-seed.yml
130
-
131
- # Tear down everything the seed created (reads .workos-seed-state.json)
132
- workos seed --clean
133
- ```
134
-
135
- Example `workos-seed.yml`:
136
-
137
- ```yaml
138
- permissions:
139
- - name: Read Posts
140
- slug: posts:read
141
- - name: Write Posts
142
- slug: posts:write
143
-
144
- roles:
145
- - name: Editor
146
- slug: editor
147
- permissions: [posts:read, posts:write]
148
- - name: Viewer
149
- slug: viewer
150
- permissions: [posts:read]
151
-
152
- organizations:
153
- - name: Acme Corp
154
- domains: [acme.com]
155
-
156
- config:
157
- redirect_uris:
158
- - http://localhost:3000/callback
159
- cors_origins:
160
- - http://localhost:3000
161
- homepage_url: http://localhost:3000
162
- ```
163
-
164
- Resources are created in dependency order (permissions → roles → organizations → config). State is tracked in `.workos-seed-state.json` so `--clean` removes exactly what was created.
165
-
166
- #### setup-org — One-shot organization onboarding
167
-
168
- Creates an organization with optional domain verification, roles, and an Admin Portal link in a single command.
169
-
170
- ```bash
171
- # Minimal: just create the org
172
- workos setup-org "Acme Corp"
173
-
174
- # Full: org + domain + roles + portal link
175
- workos setup-org "Acme Corp" --domain acme.com --roles admin,viewer
176
- ```
177
-
178
- #### onboard-user — User invitation workflow
179
-
180
- Sends an invitation to a user with an optional role assignment. With `--wait`, polls until the invitation is accepted.
181
-
182
- ```bash
183
- # Send invitation
184
- workos onboard-user alice@acme.com --org org_01ABC123
185
-
186
- # Send with role and wait for acceptance
187
- workos onboard-user alice@acme.com --org org_01ABC123 --role admin --wait
188
- ```
189
-
190
- #### debug-sso — SSO connection diagnostics
191
-
192
- Inspects an SSO connection's state and recent authentication events. Flags inactive connections and surfaces auth event history for debugging.
193
-
194
- ```bash
195
- workos debug-sso conn_01ABC123
196
- ```
197
-
198
- #### debug-sync — Directory sync diagnostics
199
-
200
- Inspects a directory's sync state, user/group counts, recent events, and detects stalled syncs.
201
-
202
- ```bash
203
- workos debug-sync directory_01ABC123
204
- ```
205
-
206
- ### Migrations
207
-
208
- Migrate users and SSO connections from other identity providers into WorkOS. The `migrations` namespace passes through to `@workos/migrations`.
209
-
210
- ```bash
211
- # Interactive migration wizard
212
- workos migrations wizard
213
-
214
- # Export a blank CSV template
215
- workos migrations export-template saml_connections --output saml_connections.csv
216
- workos migrations export-template oidc_connections --output oidc_connections.csv
217
-
218
- # Export from Auth0
219
- workos migrations export-auth0 --domain your-tenant.auth0.com --client-id <id> --client-secret <secret>
220
-
221
- # Import users from CSV
222
- workos migrations import --csv users.csv
223
- ```
224
-
225
- Run `workos migrations --help` for all available subcommands.
226
-
227
- ### Local Emulation
228
-
229
- Start a local WorkOS API emulator. The command is backed by [`@workos/emulate`](https://github.com/workos/emulate); the standalone package binary is `workos-emulate`.
230
-
231
- ```bash
232
- # Start with defaults (port 4100)
233
- workos emulate
234
-
235
- # CI-friendly: JSON output, custom port
236
- workos emulate --port 9100 --json
237
-
238
- # Pre-load seed data
239
- workos emulate --seed workos-emulate.config.yaml
240
-
241
- # Show login pages for SSO/AuthKit browser testing
242
- workos emulate --interactive
243
- ```
244
-
245
- ### Environment Management
246
-
247
- ```bash
248
- workos env add [name] [apiKey] # Add environment (interactive if no args)
249
- workos env remove <name> # Remove an environment
250
- workos env switch [name] # Switch active environment
251
- workos env list # List environments with active indicator
252
- ```
253
-
254
- API keys are stored in the system keychain via `@napi-rs/keyring`, with a JSON file fallback at `~/.workos/config.json`.
255
-
256
- ### Resource Management
257
-
258
- All resource commands follow the same pattern: `workos <resource> <action> [args] [--options]`. API keys resolve via: `--api-key` flag → `WORKOS_API_KEY` env var → active environment's stored key.
259
-
260
- #### organization
261
-
262
- ```bash
263
- workos organization create <name> [domain:state ...]
264
- workos organization update <orgId> <name> [domain] [state]
265
- workos organization get <orgId>
266
- workos organization list [--domain] [--limit] [--before] [--after] [--order]
267
- workos organization delete <orgId>
268
- ```
269
-
270
- #### user
271
-
272
- ```bash
273
- workos user get <userId>
274
- workos user list [--email] [--organization] [--limit]
275
- workos user update <userId> [--first-name] [--last-name] [--email-verified] [--password] [--external-id]
276
- workos user delete <userId>
277
- ```
278
-
279
- #### role
280
-
281
- ```bash
282
- workos role list [--org <orgId>]
283
- workos role get <slug> [--org <orgId>]
284
- workos role create --slug <slug> --name <name> [--org <orgId>]
285
- workos role update <slug> [--name] [--description] [--org <orgId>]
286
- workos role delete <slug> --org <orgId>
287
- workos role set-permissions <slug> --permissions <slugs> [--org <orgId>]
288
- workos role add-permission <slug> <permissionSlug> [--org <orgId>]
289
- workos role remove-permission <slug> <permissionSlug> --org <orgId>
290
- ```
291
-
292
- #### permission
293
-
294
- ```bash
295
- workos permission list [--limit]
296
- workos permission get <slug>
297
- workos permission create --slug <slug> --name <name> [--description]
298
- workos permission update <slug> [--name] [--description]
299
- workos permission delete <slug>
300
- ```
301
-
302
- #### membership
303
-
304
- ```bash
305
- workos membership list [--org] [--user] [--limit]
306
- workos membership get <id>
307
- workos membership create --org <orgId> --user <userId> [--role]
308
- workos membership update <id> [--role]
309
- workos membership delete <id>
310
- workos membership deactivate <id>
311
- workos membership reactivate <id>
312
- ```
313
-
314
- #### invitation
315
-
316
- ```bash
317
- workos invitation list [--org] [--email] [--limit]
318
- workos invitation get <id>
319
- workos invitation send --email <email> [--org] [--role] [--expires-in-days]
320
- workos invitation revoke <id>
321
- workos invitation resend <id>
322
- ```
323
-
324
- #### session
325
-
326
- ```bash
327
- workos session list <userId> [--limit]
328
- workos session revoke <sessionId>
329
- ```
330
-
331
- #### connection
332
-
333
- ```bash
334
- workos connection list [--org] [--type] [--limit]
335
- workos connection get <id>
336
- workos connection delete <id> [--force]
337
- ```
338
-
339
- #### directory
340
-
341
- ```bash
342
- workos directory list [--org] [--limit]
343
- workos directory get <id>
344
- workos directory delete <id> [--force]
345
- workos directory list-users [--directory] [--group] [--limit]
346
- workos directory list-groups --directory <id> [--limit]
347
- ```
348
-
349
- #### event
350
-
351
- ```bash
352
- workos event list --events <types> [--org] [--range-start] [--range-end] [--limit]
353
- ```
354
-
355
- #### audit-log
356
-
357
- ```bash
358
- workos audit-log create-event <orgId> --action <action> --actor-type <type> --actor-id <id> [--file <json>]
359
- workos audit-log export --org <orgId> --range-start <date> --range-end <date> [--actions] [--actor-names]
360
- workos audit-log list-actions
361
- workos audit-log get-schema <action>
362
- workos audit-log create-schema <action> --file <schema.json>
363
- workos audit-log get-retention <orgId>
364
- ```
365
-
366
- #### feature-flag
367
-
368
- ```bash
369
- workos feature-flag list [--limit]
370
- workos feature-flag get <slug>
371
- workos feature-flag enable <slug>
372
- workos feature-flag disable <slug>
373
- workos feature-flag add-target <slug> <targetId>
374
- workos feature-flag remove-target <slug> <targetId>
375
- ```
376
-
377
- #### webhook
378
-
379
- ```bash
380
- workos webhook list
381
- workos webhook create --url <endpoint> --events <types>
382
- workos webhook delete <id>
383
- ```
384
-
385
- #### config
386
-
387
- ```bash
388
- workos config redirect add <uri>
389
- workos config cors add <origin>
390
- workos config homepage-url set <url>
391
- ```
392
-
393
- #### portal
394
-
395
- ```bash
396
- workos portal generate-link --intent <intent> --org <orgId> [--return-url] [--success-url]
397
- ```
398
-
399
- #### vault
400
-
401
- ```bash
402
- workos vault list [--limit]
403
- workos vault get <id> [--decrypt]
404
- workos vault get-by-name <name> [--decrypt]
405
- workos vault create --name <name> --org <orgId> [--value <secret>] # omit --value to read from stdin
406
- workos vault update <id> [--value <secret>] [--version-check] # omit --value to read from stdin
407
- workos vault delete <id>
408
- workos vault describe <id>
409
- workos vault list-versions <id>
410
- workos vault run --secret ENV_VAR=vault-name [...] [--env <name>] [--dry-run] -- <command>
411
- ```
412
-
413
- #### api-key
414
-
415
- ```bash
416
- workos api-key list --org <orgId> [--limit]
417
- workos api-key create --org <orgId> --name <name> [--permissions]
418
- workos api-key validate <value>
419
- workos api-key delete <id>
420
- ```
421
-
422
- #### org-domain
423
-
424
- ```bash
425
- workos org-domain get <id>
426
- workos org-domain create <domain> --org <orgId>
427
- workos org-domain verify <id>
428
- workos org-domain delete <id>
429
- ```
430
-
431
- ### Installer Options
432
-
433
- ```bash
434
- workos install [options]
435
-
436
- --direct, -D Use your own Anthropic API key (bypass llm-gateway)
437
- --api-key <key> WorkOS API key (required in non-interactive mode)
438
- --client-id <id> WorkOS client ID (required in non-interactive mode)
439
- --redirect-uri <uri> Custom redirect URI
440
- --homepage-url <url> Custom homepage URL
441
- --install-dir <path> Installation directory
442
- --scaffold Scaffold a new Next.js app when run in an empty directory
443
- --pm <manager> Package manager for the scaffolded app: npm, pnpm, yarn, bun
444
- --no-validate Skip post-installation validation
445
- --no-branch Skip branch creation (use current branch)
446
- --no-commit Skip auto-commit after installation
447
- --create-pr Auto-create pull request after installation
448
- --no-git-check Skip git dirty working tree check
449
- --force-install Force install packages even if peer dependency checks fail
450
- --debug Enable verbose logging
451
- ```
452
-
453
- **Empty directories:** Running `workos install` in an empty directory scaffolds a new Next.js app with `create-next-app` (App Router, TypeScript, Tailwind, `src/`) and then wires AuthKit into it. This only happens when the directory is empty or contains nothing but VCS/editor metadata (`.git`, `.gitignore`, `LICENSE`, `.idea`, and similar). Any project file — including a `README.md` or a `package.json` — opts out, and the installer treats the directory as an existing project. Interactive runs confirm first (default yes); non-interactive/headless runs (or `--scaffold`) scaffold automatically and report `"scaffolded": true`. The package manager is resolved from how you invoked the CLI (`npm_config_user_agent`) unless you pass `--pm`.
454
-
455
- ## Examples
456
-
457
- ```bash
458
- # Interactive (recommended)
459
- npx workos@latest install
460
-
461
- # Greenfield: scaffold a new Next.js app + AuthKit in an empty directory
462
- mkdir my-app && cd my-app && npx workos@latest install
463
-
464
- # With visual dashboard (experimental)
465
- npx workos@latest dashboard
466
-
467
- # JSON output (explicit)
468
- workos org list --json --api-key sk_test_xxx
469
-
470
- # Pipe-friendly (auto-detects non-TTY)
471
- workos org list --api-key sk_test_xxx | jq '.data[].name'
472
-
473
- # Machine-readable command discovery
474
- workos --help --json | jq '.commands[].name'
475
- ```
476
-
477
- ## Scripting & Automation
478
-
479
- The CLI separates **output mode** from **interaction mode**:
480
-
481
- - `--json` (or non-TTY auto-detection) controls **output formatting** only.
482
- - `--mode human|agent|ci` (or `WORKOS_MODE=...`) controls **interaction behavior** — prompts, browser launch, host trust, destructive confirmation.
483
-
484
- For coding agents, set both axes explicitly:
485
-
486
- ```bash
487
- WORKOS_MODE=agent workos doctor --json --skip-ai
488
- ```
489
-
490
- The CLI also auto-detects non-TTY environments (piped output, CI, coding agents) and falls back to machine-friendly defaults. No flags are required — just pipe it — but explicit mode is recommended for agents.
491
-
492
- ### JSON Output
493
-
494
- All commands produce structured JSON when piped or with `--json`:
495
-
496
- ```bash
497
- workos org list --api-key sk_test_xxx | jq .
498
- # → { "data": [...], "list_metadata": { "before": null, "after": "..." } }
499
-
500
- workos env list --json
501
- # → { "data": [{ "name": "prod", "type": "production", "active": true, ... }] }
502
- ```
503
-
504
- Errors go to stderr as structured JSON:
505
-
506
- ```bash
507
- workos org list 2>&1
508
- # → { "error": { "code": "no_api_key", "message": "No API key configured..." } }
509
- ```
510
-
511
- ### Agent Mode
512
-
513
- When a coding agent drives the CLI, set agent mode explicitly so behavior is deterministic regardless of TTY:
514
-
515
- ```bash
516
- WORKOS_MODE=agent workos doctor --json --skip-ai
517
- WORKOS_MODE=agent workos install --api-key ... --client-id ...
518
- ```
519
-
520
- In agent mode the CLI:
521
-
522
- - Never prompts. Missing required arguments fail with structured errors instead of opening prompts.
523
- - Treats browser launch as best-effort. Auth flows always print the manual URL and code.
524
- - Probes host capabilities (home directory, keychain, browser launch). Host failures emit a `HOST_EXECUTION_UNTRUSTED` issue from `workos doctor` so agents can recognize sandboxed runs.
525
- - Requires explicit confirmation flags (e.g. `--yes`, `--force`) for destructive operations.
526
-
527
- In `ci` mode the CLI additionally refuses browser-based auth flows and prefers terse failures over recovery handoff text.
528
-
529
- Mode resolution notes:
530
-
531
- - `WORKOS_MODE=agent` sets agent interaction behavior and forces JSON output. (This replaces the removed `WORKOS_NO_PROMPT` alias.)
532
- - `WORKOS_FORCE_TTY=1` forces human **output** mode but does not change interaction mode.
533
- - Non-TTY without an explicit mode still defaults output to JSON and interaction to agent.
534
-
535
- ### Headless Installer
536
-
537
- In non-TTY, the installer streams progress as NDJSON (one JSON object per line):
538
-
539
- ```bash
540
- workos install --api-key sk_test_xxx --client-id client_xxx --no-commit 2>/dev/null
541
- # → {"type":"detection:complete","integration":"nextjs","timestamp":"..."}
542
- # → {"type":"agent:start","timestamp":"..."}
543
- # → {"type":"agent:progress","message":"...","timestamp":"..."}
544
- # → {"type":"complete","success":true,"timestamp":"..."}
545
- ```
546
-
547
- ### Exit Codes
548
-
549
- | Code | Meaning |
550
- | ---- | ----------------------- |
551
- | 0 | Success |
552
- | 1 | General error |
553
- | 2 | Cancelled |
554
- | 4 | Authentication required |
555
-
556
- ### Environment Variables
557
-
558
- | Variable | Effect |
559
- | ------------------------ | --------------------------------------------------------- |
560
- | `WORKOS_API_KEY` | API key for management commands (bypasses stored config) |
561
- | `WORKOS_API_BASE_URL` | Override API base URL (set automatically by `workos dev`) |
562
- | `WORKOS_MODE` | Interaction mode: `human`, `agent`, or `ci` |
563
- | `WORKOS_FORCE_TTY=1` | Force human (non-JSON) **output** mode even when piped |
564
- | `WORKOS_TELEMETRY=false` | Disable telemetry |
565
-
566
- ### Command Discovery
567
-
568
- Agents can introspect available commands:
569
-
570
- ```bash
571
- workos --help --json # Full command tree
572
- workos env --help --json # Subcommand tree
573
- workos organization --help --json # With positionals and option types
574
- ```
575
-
576
- ## Authentication
577
-
578
- The CLI uses WorkOS Connect OAuth device flow for authentication:
579
-
580
- ```bash
581
- # Login (opens browser for authentication)
582
- npx workos@latest auth login
583
-
584
- # Check current auth status
585
- npx workos@latest auth status
586
-
587
- # Logout (clears stored credentials)
588
- npx workos@latest auth logout
589
- ```
590
-
591
- OAuth credentials are stored in the system keychain (with `~/.workos/credentials.json` fallback). Access tokens are not persisted long-term for security - users re-authenticate when tokens expire.
592
-
593
- ## How It Works
594
-
595
- 1. **Detects** your framework and project structure
596
- 2. **Resolves credentials** — uses existing config, or auto-provisions an unclaimed environment if none found
597
- 3. **Auto-configures** WorkOS dashboard (redirect URI, CORS, homepage URL)
598
- 4. **Fetches** latest SDK documentation from workos.com
599
- 5. **Uses AI** (Claude) to generate integration code
600
- 6. **Installs** SDK with detected package manager
601
- 7. **Creates** auth routes, middleware, and UI
602
- 8. **Configures** environment variables securely
603
-
604
- ## Telemetry
605
-
606
- The CLI collects anonymous usage telemetry to help improve the product:
607
-
608
- - **Command events** -- command name, duration, success/failure, termination reason, and which flags were used (for telemetry-enabled commands; `install` and `dashboard` use session events instead)
609
- - **Session events** -- framework detected, step timing, token usage (installer only)
610
- - **Crash events** -- sanitized error type and stack trace (no secrets, truncated to 4KB)
611
-
612
- Environment fingerprint (OS, Node version, shell, CI detection) is included on all events. No code, credentials, or personal data is collected.
613
-
614
- Disable with:
615
-
616
- ```bash
617
- WORKOS_TELEMETRY=false workos <command>
618
- ```
619
-
620
- ## Logs
621
-
622
- Detailed logs (with redacted credentials) are saved to:
623
-
624
- ```
625
- ~/.workos/logs/workos-{timestamp}.log
626
- ```
627
-
628
- Up to 10 session log files are retained. Use `--debug` flag for verbose terminal output.
629
-
630
- ## Development
631
-
632
- See [DEVELOPMENT.md](./DEVELOPMENT.md) for development setup.
633
-
634
- Build:
635
-
636
- ```bash
637
- pnpm build
638
- ```
639
-
640
- Run locally:
641
-
642
- ```bash
643
- pnpm dev # Watch mode
644
- ./dist/bin.js --help
645
- ```
646
-
647
- ## License
648
-
649
- MIT © WorkOS
6
+ Standalone binaries are also available from
7
+ [GitHub Releases](https://github.com/workos/cli/releases/latest).
package/bin/workos.js ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ // Thin launcher: resolves the compiled workos binary for this platform from
4
+ // the matching @workos/cli-<platform>-<arch> optionalDependency and runs it.
5
+ const { spawnSync } = require('node:child_process');
6
+
7
+ // Same musl detection the napi-rs loaders use: Alpine's ldd is a musl script,
8
+ // and glibc processes report a glibcVersionRuntime header.
9
+ function isMusl() {
10
+ if (process.platform !== 'linux') return false;
11
+ try {
12
+ if (require('node:fs').readFileSync('/usr/bin/ldd', 'utf8').includes('musl')) return true;
13
+ } catch {}
14
+ try {
15
+ const report = process.report?.getReport();
16
+ if (report?.header) return !report.header.glibcVersionRuntime;
17
+ } catch {}
18
+ return false;
19
+ }
20
+
21
+ const key = `${process.platform}-${process.arch}${isMusl() ? '-musl' : ''}`;
22
+ const executable = process.platform === 'win32' ? 'workos.exe' : 'workos';
23
+
24
+ let binary;
25
+ try {
26
+ binary = require.resolve(`@workos/cli-${key}/bin/${executable}`);
27
+ } catch {
28
+ console.error(`workos: no prebuilt binary for ${key}.`);
29
+ console.error('Supported platforms: darwin-arm64, darwin-x64, linux-x64, linux-arm64, linux-x64-musl, linux-arm64-musl, win32-x64, win32-arm64.');
30
+ console.error('If your platform is listed, reinstall with optional dependencies enabled');
31
+ console.error('(npm install --include=optional), or download a binary directly:');
32
+ console.error('https://github.com/workos/cli/releases/latest');
33
+ process.exit(1);
34
+ }
35
+
36
+ const result = spawnSync(binary, process.argv.slice(2), { stdio: 'inherit' });
37
+ if (result.error) {
38
+ console.error(`workos: failed to run ${binary}: ${result.error.message}`);
39
+ process.exit(1);
40
+ }
41
+ if (result.signal) {
42
+ process.kill(process.pid, result.signal);
43
+ }
44
+ process.exit(result.status ?? 1);