workos 0.18.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (835) hide show
  1. package/README.md +4 -783
  2. package/bin/workos.js +44 -0
  3. package/package.json +18 -107
  4. package/LICENSE +0 -47
  5. package/dist/bin.d.ts +0 -2
  6. package/dist/bin.js +0 -1711
  7. package/dist/bin.js.map +0 -1
  8. package/dist/check-coverage.ts +0 -237
  9. package/dist/cli.config.d.ts +0 -88
  10. package/dist/cli.config.js +0 -110
  11. package/dist/cli.config.js.map +0 -1
  12. package/dist/commands/api/catalog.d.ts +0 -23
  13. package/dist/commands/api/catalog.js +0 -97
  14. package/dist/commands/api/catalog.js.map +0 -1
  15. package/dist/commands/api/format.d.ts +0 -5
  16. package/dist/commands/api/format.js +0 -46
  17. package/dist/commands/api/format.js.map +0 -1
  18. package/dist/commands/api/index.d.ts +0 -15
  19. package/dist/commands/api/index.js +0 -205
  20. package/dist/commands/api/index.js.map +0 -1
  21. package/dist/commands/api/interactive.d.ts +0 -3
  22. package/dist/commands/api/interactive.js +0 -133
  23. package/dist/commands/api/interactive.js.map +0 -1
  24. package/dist/commands/api/request.d.ts +0 -14
  25. package/dist/commands/api/request.js +0 -38
  26. package/dist/commands/api/request.js.map +0 -1
  27. package/dist/commands/api-key-mgmt.d.ts +0 -16
  28. package/dist/commands/api-key-mgmt.js +0 -96
  29. package/dist/commands/api-key-mgmt.js.map +0 -1
  30. package/dist/commands/audit-log.d.ts +0 -26
  31. package/dist/commands/audit-log.js +0 -155
  32. package/dist/commands/audit-log.js.map +0 -1
  33. package/dist/commands/auth-status.d.ts +0 -1
  34. package/dist/commands/auth-status.js +0 -57
  35. package/dist/commands/auth-status.js.map +0 -1
  36. package/dist/commands/claim.d.ts +0 -11
  37. package/dist/commands/claim.js +0 -131
  38. package/dist/commands/claim.js.map +0 -1
  39. package/dist/commands/config.d.ts +0 -3
  40. package/dist/commands/config.js +0 -54
  41. package/dist/commands/config.js.map +0 -1
  42. package/dist/commands/connection.d.ts +0 -13
  43. package/dist/commands/connection.js +0 -96
  44. package/dist/commands/connection.js.map +0 -1
  45. package/dist/commands/debug-sso.d.ts +0 -1
  46. package/dist/commands/debug-sso.js +0 -78
  47. package/dist/commands/debug-sso.js.map +0 -1
  48. package/dist/commands/debug-sync.d.ts +0 -1
  49. package/dist/commands/debug-sync.js +0 -102
  50. package/dist/commands/debug-sync.js.map +0 -1
  51. package/dist/commands/debug.d.ts +0 -28
  52. package/dist/commands/debug.js +0 -406
  53. package/dist/commands/debug.js.map +0 -1
  54. package/dist/commands/dev.d.ts +0 -23
  55. package/dist/commands/dev.js +0 -145
  56. package/dist/commands/dev.js.map +0 -1
  57. package/dist/commands/directory.d.ts +0 -27
  58. package/dist/commands/directory.js +0 -176
  59. package/dist/commands/directory.js.map +0 -1
  60. package/dist/commands/doctor.d.ts +0 -12
  61. package/dist/commands/doctor.js +0 -41
  62. package/dist/commands/doctor.js.map +0 -1
  63. package/dist/commands/emulate.d.ts +0 -6
  64. package/dist/commands/emulate.js +0 -68
  65. package/dist/commands/emulate.js.map +0 -1
  66. package/dist/commands/env.d.ts +0 -9
  67. package/dist/commands/env.js +0 -227
  68. package/dist/commands/env.js.map +0 -1
  69. package/dist/commands/event.d.ts +0 -9
  70. package/dist/commands/event.js +0 -43
  71. package/dist/commands/event.js.map +0 -1
  72. package/dist/commands/feature-flag.d.ts +0 -12
  73. package/dist/commands/feature-flag.js +0 -96
  74. package/dist/commands/feature-flag.js.map +0 -1
  75. package/dist/commands/install-skill.d.ts +0 -85
  76. package/dist/commands/install-skill.js +0 -332
  77. package/dist/commands/install-skill.js.map +0 -1
  78. package/dist/commands/install.d.ts +0 -6
  79. package/dist/commands/install.js +0 -56
  80. package/dist/commands/install.js.map +0 -1
  81. package/dist/commands/invitation.d.ts +0 -19
  82. package/dist/commands/invitation.js +0 -94
  83. package/dist/commands/invitation.js.map +0 -1
  84. package/dist/commands/list-skills.d.ts +0 -4
  85. package/dist/commands/list-skills.js +0 -52
  86. package/dist/commands/list-skills.js.map +0 -1
  87. package/dist/commands/login.d.ts +0 -22
  88. package/dist/commands/login.js +0 -184
  89. package/dist/commands/login.js.map +0 -1
  90. package/dist/commands/logout.d.ts +0 -1
  91. package/dist/commands/logout.js +0 -17
  92. package/dist/commands/logout.js.map +0 -1
  93. package/dist/commands/mcp.d.ts +0 -14
  94. package/dist/commands/mcp.js +0 -108
  95. package/dist/commands/mcp.js.map +0 -1
  96. package/dist/commands/membership.d.ts +0 -20
  97. package/dist/commands/membership.js +0 -129
  98. package/dist/commands/membership.js.map +0 -1
  99. package/dist/commands/migrations.d.ts +0 -2
  100. package/dist/commands/migrations.js +0 -49
  101. package/dist/commands/migrations.js.map +0 -1
  102. package/dist/commands/onboard-user.d.ts +0 -7
  103. package/dist/commands/onboard-user.js +0 -61
  104. package/dist/commands/onboard-user.js.map +0 -1
  105. package/dist/commands/org-domain.d.ts +0 -4
  106. package/dist/commands/org-domain.js +0 -45
  107. package/dist/commands/org-domain.js.map +0 -1
  108. package/dist/commands/organization.d.ts +0 -14
  109. package/dist/commands/organization.js +0 -103
  110. package/dist/commands/organization.js.map +0 -1
  111. package/dist/commands/permission.d.ts +0 -20
  112. package/dist/commands/permission.js +0 -93
  113. package/dist/commands/permission.js.map +0 -1
  114. package/dist/commands/portal.d.ts +0 -7
  115. package/dist/commands/portal.js +0 -26
  116. package/dist/commands/portal.js.map +0 -1
  117. package/dist/commands/role.d.ts +0 -17
  118. package/dist/commands/role.js +0 -122
  119. package/dist/commands/role.js.map +0 -1
  120. package/dist/commands/seed.d.ts +0 -6
  121. package/dist/commands/seed.js +0 -297
  122. package/dist/commands/seed.js.map +0 -1
  123. package/dist/commands/session.d.ts +0 -8
  124. package/dist/commands/session.js +0 -63
  125. package/dist/commands/session.js.map +0 -1
  126. package/dist/commands/setup-org.d.ts +0 -6
  127. package/dist/commands/setup-org.js +0 -99
  128. package/dist/commands/setup-org.js.map +0 -1
  129. package/dist/commands/telemetry.d.ts +0 -3
  130. package/dist/commands/telemetry.js +0 -88
  131. package/dist/commands/telemetry.js.map +0 -1
  132. package/dist/commands/uninstall-skill.d.ts +0 -11
  133. package/dist/commands/uninstall-skill.js +0 -117
  134. package/dist/commands/uninstall-skill.js.map +0 -1
  135. package/dist/commands/user.d.ts +0 -19
  136. package/dist/commands/user.js +0 -92
  137. package/dist/commands/user.js.map +0 -1
  138. package/dist/commands/vault-run.d.ts +0 -13
  139. package/dist/commands/vault-run.js +0 -194
  140. package/dist/commands/vault-run.js.map +0 -1
  141. package/dist/commands/vault.d.ts +0 -25
  142. package/dist/commands/vault.js +0 -153
  143. package/dist/commands/vault.js.map +0 -1
  144. package/dist/commands/webhook.d.ts +0 -3
  145. package/dist/commands/webhook.js +0 -92
  146. package/dist/commands/webhook.js.map +0 -1
  147. package/dist/craft-pre-release.sh +0 -10
  148. package/dist/dashboard/components/AnimatedLogo.d.ts +0 -8
  149. package/dist/dashboard/components/AnimatedLogo.js +0 -16
  150. package/dist/dashboard/components/AnimatedLogo.js.map +0 -1
  151. package/dist/dashboard/components/CompletionView.d.ts +0 -13
  152. package/dist/dashboard/components/CompletionView.js +0 -25
  153. package/dist/dashboard/components/CompletionView.js.map +0 -1
  154. package/dist/dashboard/components/ConfirmPrompt.d.ts +0 -9
  155. package/dist/dashboard/components/ConfirmPrompt.js +0 -25
  156. package/dist/dashboard/components/ConfirmPrompt.js.map +0 -1
  157. package/dist/dashboard/components/CredentialsForm.d.ts +0 -10
  158. package/dist/dashboard/components/CredentialsForm.js +0 -47
  159. package/dist/dashboard/components/CredentialsForm.js.map +0 -1
  160. package/dist/dashboard/components/Dashboard.d.ts +0 -3
  161. package/dist/dashboard/components/Dashboard.js +0 -100
  162. package/dist/dashboard/components/Dashboard.js.map +0 -1
  163. package/dist/dashboard/components/DashboardLayout.d.ts +0 -24
  164. package/dist/dashboard/components/DashboardLayout.js +0 -25
  165. package/dist/dashboard/components/DashboardLayout.js.map +0 -1
  166. package/dist/dashboard/components/DiffPanel.d.ts +0 -9
  167. package/dist/dashboard/components/DiffPanel.js +0 -136
  168. package/dist/dashboard/components/DiffPanel.js.map +0 -1
  169. package/dist/dashboard/components/InlinePrompt.d.ts +0 -8
  170. package/dist/dashboard/components/InlinePrompt.js +0 -19
  171. package/dist/dashboard/components/InlinePrompt.js.map +0 -1
  172. package/dist/dashboard/components/OutputPanel.d.ts +0 -10
  173. package/dist/dashboard/components/OutputPanel.js +0 -100
  174. package/dist/dashboard/components/OutputPanel.js.map +0 -1
  175. package/dist/dashboard/components/Panel.d.ts +0 -12
  176. package/dist/dashboard/components/Panel.js +0 -6
  177. package/dist/dashboard/components/Panel.js.map +0 -1
  178. package/dist/dashboard/components/TextInput.d.ts +0 -13
  179. package/dist/dashboard/components/TextInput.js +0 -57
  180. package/dist/dashboard/components/TextInput.js.map +0 -1
  181. package/dist/dashboard/components/WelcomeArt.d.ts +0 -2
  182. package/dist/dashboard/components/WelcomeArt.js +0 -9
  183. package/dist/dashboard/components/WelcomeArt.js.map +0 -1
  184. package/dist/dashboard/hooks/useAnimation.d.ts +0 -7
  185. package/dist/dashboard/hooks/useAnimation.js +0 -24
  186. package/dist/dashboard/hooks/useAnimation.js.map +0 -1
  187. package/dist/dashboard/hooks/useKeyboard.d.ts +0 -8
  188. package/dist/dashboard/hooks/useKeyboard.js +0 -18
  189. package/dist/dashboard/hooks/useKeyboard.js.map +0 -1
  190. package/dist/dashboard/hooks/useTerminalSize.d.ts +0 -8
  191. package/dist/dashboard/hooks/useTerminalSize.js +0 -23
  192. package/dist/dashboard/hooks/useTerminalSize.js.map +0 -1
  193. package/dist/dashboard/index.d.ts +0 -6
  194. package/dist/dashboard/index.js +0 -36
  195. package/dist/dashboard/index.js.map +0 -1
  196. package/dist/dashboard/lib/diff-utils.d.ts +0 -21
  197. package/dist/dashboard/lib/diff-utils.js +0 -271
  198. package/dist/dashboard/lib/diff-utils.js.map +0 -1
  199. package/dist/dashboard/lib/logo-frames.d.ts +0 -20
  200. package/dist/dashboard/lib/logo-frames.js +0 -109
  201. package/dist/dashboard/lib/logo-frames.js.map +0 -1
  202. package/dist/dashboard/lib/welcome-art.d.ts +0 -1
  203. package/dist/dashboard/lib/welcome-art.js +0 -5
  204. package/dist/dashboard/lib/welcome-art.js.map +0 -1
  205. package/dist/dashboard/types.d.ts +0 -5
  206. package/dist/dashboard/types.js +0 -2
  207. package/dist/dashboard/types.js.map +0 -1
  208. package/dist/doctor/agent-prompt.d.ts +0 -10
  209. package/dist/doctor/agent-prompt.js +0 -190
  210. package/dist/doctor/agent-prompt.js.map +0 -1
  211. package/dist/doctor/checks/ai-analysis.d.ts +0 -9
  212. package/dist/doctor/checks/ai-analysis.js +0 -124
  213. package/dist/doctor/checks/ai-analysis.js.map +0 -1
  214. package/dist/doctor/checks/auth-patterns.d.ts +0 -2
  215. package/dist/doctor/checks/auth-patterns.js +0 -569
  216. package/dist/doctor/checks/auth-patterns.js.map +0 -1
  217. package/dist/doctor/checks/connectivity.d.ts +0 -2
  218. package/dist/doctor/checks/connectivity.js +0 -35
  219. package/dist/doctor/checks/connectivity.js.map +0 -1
  220. package/dist/doctor/checks/dashboard.d.ts +0 -3
  221. package/dist/doctor/checks/dashboard.js +0 -123
  222. package/dist/doctor/checks/dashboard.js.map +0 -1
  223. package/dist/doctor/checks/environment.d.ts +0 -2
  224. package/dist/doctor/checks/environment.js +0 -86
  225. package/dist/doctor/checks/environment.js.map +0 -1
  226. package/dist/doctor/checks/framework.d.ts +0 -2
  227. package/dist/doctor/checks/framework.js +0 -94
  228. package/dist/doctor/checks/framework.js.map +0 -1
  229. package/dist/doctor/checks/host-execution.d.ts +0 -2
  230. package/dist/doctor/checks/host-execution.js +0 -21
  231. package/dist/doctor/checks/host-execution.js.map +0 -1
  232. package/dist/doctor/checks/language.d.ts +0 -6
  233. package/dist/doctor/checks/language.js +0 -104
  234. package/dist/doctor/checks/language.js.map +0 -1
  235. package/dist/doctor/checks/mcp.d.ts +0 -15
  236. package/dist/doctor/checks/mcp.js +0 -34
  237. package/dist/doctor/checks/mcp.js.map +0 -1
  238. package/dist/doctor/checks/runtime.d.ts +0 -2
  239. package/dist/doctor/checks/runtime.js +0 -20
  240. package/dist/doctor/checks/runtime.js.map +0 -1
  241. package/dist/doctor/checks/sdk.d.ts +0 -2
  242. package/dist/doctor/checks/sdk.js +0 -192
  243. package/dist/doctor/checks/sdk.js.map +0 -1
  244. package/dist/doctor/checks/skills.d.ts +0 -9
  245. package/dist/doctor/checks/skills.js +0 -84
  246. package/dist/doctor/checks/skills.js.map +0 -1
  247. package/dist/doctor/clipboard.d.ts +0 -1
  248. package/dist/doctor/clipboard.js +0 -43
  249. package/dist/doctor/clipboard.js.map +0 -1
  250. package/dist/doctor/index.d.ts +0 -26
  251. package/dist/doctor/index.js +0 -182
  252. package/dist/doctor/index.js.map +0 -1
  253. package/dist/doctor/issues.d.ts +0 -63
  254. package/dist/doctor/issues.js +0 -198
  255. package/dist/doctor/issues.js.map +0 -1
  256. package/dist/doctor/json-output.d.ts +0 -2
  257. package/dist/doctor/json-output.js +0 -4
  258. package/dist/doctor/json-output.js.map +0 -1
  259. package/dist/doctor/output.d.ts +0 -7
  260. package/dist/doctor/output.js +0 -288
  261. package/dist/doctor/output.js.map +0 -1
  262. package/dist/doctor/types.d.ts +0 -203
  263. package/dist/doctor/types.js +0 -2
  264. package/dist/doctor/types.js.map +0 -1
  265. package/dist/emulate/core/id.d.ts +0 -48
  266. package/dist/emulate/core/id.js +0 -73
  267. package/dist/emulate/core/id.js.map +0 -1
  268. package/dist/emulate/core/index.d.ts +0 -8
  269. package/dist/emulate/core/index.js +0 -8
  270. package/dist/emulate/core/index.js.map +0 -1
  271. package/dist/emulate/core/jwt.d.ts +0 -28
  272. package/dist/emulate/core/jwt.js +0 -78
  273. package/dist/emulate/core/jwt.js.map +0 -1
  274. package/dist/emulate/core/middleware/auth.d.ts +0 -15
  275. package/dist/emulate/core/middleware/auth.js +0 -17
  276. package/dist/emulate/core/middleware/auth.js.map +0 -1
  277. package/dist/emulate/core/middleware/error-handler.d.ts +0 -22
  278. package/dist/emulate/core/middleware/error-handler.js +0 -72
  279. package/dist/emulate/core/middleware/error-handler.js.map +0 -1
  280. package/dist/emulate/core/pagination.d.ts +0 -27
  281. package/dist/emulate/core/pagination.js +0 -43
  282. package/dist/emulate/core/pagination.js.map +0 -1
  283. package/dist/emulate/core/plugin.d.ts +0 -15
  284. package/dist/emulate/core/plugin.js +0 -2
  285. package/dist/emulate/core/plugin.js.map +0 -1
  286. package/dist/emulate/core/server.d.ts +0 -17
  287. package/dist/emulate/core/server.js +0 -90
  288. package/dist/emulate/core/server.js.map +0 -1
  289. package/dist/emulate/core/store.d.ts +0 -44
  290. package/dist/emulate/core/store.js +0 -169
  291. package/dist/emulate/core/store.js.map +0 -1
  292. package/dist/emulate/index.d.ts +0 -25
  293. package/dist/emulate/index.js +0 -47
  294. package/dist/emulate/index.js.map +0 -1
  295. package/dist/emulate/workos/constants.d.ts +0 -56
  296. package/dist/emulate/workos/constants.js +0 -56
  297. package/dist/emulate/workos/constants.js.map +0 -1
  298. package/dist/emulate/workos/entities.d.ts +0 -360
  299. package/dist/emulate/workos/entities.js +0 -2
  300. package/dist/emulate/workos/entities.js.map +0 -1
  301. package/dist/emulate/workos/event-bus.d.ts +0 -17
  302. package/dist/emulate/workos/event-bus.js +0 -70
  303. package/dist/emulate/workos/event-bus.js.map +0 -1
  304. package/dist/emulate/workos/helpers.d.ts +0 -72
  305. package/dist/emulate/workos/helpers.js +0 -211
  306. package/dist/emulate/workos/helpers.js.map +0 -1
  307. package/dist/emulate/workos/index.d.ts +0 -93
  308. package/dist/emulate/workos/index.js +0 -326
  309. package/dist/emulate/workos/index.js.map +0 -1
  310. package/dist/emulate/workos/role-helpers.d.ts +0 -21
  311. package/dist/emulate/workos/role-helpers.js +0 -130
  312. package/dist/emulate/workos/role-helpers.js.map +0 -1
  313. package/dist/emulate/workos/routes/api-keys.d.ts +0 -2
  314. package/dist/emulate/workos/routes/api-keys.js +0 -32
  315. package/dist/emulate/workos/routes/api-keys.js.map +0 -1
  316. package/dist/emulate/workos/routes/audit-logs.d.ts +0 -2
  317. package/dist/emulate/workos/routes/audit-logs.js +0 -104
  318. package/dist/emulate/workos/routes/audit-logs.js.map +0 -1
  319. package/dist/emulate/workos/routes/auth-challenges.d.ts +0 -2
  320. package/dist/emulate/workos/routes/auth-challenges.js +0 -51
  321. package/dist/emulate/workos/routes/auth-challenges.js.map +0 -1
  322. package/dist/emulate/workos/routes/auth-factors.d.ts +0 -2
  323. package/dist/emulate/workos/routes/auth-factors.js +0 -51
  324. package/dist/emulate/workos/routes/auth-factors.js.map +0 -1
  325. package/dist/emulate/workos/routes/auth.d.ts +0 -2
  326. package/dist/emulate/workos/routes/auth.js +0 -350
  327. package/dist/emulate/workos/routes/auth.js.map +0 -1
  328. package/dist/emulate/workos/routes/authorization-checks.d.ts +0 -10
  329. package/dist/emulate/workos/routes/authorization-checks.js +0 -123
  330. package/dist/emulate/workos/routes/authorization-checks.js.map +0 -1
  331. package/dist/emulate/workos/routes/authorization-org-roles.d.ts +0 -2
  332. package/dist/emulate/workos/routes/authorization-org-roles.js +0 -64
  333. package/dist/emulate/workos/routes/authorization-org-roles.js.map +0 -1
  334. package/dist/emulate/workos/routes/authorization-permissions.d.ts +0 -2
  335. package/dist/emulate/workos/routes/authorization-permissions.js +0 -67
  336. package/dist/emulate/workos/routes/authorization-permissions.js.map +0 -1
  337. package/dist/emulate/workos/routes/authorization-resources.d.ts +0 -2
  338. package/dist/emulate/workos/routes/authorization-resources.js +0 -117
  339. package/dist/emulate/workos/routes/authorization-resources.js.map +0 -1
  340. package/dist/emulate/workos/routes/authorization-roles.d.ts +0 -2
  341. package/dist/emulate/workos/routes/authorization-roles.js +0 -13
  342. package/dist/emulate/workos/routes/authorization-roles.js.map +0 -1
  343. package/dist/emulate/workos/routes/config.d.ts +0 -2
  344. package/dist/emulate/workos/routes/config.js +0 -57
  345. package/dist/emulate/workos/routes/config.js.map +0 -1
  346. package/dist/emulate/workos/routes/connect.d.ts +0 -2
  347. package/dist/emulate/workos/routes/connect.js +0 -65
  348. package/dist/emulate/workos/routes/connect.js.map +0 -1
  349. package/dist/emulate/workos/routes/connections.d.ts +0 -2
  350. package/dist/emulate/workos/routes/connections.js +0 -73
  351. package/dist/emulate/workos/routes/connections.js.map +0 -1
  352. package/dist/emulate/workos/routes/data-integrations.d.ts +0 -2
  353. package/dist/emulate/workos/routes/data-integrations.js +0 -55
  354. package/dist/emulate/workos/routes/data-integrations.js.map +0 -1
  355. package/dist/emulate/workos/routes/directories.d.ts +0 -2
  356. package/dist/emulate/workos/routes/directories.js +0 -90
  357. package/dist/emulate/workos/routes/directories.js.map +0 -1
  358. package/dist/emulate/workos/routes/email-verification.d.ts +0 -2
  359. package/dist/emulate/workos/routes/email-verification.js +0 -49
  360. package/dist/emulate/workos/routes/email-verification.js.map +0 -1
  361. package/dist/emulate/workos/routes/events.d.ts +0 -2
  362. package/dist/emulate/workos/routes/events.js +0 -18
  363. package/dist/emulate/workos/routes/events.js.map +0 -1
  364. package/dist/emulate/workos/routes/feature-flags.d.ts +0 -2
  365. package/dist/emulate/workos/routes/feature-flags.js +0 -103
  366. package/dist/emulate/workos/routes/feature-flags.js.map +0 -1
  367. package/dist/emulate/workos/routes/invitations.d.ts +0 -2
  368. package/dist/emulate/workos/routes/invitations.js +0 -122
  369. package/dist/emulate/workos/routes/invitations.js.map +0 -1
  370. package/dist/emulate/workos/routes/legacy-mfa.d.ts +0 -2
  371. package/dist/emulate/workos/routes/legacy-mfa.js +0 -75
  372. package/dist/emulate/workos/routes/legacy-mfa.js.map +0 -1
  373. package/dist/emulate/workos/routes/magic-auth.d.ts +0 -2
  374. package/dist/emulate/workos/routes/magic-auth.js +0 -32
  375. package/dist/emulate/workos/routes/magic-auth.js.map +0 -1
  376. package/dist/emulate/workos/routes/memberships.d.ts +0 -2
  377. package/dist/emulate/workos/routes/memberships.js +0 -114
  378. package/dist/emulate/workos/routes/memberships.js.map +0 -1
  379. package/dist/emulate/workos/routes/organization-domains.d.ts +0 -2
  380. package/dist/emulate/workos/routes/organization-domains.js +0 -58
  381. package/dist/emulate/workos/routes/organization-domains.js.map +0 -1
  382. package/dist/emulate/workos/routes/organizations.d.ts +0 -2
  383. package/dist/emulate/workos/routes/organizations.js +0 -131
  384. package/dist/emulate/workos/routes/organizations.js.map +0 -1
  385. package/dist/emulate/workos/routes/password-reset.d.ts +0 -2
  386. package/dist/emulate/workos/routes/password-reset.js +0 -61
  387. package/dist/emulate/workos/routes/password-reset.js.map +0 -1
  388. package/dist/emulate/workos/routes/pipes.d.ts +0 -2
  389. package/dist/emulate/workos/routes/pipes.js +0 -82
  390. package/dist/emulate/workos/routes/pipes.js.map +0 -1
  391. package/dist/emulate/workos/routes/portal.d.ts +0 -2
  392. package/dist/emulate/workos/routes/portal.js +0 -18
  393. package/dist/emulate/workos/routes/portal.js.map +0 -1
  394. package/dist/emulate/workos/routes/radar.d.ts +0 -2
  395. package/dist/emulate/workos/routes/radar.js +0 -41
  396. package/dist/emulate/workos/routes/radar.js.map +0 -1
  397. package/dist/emulate/workos/routes/sessions.d.ts +0 -2
  398. package/dist/emulate/workos/routes/sessions.js +0 -51
  399. package/dist/emulate/workos/routes/sessions.js.map +0 -1
  400. package/dist/emulate/workos/routes/sso.d.ts +0 -2
  401. package/dist/emulate/workos/routes/sso.js +0 -161
  402. package/dist/emulate/workos/routes/sso.js.map +0 -1
  403. package/dist/emulate/workos/routes/user-features.d.ts +0 -2
  404. package/dist/emulate/workos/routes/user-features.js +0 -50
  405. package/dist/emulate/workos/routes/user-features.js.map +0 -1
  406. package/dist/emulate/workos/routes/users.d.ts +0 -2
  407. package/dist/emulate/workos/routes/users.js +0 -129
  408. package/dist/emulate/workos/routes/users.js.map +0 -1
  409. package/dist/emulate/workos/routes/webhook-endpoints.d.ts +0 -2
  410. package/dist/emulate/workos/routes/webhook-endpoints.js +0 -67
  411. package/dist/emulate/workos/routes/webhook-endpoints.js.map +0 -1
  412. package/dist/emulate/workos/routes/widgets.d.ts +0 -2
  413. package/dist/emulate/workos/routes/widgets.js +0 -27
  414. package/dist/emulate/workos/routes/widgets.js.map +0 -1
  415. package/dist/emulate/workos/store.d.ts +0 -48
  416. package/dist/emulate/workos/store.js +0 -102
  417. package/dist/emulate/workos/store.js.map +0 -1
  418. package/dist/emulate/workos/webhook-signer.d.ts +0 -1
  419. package/dist/emulate/workos/webhook-signer.js +0 -8
  420. package/dist/emulate/workos/webhook-signer.js.map +0 -1
  421. package/dist/gen-routes-lib.spec.ts +0 -659
  422. package/dist/gen-routes-lib.ts +0 -647
  423. package/dist/gen-routes.ts +0 -96
  424. package/dist/integrations/dotnet/index.d.ts +0 -8
  425. package/dist/integrations/dotnet/index.js +0 -170
  426. package/dist/integrations/dotnet/index.js.map +0 -1
  427. package/dist/integrations/elixir/index.d.ts +0 -8
  428. package/dist/integrations/elixir/index.js +0 -146
  429. package/dist/integrations/elixir/index.js.map +0 -1
  430. package/dist/integrations/go/index.d.ts +0 -11
  431. package/dist/integrations/go/index.js +0 -212
  432. package/dist/integrations/go/index.js.map +0 -1
  433. package/dist/integrations/kotlin/index.d.ts +0 -4
  434. package/dist/integrations/kotlin/index.js +0 -78
  435. package/dist/integrations/kotlin/index.js.map +0 -1
  436. package/dist/integrations/nextjs/index.d.ts +0 -4
  437. package/dist/integrations/nextjs/index.js +0 -90
  438. package/dist/integrations/nextjs/index.js.map +0 -1
  439. package/dist/integrations/nextjs/utils.d.ts +0 -8
  440. package/dist/integrations/nextjs/utils.js +0 -53
  441. package/dist/integrations/nextjs/utils.js.map +0 -1
  442. package/dist/integrations/node/index.d.ts +0 -4
  443. package/dist/integrations/node/index.js +0 -52
  444. package/dist/integrations/node/index.js.map +0 -1
  445. package/dist/integrations/php/index.d.ts +0 -4
  446. package/dist/integrations/php/index.js +0 -51
  447. package/dist/integrations/php/index.js.map +0 -1
  448. package/dist/integrations/php-laravel/index.d.ts +0 -4
  449. package/dist/integrations/php-laravel/index.js +0 -51
  450. package/dist/integrations/php-laravel/index.js.map +0 -1
  451. package/dist/integrations/python/index.d.ts +0 -9
  452. package/dist/integrations/python/index.js +0 -249
  453. package/dist/integrations/python/index.js.map +0 -1
  454. package/dist/integrations/react/index.d.ts +0 -4
  455. package/dist/integrations/react/index.js +0 -49
  456. package/dist/integrations/react/index.js.map +0 -1
  457. package/dist/integrations/react-router/index.d.ts +0 -4
  458. package/dist/integrations/react-router/index.js +0 -94
  459. package/dist/integrations/react-router/index.js.map +0 -1
  460. package/dist/integrations/react-router/utils.d.ts +0 -10
  461. package/dist/integrations/react-router/utils.js +0 -146
  462. package/dist/integrations/react-router/utils.js.map +0 -1
  463. package/dist/integrations/ruby/index.d.ts +0 -8
  464. package/dist/integrations/ruby/index.js +0 -137
  465. package/dist/integrations/ruby/index.js.map +0 -1
  466. package/dist/integrations/sveltekit/index.d.ts +0 -4
  467. package/dist/integrations/sveltekit/index.js +0 -50
  468. package/dist/integrations/sveltekit/index.js.map +0 -1
  469. package/dist/integrations/tanstack-start/index.d.ts +0 -4
  470. package/dist/integrations/tanstack-start/index.js +0 -51
  471. package/dist/integrations/tanstack-start/index.js.map +0 -1
  472. package/dist/integrations/vanilla-js/index.d.ts +0 -4
  473. package/dist/integrations/vanilla-js/index.js +0 -49
  474. package/dist/integrations/vanilla-js/index.js.map +0 -1
  475. package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.d.ts +0 -7
  476. package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.js +0 -12
  477. package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.js.map +0 -1
  478. package/dist/lib/adapters/cli-adapter.d.ts +0 -84
  479. package/dist/lib/adapters/cli-adapter.js +0 -525
  480. package/dist/lib/adapters/cli-adapter.js.map +0 -1
  481. package/dist/lib/adapters/dashboard-adapter.d.ts +0 -34
  482. package/dist/lib/adapters/dashboard-adapter.js +0 -121
  483. package/dist/lib/adapters/dashboard-adapter.js.map +0 -1
  484. package/dist/lib/adapters/headless-adapter.d.ts +0 -73
  485. package/dist/lib/adapters/headless-adapter.js +0 -310
  486. package/dist/lib/adapters/headless-adapter.js.map +0 -1
  487. package/dist/lib/adapters/index.d.ts +0 -4
  488. package/dist/lib/adapters/index.js +0 -4
  489. package/dist/lib/adapters/index.js.map +0 -1
  490. package/dist/lib/adapters/types.d.ts +0 -41
  491. package/dist/lib/adapters/types.js +0 -2
  492. package/dist/lib/adapters/types.js.map +0 -1
  493. package/dist/lib/agent-interface.d.ts +0 -84
  494. package/dist/lib/agent-interface.js +0 -826
  495. package/dist/lib/agent-interface.js.map +0 -1
  496. package/dist/lib/agent-runner.d.ts +0 -9
  497. package/dist/lib/agent-runner.js +0 -261
  498. package/dist/lib/agent-runner.js.map +0 -1
  499. package/dist/lib/ai-content.d.ts +0 -14
  500. package/dist/lib/ai-content.js +0 -131
  501. package/dist/lib/ai-content.js.map +0 -1
  502. package/dist/lib/api-error-handler.d.ts +0 -18
  503. package/dist/lib/api-error-handler.js +0 -76
  504. package/dist/lib/api-error-handler.js.map +0 -1
  505. package/dist/lib/api-key.d.ts +0 -14
  506. package/dist/lib/api-key.js +0 -36
  507. package/dist/lib/api-key.js.map +0 -1
  508. package/dist/lib/api.d.ts +0 -25
  509. package/dist/lib/api.js +0 -120
  510. package/dist/lib/api.js.map +0 -1
  511. package/dist/lib/background-refresh.d.ts +0 -29
  512. package/dist/lib/background-refresh.js +0 -95
  513. package/dist/lib/background-refresh.js.map +0 -1
  514. package/dist/lib/command-aliases.d.ts +0 -8
  515. package/dist/lib/command-aliases.js +0 -12
  516. package/dist/lib/command-aliases.js.map +0 -1
  517. package/dist/lib/config-store.d.ts +0 -50
  518. package/dist/lib/config-store.js +0 -269
  519. package/dist/lib/config-store.js.map +0 -1
  520. package/dist/lib/config.d.ts +0 -34
  521. package/dist/lib/config.js +0 -37
  522. package/dist/lib/config.js.map +0 -1
  523. package/dist/lib/constants.d.ts +0 -43
  524. package/dist/lib/constants.js +0 -42
  525. package/dist/lib/constants.js.map +0 -1
  526. package/dist/lib/credential-discovery.d.ts +0 -42
  527. package/dist/lib/credential-discovery.js +0 -100
  528. package/dist/lib/credential-discovery.js.map +0 -1
  529. package/dist/lib/credential-proxy.d.ts +0 -45
  530. package/dist/lib/credential-proxy.js +0 -364
  531. package/dist/lib/credential-proxy.js.map +0 -1
  532. package/dist/lib/credential-store.d.ts +0 -32
  533. package/dist/lib/credential-store.js +0 -236
  534. package/dist/lib/credential-store.js.map +0 -1
  535. package/dist/lib/credentials.d.ts +0 -13
  536. package/dist/lib/credentials.js +0 -34
  537. package/dist/lib/credentials.js.map +0 -1
  538. package/dist/lib/dev-command.d.ts +0 -26
  539. package/dist/lib/dev-command.js +0 -129
  540. package/dist/lib/dev-command.js.map +0 -1
  541. package/dist/lib/device-auth.d.ts +0 -48
  542. package/dist/lib/device-auth.js +0 -176
  543. package/dist/lib/device-auth.js.map +0 -1
  544. package/dist/lib/device-id.d.ts +0 -25
  545. package/dist/lib/device-id.js +0 -102
  546. package/dist/lib/device-id.js.map +0 -1
  547. package/dist/lib/ensure-auth.d.ts +0 -12
  548. package/dist/lib/ensure-auth.js +0 -111
  549. package/dist/lib/ensure-auth.js.map +0 -1
  550. package/dist/lib/env-writer.d.ts +0 -25
  551. package/dist/lib/env-writer.js +0 -90
  552. package/dist/lib/env-writer.js.map +0 -1
  553. package/dist/lib/events.d.ts +0 -215
  554. package/dist/lib/events.js +0 -19
  555. package/dist/lib/events.js.map +0 -1
  556. package/dist/lib/framework-config.d.ts +0 -127
  557. package/dist/lib/framework-config.js +0 -11
  558. package/dist/lib/framework-config.js.map +0 -1
  559. package/dist/lib/helper-functions.d.ts +0 -1
  560. package/dist/lib/helper-functions.js +0 -2
  561. package/dist/lib/helper-functions.js.map +0 -1
  562. package/dist/lib/host-probe.d.ts +0 -28
  563. package/dist/lib/host-probe.js +0 -154
  564. package/dist/lib/host-probe.js.map +0 -1
  565. package/dist/lib/installer-core.d.ts +0 -556
  566. package/dist/lib/installer-core.js +0 -1115
  567. package/dist/lib/installer-core.js.map +0 -1
  568. package/dist/lib/installer-core.types.d.ts +0 -160
  569. package/dist/lib/installer-core.types.js +0 -2
  570. package/dist/lib/installer-core.types.js.map +0 -1
  571. package/dist/lib/mcp-clients.d.ts +0 -39
  572. package/dist/lib/mcp-clients.js +0 -284
  573. package/dist/lib/mcp-clients.js.map +0 -1
  574. package/dist/lib/mcp-notice.d.ts +0 -72
  575. package/dist/lib/mcp-notice.js +0 -275
  576. package/dist/lib/mcp-notice.js.map +0 -1
  577. package/dist/lib/port-detection.d.ts +0 -7
  578. package/dist/lib/port-detection.js +0 -238
  579. package/dist/lib/port-detection.js.map +0 -1
  580. package/dist/lib/post-install.d.ts +0 -8
  581. package/dist/lib/post-install.js +0 -51
  582. package/dist/lib/post-install.js.map +0 -1
  583. package/dist/lib/preferences.d.ts +0 -115
  584. package/dist/lib/preferences.js +0 -201
  585. package/dist/lib/preferences.js.map +0 -1
  586. package/dist/lib/progress-tracker.d.ts +0 -22
  587. package/dist/lib/progress-tracker.js +0 -47
  588. package/dist/lib/progress-tracker.js.map +0 -1
  589. package/dist/lib/registry.d.ts +0 -42
  590. package/dist/lib/registry.js +0 -96
  591. package/dist/lib/registry.js.map +0 -1
  592. package/dist/lib/resolve-install-credentials.d.ts +0 -11
  593. package/dist/lib/resolve-install-credentials.js +0 -53
  594. package/dist/lib/resolve-install-credentials.js.map +0 -1
  595. package/dist/lib/run-with-core.d.ts +0 -7
  596. package/dist/lib/run-with-core.js +0 -522
  597. package/dist/lib/run-with-core.js.map +0 -1
  598. package/dist/lib/safe-tools.d.ts +0 -2
  599. package/dist/lib/safe-tools.js +0 -212
  600. package/dist/lib/safe-tools.js.map +0 -1
  601. package/dist/lib/scaffold/index.d.ts +0 -1
  602. package/dist/lib/scaffold/index.js +0 -2
  603. package/dist/lib/scaffold/index.js.map +0 -1
  604. package/dist/lib/scaffold/scaffold.d.ts +0 -66
  605. package/dist/lib/scaffold/scaffold.js +0 -156
  606. package/dist/lib/scaffold/scaffold.js.map +0 -1
  607. package/dist/lib/settings.d.ts +0 -60
  608. package/dist/lib/settings.js +0 -31
  609. package/dist/lib/settings.js.map +0 -1
  610. package/dist/lib/staging-api.d.ts +0 -22
  611. package/dist/lib/staging-api.js +0 -74
  612. package/dist/lib/staging-api.js.map +0 -1
  613. package/dist/lib/startup-notice-gate.d.ts +0 -21
  614. package/dist/lib/startup-notice-gate.js +0 -29
  615. package/dist/lib/startup-notice-gate.js.map +0 -1
  616. package/dist/lib/telemetry-notice.d.ts +0 -25
  617. package/dist/lib/telemetry-notice.js +0 -59
  618. package/dist/lib/telemetry-notice.js.map +0 -1
  619. package/dist/lib/token-refresh-client.d.ts +0 -23
  620. package/dist/lib/token-refresh-client.js +0 -89
  621. package/dist/lib/token-refresh-client.js.map +0 -1
  622. package/dist/lib/token-refresh.d.ts +0 -12
  623. package/dist/lib/token-refresh.js +0 -27
  624. package/dist/lib/token-refresh.js.map +0 -1
  625. package/dist/lib/unclaimed-env-api.d.ts +0 -42
  626. package/dist/lib/unclaimed-env-api.js +0 -139
  627. package/dist/lib/unclaimed-env-api.js.map +0 -1
  628. package/dist/lib/unclaimed-env-provision.d.ts +0 -24
  629. package/dist/lib/unclaimed-env-provision.js +0 -77
  630. package/dist/lib/unclaimed-env-provision.js.map +0 -1
  631. package/dist/lib/unclaimed-warning.d.ts +0 -15
  632. package/dist/lib/unclaimed-warning.js +0 -77
  633. package/dist/lib/unclaimed-warning.js.map +0 -1
  634. package/dist/lib/validation/build-validator.d.ts +0 -21
  635. package/dist/lib/validation/build-validator.js +0 -153
  636. package/dist/lib/validation/build-validator.js.map +0 -1
  637. package/dist/lib/validation/index.d.ts +0 -4
  638. package/dist/lib/validation/index.js +0 -4
  639. package/dist/lib/validation/index.js.map +0 -1
  640. package/dist/lib/validation/quick-checks.d.ts +0 -19
  641. package/dist/lib/validation/quick-checks.js +0 -192
  642. package/dist/lib/validation/quick-checks.js.map +0 -1
  643. package/dist/lib/validation/security-checks.d.ts +0 -35
  644. package/dist/lib/validation/security-checks.js +0 -105
  645. package/dist/lib/validation/security-checks.js.map +0 -1
  646. package/dist/lib/validation/types.d.ts +0 -56
  647. package/dist/lib/validation/types.js +0 -2
  648. package/dist/lib/validation/types.js.map +0 -1
  649. package/dist/lib/validation/validator.d.ts +0 -13
  650. package/dist/lib/validation/validator.js +0 -684
  651. package/dist/lib/validation/validator.js.map +0 -1
  652. package/dist/lib/version-check.d.ts +0 -6
  653. package/dist/lib/version-check.js +0 -46
  654. package/dist/lib/version-check.js.map +0 -1
  655. package/dist/lib/workos-api.d.ts +0 -30
  656. package/dist/lib/workos-api.js +0 -69
  657. package/dist/lib/workos-api.js.map +0 -1
  658. package/dist/lib/workos-client.d.ts +0 -58
  659. package/dist/lib/workos-client.js +0 -140
  660. package/dist/lib/workos-client.js.map +0 -1
  661. package/dist/lib/workos-management.d.ts +0 -32
  662. package/dist/lib/workos-management.js +0 -142
  663. package/dist/lib/workos-management.js.map +0 -1
  664. package/dist/nextjs/nextjs-installer-agent.d.ts +0 -5
  665. package/dist/nextjs/nextjs-installer-agent.js +0 -6
  666. package/dist/nextjs/nextjs-installer-agent.js.map +0 -1
  667. package/dist/nextjs/utils.d.ts +0 -4
  668. package/dist/nextjs/utils.js +0 -5
  669. package/dist/nextjs/utils.js.map +0 -1
  670. package/dist/react/react-installer-agent.d.ts +0 -4
  671. package/dist/react/react-installer-agent.js +0 -5
  672. package/dist/react/react-installer-agent.js.map +0 -1
  673. package/dist/react-router/react-router-installer-agent.d.ts +0 -4
  674. package/dist/react-router/react-router-installer-agent.js +0 -5
  675. package/dist/react-router/react-router-installer-agent.js.map +0 -1
  676. package/dist/react-router/utils.d.ts +0 -4
  677. package/dist/react-router/utils.js +0 -5
  678. package/dist/react-router/utils.js.map +0 -1
  679. package/dist/run.d.ts +0 -32
  680. package/dist/run.js +0 -54
  681. package/dist/run.js.map +0 -1
  682. package/dist/smoke-test.ts +0 -881
  683. package/dist/steps/add-or-update-environment-variables.d.ts +0 -10
  684. package/dist/steps/add-or-update-environment-variables.js +0 -155
  685. package/dist/steps/add-or-update-environment-variables.js.map +0 -1
  686. package/dist/steps/index.d.ts +0 -3
  687. package/dist/steps/index.js +0 -4
  688. package/dist/steps/index.js.map +0 -1
  689. package/dist/steps/run-prettier.d.ts +0 -5
  690. package/dist/steps/run-prettier.js +0 -50
  691. package/dist/steps/run-prettier.js.map +0 -1
  692. package/dist/steps/upload-environment-variables/EnvironmentProvider.d.ts +0 -8
  693. package/dist/steps/upload-environment-variables/EnvironmentProvider.js +0 -7
  694. package/dist/steps/upload-environment-variables/EnvironmentProvider.js.map +0 -1
  695. package/dist/steps/upload-environment-variables/index.d.ts +0 -6
  696. package/dist/steps/upload-environment-variables/index.js +0 -57
  697. package/dist/steps/upload-environment-variables/index.js.map +0 -1
  698. package/dist/steps/upload-environment-variables/providers/vercel.d.ts +0 -14
  699. package/dist/steps/upload-environment-variables/providers/vercel.js +0 -107
  700. package/dist/steps/upload-environment-variables/providers/vercel.js.map +0 -1
  701. package/dist/tanstack-start/tanstack-start-installer-agent.d.ts +0 -4
  702. package/dist/tanstack-start/tanstack-start-installer-agent.js +0 -5
  703. package/dist/tanstack-start/tanstack-start-installer-agent.js.map +0 -1
  704. package/dist/telemetry.d.ts +0 -2
  705. package/dist/telemetry.js +0 -29
  706. package/dist/telemetry.js.map +0 -1
  707. package/dist/test/force-insecure-storage.d.ts +0 -1
  708. package/dist/test/force-insecure-storage.js +0 -9
  709. package/dist/test/force-insecure-storage.js.map +0 -1
  710. package/dist/test/setup.d.ts +0 -1
  711. package/dist/test/setup.js +0 -38
  712. package/dist/test/setup.js.map +0 -1
  713. package/dist/utils/analytics.d.ts +0 -66
  714. package/dist/utils/analytics.js +0 -330
  715. package/dist/utils/analytics.js.map +0 -1
  716. package/dist/utils/bash.d.ts +0 -2
  717. package/dist/utils/bash.js +0 -17
  718. package/dist/utils/bash.js.map +0 -1
  719. package/dist/utils/box.d.ts +0 -33
  720. package/dist/utils/box.js +0 -102
  721. package/dist/utils/box.js.map +0 -1
  722. package/dist/utils/clack-utils.d.ts +0 -97
  723. package/dist/utils/clack-utils.js +0 -422
  724. package/dist/utils/clack-utils.js.map +0 -1
  725. package/dist/utils/clack.d.ts +0 -5
  726. package/dist/utils/clack.js +0 -34
  727. package/dist/utils/clack.js.map +0 -1
  728. package/dist/utils/cli-exit.d.ts +0 -15
  729. package/dist/utils/cli-exit.js +0 -11
  730. package/dist/utils/cli-exit.js.map +0 -1
  731. package/dist/utils/cli-symbols.d.ts +0 -32
  732. package/dist/utils/cli-symbols.js +0 -46
  733. package/dist/utils/cli-symbols.js.map +0 -1
  734. package/dist/utils/command-invocation.d.ts +0 -10
  735. package/dist/utils/command-invocation.js +0 -26
  736. package/dist/utils/command-invocation.js.map +0 -1
  737. package/dist/utils/command-telemetry.d.ts +0 -17
  738. package/dist/utils/command-telemetry.js +0 -67
  739. package/dist/utils/command-telemetry.js.map +0 -1
  740. package/dist/utils/crash-reporter.d.ts +0 -13
  741. package/dist/utils/crash-reporter.js +0 -91
  742. package/dist/utils/crash-reporter.js.map +0 -1
  743. package/dist/utils/debug.d.ts +0 -9
  744. package/dist/utils/debug.js +0 -105
  745. package/dist/utils/debug.js.map +0 -1
  746. package/dist/utils/env-parser.d.ts +0 -5
  747. package/dist/utils/env-parser.js +0 -18
  748. package/dist/utils/env-parser.js.map +0 -1
  749. package/dist/utils/environment.d.ts +0 -10
  750. package/dist/utils/environment.js +0 -69
  751. package/dist/utils/environment.js.map +0 -1
  752. package/dist/utils/errors.d.ts +0 -3
  753. package/dist/utils/errors.js +0 -7
  754. package/dist/utils/errors.js.map +0 -1
  755. package/dist/utils/exec-file.d.ts +0 -15
  756. package/dist/utils/exec-file.js +0 -39
  757. package/dist/utils/exec-file.js.map +0 -1
  758. package/dist/utils/exit-codes.d.ts +0 -31
  759. package/dist/utils/exit-codes.js +0 -69
  760. package/dist/utils/exit-codes.js.map +0 -1
  761. package/dist/utils/git-utils.d.ts +0 -23
  762. package/dist/utils/git-utils.js +0 -86
  763. package/dist/utils/git-utils.js.map +0 -1
  764. package/dist/utils/help-json.d.ts +0 -58
  765. package/dist/utils/help-json.js +0 -1466
  766. package/dist/utils/help-json.js.map +0 -1
  767. package/dist/utils/interaction-mode.d.ts +0 -25
  768. package/dist/utils/interaction-mode.js +0 -99
  769. package/dist/utils/interaction-mode.js.map +0 -1
  770. package/dist/utils/lock-art.d.ts +0 -4
  771. package/dist/utils/lock-art.js +0 -73
  772. package/dist/utils/lock-art.js.map +0 -1
  773. package/dist/utils/logging.d.ts +0 -9
  774. package/dist/utils/logging.js +0 -36
  775. package/dist/utils/logging.js.map +0 -1
  776. package/dist/utils/ndjson.d.ts +0 -16
  777. package/dist/utils/ndjson.js +0 -18
  778. package/dist/utils/ndjson.js.map +0 -1
  779. package/dist/utils/output.d.ts +0 -60
  780. package/dist/utils/output.js +0 -124
  781. package/dist/utils/output.js.map +0 -1
  782. package/dist/utils/package-json.d.ts +0 -26
  783. package/dist/utils/package-json.js +0 -32
  784. package/dist/utils/package-json.js.map +0 -1
  785. package/dist/utils/package-manager.d.ts +0 -21
  786. package/dist/utils/package-manager.js +0 -166
  787. package/dist/utils/package-manager.js.map +0 -1
  788. package/dist/utils/paths.d.ts +0 -5
  789. package/dist/utils/paths.js +0 -18
  790. package/dist/utils/paths.js.map +0 -1
  791. package/dist/utils/platform.d.ts +0 -8
  792. package/dist/utils/platform.js +0 -7
  793. package/dist/utils/platform.js.map +0 -1
  794. package/dist/utils/recovery-hints.d.ts +0 -37
  795. package/dist/utils/recovery-hints.js +0 -80
  796. package/dist/utils/recovery-hints.js.map +0 -1
  797. package/dist/utils/redact.d.ts +0 -5
  798. package/dist/utils/redact.js +0 -29
  799. package/dist/utils/redact.js.map +0 -1
  800. package/dist/utils/register-subcommand.d.ts +0 -10
  801. package/dist/utils/register-subcommand.js +0 -33
  802. package/dist/utils/register-subcommand.js.map +0 -1
  803. package/dist/utils/semver.d.ts +0 -10
  804. package/dist/utils/semver.js +0 -43
  805. package/dist/utils/semver.js.map +0 -1
  806. package/dist/utils/string.d.ts +0 -1
  807. package/dist/utils/string.js +0 -6
  808. package/dist/utils/string.js.map +0 -1
  809. package/dist/utils/summary-box.d.ts +0 -18
  810. package/dist/utils/summary-box.js +0 -148
  811. package/dist/utils/summary-box.js.map +0 -1
  812. package/dist/utils/table.d.ts +0 -5
  813. package/dist/utils/table.js +0 -18
  814. package/dist/utils/table.js.map +0 -1
  815. package/dist/utils/telemetry-client.d.ts +0 -43
  816. package/dist/utils/telemetry-client.js +0 -171
  817. package/dist/utils/telemetry-client.js.map +0 -1
  818. package/dist/utils/telemetry-store-forward.d.ts +0 -11
  819. package/dist/utils/telemetry-store-forward.js +0 -94
  820. package/dist/utils/telemetry-store-forward.js.map +0 -1
  821. package/dist/utils/telemetry-types.d.ts +0 -100
  822. package/dist/utils/telemetry-types.js +0 -6
  823. package/dist/utils/telemetry-types.js.map +0 -1
  824. package/dist/utils/types.d.ts +0 -113
  825. package/dist/utils/types.js +0 -2
  826. package/dist/utils/types.js.map +0 -1
  827. package/dist/utils/urls.d.ts +0 -13
  828. package/dist/utils/urls.js +0 -14
  829. package/dist/utils/urls.js.map +0 -1
  830. package/dist/utils/vendor/is-unicorn-supported.d.ts +0 -1
  831. package/dist/utils/vendor/is-unicorn-supported.js +0 -21
  832. package/dist/utils/vendor/is-unicorn-supported.js.map +0 -1
  833. package/dist/vanilla-js/vanilla-js-installer-agent.d.ts +0 -4
  834. package/dist/vanilla-js/vanilla-js-installer-agent.js +0 -5
  835. package/dist/vanilla-js/vanilla-js-installer-agent.js.map +0 -1
