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,124 +0,0 @@
1
- /**
2
- * Output mode system for non-TTY / JSON support.
3
- *
4
- * Resolves once at startup, drives output formatting only.
5
- * In JSON mode: structured JSON to stdout, structured errors to stderr.
6
- * In human mode: chalk-formatted output (existing behavior).
7
- */
8
- import chalk from 'chalk';
9
- import { CliExit } from './cli-exit.js';
10
- import { resolveErrorCode } from './exit-codes.js';
11
- import { formatTable } from './table.js';
12
- let currentMode = 'human';
13
- /**
14
- * Resolve the output mode based on flags and environment.
15
- *
16
- * Priority:
17
- * 1. Explicit --json flag
18
- * 2. WORKOS_FORCE_TTY env var → human output compatibility
19
- * 3. Non-TTY auto-detection → json
20
- * 4. Default → human
21
- *
22
- * Note: agent interaction mode (WORKOS_MODE=agent) also forces JSON output,
23
- * applied separately via resolveEffectiveOutputMode().
24
- */
25
- export function resolveOutputMode(jsonFlag) {
26
- if (jsonFlag)
27
- return 'json';
28
- if (process.env.WORKOS_FORCE_TTY === '1' || process.env.WORKOS_FORCE_TTY === 'true')
29
- return 'human';
30
- if (!process.stdout.isTTY)
31
- return 'json';
32
- return 'human';
33
- }
34
- export function resolveEffectiveOutputMode(mode, interaction) {
35
- if (interaction.mode === 'human' || interaction.source === 'non_tty') {
36
- return mode;
37
- }
38
- return 'json';
39
- }
40
- export function setOutputMode(mode) {
41
- currentMode = mode;
42
- if (mode === 'json') {
43
- chalk.level = 0;
44
- }
45
- }
46
- export function getOutputMode() {
47
- return currentMode;
48
- }
49
- export function isJsonMode() {
50
- return currentMode === 'json';
51
- }
52
- /** Write structured JSON to stdout (one line, no pretty-print). */
53
- export function outputJson(data) {
54
- console.log(JSON.stringify(data));
55
- }
56
- /** Write a success result — chalk in human mode, JSON in json mode. */
57
- export function outputSuccess(message, data, options) {
58
- if (currentMode === 'json') {
59
- const result = { status: 'ok', message };
60
- if (data)
61
- result.data = data;
62
- if (options?.warnings?.length)
63
- result.warnings = options.warnings;
64
- console.log(JSON.stringify(result));
65
- }
66
- else {
67
- console.log(chalk.green(message));
68
- if (data) {
69
- console.log(JSON.stringify(data, null, 2));
70
- }
71
- if (options?.warnings?.length) {
72
- for (const w of options.warnings) {
73
- console.error(chalk.yellow(w.message));
74
- }
75
- }
76
- }
77
- }
78
- /** Write a structured error to stderr. */
79
- export function outputError(error) {
80
- if (currentMode === 'json') {
81
- console.error(JSON.stringify({ error }));
82
- }
83
- else {
84
- console.error(chalk.red(error.message));
85
- const firstHint = error.recovery?.hints[0];
86
- if (firstHint) {
87
- const suffix = firstHint.command ? ` Run: ${firstHint.command}` : '';
88
- console.error(chalk.dim(`→ ${firstHint.description}${suffix}`));
89
- }
90
- }
91
- }
92
- /** Write tabular data — chalk table in human mode, JSON array in json mode. */
93
- export function outputTable(columns, rows, rawData) {
94
- if (currentMode === 'json') {
95
- if (rawData) {
96
- console.log(JSON.stringify(rawData));
97
- }
98
- else {
99
- const headers = columns.map((c) => c.header);
100
- const jsonRows = rows.map((row) => {
101
- const obj = {};
102
- headers.forEach((h, i) => {
103
- obj[h] = row[i] ?? '';
104
- });
105
- return obj;
106
- });
107
- console.log(JSON.stringify(jsonRows));
108
- }
109
- }
110
- else {
111
- console.log(formatTable(columns, rows));
112
- }
113
- }
114
- export function exitWithError(error) {
115
- outputError(error);
116
- const { reason: codeReason, exit } = resolveErrorCode(error.code);
117
- const reason = error.apiContext && codeReason === 'validation_error' ? 'api_error' : codeReason;
118
- throw new CliExit(exit, {
119
- reason,
120
- errorCode: error.code,
121
- apiContext: error.apiContext,
122
- });
123
- }
124
- //# sourceMappingURL=output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Output mode system for non-TTY / JSON support.\n *\n * Resolves once at startup, drives output formatting only.\n * In JSON mode: structured JSON to stdout, structured errors to stderr.\n * In human mode: chalk-formatted output (existing behavior).\n */\n\nimport chalk from 'chalk';\nimport { CliExit } from './cli-exit.js';\nimport { resolveErrorCode } from './exit-codes.js';\nimport { formatTable, type TableColumn } from './table.js';\nimport type { RecoveryHints } from './recovery-hints.js';\nimport type { InteractionModeInfo } from './interaction-mode.js';\n\nexport type OutputMode = 'human' | 'json';\n\nlet currentMode: OutputMode = 'human';\n\n/**\n * Resolve the output mode based on flags and environment.\n *\n * Priority:\n * 1. Explicit --json flag\n * 2. WORKOS_FORCE_TTY env var → human output compatibility\n * 3. Non-TTY auto-detection → json\n * 4. Default → human\n *\n * Note: agent interaction mode (WORKOS_MODE=agent) also forces JSON output,\n * applied separately via resolveEffectiveOutputMode().\n */\nexport function resolveOutputMode(jsonFlag?: boolean): OutputMode {\n if (jsonFlag) return 'json';\n if (process.env.WORKOS_FORCE_TTY === '1' || process.env.WORKOS_FORCE_TTY === 'true') return 'human';\n if (!process.stdout.isTTY) return 'json';\n return 'human';\n}\n\nexport function resolveEffectiveOutputMode(mode: OutputMode, interaction: InteractionModeInfo): OutputMode {\n if (interaction.mode === 'human' || interaction.source === 'non_tty') {\n return mode;\n }\n return 'json';\n}\n\nexport function setOutputMode(mode: OutputMode): void {\n currentMode = mode;\n if (mode === 'json') {\n chalk.level = 0;\n }\n}\n\nexport function getOutputMode(): OutputMode {\n return currentMode;\n}\n\nexport function isJsonMode(): boolean {\n return currentMode === 'json';\n}\n\n/** Write structured JSON to stdout (one line, no pretty-print). */\nexport function outputJson(data: unknown): void {\n console.log(JSON.stringify(data));\n}\n\n/** Write a success result — chalk in human mode, JSON in json mode. */\nexport function outputSuccess(\n message: string,\n data?: object,\n options?: { warnings?: Array<{ code: string; message: string }> },\n): void {\n if (currentMode === 'json') {\n const result: Record<string, unknown> = { status: 'ok', message };\n if (data) result.data = data;\n if (options?.warnings?.length) result.warnings = options.warnings;\n console.log(JSON.stringify(result));\n } else {\n console.log(chalk.green(message));\n if (data) {\n console.log(JSON.stringify(data, null, 2));\n }\n if (options?.warnings?.length) {\n for (const w of options.warnings) {\n console.error(chalk.yellow(w.message));\n }\n }\n }\n}\n\nexport interface StructuredError {\n code: string;\n message: string;\n details?: unknown;\n /**\n * Optional structured recovery metadata for agents.\n *\n * Only include for deterministic recovery paths. Human output prints the\n * first hint as a follow-up line; JSON output serializes the full structure.\n */\n recovery?: RecoveryHints;\n}\n\n/** Write a structured error to stderr. */\nexport function outputError(error: StructuredError): void {\n if (currentMode === 'json') {\n console.error(JSON.stringify({ error }));\n } else {\n console.error(chalk.red(error.message));\n const firstHint = error.recovery?.hints[0];\n if (firstHint) {\n const suffix = firstHint.command ? ` Run: ${firstHint.command}` : '';\n console.error(chalk.dim(`→ ${firstHint.description}${suffix}`));\n }\n }\n}\n\n/** Write tabular data — chalk table in human mode, JSON array in json mode. */\nexport function outputTable(columns: TableColumn[], rows: string[][], rawData?: unknown[]): void {\n if (currentMode === 'json') {\n if (rawData) {\n console.log(JSON.stringify(rawData));\n } else {\n const headers = columns.map((c) => c.header);\n const jsonRows = rows.map((row) => {\n const obj: Record<string, string> = {};\n headers.forEach((h, i) => {\n obj[h] = row[i] ?? '';\n });\n return obj;\n });\n console.log(JSON.stringify(jsonRows));\n }\n } else {\n console.log(formatTable(columns, rows));\n }\n}\n\nexport function exitWithError(\n error: StructuredError & {\n apiContext?: { status?: number; code?: string; resource?: string };\n },\n): never {\n outputError(error);\n const { reason: codeReason, exit } = resolveErrorCode(error.code);\n const reason = error.apiContext && codeReason === 'validation_error' ? 'api_error' : codeReason;\n throw new CliExit(exit, {\n reason,\n errorCode: error.code,\n apiContext: error.apiContext,\n });\n}\n"]}
@@ -1,26 +0,0 @@
1
- export declare function readPackageJson(installDir: string): PackageDotJson | null;
2
- export type PackageDotJson = {
3
- version?: string;
4
- scripts?: Record<string, string | undefined>;
5
- dependencies?: Record<string, string>;
6
- devDependencies?: Record<string, string>;
7
- resolutions?: Record<string, string>;
8
- overrides?: Record<string, string>;
9
- pnpm?: {
10
- overrides?: Record<string, string>;
11
- };
12
- };
13
- type NpmPackage = {
14
- name: string;
15
- version: string;
16
- };
17
- /**
18
- * Checks if @param packageJson has any of the @param packageNamesList package names
19
- * listed as a dependency or devDependency.
20
- * If so, it returns the first package name that is found, including the
21
- * version (range) specified in the package.json.
22
- */
23
- export declare function findInstalledPackageFromList(packageNamesList: string[], packageJson: PackageDotJson): NpmPackage | undefined;
24
- export declare function hasPackageInstalled(packageName: string, packageJson: PackageDotJson): boolean;
25
- export declare function getPackageVersion(packageName: string, packageJson: PackageDotJson): string | undefined;
26
- export {};
@@ -1,32 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- export function readPackageJson(installDir) {
4
- try {
5
- const content = readFileSync(join(installDir, 'package.json'), 'utf-8');
6
- return JSON.parse(content);
7
- }
8
- catch {
9
- return null;
10
- }
11
- }
12
- /**
13
- * Checks if @param packageJson has any of the @param packageNamesList package names
14
- * listed as a dependency or devDependency.
15
- * If so, it returns the first package name that is found, including the
16
- * version (range) specified in the package.json.
17
- */
18
- export function findInstalledPackageFromList(packageNamesList, packageJson) {
19
- return packageNamesList
20
- .map((packageName) => ({
21
- name: packageName,
22
- version: getPackageVersion(packageName, packageJson),
23
- }))
24
- .find((sdkPackage) => !!sdkPackage.version);
25
- }
26
- export function hasPackageInstalled(packageName, packageJson) {
27
- return getPackageVersion(packageName, packageJson) !== undefined;
28
- }
29
- export function getPackageVersion(packageName, packageJson) {
30
- return packageJson?.dependencies?.[packageName] || packageJson?.devDependencies?.[packageName];
31
- }
32
- //# sourceMappingURL=package-json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/utils/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAmBD;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,gBAA0B,EAC1B,WAA2B;IAE3B,OAAO,gBAAgB;SACpB,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC;KACrD,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,UAAU,EAA4B,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,WAA2B;IAClF,OAAO,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,WAA2B;IAChF,OAAO,WAAW,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;AACjG,CAAC","sourcesContent":["import { readFileSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport function readPackageJson(installDir: string): PackageDotJson | null {\n try {\n const content = readFileSync(join(installDir, 'package.json'), 'utf-8');\n return JSON.parse(content) as PackageDotJson;\n } catch {\n return null;\n }\n}\n\nexport type PackageDotJson = {\n version?: string;\n scripts?: Record<string, string | undefined>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n resolutions?: Record<string, string>;\n overrides?: Record<string, string>;\n pnpm?: {\n overrides?: Record<string, string>;\n };\n};\n\ntype NpmPackage = {\n name: string;\n version: string;\n};\n\n/**\n * Checks if @param packageJson has any of the @param packageNamesList package names\n * listed as a dependency or devDependency.\n * If so, it returns the first package name that is found, including the\n * version (range) specified in the package.json.\n */\nexport function findInstalledPackageFromList(\n packageNamesList: string[],\n packageJson: PackageDotJson,\n): NpmPackage | undefined {\n return packageNamesList\n .map((packageName) => ({\n name: packageName,\n version: getPackageVersion(packageName, packageJson),\n }))\n .find((sdkPackage): sdkPackage is NpmPackage => !!sdkPackage.version);\n}\n\nexport function hasPackageInstalled(packageName: string, packageJson: PackageDotJson): boolean {\n return getPackageVersion(packageName, packageJson) !== undefined;\n}\n\nexport function getPackageVersion(packageName: string, packageJson: PackageDotJson): string | undefined {\n return packageJson?.dependencies?.[packageName] || packageJson?.devDependencies?.[packageName];\n}\n"]}
@@ -1,21 +0,0 @@
1
- import type { InstallerOptions } from './types.js';
2
- export interface PackageManager {
3
- name: string;
4
- label: string;
5
- installCommand: string;
6
- buildCommand: string;
7
- runScriptCommand: string;
8
- flags: string;
9
- forceInstallFlag: string;
10
- detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) => boolean;
11
- addOverride: (pkgName: string, pkgVersion: string, { installDir }: Pick<InstallerOptions, 'installDir'>) => Promise<void>;
12
- }
13
- export declare const BUN: PackageManager;
14
- export declare const YARN_V1: PackageManager;
15
- /** YARN V2/3/4 */
16
- export declare const YARN_V2: PackageManager;
17
- export declare const PNPM: PackageManager;
18
- export declare const NPM: PackageManager;
19
- export declare const EXPO: PackageManager;
20
- export declare const packageManagers: PackageManager[];
21
- export declare function detectAllPackageManagers({ installDir }: Pick<InstallerOptions, 'installDir'>): PackageManager[];
@@ -1,166 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import { traceStep } from '../telemetry.js';
4
- import { getPackageDotJson, updatePackageDotJson } from './ui-utils.js';
5
- import { analytics } from './analytics.js';
6
- export const BUN = {
7
- name: 'bun',
8
- label: 'Bun',
9
- installCommand: 'bun add',
10
- buildCommand: 'bun run build',
11
- runScriptCommand: 'bun run',
12
- flags: '',
13
- forceInstallFlag: '--force',
14
- detect: ({ installDir }) => ['bun.lockb', 'bun.lock'].some((lockFile) => fs.existsSync(path.join(installDir, lockFile))),
15
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
16
- const packageDotJson = await getPackageDotJson({ installDir });
17
- const overrides = packageDotJson.overrides || {};
18
- await updatePackageDotJson({
19
- ...packageDotJson,
20
- overrides: {
21
- ...overrides,
22
- [pkgName]: pkgVersion,
23
- },
24
- }, { installDir: installDir });
25
- },
26
- };
27
- export const YARN_V1 = {
28
- name: 'yarn',
29
- label: 'Yarn V1',
30
- installCommand: 'yarn add',
31
- buildCommand: 'yarn build',
32
- runScriptCommand: 'yarn',
33
- flags: '--ignore-workspace-root-check',
34
- forceInstallFlag: '--force',
35
- detect: ({ installDir }) => {
36
- try {
37
- return fs.readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8').slice(0, 500).includes('yarn lockfile v1');
38
- }
39
- catch {
40
- return false;
41
- }
42
- },
43
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
44
- const packageDotJson = await getPackageDotJson({ installDir });
45
- const resolutions = packageDotJson.resolutions || {};
46
- await updatePackageDotJson({
47
- ...packageDotJson,
48
- resolutions: {
49
- ...resolutions,
50
- [pkgName]: pkgVersion,
51
- },
52
- }, { installDir });
53
- },
54
- };
55
- /** YARN V2/3/4 */
56
- export const YARN_V2 = {
57
- name: 'yarn',
58
- label: 'Yarn V2/3/4',
59
- installCommand: 'yarn add',
60
- buildCommand: 'yarn build',
61
- runScriptCommand: 'yarn',
62
- flags: '',
63
- forceInstallFlag: '--force',
64
- detect: ({ installDir }) => {
65
- try {
66
- return fs.readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8').slice(0, 500).includes('__metadata');
67
- }
68
- catch {
69
- return false;
70
- }
71
- },
72
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
73
- const packageDotJson = await getPackageDotJson({ installDir });
74
- const resolutions = packageDotJson.resolutions || {};
75
- await updatePackageDotJson({
76
- ...packageDotJson,
77
- resolutions: {
78
- ...resolutions,
79
- [pkgName]: pkgVersion,
80
- },
81
- }, { installDir });
82
- },
83
- };
84
- export const PNPM = {
85
- name: 'pnpm',
86
- label: 'pnpm',
87
- installCommand: 'pnpm add',
88
- buildCommand: 'pnpm build',
89
- runScriptCommand: 'pnpm',
90
- flags: '--ignore-workspace-root-check',
91
- forceInstallFlag: '--force',
92
- detect: ({ installDir }) => fs.existsSync(path.join(installDir, 'pnpm-lock.yaml')),
93
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
94
- const packageDotJson = await getPackageDotJson({ installDir });
95
- const pnpm = packageDotJson.pnpm || {};
96
- const overrides = pnpm.overrides || {};
97
- await updatePackageDotJson({
98
- ...packageDotJson,
99
- pnpm: {
100
- ...pnpm,
101
- overrides: {
102
- ...overrides,
103
- [pkgName]: pkgVersion,
104
- },
105
- },
106
- }, { installDir });
107
- },
108
- };
109
- export const NPM = {
110
- name: 'npm',
111
- label: 'npm',
112
- installCommand: 'npm add',
113
- buildCommand: 'npm run build',
114
- runScriptCommand: 'npm run',
115
- flags: '',
116
- forceInstallFlag: '--force',
117
- detect: ({ installDir }) => fs.existsSync(path.join(installDir, 'package-lock.json')),
118
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
119
- const packageDotJson = await getPackageDotJson({ installDir });
120
- const overrides = packageDotJson.overrides || {};
121
- await updatePackageDotJson({
122
- ...packageDotJson,
123
- overrides: {
124
- ...overrides,
125
- [pkgName]: pkgVersion,
126
- },
127
- }, { installDir });
128
- },
129
- };
130
- export const EXPO = {
131
- name: 'expo',
132
- label: 'Expo',
133
- installCommand: 'npx expo install',
134
- buildCommand: 'npx expo build',
135
- runScriptCommand: 'npx expo run',
136
- flags: '',
137
- forceInstallFlag: '--force',
138
- detect: () => false,
139
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
140
- const packageDotJson = await getPackageDotJson({ installDir });
141
- const overrides = packageDotJson.overrides || {};
142
- await updatePackageDotJson({
143
- ...packageDotJson,
144
- overrides: {
145
- ...overrides,
146
- [pkgName]: pkgVersion,
147
- },
148
- }, { installDir });
149
- },
150
- };
151
- export const packageManagers = [BUN, YARN_V1, YARN_V2, PNPM, NPM, EXPO];
152
- export function detectAllPackageManagers({ installDir }) {
153
- return traceStep('detect-package-manager', () => {
154
- const detectedManagers = [];
155
- for (const packageManager of packageManagers) {
156
- if (packageManager.detect({ installDir })) {
157
- detectedManagers.push(packageManager);
158
- }
159
- }
160
- if (detectedManagers.length === 0) {
161
- analytics.setTag('package-manager', 'not-detected');
162
- }
163
- return detectedManagers;
164
- });
165
- }
166
- //# sourceMappingURL=package-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/utils/package-manager.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\nimport { traceStep } from '../telemetry.js';\nimport { getPackageDotJson, updatePackageDotJson } from './ui-utils.js';\nimport { analytics } from './analytics.js';\nimport type { InstallerOptions } from './types.js';\n\nexport interface PackageManager {\n name: string;\n label: string;\n installCommand: string;\n buildCommand: string;\n /* The command that the package manager uses to run a script from package.json */\n runScriptCommand: string;\n flags: string;\n forceInstallFlag: string;\n detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) => boolean;\n addOverride: (\n pkgName: string,\n pkgVersion: string,\n { installDir }: Pick<InstallerOptions, 'installDir'>,\n ) => Promise<void>;\n}\n\nexport const BUN: PackageManager = {\n name: 'bun',\n label: 'Bun',\n installCommand: 'bun add',\n buildCommand: 'bun run build',\n runScriptCommand: 'bun run',\n flags: '',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) =>\n ['bun.lockb', 'bun.lock'].some((lockFile) => fs.existsSync(path.join(installDir, lockFile))),\n addOverride: async (pkgName, pkgVersion, { installDir }: Pick<InstallerOptions, 'installDir'>): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const overrides = packageDotJson.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n { installDir: installDir },\n );\n },\n};\nexport const YARN_V1: PackageManager = {\n name: 'yarn',\n label: 'Yarn V1',\n installCommand: 'yarn add',\n buildCommand: 'yarn build',\n runScriptCommand: 'yarn',\n flags: '--ignore-workspace-root-check',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) => {\n try {\n return fs.readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8').slice(0, 500).includes('yarn lockfile v1');\n } catch {\n return false;\n }\n },\n addOverride: async (pkgName, pkgVersion, { installDir }: Pick<InstallerOptions, 'installDir'>): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const resolutions = packageDotJson.resolutions || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n resolutions: {\n ...resolutions,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\n/** YARN V2/3/4 */\nexport const YARN_V2: PackageManager = {\n name: 'yarn',\n label: 'Yarn V2/3/4',\n installCommand: 'yarn add',\n buildCommand: 'yarn build',\n runScriptCommand: 'yarn',\n flags: '',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) => {\n try {\n return fs.readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8').slice(0, 500).includes('__metadata');\n } catch {\n return false;\n }\n },\n addOverride: async (pkgName, pkgVersion, { installDir }: Pick<InstallerOptions, 'installDir'>): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const resolutions = packageDotJson.resolutions || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n resolutions: {\n ...resolutions,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\nexport const PNPM: PackageManager = {\n name: 'pnpm',\n label: 'pnpm',\n installCommand: 'pnpm add',\n buildCommand: 'pnpm build',\n runScriptCommand: 'pnpm',\n flags: '--ignore-workspace-root-check',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) =>\n fs.existsSync(path.join(installDir, 'pnpm-lock.yaml')),\n addOverride: async (pkgName, pkgVersion, { installDir }: Pick<InstallerOptions, 'installDir'>): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const pnpm = packageDotJson.pnpm || {};\n const overrides = pnpm.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n pnpm: {\n ...pnpm,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n },\n { installDir },\n );\n },\n};\nexport const NPM: PackageManager = {\n name: 'npm',\n label: 'npm',\n installCommand: 'npm add',\n buildCommand: 'npm run build',\n runScriptCommand: 'npm run',\n flags: '',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<InstallerOptions, 'installDir'>) =>\n fs.existsSync(path.join(installDir, 'package-lock.json')),\n addOverride: async (pkgName, pkgVersion, { installDir }: Pick<InstallerOptions, 'installDir'>): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const overrides = packageDotJson.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\n\nexport const EXPO: PackageManager = {\n name: 'expo',\n label: 'Expo',\n installCommand: 'npx expo install',\n buildCommand: 'npx expo build',\n runScriptCommand: 'npx expo run',\n flags: '',\n forceInstallFlag: '--force',\n detect: () => false,\n addOverride: async (pkgName, pkgVersion, { installDir }: Pick<InstallerOptions, 'installDir'>): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const overrides = packageDotJson.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\n\nexport const packageManagers = [BUN, YARN_V1, YARN_V2, PNPM, NPM, EXPO];\n\nexport function detectAllPackageManagers({ installDir }: Pick<InstallerOptions, 'installDir'>): PackageManager[] {\n return traceStep('detect-package-manager', () => {\n const detectedManagers: PackageManager[] = [];\n for (const packageManager of packageManagers) {\n if (packageManager.detect({ installDir })) {\n detectedManagers.push(packageManager);\n }\n }\n\n if (detectedManagers.length === 0) {\n analytics.setTag('package-manager', 'not-detected');\n }\n return detectedManagers;\n });\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Resolve the package root by walking up from a compiled file until we find package.json.
3
- * Immune to changes in tsconfig outDir/rootDir structure.
4
- */
5
- export declare function getPackageRoot(metaUrl: string): string;
@@ -1,18 +0,0 @@
1
- import { dirname, join } from 'path';
2
- import { existsSync } from 'fs';
3
- import { fileURLToPath } from 'url';
4
- /**
5
- * Resolve the package root by walking up from a compiled file until we find package.json.
6
- * Immune to changes in tsconfig outDir/rootDir structure.
7
- */
8
- export function getPackageRoot(metaUrl) {
9
- let dir = dirname(fileURLToPath(metaUrl));
10
- while (dir !== dirname(dir)) {
11
- if (existsSync(join(dir, 'package.json'))) {
12
- return dir;
13
- }
14
- dir = dirname(dir);
15
- }
16
- throw new Error('Could not find package root (no package.json found in parent directories)');
17
- }
18
- //# sourceMappingURL=paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;AAC/F,CAAC","sourcesContent":["import { dirname, join } from 'path';\nimport { existsSync } from 'fs';\nimport { fileURLToPath } from 'url';\n\n/**\n * Resolve the package root by walking up from a compiled file until we find package.json.\n * Immune to changes in tsconfig outDir/rootDir structure.\n */\nexport function getPackageRoot(metaUrl: string): string {\n let dir = dirname(fileURLToPath(metaUrl));\n while (dir !== dirname(dir)) {\n if (existsSync(join(dir, 'package.json'))) {\n return dir;\n }\n dir = dirname(dir);\n }\n throw new Error('Could not find package root (no package.json found in parent directories)');\n}\n"]}
@@ -1,8 +0,0 @@
1
- export declare const IS_WINDOWS: boolean;
2
- /**
3
- * Options for cross-platform spawn calls.
4
- * On Windows, .cmd/.bat shims require shell: true to resolve.
5
- */
6
- export declare const SPAWN_OPTS: {
7
- readonly shell: boolean;
8
- };
@@ -1,7 +0,0 @@
1
- export const IS_WINDOWS = process.platform === 'win32';
2
- /**
3
- * Options for cross-platform spawn calls.
4
- * On Windows, .cmd/.bat shims require shell: true to resolve.
5
- */
6
- export const SPAWN_OPTS = { shell: IS_WINDOWS };
7
- //# sourceMappingURL=platform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,UAAU,EAAW,CAAC","sourcesContent":["export const IS_WINDOWS = process.platform === 'win32';\n\n/**\n * Options for cross-platform spawn calls.\n * On Windows, .cmd/.bat shims require shell: true to resolve.\n */\nexport const SPAWN_OPTS = { shell: IS_WINDOWS } as const;\n"]}
@@ -1,42 +0,0 @@
1
- /**
2
- * Recovery hints for structured CLI errors.
3
- *
4
- * Recovery metadata is consumed by coding agents through JSON stderr output.
5
- * Hints describe the deterministic next step the caller can take to fix the
6
- * failure: the exact command to run, whether host shell access is required,
7
- * and (optionally) related docs links.
8
- *
9
- * Keep hints conservative: only include `command` when the next action is
10
- * unambiguous and safe. When the correct next step depends on user intent,
11
- * provide `description` only.
12
- */
13
- import type { InteractionMode } from './interaction-mode.js';
14
- export interface RecoveryHint {
15
- /** Human-readable next step for both humans and agents. */
16
- description: string;
17
- /** Exact command to run, when deterministic. */
18
- command?: string;
19
- /** True when the command must run on the user's host shell, not in the current sandbox. */
20
- hostShellRequired?: boolean;
21
- /** Optional documentation URL. */
22
- docsUrl?: string;
23
- /** Optional markdown-capable documentation URL. Only set when route support is verified. */
24
- docsMarkdownUrl?: string;
25
- }
26
- export interface RecoveryHints {
27
- hints: RecoveryHint[];
28
- }
29
- /** Build mode-aware recovery hints for `auth_required` errors. */
30
- export declare function authLoginRecovery(options: {
31
- mode: InteractionMode;
32
- env?: NodeJS.ProcessEnv;
33
- }): RecoveryHints;
34
- /** Build a `confirmation_required` recovery hint, attaching a command only when the exact rerun is known. */
35
- export declare function confirmationRecovery(command?: string): RecoveryHints;
36
- /** Build a recovery hint for a transient network / connection failure. */
37
- export declare function networkRetryRecovery(options?: {
38
- command?: string;
39
- docsUrl?: string;
40
- }): RecoveryHints;
41
- /** Build a `missing_args` recovery hint, attaching a command only when it is directly runnable. */
42
- export declare function missingArgsRecovery(command: string | undefined, description: string): RecoveryHints;
@@ -1,92 +0,0 @@
1
- /**
2
- * Recovery hints for structured CLI errors.
3
- *
4
- * Recovery metadata is consumed by coding agents through JSON stderr output.
5
- * Hints describe the deterministic next step the caller can take to fix the
6
- * failure: the exact command to run, whether host shell access is required,
7
- * and (optionally) related docs links.
8
- *
9
- * Keep hints conservative: only include `command` when the next action is
10
- * unambiguous and safe. When the correct next step depends on user intent,
11
- * provide `description` only.
12
- */
13
- import { formatWorkOSCommand } from './command-invocation.js';
14
- /** Build mode-aware recovery hints for `auth_required` errors. */
15
- export function authLoginRecovery(options) {
16
- const env = options.env ?? process.env;
17
- const loginCommand = formatWorkOSCommand('auth login', env);
18
- if (options.mode === 'ci') {
19
- return {
20
- hints: [
21
- {
22
- description: 'Set WORKOS_API_KEY in the CI environment.',
23
- },
24
- {
25
- description: 'Or refresh stored credentials before the CI run.',
26
- command: loginCommand,
27
- hostShellRequired: true,
28
- },
29
- ],
30
- };
31
- }
32
- if (options.mode === 'agent') {
33
- return {
34
- hints: [
35
- {
36
- description: "Authenticate on the user's host shell.",
37
- command: loginCommand,
38
- hostShellRequired: true,
39
- },
40
- {
41
- description: 'Or set WORKOS_API_KEY before invoking the CLI.',
42
- },
43
- ],
44
- };
45
- }
46
- return {
47
- hints: [
48
- {
49
- description: 'Authenticate via browser-based device login.',
50
- command: loginCommand,
51
- },
52
- {
53
- description: 'Or set WORKOS_API_KEY.',
54
- },
55
- ],
56
- };
57
- }
58
- /** Build a `confirmation_required` recovery hint, attaching a command only when the exact rerun is known. */
59
- export function confirmationRecovery(command) {
60
- return {
61
- hints: [
62
- {
63
- description: 'Re-run with explicit confirmation.',
64
- ...(command && { command }),
65
- },
66
- ],
67
- };
68
- }
69
- /** Build a recovery hint for a transient network / connection failure. */
70
- export function networkRetryRecovery(options = {}) {
71
- return {
72
- hints: [
73
- {
74
- description: 'Check your network connection and try again.',
75
- ...(options.command && { command: options.command }),
76
- ...(options.docsUrl && { docsUrl: options.docsUrl }),
77
- },
78
- ],
79
- };
80
- }
81
- /** Build a `missing_args` recovery hint, attaching a command only when it is directly runnable. */
82
- export function missingArgsRecovery(command, description) {
83
- return {
84
- hints: [
85
- {
86
- description,
87
- ...(command && { command }),
88
- },
89
- ],
90
- };
91
- }
92
- //# sourceMappingURL=recovery-hints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recovery-hints.js","sourceRoot":"","sources":["../../src/utils/recovery-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAmB9D,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,OAA2D;IAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,WAAW,EAAE,2CAA2C;iBACzD;gBACD;oBACE,WAAW,EAAE,kDAAkD;oBAC/D,OAAO,EAAE,YAAY;oBACrB,iBAAiB,EAAE,IAAI;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,WAAW,EAAE,wCAAwC;oBACrD,OAAO,EAAE,YAAY;oBACrB,iBAAiB,EAAE,IAAI;iBACxB;gBACD;oBACE,WAAW,EAAE,gDAAgD;iBAC9D;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE;YACL;gBACE,WAAW,EAAE,8CAA8C;gBAC3D,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,WAAW,EAAE,wBAAwB;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;QACL,KAAK,EAAE;YACL;gBACE,WAAW,EAAE,oCAAoC;gBACjD,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;aAC5B;SACF;KACF,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,UAAkD,EAAE;IACvF,OAAO;QACL,KAAK,EAAE;YACL;gBACE,WAAW,EAAE,8CAA8C;gBAC3D,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpD,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;aACrD;SACF;KACF,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,mBAAmB,CAAC,OAA2B,EAAE,WAAmB;IAClF,OAAO;QACL,KAAK,EAAE;YACL;gBACE,WAAW;gBACX,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;aAC5B;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Recovery hints for structured CLI errors.\n *\n * Recovery metadata is consumed by coding agents through JSON stderr output.\n * Hints describe the deterministic next step the caller can take to fix the\n * failure: the exact command to run, whether host shell access is required,\n * and (optionally) related docs links.\n *\n * Keep hints conservative: only include `command` when the next action is\n * unambiguous and safe. When the correct next step depends on user intent,\n * provide `description` only.\n */\n\nimport type { InteractionMode } from './interaction-mode.js';\nimport { formatWorkOSCommand } from './command-invocation.js';\n\nexport interface RecoveryHint {\n /** Human-readable next step for both humans and agents. */\n description: string;\n /** Exact command to run, when deterministic. */\n command?: string;\n /** True when the command must run on the user's host shell, not in the current sandbox. */\n hostShellRequired?: boolean;\n /** Optional documentation URL. */\n docsUrl?: string;\n /** Optional markdown-capable documentation URL. Only set when route support is verified. */\n docsMarkdownUrl?: string;\n}\n\nexport interface RecoveryHints {\n hints: RecoveryHint[];\n}\n\n/** Build mode-aware recovery hints for `auth_required` errors. */\nexport function authLoginRecovery(options: { mode: InteractionMode; env?: NodeJS.ProcessEnv }): RecoveryHints {\n const env = options.env ?? process.env;\n const loginCommand = formatWorkOSCommand('auth login', env);\n\n if (options.mode === 'ci') {\n return {\n hints: [\n {\n description: 'Set WORKOS_API_KEY in the CI environment.',\n },\n {\n description: 'Or refresh stored credentials before the CI run.',\n command: loginCommand,\n hostShellRequired: true,\n },\n ],\n };\n }\n\n if (options.mode === 'agent') {\n return {\n hints: [\n {\n description: \"Authenticate on the user's host shell.\",\n command: loginCommand,\n hostShellRequired: true,\n },\n {\n description: 'Or set WORKOS_API_KEY before invoking the CLI.',\n },\n ],\n };\n }\n\n return {\n hints: [\n {\n description: 'Authenticate via browser-based device login.',\n command: loginCommand,\n },\n {\n description: 'Or set WORKOS_API_KEY.',\n },\n ],\n };\n}\n\n/** Build a `confirmation_required` recovery hint, attaching a command only when the exact rerun is known. */\nexport function confirmationRecovery(command?: string): RecoveryHints {\n return {\n hints: [\n {\n description: 'Re-run with explicit confirmation.',\n ...(command && { command }),\n },\n ],\n };\n}\n\n/** Build a recovery hint for a transient network / connection failure. */\nexport function networkRetryRecovery(options: { command?: string; docsUrl?: string } = {}): RecoveryHints {\n return {\n hints: [\n {\n description: 'Check your network connection and try again.',\n ...(options.command && { command: options.command }),\n ...(options.docsUrl && { docsUrl: options.docsUrl }),\n },\n ],\n };\n}\n\n/** Build a `missing_args` recovery hint, attaching a command only when it is directly runnable. */\nexport function missingArgsRecovery(command: string | undefined, description: string): RecoveryHints {\n return {\n hints: [\n {\n description,\n ...(command && { command }),\n },\n ],\n };\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Redact sensitive values from logs
3
- */
4
- export declare function redactApiKey(apiKey: string): string;
5
- export declare function redactCredentials(obj: any): any;