@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,63 @@
1
+ /**
2
+ * Admin Env-Services — operator recovery schemas (OPS-4).
3
+ *
4
+ * Mirrors `apps/api/src/server/platform/routes/admin/env-services.ts`.
5
+ * Replaces the manual `UPDATE environment_services …` from
6
+ * `docs/how-to/customer-image-gc-outreach.md` (line 169) with a
7
+ * structured admin endpoint that flows through the deployments pointer
8
+ * chain (`env_services.desired_deployment_id → deployments.artifact_id →
9
+ * artifacts.image_digest` per ADR-070 Phase D).
10
+ *
11
+ * Plane: `admin` (super-admin / scoped service-token only — scope
12
+ * `platform:envservices:repoint`).
13
+ */
14
+ import { Schema } from 'effect';
15
+ /**
16
+ * Body of `POST /admin/env-services/repoint`.
17
+ *
18
+ * - `envId` — target environment (`env_*` TypeID).
19
+ * - `service` — service name within the project. The route resolves
20
+ * the env_service row via `(envId, serviceId)` where
21
+ * `serviceId` comes from `(projects, project_services)`.
22
+ * - `digest` — `sha256:<64hex>` to repoint to. The artifact MUST
23
+ * already exist for this service (the endpoint refuses
24
+ * with 404 otherwise — repoint never minted artifacts).
25
+ * - `reason` — required. Audit narrative. Min 3 chars.
26
+ *
27
+ * Side effect: writes one `deployments` row with `source='manual_promote'`
28
+ * (or reuses the most recent existing row for the same `(env_service,
29
+ * artifact)` pair to keep the pointer chain idempotent) and sets
30
+ * `environment_services.desired_deployment_id` to it. The reconciler
31
+ * picks up the change on the next tick.
32
+ */
33
+ export declare const AdminEnvServiceRepointInput: Schema.Struct<{
34
+ envId: Schema.filter<typeof Schema.String>;
35
+ service: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
36
+ digest: Schema.filter<typeof Schema.String>;
37
+ reason: Schema.filter<Schema.filter<typeof Schema.String>>;
38
+ }>;
39
+ export type AdminEnvServiceRepointInput = typeof AdminEnvServiceRepointInput.Type;
40
+ /**
41
+ * Response envelope.
42
+ *
43
+ * - `envServiceId` — TypeID (`esvc_*`) of the env_service that was
44
+ * re-pointed.
45
+ * - `previousDigest` — image digest the env_service was previously
46
+ * pointing to. `null` when there was no prior
47
+ * desired deployment (initial-state edge case).
48
+ * - `newDigest` — echo of the request flag.
49
+ * - `deploymentId` — TypeID (`dpl_*`) of the deployments row that
50
+ * carries the new pointer (newly inserted OR
51
+ * reused).
52
+ * - `reused` — `true` iff the endpoint reused an existing
53
+ * deployments row instead of inserting a new one.
54
+ */
55
+ export declare const AdminEnvServiceRepointResult: Schema.Struct<{
56
+ envServiceId: typeof Schema.String;
57
+ previousDigest: Schema.NullOr<typeof Schema.String>;
58
+ newDigest: typeof Schema.String;
59
+ deploymentId: typeof Schema.String;
60
+ reused: typeof Schema.Boolean;
61
+ }>;
62
+ export type AdminEnvServiceRepointResult = typeof AdminEnvServiceRepointResult.Type;
63
+ //# sourceMappingURL=admin-env-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-env-services.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-env-services.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAmC/B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B;;;;;EAKtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B;;;;;;EAMvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Admin Env-Services — operator recovery schemas (OPS-4).
3
+ *
4
+ * Mirrors `apps/api/src/server/platform/routes/admin/env-services.ts`.
5
+ * Replaces the manual `UPDATE environment_services …` from
6
+ * `docs/how-to/customer-image-gc-outreach.md` (line 169) with a
7
+ * structured admin endpoint that flows through the deployments pointer
8
+ * chain (`env_services.desired_deployment_id → deployments.artifact_id →
9
+ * artifacts.image_digest` per ADR-070 Phase D).
10
+ *
11
+ * Plane: `admin` (super-admin / scoped service-token only — scope
12
+ * `platform:envservices:repoint`).
13
+ */
14
+ import { Schema } from 'effect';
15
+ const Reason = Schema.String.pipe(Schema.minLength(3), Schema.maxLength(500));
16
+ const ImageDigest = Schema.String.pipe(Schema.pattern(/^sha256:[a-f0-9]{64}$/, {
17
+ message: () => 'digest must match ^sha256:[a-f0-9]{64}$',
18
+ }));
19
+ /**
20
+ * TypeID for the target environment (`env_*`).
21
+ *
22
+ * The route file decodes this to a UUID; we keep the validator strict so
23
+ * the audit row carries a TypeID and accidental raw-UUID inputs surface
24
+ * as 400.
25
+ */
26
+ const EnvId = Schema.String.pipe(Schema.pattern(/^env_[0-9a-z]{20,30}$/i, {
27
+ message: () => 'envId must be a TypeID with prefix `env_`',
28
+ }));
29
+ /**
30
+ * Service name within the project (`project_services.name`). Matches
31
+ * the existing service-name shape used everywhere else in the platform.
32
+ */
33
+ const ServiceName = Schema.String.pipe(Schema.minLength(1), Schema.maxLength(63), Schema.pattern(/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/, {
34
+ message: () => 'service name must be lowercase alphanumeric / hyphen, length 1..63',
35
+ }));
36
+ /**
37
+ * Body of `POST /admin/env-services/repoint`.
38
+ *
39
+ * - `envId` — target environment (`env_*` TypeID).
40
+ * - `service` — service name within the project. The route resolves
41
+ * the env_service row via `(envId, serviceId)` where
42
+ * `serviceId` comes from `(projects, project_services)`.
43
+ * - `digest` — `sha256:<64hex>` to repoint to. The artifact MUST
44
+ * already exist for this service (the endpoint refuses
45
+ * with 404 otherwise — repoint never minted artifacts).
46
+ * - `reason` — required. Audit narrative. Min 3 chars.
47
+ *
48
+ * Side effect: writes one `deployments` row with `source='manual_promote'`
49
+ * (or reuses the most recent existing row for the same `(env_service,
50
+ * artifact)` pair to keep the pointer chain idempotent) and sets
51
+ * `environment_services.desired_deployment_id` to it. The reconciler
52
+ * picks up the change on the next tick.
53
+ */
54
+ export const AdminEnvServiceRepointInput = Schema.Struct({
55
+ envId: EnvId,
56
+ service: ServiceName,
57
+ digest: ImageDigest,
58
+ reason: Reason,
59
+ });
60
+ /**
61
+ * Response envelope.
62
+ *
63
+ * - `envServiceId` — TypeID (`esvc_*`) of the env_service that was
64
+ * re-pointed.
65
+ * - `previousDigest` — image digest the env_service was previously
66
+ * pointing to. `null` when there was no prior
67
+ * desired deployment (initial-state edge case).
68
+ * - `newDigest` — echo of the request flag.
69
+ * - `deploymentId` — TypeID (`dpl_*`) of the deployments row that
70
+ * carries the new pointer (newly inserted OR
71
+ * reused).
72
+ * - `reused` — `true` iff the endpoint reused an existing
73
+ * deployments row instead of inserting a new one.
74
+ */
75
+ export const AdminEnvServiceRepointResult = Schema.Struct({
76
+ envServiceId: Schema.String,
77
+ previousDigest: Schema.NullOr(Schema.String),
78
+ newDigest: Schema.String,
79
+ deploymentId: Schema.String,
80
+ reused: Schema.Boolean,
81
+ });
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Admin Impersonation — schemas for admin user impersonation.
3
+ * Mirrors `/admin/impersonation/*`.
4
+ *
5
+ * Plane: `admin`.
6
+ */
7
+ import { Schema } from 'effect';
8
+ export declare const AdminStartImpersonationInput: Schema.Struct<{
9
+ targetUserId: typeof Schema.String;
10
+ }>;
11
+ export type AdminStartImpersonationInput = typeof AdminStartImpersonationInput.Type;
12
+ export declare const AdminEndImpersonationInput: Schema.Struct<{
13
+ sessionId: Schema.optional<typeof Schema.String>;
14
+ }>;
15
+ export type AdminEndImpersonationInput = typeof AdminEndImpersonationInput.Type;
16
+ export declare const AdminStartImpersonationResult: Schema.Struct<{
17
+ success: typeof Schema.Boolean;
18
+ token: typeof Schema.String;
19
+ sessionId: typeof Schema.String;
20
+ expiresAt: typeof Schema.String;
21
+ }>;
22
+ export type AdminStartImpersonationResult = typeof AdminStartImpersonationResult.Type;
23
+ export declare const AdminEndImpersonationResult: Schema.Struct<{
24
+ success: typeof Schema.Boolean;
25
+ sessionsEnded: typeof Schema.Number;
26
+ }>;
27
+ export type AdminEndImpersonationResult = typeof AdminEndImpersonationResult.Type;
28
+ /** Null when current session is not an impersonation. */
29
+ export declare const AdminImpersonationInfoResult: Schema.NullOr<Schema.Struct<{
30
+ isImpersonation: typeof Schema.Boolean;
31
+ adminUserId: typeof Schema.String;
32
+ adminEmail: typeof Schema.String;
33
+ adminName: Schema.NullOr<typeof Schema.String>;
34
+ impersonatedAt: typeof Schema.String;
35
+ }>>;
36
+ export type AdminImpersonationInfoResult = typeof AdminImpersonationInfoResult.Type;
37
+ export declare const AdminActiveImpersonation: Schema.Struct<{
38
+ sessionId: typeof Schema.String;
39
+ adminUserId: typeof Schema.String;
40
+ adminEmail: typeof Schema.String;
41
+ adminName: Schema.NullOr<typeof Schema.String>;
42
+ targetUserId: typeof Schema.String;
43
+ targetEmail: typeof Schema.String;
44
+ targetName: Schema.NullOr<typeof Schema.String>;
45
+ impersonatedAt: typeof Schema.String;
46
+ lastActiveAt: typeof Schema.String;
47
+ }>;
48
+ export type AdminActiveImpersonation = typeof AdminActiveImpersonation.Type;
49
+ export declare const AdminListActiveImpersonationsResult: Schema.Array$<Schema.Struct<{
50
+ sessionId: typeof Schema.String;
51
+ adminUserId: typeof Schema.String;
52
+ adminEmail: typeof Schema.String;
53
+ adminName: Schema.NullOr<typeof Schema.String>;
54
+ targetUserId: typeof Schema.String;
55
+ targetEmail: typeof Schema.String;
56
+ targetName: Schema.NullOr<typeof Schema.String>;
57
+ impersonatedAt: typeof Schema.String;
58
+ lastActiveAt: typeof Schema.String;
59
+ }>>;
60
+ export type AdminListActiveImpersonationsResult = typeof AdminListActiveImpersonationsResult.Type;
61
+ export declare const ImpersonationStartChallengeInput: Schema.Struct<{
62
+ targetUserId: typeof Schema.String;
63
+ reason: typeof Schema.String;
64
+ }>;
65
+ export type ImpersonationStartChallengeInput = typeof ImpersonationStartChallengeInput.Type;
66
+ export declare const ImpersonationStartChallengeResult: Schema.Struct<{
67
+ requestId: typeof Schema.String;
68
+ challengeKey: typeof Schema.String;
69
+ webauthnOptions: Schema.Struct<{
70
+ challenge: typeof Schema.String;
71
+ rpId: Schema.optional<typeof Schema.String>;
72
+ allowCredentials: Schema.Array$<Schema.Struct<{
73
+ id: typeof Schema.String;
74
+ type: Schema.Literal<["public-key"]>;
75
+ transports: Schema.optional<Schema.Array$<typeof Schema.String>>;
76
+ }>>;
77
+ userVerification: Schema.Literal<["required"]>;
78
+ timeout: typeof Schema.Number;
79
+ }>;
80
+ }>;
81
+ export type ImpersonationStartChallengeResult = typeof ImpersonationStartChallengeResult.Type;
82
+ export declare const ImpersonationStartInput: Schema.Struct<{
83
+ requestId: typeof Schema.String;
84
+ challengeKey: typeof Schema.String;
85
+ assertion: typeof Schema.Unknown;
86
+ emergencyBypass: Schema.optional<typeof Schema.Boolean>;
87
+ }>;
88
+ export type ImpersonationStartInput = typeof ImpersonationStartInput.Type;
89
+ export declare const ImpersonationStartResult: Schema.Union<[Schema.Struct<{
90
+ branch: Schema.Literal<["emergency"]>;
91
+ requestId: typeof Schema.String;
92
+ token: typeof Schema.String;
93
+ sessionId: typeof Schema.String;
94
+ expiresAt: typeof Schema.String;
95
+ }>, Schema.Struct<{
96
+ branch: Schema.Literal<["awaiting-consent"]>;
97
+ requestId: typeof Schema.String;
98
+ consentDeadline: typeof Schema.String;
99
+ }>]>;
100
+ export type ImpersonationStartResult = typeof ImpersonationStartResult.Type;
101
+ export declare const ImpersonationConsentInput: Schema.Struct<{
102
+ decision: Schema.Literal<["approve", "deny"]>;
103
+ }>;
104
+ export type ImpersonationConsentInput = typeof ImpersonationConsentInput.Type;
105
+ export declare const ImpersonationConsentResult: Schema.Union<[Schema.Struct<{
106
+ branch: Schema.Literal<["approved"]>;
107
+ requestId: typeof Schema.String;
108
+ token: typeof Schema.String;
109
+ sessionId: typeof Schema.String;
110
+ expiresAt: typeof Schema.String;
111
+ }>, Schema.Struct<{
112
+ branch: Schema.Literal<["denied"]>;
113
+ requestId: typeof Schema.String;
114
+ }>]>;
115
+ export type ImpersonationConsentResult = typeof ImpersonationConsentResult.Type;
116
+ export declare const ImpersonationRequestListItem: Schema.Struct<{
117
+ id: typeof Schema.String;
118
+ operatorId: typeof Schema.String;
119
+ targetUserId: typeof Schema.String;
120
+ reason: typeof Schema.String;
121
+ status: Schema.Literal<["awaiting-stepup", "awaiting-consent", "active", "denied", "expired", "ended", "revoked"]>;
122
+ emergencyBypass: typeof Schema.Boolean;
123
+ sessionId: Schema.NullOr<typeof Schema.String>;
124
+ consentDeadline: Schema.NullOr<typeof Schema.String>;
125
+ startedAt: Schema.NullOr<typeof Schema.String>;
126
+ endedAt: Schema.NullOr<typeof Schema.String>;
127
+ createdAt: typeof Schema.String;
128
+ }>;
129
+ export type ImpersonationRequestListItem = typeof ImpersonationRequestListItem.Type;
130
+ export declare const ImpersonationRequestList: Schema.Array$<Schema.Struct<{
131
+ id: typeof Schema.String;
132
+ operatorId: typeof Schema.String;
133
+ targetUserId: typeof Schema.String;
134
+ reason: typeof Schema.String;
135
+ status: Schema.Literal<["awaiting-stepup", "awaiting-consent", "active", "denied", "expired", "ended", "revoked"]>;
136
+ emergencyBypass: typeof Schema.Boolean;
137
+ sessionId: Schema.NullOr<typeof Schema.String>;
138
+ consentDeadline: Schema.NullOr<typeof Schema.String>;
139
+ startedAt: Schema.NullOr<typeof Schema.String>;
140
+ endedAt: Schema.NullOr<typeof Schema.String>;
141
+ createdAt: typeof Schema.String;
142
+ }>>;
143
+ export type ImpersonationRequestList = typeof ImpersonationRequestList.Type;
144
+ export declare const ImpersonationEndSessionResult: Schema.Struct<{
145
+ success: typeof Schema.Boolean;
146
+ requestId: typeof Schema.String;
147
+ sessionId: Schema.NullOr<typeof Schema.String>;
148
+ }>;
149
+ export type ImpersonationEndSessionResult = typeof ImpersonationEndSessionResult.Type;
150
+ //# sourceMappingURL=admin-impersonation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-impersonation.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-impersonation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,4BAA4B;;EAEvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,eAAO,MAAM,0BAA0B;;EAErC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAE/E,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA;AAErF,eAAO,MAAM,2BAA2B;;;EAGtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF,yDAAyD;AACzD,eAAO,MAAM,4BAA4B;;;;;;GAQxC,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,eAAO,MAAM,wBAAwB;;;;;;;;;;EAUnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,mCAAmC;;;;;;;;;;GAAyC,CAAA;AACzF,MAAM,MAAM,mCAAmC,GAAG,OAAO,mCAAmC,CAAC,IAAI,CAAA;AAMjG,eAAO,MAAM,gCAAgC;;;EAG3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,OAAO,gCAAgC,CAAC,IAAI,CAAA;AAE3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;EAgB5C,CAAA;AACF,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAC,IAAI,CAAA;AAE7F,eAAO,MAAM,uBAAuB;;;;;EAKlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;IAapC,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;EAEpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,0BAA0B;;;;;;;;;IAYtC,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAE/E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAoBvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;GAA6C,CAAA;AAClF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,6BAA6B;;;;EAIxC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Admin Impersonation — schemas for admin user impersonation.
3
+ * Mirrors `/admin/impersonation/*`.
4
+ *
5
+ * Plane: `admin`.
6
+ */
7
+ import { Schema } from 'effect';
8
+ export const AdminStartImpersonationInput = Schema.Struct({
9
+ targetUserId: Schema.String,
10
+ });
11
+ export const AdminEndImpersonationInput = Schema.Struct({
12
+ sessionId: Schema.optional(Schema.String),
13
+ });
14
+ export const AdminStartImpersonationResult = Schema.Struct({
15
+ success: Schema.Boolean,
16
+ token: Schema.String,
17
+ sessionId: Schema.String,
18
+ expiresAt: Schema.String,
19
+ });
20
+ export const AdminEndImpersonationResult = Schema.Struct({
21
+ success: Schema.Boolean,
22
+ sessionsEnded: Schema.Number,
23
+ });
24
+ /** Null when current session is not an impersonation. */
25
+ export const AdminImpersonationInfoResult = Schema.NullOr(Schema.Struct({
26
+ isImpersonation: Schema.Boolean,
27
+ adminUserId: Schema.String,
28
+ adminEmail: Schema.String,
29
+ adminName: Schema.NullOr(Schema.String),
30
+ impersonatedAt: Schema.String,
31
+ }));
32
+ export const AdminActiveImpersonation = Schema.Struct({
33
+ sessionId: Schema.String,
34
+ adminUserId: Schema.String,
35
+ adminEmail: Schema.String,
36
+ adminName: Schema.NullOr(Schema.String),
37
+ targetUserId: Schema.String,
38
+ targetEmail: Schema.String,
39
+ targetName: Schema.NullOr(Schema.String),
40
+ impersonatedAt: Schema.String,
41
+ lastActiveAt: Schema.String,
42
+ });
43
+ export const AdminListActiveImpersonationsResult = Schema.Array(AdminActiveImpersonation);
44
+ // ============================================================================
45
+ // Phase 5.9 — WebAuthn step-up + consent workflow
46
+ // ============================================================================
47
+ export const ImpersonationStartChallengeInput = Schema.Struct({
48
+ targetUserId: Schema.String,
49
+ reason: Schema.String,
50
+ });
51
+ export const ImpersonationStartChallengeResult = Schema.Struct({
52
+ requestId: Schema.String,
53
+ challengeKey: Schema.String,
54
+ webauthnOptions: Schema.Struct({
55
+ challenge: Schema.String,
56
+ rpId: Schema.optional(Schema.String),
57
+ allowCredentials: Schema.Array(Schema.Struct({
58
+ id: Schema.String,
59
+ type: Schema.Literal('public-key'),
60
+ transports: Schema.optional(Schema.Array(Schema.String)),
61
+ })),
62
+ userVerification: Schema.Literal('required'),
63
+ timeout: Schema.Number,
64
+ }),
65
+ });
66
+ export const ImpersonationStartInput = Schema.Struct({
67
+ requestId: Schema.String,
68
+ challengeKey: Schema.String,
69
+ assertion: Schema.Unknown,
70
+ emergencyBypass: Schema.optional(Schema.Boolean),
71
+ });
72
+ export const ImpersonationStartResult = Schema.Union(Schema.Struct({
73
+ branch: Schema.Literal('emergency'),
74
+ requestId: Schema.String,
75
+ token: Schema.String,
76
+ sessionId: Schema.String,
77
+ expiresAt: Schema.String,
78
+ }), Schema.Struct({
79
+ branch: Schema.Literal('awaiting-consent'),
80
+ requestId: Schema.String,
81
+ consentDeadline: Schema.String,
82
+ }));
83
+ export const ImpersonationConsentInput = Schema.Struct({
84
+ decision: Schema.Literal('approve', 'deny'),
85
+ });
86
+ export const ImpersonationConsentResult = Schema.Union(Schema.Struct({
87
+ branch: Schema.Literal('approved'),
88
+ requestId: Schema.String,
89
+ token: Schema.String,
90
+ sessionId: Schema.String,
91
+ expiresAt: Schema.String,
92
+ }), Schema.Struct({
93
+ branch: Schema.Literal('denied'),
94
+ requestId: Schema.String,
95
+ }));
96
+ export const ImpersonationRequestListItem = Schema.Struct({
97
+ id: Schema.String,
98
+ operatorId: Schema.String,
99
+ targetUserId: Schema.String,
100
+ reason: Schema.String,
101
+ status: Schema.Literal('awaiting-stepup', 'awaiting-consent', 'active', 'denied', 'expired', 'ended', 'revoked'),
102
+ emergencyBypass: Schema.Boolean,
103
+ sessionId: Schema.NullOr(Schema.String),
104
+ consentDeadline: Schema.NullOr(Schema.String),
105
+ startedAt: Schema.NullOr(Schema.String),
106
+ endedAt: Schema.NullOr(Schema.String),
107
+ createdAt: Schema.String,
108
+ });
109
+ export const ImpersonationRequestList = Schema.Array(ImpersonationRequestListItem);
110
+ export const ImpersonationEndSessionResult = Schema.Struct({
111
+ success: Schema.Boolean,
112
+ requestId: Schema.String,
113
+ sessionId: Schema.NullOr(Schema.String),
114
+ });
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Admin Invitations — schemas for platform team invitation management.
3
+ * Mirrors `/admin/invitations/*`.
4
+ *
5
+ * Plane: `admin`. `/accept` is a public endpoint (no auth) but lives under
6
+ * the admin mount for routing consistency.
7
+ */
8
+ import { Schema } from 'effect';
9
+ export declare const AdminInvitationRole: Schema.Literal<["user", "admin", "super_admin"]>;
10
+ export type AdminInvitationRole = typeof AdminInvitationRole.Type;
11
+ export declare const AdminInvitationStatus: Schema.Literal<["pending", "accepted", "revoked", "expired"]>;
12
+ export type AdminInvitationStatus = typeof AdminInvitationStatus.Type;
13
+ export declare const AdminInvitedBy: Schema.Struct<{
14
+ id: typeof Schema.String;
15
+ name: Schema.NullOr<typeof Schema.String>;
16
+ email: typeof Schema.String;
17
+ }>;
18
+ export type AdminInvitedBy = typeof AdminInvitedBy.Type;
19
+ export declare const AdminInvitation: Schema.Struct<{
20
+ id: typeof Schema.String;
21
+ email: typeof Schema.String;
22
+ code: typeof Schema.String;
23
+ role: Schema.Literal<["user", "admin", "super_admin"]>;
24
+ status: Schema.Literal<["pending", "accepted", "revoked", "expired"]>;
25
+ expiresAt: typeof Schema.String;
26
+ acceptedAt: Schema.NullOr<typeof Schema.String>;
27
+ note: Schema.NullOr<typeof Schema.String>;
28
+ createdAt: typeof Schema.String;
29
+ invitedBy: Schema.NullOr<Schema.Struct<{
30
+ id: typeof Schema.String;
31
+ name: Schema.NullOr<typeof Schema.String>;
32
+ email: typeof Schema.String;
33
+ }>>;
34
+ }>;
35
+ export type AdminInvitation = typeof AdminInvitation.Type;
36
+ export declare const AdminAcceptedUser: Schema.Struct<{
37
+ id: typeof Schema.String;
38
+ email: typeof Schema.String;
39
+ name: Schema.NullOr<typeof Schema.String>;
40
+ role: Schema.Literal<["user", "admin", "super_admin"]>;
41
+ }>;
42
+ export type AdminAcceptedUser = typeof AdminAcceptedUser.Type;
43
+ export declare const AdminInvitationIdParams: Schema.Struct<{
44
+ id: typeof Schema.String;
45
+ }>;
46
+ export type AdminInvitationIdParams = typeof AdminInvitationIdParams.Type;
47
+ export declare const AdminListInvitationsQuery: Schema.Struct<{
48
+ limit: Schema.optional<typeof Schema.String>;
49
+ offset: Schema.optional<typeof Schema.String>;
50
+ statsOnly: Schema.optional<typeof Schema.String>;
51
+ }>;
52
+ export type AdminListInvitationsQuery = typeof AdminListInvitationsQuery.Type;
53
+ export declare const AdminCreateInvitationInput: Schema.Struct<{
54
+ email: typeof Schema.String;
55
+ role: Schema.optional<Schema.Literal<["user", "admin", "super_admin"]>>;
56
+ note: Schema.optional<typeof Schema.String>;
57
+ }>;
58
+ export type AdminCreateInvitationInput = typeof AdminCreateInvitationInput.Type;
59
+ export declare const AdminAcceptInvitationInput: Schema.Struct<{
60
+ code: typeof Schema.String;
61
+ name: typeof Schema.String;
62
+ password: typeof Schema.String;
63
+ }>;
64
+ export type AdminAcceptInvitationInput = typeof AdminAcceptInvitationInput.Type;
65
+ export declare const AdminCreateInvitationResult: Schema.Struct<{
66
+ id: typeof Schema.String;
67
+ email: typeof Schema.String;
68
+ role: Schema.Literal<["user", "admin", "super_admin"]>;
69
+ inviteUrl: typeof Schema.String;
70
+ expiresAt: typeof Schema.String;
71
+ }>;
72
+ export type AdminCreateInvitationResult = typeof AdminCreateInvitationResult.Type;
73
+ /** Union: list shape OR stats-only shape. */
74
+ export declare const AdminListInvitationsResult: Schema.Union<[Schema.Struct<{
75
+ invitations: Schema.Array$<Schema.Struct<{
76
+ id: typeof Schema.String;
77
+ email: typeof Schema.String;
78
+ code: typeof Schema.String;
79
+ role: Schema.Literal<["user", "admin", "super_admin"]>;
80
+ status: Schema.Literal<["pending", "accepted", "revoked", "expired"]>;
81
+ expiresAt: typeof Schema.String;
82
+ acceptedAt: Schema.NullOr<typeof Schema.String>;
83
+ note: Schema.NullOr<typeof Schema.String>;
84
+ createdAt: typeof Schema.String;
85
+ invitedBy: Schema.NullOr<Schema.Struct<{
86
+ id: typeof Schema.String;
87
+ name: Schema.NullOr<typeof Schema.String>;
88
+ email: typeof Schema.String;
89
+ }>>;
90
+ }>>;
91
+ total: typeof Schema.Number;
92
+ }>, Schema.Struct<{
93
+ totalMembers: typeof Schema.Number;
94
+ pendingInvites: typeof Schema.Number;
95
+ acceptedInvites: typeof Schema.Number;
96
+ }>]>;
97
+ export type AdminListInvitationsResult = typeof AdminListInvitationsResult.Type;
98
+ export declare const AdminRevokeInvitationResult: Schema.Struct<{
99
+ success: typeof Schema.Boolean;
100
+ }>;
101
+ export type AdminRevokeInvitationResult = typeof AdminRevokeInvitationResult.Type;
102
+ export declare const AdminResendInvitationResult: Schema.Struct<{
103
+ success: typeof Schema.Boolean;
104
+ inviteUrl: typeof Schema.String;
105
+ expiresAt: typeof Schema.String;
106
+ }>;
107
+ export type AdminResendInvitationResult = typeof AdminResendInvitationResult.Type;
108
+ export declare const AdminAcceptInvitationResult: Schema.Struct<{
109
+ success: typeof Schema.Boolean;
110
+ message: typeof Schema.String;
111
+ user: Schema.Struct<{
112
+ id: typeof Schema.String;
113
+ email: typeof Schema.String;
114
+ name: Schema.NullOr<typeof Schema.String>;
115
+ role: Schema.Literal<["user", "admin", "super_admin"]>;
116
+ }>;
117
+ }>;
118
+ export type AdminAcceptInvitationResult = typeof AdminAcceptInvitationResult.Type;
119
+ //# sourceMappingURL=admin-invitations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-invitations.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-invitations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,mBAAmB,kDAAiD,CAAA;AACjF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,qBAAqB,+DAA8D,CAAA;AAChG,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,cAAc;;;;EAIzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAW1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAI7D,eAAO,MAAM,uBAAuB;;EAAuC,CAAA;AAC3E,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAI7E,eAAO,MAAM,0BAA0B;;;;EAIrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAE/E,eAAO,MAAM,0BAA0B;;;;EAIrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAI/E,eAAO,MAAM,2BAA2B;;;;;;EAMtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF,6CAA6C;AAC7C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;IAUtC,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAE/E,eAAO,MAAM,2BAA2B;;EAA6C,CAAA;AACrF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF,eAAO,MAAM,2BAA2B;;;;EAItC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF,eAAO,MAAM,2BAA2B;;;;;;;;;EAItC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Admin Invitations — schemas for platform team invitation management.
3
+ * Mirrors `/admin/invitations/*`.
4
+ *
5
+ * Plane: `admin`. `/accept` is a public endpoint (no auth) but lives under
6
+ * the admin mount for routing consistency.
7
+ */
8
+ import { Schema } from 'effect';
9
+ export const AdminInvitationRole = Schema.Literal('user', 'admin', 'super_admin');
10
+ export const AdminInvitationStatus = Schema.Literal('pending', 'accepted', 'revoked', 'expired');
11
+ export const AdminInvitedBy = Schema.Struct({
12
+ id: Schema.String,
13
+ name: Schema.NullOr(Schema.String),
14
+ email: Schema.String,
15
+ });
16
+ export const AdminInvitation = Schema.Struct({
17
+ id: Schema.String,
18
+ email: Schema.String,
19
+ code: Schema.String,
20
+ role: AdminInvitationRole,
21
+ status: AdminInvitationStatus,
22
+ expiresAt: Schema.String,
23
+ acceptedAt: Schema.NullOr(Schema.String),
24
+ note: Schema.NullOr(Schema.String),
25
+ createdAt: Schema.String,
26
+ invitedBy: Schema.NullOr(AdminInvitedBy),
27
+ });
28
+ export const AdminAcceptedUser = Schema.Struct({
29
+ id: Schema.String,
30
+ email: Schema.String,
31
+ name: Schema.NullOr(Schema.String),
32
+ role: AdminInvitationRole,
33
+ });
34
+ // ── Params ─────────────────────────────────────────────────────────────────
35
+ export const AdminInvitationIdParams = Schema.Struct({ id: Schema.String });
36
+ // ── Query ──────────────────────────────────────────────────────────────────
37
+ export const AdminListInvitationsQuery = Schema.Struct({
38
+ limit: Schema.optional(Schema.String),
39
+ offset: Schema.optional(Schema.String),
40
+ statsOnly: Schema.optional(Schema.String),
41
+ });
42
+ // ── Inputs ─────────────────────────────────────────────────────────────────
43
+ export const AdminCreateInvitationInput = Schema.Struct({
44
+ email: Schema.String,
45
+ role: Schema.optional(AdminInvitationRole),
46
+ note: Schema.optional(Schema.String),
47
+ });
48
+ export const AdminAcceptInvitationInput = Schema.Struct({
49
+ code: Schema.String,
50
+ name: Schema.String,
51
+ password: Schema.String,
52
+ });
53
+ // ── Responses ──────────────────────────────────────────────────────────────
54
+ export const AdminCreateInvitationResult = Schema.Struct({
55
+ id: Schema.String,
56
+ email: Schema.String,
57
+ role: AdminInvitationRole,
58
+ inviteUrl: Schema.String,
59
+ expiresAt: Schema.String,
60
+ });
61
+ /** Union: list shape OR stats-only shape. */
62
+ export const AdminListInvitationsResult = Schema.Union(Schema.Struct({
63
+ invitations: Schema.Array(AdminInvitation),
64
+ total: Schema.Number,
65
+ }), Schema.Struct({
66
+ totalMembers: Schema.Number,
67
+ pendingInvites: Schema.Number,
68
+ acceptedInvites: Schema.Number,
69
+ }));
70
+ export const AdminRevokeInvitationResult = Schema.Struct({ success: Schema.Boolean });
71
+ export const AdminResendInvitationResult = Schema.Struct({
72
+ success: Schema.Boolean,
73
+ inviteUrl: Schema.String,
74
+ expiresAt: Schema.String,
75
+ });
76
+ export const AdminAcceptInvitationResult = Schema.Struct({
77
+ success: Schema.Boolean,
78
+ message: Schema.String,
79
+ user: AdminAcceptedUser,
80
+ });