@sylphx/contract 0.2.0

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 (571) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/LICENSE +21 -0
  3. package/README.md +164 -0
  4. package/dist/endpoint.d.ts +65 -0
  5. package/dist/endpoint.d.ts.map +1 -0
  6. package/dist/endpoint.js +22 -0
  7. package/dist/endpoints/admin-ai-playground.d.ts +93 -0
  8. package/dist/endpoints/admin-ai-playground.d.ts.map +1 -0
  9. package/dist/endpoints/admin-ai-playground.js +37 -0
  10. package/dist/endpoints/admin-anomalies.d.ts +108 -0
  11. package/dist/endpoints/admin-anomalies.d.ts.map +1 -0
  12. package/dist/endpoints/admin-anomalies.js +72 -0
  13. package/dist/endpoints/admin-apm.d.ts +102 -0
  14. package/dist/endpoints/admin-apm.d.ts.map +1 -0
  15. package/dist/endpoints/admin-apm.js +70 -0
  16. package/dist/endpoints/admin-audit.d.ts +714 -0
  17. package/dist/endpoints/admin-audit.d.ts.map +1 -0
  18. package/dist/endpoints/admin-audit.js +494 -0
  19. package/dist/endpoints/admin-billing.d.ts +82 -0
  20. package/dist/endpoints/admin-billing.d.ts.map +1 -0
  21. package/dist/endpoints/admin-billing.js +190 -0
  22. package/dist/endpoints/admin-bootstrap.d.ts +16 -0
  23. package/dist/endpoints/admin-bootstrap.d.ts.map +1 -0
  24. package/dist/endpoints/admin-bootstrap.js +28 -0
  25. package/dist/endpoints/admin-broadcasts.d.ts +105 -0
  26. package/dist/endpoints/admin-broadcasts.d.ts.map +1 -0
  27. package/dist/endpoints/admin-broadcasts.js +60 -0
  28. package/dist/endpoints/admin-builds.d.ts +33 -0
  29. package/dist/endpoints/admin-builds.d.ts.map +1 -0
  30. package/dist/endpoints/admin-builds.js +36 -0
  31. package/dist/endpoints/admin-config.d.ts +180 -0
  32. package/dist/endpoints/admin-config.d.ts.map +1 -0
  33. package/dist/endpoints/admin-config.js +108 -0
  34. package/dist/endpoints/admin-consent.d.ts +123 -0
  35. package/dist/endpoints/admin-consent.d.ts.map +1 -0
  36. package/dist/endpoints/admin-consent.js +126 -0
  37. package/dist/endpoints/admin-env-services.d.ts +28 -0
  38. package/dist/endpoints/admin-env-services.d.ts.map +1 -0
  39. package/dist/endpoints/admin-env-services.js +35 -0
  40. package/dist/endpoints/admin-impersonation.d.ts +105 -0
  41. package/dist/endpoints/admin-impersonation.d.ts.map +1 -0
  42. package/dist/endpoints/admin-impersonation.js +88 -0
  43. package/dist/endpoints/admin-invitations.d.ts +73 -0
  44. package/dist/endpoints/admin-invitations.d.ts.map +1 -0
  45. package/dist/endpoints/admin-invitations.js +55 -0
  46. package/dist/endpoints/admin-jwt-keys.d.ts +75 -0
  47. package/dist/endpoints/admin-jwt-keys.d.ts.map +1 -0
  48. package/dist/endpoints/admin-jwt-keys.js +63 -0
  49. package/dist/endpoints/admin-logs.d.ts +109 -0
  50. package/dist/endpoints/admin-logs.d.ts.map +1 -0
  51. package/dist/endpoints/admin-logs.js +78 -0
  52. package/dist/endpoints/admin-plans.d.ts +63 -0
  53. package/dist/endpoints/admin-plans.d.ts.map +1 -0
  54. package/dist/endpoints/admin-plans.js +47 -0
  55. package/dist/endpoints/admin-project-users.d.ts +148 -0
  56. package/dist/endpoints/admin-project-users.d.ts.map +1 -0
  57. package/dist/endpoints/admin-project-users.js +89 -0
  58. package/dist/endpoints/admin-projects.d.ts +124 -0
  59. package/dist/endpoints/admin-projects.d.ts.map +1 -0
  60. package/dist/endpoints/admin-projects.js +74 -0
  61. package/dist/endpoints/admin-quotas.d.ts +98 -0
  62. package/dist/endpoints/admin-quotas.d.ts.map +1 -0
  63. package/dist/endpoints/admin-quotas.js +67 -0
  64. package/dist/endpoints/admin-rate-limits.d.ts +50 -0
  65. package/dist/endpoints/admin-rate-limits.d.ts.map +1 -0
  66. package/dist/endpoints/admin-rate-limits.js +53 -0
  67. package/dist/endpoints/admin-reconcile.d.ts +28 -0
  68. package/dist/endpoints/admin-reconcile.d.ts.map +1 -0
  69. package/dist/endpoints/admin-reconcile.js +33 -0
  70. package/dist/endpoints/admin-resources.d.ts +51 -0
  71. package/dist/endpoints/admin-resources.d.ts.map +1 -0
  72. package/dist/endpoints/admin-resources.js +53 -0
  73. package/dist/endpoints/admin-secrets.d.ts +41 -0
  74. package/dist/endpoints/admin-secrets.d.ts.map +1 -0
  75. package/dist/endpoints/admin-secrets.js +33 -0
  76. package/dist/endpoints/admin-services.d.ts +29 -0
  77. package/dist/endpoints/admin-services.d.ts.map +1 -0
  78. package/dist/endpoints/admin-services.js +35 -0
  79. package/dist/endpoints/admin-tasks.d.ts +186 -0
  80. package/dist/endpoints/admin-tasks.d.ts.map +1 -0
  81. package/dist/endpoints/admin-tasks.js +67 -0
  82. package/dist/endpoints/admin-tenants.d.ts +26 -0
  83. package/dist/endpoints/admin-tenants.d.ts.map +1 -0
  84. package/dist/endpoints/admin-tenants.js +30 -0
  85. package/dist/endpoints/admin-traces.d.ts +124 -0
  86. package/dist/endpoints/admin-traces.d.ts.map +1 -0
  87. package/dist/endpoints/admin-traces.js +59 -0
  88. package/dist/endpoints/admin-users.d.ts +106 -0
  89. package/dist/endpoints/admin-users.d.ts.map +1 -0
  90. package/dist/endpoints/admin-users.js +83 -0
  91. package/dist/endpoints/admin-webhook-signature-versions.d.ts +59 -0
  92. package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -0
  93. package/dist/endpoints/admin-webhook-signature-versions.js +57 -0
  94. package/dist/endpoints/ai-admin.d.ts +30 -0
  95. package/dist/endpoints/ai-admin.d.ts.map +1 -0
  96. package/dist/endpoints/ai-admin.js +59 -0
  97. package/dist/endpoints/analytics-admin.d.ts +279 -0
  98. package/dist/endpoints/analytics-admin.d.ts.map +1 -0
  99. package/dist/endpoints/analytics-admin.js +308 -0
  100. package/dist/endpoints/analytics.d.ts +58 -0
  101. package/dist/endpoints/analytics.d.ts.map +1 -0
  102. package/dist/endpoints/analytics.js +43 -0
  103. package/dist/endpoints/audit-chain.d.ts +49 -0
  104. package/dist/endpoints/audit-chain.d.ts.map +1 -0
  105. package/dist/endpoints/audit-chain.js +29 -0
  106. package/dist/endpoints/audit.d.ts +50 -0
  107. package/dist/endpoints/audit.d.ts.map +1 -0
  108. package/dist/endpoints/audit.js +30 -0
  109. package/dist/endpoints/auth-admin.d.ts +65 -0
  110. package/dist/endpoints/auth-admin.d.ts.map +1 -0
  111. package/dist/endpoints/auth-admin.js +55 -0
  112. package/dist/endpoints/auth.d.ts +157 -0
  113. package/dist/endpoints/auth.d.ts.map +1 -0
  114. package/dist/endpoints/auth.js +214 -0
  115. package/dist/endpoints/backups.d.ts +51 -0
  116. package/dist/endpoints/backups.d.ts.map +1 -0
  117. package/dist/endpoints/backups.js +47 -0
  118. package/dist/endpoints/billing-console.d.ts +294 -0
  119. package/dist/endpoints/billing-console.d.ts.map +1 -0
  120. package/dist/endpoints/billing-console.js +167 -0
  121. package/dist/endpoints/billing-settings.d.ts +107 -0
  122. package/dist/endpoints/billing-settings.d.ts.map +1 -0
  123. package/dist/endpoints/billing-settings.js +117 -0
  124. package/dist/endpoints/branch-databases.d.ts +75 -0
  125. package/dist/endpoints/branch-databases.d.ts.map +1 -0
  126. package/dist/endpoints/branch-databases.js +61 -0
  127. package/dist/endpoints/challenge.d.ts +62 -0
  128. package/dist/endpoints/challenge.d.ts.map +1 -0
  129. package/dist/endpoints/challenge.js +52 -0
  130. package/dist/endpoints/ci-settings.d.ts +89 -0
  131. package/dist/endpoints/ci-settings.d.ts.map +1 -0
  132. package/dist/endpoints/ci-settings.js +78 -0
  133. package/dist/endpoints/consent-admin.d.ts +134 -0
  134. package/dist/endpoints/consent-admin.d.ts.map +1 -0
  135. package/dist/endpoints/consent-admin.js +83 -0
  136. package/dist/endpoints/databases.d.ts +251 -0
  137. package/dist/endpoints/databases.d.ts.map +1 -0
  138. package/dist/endpoints/databases.js +150 -0
  139. package/dist/endpoints/deployments.d.ts +280 -0
  140. package/dist/endpoints/deployments.d.ts.map +1 -0
  141. package/dist/endpoints/deployments.js +205 -0
  142. package/dist/endpoints/domains.d.ts +356 -0
  143. package/dist/endpoints/domains.d.ts.map +1 -0
  144. package/dist/endpoints/domains.js +149 -0
  145. package/dist/endpoints/edge-deployments.d.ts +92 -0
  146. package/dist/endpoints/edge-deployments.d.ts.map +1 -0
  147. package/dist/endpoints/edge-deployments.js +58 -0
  148. package/dist/endpoints/email-admin.d.ts +415 -0
  149. package/dist/endpoints/email-admin.d.ts.map +1 -0
  150. package/dist/endpoints/email-admin.js +253 -0
  151. package/dist/endpoints/email.d.ts +37 -0
  152. package/dist/endpoints/email.d.ts.map +1 -0
  153. package/dist/endpoints/email.js +42 -0
  154. package/dist/endpoints/engagement-admin.d.ts +98 -0
  155. package/dist/endpoints/engagement-admin.d.ts.map +1 -0
  156. package/dist/endpoints/engagement-admin.js +64 -0
  157. package/dist/endpoints/env-vars.d.ts +66 -0
  158. package/dist/endpoints/env-vars.d.ts.map +1 -0
  159. package/dist/endpoints/env-vars.js +47 -0
  160. package/dist/endpoints/environments.d.ts +456 -0
  161. package/dist/endpoints/environments.d.ts.map +1 -0
  162. package/dist/endpoints/environments.js +237 -0
  163. package/dist/endpoints/experiments.d.ts +500 -0
  164. package/dist/endpoints/experiments.d.ts.map +1 -0
  165. package/dist/endpoints/experiments.js +93 -0
  166. package/dist/endpoints/flags-admin.d.ts +74 -0
  167. package/dist/endpoints/flags-admin.d.ts.map +1 -0
  168. package/dist/endpoints/flags-admin.js +84 -0
  169. package/dist/endpoints/flags.d.ts +23 -0
  170. package/dist/endpoints/flags.d.ts.map +1 -0
  171. package/dist/endpoints/flags.js +17 -0
  172. package/dist/endpoints/github.d.ts +30 -0
  173. package/dist/endpoints/github.d.ts.map +1 -0
  174. package/dist/endpoints/github.js +37 -0
  175. package/dist/endpoints/image-opt.d.ts +43 -0
  176. package/dist/endpoints/image-opt.d.ts.map +1 -0
  177. package/dist/endpoints/image-opt.js +44 -0
  178. package/dist/endpoints/kv-admin.d.ts +58 -0
  179. package/dist/endpoints/kv-admin.d.ts.map +1 -0
  180. package/dist/endpoints/kv-admin.js +69 -0
  181. package/dist/endpoints/kv.d.ts +63 -0
  182. package/dist/endpoints/kv.d.ts.map +1 -0
  183. package/dist/endpoints/kv.js +82 -0
  184. package/dist/endpoints/monitoring-admin.d.ts +204 -0
  185. package/dist/endpoints/monitoring-admin.d.ts.map +1 -0
  186. package/dist/endpoints/monitoring-admin.js +119 -0
  187. package/dist/endpoints/monitoring.d.ts +63 -0
  188. package/dist/endpoints/monitoring.d.ts.map +1 -0
  189. package/dist/endpoints/monitoring.js +27 -0
  190. package/dist/endpoints/newsletter.d.ts +366 -0
  191. package/dist/endpoints/newsletter.d.ts.map +1 -0
  192. package/dist/endpoints/newsletter.js +232 -0
  193. package/dist/endpoints/notifications-admin.d.ts +268 -0
  194. package/dist/endpoints/notifications-admin.d.ts.map +1 -0
  195. package/dist/endpoints/notifications-admin.js +172 -0
  196. package/dist/endpoints/notifications.d.ts +225 -0
  197. package/dist/endpoints/notifications.d.ts.map +1 -0
  198. package/dist/endpoints/notifications.js +150 -0
  199. package/dist/endpoints/oidc.d.ts +67 -0
  200. package/dist/endpoints/oidc.d.ts.map +1 -0
  201. package/dist/endpoints/oidc.js +49 -0
  202. package/dist/endpoints/organizations.d.ts +702 -0
  203. package/dist/endpoints/organizations.d.ts.map +1 -0
  204. package/dist/endpoints/organizations.js +460 -0
  205. package/dist/endpoints/plans.d.ts +136 -0
  206. package/dist/endpoints/plans.d.ts.map +1 -0
  207. package/dist/endpoints/plans.js +83 -0
  208. package/dist/endpoints/privacy.d.ts +131 -0
  209. package/dist/endpoints/privacy.d.ts.map +1 -0
  210. package/dist/endpoints/privacy.js +98 -0
  211. package/dist/endpoints/project-manifest.d.ts +1044 -0
  212. package/dist/endpoints/project-manifest.d.ts.map +1 -0
  213. package/dist/endpoints/project-manifest.js +59 -0
  214. package/dist/endpoints/projects.d.ts +187 -0
  215. package/dist/endpoints/projects.d.ts.map +1 -0
  216. package/dist/endpoints/projects.js +58 -0
  217. package/dist/endpoints/rate-limits.d.ts +83 -0
  218. package/dist/endpoints/rate-limits.d.ts.map +1 -0
  219. package/dist/endpoints/rate-limits.js +54 -0
  220. package/dist/endpoints/realtime-admin.d.ts +42 -0
  221. package/dist/endpoints/realtime-admin.d.ts.map +1 -0
  222. package/dist/endpoints/realtime-admin.js +50 -0
  223. package/dist/endpoints/realtime.d.ts +35 -0
  224. package/dist/endpoints/realtime.d.ts.map +1 -0
  225. package/dist/endpoints/realtime.js +39 -0
  226. package/dist/endpoints/referrals-admin.d.ts +118 -0
  227. package/dist/endpoints/referrals-admin.d.ts.map +1 -0
  228. package/dist/endpoints/referrals-admin.js +59 -0
  229. package/dist/endpoints/refresh.d.ts +19 -0
  230. package/dist/endpoints/refresh.d.ts.map +1 -0
  231. package/dist/endpoints/refresh.js +25 -0
  232. package/dist/endpoints/regions.d.ts +41 -0
  233. package/dist/endpoints/regions.d.ts.map +1 -0
  234. package/dist/endpoints/regions.js +43 -0
  235. package/dist/endpoints/runners.d.ts +55 -0
  236. package/dist/endpoints/runners.d.ts.map +1 -0
  237. package/dist/endpoints/runners.js +45 -0
  238. package/dist/endpoints/saml.d.ts +147 -0
  239. package/dist/endpoints/saml.d.ts.map +1 -0
  240. package/dist/endpoints/saml.js +106 -0
  241. package/dist/endpoints/search.d.ts +62 -0
  242. package/dist/endpoints/search.d.ts.map +1 -0
  243. package/dist/endpoints/search.js +40 -0
  244. package/dist/endpoints/secrets.d.ts +95 -0
  245. package/dist/endpoints/secrets.d.ts.map +1 -0
  246. package/dist/endpoints/secrets.js +81 -0
  247. package/dist/endpoints/security.d.ts +231 -0
  248. package/dist/endpoints/security.d.ts.map +1 -0
  249. package/dist/endpoints/security.js +291 -0
  250. package/dist/endpoints/service-tokens.d.ts +392 -0
  251. package/dist/endpoints/service-tokens.d.ts.map +1 -0
  252. package/dist/endpoints/service-tokens.js +125 -0
  253. package/dist/endpoints/session-replay.d.ts +142 -0
  254. package/dist/endpoints/session-replay.d.ts.map +1 -0
  255. package/dist/endpoints/session-replay.js +53 -0
  256. package/dist/endpoints/storage-admin.d.ts +96 -0
  257. package/dist/endpoints/storage-admin.d.ts.map +1 -0
  258. package/dist/endpoints/storage-admin.js +113 -0
  259. package/dist/endpoints/storage.d.ts +167 -0
  260. package/dist/endpoints/storage.d.ts.map +1 -0
  261. package/dist/endpoints/storage.js +117 -0
  262. package/dist/endpoints/tasks.d.ts +141 -0
  263. package/dist/endpoints/tasks.d.ts.map +1 -0
  264. package/dist/endpoints/tasks.js +97 -0
  265. package/dist/endpoints/users.d.ts +103 -0
  266. package/dist/endpoints/users.d.ts.map +1 -0
  267. package/dist/endpoints/users.js +98 -0
  268. package/dist/endpoints/webhooks.d.ts +201 -0
  269. package/dist/endpoints/webhooks.d.ts.map +1 -0
  270. package/dist/endpoints/webhooks.js +120 -0
  271. package/dist/errors.d.ts +153 -0
  272. package/dist/errors.d.ts.map +1 -0
  273. package/dist/errors.js +73 -0
  274. package/dist/index.d.ts +12303 -0
  275. package/dist/index.d.ts.map +1 -0
  276. package/dist/index.js +390 -0
  277. package/dist/schemas/_primitives.d.ts +37 -0
  278. package/dist/schemas/_primitives.d.ts.map +1 -0
  279. package/dist/schemas/_primitives.js +38 -0
  280. package/dist/schemas/admin-ai-playground.d.ts +128 -0
  281. package/dist/schemas/admin-ai-playground.d.ts.map +1 -0
  282. package/dist/schemas/admin-ai-playground.js +84 -0
  283. package/dist/schemas/admin-anomalies.d.ts +131 -0
  284. package/dist/schemas/admin-anomalies.d.ts.map +1 -0
  285. package/dist/schemas/admin-anomalies.js +106 -0
  286. package/dist/schemas/admin-apm.d.ts +151 -0
  287. package/dist/schemas/admin-apm.d.ts.map +1 -0
  288. package/dist/schemas/admin-apm.js +96 -0
  289. package/dist/schemas/admin-audit.d.ts +625 -0
  290. package/dist/schemas/admin-audit.d.ts.map +1 -0
  291. package/dist/schemas/admin-audit.js +508 -0
  292. package/dist/schemas/admin-billing.d.ts +73 -0
  293. package/dist/schemas/admin-billing.d.ts.map +1 -0
  294. package/dist/schemas/admin-billing.js +60 -0
  295. package/dist/schemas/admin-bootstrap.d.ts +32 -0
  296. package/dist/schemas/admin-bootstrap.d.ts.map +1 -0
  297. package/dist/schemas/admin-bootstrap.js +37 -0
  298. package/dist/schemas/admin-broadcasts.d.ts +181 -0
  299. package/dist/schemas/admin-broadcasts.d.ts.map +1 -0
  300. package/dist/schemas/admin-broadcasts.js +93 -0
  301. package/dist/schemas/admin-builds.d.ts +108 -0
  302. package/dist/schemas/admin-builds.d.ts.map +1 -0
  303. package/dist/schemas/admin-builds.js +127 -0
  304. package/dist/schemas/admin-config.d.ts +248 -0
  305. package/dist/schemas/admin-config.d.ts.map +1 -0
  306. package/dist/schemas/admin-config.js +145 -0
  307. package/dist/schemas/admin-consent.d.ts +129 -0
  308. package/dist/schemas/admin-consent.d.ts.map +1 -0
  309. package/dist/schemas/admin-consent.js +76 -0
  310. package/dist/schemas/admin-env-services.d.ts +63 -0
  311. package/dist/schemas/admin-env-services.d.ts.map +1 -0
  312. package/dist/schemas/admin-env-services.js +81 -0
  313. package/dist/schemas/admin-impersonation.d.ts +150 -0
  314. package/dist/schemas/admin-impersonation.d.ts.map +1 -0
  315. package/dist/schemas/admin-impersonation.js +114 -0
  316. package/dist/schemas/admin-invitations.d.ts +119 -0
  317. package/dist/schemas/admin-invitations.d.ts.map +1 -0
  318. package/dist/schemas/admin-invitations.js +80 -0
  319. package/dist/schemas/admin-jwt-keys.d.ts +130 -0
  320. package/dist/schemas/admin-jwt-keys.d.ts.map +1 -0
  321. package/dist/schemas/admin-jwt-keys.js +83 -0
  322. package/dist/schemas/admin-logs.d.ts +170 -0
  323. package/dist/schemas/admin-logs.d.ts.map +1 -0
  324. package/dist/schemas/admin-logs.js +108 -0
  325. package/dist/schemas/admin-plans.d.ts +92 -0
  326. package/dist/schemas/admin-plans.d.ts.map +1 -0
  327. package/dist/schemas/admin-plans.js +62 -0
  328. package/dist/schemas/admin-project-users.d.ts +183 -0
  329. package/dist/schemas/admin-project-users.d.ts.map +1 -0
  330. package/dist/schemas/admin-project-users.js +108 -0
  331. package/dist/schemas/admin-projects.d.ts +237 -0
  332. package/dist/schemas/admin-projects.d.ts.map +1 -0
  333. package/dist/schemas/admin-projects.js +129 -0
  334. package/dist/schemas/admin-quotas.d.ts +161 -0
  335. package/dist/schemas/admin-quotas.d.ts.map +1 -0
  336. package/dist/schemas/admin-quotas.js +107 -0
  337. package/dist/schemas/admin-rate-limits.d.ts +90 -0
  338. package/dist/schemas/admin-rate-limits.d.ts.map +1 -0
  339. package/dist/schemas/admin-rate-limits.js +72 -0
  340. package/dist/schemas/admin-reconcile.d.ts +89 -0
  341. package/dist/schemas/admin-reconcile.d.ts.map +1 -0
  342. package/dist/schemas/admin-reconcile.js +86 -0
  343. package/dist/schemas/admin-resources.d.ts +129 -0
  344. package/dist/schemas/admin-resources.d.ts.map +1 -0
  345. package/dist/schemas/admin-resources.js +143 -0
  346. package/dist/schemas/admin-secrets.d.ts +113 -0
  347. package/dist/schemas/admin-secrets.d.ts.map +1 -0
  348. package/dist/schemas/admin-secrets.js +94 -0
  349. package/dist/schemas/admin-services.d.ts +71 -0
  350. package/dist/schemas/admin-services.d.ts.map +1 -0
  351. package/dist/schemas/admin-services.js +61 -0
  352. package/dist/schemas/admin-tasks.d.ts +239 -0
  353. package/dist/schemas/admin-tasks.d.ts.map +1 -0
  354. package/dist/schemas/admin-tasks.js +103 -0
  355. package/dist/schemas/admin-tenants.d.ts +45 -0
  356. package/dist/schemas/admin-tenants.d.ts.map +1 -0
  357. package/dist/schemas/admin-tenants.js +54 -0
  358. package/dist/schemas/admin-traces.d.ts +203 -0
  359. package/dist/schemas/admin-traces.d.ts.map +1 -0
  360. package/dist/schemas/admin-traces.js +128 -0
  361. package/dist/schemas/admin-users.d.ts +158 -0
  362. package/dist/schemas/admin-users.d.ts.map +1 -0
  363. package/dist/schemas/admin-users.js +110 -0
  364. package/dist/schemas/admin-webhook-signature-versions.d.ts +103 -0
  365. package/dist/schemas/admin-webhook-signature-versions.d.ts.map +1 -0
  366. package/dist/schemas/admin-webhook-signature-versions.js +73 -0
  367. package/dist/schemas/ai-admin.d.ts +39 -0
  368. package/dist/schemas/ai-admin.d.ts.map +1 -0
  369. package/dist/schemas/ai-admin.js +29 -0
  370. package/dist/schemas/ai.d.ts +120 -0
  371. package/dist/schemas/ai.d.ts.map +1 -0
  372. package/dist/schemas/ai.js +84 -0
  373. package/dist/schemas/analytics-admin.d.ts +104 -0
  374. package/dist/schemas/analytics-admin.d.ts.map +1 -0
  375. package/dist/schemas/analytics-admin.js +61 -0
  376. package/dist/schemas/analytics.d.ts +118 -0
  377. package/dist/schemas/analytics.d.ts.map +1 -0
  378. package/dist/schemas/analytics.js +80 -0
  379. package/dist/schemas/audit-chain.d.ts +81 -0
  380. package/dist/schemas/audit-chain.d.ts.map +1 -0
  381. package/dist/schemas/audit-chain.js +62 -0
  382. package/dist/schemas/auth-admin.d.ts +55 -0
  383. package/dist/schemas/auth-admin.d.ts.map +1 -0
  384. package/dist/schemas/auth-admin.js +48 -0
  385. package/dist/schemas/auth.d.ts +865 -0
  386. package/dist/schemas/auth.d.ts.map +1 -0
  387. package/dist/schemas/auth.js +815 -0
  388. package/dist/schemas/backups.d.ts +70 -0
  389. package/dist/schemas/backups.d.ts.map +1 -0
  390. package/dist/schemas/backups.js +38 -0
  391. package/dist/schemas/billing-console.d.ts +414 -0
  392. package/dist/schemas/billing-console.d.ts.map +1 -0
  393. package/dist/schemas/billing-console.js +298 -0
  394. package/dist/schemas/billing-settings.d.ts +156 -0
  395. package/dist/schemas/billing-settings.d.ts.map +1 -0
  396. package/dist/schemas/billing-settings.js +119 -0
  397. package/dist/schemas/billing.d.ts +211 -0
  398. package/dist/schemas/billing.d.ts.map +1 -0
  399. package/dist/schemas/billing.js +147 -0
  400. package/dist/schemas/branch-database.d.ts +98 -0
  401. package/dist/schemas/branch-database.d.ts.map +1 -0
  402. package/dist/schemas/branch-database.js +68 -0
  403. package/dist/schemas/challenge.d.ts +104 -0
  404. package/dist/schemas/challenge.d.ts.map +1 -0
  405. package/dist/schemas/challenge.js +74 -0
  406. package/dist/schemas/ci-settings.d.ts +122 -0
  407. package/dist/schemas/ci-settings.d.ts.map +1 -0
  408. package/dist/schemas/ci-settings.js +65 -0
  409. package/dist/schemas/consent-admin.d.ts +187 -0
  410. package/dist/schemas/consent-admin.d.ts.map +1 -0
  411. package/dist/schemas/consent-admin.js +114 -0
  412. package/dist/schemas/consent.d.ts +78 -0
  413. package/dist/schemas/consent.d.ts.map +1 -0
  414. package/dist/schemas/consent.js +68 -0
  415. package/dist/schemas/database.d.ts +104 -0
  416. package/dist/schemas/database.d.ts.map +1 -0
  417. package/dist/schemas/database.js +89 -0
  418. package/dist/schemas/deployment.d.ts +386 -0
  419. package/dist/schemas/deployment.d.ts.map +1 -0
  420. package/dist/schemas/deployment.js +282 -0
  421. package/dist/schemas/domain.d.ts +148 -0
  422. package/dist/schemas/domain.d.ts.map +1 -0
  423. package/dist/schemas/domain.js +86 -0
  424. package/dist/schemas/edge-deployments.d.ts +140 -0
  425. package/dist/schemas/edge-deployments.d.ts.map +1 -0
  426. package/dist/schemas/edge-deployments.js +87 -0
  427. package/dist/schemas/email-admin.d.ts +384 -0
  428. package/dist/schemas/email-admin.d.ts.map +1 -0
  429. package/dist/schemas/email-admin.js +313 -0
  430. package/dist/schemas/email.d.ts +46 -0
  431. package/dist/schemas/email.d.ts.map +1 -0
  432. package/dist/schemas/email.js +34 -0
  433. package/dist/schemas/engagement-admin.d.ts +148 -0
  434. package/dist/schemas/engagement-admin.d.ts.map +1 -0
  435. package/dist/schemas/engagement-admin.js +107 -0
  436. package/dist/schemas/env-var.d.ts +68 -0
  437. package/dist/schemas/env-var.d.ts.map +1 -0
  438. package/dist/schemas/env-var.js +52 -0
  439. package/dist/schemas/environment.d.ts +392 -0
  440. package/dist/schemas/environment.d.ts.map +1 -0
  441. package/dist/schemas/environment.js +211 -0
  442. package/dist/schemas/experiments.d.ts +540 -0
  443. package/dist/schemas/experiments.d.ts.map +1 -0
  444. package/dist/schemas/experiments.js +150 -0
  445. package/dist/schemas/flags-admin.d.ts +112 -0
  446. package/dist/schemas/flags-admin.d.ts.map +1 -0
  447. package/dist/schemas/flags-admin.js +84 -0
  448. package/dist/schemas/flags.d.ts +43 -0
  449. package/dist/schemas/flags.d.ts.map +1 -0
  450. package/dist/schemas/flags.js +27 -0
  451. package/dist/schemas/github.d.ts +34 -0
  452. package/dist/schemas/github.d.ts.map +1 -0
  453. package/dist/schemas/github.js +24 -0
  454. package/dist/schemas/ids.d.ts +39 -0
  455. package/dist/schemas/ids.d.ts.map +1 -0
  456. package/dist/schemas/ids.js +26 -0
  457. package/dist/schemas/image-opt.d.ts +70 -0
  458. package/dist/schemas/image-opt.d.ts.map +1 -0
  459. package/dist/schemas/image-opt.js +68 -0
  460. package/dist/schemas/kv-admin.d.ts +60 -0
  461. package/dist/schemas/kv-admin.d.ts.map +1 -0
  462. package/dist/schemas/kv-admin.js +43 -0
  463. package/dist/schemas/kv.d.ts +79 -0
  464. package/dist/schemas/kv.d.ts.map +1 -0
  465. package/dist/schemas/kv.js +54 -0
  466. package/dist/schemas/monitoring-admin.d.ts +314 -0
  467. package/dist/schemas/monitoring-admin.d.ts.map +1 -0
  468. package/dist/schemas/monitoring-admin.js +196 -0
  469. package/dist/schemas/monitoring.d.ts +143 -0
  470. package/dist/schemas/monitoring.d.ts.map +1 -0
  471. package/dist/schemas/monitoring.js +96 -0
  472. package/dist/schemas/newsletter.d.ts +366 -0
  473. package/dist/schemas/newsletter.d.ts.map +1 -0
  474. package/dist/schemas/newsletter.js +245 -0
  475. package/dist/schemas/notifications-admin.d.ts +337 -0
  476. package/dist/schemas/notifications-admin.d.ts.map +1 -0
  477. package/dist/schemas/notifications-admin.js +261 -0
  478. package/dist/schemas/notifications.d.ts +312 -0
  479. package/dist/schemas/notifications.d.ts.map +1 -0
  480. package/dist/schemas/notifications.js +235 -0
  481. package/dist/schemas/oidc.d.ts +74 -0
  482. package/dist/schemas/oidc.d.ts.map +1 -0
  483. package/dist/schemas/oidc.js +46 -0
  484. package/dist/schemas/organization-billing.d.ts +165 -0
  485. package/dist/schemas/organization-billing.d.ts.map +1 -0
  486. package/dist/schemas/organization-billing.js +156 -0
  487. package/dist/schemas/organization-project-users.d.ts +126 -0
  488. package/dist/schemas/organization-project-users.d.ts.map +1 -0
  489. package/dist/schemas/organization-project-users.js +88 -0
  490. package/dist/schemas/organization-projects.d.ts +129 -0
  491. package/dist/schemas/organization-projects.d.ts.map +1 -0
  492. package/dist/schemas/organization-projects.js +119 -0
  493. package/dist/schemas/organization-referrals.d.ts +129 -0
  494. package/dist/schemas/organization-referrals.d.ts.map +1 -0
  495. package/dist/schemas/organization-referrals.js +126 -0
  496. package/dist/schemas/organization-team.d.ts +123 -0
  497. package/dist/schemas/organization-team.d.ts.map +1 -0
  498. package/dist/schemas/organization-team.js +119 -0
  499. package/dist/schemas/organization.d.ts +210 -0
  500. package/dist/schemas/organization.d.ts.map +1 -0
  501. package/dist/schemas/organization.js +169 -0
  502. package/dist/schemas/plans.d.ts +211 -0
  503. package/dist/schemas/plans.d.ts.map +1 -0
  504. package/dist/schemas/plans.js +131 -0
  505. package/dist/schemas/privacy.d.ts +174 -0
  506. package/dist/schemas/privacy.d.ts.map +1 -0
  507. package/dist/schemas/privacy.js +132 -0
  508. package/dist/schemas/project-manifest.d.ts +1421 -0
  509. package/dist/schemas/project-manifest.d.ts.map +1 -0
  510. package/dist/schemas/project-manifest.js +318 -0
  511. package/dist/schemas/project.d.ts +132 -0
  512. package/dist/schemas/project.d.ts.map +1 -0
  513. package/dist/schemas/project.js +76 -0
  514. package/dist/schemas/realtime-admin.d.ts +51 -0
  515. package/dist/schemas/realtime-admin.d.ts.map +1 -0
  516. package/dist/schemas/realtime-admin.js +29 -0
  517. package/dist/schemas/realtime.d.ts +46 -0
  518. package/dist/schemas/realtime.d.ts.map +1 -0
  519. package/dist/schemas/realtime.js +32 -0
  520. package/dist/schemas/referrals-admin.d.ts +166 -0
  521. package/dist/schemas/referrals-admin.d.ts.map +1 -0
  522. package/dist/schemas/referrals-admin.js +123 -0
  523. package/dist/schemas/referrals.d.ts +148 -0
  524. package/dist/schemas/referrals.d.ts.map +1 -0
  525. package/dist/schemas/referrals.js +102 -0
  526. package/dist/schemas/refresh.d.ts +29 -0
  527. package/dist/schemas/refresh.d.ts.map +1 -0
  528. package/dist/schemas/refresh.js +18 -0
  529. package/dist/schemas/region.d.ts +118 -0
  530. package/dist/schemas/region.d.ts.map +1 -0
  531. package/dist/schemas/region.js +86 -0
  532. package/dist/schemas/resources.d.ts +345 -0
  533. package/dist/schemas/resources.d.ts.map +1 -0
  534. package/dist/schemas/resources.js +220 -0
  535. package/dist/schemas/runners.d.ts +93 -0
  536. package/dist/schemas/runners.d.ts.map +1 -0
  537. package/dist/schemas/runners.js +49 -0
  538. package/dist/schemas/saml.d.ts +254 -0
  539. package/dist/schemas/saml.d.ts.map +1 -0
  540. package/dist/schemas/saml.js +159 -0
  541. package/dist/schemas/search.d.ts +96 -0
  542. package/dist/schemas/search.d.ts.map +1 -0
  543. package/dist/schemas/search.js +57 -0
  544. package/dist/schemas/secret.d.ts +101 -0
  545. package/dist/schemas/secret.d.ts.map +1 -0
  546. package/dist/schemas/secret.js +79 -0
  547. package/dist/schemas/security.d.ts +345 -0
  548. package/dist/schemas/security.d.ts.map +1 -0
  549. package/dist/schemas/security.js +248 -0
  550. package/dist/schemas/service-tokens.d.ts +342 -0
  551. package/dist/schemas/service-tokens.d.ts.map +1 -0
  552. package/dist/schemas/service-tokens.js +101 -0
  553. package/dist/schemas/session-replay.d.ts +285 -0
  554. package/dist/schemas/session-replay.d.ts.map +1 -0
  555. package/dist/schemas/session-replay.js +145 -0
  556. package/dist/schemas/storage-admin.d.ts +351 -0
  557. package/dist/schemas/storage-admin.d.ts.map +1 -0
  558. package/dist/schemas/storage-admin.js +197 -0
  559. package/dist/schemas/storage.d.ts +257 -0
  560. package/dist/schemas/storage.d.ts.map +1 -0
  561. package/dist/schemas/storage.js +173 -0
  562. package/dist/schemas/tasks.d.ts +178 -0
  563. package/dist/schemas/tasks.d.ts.map +1 -0
  564. package/dist/schemas/tasks.js +102 -0
  565. package/dist/schemas/user.d.ts +103 -0
  566. package/dist/schemas/user.d.ts.map +1 -0
  567. package/dist/schemas/user.js +79 -0
  568. package/dist/schemas/webhooks.d.ts +259 -0
  569. package/dist/schemas/webhooks.d.ts.map +1 -0
  570. package/dist/schemas/webhooks.js +198 -0
  571. package/package.json +154 -0
