@sylphx/contract 0.5.0 → 0.6.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 (142) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/endpoint.d.ts +3 -1
  3. package/dist/endpoint.d.ts.map +1 -1
  4. package/dist/endpoints/admin-audit.d.ts +2 -2
  5. package/dist/endpoints/admin-audit.js +2 -2
  6. package/dist/endpoints/admin-bootstrap.js +3 -3
  7. package/dist/endpoints/admin-branch-databases.d.ts +1 -1
  8. package/dist/endpoints/admin-branch-databases.js +2 -2
  9. package/dist/endpoints/admin-envs-spec.d.ts +27 -0
  10. package/dist/endpoints/admin-envs-spec.d.ts.map +1 -0
  11. package/dist/endpoints/admin-envs-spec.js +25 -0
  12. package/dist/endpoints/admin-projects.d.ts +1 -1
  13. package/dist/endpoints/admin-rate-limits.d.ts +1 -1
  14. package/dist/endpoints/admin-rate-limits.js +3 -3
  15. package/dist/endpoints/admin-secrets.d.ts +3 -3
  16. package/dist/endpoints/admin-secrets.js +1 -1
  17. package/dist/endpoints/admin-services.d.ts +3 -3
  18. package/dist/endpoints/admin-services.d.ts.map +1 -1
  19. package/dist/endpoints/admin-services.js +4 -5
  20. package/dist/endpoints/branch-databases.d.ts +13 -7
  21. package/dist/endpoints/branch-databases.d.ts.map +1 -1
  22. package/dist/endpoints/branch-databases.js +3 -3
  23. package/dist/endpoints/databases.d.ts +100 -164
  24. package/dist/endpoints/databases.d.ts.map +1 -1
  25. package/dist/endpoints/databases.js +8 -35
  26. package/dist/endpoints/deployments.d.ts +1 -3
  27. package/dist/endpoints/deployments.d.ts.map +1 -1
  28. package/dist/endpoints/deployments.js +1 -1
  29. package/dist/endpoints/environments.d.ts +11 -42
  30. package/dist/endpoints/environments.d.ts.map +1 -1
  31. package/dist/endpoints/image-opt.d.ts +5 -13
  32. package/dist/endpoints/image-opt.d.ts.map +1 -1
  33. package/dist/endpoints/image-opt.js +6 -18
  34. package/dist/endpoints/kv-admin.d.ts +1 -2
  35. package/dist/endpoints/kv-admin.d.ts.map +1 -1
  36. package/dist/endpoints/kv-admin.js +1 -1
  37. package/dist/endpoints/kv.d.ts +19 -13
  38. package/dist/endpoints/kv.d.ts.map +1 -1
  39. package/dist/endpoints/kv.js +9 -9
  40. package/dist/endpoints/notifications.d.ts +7 -0
  41. package/dist/endpoints/notifications.d.ts.map +1 -1
  42. package/dist/endpoints/organizations.d.ts +8 -6
  43. package/dist/endpoints/organizations.d.ts.map +1 -1
  44. package/dist/endpoints/project-manifest.d.ts +196 -84
  45. package/dist/endpoints/project-manifest.d.ts.map +1 -1
  46. package/dist/endpoints/projects.d.ts +0 -8
  47. package/dist/endpoints/projects.d.ts.map +1 -1
  48. package/dist/endpoints/realtime-admin.d.ts +0 -1
  49. package/dist/endpoints/realtime-admin.d.ts.map +1 -1
  50. package/dist/endpoints/realtime-admin.js +1 -1
  51. package/dist/endpoints/regions.d.ts +2 -4
  52. package/dist/endpoints/regions.d.ts.map +1 -1
  53. package/dist/endpoints/regions.js +2 -2
  54. package/dist/endpoints/storage.d.ts +18 -0
  55. package/dist/endpoints/storage.d.ts.map +1 -1
  56. package/dist/endpoints/storage.js +11 -1
  57. package/dist/endpoints/tasks.d.ts +2 -6
  58. package/dist/endpoints/tasks.d.ts.map +1 -1
  59. package/dist/hono-app.d.ts +2 -2
  60. package/dist/hono-app.js +2 -2
  61. package/dist/index.d.ts +403 -350
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +4 -0
  64. package/dist/schemas/_primitives.d.ts +14 -0
  65. package/dist/schemas/_primitives.d.ts.map +1 -1
  66. package/dist/schemas/_primitives.js +16 -0
  67. package/dist/schemas/admin-audit.d.ts +4 -4
  68. package/dist/schemas/admin-audit.js +3 -3
  69. package/dist/schemas/admin-bootstrap.d.ts +1 -1
  70. package/dist/schemas/admin-bootstrap.js +1 -1
  71. package/dist/schemas/admin-builds.d.ts +1 -1
  72. package/dist/schemas/admin-builds.js +1 -1
  73. package/dist/schemas/admin-envs-spec.d.ts +49 -0
  74. package/dist/schemas/admin-envs-spec.d.ts.map +1 -0
  75. package/dist/schemas/admin-envs-spec.js +58 -0
  76. package/dist/schemas/admin-projects.d.ts +2 -2
  77. package/dist/schemas/admin-projects.js +1 -1
  78. package/dist/schemas/admin-rate-limits.d.ts +2 -2
  79. package/dist/schemas/admin-rate-limits.js +2 -2
  80. package/dist/schemas/admin-secrets.d.ts +14 -14
  81. package/dist/schemas/admin-secrets.d.ts.map +1 -1
  82. package/dist/schemas/admin-secrets.js +10 -10
  83. package/dist/schemas/admin-services.d.ts +18 -22
  84. package/dist/schemas/admin-services.d.ts.map +1 -1
  85. package/dist/schemas/admin-services.js +15 -19
  86. package/dist/schemas/auth.d.ts +1 -0
  87. package/dist/schemas/auth.d.ts.map +1 -1
  88. package/dist/schemas/auth.js +1 -0
  89. package/dist/schemas/branch-database.d.ts +25 -18
  90. package/dist/schemas/branch-database.d.ts.map +1 -1
  91. package/dist/schemas/branch-database.js +15 -14
  92. package/dist/schemas/database.d.ts +13 -19
  93. package/dist/schemas/database.d.ts.map +1 -1
  94. package/dist/schemas/database.js +7 -19
  95. package/dist/schemas/deployment.d.ts +5 -7
  96. package/dist/schemas/deployment.d.ts.map +1 -1
  97. package/dist/schemas/deployment.js +6 -6
  98. package/dist/schemas/environment.d.ts +17 -31
  99. package/dist/schemas/environment.d.ts.map +1 -1
  100. package/dist/schemas/environment.js +11 -16
  101. package/dist/schemas/ids.d.ts +4 -0
  102. package/dist/schemas/ids.d.ts.map +1 -1
  103. package/dist/schemas/ids.js +2 -0
  104. package/dist/schemas/image-opt.d.ts +10 -11
  105. package/dist/schemas/image-opt.d.ts.map +1 -1
  106. package/dist/schemas/image-opt.js +11 -12
  107. package/dist/schemas/kv-admin.d.ts +1 -2
  108. package/dist/schemas/kv-admin.d.ts.map +1 -1
  109. package/dist/schemas/kv-admin.js +1 -2
  110. package/dist/schemas/kv.d.ts +12 -4
  111. package/dist/schemas/kv.d.ts.map +1 -1
  112. package/dist/schemas/kv.js +17 -5
  113. package/dist/schemas/notifications.d.ts +11 -0
  114. package/dist/schemas/notifications.d.ts.map +1 -1
  115. package/dist/schemas/notifications.js +11 -0
  116. package/dist/schemas/organization.d.ts +8 -6
  117. package/dist/schemas/organization.d.ts.map +1 -1
  118. package/dist/schemas/organization.js +11 -6
  119. package/dist/schemas/project-manifest.d.ts +384 -174
  120. package/dist/schemas/project-manifest.d.ts.map +1 -1
  121. package/dist/schemas/project-manifest.js +127 -50
  122. package/dist/schemas/project.d.ts +0 -6
  123. package/dist/schemas/project.d.ts.map +1 -1
  124. package/dist/schemas/project.js +0 -2
  125. package/dist/schemas/realtime-admin.d.ts +0 -1
  126. package/dist/schemas/realtime-admin.d.ts.map +1 -1
  127. package/dist/schemas/realtime-admin.js +0 -1
  128. package/dist/schemas/realtime.d.ts +2 -2
  129. package/dist/schemas/realtime.js +2 -2
  130. package/dist/schemas/region.d.ts +3 -21
  131. package/dist/schemas/region.d.ts.map +1 -1
  132. package/dist/schemas/region.js +2 -11
  133. package/dist/schemas/resources.d.ts +213 -164
  134. package/dist/schemas/resources.d.ts.map +1 -1
  135. package/dist/schemas/resources.js +87 -105
  136. package/dist/schemas/storage.d.ts +30 -1
  137. package/dist/schemas/storage.d.ts.map +1 -1
  138. package/dist/schemas/storage.js +20 -1
  139. package/dist/schemas/tasks.d.ts +3 -8
  140. package/dist/schemas/tasks.d.ts.map +1 -1
  141. package/dist/schemas/tasks.js +1 -4
  142. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FZ,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FZ,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ export { adminBuildsEndpoints } from './endpoints/admin-builds.js';
