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,303 +0,0 @@
1
- import chalk from 'chalk';
2
- import ui from '../utils/ui.js';
3
- import { getConfig, saveConfig, isUnclaimedEnvironment, freshEnvKey } from '../lib/config-store.js';
4
- import { outputSuccess, outputJson, exitWithError, isJsonMode } from '../utils/output.js';
5
- import { isAgentMode, isCiMode, isPromptAllowed } from '../utils/interaction-mode.js';
6
- import { missingArgsRecovery } from '../utils/recovery-hints.js';
7
- import { formatWorkOSCommand } from '../utils/command-invocation.js';
8
- import { ExitCode, exitWithCode } from '../utils/exit-codes.js';
9
- import { provisionUnclaimedEnvironment, UnclaimedEnvApiError, } from '../lib/unclaimed-env-api.js';
10
- const ENV_NAME_REGEX = /^[a-z0-9\-_]+$/;
11
- function validateEnvName(name) {
12
- if (!name || !ENV_NAME_REGEX.test(name)) {
13
- return 'Name must contain only lowercase letters, numbers, hyphens, and underscores';
14
- }
15
- return undefined;
16
- }
17
- function getOrCreateConfig() {
18
- return getConfig() ?? { environments: {} };
19
- }
20
- export async function runEnvAdd(options) {
21
- let { name, apiKey, endpoint } = options;
22
- const { clientId } = options;
23
- if (name && apiKey) {
24
- // Non-interactive mode
25
- const nameError = validateEnvName(name);
26
- if (nameError) {
27
- exitWithError({ code: 'invalid_args', message: nameError });
28
- }
29
- }
30
- else if (!isPromptAllowed()) {
31
- exitWithError({
32
- code: 'missing_args',
33
- message: isAgentMode()
34
- ? `Name and API key required in agent mode. Example: ${formatWorkOSCommand('env add staging sk_test_xxx --client-id client_xxx')}`
35
- : isCiMode()
36
- ? 'Name and API key required in CI mode.'
37
- : 'Name and API key required when prompting is unavailable.',
38
- recovery: missingArgsRecovery(undefined, 'Provide environment name and API key as positional arguments.'),
39
- });
40
- }
41
- else {
42
- // Interactive mode
43
- const nameResult = await ui.text({
44
- message: 'Enter a name for the environment (e.g., production, sandbox, local)',
45
- validate: (value) => validateEnvName(value),
46
- });
47
- if (ui.isCancel(nameResult))
48
- exitWithCode(ExitCode.CANCELLED);
49
- name = nameResult;
50
- const typeResult = await ui.select({
51
- message: 'Select the environment type',
52
- options: [
53
- { value: 'production', label: 'Production' },
54
- { value: 'sandbox', label: 'Sandbox' },
55
- ],
56
- });
57
- if (ui.isCancel(typeResult))
58
- exitWithCode(ExitCode.CANCELLED);
59
- const apiKeyResult = await ui.password({
60
- message: 'Enter the API key for this environment',
61
- validate: (value) => {
62
- if (!value)
63
- return 'API key is required';
64
- return undefined;
65
- },
66
- });
67
- if (ui.isCancel(apiKeyResult))
68
- exitWithCode(ExitCode.CANCELLED);
69
- apiKey = apiKeyResult;
70
- const config = getOrCreateConfig();
71
- const isFirst = Object.keys(config.environments).length === 0;
72
- config.environments[name] = {
73
- name,
74
- type: typeResult,
75
- apiKey,
76
- ...(clientId && { clientId }),
77
- ...(endpoint && { endpoint }),
78
- };
79
- if (isFirst) {
80
- config.activeEnvironment = name;
81
- }
82
- saveConfig(config);
83
- ui.log.success(`Environment ${chalk.bold(name)} added`);
84
- if (isFirst) {
85
- ui.log.info(`Set as active environment`);
86
- }
87
- return;
88
- }
89
- // Non-interactive path
90
- const config = getOrCreateConfig();
91
- const isFirst = Object.keys(config.environments).length === 0;
92
- const type = apiKey.startsWith('sk_test_') ? 'sandbox' : 'production';
93
- config.environments[name] = {
94
- name: name,
95
- type,
96
- apiKey,
97
- ...(clientId && { clientId }),
98
- ...(endpoint && { endpoint }),
99
- };
100
- if (isFirst) {
101
- config.activeEnvironment = name;
102
- }
103
- saveConfig(config);
104
- outputSuccess('Environment added', { name: name, type, active: isFirst });
105
- }
106
- /**
107
- * `workos env provision` — provision a fresh unclaimed environment (credentials only).
108
- *
109
- * Calls the low-level `provisionUnclaimedEnvironment()` directly (no auth, no
110
- * code-gen). Credentials are delivered on stdout (JSON is the agent credential
111
- * channel) and persisted locally as an unclaimed env so a follow-up
112
- * `env claim` works. NEVER writes to the project directory or any `.env` file,
113
- * and NEVER falls back to an interactive login on failure.
114
- */
115
- export async function runEnvProvision() {
116
- let result;
117
- try {
118
- result = await provisionUnclaimedEnvironment();
119
- }
120
- catch (error) {
121
- if (error instanceof UnclaimedEnvApiError) {
122
- exitWithError({
123
- code: error.statusCode === 429 ? 'rate_limited' : 'provision_failed',
124
- message: error.message,
125
- ...(error.statusCode && { apiContext: { status: error.statusCode } }),
126
- });
127
- }
128
- const message = error instanceof Error ? error.message : 'Unknown error';
129
- exitWithError({ code: 'provision_failed', message: `Failed to provision environment: ${message}` });
130
- }
131
- // Persist as an unclaimed env (parity with install) — NEVER writes to the project dir.
132
- // A fresh key ('unclaimed', 'unclaimed-2', …) so a repeated provision never clobbers an
133
- // earlier env's claim token, which lives only in this config and is unrecoverable.
134
- const config = getOrCreateConfig();
135
- const key = freshEnvKey(config, 'unclaimed');
136
- config.environments[key] = {
137
- name: key,
138
- type: 'unclaimed',
139
- apiKey: result.apiKey,
140
- clientId: result.clientId,
141
- claimToken: result.claimToken,
142
- };
143
- config.activeEnvironment = key;
144
- saveConfig(config);
145
- if (isJsonMode()) {
146
- outputSuccess('Environment provisioned', {
147
- name: key,
148
- type: 'unclaimed',
149
- active: true,
150
- apiKey: result.apiKey,
151
- clientId: result.clientId,
152
- claimToken: result.claimToken,
153
- authkitDomain: result.authkitDomain,
154
- });
155
- return;
156
- }
157
- ui.log.success('Provisioned a new WorkOS environment');
158
- console.log('');
159
- console.log(` ${chalk.dim('API key')} ${result.apiKey}`);
160
- console.log(` ${chalk.dim('Client ID')} ${result.clientId}`);
161
- console.log(` ${chalk.dim('AuthKit')} ${result.authkitDomain}`);
162
- console.log('');
163
- ui.log.info(`Set as active environment (${key}). Run \`${formatWorkOSCommand('env claim')}\` to link it to your account (permanent).`);
164
- if (key !== 'unclaimed') {
165
- ui.log.info(`Your earlier unclaimed environment(s) are kept. See \`${formatWorkOSCommand('env list')}\`.`);
166
- }
167
- }
168
- export async function runEnvRemove(name) {
169
- const config = getConfig();
170
- if (!config || Object.keys(config.environments).length === 0) {
171
- exitWithError({
172
- code: 'no_environments',
173
- message: `No environments configured. Run \`${formatWorkOSCommand('env add')}\` to get started.`,
174
- });
175
- }
176
- if (!config.environments[name]) {
177
- const available = Object.keys(config.environments).join(', ');
178
- exitWithError({ code: 'not_found', message: `Environment "${name}" not found. Available: ${available}` });
179
- }
180
- // Capture the claim risk BEFORE deleting — an unclaimed env's claim token lives
181
- // only in this local config, so removing it permanently loses the ability to claim.
182
- const wasUnclaimed = isUnclaimedEnvironment(config.environments[name]);
183
- delete config.environments[name];
184
- if (!isJsonMode()) {
185
- ui.log.warn(wasUnclaimed
186
- ? `Removed only the local CLI config for "${name}". This environment was unclaimed — its claim token lived only here, so it can no longer be claimed.`
187
- : `Removed only the local CLI config for "${name}". The environment still exists in WorkOS.`);
188
- }
189
- if (config.activeEnvironment === name) {
190
- const remaining = Object.keys(config.environments);
191
- config.activeEnvironment = remaining.length > 0 ? remaining[0] : undefined;
192
- if (config.activeEnvironment && !isJsonMode()) {
193
- ui.log.info(`Active environment switched to ${chalk.bold(config.activeEnvironment)}`);
194
- }
195
- }
196
- saveConfig(config);
197
- outputSuccess('Environment removed', {
198
- name,
199
- newActive: config.activeEnvironment ?? null,
200
- localOnly: true,
201
- wasUnclaimed,
202
- });
203
- }
204
- export async function runEnvSwitch(name) {
205
- const config = getConfig();
206
- if (!config || Object.keys(config.environments).length === 0) {
207
- exitWithError({
208
- code: 'no_environments',
209
- message: `No environments configured. Run \`${formatWorkOSCommand('env add')}\` to get started.`,
210
- });
211
- }
212
- if (name) {
213
- if (!config.environments[name]) {
214
- const available = Object.keys(config.environments).join(', ');
215
- exitWithError({ code: 'not_found', message: `Environment "${name}" not found. Available: ${available}` });
216
- }
217
- }
218
- else {
219
- // Interactive selection (TTY only — non-TTY guard is in bin.ts)
220
- const options = Object.entries(config.environments).map(([key, env]) => {
221
- let label = key;
222
- if (env.type === 'sandbox')
223
- label += ` [Sandbox]`;
224
- if (env.endpoint)
225
- label += ` [${env.endpoint}]`;
226
- if (key === config.activeEnvironment)
227
- label += chalk.green(' (active)');
228
- return { value: key, label };
229
- });
230
- const selected = await ui.select({
231
- message: 'Select an environment',
232
- options,
233
- });
234
- if (ui.isCancel(selected))
235
- exitWithCode(ExitCode.CANCELLED);
236
- name = selected;
237
- }
238
- config.activeEnvironment = name;
239
- saveConfig(config);
240
- const env = config.environments[name];
241
- const warnings = process.env.WORKOS_API_KEY
242
- ? [
243
- {
244
- code: 'env_var_override',
245
- message: "WORKOS_API_KEY is set in your shell. It will override this environment's stored key unless you pass --api-key.",
246
- },
247
- ]
248
- : undefined;
249
- outputSuccess('Switched environment', { name, type: env.type }, { warnings });
250
- }
251
- export async function runEnvList() {
252
- const config = getConfig();
253
- if (!config || Object.keys(config.environments).length === 0) {
254
- if (isJsonMode()) {
255
- outputJson({ data: [] });
256
- }
257
- else {
258
- ui.log.info(`No environments configured. Run \`${formatWorkOSCommand('env add')}\` to get started.`);
259
- }
260
- return;
261
- }
262
- const entries = Object.entries(config.environments);
263
- if (isJsonMode()) {
264
- const data = entries.map(([key, env]) => ({
265
- name: key,
266
- type: env.type,
267
- active: key === config.activeEnvironment,
268
- endpoint: env.endpoint ?? null,
269
- hasApiKey: !!env.apiKey,
270
- hasClientId: !!env.clientId,
271
- }));
272
- outputJson({ data });
273
- return;
274
- }
275
- // Human-mode table
276
- const hasUnclaimed = entries.some(([, env]) => isUnclaimedEnvironment(env));
277
- const nameW = Math.max(6, ...entries.map(([k, env]) => k.length + (isUnclaimedEnvironment(env) ? ' (unclaimed)'.length : 0))) + 2;
278
- const typeW = 12;
279
- const header = [
280
- chalk.yellow(' '),
281
- chalk.yellow('Name'.padEnd(nameW)),
282
- chalk.yellow('Type'.padEnd(typeW)),
283
- chalk.yellow('Endpoint'),
284
- ].join(' ');
285
- const separator = chalk.dim('─'.repeat(header.length));
286
- console.log(header);
287
- console.log(separator);
288
- for (const [key, env] of entries) {
289
- const isActive = key === config.activeEnvironment;
290
- const marker = isActive ? chalk.green('▸ ') : ' ';
291
- const unclaimed = isUnclaimedEnvironment(env);
292
- const displayName = unclaimed ? `${key} ${chalk.yellow('(unclaimed)')}` : key;
293
- const name = isActive ? chalk.green(displayName.padEnd(nameW)) : displayName.padEnd(nameW);
294
- const type = unclaimed ? 'Unclaimed' : env.type === 'sandbox' ? 'Sandbox' : 'Production';
295
- const endpoint = env.endpoint || chalk.dim('default');
296
- console.log([marker, name, type.padEnd(typeW), endpoint].join(' '));
297
- }
298
- if (hasUnclaimed) {
299
- console.log('');
300
- console.log(chalk.dim(` Run \`${formatWorkOSCommand('env claim')}\` to keep this environment.`));
301
- }
302
- }
303
- //# sourceMappingURL=env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport ui from '../utils/ui.js';\nimport { getConfig, saveConfig, isUnclaimedEnvironment, freshEnvKey } from '../lib/config-store.js';\nimport type { CliConfig } from '../lib/config-store.js';\nimport { outputSuccess, outputJson, exitWithError, isJsonMode } from '../utils/output.js';\nimport { isAgentMode, isCiMode, isPromptAllowed } from '../utils/interaction-mode.js';\nimport { missingArgsRecovery } from '../utils/recovery-hints.js';\nimport { formatWorkOSCommand } from '../utils/command-invocation.js';\nimport { ExitCode, exitWithCode } from '../utils/exit-codes.js';\nimport {\n provisionUnclaimedEnvironment,\n UnclaimedEnvApiError,\n type UnclaimedEnvProvisionResult,\n} from '../lib/unclaimed-env-api.js';\n\nconst ENV_NAME_REGEX = /^[a-z0-9\\-_]+$/;\n\nfunction validateEnvName(name: string | undefined): string | undefined {\n if (!name || !ENV_NAME_REGEX.test(name)) {\n return 'Name must contain only lowercase letters, numbers, hyphens, and underscores';\n }\n return undefined;\n}\n\nfunction getOrCreateConfig(): CliConfig {\n return getConfig() ?? { environments: {} };\n}\n\nexport async function runEnvAdd(options: {\n name?: string;\n apiKey?: string;\n clientId?: string;\n endpoint?: string;\n}): Promise<void> {\n let { name, apiKey, endpoint } = options;\n const { clientId } = options;\n\n if (name && apiKey) {\n // Non-interactive mode\n const nameError = validateEnvName(name);\n if (nameError) {\n exitWithError({ code: 'invalid_args', message: nameError });\n }\n } else if (!isPromptAllowed()) {\n exitWithError({\n code: 'missing_args',\n message: isAgentMode()\n ? `Name and API key required in agent mode. Example: ${formatWorkOSCommand('env add staging sk_test_xxx --client-id client_xxx')}`\n : isCiMode()\n ? 'Name and API key required in CI mode.'\n : 'Name and API key required when prompting is unavailable.',\n recovery: missingArgsRecovery(undefined, 'Provide environment name and API key as positional arguments.'),\n });\n } else {\n // Interactive mode\n const nameResult = await ui.text({\n message: 'Enter a name for the environment (e.g., production, sandbox, local)',\n validate: (value) => validateEnvName(value),\n });\n if (ui.isCancel(nameResult)) exitWithCode(ExitCode.CANCELLED);\n name = nameResult;\n\n const typeResult = await ui.select({\n message: 'Select the environment type',\n options: [\n { value: 'production', label: 'Production' },\n { value: 'sandbox', label: 'Sandbox' },\n ],\n });\n if (ui.isCancel(typeResult)) exitWithCode(ExitCode.CANCELLED);\n\n const apiKeyResult = await ui.password({\n message: 'Enter the API key for this environment',\n validate: (value) => {\n if (!value) return 'API key is required';\n return undefined;\n },\n });\n if (ui.isCancel(apiKeyResult)) exitWithCode(ExitCode.CANCELLED);\n apiKey = apiKeyResult;\n\n const config = getOrCreateConfig();\n const isFirst = Object.keys(config.environments).length === 0;\n\n config.environments[name] = {\n name,\n type: typeResult as 'production' | 'sandbox',\n apiKey,\n ...(clientId && { clientId }),\n ...(endpoint && { endpoint }),\n };\n\n if (isFirst) {\n config.activeEnvironment = name;\n }\n\n saveConfig(config);\n ui.log.success(`Environment ${chalk.bold(name)} added`);\n if (isFirst) {\n ui.log.info(`Set as active environment`);\n }\n return;\n }\n\n // Non-interactive path\n const config = getOrCreateConfig();\n const isFirst = Object.keys(config.environments).length === 0;\n\n const type: 'production' | 'sandbox' = apiKey.startsWith('sk_test_') ? 'sandbox' : 'production';\n\n config.environments[name!] = {\n name: name!,\n type,\n apiKey,\n ...(clientId && { clientId }),\n ...(endpoint && { endpoint }),\n };\n\n if (isFirst) {\n config.activeEnvironment = name;\n }\n\n saveConfig(config);\n outputSuccess('Environment added', { name: name!, type, active: isFirst });\n}\n\n/**\n * `workos env provision` — provision a fresh unclaimed environment (credentials only).\n *\n * Calls the low-level `provisionUnclaimedEnvironment()` directly (no auth, no\n * code-gen). Credentials are delivered on stdout (JSON is the agent credential\n * channel) and persisted locally as an unclaimed env so a follow-up\n * `env claim` works. NEVER writes to the project directory or any `.env` file,\n * and NEVER falls back to an interactive login on failure.\n */\nexport async function runEnvProvision(): Promise<void> {\n let result: UnclaimedEnvProvisionResult;\n try {\n result = await provisionUnclaimedEnvironment();\n } catch (error) {\n if (error instanceof UnclaimedEnvApiError) {\n exitWithError({\n code: error.statusCode === 429 ? 'rate_limited' : 'provision_failed',\n message: error.message,\n ...(error.statusCode && { apiContext: { status: error.statusCode } }),\n });\n }\n const message = error instanceof Error ? error.message : 'Unknown error';\n exitWithError({ code: 'provision_failed', message: `Failed to provision environment: ${message}` });\n }\n\n // Persist as an unclaimed env (parity with install) — NEVER writes to the project dir.\n // A fresh key ('unclaimed', 'unclaimed-2', …) so a repeated provision never clobbers an\n // earlier env's claim token, which lives only in this config and is unrecoverable.\n const config = getOrCreateConfig();\n const key = freshEnvKey(config, 'unclaimed');\n config.environments[key] = {\n name: key,\n type: 'unclaimed',\n apiKey: result.apiKey,\n clientId: result.clientId,\n claimToken: result.claimToken,\n };\n config.activeEnvironment = key;\n saveConfig(config);\n\n if (isJsonMode()) {\n outputSuccess('Environment provisioned', {\n name: key,\n type: 'unclaimed',\n active: true,\n apiKey: result.apiKey,\n clientId: result.clientId,\n claimToken: result.claimToken,\n authkitDomain: result.authkitDomain,\n });\n return;\n }\n\n ui.log.success('Provisioned a new WorkOS environment');\n console.log('');\n console.log(` ${chalk.dim('API key')} ${result.apiKey}`);\n console.log(` ${chalk.dim('Client ID')} ${result.clientId}`);\n console.log(` ${chalk.dim('AuthKit')} ${result.authkitDomain}`);\n console.log('');\n ui.log.info(\n `Set as active environment (${key}). Run \\`${formatWorkOSCommand('env claim')}\\` to link it to your account (permanent).`,\n );\n if (key !== 'unclaimed') {\n ui.log.info(`Your earlier unclaimed environment(s) are kept. See \\`${formatWorkOSCommand('env list')}\\`.`);\n }\n}\n\nexport async function runEnvRemove(name: string): Promise<void> {\n const config = getConfig();\n if (!config || Object.keys(config.environments).length === 0) {\n exitWithError({\n code: 'no_environments',\n message: `No environments configured. Run \\`${formatWorkOSCommand('env add')}\\` to get started.`,\n });\n }\n\n if (!config.environments[name]) {\n const available = Object.keys(config.environments).join(', ');\n exitWithError({ code: 'not_found', message: `Environment \"${name}\" not found. Available: ${available}` });\n }\n\n // Capture the claim risk BEFORE deleting — an unclaimed env's claim token lives\n // only in this local config, so removing it permanently loses the ability to claim.\n const wasUnclaimed = isUnclaimedEnvironment(config.environments[name]);\n\n delete config.environments[name];\n\n if (!isJsonMode()) {\n ui.log.warn(\n wasUnclaimed\n ? `Removed only the local CLI config for \"${name}\". This environment was unclaimed — its claim token lived only here, so it can no longer be claimed.`\n : `Removed only the local CLI config for \"${name}\". The environment still exists in WorkOS.`,\n );\n }\n\n if (config.activeEnvironment === name) {\n const remaining = Object.keys(config.environments);\n config.activeEnvironment = remaining.length > 0 ? remaining[0] : undefined;\n if (config.activeEnvironment && !isJsonMode()) {\n ui.log.info(`Active environment switched to ${chalk.bold(config.activeEnvironment)}`);\n }\n }\n\n saveConfig(config);\n outputSuccess('Environment removed', {\n name,\n newActive: config.activeEnvironment ?? null,\n localOnly: true,\n wasUnclaimed,\n });\n}\n\nexport async function runEnvSwitch(name?: string): Promise<void> {\n const config = getConfig();\n if (!config || Object.keys(config.environments).length === 0) {\n exitWithError({\n code: 'no_environments',\n message: `No environments configured. Run \\`${formatWorkOSCommand('env add')}\\` to get started.`,\n });\n }\n\n if (name) {\n if (!config.environments[name]) {\n const available = Object.keys(config.environments).join(', ');\n exitWithError({ code: 'not_found', message: `Environment \"${name}\" not found. Available: ${available}` });\n }\n } else {\n // Interactive selection (TTY only — non-TTY guard is in bin.ts)\n const options = Object.entries(config.environments).map(([key, env]) => {\n let label = key;\n if (env.type === 'sandbox') label += ` [Sandbox]`;\n if (env.endpoint) label += ` [${env.endpoint}]`;\n if (key === config.activeEnvironment) label += chalk.green(' (active)');\n return { value: key, label };\n });\n\n const selected = await ui.select({\n message: 'Select an environment',\n options,\n });\n if (ui.isCancel(selected)) exitWithCode(ExitCode.CANCELLED);\n name = selected as string;\n }\n\n config.activeEnvironment = name;\n saveConfig(config);\n\n const env = config.environments[name];\n const warnings = process.env.WORKOS_API_KEY\n ? [\n {\n code: 'env_var_override',\n message:\n \"WORKOS_API_KEY is set in your shell. It will override this environment's stored key unless you pass --api-key.\",\n },\n ]\n : undefined;\n outputSuccess('Switched environment', { name, type: env.type }, { warnings });\n}\n\nexport async function runEnvList(): Promise<void> {\n const config = getConfig();\n if (!config || Object.keys(config.environments).length === 0) {\n if (isJsonMode()) {\n outputJson({ data: [] });\n } else {\n ui.log.info(`No environments configured. Run \\`${formatWorkOSCommand('env add')}\\` to get started.`);\n }\n return;\n }\n\n const entries = Object.entries(config.environments);\n\n if (isJsonMode()) {\n const data = entries.map(([key, env]) => ({\n name: key,\n type: env.type,\n active: key === config.activeEnvironment,\n endpoint: env.endpoint ?? null,\n hasApiKey: !!env.apiKey,\n hasClientId: !!env.clientId,\n }));\n outputJson({ data });\n return;\n }\n\n // Human-mode table\n const hasUnclaimed = entries.some(([, env]) => isUnclaimedEnvironment(env));\n const nameW =\n Math.max(6, ...entries.map(([k, env]) => k.length + (isUnclaimedEnvironment(env) ? ' (unclaimed)'.length : 0))) + 2;\n const typeW = 12;\n\n const header = [\n chalk.yellow(' '),\n chalk.yellow('Name'.padEnd(nameW)),\n chalk.yellow('Type'.padEnd(typeW)),\n chalk.yellow('Endpoint'),\n ].join(' ');\n\n const separator = chalk.dim('─'.repeat(header.length));\n\n console.log(header);\n console.log(separator);\n\n for (const [key, env] of entries) {\n const isActive = key === config.activeEnvironment;\n const marker = isActive ? chalk.green('▸ ') : ' ';\n const unclaimed = isUnclaimedEnvironment(env);\n const displayName = unclaimed ? `${key} ${chalk.yellow('(unclaimed)')}` : key;\n const name = isActive ? chalk.green(displayName.padEnd(nameW)) : displayName.padEnd(nameW);\n const type = unclaimed ? 'Unclaimed' : env.type === 'sandbox' ? 'Sandbox' : 'Production';\n const endpoint = env.endpoint || chalk.dim('default');\n\n console.log([marker, name, type.padEnd(typeW), endpoint].join(' '));\n }\n\n if (hasUnclaimed) {\n console.log('');\n console.log(chalk.dim(` Run \\`${formatWorkOSCommand('env claim')}\\` to keep this environment.`));\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- export interface EventListOptions {
2
- events: string[];
3
- after?: string;
4
- organizationId?: string;
5
- rangeStart?: string;
6
- rangeEnd?: string;
7
- limit?: number;
8
- }
9
- export declare function runEventList(options: EventListOptions, apiKey: string, baseUrl?: string): Promise<void>;
@@ -1,43 +0,0 @@
1
- import chalk from 'chalk';
2
- import { createWorkOSClient } from '../lib/workos-client.js';
3
- import { formatTable } from '../utils/table.js';
4
- import { outputJson, isJsonMode } from '../utils/output.js';
5
- import { createApiErrorHandler } from '../lib/api-error-handler.js';
6
- const handleApiError = createApiErrorHandler('Event');
7
- export async function runEventList(options, apiKey, baseUrl) {
8
- const client = createWorkOSClient(apiKey, baseUrl);
9
- try {
10
- const result = await client.sdk.events.listEvents({
11
- events: options.events,
12
- ...(options.after && { after: options.after }),
13
- ...(options.organizationId && { organizationId: options.organizationId }),
14
- ...(options.rangeStart && { rangeStart: options.rangeStart }),
15
- ...(options.rangeEnd && { rangeEnd: options.rangeEnd }),
16
- ...(options.limit && { limit: options.limit }),
17
- });
18
- if (isJsonMode()) {
19
- outputJson({ data: result.data, listMetadata: result.listMetadata });
20
- return;
21
- }
22
- if (result.data.length === 0) {
23
- console.log('No events found.');
24
- return;
25
- }
26
- const rows = result.data.map((event) => [event.id, event.event, event.createdAt]);
27
- console.log(formatTable([{ header: 'ID' }, { header: 'Event Type' }, { header: 'Created At' }], rows));
28
- const { before, after } = result.listMetadata;
29
- if (before && after) {
30
- console.log(chalk.dim(`Before: ${before} After: ${after}`));
31
- }
32
- else if (before) {
33
- console.log(chalk.dim(`Before: ${before}`));
34
- }
35
- else if (after) {
36
- console.log(chalk.dim(`After: ${after}`));
37
- }
38
- }
39
- catch (error) {
40
- handleApiError(error);
41
- }
42
- }
43
- //# sourceMappingURL=event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/commands/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAWtD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAyB,EAAE,MAAc,EAAE,OAAgB;IAC5F,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;YAChD,MAAM,EAAE,OAAO,CAAC,MAAqB;YACrC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAElF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAEvG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9C,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC","sourcesContent":["import chalk from 'chalk';\nimport type { EventName } from '@workos-inc/node';\nimport { createWorkOSClient } from '../lib/workos-client.js';\nimport { formatTable } from '../utils/table.js';\nimport { outputJson, isJsonMode } from '../utils/output.js';\nimport { createApiErrorHandler } from '../lib/api-error-handler.js';\n\nconst handleApiError = createApiErrorHandler('Event');\n\nexport interface EventListOptions {\n events: string[];\n after?: string;\n organizationId?: string;\n rangeStart?: string;\n rangeEnd?: string;\n limit?: number;\n}\n\nexport async function runEventList(options: EventListOptions, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.events.listEvents({\n events: options.events as EventName[],\n ...(options.after && { after: options.after }),\n ...(options.organizationId && { organizationId: options.organizationId }),\n ...(options.rangeStart && { rangeStart: options.rangeStart }),\n ...(options.rangeEnd && { rangeEnd: options.rangeEnd }),\n ...(options.limit && { limit: options.limit }),\n });\n\n if (isJsonMode()) {\n outputJson({ data: result.data, listMetadata: result.listMetadata });\n return;\n }\n\n if (result.data.length === 0) {\n console.log('No events found.');\n return;\n }\n\n const rows = result.data.map((event) => [event.id, event.event, event.createdAt]);\n\n console.log(formatTable([{ header: 'ID' }, { header: 'Event Type' }, { header: 'Created At' }], rows));\n\n const { before, after } = result.listMetadata;\n if (before && after) {\n console.log(chalk.dim(`Before: ${before} After: ${after}`));\n } else if (before) {\n console.log(chalk.dim(`Before: ${before}`));\n } else if (after) {\n console.log(chalk.dim(`After: ${after}`));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n"]}
@@ -1,12 +0,0 @@
1
- export interface FeatureFlagListOptions {
2
- limit?: number;
3
- before?: string;
4
- after?: string;
5
- order?: string;
6
- }
7
- export declare function runFeatureFlagList(options: FeatureFlagListOptions, apiKey: string, baseUrl?: string): Promise<void>;
8
- export declare function runFeatureFlagGet(slug: string, apiKey: string, baseUrl?: string): Promise<void>;
9
- export declare function runFeatureFlagEnable(slug: string, apiKey: string, baseUrl?: string): Promise<void>;
10
- export declare function runFeatureFlagDisable(slug: string, apiKey: string, baseUrl?: string): Promise<void>;
11
- export declare function runFeatureFlagAddTarget(slug: string, targetId: string, apiKey: string, baseUrl?: string): Promise<void>;
12
- export declare function runFeatureFlagRemoveTarget(slug: string, targetId: string, apiKey: string, baseUrl?: string): Promise<void>;
@@ -1,96 +0,0 @@
1
- import chalk from 'chalk';
2
- import { createWorkOSClient } from '../lib/workos-client.js';
3
- import { formatTable } from '../utils/table.js';
4
- import { outputSuccess, outputJson, isJsonMode } from '../utils/output.js';
5
- import { createApiErrorHandler } from '../lib/api-error-handler.js';
6
- const handleApiError = createApiErrorHandler('FeatureFlag');
7
- export async function runFeatureFlagList(options, apiKey, baseUrl) {
8
- const client = createWorkOSClient(apiKey, baseUrl);
9
- try {
10
- const result = await client.sdk.featureFlags.listFeatureFlags({
11
- limit: options.limit,
12
- before: options.before,
13
- after: options.after,
14
- order: options.order,
15
- });
16
- if (isJsonMode()) {
17
- outputJson({ data: result.data, listMetadata: result.listMetadata });
18
- return;
19
- }
20
- if (result.data.length === 0) {
21
- console.log('No feature flags found.');
22
- return;
23
- }
24
- const rows = result.data.map((flag) => [
25
- flag.slug,
26
- flag.name ?? chalk.dim('-'),
27
- flag.enabled ? chalk.green('Yes') : chalk.red('No'),
28
- flag.description ?? chalk.dim('-'),
29
- ]);
30
- console.log(formatTable([{ header: 'Slug' }, { header: 'Name' }, { header: 'Enabled' }, { header: 'Description' }], rows));
31
- const { before, after } = result.listMetadata;
32
- if (before && after) {
33
- console.log(chalk.dim(`Before: ${before} After: ${after}`));
34
- }
35
- else if (before) {
36
- console.log(chalk.dim(`Before: ${before}`));
37
- }
38
- else if (after) {
39
- console.log(chalk.dim(`After: ${after}`));
40
- }
41
- }
42
- catch (error) {
43
- handleApiError(error);
44
- }
45
- }
46
- export async function runFeatureFlagGet(slug, apiKey, baseUrl) {
47
- const client = createWorkOSClient(apiKey, baseUrl);
48
- try {
49
- const result = await client.sdk.featureFlags.getFeatureFlag(slug);
50
- outputJson(result);
51
- }
52
- catch (error) {
53
- handleApiError(error);
54
- }
55
- }
56
- export async function runFeatureFlagEnable(slug, apiKey, baseUrl) {
57
- const client = createWorkOSClient(apiKey, baseUrl);
58
- try {
59
- const result = await client.sdk.featureFlags.enableFeatureFlag(slug);
60
- outputSuccess('Enabled feature flag', result);
61
- }
62
- catch (error) {
63
- handleApiError(error);
64
- }
65
- }
66
- export async function runFeatureFlagDisable(slug, apiKey, baseUrl) {
67
- const client = createWorkOSClient(apiKey, baseUrl);
68
- try {
69
- const result = await client.sdk.featureFlags.disableFeatureFlag(slug);
70
- outputSuccess('Disabled feature flag', result);
71
- }
72
- catch (error) {
73
- handleApiError(error);
74
- }
75
- }
76
- export async function runFeatureFlagAddTarget(slug, targetId, apiKey, baseUrl) {
77
- const client = createWorkOSClient(apiKey, baseUrl);
78
- try {
79
- await client.sdk.featureFlags.addFlagTarget({ slug, targetId });
80
- outputSuccess('Added target to feature flag', { slug, targetId });
81
- }
82
- catch (error) {
83
- handleApiError(error);
84
- }
85
- }
86
- export async function runFeatureFlagRemoveTarget(slug, targetId, apiKey, baseUrl) {
87
- const client = createWorkOSClient(apiKey, baseUrl);
88
- try {
89
- await client.sdk.featureFlags.removeFlagTarget({ slug, targetId });
90
- outputSuccess('Removed target from feature flag', { slug, targetId });
91
- }
92
- catch (error) {
93
- handleApiError(error);
94
- }
95
- }
96
- //# sourceMappingURL=feature-flag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feature-flag.js","sourceRoot":"","sources":["../../src/commands/feature-flag.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport { createWorkOSClient } from '../lib/workos-client.js';\nimport { formatTable } from '../utils/table.js';\nimport { outputSuccess, outputJson, isJsonMode } from '../utils/output.js';\nimport { createApiErrorHandler } from '../lib/api-error-handler.js';\n\nconst handleApiError = createApiErrorHandler('FeatureFlag');\n\nexport interface FeatureFlagListOptions {\n limit?: number;\n before?: string;\n after?: string;\n order?: string;\n}\n\nexport async function runFeatureFlagList(\n options: FeatureFlagListOptions,\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.listFeatureFlags({\n limit: options.limit,\n before: options.before,\n after: options.after,\n order: options.order as 'asc' | 'desc' | undefined,\n });\n\n if (isJsonMode()) {\n outputJson({ data: result.data, listMetadata: result.listMetadata });\n return;\n }\n\n if (result.data.length === 0) {\n console.log('No feature flags found.');\n return;\n }\n\n const rows = result.data.map((flag) => [\n flag.slug,\n flag.name ?? chalk.dim('-'),\n flag.enabled ? chalk.green('Yes') : chalk.red('No'),\n flag.description ?? chalk.dim('-'),\n ]);\n\n console.log(\n formatTable([{ header: 'Slug' }, { header: 'Name' }, { header: 'Enabled' }, { header: 'Description' }], rows),\n );\n\n const { before, after } = result.listMetadata;\n if (before && after) {\n console.log(chalk.dim(`Before: ${before} After: ${after}`));\n } else if (before) {\n console.log(chalk.dim(`Before: ${before}`));\n } else if (after) {\n console.log(chalk.dim(`After: ${after}`));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagGet(slug: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.getFeatureFlag(slug);\n outputJson(result);\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagEnable(slug: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.enableFeatureFlag(slug);\n outputSuccess('Enabled feature flag', result);\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagDisable(slug: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.disableFeatureFlag(slug);\n outputSuccess('Disabled feature flag', result);\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagAddTarget(\n slug: string,\n targetId: string,\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n await client.sdk.featureFlags.addFlagTarget({ slug, targetId });\n outputSuccess('Added target to feature flag', { slug, targetId });\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagRemoveTarget(\n slug: string,\n targetId: string,\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n await client.sdk.featureFlags.removeFlagTarget({ slug, targetId });\n outputSuccess('Removed target from feature flag', { slug, targetId });\n } catch (error) {\n handleApiError(error);\n }\n}\n"]}
@@ -1,85 +0,0 @@
1
- export declare const SKILL_VERSION_MARKER_FILENAME = ".workos-skill-version";
2
- /**
3
- * Read the bundled @workos/skills version by walking up from the skills
4
- * directory to the package.json. The package's `exports` map doesn't expose
5
- * package.json, so we resolve it by filesystem convention.
6
- * Returns null if the version can't be determined — callers treat that as
7
- * "no marker written" rather than failing the install.
8
- */
9
- export declare function getBundledSkillsVersion(skillsDir?: string): Promise<string | null>;
10
- export interface AgentConfig {
11
- name: string;
12
- displayName: string;
13
- globalSkillsDir: string;
14
- detect: () => boolean;
15
- }
16
- export declare function createAgents(home: string): Record<string, AgentConfig>;
17
- export interface InstallSkillOptions {
18
- skill?: string[];
19
- agent?: string[];
20
- }
21
- export declare function getSkillsDir(): string;
22
- export declare function discoverSkills(skillsDir: string): Promise<string[]>;
23
- export declare function detectAgents(agents: Record<string, AgentConfig>, filter?: string[]): AgentConfig[];
24
- /**
25
- * Recursively install a skill directory (SKILL.md + references/ + any other
26
- * files) with prune-replace semantics. Uses a sibling temp dir + backup-rename
27
- * pattern so the operation is effectively atomic per skill: the target either
28
- * matches the source exactly, or (on rollback) is restored to its prior state.
29
- *
30
- * Returns `{ success, error }` rather than throwing — callers (autoInstallSkills,
31
- * runInstallSkill) accumulate failures across the (skill × agent) matrix.
32
- */
33
- export declare function installSkill(skillsDir: string, skillName: string, agent: AgentConfig): Promise<{
34
- success: boolean;
35
- error?: string;
36
- }>;
37
- export declare function runInstallSkill(options: InstallSkillOptions): Promise<void>;
38
- export interface AutoInstallResult {
39
- skills: string[];
40
- agents: string[];
41
- version: string | null;
42
- }
43
- export interface RefreshOptions {
44
- /** Pre-detected agents. Default: detect from $HOME. */
45
- agents?: AgentConfig[];
46
- /** Skill names to install. Default: all bundled skills. */
47
- skills?: string[];
48
- /** Whether to write the version marker after a successful per-agent install. Default: true. */
49
- writeMarker?: boolean;
50
- }
51
- export interface RefreshResult {
52
- /** Agents where at least one skill installed successfully. */
53
- agents: AgentConfig[];
54
- /** Skills that were attempted (the resolved set after filtering). */
55
- skills: string[];
56
- /** Bundled skills package version, or null if it couldn't be resolved. */
57
- version: string | null;
58
- /** Marker version per agent.name BEFORE refresh (null = no marker / unreadable). */
59
- perAgentBefore: Record<string, string | null>;
60
- /** Marker version per agent.name AFTER refresh. */
61
- perAgentAfter: Record<string, string | null>;
62
- }
63
- /**
64
- * Reusable primitive: discover bundled skills, install each one to each agent,
65
- * write per-agent version markers, and report before/after marker state.
66
- *
67
- * Both `autoInstallSkills` (best-effort hook called from install/login) and
68
- * `doctor --fix` (Phase 3) call this — there is no duplicate copy logic.
69
- *
70
- * Returns null when nothing applied (no agents detected, no skills found, or
71
- * every install attempt failed).
72
- */
73
- export declare function refreshWorkOSSkills(opts?: RefreshOptions): Promise<RefreshResult | null>;
74
- /**
75
- * Install all bundled skills to all detected coding agents.
76
- * Returns a summary when anything was installed, or null when nothing applied.
77
- * Performs minimal IO: writes a version marker file alongside installed
78
- * skills so `workos doctor` can detect staleness later. Errors are swallowed
79
- * so skill install never disrupts the calling flow.
80
- *
81
- * Thin back-compat wrapper around `refreshWorkOSSkills` — the install/auth-login
82
- * call sites use this; doctor `--fix` (Phase 3) calls `refreshWorkOSSkills`
83
- * directly to surface the per-agent before/after marker state.
84
- */
85
- export declare function autoInstallSkills(): Promise<AutoInstallResult | null>;