@@ -0,0 +1,345 @@
1
+ /**
2
+ * Security Console — schemas for the user's security settings UI
3
+ * (passkeys, 2FA, sessions, alerts, OAuth, password, email change).
4
+ * Mirrors `apps/api/src/server/platform/routes/security/*`.
5
+ *
6
+ * Plane: `management`. Fresh namespace — no collision with BaaS.
7
+ *
8
+ * Shape policy (Wave 3B):
9
+ * - WebAuthn credentials stay opaque (`Schema.Record`) — SimpleWebAuthn's
10
+ * JSON wire shape evolves with the spec; locking it at the contract
11
+ * level would force a contract bump every WebAuthn revision.
12
+ * - Query-string coercion (`limit`, `unreadOnly`) stays `Schema.String`
13
+ * on the wire; route handlers parse via `toNumber` / `toBoolean`.
14
+ * - OAuth provider identifier is `Schema.String` (not an enum) — the
15
+ * provider catalog lives in Better-Auth config and can grow freely.
16
+ */
17
+ import { Schema } from 'effect';
18
+ export declare const SecuritySuccessResult: Schema.Struct<{
19
+ success: typeof Schema.Boolean;
20
+ }>;
21
+ export type SecuritySuccessResult = typeof SecuritySuccessResult.Type;
22
+ export declare const TwoFactorSetupResult: Schema.Struct<{
23
+ secret: typeof Schema.String;
24
+ uri: typeof Schema.String;
25
+ qrCode: Schema.optional<typeof Schema.String>;
26
+ }>;
27
+ export type TwoFactorSetupResult = typeof TwoFactorSetupResult.Type;
28
+ export declare const TwoFactorVerifyInput: Schema.Struct<{
29
+ code: typeof Schema.String;
30
+ }>;
31
+ export type TwoFactorVerifyInput = typeof TwoFactorVerifyInput.Type;
32
+ export declare const TwoFactorVerifyResult: Schema.Struct<{
33
+ success: typeof Schema.Boolean;
34
+ backupCodes: Schema.Array$<typeof Schema.String>;
35
+ }>;
36
+ export type TwoFactorVerifyResult = typeof TwoFactorVerifyResult.Type;
37
+ export declare const TwoFactorDisableResult: Schema.Struct<{
38
+ success: typeof Schema.Boolean;
39
+ }>;
40
+ export type TwoFactorDisableResult = typeof TwoFactorDisableResult.Type;
41
+ export declare const TwoFactorStatusResult: Schema.Struct<{
42
+ enabled: typeof Schema.Boolean;
43
+ backupCodesRemaining: typeof Schema.Number;
44
+ }>;
45
+ export type TwoFactorStatusResult = typeof TwoFactorStatusResult.Type;
46
+ export declare const BackupCodesViewResult: Schema.Struct<{
47
+ codes: Schema.Array$<typeof Schema.String>;
48
+ remaining: typeof Schema.Number;
49
+ }>;
50
+ export type BackupCodesViewResult = typeof BackupCodesViewResult.Type;
51
+ export declare const BackupCodesRegenerateResult: Schema.Struct<{
52
+ codes: Schema.Array$<typeof Schema.String>;
53
+ }>;
54
+ export type BackupCodesRegenerateResult = typeof BackupCodesRegenerateResult.Type;
55
+ export declare const EmailChangeRequestInput: Schema.Struct<{
56
+ newEmail: typeof Schema.String;
57
+ }>;
58
+ export type EmailChangeRequestInput = typeof EmailChangeRequestInput.Type;
59
+ export declare const EmailChangeRequestResult: Schema.Struct<{
60
+ success: typeof Schema.Boolean;
61
+ message: typeof Schema.String;
62
+ expiresAt: typeof Schema.String;
63
+ }>;
64
+ export type EmailChangeRequestResult = typeof EmailChangeRequestResult.Type;
65
+ export declare const EmailChangeConfirmInput: Schema.Struct<{
66
+ token: typeof Schema.String;
67
+ }>;
68
+ export type EmailChangeConfirmInput = typeof EmailChangeConfirmInput.Type;
69
+ export declare const EmailChangeConfirmResult: Schema.Struct<{
70
+ success: typeof Schema.Boolean;
71
+ newEmail: typeof Schema.String;
72
+ }>;
73
+ export type EmailChangeConfirmResult = typeof EmailChangeConfirmResult.Type;
74
+ export declare const OAuthAccount: Schema.Struct<{
75
+ provider: typeof Schema.String;
76
+ providerAccountId: typeof Schema.String;
77
+ email: Schema.NullOr<typeof Schema.String>;
78
+ connectedAt: typeof Schema.String;
79
+ }>;
80
+ export type OAuthAccount = typeof OAuthAccount.Type;
81
+ export declare const GetOAuthProvidersResult: Schema.Struct<{
82
+ providers: Schema.Array$<Schema.Struct<{
83
+ provider: typeof Schema.String;
84
+ providerAccountId: typeof Schema.String;
85
+ email: Schema.NullOr<typeof Schema.String>;
86
+ connectedAt: typeof Schema.String;
87
+ }>>;
88
+ }>;
89
+ export type GetOAuthProvidersResult = typeof GetOAuthProvidersResult.Type;
90
+ export declare const OAuthConnectInput: Schema.Struct<{
91
+ provider: typeof Schema.String;
92
+ }>;
93
+ export type OAuthConnectInput = typeof OAuthConnectInput.Type;
94
+ export declare const OAuthConnectResult: Schema.Struct<{
95
+ url: typeof Schema.String;
96
+ }>;
97
+ export type OAuthConnectResult = typeof OAuthConnectResult.Type;
98
+ export declare const OAuthDisconnectInput: Schema.Struct<{
99
+ provider: typeof Schema.String;
100
+ }>;
101
+ export type OAuthDisconnectInput = typeof OAuthDisconnectInput.Type;
102
+ export declare const OAuthDisconnectResult: Schema.Struct<{
103
+ success: typeof Schema.Boolean;
104
+ }>;
105
+ export type OAuthDisconnectResult = typeof OAuthDisconnectResult.Type;
106
+ export declare const PasswordStatusResult: Schema.Struct<{
107
+ hasPassword: typeof Schema.Boolean;
108
+ }>;
109
+ export type PasswordStatusResult = typeof PasswordStatusResult.Type;
110
+ export declare const SetPasswordInput: Schema.Struct<{
111
+ password: typeof Schema.String;
112
+ }>;
113
+ export type SetPasswordInput = typeof SetPasswordInput.Type;
114
+ export declare const SetPasswordResult: Schema.Struct<{
115
+ success: typeof Schema.Boolean;
116
+ }>;
117
+ export type SetPasswordResult = typeof SetPasswordResult.Type;
118
+ export declare const Passkey: Schema.Struct<{
119
+ id: typeof Schema.String;
120
+ name: Schema.NullOr<typeof Schema.String>;
121
+ createdAt: typeof Schema.String;
122
+ lastUsedAt: Schema.NullOr<typeof Schema.String>;
123
+ }>;
124
+ export type Passkey = typeof Passkey.Type;
125
+ export declare const PasskeyListResult: Schema.Struct<{
126
+ passkeys: Schema.Array$<Schema.Struct<{
127
+ id: typeof Schema.String;
128
+ name: Schema.NullOr<typeof Schema.String>;
129
+ createdAt: typeof Schema.String;
130
+ lastUsedAt: Schema.NullOr<typeof Schema.String>;
131
+ }>>;
132
+ }>;
133
+ export type PasskeyListResult = typeof PasskeyListResult.Type;
134
+ /**
135
+ * WebAuthn PublicKeyCredentialCreationOptions. Kept wide because
136
+ * SimpleWebAuthn's shape evolves with the WebAuthn spec revisions — the
137
+ * contract mirrors the wire, and the handler passes it through unchanged.
138
+ */
139
+ export declare const PasskeyRegisterStartResult: Schema.Struct<{
140
+ challenge: typeof Schema.String;
141
+ rp: Schema.Struct<{
142
+ name: typeof Schema.String;
143
+ id: typeof Schema.String;
144
+ }>;
145
+ user: Schema.Struct<{
146
+ id: typeof Schema.String;
147
+ name: typeof Schema.String;
148
+ displayName: typeof Schema.String;
149
+ }>;
150
+ pubKeyCredParams: Schema.Array$<Schema.Struct<{
151
+ type: Schema.Literal<["public-key"]>;
152
+ alg: typeof Schema.Number;
153
+ }>>;
154
+ timeout: Schema.optional<typeof Schema.Number>;
155
+ attestation: Schema.optional<typeof Schema.String>;
156
+ excludeCredentials: Schema.optional<Schema.Array$<Schema.Struct<{
157
+ type: Schema.Literal<["public-key"]>;
158
+ id: typeof Schema.String;
159
+ transports: Schema.optional<Schema.Array$<typeof Schema.String>>;
160
+ }>>>;
161
+ authenticatorSelection: Schema.optional<Schema.Struct<{
162
+ authenticatorAttachment: Schema.optional<Schema.Literal<["platform", "cross-platform"]>>;
163
+ requireResidentKey: Schema.optional<typeof Schema.Boolean>;
164
+ residentKey: Schema.optional<Schema.Literal<["discouraged", "preferred", "required"]>>;
165
+ userVerification: Schema.optional<Schema.Literal<["discouraged", "preferred", "required"]>>;
166
+ }>>;
167
+ }>;
168
+ export type PasskeyRegisterStartResult = typeof PasskeyRegisterStartResult.Type;
169
+ /**
170
+ * WebAuthn `AuthenticatorAttestationResponseJSON` (SimpleWebAuthn).
171
+ * Kept opaque because the spec evolves — contract consumers forward the
172
+ * envelope verbatim to the server.
173
+ */
174
+ export declare const AuthenticatorAttestationResponse: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
175
+ export type AuthenticatorAttestationResponse = typeof AuthenticatorAttestationResponse.Type;
176
+ /**
177
+ * WebAuthn `RegistrationResponseJSON` — the client-side credential that
178
+ * the browser returns from `navigator.credentials.create()`. Opaque by
179
+ * design (SimpleWebAuthn validates the wire shape).
180
+ */
181
+ export declare const RegistrationResponse: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
182
+ export type RegistrationResponse = typeof RegistrationResponse.Type;
183
+ /**
184
+ * WebAuthn `credential` envelope stays opaque — the server forwards to
185
+ * SimpleWebAuthn which validates the on-the-wire shape.
186
+ */
187
+ export declare const PasskeyRegisterVerifyInput: Schema.Struct<{
188
+ credential: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
189
+ deviceName: Schema.optional<typeof Schema.String>;
190
+ }>;
191
+ export type PasskeyRegisterVerifyInput = typeof PasskeyRegisterVerifyInput.Type;
192
+ export declare const PasskeyRegisterVerifyResult: Schema.Struct<{
193
+ id: typeof Schema.String;
194
+ name: Schema.NullOr<typeof Schema.String>;
195
+ createdAt: typeof Schema.String;
196
+ lastUsedAt: Schema.NullOr<typeof Schema.String>;
197
+ }>;
198
+ export type PasskeyRegisterVerifyResult = typeof PasskeyRegisterVerifyResult.Type;
199
+ export declare const PasskeyRenameInput: Schema.Struct<{
200
+ passkeyId: typeof Schema.String;
201
+ name: typeof Schema.String;
202
+ }>;
203
+ export type PasskeyRenameInput = typeof PasskeyRenameInput.Type;
204
+ export declare const PasskeyRenameResult: Schema.Struct<{
205
+ success: typeof Schema.Boolean;
206
+ }>;
207
+ export type PasskeyRenameResult = typeof PasskeyRenameResult.Type;
208
+ export declare const PasskeyDeleteInput: Schema.Struct<{
209
+ passkeyId: typeof Schema.String;
210
+ }>;
211
+ export type PasskeyDeleteInput = typeof PasskeyDeleteInput.Type;
212
+ export declare const PasskeyDeleteResult: Schema.Struct<{
213
+ success: typeof Schema.Boolean;
214
+ }>;
215
+ export type PasskeyDeleteResult = typeof PasskeyDeleteResult.Type;
216
+ export declare const SecuritySession: Schema.Struct<{
217
+ id: typeof Schema.String;
218
+ name: Schema.NullOr<typeof Schema.String>;
219
+ ipAddress: Schema.NullOr<typeof Schema.String>;
220
+ userAgent: Schema.NullOr<typeof Schema.String>;
221
+ createdAt: typeof Schema.String;
222
+ lastActiveAt: Schema.NullOr<typeof Schema.String>;
223
+ isCurrent: typeof Schema.Boolean;
224
+ }>;
225
+ export type SecuritySession = typeof SecuritySession.Type;
226
+ export declare const GetSessionsResult: Schema.Struct<{
227
+ sessions: Schema.Array$<Schema.Struct<{
228
+ id: typeof Schema.String;
229
+ name: Schema.NullOr<typeof Schema.String>;
230
+ ipAddress: Schema.NullOr<typeof Schema.String>;
231
+ userAgent: Schema.NullOr<typeof Schema.String>;
232
+ createdAt: typeof Schema.String;
233
+ lastActiveAt: Schema.NullOr<typeof Schema.String>;
234
+ isCurrent: typeof Schema.Boolean;
235
+ }>>;
236
+ }>;
237
+ export type GetSessionsResult = typeof GetSessionsResult.Type;
238
+ export declare const RevokeSessionInput: Schema.Struct<{
239
+ sessionId: typeof Schema.String;
240
+ }>;
241
+ export type RevokeSessionInput = typeof RevokeSessionInput.Type;
242
+ export declare const RevokeSessionResult: Schema.Struct<{
243
+ success: typeof Schema.Boolean;
244
+ }>;
245
+ export type RevokeSessionResult = typeof RevokeSessionResult.Type;
246
+ export declare const RevokeOtherSessionsResult: Schema.Struct<{
247
+ revokedCount: typeof Schema.Number;
248
+ }>;
249
+ export type RevokeOtherSessionsResult = typeof RevokeOtherSessionsResult.Type;
250
+ export declare const RenameSessionInput: Schema.Struct<{
251
+ sessionId: typeof Schema.String;
252
+ name: typeof Schema.String;
253
+ }>;
254
+ export type RenameSessionInput = typeof RenameSessionInput.Type;
255
+ export declare const RenameSessionResult: Schema.Struct<{
256
+ success: typeof Schema.Boolean;
257
+ }>;
258
+ export type RenameSessionResult = typeof RenameSessionResult.Type;
259
+ export declare const SecurityFactor: Schema.Struct<{
260
+ name: typeof Schema.String;
261
+ enabled: typeof Schema.Boolean;
262
+ points: typeof Schema.Number;
263
+ maxPoints: typeof Schema.Number;
264
+ }>;
265
+ export type SecurityFactor = typeof SecurityFactor.Type;
266
+ export declare const SecurityRecommendation: Schema.Struct<{
267
+ id: typeof Schema.String;
268
+ title: typeof Schema.String;
269
+ description: typeof Schema.String;
270
+ priority: Schema.Literal<["low", "medium", "high"]>;
271
+ action: typeof Schema.String;
272
+ }>;
273
+ export type SecurityRecommendation = typeof SecurityRecommendation.Type;
274
+ export declare const SecurityScoreResult: Schema.Struct<{
275
+ score: typeof Schema.Number;
276
+ factors: Schema.Array$<Schema.Struct<{
277
+ name: typeof Schema.String;
278
+ enabled: typeof Schema.Boolean;
279
+ points: typeof Schema.Number;
280
+ maxPoints: typeof Schema.Number;
281
+ }>>;
282
+ recommendations: Schema.Array$<Schema.Struct<{
283
+ id: typeof Schema.String;
284
+ title: typeof Schema.String;
285
+ description: typeof Schema.String;
286
+ priority: Schema.Literal<["low", "medium", "high"]>;
287
+ action: typeof Schema.String;
288
+ }>>;
289
+ }>;
290
+ export type SecurityScoreResult = typeof SecurityScoreResult.Type;
291
+ export declare const SecurityStatusQuickResult: Schema.Struct<{
292
+ score: typeof Schema.Number;
293
+ level: Schema.Literal<["low", "medium", "high", "excellent"]>;
294
+ hasPassword: typeof Schema.Boolean;
295
+ hasTwoFactor: typeof Schema.Boolean;
296
+ hasPasskeys: typeof Schema.Boolean;
297
+ sessionCount: typeof Schema.Number;
298
+ }>;
299
+ export type SecurityStatusQuickResult = typeof SecurityStatusQuickResult.Type;
300
+ export declare const SecurityAlertType: Schema.Literal<["password_changed", "email_changed", "two_factor_enabled", "two_factor_disabled", "new_device", "suspicious_login", "account_locked", "account_unlocked"]>;
301
+ export type SecurityAlertType = typeof SecurityAlertType.Type;
302
+ export declare const SecurityAlert: Schema.Struct<{
303
+ id: typeof Schema.String;
304
+ type: Schema.Literal<["password_changed", "email_changed", "two_factor_enabled", "two_factor_disabled", "new_device", "suspicious_login", "account_locked", "account_unlocked"]>;
305
+ title: typeof Schema.String;
306
+ description: Schema.NullOr<typeof Schema.String>;
307
+ metadata: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
308
+ read: typeof Schema.Boolean;
309
+ createdAt: typeof Schema.String;
310
+ }>;
311
+ export type SecurityAlert = typeof SecurityAlert.Type;
312
+ export declare const GetSecurityAlertsQuery: Schema.Struct<{
313
+ limit: Schema.optional<typeof Schema.String>;
314
+ unreadOnly: Schema.optional<typeof Schema.String>;
315
+ }>;
316
+ export type GetSecurityAlertsQuery = typeof GetSecurityAlertsQuery.Type;
317
+ export declare const GetSecurityAlertsResult: Schema.Struct<{
318
+ alerts: Schema.Array$<Schema.Struct<{
319
+ id: typeof Schema.String;
320
+ type: Schema.Literal<["password_changed", "email_changed", "two_factor_enabled", "two_factor_disabled", "new_device", "suspicious_login", "account_locked", "account_unlocked"]>;
321
+ title: typeof Schema.String;
322
+ description: Schema.NullOr<typeof Schema.String>;
323
+ metadata: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
324
+ read: typeof Schema.Boolean;
325
+ createdAt: typeof Schema.String;
326
+ }>>;
327
+ }>;
328
+ export type GetSecurityAlertsResult = typeof GetSecurityAlertsResult.Type;
329
+ export declare const UnreadAlertCountResult: Schema.Struct<{
330
+ count: typeof Schema.Number;
331
+ }>;
332
+ export type UnreadAlertCountResult = typeof UnreadAlertCountResult.Type;
333
+ export declare const MarkAlertReadInput: Schema.Struct<{
334
+ alertId: typeof Schema.String;
335
+ }>;
336
+ export type MarkAlertReadInput = typeof MarkAlertReadInput.Type;
337
+ export declare const MarkAlertReadResult: Schema.Struct<{
338
+ success: typeof Schema.Boolean;
339
+ }>;
340
+ export type MarkAlertReadResult = typeof MarkAlertReadResult.Type;
341
+ export declare const MarkAllAlertsReadResult: Schema.Struct<{
342
+ success: typeof Schema.Boolean;
343
+ }>;
344
+ export type MarkAllAlertsReadResult = typeof MarkAllAlertsReadResult.Type;
345
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/schemas/security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Security Console — schemas for the user's security settings UI
3
+ * (passkeys, 2FA, sessions, alerts, OAuth, password, email change).
4
+ * Mirrors `apps/api/src/server/platform/routes/security/*`.
5
+ *
6
+ * Plane: `management`. Fresh namespace — no collision with BaaS.
7
+ *
8
+ * Shape policy (Wave 3B):
9
+ * - WebAuthn credentials stay opaque (`Schema.Record`) — SimpleWebAuthn's
10
+ * JSON wire shape evolves with the spec; locking it at the contract
11
+ * level would force a contract bump every WebAuthn revision.
12
+ * - Query-string coercion (`limit`, `unreadOnly`) stays `Schema.String`
13
+ * on the wire; route handlers parse via `toNumber` / `toBoolean`.
14
+ * - OAuth provider identifier is `Schema.String` (not an enum) — the
15
+ * provider catalog lives in Better-Auth config and can grow freely.
16
+ */
17
+ import { Schema } from 'effect';
18
+ // ── Common ─────────────────────────────────────────────────────────────────
19
+ export const SecuritySuccessResult = Schema.Struct({
20
+ success: Schema.Boolean,
21
+ });
22
+ // ── Two-Factor Authentication ──────────────────────────────────────────────
23
+ export const TwoFactorSetupResult = Schema.Struct({
24
+ secret: Schema.String,
25
+ uri: Schema.String,
26
+ qrCode: Schema.optional(Schema.String),
27
+ });
28
+ export const TwoFactorVerifyInput = Schema.Struct({
29
+ code: Schema.String,
30
+ });
31
+ export const TwoFactorVerifyResult = Schema.Struct({
32
+ success: Schema.Boolean,
33
+ backupCodes: Schema.Array(Schema.String),
34
+ });
35
+ export const TwoFactorDisableResult = SecuritySuccessResult;
36
+ export const TwoFactorStatusResult = Schema.Struct({
37
+ enabled: Schema.Boolean,
38
+ backupCodesRemaining: Schema.Number,
39
+ });
40
+ export const BackupCodesViewResult = Schema.Struct({
41
+ codes: Schema.Array(Schema.String),
42
+ remaining: Schema.Number,
43
+ });
44
+ export const BackupCodesRegenerateResult = Schema.Struct({
45
+ codes: Schema.Array(Schema.String),
46
+ });
47
+ // ── Email Change ───────────────────────────────────────────────────────────
48
+ export const EmailChangeRequestInput = Schema.Struct({
49
+ newEmail: Schema.String,
50
+ });
51
+ export const EmailChangeRequestResult = Schema.Struct({
52
+ success: Schema.Boolean,
53
+ message: Schema.String,
54
+ expiresAt: Schema.String,
55
+ });
56
+ export const EmailChangeConfirmInput = Schema.Struct({
57
+ token: Schema.String,
58
+ });
59
+ export const EmailChangeConfirmResult = Schema.Struct({
60
+ success: Schema.Boolean,
61
+ newEmail: Schema.String,
62
+ });
63
+ // ── OAuth ──────────────────────────────────────────────────────────────────
64
+ export const OAuthAccount = Schema.Struct({
65
+ provider: Schema.String,
66
+ providerAccountId: Schema.String,
67
+ email: Schema.NullOr(Schema.String),
68
+ connectedAt: Schema.String,
69
+ });
70
+ export const GetOAuthProvidersResult = Schema.Struct({
71
+ providers: Schema.Array(OAuthAccount),
72
+ });
73
+ export const OAuthConnectInput = Schema.Struct({
74
+ provider: Schema.String,
75
+ });
76
+ export const OAuthConnectResult = Schema.Struct({
77
+ url: Schema.String,
78
+ });
79
+ export const OAuthDisconnectInput = Schema.Struct({
80
+ provider: Schema.String,
81
+ });
82
+ export const OAuthDisconnectResult = SecuritySuccessResult;
83
+ // ── Password ───────────────────────────────────────────────────────────────
84
+ export const PasswordStatusResult = Schema.Struct({
85
+ hasPassword: Schema.Boolean,
86
+ });
87
+ export const SetPasswordInput = Schema.Struct({
88
+ password: Schema.String,
89
+ });
90
+ export const SetPasswordResult = SecuritySuccessResult;
91
+ // ── Passkeys ───────────────────────────────────────────────────────────────
92
+ export const Passkey = Schema.Struct({
93
+ id: Schema.String,
94
+ name: Schema.NullOr(Schema.String),
95
+ createdAt: Schema.String,
96
+ lastUsedAt: Schema.NullOr(Schema.String),
97
+ });
98
+ export const PasskeyListResult = Schema.Struct({
99
+ passkeys: Schema.Array(Passkey),
100
+ });
101
+ /**
102
+ * WebAuthn PublicKeyCredentialCreationOptions. Kept wide because
103
+ * SimpleWebAuthn's shape evolves with the WebAuthn spec revisions — the
104
+ * contract mirrors the wire, and the handler passes it through unchanged.
105
+ */
106
+ export const PasskeyRegisterStartResult = Schema.Struct({
107
+ challenge: Schema.String,
108
+ rp: Schema.Struct({
109
+ name: Schema.String,
110
+ id: Schema.String,
111
+ }),
112
+ user: Schema.Struct({
113
+ id: Schema.String,
114
+ name: Schema.String,
115
+ displayName: Schema.String,
116
+ }),
117
+ pubKeyCredParams: Schema.Array(Schema.Struct({
118
+ type: Schema.Literal('public-key'),
119
+ alg: Schema.Number,
120
+ })),
121
+ timeout: Schema.optional(Schema.Number),
122
+ attestation: Schema.optional(Schema.String),
123
+ excludeCredentials: Schema.optional(Schema.Array(Schema.Struct({
124
+ type: Schema.Literal('public-key'),
125
+ id: Schema.String,
126
+ transports: Schema.optional(Schema.Array(Schema.String)),
127
+ }))),
128
+ authenticatorSelection: Schema.optional(Schema.Struct({
129
+ authenticatorAttachment: Schema.optional(Schema.Literal('platform', 'cross-platform')),
130
+ requireResidentKey: Schema.optional(Schema.Boolean),
131
+ residentKey: Schema.optional(Schema.Literal('discouraged', 'preferred', 'required')),
132
+ userVerification: Schema.optional(Schema.Literal('discouraged', 'preferred', 'required')),
133
+ })),
134
+ });
135
+ /**
136
+ * WebAuthn `AuthenticatorAttestationResponseJSON` (SimpleWebAuthn).
137
+ * Kept opaque because the spec evolves — contract consumers forward the
138
+ * envelope verbatim to the server.
139
+ */
140
+ export const AuthenticatorAttestationResponse = Schema.Record({
141
+ key: Schema.String,
142
+ value: Schema.Unknown,
143
+ });
144
+ /**
145
+ * WebAuthn `RegistrationResponseJSON` — the client-side credential that
146
+ * the browser returns from `navigator.credentials.create()`. Opaque by
147
+ * design (SimpleWebAuthn validates the wire shape).
148
+ */
149
+ export const RegistrationResponse = Schema.Record({
150
+ key: Schema.String,
151
+ value: Schema.Unknown,
152
+ });
153
+ /**
154
+ * WebAuthn `credential` envelope stays opaque — the server forwards to
155
+ * SimpleWebAuthn which validates the on-the-wire shape.
156
+ */
157
+ export const PasskeyRegisterVerifyInput = Schema.Struct({
158
+ credential: Schema.Record({ key: Schema.String, value: Schema.Unknown }),
159
+ deviceName: Schema.optional(Schema.String),
160
+ });
161
+ export const PasskeyRegisterVerifyResult = Passkey;
162
+ export const PasskeyRenameInput = Schema.Struct({
163
+ passkeyId: Schema.String,
164
+ name: Schema.String,
165
+ });
166
+ export const PasskeyRenameResult = SecuritySuccessResult;
167
+ export const PasskeyDeleteInput = Schema.Struct({
168
+ passkeyId: Schema.String,
169
+ });
170
+ export const PasskeyDeleteResult = SecuritySuccessResult;
171
+ // ── Sessions ───────────────────────────────────────────────────────────────
172
+ export const SecuritySession = Schema.Struct({
173
+ id: Schema.String,
174
+ name: Schema.NullOr(Schema.String),
175
+ ipAddress: Schema.NullOr(Schema.String),
176
+ userAgent: Schema.NullOr(Schema.String),
177
+ createdAt: Schema.String,
178
+ lastActiveAt: Schema.NullOr(Schema.String),
179
+ isCurrent: Schema.Boolean,
180
+ });
181
+ export const GetSessionsResult = Schema.Struct({
182
+ sessions: Schema.Array(SecuritySession),
183
+ });
184
+ export const RevokeSessionInput = Schema.Struct({
185
+ sessionId: Schema.String,
186
+ });
187
+ export const RevokeSessionResult = SecuritySuccessResult;
188
+ export const RevokeOtherSessionsResult = Schema.Struct({
189
+ revokedCount: Schema.Number,
190
+ });
191
+ export const RenameSessionInput = Schema.Struct({
192
+ sessionId: Schema.String,
193
+ name: Schema.String,
194
+ });
195
+ export const RenameSessionResult = SecuritySuccessResult;
196
+ // ── Security Score ─────────────────────────────────────────────────────────
197
+ export const SecurityFactor = Schema.Struct({
198
+ name: Schema.String,
199
+ enabled: Schema.Boolean,
200
+ points: Schema.Number,
201
+ maxPoints: Schema.Number,
202
+ });
203
+ export const SecurityRecommendation = Schema.Struct({
204
+ id: Schema.String,
205
+ title: Schema.String,
206
+ description: Schema.String,
207
+ priority: Schema.Literal('low', 'medium', 'high'),
208
+ action: Schema.String,
209
+ });
210
+ export const SecurityScoreResult = Schema.Struct({
211
+ score: Schema.Number,
212
+ factors: Schema.Array(SecurityFactor),
213
+ recommendations: Schema.Array(SecurityRecommendation),
214
+ });
215
+ export const SecurityStatusQuickResult = Schema.Struct({
216
+ score: Schema.Number,
217
+ level: Schema.Literal('low', 'medium', 'high', 'excellent'),
218
+ hasPassword: Schema.Boolean,
219
+ hasTwoFactor: Schema.Boolean,
220
+ hasPasskeys: Schema.Boolean,
221
+ sessionCount: Schema.Number,
222
+ });
223
+ // ── Alerts ─────────────────────────────────────────────────────────────────
224
+ export const SecurityAlertType = Schema.Literal('password_changed', 'email_changed', 'two_factor_enabled', 'two_factor_disabled', 'new_device', 'suspicious_login', 'account_locked', 'account_unlocked');
225
+ export const SecurityAlert = Schema.Struct({
226
+ id: Schema.String,
227
+ type: SecurityAlertType,
228
+ title: Schema.String,
229
+ description: Schema.NullOr(Schema.String),
230
+ metadata: Schema.NullOr(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
231
+ read: Schema.Boolean,
232
+ createdAt: Schema.String,
233
+ });
234
+ export const GetSecurityAlertsQuery = Schema.Struct({
235
+ limit: Schema.optional(Schema.String),
236
+ unreadOnly: Schema.optional(Schema.String),
237
+ });
238
+ export const GetSecurityAlertsResult = Schema.Struct({
239
+ alerts: Schema.Array(SecurityAlert),
240
+ });
241
+ export const UnreadAlertCountResult = Schema.Struct({
242
+ count: Schema.Number,
243
+ });
244
+ export const MarkAlertReadInput = Schema.Struct({
245
+ alertId: Schema.String,
246
+ });
247
+ export const MarkAlertReadResult = SecuritySuccessResult;
248
+ export const MarkAllAlertsReadResult = SecuritySuccessResult;