30
30
  export { adminConfigEndpoints } from './endpoints/admin-config.js';
31
31
  export { adminConsentEndpoints } from './endpoints/admin-consent.js';
32
32
  export { adminEnvServicesEndpoints } from './endpoints/admin-env-services.js';
33
+ export { adminEnvsSpecEndpoints } from './endpoints/admin-envs-spec.js';
33
34
  export { adminImpersonationEndpoints } from './endpoints/admin-impersonation.js';
34
35
  export { adminInvitationsEndpoints } from './endpoints/admin-invitations.js';
35
36
  export { adminJwtKeysEndpoints } from './endpoints/admin-jwt-keys.js';
@@ -120,6 +121,7 @@ export * from './schemas/admin-broadcasts.js';
120
121
  export * from './schemas/admin-config.js';
121
122
  export * from './schemas/admin-consent.js';
122
123
  export * from './schemas/admin-env-services.js';
124
+ export * from './schemas/admin-envs-spec.js';
123
125
  export * from './schemas/admin-impersonation.js';
124
126
  export * from './schemas/admin-invitations.js';
125
127
  export * from './schemas/admin-jwt-keys.js';
@@ -215,6 +217,7 @@ import { adminBuildsEndpoints } from './endpoints/admin-builds.js';
215
217
  import { adminConfigEndpoints } from './endpoints/admin-config.js';
