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,826 +0,0 @@
1
- /**
2
- * Shared agent interface for WorkOS wizards
3
- * Uses Claude Agent SDK directly with WorkOS MCP server
4
- */
5
- import { dirname } from 'path';
6
- import { getSkillsDir as getSkillsPackageDir } from '@workos/skills';
7
- import { debug, logInfo, logWarn, logError, initLogFile, getLogFilePath } from '../utils/debug.js';
8
- import { analytics } from '../utils/analytics.js';
9
- import { INSTALLER_INTERACTION_EVENT_NAME } from './constants.js';
10
- import { LINTING_TOOLS } from './safe-tools.js';
11
- import { formatWorkOSCommand } from '../utils/command-invocation.js';
12
- import { getConfig } from './settings.js';
13
- import { getLlmGatewayUrl } from '../utils/urls.js';
14
- import { getCredentials, hasCredentials } from './credentials.js';
15
- import { ensureValidToken } from './token-refresh.js';
16
- import { startCredentialProxy, startClaimTokenProxy } from './credential-proxy.js';
17
- import { getActiveEnvironment, isUnclaimedEnvironment } from './config-store.js';
18
- import { getAuthkitDomain, getCliAuthClientId } from './settings.js';
19
- // File content cache for computing edit diffs
20
- const fileContentCache = new Map();
21
- // Track pending Read operations by tool_use_id
22
- const pendingReads = new Map();
23
- // Track tool start times by tool_use_id for telemetry
24
- const pendingToolCalls = new Map();
25
- // Module-level variable to track proxy handle for cleanup
26
- let activeProxyHandle = null;
27
- // Dynamic import cache for ESM module
28
- let _sdkModule = null;
29
- async function getSDKModule() {
30
- if (!_sdkModule) {
31
- _sdkModule = await import('@anthropic-ai/claude-agent-sdk');
32
- }
33
- return _sdkModule;
34
- }
35
- export const AgentSignals = {
36
- /** Signal emitted when the agent reports progress to the user */
37
- STATUS: '[STATUS]',
38
- /** Signal emitted when the agent cannot access the WorkOS MCP server */
39
- ERROR_MCP_MISSING: '[ERROR-MCP-MISSING]',
40
- /** Signal emitted when the agent cannot access the setup resource */
41
- ERROR_RESOURCE_MISSING: '[ERROR-RESOURCE-MISSING]',
42
- };
43
- /** Internal prefix used to tag service-unavailability errors from handleSDKMessage */
44
- const SERVICE_UNAVAILABLE_PREFIX = '__SERVICE_UNAVAILABLE__';
45
- /** Internal prefix used to tag rate-limit errors from handleSDKMessage */
46
- const RATE_LIMITED_PREFIX = '__RATE_LIMITED__';
47
- /**
48
- * Error types that can be returned from agent execution.
49
- * These correspond to the error signals that the agent emits.
50
- */
51
- export var AgentErrorType;
52
- (function (AgentErrorType) {
53
- /** Agent could not access the WorkOS MCP server */
54
- AgentErrorType["MCP_MISSING"] = "INSTALLER_MCP_MISSING";
55
- /** Agent could not access the setup resource */
56
- AgentErrorType["RESOURCE_MISSING"] = "INSTALLER_RESOURCE_MISSING";
57
- /** Agent execution failed (API error, auth error, etc.) */
58
- AgentErrorType["EXECUTION_ERROR"] = "INSTALLER_EXECUTION_ERROR";
59
- /** AI service is unavailable (API 500, outage, etc.) */
60
- AgentErrorType["SERVICE_UNAVAILABLE"] = "INSTALLER_SERVICE_UNAVAILABLE";
61
- })(AgentErrorType || (AgentErrorType = {}));
62
- /**
63
- * Package managers that can be used to run commands.
64
- * Includes JS and non-JS ecosystem package managers for multi-SDK support.
65
- */
66
- const PACKAGE_MANAGERS = [
67
- // JavaScript
68
- 'npm',
69
- 'pnpm',
70
- 'yarn',
71
- 'bun',
72
- 'npx',
73
- 'pnpx',
74
- 'bunx',
75
- // Python
76
- 'pip',
77
- 'pip3',
78
- 'poetry',
79
- 'uv',
80
- 'pipx',
81
- 'python',
82
- 'python3',
83
- // Ruby
84
- 'gem',
85
- 'bundle',
86
- 'bundler',
87
- 'ruby',
88
- // PHP
89
- 'composer',
90
- 'php',
91
- // Go
92
- 'go',
93
- // .NET
94
- 'dotnet',
95
- 'nuget',
96
- // Elixir
97
- 'mix',
98
- 'hex',
99
- 'elixir',
100
- // Kotlin/Java
101
- 'gradle',
102
- 'gradlew',
103
- './gradlew',
104
- 'mvn',
105
- ];
106
- /**
107
- * Safe scripts/commands that can be run with any package manager.
108
- * Uses startsWith matching, so 'build' matches 'build', 'build:prod', etc.
109
- * Note: Linting tools are in LINTING_TOOLS and checked separately.
110
- */
111
- const SAFE_SCRIPTS = [
112
- // Package installation
113
- 'install',
114
- 'add',
115
- 'ci',
116
- // Build
117
- 'build',
118
- // Type checking (various naming conventions)
119
- 'tsc',
120
- 'typecheck',
121
- 'type-check',
122
- 'check-types',
123
- 'types',
124
- // Linting/formatting script names (actual tools are in LINTING_TOOLS)
125
- 'lint',
126
- 'format',
127
- // Common cross-language commands
128
- 'check',
129
- 'test',
130
- 'run',
131
- 'serve',
132
- 'dev',
133
- 'start',
134
- 'compile',
135
- 'vet',
136
- // Python-specific
137
- 'manage.py',
138
- 'pytest',
139
- // Ruby-specific
140
- 'rspec',
141
- 'rake',
142
- 'routes',
143
- // PHP-specific
144
- 'artisan',
145
- 'phpunit',
146
- // Elixir-specific
147
- 'deps.get',
148
- 'credo',
149
- 'dialyzer',
150
- // .NET-specific
151
- 'restore',
152
- ];
153
- /**
154
- * Dangerous shell operators that could allow command injection.
155
- * Note: We handle `2>&1` and `| tail/head` separately as safe patterns.
156
- */
157
- const DANGEROUS_OPERATORS = /[;`$()]/;
158
- /**
159
- * Check if command is an allowed package manager command.
160
- * Matches: <pkg-manager> [run|exec] <safe-script> [args...]
161
- */
162
- function matchesAllowedPrefix(command) {
163
- const parts = command.split(/\s+/);
164
- if (parts.length === 0 || !PACKAGE_MANAGERS.includes(parts[0])) {
165
- return false;
166
- }
167
- // Skip 'run' or 'exec' if present
168
- let scriptIndex = 1;
169
- if (parts[scriptIndex] === 'run' || parts[scriptIndex] === 'exec') {
170
- scriptIndex++;
171
- }
172
- // Get the script/command portion (may include args)
173
- const scriptPart = parts.slice(scriptIndex).join(' ');
174
- // Check if script starts with any safe script name or linting tool
175
- return (SAFE_SCRIPTS.some((safe) => scriptPart.startsWith(safe)) ||
176
- LINTING_TOOLS.some((tool) => scriptPart.startsWith(tool)));
177
- }
178
- /**
179
- * Permission hook that allows only safe commands.
180
- * - Package manager install commands
181
- * - Build/typecheck/lint commands for verification
182
- * - Piping to tail/head for output limiting is allowed
183
- * - Stderr redirection (2>&1) is allowed
184
- */
185
- export function installerCanUseTool(toolName, input) {
186
- // Allow all non-Bash tools
187
- if (toolName !== 'Bash') {
188
- return { behavior: 'allow', updatedInput: input };
189
- }
190
- const command = (typeof input.command === 'string' ? input.command : '').trim();
191
- // Block definitely dangerous operators: ; ` $ ( )
192
- if (DANGEROUS_OPERATORS.test(command)) {
193
- logWarn(`Denying bash command with dangerous operators: ${command}`);
194
- debug(`Denying bash command with dangerous operators: ${command}`);
195
- analytics.capture(INSTALLER_INTERACTION_EVENT_NAME, {
196
- action: 'bash command denied',
197
- reason: 'dangerous operators',
198
- command,
199
- });
200
- return {
201
- behavior: 'deny',
202
- message: `Bash command not allowed. Shell operators like ; \` $ ( ) are not permitted.`,
203
- };
204
- }
205
- // Normalize: remove safe stderr redirection (2>&1, 2>&2, etc.)
206
- const normalized = command.replace(/\s*\d*>&\d+\s*/g, ' ').trim();
207
- // Check for pipe to tail/head (safe output limiting)
208
- const pipeMatch = normalized.match(/^(.+?)\s*\|\s*(tail|head)(\s+\S+)*\s*$/);
209
- if (pipeMatch) {
210
- const baseCommand = pipeMatch[1].trim();
211
- // Block if base command has pipes or & (multiple chaining)
212
- if (/[|&]/.test(baseCommand)) {
213
- logWarn(`Denying bash command with multiple pipes: ${command}`);
214
- debug(`Denying bash command with multiple pipes: ${command}`);
215
- analytics.capture(INSTALLER_INTERACTION_EVENT_NAME, {
216
- action: 'bash command denied',
217
- reason: 'multiple pipes',
218
- command,
219
- });
220
- return {
221
- behavior: 'deny',
222
- message: `Bash command not allowed. Only single pipe to tail/head is permitted.`,
223
- };
224
- }
225
- if (matchesAllowedPrefix(baseCommand)) {
226
- logInfo(`Allowing bash command with output limiter: ${command}`);
227
- debug(`Allowing bash command with output limiter: ${command}`);
228
- return { behavior: 'allow', updatedInput: input };
229
- }
230
- }
231
- // Block remaining pipes and & (not covered by tail/head case above)
232
- if (/[|&]/.test(normalized)) {
233
- logWarn(`Denying bash command with pipe/&: ${command}`);
234
- debug(`Denying bash command with pipe/&: ${command}`);
235
- analytics.capture(INSTALLER_INTERACTION_EVENT_NAME, {
236
- action: 'bash command denied',
237
- reason: 'disallowed pipe',
238
- command,
239
- });
240
- return {
241
- behavior: 'deny',
242
- message: `Bash command not allowed. Pipes are only permitted with tail/head for output limiting.`,
243
- };
244
- }
245
- // Check if command starts with any allowed prefix
246
- if (matchesAllowedPrefix(normalized)) {
247
- logInfo(`Allowing bash command: ${command}`);
248
- debug(`Allowing bash command: ${command}`);
249
- return { behavior: 'allow', updatedInput: input };
250
- }
251
- logWarn(`Denying bash command: ${command}`);
252
- debug(`Denying bash command: ${command}`);
253
- analytics.capture(INSTALLER_INTERACTION_EVENT_NAME, {
254
- action: 'bash command denied',
255
- reason: 'not in allowlist',
256
- command,
257
- });
258
- return {
259
- behavior: 'deny',
260
- message: `Bash command not allowed. Only install, build, typecheck, lint, and formatting commands are permitted.`,
261
- };
262
- }
263
- /**
264
- * Initialize agent configuration for the LLM gateway
265
- */
266
- export async function initializeAgent(config, options) {
267
- // Initialize log file for this run
268
- initLogFile();
269
- logInfo('Agent initialization starting');
270
- logInfo('Install directory:', options.installDir);
271
- // Emit status event for adapters to render
272
- options.emitter?.emit('status', { message: 'Initializing Claude agent...' });
273
- try {
274
- let authMode;
275
- // Build SDK env without mutating process.env
276
- const sdkEnv = {
277
- ...process.env,
278
- // Disable experimental betas (like input_examples) that the LLM gateway doesn't support
279
- CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: 'true',
280
- // Disable SDK telemetry - our gateway doesn't proxy /api/event_logging/batch
281
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 'true',
282
- };
283
- // Placeholder bearer token for the Claude Agent SDK. The SDK's CLI
284
- // subprocess runs a local auth-source check at startup and exits with
285
- // "Not logged in · Please run /login" if no credentials are present in
286
- // its environment — even when a proxy is handling auth upstream. Setting
287
- // this token puts the SDK in custom-backend mode so it skips that check;
288
- // the credential proxy rewrites the Authorization header with the real
289
- // WorkOS token before forwarding upstream.
290
- const PROXY_PLACEHOLDER_TOKEN = 'workos-cli-proxy-placeholder';
291
- if (options.direct) {
292
- // Direct mode: use user's Anthropic API key, skip gateway
293
- if (!process.env.ANTHROPIC_API_KEY) {
294
- throw new Error('Direct mode requires ANTHROPIC_API_KEY environment variable.\n' +
295
- 'Set it with: export ANTHROPIC_API_KEY=sk-ant-...\n' +
296
- 'Get your key at: https://console.anthropic.com/settings/keys');
297
- }
298
- // SDK defaults to api.anthropic.com when no base URL set
299
- delete sdkEnv.ANTHROPIC_BASE_URL;
300
- delete sdkEnv.ANTHROPIC_AUTH_TOKEN;
301
- authMode = 'direct:api.anthropic.com';
302
- logInfo('Direct mode: using ANTHROPIC_API_KEY, bypassing llm-gateway');
303
- // Set analytics tag for direct mode
304
- analytics.setTag('api_mode', 'direct');
305
- }
306
- else {
307
- // Gateway mode (existing behavior)
308
- const gatewayUrl = getLlmGatewayUrl();
309
- // Check for unclaimed environment — use claim token auth
310
- const activeEnv = getActiveEnvironment();
311
- if (activeEnv && isUnclaimedEnvironment(activeEnv)) {
312
- activeProxyHandle = await startClaimTokenProxy({
313
- upstreamUrl: gatewayUrl,
314
- claimToken: activeEnv.claimToken,
315
- clientId: activeEnv.clientId,
316
- });
317
- sdkEnv.ANTHROPIC_BASE_URL = activeProxyHandle.url;
318
- // Prevent the user's personal Anthropic key (if any) from being sent
319
- // to the WorkOS gateway; auth is injected by the claim-token proxy.
320
- delete sdkEnv.ANTHROPIC_API_KEY;
321
- sdkEnv.ANTHROPIC_AUTH_TOKEN = PROXY_PLACEHOLDER_TOKEN;
322
- authMode = `claim-token-proxy:${activeProxyHandle.url}→${gatewayUrl}`;
323
- logInfo(`[agent-interface] Using claim token proxy for unclaimed environment`);
324
- }
325
- else if (!options.skipAuth && !options.local) {
326
- // Check/refresh authentication for production (unless skipping auth)
327
- if (!hasCredentials()) {
328
- throw new Error(`Not authenticated. Run \`${formatWorkOSCommand('auth login')}\` to authenticate.`);
329
- }
330
- const creds = getCredentials();
331
- if (!creds) {
332
- throw new Error(`Not authenticated. Run \`${formatWorkOSCommand('auth login')}\` to authenticate.`);
333
- }
334
- // Check if we have refresh token capability and proxy is not disabled
335
- if (creds.refreshToken && process.env.WORKOS_DISABLE_PROXY !== '1') {
336
- // Start credential proxy with lazy refresh
337
- logInfo('[agent-interface] Starting credential proxy with lazy refresh...');
338
- const appConfig = getConfig();
339
- activeProxyHandle = await startCredentialProxy({
340
- upstreamUrl: gatewayUrl,
341
- refresh: {
342
- authkitDomain: getAuthkitDomain(),
343
- clientId: getCliAuthClientId(),
344
- refreshThresholdMs: appConfig.proxy.refreshThresholdMs,
345
- onRefreshSuccess: () => {
346
- options.emitter?.emit('status', { message: 'Session extended' });
347
- },
348
- onRefreshExpired: () => {
349
- logError('[agent-interface] Session expired, refresh token invalid');
350
- options.emitter?.emit('error', {
351
- message: `Session expired. Run \`${formatWorkOSCommand('auth login')}\` to re-authenticate.`,
352
- });
353
- },
354
- },
355
- });
356
- // Point SDK at proxy instead of direct gateway
357
- sdkEnv.ANTHROPIC_BASE_URL = activeProxyHandle.url;
358
- logInfo(`[agent-interface] Using credential proxy at ${activeProxyHandle.url}`);
359
- // Prevent the user's personal Anthropic key (if any) from being
360
- // sent to the WorkOS gateway; the credential proxy rewrites the
361
- // Authorization header with the real WorkOS token.
362
- delete sdkEnv.ANTHROPIC_API_KEY;
363
- sdkEnv.ANTHROPIC_AUTH_TOKEN = PROXY_PLACEHOLDER_TOKEN;
364
- authMode = `proxy:${activeProxyHandle.url}→${gatewayUrl}`;
365
- }
366
- else {
367
- // No refresh token OR proxy disabled - fall back to old behavior (5 min limit)
368
- if (!creds.refreshToken) {
369
- logWarn('[agent-interface] No refresh token available, session limited to 5 minutes');
370
- logWarn(`[agent-interface] Run \`${formatWorkOSCommand('auth login')}\` to enable extended sessions`);
371
- options.emitter?.emit('status', {
372
- message: `Note: Run \`${formatWorkOSCommand('auth login')}\` to enable extended sessions`,
373
- });
374
- }
375
- else {
376
- logWarn('[agent-interface] Proxy disabled via WORKOS_DISABLE_PROXY');
377
- }
378
- const refreshResult = await ensureValidToken();
379
- if (!refreshResult.success) {
380
- throw new Error(refreshResult.error || 'Authentication failed');
381
- }
382
- sdkEnv.ANTHROPIC_BASE_URL = gatewayUrl;
383
- // Prevent the user's personal Anthropic key (if any) from being
384
- // forwarded to the WorkOS gateway as an x-api-key header alongside
385
- // the WorkOS access token we set below.
386
- delete sdkEnv.ANTHROPIC_API_KEY;
387
- sdkEnv.ANTHROPIC_AUTH_TOKEN = creds.accessToken;
388
- authMode = options.local ? `local-gateway:${gatewayUrl}` : `workos-gateway:${gatewayUrl}`;
389
- logInfo('Sending access token to gateway (legacy mode)');
390
- }
391
- }
392
- else if (options.skipAuth) {
393
- // Skip auth mode - direct to gateway without a real token. The SDK's
394
- // local auth-source check would otherwise fail with "Not logged in",
395
- // so seed a placeholder bearer; the gateway is expected to accept
396
- // unauthenticated requests here and ignore the placeholder value.
397
- sdkEnv.ANTHROPIC_BASE_URL = gatewayUrl;
398
- delete sdkEnv.ANTHROPIC_API_KEY;
399
- sdkEnv.ANTHROPIC_AUTH_TOKEN = PROXY_PLACEHOLDER_TOKEN;
400
- authMode = `skip-auth:${gatewayUrl}`;
401
- logInfo('Skipping auth - placeholder bearer sent to gateway');
402
- }
403
- else {
404
- // Local mode without auth - same rationale as skip-auth above.
405
- sdkEnv.ANTHROPIC_BASE_URL = gatewayUrl;
406
- delete sdkEnv.ANTHROPIC_API_KEY;
407
- sdkEnv.ANTHROPIC_AUTH_TOKEN = PROXY_PLACEHOLDER_TOKEN;
408
- authMode = `local-gateway:${gatewayUrl}`;
409
- logInfo('Local mode - placeholder bearer sent to gateway');
410
- }
411
- logInfo('Configured LLM gateway:', sdkEnv.ANTHROPIC_BASE_URL);
412
- // Set analytics tag for gateway mode
413
- analytics.setTag('api_mode', activeProxyHandle ? 'gateway-proxy' : 'gateway');
414
- }
415
- // Configure WorkOS MCP docs server for accessing WorkOS documentation
416
- const agentRunConfig = {
417
- workingDirectory: config.workingDirectory,
418
- mcpServers: {
419
- workos: {
420
- command: 'npx',
421
- args: ['-y', '@workos/mcp-docs-server'],
422
- },
423
- },
424
- model: getConfig().model,
425
- allowedTools: ['Read', 'Write', 'Edit', 'Bash', 'Glob', 'Grep', 'WebFetch'],
426
- sdkEnv,
427
- };
428
- const configInfo = { workingDirectory: agentRunConfig.workingDirectory, authMode, useMcp: false };
429
- logInfo('Agent config:', configInfo);
430
- debug('Agent config:', configInfo);
431
- // Emit status events for adapters to render
432
- const currentLogPath = getLogFilePath();
433
- if (currentLogPath) {
434
- options.emitter?.emit('status', { message: `Verbose logs: ${currentLogPath}` });
435
- }
436
- options.emitter?.emit('status', { message: "Agent initialized. Let's get cooking!" });
437
- return agentRunConfig;
438
- }
439
- catch (error) {
440
- // Clean up proxy if initialization fails
441
- if (activeProxyHandle) {
442
- logInfo('[agent-interface] Cleaning up proxy after init error');
443
- await activeProxyHandle.stop();
444
- activeProxyHandle = null;
445
- }
446
- logError('Agent initialization error:', error);
447
- throw error;
448
- }
449
- }
450
- /**
451
- * Execute an agent with the provided prompt and options
452
- * Handles the full lifecycle via event emissions - adapters handle UI rendering.
453
- *
454
- * @returns An object containing any error detected in the agent's output
455
- */
456
- export async function runAgent(agentConfig, prompt, options, config, emitter, retryConfig, onMessage) {
457
- const { spinnerMessage = 'Setting up WorkOS AuthKit...' } = config ?? {};
458
- const { query } = await getSDKModule();
459
- // Emit progress for adapters to handle (e.g., CLI adapter starts spinner)
460
- emitter?.emit('agent:progress', { step: 'Starting', detail: 'This may take a few minutes. Grab some coffee!' });
461
- emitter?.emit('agent:progress', { step: spinnerMessage });
462
- logInfo('Starting agent run');
463
- logInfo('Prompt:', prompt);
464
- const startTime = Date.now();
465
- const collectedText = [];
466
- try {
467
- let retryCount = 0;
468
- const maxRetries = retryConfig?.maxRetries ?? 0;
469
- // Turn completion signals — resolveCurrentTurn is called when a 'result'
470
- // message arrives; the prompt generator awaits currentTurnDone between turns.
471
- let resolveCurrentTurn;
472
- let currentTurnDone;
473
- // Set by the message loop when a fatal SDK error is detected (e.g. service
474
- // unavailability). The prompt stream checks this before yielding retry
475
- // prompts so we fail fast instead of burning minutes on hopeless retries.
476
- let abortRetries = false;
477
- function resetTurnSignal() {
478
- currentTurnDone = new Promise((resolve) => {
479
- resolveCurrentTurn = resolve;
480
- });
481
- }
482
- resetTurnSignal();
483
- const createPromptStream = async function* () {
484
- yield {
485
- type: 'user',
486
- session_id: '',
487
- message: { role: 'user', content: prompt },
488
- parent_tool_use_id: null,
489
- };
490
- if (retryConfig && maxRetries > 0) {
491
- while (retryCount < maxRetries) {
492
- await currentTurnDone;
493
- // Don't send correction prompts when the service itself is down
494
- if (abortRetries) {
495
- logInfo('Skipping validation retries due to service error');
496
- break;
497
- }
498
- emitter?.emit('validation:retry:start', { attempt: retryCount + 1 });
499
- let validationPrompt;
500
- try {
501
- validationPrompt = await retryConfig.validateAndFormat(agentConfig.workingDirectory);
502
- }
503
- catch (err) {
504
- // Don't block on validation bugs — treat as passed
505
- logError('validateAndFormat threw:', err);
506
- validationPrompt = null;
507
- }
508
- emitter?.emit('validation:retry:complete', {
509
- attempt: retryCount + 1,
510
- passed: validationPrompt === null,
511
- });
512
- if (validationPrompt === null)
513
- break;
514
- retryCount++;
515
- emitter?.emit('agent:retry', { attempt: retryCount, maxRetries });
516
- resetTurnSignal();
517
- yield {
518
- type: 'user',
519
- session_id: '',
520
- message: { role: 'user', content: validationPrompt },
521
- parent_tool_use_id: null,
522
- };
523
- }
524
- }
525
- await currentTurnDone;
526
- };
527
- // Load plugin from @workos/skills package
528
- const pluginPath = dirname(getSkillsPackageDir());
529
- logInfo('Loading plugin from:', pluginPath);
530
- const response = query({
531
- prompt: createPromptStream(),
532
- options: {
533
- model: agentConfig.model,
534
- cwd: agentConfig.workingDirectory,
535
- permissionMode: 'acceptEdits',
536
- mcpServers: agentConfig.mcpServers,
537
- env: agentConfig.sdkEnv,
538
- canUseTool: (toolName, input) => {
539
- logInfo('canUseTool called:', { toolName, input });
540
- const result = installerCanUseTool(toolName, input);
541
- logInfo('canUseTool result:', result);
542
- return Promise.resolve(result);
543
- },
544
- tools: { type: 'preset', preset: 'claude_code' },
545
- allowedTools: agentConfig.allowedTools,
546
- plugins: [{ type: 'local', path: pluginPath }],
547
- // Capture stderr from CLI subprocess for debugging
548
- stderr: (data) => {
549
- logInfo('CLI stderr:', data);
550
- if (options.debug) {
551
- debug('CLI stderr:', data);
552
- }
553
- },
554
- },
555
- });
556
- // Process the async generator
557
- let sdkError;
558
- for await (const message of response) {
559
- const messageError = handleSDKMessage(message, options, collectedText, emitter);
560
- if (messageError) {
561
- sdkError = messageError;
562
- // Signal the prompt stream to stop yielding retry prompts
563
- abortRetries = true;
564
- }
565
- if (message.type === 'result') {
566
- resolveCurrentTurn();
567
- }
568
- try {
569
- onMessage?.(message);
570
- }
571
- catch {
572
- /* non-critical */
573
- }
574
- }
575
- const durationMs = Date.now() - startTime;
576
- const outputText = collectedText.join('\n');
577
- // Check for SDK errors first (e.g., API errors, auth failures)
578
- // Return error type + message - caller decides whether to throw or emit events
579
- if (sdkError) {
580
- if (sdkError.startsWith(SERVICE_UNAVAILABLE_PREFIX)) {
581
- const detail = sdkError.slice(SERVICE_UNAVAILABLE_PREFIX.length);
582
- logError('AI service unavailable:', detail);
583
- return {
584
- error: AgentErrorType.SERVICE_UNAVAILABLE,
585
- errorMessage: 'The AI service is temporarily unavailable. Please try again in a few minutes.',
586
- };
587
- }
588
- if (sdkError.startsWith(RATE_LIMITED_PREFIX)) {
589
- const detail = sdkError.slice(RATE_LIMITED_PREFIX.length);
590
- logError('AI service rate-limited:', detail);
591
- return {
592
- error: AgentErrorType.SERVICE_UNAVAILABLE,
593
- errorMessage: 'The AI service is currently rate-limited. Please wait a minute and try again.',
594
- };
595
- }
596
- logError('Agent SDK error:', sdkError);
597
- return { error: AgentErrorType.EXECUTION_ERROR, errorMessage: sdkError };
598
- }
599
- // Check for error markers in the agent's output
600
- if (outputText.includes(AgentSignals.ERROR_MCP_MISSING)) {
601
- logError('Agent error: MCP_MISSING');
602
- return { error: AgentErrorType.MCP_MISSING, errorMessage: 'Could not access WorkOS MCP server' };
603
- }
604
- if (outputText.includes(AgentSignals.ERROR_RESOURCE_MISSING)) {
605
- logError('Agent error: RESOURCE_MISSING');
606
- return { error: AgentErrorType.RESOURCE_MISSING, errorMessage: 'Could not access setup resource' };
607
- }
608
- logInfo(`Agent run completed in ${Math.round(durationMs / 1000)}s (${retryCount} retries)`);
609
- analytics.capture(INSTALLER_INTERACTION_EVENT_NAME, {
610
- action: 'agent integration completed',
611
- duration_ms: durationMs,
612
- duration_seconds: Math.round(durationMs / 1000),
613
- retry_count: retryCount,
614
- max_retries: maxRetries,
615
- passed_after_retry: retryCount > 0,
616
- });
617
- // Don't emit agent:success here - let the state machine handle lifecycle events
618
- return { retryCount };
619
- }
620
- catch (error) {
621
- // Don't emit events here - just log and re-throw for state machine to handle
622
- logError('Agent run failed:', error);
623
- debug('Full error:', error);
624
- throw error;
625
- }
626
- finally {
627
- // Always clean up proxy when agent run completes
628
- if (activeProxyHandle) {
629
- logInfo('[agent-interface] Stopping credential proxy');
630
- analytics.capture('installer.proxy', {
631
- action: 'stop',
632
- port: activeProxyHandle.port,
633
- });
634
- await activeProxyHandle.stop();
635
- activeProxyHandle = null;
636
- }
637
- }
638
- }
639
- /**
640
- * Handle SDK messages and emit events for adapters to render.
641
- * @returns Error message if this was an error result, undefined otherwise
642
- */
643
- function handleSDKMessage(message, options, collectedText, emitter) {
644
- logInfo(`SDK Message: ${message.type}`, JSON.stringify(message, null, 2));
645
- switch (message.type) {
646
- case 'assistant': {
647
- // Extract usage data from Anthropic API response for telemetry
648
- const usage = message.message?.usage;
649
- if (usage) {
650
- const inputTokens = usage.input_tokens ?? 0;
651
- const outputTokens = usage.output_tokens ?? 0;
652
- const model = message.message?.model ?? 'unknown';
653
- analytics.llmRequest(model, inputTokens, outputTokens);
654
- analytics.incrementAgentIterations();
655
- }
656
- // Extract text content from assistant messages
657
- const content = message.message?.content;
658
- if (Array.isArray(content)) {
659
- for (const block of content) {
660
- if (block.type === 'text' && typeof block.text === 'string') {
661
- collectedText.push(block.text);
662
- // Emit output event for dashboard
663
- emitter?.emit('output', { text: block.text });
664
- // Check for [STATUS] markers and emit progress events
665
- const statusRegex = new RegExp(`^.*${AgentSignals.STATUS.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\s*(.+?)$`, 'm');
666
- const statusMatch = block.text.match(statusRegex);
667
- if (statusMatch) {
668
- const statusText = statusMatch[1].trim();
669
- // Emit progress event - adapters handle spinner updates
670
- emitter?.emit('agent:progress', { step: statusText });
671
- emitter?.emit('status', { message: statusText });
672
- }
673
- }
674
- // Check for tool_use blocks (Write/Edit operations)
675
- if (block.type === 'tool_use') {
676
- const toolName = block.name;
677
- const toolUseId = block.id;
678
- const input = block.input;
679
- // Log tool usage for debugging
680
- logInfo(`Tool use: ${toolName}`);
681
- // Track tool start time for telemetry
682
- if (toolUseId) {
683
- pendingToolCalls.set(toolUseId, { toolName, startTime: Date.now() });
684
- }
685
- // Emit file:write event for Write tool
686
- if (toolName === 'Write' && input) {
687
- const filePath = input.file_path;
688
- const fileContent = input.content;
689
- if (filePath && fileContent) {
690
- emitter?.emit('file:write', { path: filePath, content: fileContent });
691
- }
692
- }
693
- // Emit file:edit event for Edit tool
694
- if (toolName === 'Edit' && input) {
695
- const filePath = input.file_path;
696
- const oldString = input.old_string;
697
- const newString = input.new_string;
698
- if (filePath && oldString !== undefined && newString !== undefined) {
699
- // Emit the actual strings being replaced, not reconstructed full file
700
- emitter?.emit('file:edit', {
701
- path: filePath,
702
- oldContent: oldString,
703
- newContent: newString,
704
- });
705
- }
706
- }
707
- // Track Read operations for caching file content later
708
- if (toolName === 'Read' && input && block.id) {
709
- const filePath = input.file_path;
710
- if (filePath) {
711
- pendingReads.set(block.id, filePath);
712
- }
713
- }
714
- }
715
- }
716
- }
717
- break;
718
- }
719
- case 'user': {
720
- // User messages contain tool results
721
- const content = message.message?.content;
722
- if (Array.isArray(content)) {
723
- for (const block of content) {
724
- // Tool results contain file content from Read operations
725
- if (block.type === 'tool_result' && block.tool_use_id) {
726
- const toolUseId = block.tool_use_id;
727
- // Emit telemetry for completed tool call
728
- const pendingTool = pendingToolCalls.get(toolUseId);
729
- if (pendingTool) {
730
- const durationMs = Date.now() - pendingTool.startTime;
731
- // Check if tool result indicates error (is_error field or error in content)
732
- const isError = block.is_error === true;
733
- analytics.toolCalled(pendingTool.toolName, durationMs, !isError);
734
- pendingToolCalls.delete(toolUseId);
735
- }
736
- const filePath = pendingReads.get(toolUseId);
737
- if (filePath) {
738
- // Extract content from the tool result
739
- let resultContent = '';
740
- if (typeof block.content === 'string') {
741
- resultContent = block.content;
742
- }
743
- else if (Array.isArray(block.content)) {
744
- // Content might be array of text blocks
745
- for (const item of block.content) {
746
- if (item.type === 'text' && item.text) {
747
- resultContent += item.text;
748
- }
749
- }
750
- }
751
- if (resultContent) {
752
- fileContentCache.set(filePath, resultContent);
753
- }
754
- pendingReads.delete(toolUseId);
755
- }
756
- }
757
- }
758
- }
759
- break;
760
- }
761
- case 'result': {
762
- // The SDK may return subtype 'success' with is_error: true when API
763
- // retries are exhausted (e.g., persistent 500s). Check is_error first.
764
- const isResultError = message.is_error === true;
765
- if (isResultError) {
766
- const resultText = typeof message.result === 'string' ? message.result : '';
767
- logError('Agent result marked as error:', resultText);
768
- // Detect rate limiting (429) — check before 5xx so it gets distinct messaging
769
- if (/\b429\b/.test(resultText) || /rate.limit/i.test(resultText)) {
770
- return `${RATE_LIMITED_PREFIX}${resultText}`;
771
- }
772
- // Detect service unavailability (API 500, upstream outage)
773
- if (/\b50[0-9]\b/.test(resultText) || /server_error|internal_error|overloaded/.test(resultText)) {
774
- return `${SERVICE_UNAVAILABLE_PREFIX}${resultText}`;
775
- }
776
- return resultText || 'Agent execution failed';
777
- }
778
- if (message.subtype === 'success') {
779
- logInfo('Agent completed successfully');
780
- if (typeof message.result === 'string') {
781
- collectedText.push(message.result);
782
- }
783
- }
784
- else {
785
- // Error result
786
- logError('Agent error result:', message.subtype);
787
- if (message.errors && message.errors.length > 0) {
788
- for (const err of message.errors) {
789
- logError('ERROR:', err);
790
- // Emit error event - adapters handle rendering
791
- emitter?.emit('error', { message: err });
792
- }
793
- // Return the first error message
794
- return message.errors[0];
795
- }
796
- // Return generic error if subtype indicates failure but no errors array
797
- return `Agent execution failed: ${message.subtype}`;
798
- }
799
- break;
800
- }
801
- case 'system': {
802
- if (message.subtype === 'init') {
803
- logInfo('Agent session initialized', {
804
- model: message.model,
805
- tools: message.tools?.length,
806
- mcpServers: message.mcp_servers,
807
- });
808
- }
809
- break;
810
- }
811
- default:
812
- // Log other message types for debugging
813
- if (options.debug) {
814
- debug(`Unhandled message type: ${message.type}`);
815
- }
816
- break;
817
- }
818
- return undefined;
819
- }
820
- /**
821
- * Get the active proxy handle (for testing/debugging).
822
- */
823
- export function getActiveProxyHandle() {
824
- return activeProxyHandle;
825
- }
826
- //# sourceMappingURL=agent-interface.js.map