@@ -1,684 +0,0 @@
1
- import { readFile } from 'fs/promises';
2
- import { existsSync } from 'fs';
3
- import { join } from 'path';
4
- import fg from 'fast-glob';
5
- import { runBuildValidation } from './build-validator.js';
6
- export async function validateInstallation(framework, projectDir, options = {}) {
7
- const startTime = Date.now();
8
- const issues = [];
9
- // Load rules for framework (with optional variant)
10
- const rules = await loadRules(framework, options.variant);
11
- if (!rules) {
12
- return {
13
- passed: true,
14
- framework,
15
- issues: [],
16
- durationMs: Date.now() - startTime,
17
- };
18
- }
19
- // Run validations
20
- issues.push(...(await validatePackages(rules, projectDir)));
21
- issues.push(...(await validateEnvVars(rules, projectDir)));
22
- issues.push(...(await validateFiles(rules, projectDir)));
23
- // Run framework-specific cross-validations
24
- issues.push(...(await validateFrameworkSpecific(framework, projectDir)));
25
- // Run build validation if enabled
26
- if (options.runBuild !== false) {
27
- const buildResult = await runBuildValidation(projectDir);
28
- issues.push(...buildResult.issues);
29
- }
30
- return {
31
- passed: issues.filter((i) => i.severity === 'error').length === 0,
32
- framework,
33
- issues,
34
- durationMs: Date.now() - startTime,
35
- };
36
- }
37
- async function loadRules(framework, variant) {
38
- const rulesPath = new URL(`./rules/${framework}.json`, import.meta.url);
39
- try {
40
- const content = await readFile(rulesPath, 'utf-8');
41
- const rules = JSON.parse(content);
42
- // Merge variant rules if specified
43
- if (variant && rules.variants?.[variant]) {
44
- const variantRules = rules.variants[variant];
45
- return {
46
- ...rules,
47
- files: [...rules.files, ...(variantRules.files || [])],
48
- packages: [...rules.packages, ...(variantRules.packages || [])],
49
- envVars: [...rules.envVars, ...(variantRules.envVars || [])],
50
- };
51
- }
52
- return rules;
53
- }
54
- catch {
55
- return null; // No rules for this framework yet
56
- }
57
- }
58
- export async function validatePackages(rules, projectDir) {
59
- const issues = [];
60
- const pkgPath = join(projectDir, 'package.json');
61
- if (!existsSync(pkgPath))
62
- return issues;
63
- let pkg;
64
- try {
65
- pkg = JSON.parse(await readFile(pkgPath, 'utf-8'));
66
- }
67
- catch {
68
- // Malformed package.json - skip package validation
69
- return issues;
70
- }
71
- const deps = (pkg.dependencies || {});
72
- const devDeps = (pkg.devDependencies || {});
73
- const allDeps = { ...devDeps, ...deps };
74
- for (const rule of rules.packages) {
75
- const location = rule.location || 'any';
76
- const searchIn = location === 'any' ? allDeps : location === 'dependencies' ? deps : devDeps;
77
- if (!searchIn[rule.name]) {
78
- issues.push({
79
- type: 'package',
80
- severity: 'error',
81
- message: `Missing package: ${rule.name}`,
82
- hint: `Run: npm install ${rule.name}`,
83
- });
84
- }
85
- }
86
- return issues;
87
- }
88
- export async function validateEnvVars(rules, projectDir) {
89
- const issues = [];
90
- const envPath = join(projectDir, '.env.local');
91
- let envContent = '';
92
- try {
93
- envContent = await readFile(envPath, 'utf-8');
94
- }
95
- catch {
96
- if (rules.envVars.length > 0) {
97
- issues.push({
98
- type: 'env',
99
- severity: 'error',
100
- message: 'Missing .env.local file',
101
- hint: 'Create .env.local with required environment variables',
102
- });
103
- }
104
- return issues;
105
- }
106
- for (const rule of rules.envVars) {
107
- // Check primary name and any alternates
108
- const varsToCheck = [rule.name, ...(rule.alternates || [])];
109
- const found = varsToCheck.some((varName) => {
110
- const pattern = new RegExp(`^${varName}=.+`, 'm');
111
- return pattern.test(envContent);
112
- });
113
- if (!found) {
114
- const hint = rule.alternates
115
- ? `Add ${rule.name} (or one of: ${rule.alternates.join(', ')}) to .env.local`
116
- : `Add ${rule.name}=your_value to .env.local`;
117
- issues.push({
118
- type: 'env',
119
- severity: rule.required === false ? 'warning' : 'error',
120
- message: `Missing environment variable: ${rule.name}`,
121
- hint,
122
- });
123
- }
124
- }
125
- return issues;
126
- }
127
- export async function validateFiles(rules, projectDir) {
128
- const issues = [];
129
- for (const rule of rules.files) {
130
- let matches;
131
- try {
132
- matches = await fg(rule.path, { cwd: projectDir });
133
- }
134
- catch {
135
- // Invalid glob pattern - skip
136
- continue;
137
- }
138
- if (matches.length === 0) {
139
- issues.push({
140
- type: 'file',
141
- severity: 'error',
142
- message: `Missing file: ${rule.path}`,
143
- hint: `Create ${rule.path}`,
144
- });
145
- continue;
146
- }
147
- // Check content patterns
148
- if (rule.mustContain || rule.mustContainAny) {
149
- const filePath = join(projectDir, matches[0]);
150
- let content;
151
- try {
152
- content = await readFile(filePath, 'utf-8');
153
- }
154
- catch {
155
- // File read error - skip content checks
156
- continue;
157
- }
158
- // All must be present
159
- if (rule.mustContain) {
160
- for (const pattern of rule.mustContain) {
161
- if (!content.includes(pattern)) {
162
- issues.push({
163
- type: 'pattern',
164
- severity: 'warning',
165
- message: `File ${matches[0]} missing expected pattern: "${pattern}"`,
166
- hint: `Ensure ${matches[0]} contains: ${pattern}`,
167
- });
168
- }
169
- }
170
- }
171
- // At least one must be present
172
- if (rule.mustContainAny) {
173
- const hasAny = rule.mustContainAny.some((p) => content.includes(p));
174
- if (!hasAny) {
175
- issues.push({
176
- type: 'pattern',
177
- severity: 'warning',
178
- message: `File ${matches[0]} missing one of: ${rule.mustContainAny.join(', ')}`,
179
- hint: `Ensure ${matches[0]} contains one of these patterns`,
180
- });
181
- }
182
- }
183
- }
184
- }
185
- return issues;
186
- }
187
- /**
188
- * Framework-specific cross-validations that require reading multiple sources.
189
- */
190
- export async function validateFrameworkSpecific(framework, projectDir) {
191
- const issues = [];
192
- // Universal cross-validations
193
- await validateCredentialFormats(projectDir, issues);
194
- await validateDuplicateEnvVars(projectDir, issues);
195
- // Framework-specific validations
196
- switch (framework) {
197
- case 'nextjs':
198
- await validateNextjsRedirectUri(projectDir, issues);
199
- await validateNextjsMiddlewarePlacement(projectDir, issues);
200
- await validateCookiePasswordLength(projectDir, issues, 'WORKOS_COOKIE_PASSWORD');
201
- break;
202
- case 'react':
203
- await validateReactProviderWrapping(projectDir, issues);
204
- break;
205
- case 'react-router':
206
- await validateReactRouterRedirectUri(projectDir, issues);
207
- await validateCookiePasswordLength(projectDir, issues, 'WORKOS_COOKIE_PASSWORD');
208
- break;
209
- case 'tanstack-start':
210
- await validateTanstackStartRedirectUri(projectDir, issues);
211
- await validateCookiePasswordLength(projectDir, issues, 'WORKOS_COOKIE_PASSWORD');
212
- break;
213
- }
214
- return issues;
215
- }
216
- /**
217
- * Validates that the Next.js redirect URI matches an existing callback route.
218
- *
219
- * Common failure: .env.local has /auth/callback but route is at /api/auth/callback
220
- */
221
- async function validateNextjsRedirectUri(projectDir, issues) {
222
- const envPath = join(projectDir, '.env.local');
223
- let envContent;
224
- try {
225
- envContent = await readFile(envPath, 'utf-8');
226
- }
227
- catch {
228
- return; // No .env.local - other validators handle this
229
- }
230
- // Extract redirect URI value
231
- const match = envContent.match(/^NEXT_PUBLIC_WORKOS_REDIRECT_URI=(.+)$/m);
232
- if (!match) {
233
- return; // Missing env var - other validators handle this
234
- }
235
- const redirectUri = match[1].trim();
236
- let callbackPath;
237
- try {
238
- const url = new URL(redirectUri);
239
- callbackPath = url.pathname;
240
- }
241
- catch {
242
- issues.push({
243
- type: 'env',
244
- severity: 'error',
245
- message: `Invalid redirect URI: ${redirectUri}`,
246
- hint: 'NEXT_PUBLIC_WORKOS_REDIRECT_URI must be a valid URL',
247
- });
248
- return;
249
- }
250
- // Remove leading slash for path matching
251
- const routePath = callbackPath.replace(/^\//, '');
252
- // Check if route file exists at expected location (Next.js App Router)
253
- const routePatterns = [
254
- `app/${routePath}/route.ts`,
255
- `app/${routePath}/route.tsx`,
256
- `app/${routePath}/route.js`,
257
- `app/${routePath}/route.jsx`,
258
- `src/app/${routePath}/route.ts`,
259
- `src/app/${routePath}/route.tsx`,
260
- `src/app/${routePath}/route.js`,
261
- `src/app/${routePath}/route.jsx`,
262
- ];
263
- const routeExists = routePatterns.some((pattern) => existsSync(join(projectDir, pattern)));
264
- if (!routeExists) {
265
- // Check what routes DO exist to give a better hint
266
- const existingRoutes = await fg(['app/**/callback/**/route.{ts,tsx,js,jsx}', 'src/app/**/callback/**/route.{ts,tsx,js,jsx}'], {
267
- cwd: projectDir,
268
- });
269
- let hint = `Create a route handler at app/${routePath}/route.ts`;
270
- if (existingRoutes.length > 0) {
271
- // Found a route at a different path - likely the mismatch
272
- const actualPath = '/' + existingRoutes[0].replace(/^(src\/)?app\//, '').replace(/\/route\.(ts|tsx|js|jsx)$/, '');
273
- hint =
274
- `Found callback route at ${existingRoutes[0]} but redirect URI points to ${callbackPath}. Either:\n` +
275
- ` 1. Change NEXT_PUBLIC_WORKOS_REDIRECT_URI to http://localhost:3000${actualPath}\n` +
276
- ` 2. Move the route to app/${routePath}/route.ts`;
277
- }
278
- issues.push({
279
- type: 'file',
280
- severity: 'error',
281
- message: `Redirect URI path "${callbackPath}" has no matching route file`,
282
- hint,
283
- });
284
- }
285
- }
286
- /**
287
- * Validates that the React Router redirect URI matches an existing callback route.
288
- *
289
- * React Router v7 framework mode uses file-based routing:
290
- * - /auth/callback → app/routes/auth.callback.tsx (dot notation)
291
- * - /auth/callback → app/routes/auth/callback.tsx (nested folders)
292
- */
293
- async function validateReactRouterRedirectUri(projectDir, issues) {
294
- const envPath = join(projectDir, '.env.local');
295
- let envContent;
296
- try {
297
- envContent = await readFile(envPath, 'utf-8');
298
- }
299
- catch {
300
- return;
301
- }
302
- const match = envContent.match(/^WORKOS_REDIRECT_URI=(.+)$/m);
303
- if (!match) {
304
- return;
305
- }
306
- const redirectUri = match[1].trim();
307
- let callbackPath;
308
- try {
309
- const url = new URL(redirectUri);
310
- callbackPath = url.pathname;
311
- }
312
- catch {
313
- issues.push({
314
- type: 'env',
315
- severity: 'error',
316
- message: `Invalid redirect URI: ${redirectUri}`,
317
- hint: 'WORKOS_REDIRECT_URI must be a valid URL',
318
- });
319
- return;
320
- }
321
- const routePath = callbackPath.replace(/^\//, '');
322
- // React Router uses dot notation: /auth/callback → auth.callback
323
- const dotPath = routePath.replace(/\//g, '.');
324
- // Check possible route file locations
325
- const routePatterns = [
326
- // Dot notation (e.g., app/routes/auth.callback.tsx)
327
- `app/routes/${dotPath}.tsx`,
328
- `app/routes/${dotPath}.ts`,
329
- `app/routes/${dotPath}.jsx`,
330
- `app/routes/${dotPath}.js`,
331
- // Nested folders (e.g., app/routes/auth/callback.tsx)
332
- `app/routes/${routePath}.tsx`,
333
- `app/routes/${routePath}.ts`,
334
- `app/routes/${routePath}.jsx`,
335
- `app/routes/${routePath}.js`,
336
- // Index file in folder (e.g., app/routes/auth/callback/index.tsx)
337
- `app/routes/${routePath}/index.tsx`,
338
- `app/routes/${routePath}/index.ts`,
339
- `app/routes/${routePath}/index.jsx`,
340
- `app/routes/${routePath}/index.js`,
341
- // Route file in folder (e.g., app/routes/auth/callback/route.tsx)
342
- `app/routes/${routePath}/route.tsx`,
343
- `app/routes/${routePath}/route.ts`,
344
- `app/routes/${routePath}/route.jsx`,
345
- `app/routes/${routePath}/route.js`,
346
- ];
347
- const routeExists = routePatterns.some((pattern) => existsSync(join(projectDir, pattern)));
348
- if (!routeExists) {
349
- const existingRoutes = await fg(['app/routes/**/*callback*.{ts,tsx,js,jsx}'], {
350
- cwd: projectDir,
351
- });
352
- let hint = `Create a route at app/routes/${dotPath}.tsx`;
353
- if (existingRoutes.length > 0) {
354
- const actualFile = existingRoutes[0];
355
- // Convert file path back to URL path
356
- const actualPath = '/' +
357
- actualFile
358
- .replace(/^app\/routes\//, '')
359
- .replace(/\.(tsx?|jsx?)$/, '')
360
- .replace(/\/(index|route)$/, '')
361
- .replace(/\./g, '/');
362
- hint =
363
- `Found callback route at ${actualFile} but redirect URI points to ${callbackPath}. Either:\n` +
364
- ` 1. Change WORKOS_REDIRECT_URI to http://localhost:3000${actualPath}\n` +
365
- ` 2. Move the route to app/routes/${dotPath}.tsx`;
366
- }
367
- issues.push({
368
- type: 'file',
369
- severity: 'error',
370
- message: `Redirect URI path "${callbackPath}" has no matching route file`,
371
- hint,
372
- });
373
- }
374
- }
375
- /**
376
- * Validates that the TanStack Start redirect URI matches an existing callback route.
377
- *
378
- * TanStack Start uses file-based routing:
379
- * - /auth/callback → app/routes/auth/callback.tsx
380
- */
381
- async function validateTanstackStartRedirectUri(projectDir, issues) {
382
- const envPath = join(projectDir, '.env.local');
383
- let envContent;
384
- try {
385
- envContent = await readFile(envPath, 'utf-8');
386
- }
387
- catch {
388
- return;
389
- }
390
- const match = envContent.match(/^WORKOS_REDIRECT_URI=(.+)$/m);
391
- if (!match) {
392
- return;
393
- }
394
- const redirectUri = match[1].trim();
395
- let callbackPath;
396
- try {
397
- const url = new URL(redirectUri);
398
- callbackPath = url.pathname;
399
- }
400
- catch {
401
- issues.push({
402
- type: 'env',
403
- severity: 'error',
404
- message: `Invalid redirect URI: ${redirectUri}`,
405
- hint: 'WORKOS_REDIRECT_URI must be a valid URL',
406
- });
407
- return;
408
- }
409
- const routePath = callbackPath.replace(/^\//, '');
410
- // TanStack Start route patterns
411
- const routePatterns = [
412
- `app/routes/${routePath}.tsx`,
413
- `app/routes/${routePath}.ts`,
414
- `app/routes/${routePath}.jsx`,
415
- `app/routes/${routePath}.js`,
416
- `app/routes/${routePath}/index.tsx`,
417
- `app/routes/${routePath}/index.ts`,
418
- `app/routes/${routePath}/index.jsx`,
419
- `app/routes/${routePath}/index.js`,
420
- ];
421
- const routeExists = routePatterns.some((pattern) => existsSync(join(projectDir, pattern)));
422
- if (!routeExists) {
423
- const existingRoutes = await fg(['app/routes/**/*callback*.{ts,tsx,js,jsx}'], {
424
- cwd: projectDir,
425
- });
426
- let hint = `Create a route at app/routes/${routePath}.tsx`;
427
- if (existingRoutes.length > 0) {
428
- const actualFile = existingRoutes[0];
429
- const actualPath = '/' +
430
- actualFile
431
- .replace(/^app\/routes\//, '')
432
- .replace(/\.(tsx?|jsx?)$/, '')
433
- .replace(/\/index$/, '');
434
- hint =
435
- `Found callback route at ${actualFile} but redirect URI points to ${callbackPath}. Either:\n` +
436
- ` 1. Change WORKOS_REDIRECT_URI to http://localhost:3000${actualPath}\n` +
437
- ` 2. Move the route to app/routes/${routePath}.tsx`;
438
- }
439
- issues.push({
440
- type: 'file',
441
- severity: 'error',
442
- message: `Redirect URI path "${callbackPath}" has no matching route file`,
443
- hint,
444
- });
445
- }
446
- }
447
- /**
448
- * Validates cookie password is at least 32 characters.
449
- * WorkOS requires this for secure session encryption.
450
- */
451
- async function validateCookiePasswordLength(projectDir, issues, envVarName) {
452
- const envPath = join(projectDir, '.env.local');
453
- let envContent;
454
- try {
455
- envContent = await readFile(envPath, 'utf-8');
456
- }
457
- catch {
458
- return; // No .env.local - other validators handle this
459
- }
460
- const match = envContent.match(new RegExp(`^${envVarName}=(.*)$`, 'm'));
461
- if (!match) {
462
- return; // Missing env var - other validators handle this
463
- }
464
- const password = match[1].trim();
465
- if (password.length < 32) {
466
- issues.push({
467
- type: 'env',
468
- severity: 'error',
469
- message: `${envVarName} must be at least 32 characters (currently ${password.length})`,
470
- hint: `Generate a secure password: openssl rand -base64 32`,
471
- });
472
- }
473
- }
474
- /**
475
- * Validates credential formats:
476
- * - API key should start with sk_
477
- * - Client ID should start with client_
478
- */
479
- async function validateCredentialFormats(projectDir, issues) {
480
- const envPath = join(projectDir, '.env.local');
481
- let envContent;
482
- try {
483
- envContent = await readFile(envPath, 'utf-8');
484
- }
485
- catch {
486
- return;
487
- }
488
- // Check API key format (any common variation)
489
- const apiKeyPatterns = [/^WORKOS_API_KEY=(.*)$/m, /^NEXT_PUBLIC_WORKOS_API_KEY=(.*)$/m];
490
- for (const pattern of apiKeyPatterns) {
491
- const match = envContent.match(pattern);
492
- if (match) {
493
- const value = match[1].trim();
494
- if (value && !value.startsWith('sk_')) {
495
- issues.push({
496
- type: 'env',
497
- severity: 'error',
498
- message: `Invalid API key format: "${value.substring(0, 10)}..."`,
499
- hint: 'WorkOS API keys start with "sk_". Check your WorkOS Dashboard for the correct key.',
500
- });
501
- }
502
- }
503
- }
504
- // Check Client ID format
505
- const clientIdPatterns = [/^WORKOS_CLIENT_ID=(.*)$/m, /^NEXT_PUBLIC_WORKOS_CLIENT_ID=(.*)$/m];
506
- for (const pattern of clientIdPatterns) {
507
- const match = envContent.match(pattern);
508
- if (match) {
509
- const value = match[1].trim();
510
- if (value && !value.startsWith('client_')) {
511
- issues.push({
512
- type: 'env',
513
- severity: 'error',
514
- message: `Invalid Client ID format: "${value.substring(0, 15)}..."`,
515
- hint: 'WorkOS Client IDs start with "client_". Check your WorkOS Dashboard for the correct ID.',
516
- });
517
- }
518
- }
519
- }
520
- }
521
- /**
522
- * Validates Next.js middleware/proxy is at the correct location.
523
- * Must be alongside the app/ directory — Next.js only watches for these files
524
- * in the parent directory of app/.
525
- */
526
- async function validateNextjsMiddlewarePlacement(projectDir, issues) {
527
- // Determine where app/ lives to know where middleware/proxy should be
528
- const appInSrc = existsSync(join(projectDir, 'src', 'app'));
529
- const expectedDir = appInSrc ? 'src/' : '';
530
- const correctPaths = [
531
- `${expectedDir}middleware.ts`,
532
- `${expectedDir}middleware.js`,
533
- `${expectedDir}proxy.ts`,
534
- `${expectedDir}proxy.js`,
535
- ];
536
- const hasCorrectPlacement = correctPaths.some((p) => existsSync(join(projectDir, p)));
537
- if (hasCorrectPlacement) {
538
- return;
539
- }
540
- // Check for middleware/proxy at the wrong level
541
- const allPossible = [
542
- 'middleware.ts',
543
- 'middleware.js',
544
- 'src/middleware.ts',
545
- 'src/middleware.js',
546
- 'proxy.ts',
547
- 'proxy.js',
548
- 'src/proxy.ts',
549
- 'src/proxy.js',
550
- ];
551
- const wrongLevel = allPossible.find((p) => existsSync(join(projectDir, p)) && !correctPaths.includes(p));
552
- if (wrongLevel) {
553
- issues.push({
554
- type: 'file',
555
- severity: 'error',
556
- message: `${wrongLevel} is at the wrong level — app/ is in ${appInSrc ? 'src/' : 'root'}`,
557
- hint: `Move it to ${expectedDir}${wrongLevel.replace(/^src\//, '')} (must be alongside app/ directory). Next.js silently ignores middleware/proxy files at the wrong level.`,
558
- });
559
- return;
560
- }
561
- // Check for deeply misplaced middleware
562
- const misplaced = await fg(['**/{middleware,proxy}.{ts,js}'], {
563
- cwd: projectDir,
564
- ignore: ['node_modules/**'],
565
- });
566
- if (misplaced.length > 0) {
567
- issues.push({
568
- type: 'file',
569
- severity: 'error',
570
- message: `middleware/proxy found at wrong location: ${misplaced[0]}`,
571
- hint: `Must be at ${expectedDir}middleware.ts or ${expectedDir}proxy.ts (alongside app/ directory).`,
572
- });
573
- }
574
- }
575
- /**
576
- * Validates React SPA has AuthKitProvider wrapping the app.
577
- */
578
- async function validateReactProviderWrapping(projectDir, issues) {
579
- // Common entry points for React apps
580
- const entryPatterns = [
581
- 'src/main.tsx',
582
- 'src/main.jsx',
583
- 'src/index.tsx',
584
- 'src/index.jsx',
585
- 'src/App.tsx',
586
- 'src/App.jsx',
587
- 'app/layout.tsx',
588
- 'app/layout.jsx',
589
- ];
590
- let foundProvider = false;
591
- for (const pattern of entryPatterns) {
592
- const filePath = join(projectDir, pattern);
593
- if (!existsSync(filePath))
594
- continue;
595
- try {
596
- const content = await readFile(filePath, 'utf-8');
597
- if (content.includes('AuthKitProvider')) {
598
- foundProvider = true;
599
- break;
600
- }
601
- }
602
- catch {
603
- continue;
604
- }
605
- }
606
- if (!foundProvider) {
607
- // Check if package is installed (if not, other validators handle it)
608
- const pkgPath = join(projectDir, 'package.json');
609
- if (existsSync(pkgPath)) {
610
- try {
611
- const pkg = JSON.parse(await readFile(pkgPath, 'utf-8'));
612
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
613
- if (deps['@workos-inc/authkit-react']) {
614
- issues.push({
615
- type: 'pattern',
616
- severity: 'warning',
617
- message: 'AuthKitProvider not found in common entry points',
618
- hint: 'Wrap your app with <AuthKitProvider> in main.tsx or App.tsx. See: https://workos.com/docs/user-management/react/authkit',
619
- });
620
- }
621
- }
622
- catch {
623
- // Malformed package.json - skip
624
- }
625
- }
626
- }
627
- }
628
- /**
629
- * Detects duplicate env vars between .env and .env.local with different values.
630
- * This can cause confusing behavior where wrong values are used.
631
- */
632
- async function validateDuplicateEnvVars(projectDir, issues) {
633
- const envPath = join(projectDir, '.env');
634
- const envLocalPath = join(projectDir, '.env.local');
635
- let envContent;
636
- let envLocalContent;
637
- try {
638
- envContent = await readFile(envPath, 'utf-8');
639
- }
640
- catch {
641
- return; // No .env file - no conflict possible
642
- }
643
- try {
644
- envLocalContent = await readFile(envLocalPath, 'utf-8');
645
- }
646
- catch {
647
- return; // No .env.local - no conflict possible
648
- }
649
- // Parse env files into key-value maps
650
- const parseEnv = (content) => {
651
- const map = new Map();
652
- for (const line of content.split(/\r?\n/)) {
653
- const match = line.match(/^([A-Z_][A-Z0-9_]*)=(.*)$/);
654
- if (match) {
655
- map.set(match[1], match[2].trim());
656
- }
657
- }
658
- return map;
659
- };
660
- const envVars = parseEnv(envContent);
661
- const envLocalVars = parseEnv(envLocalContent);
662
- // Check for WorkOS-related vars that differ
663
- const workosVars = [
664
- 'WORKOS_API_KEY',
665
- 'WORKOS_CLIENT_ID',
666
- 'WORKOS_REDIRECT_URI',
667
- 'WORKOS_COOKIE_PASSWORD',
668
- 'NEXT_PUBLIC_WORKOS_CLIENT_ID',
669
- 'NEXT_PUBLIC_WORKOS_REDIRECT_URI',
670
- ];
671
- for (const varName of workosVars) {
672
- const envValue = envVars.get(varName);
673
- const localValue = envLocalVars.get(varName);
674
- if (envValue && localValue && envValue !== localValue) {
675
- issues.push({
676
- type: 'env',
677
- severity: 'warning',
678
- message: `${varName} has different values in .env and .env.local`,
679
- hint: `.env.local takes precedence. Remove from .env to avoid confusion, or ensure they match.`,
680
- });
681
- }
682
- }
683
- }
684
- //# sourceMappingURL=validator.js.map