216
218
  import { adminConsentEndpoints } from './endpoints/admin-consent.js';
217
219
  import { adminEnvServicesEndpoints } from './endpoints/admin-env-services.js';
220
+ import { adminEnvsSpecEndpoints } from './endpoints/admin-envs-spec.js';
218
221
  import { adminImpersonationEndpoints } from './endpoints/admin-impersonation.js';
219
222
  import { adminInvitationsEndpoints } from './endpoints/admin-invitations.js';
220
223
  import { adminJwtKeysEndpoints } from './endpoints/admin-jwt-keys.js';
@@ -315,6 +318,7 @@ export const endpoints = {
315
318
  adminBroadcasts: adminBroadcastsEndpoints,
316
319
  adminConfig: adminConfigEndpoints,
317
320
  adminEnvServices: adminEnvServicesEndpoints,
321
+ adminEnvsSpec: adminEnvsSpecEndpoints,
318
322
  adminConsent: adminConsentEndpoints,
319
323
  adminImpersonation: adminImpersonationEndpoints,
320
324
  adminInvitations: adminInvitationsEndpoints,
@@ -34,4 +34,18 @@ export declare const EMAIL_REGEX: RegExp;
34
34
  /** Effect Schema email validator — wraps {@link EMAIL_REGEX}. */
35
35
  export declare const Email: Schema.filter<typeof Schema.String>;
36
36
  export type Email = typeof Email.Type;
37
+ /**
38
+ * Git commit SHA (SHA-1 or SHA-256) in hex.
39
+ *
40
+ * Accepts the common short form (>=7 chars) and full hashes:
41
+ * - SHA-1: 40 hex
42
+ * - SHA-256: 64 hex
43
+ *
44
+ * We constrain to hex to avoid reflected-input surfaces where user-supplied
45
+ * strings can be echoed back into UI/CLI messages.
46
+ */
47
+ export declare const GIT_COMMIT_SHA_REGEX: RegExp;
48
+ /** Effect Schema git commit SHA validator — wraps {@link GIT_COMMIT_SHA_REGEX}. */
49
+ export declare const GitCommitSha: Schema.filter<typeof Schema.String>;
50
+ export type GitCommitSha = typeof GitCommitSha.Type;
37
51
  //# sourceMappingURL=_primitives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_primitives.d.ts","sourceRoot":"","sources":["../../src/schemas/_primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,QAA+B,CAAA;AAEvD,iEAAiE;AACjE,eAAO,MAAM,KAAK,qCAIjB,CAAA;AACD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"_primitives.d.ts","sourceRoot":"","sources":["../../src/schemas/_primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,QAA+B,CAAA;AAEvD,iEAAiE;AACjE,eAAO,MAAM,KAAK,qCAIjB,CAAA;AACD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,QAAsB,CAAA;AAEvD,mFAAmF;AACnF,eAAO,MAAM,YAAY,qCAIxB,CAAA;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA"}
@@ -36,3 +36,19 @@ export const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
36
36
  export const Email = Schema.String.pipe(Schema.pattern(EMAIL_REGEX, {
37
37
  message: () => 'must look like a valid email address',
38
38
  }));
39
+ // ─── Git commit SHA ───────────────────────────────────────────────────────
40
+ /**
41
+ * Git commit SHA (SHA-1 or SHA-256) in hex.
42
+ *
43
+ * Accepts the common short form (>=7 chars) and full hashes:
44
+ * - SHA-1: 40 hex
45
+ * - SHA-256: 64 hex
46
+ *
47
+ * We constrain to hex to avoid reflected-input surfaces where user-supplied
48
+ * strings can be echoed back into UI/CLI messages.
49
+ */
50
+ export const GIT_COMMIT_SHA_REGEX = /^[a-f0-9]{7,64}$/i;
51
+ /** Effect Schema git commit SHA validator — wraps {@link GIT_COMMIT_SHA_REGEX}. */
52
+ export const GitCommitSha = Schema.String.pipe(Schema.pattern(GIT_COMMIT_SHA_REGEX, {
53
+ message: () => 'must be a hex git commit SHA (7–64 characters)',
54
+ }));
@@ -7,7 +7,7 @@
7
7
  * The audit subtree aggregates data from many per-project databases. Where a
8
8
  * handler's shape is stable enough to lock down, we expose a typed
9
9
  * `Schema.Struct(...)`. Where the payload is a pass-through from an evolving
10
- * external surface (Loki / Tempo / Mimir / CNPG), we keep an envelope
10
+ * external observability or database metrics surface, we keep an envelope
11
11
  * (`Schema.Struct({ available, ... })`) with the opaque tail as
12
12
  * `Schema.Unknown` — giving consumers a guaranteed outer shape while letting
13
13
  * the inner data evolve without contract bumps.
@@ -512,7 +512,7 @@ export declare const AdminAuditObsMetricsResult: Schema.Struct<{
512
512
  latencyP95: Schema.Array$<typeof Schema.Unknown>;
513
513
  cpuUsage: Schema.Array$<typeof Schema.Unknown>;
514
514
  memoryUsage: Schema.Array$<typeof Schema.Unknown>;
515
- podCount: Schema.Array$<typeof Schema.Unknown>;
515
+ instanceCount: Schema.Array$<typeof Schema.Unknown>;
516
516
  }>;
517
517
  export type AdminAuditObsMetricsResult = typeof AdminAuditObsMetricsResult.Type;
518
518
  export declare const AdminAuditObsMetricsRangeResult: Schema.Struct<{
@@ -818,7 +818,7 @@ export declare const AdminAuditServiceEnvelope: Schema.Struct<{
818
818
  export type AdminAuditServiceEnvelope = typeof AdminAuditServiceEnvelope.Type;
819
819
  /**
820
820
  * `/obs/traces/:traceId` returns the raw Tempo payload; `/database/*` returns
821
- * a CNPG real-time metrics passthrough. Both are owned by upstream stores
821
+ * a database real-time metrics passthrough. Both are owned by upstream stores
822
822
  * with their own versioning contract — we expose as `Schema.Unknown` and
823
823
  * accept that changes track the upstream.
824
824
  */
@@ -848,7 +848,7 @@ export type AdminGetMonitoringServiceDataResult = AdminAuditServiceEnvelope;
848
848
  export type AdminGetStorageServiceDataResult = AdminAuditServiceEnvelope;
849
849
  /**
850
850
  * Database admin dashboard data envelope (`/database/metrics`, `/database/tables`,
851
- * `/database/queries`). Mirrors the CNPG real-time passthrough from above.
851
+ * `/database/queries`). Mirrors the database real-time passthrough from above.
852
852
  */
853
853
  export type AdminDatabaseMetricsResult = AdminAuditUnknownResult;
854
854
  export type AdminDatabaseQueriesResult = AdminAuditUnknownResult;
@@ -7,7 +7,7 @@
7
7
  * The audit subtree aggregates data from many per-project databases. Where a
8
8
  * handler's shape is stable enough to lock down, we expose a typed
9
9
  * `Schema.Struct(...)`. Where the payload is a pass-through from an evolving
10
- * external surface (Loki / Tempo / Mimir / CNPG), we keep an envelope
10
+ * external observability or database metrics surface, we keep an envelope
11
11
  * (`Schema.Struct({ available, ... })`) with the opaque tail as
12
12
  * `Schema.Unknown` — giving consumers a guaranteed outer shape while letting
13
13
  * the inner data evolve without contract bumps.
@@ -433,7 +433,7 @@ export const AdminAuditObsMetricsResult = Schema.Struct({
433
433
  latencyP95: Schema.Array(Schema.Unknown),
434
434
  cpuUsage: Schema.Array(Schema.Unknown),
435
435
  memoryUsage: Schema.Array(Schema.Unknown),
436
- podCount: Schema.Array(Schema.Unknown),
436
+ instanceCount: Schema.Array(Schema.Unknown),
437
437
  });
438
438
  export const AdminAuditObsMetricsRangeResult = Schema.Struct({
439
439
  series: Schema.Array(Schema.Unknown),
@@ -685,7 +685,7 @@ export const AdminAuditServiceEnvelope = Schema.Struct({
685
685
  // ── Remaining opaque passthrough (database metrics / queries / tables) ────
686
686
  /**
687
687
  * `/obs/traces/:traceId` returns the raw Tempo payload; `/database/*` returns
688
- * a CNPG real-time metrics passthrough. Both are owned by upstream stores
688
+ * a database real-time metrics passthrough. Both are owned by upstream stores
689
689
  * with their own versioning contract — we expose as `Schema.Unknown` and
690
690
  * accept that changes track the upstream.
691
691
  */
@@ -2,7 +2,7 @@
2
2
  * Admin Bootstrap — reset-bootstrap-window schema (ADR-089 §2.7 Phase 7 Commit B).
3
3
  *
4
4
  * Platform-plane endpoint that forcibly re-opens the Appwrite-pattern
5
- * bootstrap window for an already-booted cluster. The window normally
5
+ * bootstrap window for an already-booted installation. The window normally
6
6
  * opens ONCE at first boot (SETNX with 10-min TTL) and closes itself on
7
7
  * first successful super-admin signup. This reset path is the documented
8
8
  * recovery for:
@@ -2,7 +2,7 @@
2
2
  * Admin Bootstrap — reset-bootstrap-window schema (ADR-089 §2.7 Phase 7 Commit B).
3
3
  *
4
4
  * Platform-plane endpoint that forcibly re-opens the Appwrite-pattern
5
- * bootstrap window for an already-booted cluster. The window normally
5
+ * bootstrap window for an already-booted installation. The window normally
6
6
  * opens ONCE at first boot (SETNX with 10-min TTL) and closes itself on
7
7
  * first successful super-admin signup. This reset path is the documented
8
8
  * recovery for:
@@ -24,7 +24,7 @@ import { Schema } from 'effect';
24
24
  * - `olderThan` — required. Any `build_records` row whose `status='building'`
25
25
  * AND whose `started_at < NOW() - <olderThan>` is in the candidate set.
26
26
  * Rows whose `started_at IS NULL` are NOT touched: a NULL `started_at`
27
- * means the K8s Job never transitioned to Active, which is a different
27
+ * means the build worker never transitioned to Active, which is a different
28
28
  * failure mode (queue starvation) handled by a separate runbook.
29
29
  * - `dryRun` — when true, the endpoint returns the candidate set without
30
30
  * mutating anything. `reason` becomes optional in this mode.
@@ -52,7 +52,7 @@ const Reason = Schema.String.pipe(Schema.minLength(3), Schema.maxLength(500));
52
52
  * - `olderThan` — required. Any `build_records` row whose `status='building'`
53
53
  * AND whose `started_at < NOW() - <olderThan>` is in the candidate set.
54
54
  * Rows whose `started_at IS NULL` are NOT touched: a NULL `started_at`
55
- * means the K8s Job never transitioned to Active, which is a different
55
+ * means the build worker never transitioned to Active, which is a different
56
56
  * failure mode (queue starvation) handled by a separate runbook.
57
57
  * - `dryRun` — when true, the endpoint returns the candidate set without
58
58
  * mutating anything. `reason` becomes optional in this mode.
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Admin Envs-Spec — operator-only desired-spec patch schemas.
3
+ *
4
+ * This surface owns the wire contract for mutating environment-level
5
+ * desired-spec fields that are intentionally hidden from customer-facing
6
+ * environment PATCH endpoints:
7
+ *
8
+ * - runtimeClassName
9
+ * - defaultSandboxImage
10
+ * - defaultSecurityContext
11
+ * - defaultHealthAgentMode
12
+ *
13
+ * The API route still validates the resulting merged object against the
14
+ * canonical core `envSpecSchema`; this package owns only the HTTP shape.
15
+ */
16
+ import { Schema } from 'effect';
17
+ export declare const AdminEnvsSpecParams: Schema.Struct<{
18
+ envId: Schema.filter<typeof Schema.String>;
19
+ }>;
20
+ export type AdminEnvsSpecParams = typeof AdminEnvsSpecParams.Type;
21
+ export declare const AdminEnvsSpecHealthAgentMode: Schema.Literal<["auto", "passthrough", "disabled"]>;
22
+ export type AdminEnvsSpecHealthAgentMode = typeof AdminEnvsSpecHealthAgentMode.Type;
23
+ export declare const AdminEnvsSpecSecurityContextPatch: Schema.Struct<{
24
+ runAsNonRoot: Schema.optional<typeof Schema.Boolean>;
25
+ allowPrivilegeEscalation: Schema.optional<typeof Schema.Boolean>;
26
+ privileged: Schema.optional<typeof Schema.Boolean>;
27
+ }>;
28
+ export type AdminEnvsSpecSecurityContextPatch = typeof AdminEnvsSpecSecurityContextPatch.Type;
29
+ export declare const AdminEnvsSpecPatchInput: Schema.filter<Schema.Struct<{
30
+ runtimeClassName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
31
+ defaultSandboxImage: Schema.optional<Schema.NullOr<Schema.filter<typeof Schema.String>>>;
32
+ defaultSecurityContext: Schema.optional<Schema.Struct<{
33
+ runAsNonRoot: Schema.optional<typeof Schema.Boolean>;
34
+ allowPrivilegeEscalation: Schema.optional<typeof Schema.Boolean>;
35
+ privileged: Schema.optional<typeof Schema.Boolean>;
36
+ }>>;
37
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
38
+ reason: Schema.filter<Schema.filter<typeof Schema.String>>;
39
+ }>>;
40
+ export type AdminEnvsSpecPatchInput = typeof AdminEnvsSpecPatchInput.Type;
41
+ export declare const AdminEnvsSpecPatchResult: Schema.Struct<{
42
+ envId: Schema.filter<typeof Schema.String>;
43
+ runtimeClassName: Schema.NullOr<typeof Schema.String>;
44
+ defaultSandboxImage: Schema.NullOr<typeof Schema.String>;
45
+ defaultSecurityContext: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
46
+ defaultHealthAgentMode: Schema.NullOr<Schema.Literal<["auto", "passthrough", "disabled"]>>;
47
+ }>;
48
+ export type AdminEnvsSpecPatchResult = typeof AdminEnvsSpecPatchResult.Type;
49
+ //# sourceMappingURL=admin-envs-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-envs-spec.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-envs-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAU/B,eAAO,MAAM,mBAAmB;;EAE9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,4BAA4B,qDAAoD,CAAA;AAC7F,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,eAAO,MAAM,iCAAiC;;;;EAI5C,CAAA;AACF,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAC,IAAI,CAAA;AAwB7F,eAAO,MAAM,uBAAuB;;;;;;;;;;GAcA,CAAA;AACpC,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;EAQnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Admin Envs-Spec — operator-only desired-spec patch schemas.
3
+ *
4
+ * This surface owns the wire contract for mutating environment-level
5
+ * desired-spec fields that are intentionally hidden from customer-facing
6
+ * environment PATCH endpoints:
7
+ *
8
+ * - runtimeClassName
9
+ * - defaultSandboxImage
10
+ * - defaultSecurityContext
11
+ * - defaultHealthAgentMode
12
+ *
13
+ * The API route still validates the resulting merged object against the
14
+ * canonical core `envSpecSchema`; this package owns only the HTTP shape.
15
+ */
16
+ import { Schema } from 'effect';
17
+ const Reason = Schema.String.pipe(Schema.minLength(3), Schema.maxLength(500));
18
+ const EnvId = Schema.String.pipe(Schema.pattern(/^env_[0-9a-z]{20,30}$/i, {
19
+ message: () => 'envId must be a TypeID with prefix `env_`',
20
+ }));
21
+ export const AdminEnvsSpecParams = Schema.Struct({
22
+ envId: EnvId,
23
+ });
24
+ export const AdminEnvsSpecHealthAgentMode = Schema.Literal('auto', 'passthrough', 'disabled');
25
+ export const AdminEnvsSpecSecurityContextPatch = Schema.Struct({
26
+ runAsNonRoot: Schema.optional(Schema.Boolean),
27
+ allowPrivilegeEscalation: Schema.optional(Schema.Boolean),
28
+ privileged: Schema.optional(Schema.Boolean),
29
+ });
30
+ function hasSpecField(body) {
31
+ if (body.runtimeClassName !== undefined ||
32
+ body.defaultSandboxImage !== undefined ||
33
+ body.defaultSecurityContext !== undefined ||
34
+ body.defaultHealthAgentMode !== undefined) {
35
+ return true;
36
+ }
37
+ return {
38
+ path: [],
39
+ message: 'Provide at least one of runtimeClassName, defaultSandboxImage, ' +
40
+ 'defaultSecurityContext, defaultHealthAgentMode.',
41
+ };
42
+ }
43
+ export const AdminEnvsSpecPatchInput = Schema.Struct({
44
+ runtimeClassName: Schema.optional(Schema.NullOr(Schema.String)),
45
+ defaultSandboxImage: Schema.optional(Schema.NullOr(Schema.String.pipe(Schema.pattern(/^registry\.sylphx\.com\//, {
46
+ message: () => 'defaultSandboxImage must be from registry.sylphx.com',
47
+ })))),
48
+ defaultSecurityContext: Schema.optional(AdminEnvsSpecSecurityContextPatch),
49
+ defaultHealthAgentMode: Schema.optional(AdminEnvsSpecHealthAgentMode),
50
+ reason: Reason,
51
+ }).pipe(Schema.filter(hasSpecField));
52
+ export const AdminEnvsSpecPatchResult = Schema.Struct({
53
+ envId: EnvId,
54
+ runtimeClassName: Schema.NullOr(Schema.String),
55
+ defaultSandboxImage: Schema.NullOr(Schema.String),
56
+ defaultSecurityContext: Schema.NullOr(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
57
+ defaultHealthAgentMode: Schema.NullOr(AdminEnvsSpecHealthAgentMode),
58
+ });
@@ -244,14 +244,14 @@ export declare const AdminPlatformResourceBinding: Schema.Struct<{
244
244
  role: typeof Schema.String;
245
245
  resourceId: typeof Schema.String;
246
246
  status: Schema.NullOr<typeof Schema.String>;
247
- clusterName: Schema.NullOr<typeof Schema.String>;
247
+ backendName: Schema.NullOr<typeof Schema.String>;
248
248
  }>;
249
249
  export type AdminPlatformResourceBinding = typeof AdminPlatformResourceBinding.Type;
250
250
  export declare const AdminPlatformResourcesResult: Schema.Array$<Schema.Struct<{
251
251
  role: typeof Schema.String;
252
252
  resourceId: typeof Schema.String;
253
253
  status: Schema.NullOr<typeof Schema.String>;
254
- clusterName: Schema.NullOr<typeof Schema.String>;
254
+ backendName: Schema.NullOr<typeof Schema.String>;
255
255
  }>>;
256
256
  export type AdminPlatformResourcesResult = typeof AdminPlatformResourcesResult.Type;
257
257
  //# sourceMappingURL=admin-projects.d.ts.map
@@ -141,6 +141,6 @@ export const AdminPlatformResourceBinding = Schema.Struct({
141
141
  role: Schema.String,
142
142
  resourceId: Schema.String,
143
143
  status: Schema.NullOr(Schema.String),
144
- clusterName: Schema.NullOr(Schema.String),
144
+ backendName: Schema.NullOr(Schema.String),
145
145
  });
146
146
  export const AdminPlatformResourcesResult = Schema.Array(AdminPlatformResourceBinding);
@@ -13,7 +13,7 @@
13
13
  * credential type's current multiplier + exempt status.
14
14
  * - POST /admin/rate-limits/credential-multipliers — upsert the row
15
15
  * for one credential type. The enforcement layer picks up the
16
- * change within 5 minutes (Redis cache TTL) or immediately via
16
+ * change within 5 minutes (policy cache TTL) or immediately via
17
17
  * `invalidateAndReload()`.
18
18
  *
19
19
  * Auth: service token + scope `platform:ratelimits:write`. Super-admin
@@ -31,7 +31,7 @@ export declare const AdminRateLimitCredentialType: Schema.Literal<["public", "se
31
31
  export type AdminRateLimitCredentialType = typeof AdminRateLimitCredentialType.Type;
32
32
  /**
33
33
  * Snapshot row — one per credential type. `effectiveMultiplier` is
34
- * the value the limiter is currently applying (after Redis cache
34
+ * the value the limiter is currently applying (after policy cache
35
35
  * settles); `exempt=true` means the limiter short-circuits to
36
36
  * always-allow (used for the SPIFFE mesh path).
37
37
  */
@@ -13,7 +13,7 @@
13
13
  * credential type's current multiplier + exempt status.
14
14
  * - POST /admin/rate-limits/credential-multipliers — upsert the row
15
15
  * for one credential type. The enforcement layer picks up the
16
- * change within 5 minutes (Redis cache TTL) or immediately via
16
+ * change within 5 minutes (policy cache TTL) or immediately via
17
17
  * `invalidateAndReload()`.
18
18
  *
19
19
  * Auth: service token + scope `platform:ratelimits:write`. Super-admin
@@ -30,7 +30,7 @@ import { Schema } from 'effect';
30
30
  export const AdminRateLimitCredentialType = Schema.Literal('public', 'secret', 'service', 'session', 'spiffe', 'unknown');
31
31
  /**
32
32
  * Snapshot row — one per credential type. `effectiveMultiplier` is
33
- * the value the limiter is currently applying (after Redis cache
33
+ * the value the limiter is currently applying (after policy cache
34
34
  * settles); `exempt=true` means the limiter short-circuits to
35
35
  * always-allow (used for the SPIFFE mesh path).
36
36
  */
@@ -2,8 +2,8 @@
2
2
  * Admin Secrets — operator-driven secret rotation primitives.
3
3
  *
4
4
  * G-5: closes the production-ready audit gap on secret rotation. The
5
- * Platform holds a small set of HMAC / encryption secrets in K8s Secret
6
- * env-var slots (BREAK_GLASS_SECRET, PLATFORM_ENCRYPTION_KEY, …). Pre-G-5
5
+ * Platform holds a small set of HMAC / encryption secrets in operator-managed
6
+ * secret slots (BREAK_GLASS_SECRET, PLATFORM_ENCRYPTION_KEY, …). Pre-G-5
7
7
  * rotation was a manual two-person rule documented in
8
8
  * `docs/runbooks/break-glass.md` §4 — not auditable, not metered, no
9
9
  * automated reminder when a secret aged past 90 days.
@@ -12,13 +12,13 @@
12
12
  * - List rotatable secrets + their last-rotation age (`--dry-run`)
13
13
  * - Initiate a rotation event for compliance (audit row + metric tick)
14
14
  *
15
- * The actual K8s secret value rotation is delegated to the runbook's
16
- * existing two-person procedure; this endpoint is the AUDIT trail and
15
+ * The actual secret value rotation is delegated to the runbook's existing
16
+ * two-person procedure; this endpoint is the AUDIT trail and
17
17
  * the OBSERVABILITY anchor for `sylphx_secret_age_days`. We deliberately
18
18
  * do NOT mint the new value server-side — minting would require holding
19
- * the cluster KMS key in process memory, which is the very threat the
20
- * rotation is hedging against. Operators paste the new value into the
21
- * cluster Secret store; the endpoint records that it happened.
19
+ * the secret-store root key in process memory, which is the very threat the
20
+ * rotation is hedging against. Operators update the configured secret
21
+ * target; the endpoint records that it happened.
22
22
  *
23
23
  * Scope (`platform:secrets:rotate`) is service-token only; super-admin
24
24
  * sessions are explicitly NOT accepted — a rotation MUST be a programmatic
@@ -54,7 +54,7 @@ export type AdminRotateSecretInput = typeof AdminRotateSecretInput.Type;
54
54
  * Per-secret rotation status — one row per known secret type.
55
55
  *
56
56
  * `lastRotatedAt` is null for a secret that has never been rotated since
57
- * ledger ingest (greenfield clusters, freshly seeded `secret_rotation_events`).
57
+ * ledger ingest (fresh installations, freshly seeded `secret_rotation_events`).
58
58
  * `ageDays` is `now() - lastRotatedAt` in days, or null when never-rotated;
59
59
  * the alert rule fires when `ageDays > 90`.
60
60
  */
@@ -66,8 +66,8 @@ export declare const AdminSecretStatus: Schema.Struct<{
66
66
  cadenceDays: typeof Schema.Number;
67
67
  /** True iff `ageDays > cadenceDays` (or never-rotated). */
68
68
  overdue: typeof Schema.Boolean;
69
- /** Name of the K8s Secret + key the operator must update. */
70
- clusterSecretRef: typeof Schema.String;
69
+ /** Operator-facing target the runbook updates. */
70
+ rotationTarget: typeof Schema.String;
71
71
  }>;
72
72
  export type AdminSecretStatus = typeof AdminSecretStatus.Type;
73
73
  export declare const AdminRotateSecretResult: Schema.Struct<{
@@ -82,8 +82,8 @@ export declare const AdminRotateSecretResult: Schema.Struct<{
82
82
  cadenceDays: typeof Schema.Number;
83
83
  /** True iff `ageDays > cadenceDays` (or never-rotated). */
84
84
  overdue: typeof Schema.Boolean;
85
- /** Name of the K8s Secret + key the operator must update. */
86
- clusterSecretRef: typeof Schema.String;
85
+ /** Operator-facing target the runbook updates. */
86
+ rotationTarget: typeof Schema.String;
87
87
  }>;
88
88
  /** ID of the audit_logs row written on a non-dry-run call. */
89
89
  auditLogId: Schema.NullOr<typeof Schema.String>;
@@ -105,8 +105,8 @@ export declare const AdminListSecretsResult: Schema.Struct<{
105
105
  cadenceDays: typeof Schema.Number;
106
106
  /** True iff `ageDays > cadenceDays` (or never-rotated). */
107
107
  overdue: typeof Schema.Boolean;
108
- /** Name of the K8s Secret + key the operator must update. */
109
- clusterSecretRef: typeof Schema.String;
108
+ /** Operator-facing target the runbook updates. */
109
+ rotationTarget: typeof Schema.String;
110
110
  }>>;
111
111
  }>;
112
112
  export type AdminListSecretsResult = typeof AdminListSecretsResult.Type;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-secrets.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,eAAe,kEAQ3B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,sBAAsB;IAClC,8BAA8B;;IAE9B;;;;;OAKG;;IAEH;;;;OAIG;;EAEF,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;IAI7B,2DAA2D;;IAE3D,2DAA2D;;IAE3D,6DAA6D;;EAE5D,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,uBAAuB;IACnC,qEAAqE;;IAErE,4DAA4D;;;;;QAZ5D,2DAA2D;;QAE3D,2DAA2D;;QAE3D,6DAA6D;;;IAU7D,8DAA8D;;IAE9D,6CAA6C;;EAE5C,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;QA1BlC,2DAA2D;;QAE3D,2DAA2D;;QAE3D,6DAA6D;;;EAwB5D,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"admin-secrets.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,eAAe,kEAQ3B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,sBAAsB;IAClC,8BAA8B;;IAE9B;;;;;OAKG;;IAEH;;;;OAIG;;EAEF,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;IAI7B,2DAA2D;;IAE3D,2DAA2D;;IAE3D,kDAAkD;;EAEjD,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,uBAAuB;IACnC,qEAAqE;;IAErE,4DAA4D;;;;;QAZ5D,2DAA2D;;QAE3D,2DAA2D;;QAE3D,kDAAkD;;;IAUlD,8DAA8D;;IAE9D,6CAA6C;;EAE5C,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;QA1BlC,2DAA2D;;QAE3D,2DAA2D;;QAE3D,kDAAkD;;;EAwBjD,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA"}
@@ -2,8 +2,8 @@
2
2
  * Admin Secrets — operator-driven secret rotation primitives.
3
3
  *
4
4
  * G-5: closes the production-ready audit gap on secret rotation. The
5
- * Platform holds a small set of HMAC / encryption secrets in K8s Secret
6
- * env-var slots (BREAK_GLASS_SECRET, PLATFORM_ENCRYPTION_KEY, …). Pre-G-5
5
+ * Platform holds a small set of HMAC / encryption secrets in operator-managed
6
+ * secret slots (BREAK_GLASS_SECRET, PLATFORM_ENCRYPTION_KEY, …). Pre-G-5
7
7
  * rotation was a manual two-person rule documented in
8
8
  * `docs/runbooks/break-glass.md` §4 — not auditable, not metered, no
9
9
  * automated reminder when a secret aged past 90 days.
@@ -12,13 +12,13 @@
12
12
  * - List rotatable secrets + their last-rotation age (`--dry-run`)
13
13
  * - Initiate a rotation event for compliance (audit row + metric tick)
14
14
  *
15
- * The actual K8s secret value rotation is delegated to the runbook's
16
- * existing two-person procedure; this endpoint is the AUDIT trail and
15
+ * The actual secret value rotation is delegated to the runbook's existing
16
+ * two-person procedure; this endpoint is the AUDIT trail and
17
17
  * the OBSERVABILITY anchor for `sylphx_secret_age_days`. We deliberately
18
18
  * do NOT mint the new value server-side — minting would require holding
19
- * the cluster KMS key in process memory, which is the very threat the
20
- * rotation is hedging against. Operators paste the new value into the
21
- * cluster Secret store; the endpoint records that it happened.
19
+ * the secret-store root key in process memory, which is the very threat the
20
+ * rotation is hedging against. Operators update the configured secret
21
+ * target; the endpoint records that it happened.
22
22
  *
23
23
  * Scope (`platform:secrets:rotate`) is service-token only; super-admin
24
24
  * sessions are explicitly NOT accepted — a rotation MUST be a programmatic
@@ -59,7 +59,7 @@ export const AdminRotateSecretInput = Schema.Struct({
59
59
  * Per-secret rotation status — one row per known secret type.
60
60
  *
61
61
  * `lastRotatedAt` is null for a secret that has never been rotated since
62
- * ledger ingest (greenfield clusters, freshly seeded `secret_rotation_events`).
62
+ * ledger ingest (fresh installations, freshly seeded `secret_rotation_events`).
63
63
  * `ageDays` is `now() - lastRotatedAt` in days, or null when never-rotated;
64
64
  * the alert rule fires when `ageDays > 90`.
65
65
  */
@@ -71,8 +71,8 @@ export const AdminSecretStatus = Schema.Struct({
71
71
  cadenceDays: Schema.Number,
72
72
  /** True iff `ageDays > cadenceDays` (or never-rotated). */
73
73
  overdue: Schema.Boolean,
74
- /** Name of the K8s Secret + key the operator must update. */
75
- clusterSecretRef: Schema.String,
74
+ /** Operator-facing target the runbook updates. */
75
+ rotationTarget: Schema.String,
76
76
  });
77
77
  export const AdminRotateSecretResult = Schema.Struct({
78
78
  /** True iff a real rotation event was recorded; false on dry-run. */