@nocobase/app-plugin-releases 0.0.0-stage → 0.1.0-beta.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 (584) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +118 -2
  3. package/dist/client/components/actor-name.d.ts +5 -0
  4. package/dist/client/components/actor-name.d.ts.map +1 -0
  5. package/dist/client/components/actor-name.js +11 -0
  6. package/dist/client/components/actor-name.js.map +1 -0
  7. package/dist/client/components/advanced-section.d.ts +8 -0
  8. package/dist/client/components/advanced-section.d.ts.map +1 -0
  9. package/dist/client/components/advanced-section.js +13 -0
  10. package/dist/client/components/advanced-section.js.map +1 -0
  11. package/dist/client/components/app-settings-card.d.ts +7 -0
  12. package/dist/client/components/app-settings-card.d.ts.map +1 -0
  13. package/dist/client/components/app-settings-card.js +69 -0
  14. package/dist/client/components/app-settings-card.js.map +1 -0
  15. package/dist/client/components/artifacts.d.ts +9 -0
  16. package/dist/client/components/artifacts.d.ts.map +1 -0
  17. package/dist/client/components/artifacts.js +26 -0
  18. package/dist/client/components/artifacts.js.map +1 -0
  19. package/dist/client/components/config-secrets.d.ts +10 -0
  20. package/dist/client/components/config-secrets.d.ts.map +1 -0
  21. package/dist/client/components/config-secrets.js +34 -0
  22. package/dist/client/components/config-secrets.js.map +1 -0
  23. package/dist/client/components/confirm-dialog.d.ts +22 -0
  24. package/dist/client/components/confirm-dialog.d.ts.map +1 -0
  25. package/dist/client/components/confirm-dialog.js +47 -0
  26. package/dist/client/components/confirm-dialog.js.map +1 -0
  27. package/dist/client/components/connection-check.d.ts +13 -0
  28. package/dist/client/components/connection-check.d.ts.map +1 -0
  29. package/dist/client/components/connection-check.js +69 -0
  30. package/dist/client/components/connection-check.js.map +1 -0
  31. package/dist/client/components/data-table.d.ts +27 -0
  32. package/dist/client/components/data-table.d.ts.map +1 -0
  33. package/dist/client/components/data-table.js +41 -0
  34. package/dist/client/components/data-table.js.map +1 -0
  35. package/dist/client/components/driver-settings.d.ts +28 -0
  36. package/dist/client/components/driver-settings.d.ts.map +1 -0
  37. package/dist/client/components/driver-settings.js +158 -0
  38. package/dist/client/components/driver-settings.js.map +1 -0
  39. package/dist/client/components/environment-form.d.ts +18 -0
  40. package/dist/client/components/environment-form.d.ts.map +1 -0
  41. package/dist/client/components/environment-form.js +284 -0
  42. package/dist/client/components/environment-form.js.map +1 -0
  43. package/dist/client/components/image-source-fields.d.ts +16 -0
  44. package/dist/client/components/image-source-fields.d.ts.map +1 -0
  45. package/dist/client/components/image-source-fields.js +53 -0
  46. package/dist/client/components/image-source-fields.js.map +1 -0
  47. package/dist/client/components/labels-editor.d.ts +15 -0
  48. package/dist/client/components/labels-editor.d.ts.map +1 -0
  49. package/dist/client/components/labels-editor.js +40 -0
  50. package/dist/client/components/labels-editor.js.map +1 -0
  51. package/dist/client/components/page-container.d.ts +11 -0
  52. package/dist/client/components/page-container.d.ts.map +1 -0
  53. package/dist/client/components/page-container.js +13 -0
  54. package/dist/client/components/page-container.js.map +1 -0
  55. package/dist/client/components/page-header.d.ts +14 -0
  56. package/dist/client/components/page-header.d.ts.map +1 -0
  57. package/dist/client/components/page-header.js +10 -0
  58. package/dist/client/components/page-header.js.map +1 -0
  59. package/dist/client/components/page-tabs.d.ts +20 -0
  60. package/dist/client/components/page-tabs.d.ts.map +1 -0
  61. package/dist/client/components/page-tabs.js +7 -0
  62. package/dist/client/components/page-tabs.js.map +1 -0
  63. package/dist/client/components/people-picker.d.ts +5 -0
  64. package/dist/client/components/people-picker.d.ts.map +1 -0
  65. package/dist/client/components/people-picker.js +22 -0
  66. package/dist/client/components/people-picker.js.map +1 -0
  67. package/dist/client/components/refresh-button.d.ts +7 -0
  68. package/dist/client/components/refresh-button.d.ts.map +1 -0
  69. package/dist/client/components/refresh-button.js +21 -0
  70. package/dist/client/components/refresh-button.js.map +1 -0
  71. package/dist/client/components/registry-fields.d.ts +20 -0
  72. package/dist/client/components/registry-fields.d.ts.map +1 -0
  73. package/dist/client/components/registry-fields.js +47 -0
  74. package/dist/client/components/registry-fields.js.map +1 -0
  75. package/dist/client/components/release-badges.d.ts +42 -0
  76. package/dist/client/components/release-badges.d.ts.map +1 -0
  77. package/dist/client/components/release-badges.js +100 -0
  78. package/dist/client/components/release-badges.js.map +1 -0
  79. package/dist/client/components/request-decision.d.ts +8 -0
  80. package/dist/client/components/request-decision.d.ts.map +1 -0
  81. package/dist/client/components/request-decision.js +7 -0
  82. package/dist/client/components/request-decision.js.map +1 -0
  83. package/dist/client/components/route-dialog.d.ts +6 -0
  84. package/dist/client/components/route-dialog.d.ts.map +1 -0
  85. package/dist/client/components/route-dialog.js +7 -0
  86. package/dist/client/components/route-dialog.js.map +1 -0
  87. package/dist/client/components/route-overlay.d.ts +21 -0
  88. package/dist/client/components/route-overlay.d.ts.map +1 -0
  89. package/dist/client/components/route-overlay.js +87 -0
  90. package/dist/client/components/route-overlay.js.map +1 -0
  91. package/dist/client/components/row-actions.d.ts +9 -0
  92. package/dist/client/components/row-actions.d.ts.map +1 -0
  93. package/dist/client/components/row-actions.js +16 -0
  94. package/dist/client/components/row-actions.js.map +1 -0
  95. package/dist/client/components/runtime-policy-fields.d.ts +9 -0
  96. package/dist/client/components/runtime-policy-fields.d.ts.map +1 -0
  97. package/dist/client/components/runtime-policy-fields.js +26 -0
  98. package/dist/client/components/runtime-policy-fields.js.map +1 -0
  99. package/dist/client/components/section.d.ts +15 -0
  100. package/dist/client/components/section.d.ts.map +1 -0
  101. package/dist/client/components/section.js +6 -0
  102. package/dist/client/components/section.js.map +1 -0
  103. package/dist/client/components/states.d.ts +21 -0
  104. package/dist/client/components/states.d.ts.map +1 -0
  105. package/dist/client/components/states.js +29 -0
  106. package/dist/client/components/states.js.map +1 -0
  107. package/dist/client/components/tag.d.ts +15 -0
  108. package/dist/client/components/tag.d.ts.map +1 -0
  109. package/dist/client/components/tag.js +15 -0
  110. package/dist/client/components/tag.js.map +1 -0
  111. package/dist/client/components/ui/alert-dialog.d.ts +19 -0
  112. package/dist/client/components/ui/alert-dialog.d.ts.map +1 -0
  113. package/dist/client/components/ui/alert-dialog.js +42 -0
  114. package/dist/client/components/ui/alert-dialog.js.map +1 -0
  115. package/dist/client/components/ui/alert.d.ts +13 -0
  116. package/dist/client/components/ui/alert.d.ts.map +1 -0
  117. package/dist/client/components/ui/alert.js +31 -0
  118. package/dist/client/components/ui/alert.js.map +1 -0
  119. package/dist/client/components/ui/badge.d.ts +11 -0
  120. package/dist/client/components/ui/badge.d.ts.map +1 -0
  121. package/dist/client/components/ui/badge.js +37 -0
  122. package/dist/client/components/ui/badge.js.map +1 -0
  123. package/dist/client/components/ui/button.d.ts +12 -0
  124. package/dist/client/components/ui/button.d.ts.map +1 -0
  125. package/dist/client/components/ui/button.js +38 -0
  126. package/dist/client/components/ui/button.js.map +1 -0
  127. package/dist/client/components/ui/card.d.ts +12 -0
  128. package/dist/client/components/ui/card.d.ts.map +1 -0
  129. package/dist/client/components/ui/card.js +25 -0
  130. package/dist/client/components/ui/card.js.map +1 -0
  131. package/dist/client/components/ui/checkbox.d.ts +5 -0
  132. package/dist/client/components/ui/checkbox.d.ts.map +1 -0
  133. package/dist/client/components/ui/checkbox.js +9 -0
  134. package/dist/client/components/ui/checkbox.js.map +1 -0
  135. package/dist/client/components/ui/collapsible.d.ts +7 -0
  136. package/dist/client/components/ui/collapsible.d.ts.map +1 -0
  137. package/dist/client/components/ui/collapsible.js +13 -0
  138. package/dist/client/components/ui/collapsible.js.map +1 -0
  139. package/dist/client/components/ui/dialog.d.ts +18 -0
  140. package/dist/client/components/ui/dialog.d.ts.map +1 -0
  141. package/dist/client/components/ui/dialog.js +40 -0
  142. package/dist/client/components/ui/dialog.js.map +1 -0
  143. package/dist/client/components/ui/dropdown-menu.d.ts +30 -0
  144. package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -0
  145. package/dist/client/components/ui/dropdown-menu.js +51 -0
  146. package/dist/client/components/ui/dropdown-menu.js.map +1 -0
  147. package/dist/client/components/ui/empty.d.ts +15 -0
  148. package/dist/client/components/ui/empty.d.ts.map +1 -0
  149. package/dist/client/components/ui/empty.js +37 -0
  150. package/dist/client/components/ui/empty.js.map +1 -0
  151. package/dist/client/components/ui/field.d.ts +28 -0
  152. package/dist/client/components/ui/field.d.ts.map +1 -0
  153. package/dist/client/components/ui/field.js +71 -0
  154. package/dist/client/components/ui/field.js.map +1 -0
  155. package/dist/client/components/ui/input-group.d.ts +22 -0
  156. package/dist/client/components/ui/input-group.d.ts.map +1 -0
  157. package/dist/client/components/ui/input-group.js +63 -0
  158. package/dist/client/components/ui/input-group.js.map +1 -0
  159. package/dist/client/components/ui/input.d.ts +4 -0
  160. package/dist/client/components/ui/input.d.ts.map +1 -0
  161. package/dist/client/components/ui/input.js +8 -0
  162. package/dist/client/components/ui/input.js.map +1 -0
  163. package/dist/client/components/ui/label.d.ts +4 -0
  164. package/dist/client/components/ui/label.d.ts.map +1 -0
  165. package/dist/client/components/ui/label.js +7 -0
  166. package/dist/client/components/ui/label.js.map +1 -0
  167. package/dist/client/components/ui/radio-group.d.ts +7 -0
  168. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  169. package/dist/client/components/ui/radio-group.js +12 -0
  170. package/dist/client/components/ui/radio-group.js.map +1 -0
  171. package/dist/client/components/ui/select.d.ts +16 -0
  172. package/dist/client/components/ui/select.d.ts.map +1 -0
  173. package/dist/client/components/ui/select.js +34 -0
  174. package/dist/client/components/ui/select.js.map +1 -0
  175. package/dist/client/components/ui/separator.d.ts +5 -0
  176. package/dist/client/components/ui/separator.d.ts.map +1 -0
  177. package/dist/client/components/ui/separator.js +8 -0
  178. package/dist/client/components/ui/separator.js.map +1 -0
  179. package/dist/client/components/ui/sheet.d.ts +15 -0
  180. package/dist/client/components/ui/sheet.d.ts.map +1 -0
  181. package/dist/client/components/ui/sheet.js +39 -0
  182. package/dist/client/components/ui/sheet.js.map +1 -0
  183. package/dist/client/components/ui/skeleton.d.ts +4 -0
  184. package/dist/client/components/ui/skeleton.d.ts.map +1 -0
  185. package/dist/client/components/ui/skeleton.js +7 -0
  186. package/dist/client/components/ui/skeleton.js.map +1 -0
  187. package/dist/client/components/ui/spinner.d.ts +4 -0
  188. package/dist/client/components/ui/spinner.d.ts.map +1 -0
  189. package/dist/client/components/ui/spinner.js +11 -0
  190. package/dist/client/components/ui/spinner.js.map +1 -0
  191. package/dist/client/components/ui/table.d.ts +11 -0
  192. package/dist/client/components/ui/table.d.ts.map +1 -0
  193. package/dist/client/components/ui/table.js +28 -0
  194. package/dist/client/components/ui/table.js.map +1 -0
  195. package/dist/client/components/ui/tabs.d.ts +14 -0
  196. package/dist/client/components/ui/tabs.d.ts.map +1 -0
  197. package/dist/client/components/ui/tabs.js +32 -0
  198. package/dist/client/components/ui/tabs.js.map +1 -0
  199. package/dist/client/components/ui/textarea.d.ts +4 -0
  200. package/dist/client/components/ui/textarea.d.ts.map +1 -0
  201. package/dist/client/components/ui/textarea.js +7 -0
  202. package/dist/client/components/ui/textarea.js.map +1 -0
  203. package/dist/client/components/ui/tooltip.d.ts +8 -0
  204. package/dist/client/components/ui/tooltip.d.ts.map +1 -0
  205. package/dist/client/components/ui/tooltip.js +17 -0
  206. package/dist/client/components/ui/tooltip.js.map +1 -0
  207. package/dist/client/components/upload-release-dialog.d.ts +8 -0
  208. package/dist/client/components/upload-release-dialog.d.ts.map +1 -0
  209. package/dist/client/components/upload-release-dialog.js +39 -0
  210. package/dist/client/components/upload-release-dialog.js.map +1 -0
  211. package/dist/client/components/use-route-overlay.d.ts +15 -0
  212. package/dist/client/components/use-route-overlay.d.ts.map +1 -0
  213. package/dist/client/components/use-route-overlay.js +15 -0
  214. package/dist/client/components/use-route-overlay.js.map +1 -0
  215. package/dist/client/components/variable-alerts.d.ts +24 -0
  216. package/dist/client/components/variable-alerts.d.ts.map +1 -0
  217. package/dist/client/components/variable-alerts.js +85 -0
  218. package/dist/client/components/variable-alerts.js.map +1 -0
  219. package/dist/client/components/variable-dialogs.d.ts +30 -0
  220. package/dist/client/components/variable-dialogs.d.ts.map +1 -0
  221. package/dist/client/components/variable-dialogs.js +155 -0
  222. package/dist/client/components/variable-dialogs.js.map +1 -0
  223. package/dist/client/components/variables-table.d.ts +26 -0
  224. package/dist/client/components/variables-table.d.ts.map +1 -0
  225. package/dist/client/components/variables-table.js +374 -0
  226. package/dist/client/components/variables-table.js.map +1 -0
  227. package/dist/client/driver-forms/host.d.ts +3 -0
  228. package/dist/client/driver-forms/host.d.ts.map +1 -0
  229. package/dist/client/driver-forms/host.js +100 -0
  230. package/dist/client/driver-forms/host.js.map +1 -0
  231. package/dist/client/driver-forms/index.d.ts +25 -0
  232. package/dist/client/driver-forms/index.d.ts.map +1 -0
  233. package/dist/client/driver-forms/index.js +40 -0
  234. package/dist/client/driver-forms/index.js.map +1 -0
  235. package/dist/client/driver-forms/mapping.d.ts +56 -0
  236. package/dist/client/driver-forms/mapping.d.ts.map +1 -0
  237. package/dist/client/driver-forms/mapping.js +308 -0
  238. package/dist/client/driver-forms/mapping.js.map +1 -0
  239. package/dist/client/driver-forms/types.d.ts +168 -0
  240. package/dist/client/driver-forms/types.d.ts.map +1 -0
  241. package/dist/client/driver-forms/types.js +16 -0
  242. package/dist/client/driver-forms/types.js.map +1 -0
  243. package/dist/client/hooks/use-connection-check.d.ts +18 -0
  244. package/dist/client/hooks/use-connection-check.d.ts.map +1 -0
  245. package/dist/client/hooks/use-connection-check.js +19 -0
  246. package/dist/client/hooks/use-connection-check.js.map +1 -0
  247. package/dist/client/hooks/use-driver-forms.d.ts +4 -0
  248. package/dist/client/hooks/use-driver-forms.d.ts.map +1 -0
  249. package/dist/client/hooks/use-driver-forms.js +12 -0
  250. package/dist/client/hooks/use-driver-forms.js.map +1 -0
  251. package/dist/client/hooks/use-driver-names.d.ts +14 -0
  252. package/dist/client/hooks/use-driver-names.d.ts.map +1 -0
  253. package/dist/client/hooks/use-driver-names.js +33 -0
  254. package/dist/client/hooks/use-driver-names.js.map +1 -0
  255. package/dist/client/hooks/use-environment-check.d.ts +8 -0
  256. package/dist/client/hooks/use-environment-check.d.ts.map +1 -0
  257. package/dist/client/hooks/use-environment-check.js +28 -0
  258. package/dist/client/hooks/use-environment-check.js.map +1 -0
  259. package/dist/client/hooks/use-notify.d.ts +7 -0
  260. package/dist/client/hooks/use-notify.d.ts.map +1 -0
  261. package/dist/client/hooks/use-notify.js +22 -0
  262. package/dist/client/hooks/use-notify.js.map +1 -0
  263. package/dist/client/hooks/use-registries.d.ts +6 -0
  264. package/dist/client/hooks/use-registries.d.ts.map +1 -0
  265. package/dist/client/hooks/use-registries.js +9 -0
  266. package/dist/client/hooks/use-registries.js.map +1 -0
  267. package/dist/client/hooks/use-registry-check.d.ts +16 -0
  268. package/dist/client/hooks/use-registry-check.d.ts.map +1 -0
  269. package/dist/client/hooks/use-registry-check.js +29 -0
  270. package/dist/client/hooks/use-registry-check.js.map +1 -0
  271. package/dist/client/hooks/use-releases.d.ts +42 -0
  272. package/dist/client/hooks/use-releases.d.ts.map +1 -0
  273. package/dist/client/hooks/use-releases.js +82 -0
  274. package/dist/client/hooks/use-releases.js.map +1 -0
  275. package/dist/client/hooks/use-request-decisions.d.ts +15 -0
  276. package/dist/client/hooks/use-request-decisions.d.ts.map +1 -0
  277. package/dist/client/hooks/use-request-decisions.js +69 -0
  278. package/dist/client/hooks/use-request-decisions.js.map +1 -0
  279. package/dist/client/hooks/use-tab-param.d.ts +5 -0
  280. package/dist/client/hooks/use-tab-param.d.ts.map +1 -0
  281. package/dist/client/hooks/use-tab-param.js +33 -0
  282. package/dist/client/hooks/use-tab-param.js.map +1 -0
  283. package/dist/client/index.d.ts +12 -0
  284. package/dist/client/index.d.ts.map +1 -0
  285. package/dist/client/index.js +13 -0
  286. package/dist/client/index.js.map +1 -0
  287. package/dist/client/lib/actor-names.d.ts +16 -0
  288. package/dist/client/lib/actor-names.d.ts.map +1 -0
  289. package/dist/client/lib/actor-names.js +8 -0
  290. package/dist/client/lib/actor-names.js.map +1 -0
  291. package/dist/client/lib/app-groups.d.ts +20 -0
  292. package/dist/client/lib/app-groups.d.ts.map +1 -0
  293. package/dist/client/lib/app-groups.js +36 -0
  294. package/dist/client/lib/app-groups.js.map +1 -0
  295. package/dist/client/lib/app-origin.d.ts +22 -0
  296. package/dist/client/lib/app-origin.d.ts.map +1 -0
  297. package/dist/client/lib/app-origin.js +10 -0
  298. package/dist/client/lib/app-origin.js.map +1 -0
  299. package/dist/client/lib/app-state.d.ts +7 -0
  300. package/dist/client/lib/app-state.d.ts.map +1 -0
  301. package/dist/client/lib/app-state.js +15 -0
  302. package/dist/client/lib/app-state.js.map +1 -0
  303. package/dist/client/lib/config-secrets.d.ts +12 -0
  304. package/dist/client/lib/config-secrets.d.ts.map +1 -0
  305. package/dist/client/lib/config-secrets.js +16 -0
  306. package/dist/client/lib/config-secrets.js.map +1 -0
  307. package/dist/client/lib/delete-app-impact.d.ts +17 -0
  308. package/dist/client/lib/delete-app-impact.d.ts.map +1 -0
  309. package/dist/client/lib/delete-app-impact.js +10 -0
  310. package/dist/client/lib/delete-app-impact.js.map +1 -0
  311. package/dist/client/lib/errors.d.ts +9 -0
  312. package/dist/client/lib/errors.d.ts.map +1 -0
  313. package/dist/client/lib/errors.js +76 -0
  314. package/dist/client/lib/errors.js.map +1 -0
  315. package/dist/client/lib/format.d.ts +8 -0
  316. package/dist/client/lib/format.d.ts.map +1 -0
  317. package/dist/client/lib/format.js +29 -0
  318. package/dist/client/lib/format.js.map +1 -0
  319. package/dist/client/lib/labels.d.ts +14 -0
  320. package/dist/client/lib/labels.d.ts.map +1 -0
  321. package/dist/client/lib/labels.js +42 -0
  322. package/dist/client/lib/labels.js.map +1 -0
  323. package/dist/client/lib/paths.d.ts +25 -0
  324. package/dist/client/lib/paths.d.ts.map +1 -0
  325. package/dist/client/lib/paths.js +31 -0
  326. package/dist/client/lib/paths.js.map +1 -0
  327. package/dist/client/lib/pending-requests.d.ts +7 -0
  328. package/dist/client/lib/pending-requests.d.ts.map +1 -0
  329. package/dist/client/lib/pending-requests.js +12 -0
  330. package/dist/client/lib/pending-requests.js.map +1 -0
  331. package/dist/client/lib/people-picker.d.ts +19 -0
  332. package/dist/client/lib/people-picker.d.ts.map +1 -0
  333. package/dist/client/lib/people-picker.js +8 -0
  334. package/dist/client/lib/people-picker.js.map +1 -0
  335. package/dist/client/lib/permissions.d.ts +6 -0
  336. package/dist/client/lib/permissions.d.ts.map +1 -0
  337. package/dist/client/lib/permissions.js +14 -0
  338. package/dist/client/lib/permissions.js.map +1 -0
  339. package/dist/client/lib/registry-draft.d.ts +26 -0
  340. package/dist/client/lib/registry-draft.d.ts.map +1 -0
  341. package/dist/client/lib/registry-draft.js +41 -0
  342. package/dist/client/lib/registry-draft.js.map +1 -0
  343. package/dist/client/lib/runtime-policy.d.ts +21 -0
  344. package/dist/client/lib/runtime-policy.d.ts.map +1 -0
  345. package/dist/client/lib/runtime-policy.js +63 -0
  346. package/dist/client/lib/runtime-policy.js.map +1 -0
  347. package/dist/client/lib/system-labels.d.ts +15 -0
  348. package/dist/client/lib/system-labels.d.ts.map +1 -0
  349. package/dist/client/lib/system-labels.js +14 -0
  350. package/dist/client/lib/system-labels.js.map +1 -0
  351. package/dist/client/lib/utils.d.ts +2 -0
  352. package/dist/client/lib/utils.d.ts.map +1 -0
  353. package/dist/client/lib/utils.js +2 -0
  354. package/dist/client/lib/utils.js.map +1 -0
  355. package/dist/client/lib/variables-text.d.ts +67 -0
  356. package/dist/client/lib/variables-text.d.ts.map +1 -0
  357. package/dist/client/lib/variables-text.js +156 -0
  358. package/dist/client/lib/variables-text.js.map +1 -0
  359. package/dist/client/locales/en-US.d.ts +670 -0
  360. package/dist/client/locales/en-US.d.ts.map +1 -0
  361. package/dist/client/locales/en-US.js +655 -0
  362. package/dist/client/locales/en-US.js.map +1 -0
  363. package/dist/client/locales/index.d.ts +4 -0
  364. package/dist/client/locales/index.d.ts.map +1 -0
  365. package/dist/client/locales/index.js +7 -0
  366. package/dist/client/locales/index.js.map +1 -0
  367. package/dist/client/locales/zh-CN.d.ts +4 -0
  368. package/dist/client/locales/zh-CN.d.ts.map +1 -0
  369. package/dist/client/locales/zh-CN.js +650 -0
  370. package/dist/client/locales/zh-CN.js.map +1 -0
  371. package/dist/client/pages/app-page.d.ts +3 -0
  372. package/dist/client/pages/app-page.d.ts.map +1 -0
  373. package/dist/client/pages/app-page.js +532 -0
  374. package/dist/client/pages/app-page.js.map +1 -0
  375. package/dist/client/pages/apps-page.d.ts +4 -0
  376. package/dist/client/pages/apps-page.d.ts.map +1 -0
  377. package/dist/client/pages/apps-page.js +116 -0
  378. package/dist/client/pages/apps-page.js.map +1 -0
  379. package/dist/client/pages/environment-page.d.ts +3 -0
  380. package/dist/client/pages/environment-page.d.ts.map +1 -0
  381. package/dist/client/pages/environment-page.js +147 -0
  382. package/dist/client/pages/environment-page.js.map +1 -0
  383. package/dist/client/pages/environments-page.d.ts +4 -0
  384. package/dist/client/pages/environments-page.d.ts.map +1 -0
  385. package/dist/client/pages/environments-page.js +115 -0
  386. package/dist/client/pages/environments-page.js.map +1 -0
  387. package/dist/client/pages/new-app-page.d.ts +10 -0
  388. package/dist/client/pages/new-app-page.d.ts.map +1 -0
  389. package/dist/client/pages/new-app-page.js +101 -0
  390. package/dist/client/pages/new-app-page.js.map +1 -0
  391. package/dist/client/pages/request-page.d.ts +7 -0
  392. package/dist/client/pages/request-page.d.ts.map +1 -0
  393. package/dist/client/pages/request-page.js +70 -0
  394. package/dist/client/pages/request-page.js.map +1 -0
  395. package/dist/client/pages.d.ts +10 -0
  396. package/dist/client/pages.d.ts.map +1 -0
  397. package/dist/client/pages.js +25 -0
  398. package/dist/client/pages.js.map +1 -0
  399. package/dist/client/plugin.d.ts +12 -0
  400. package/dist/client/plugin.d.ts.map +1 -0
  401. package/dist/client/plugin.js +12 -0
  402. package/dist/client/plugin.js.map +1 -0
  403. package/dist/client/routes.d.ts +19 -0
  404. package/dist/client/routes.d.ts.map +1 -0
  405. package/dist/client/routes.js +89 -0
  406. package/dist/client/routes.js.map +1 -0
  407. package/dist/client/service-provider.d.ts +11 -0
  408. package/dist/client/service-provider.d.ts.map +1 -0
  409. package/dist/client/service-provider.js +14 -0
  410. package/dist/client/service-provider.js.map +1 -0
  411. package/dist/database/migrations/.manifest.json +21 -0
  412. package/dist/database/migrations/202610020001_rel_create_tables.d.ts +8 -0
  413. package/dist/database/migrations/202610020001_rel_create_tables.d.ts.map +1 -0
  414. package/dist/database/migrations/202610020001_rel_create_tables.js +247 -0
  415. package/dist/database/migrations/202610020001_rel_create_tables.js.map +1 -0
  416. package/dist/database/migrations/202610100001_rel_variables_initial_admin.d.ts +16 -0
  417. package/dist/database/migrations/202610100001_rel_variables_initial_admin.d.ts.map +1 -0
  418. package/dist/database/migrations/202610100001_rel_variables_initial_admin.js +94 -0
  419. package/dist/database/migrations/202610100001_rel_variables_initial_admin.js.map +1 -0
  420. package/dist/database/migrations/202610170001_rel_drop_app_preview_values.d.ts +8 -0
  421. package/dist/database/migrations/202610170001_rel_drop_app_preview_values.d.ts.map +1 -0
  422. package/dist/database/migrations/202610170001_rel_drop_app_preview_values.js +25 -0
  423. package/dist/database/migrations/202610170001_rel_drop_app_preview_values.js.map +1 -0
  424. package/dist/database/migrations/202610210001_rel_protected_requires_approval.d.ts +9 -0
  425. package/dist/database/migrations/202610210001_rel_protected_requires_approval.d.ts.map +1 -0
  426. package/dist/database/migrations/202610210001_rel_protected_requires_approval.js +32 -0
  427. package/dist/database/migrations/202610210001_rel_protected_requires_approval.js.map +1 -0
  428. package/dist/package.d.ts +2 -0
  429. package/dist/package.d.ts.map +1 -0
  430. package/dist/package.js +2 -0
  431. package/dist/package.js.map +1 -0
  432. package/dist/server/access/caller.d.ts +74 -0
  433. package/dist/server/access/caller.d.ts.map +1 -0
  434. package/dist/server/access/caller.js +141 -0
  435. package/dist/server/access/caller.js.map +1 -0
  436. package/dist/server/access/key-scope-objects.d.ts +20 -0
  437. package/dist/server/access/key-scope-objects.d.ts.map +1 -0
  438. package/dist/server/access/key-scope-objects.js +42 -0
  439. package/dist/server/access/key-scope-objects.js.map +1 -0
  440. package/dist/server/composition.d.ts +52 -0
  441. package/dist/server/composition.d.ts.map +1 -0
  442. package/dist/server/composition.js +105 -0
  443. package/dist/server/composition.js.map +1 -0
  444. package/dist/server/config.d.ts +127 -0
  445. package/dist/server/config.d.ts.map +1 -0
  446. package/dist/server/config.js +2 -0
  447. package/dist/server/config.js.map +1 -0
  448. package/dist/server/drivers/host/driver.d.ts +87 -0
  449. package/dist/server/drivers/host/driver.d.ts.map +1 -0
  450. package/dist/server/drivers/host/driver.js +636 -0
  451. package/dist/server/drivers/host/driver.js.map +1 -0
  452. package/dist/server/drivers/types.d.ts +221 -0
  453. package/dist/server/drivers/types.d.ts.map +1 -0
  454. package/dist/server/drivers/types.js +27 -0
  455. package/dist/server/drivers/types.js.map +1 -0
  456. package/dist/server/errors.d.ts +20 -0
  457. package/dist/server/errors.d.ts.map +1 -0
  458. package/dist/server/errors.js +44 -0
  459. package/dist/server/errors.js.map +1 -0
  460. package/dist/server/index.d.ts +14 -0
  461. package/dist/server/index.d.ts.map +1 -0
  462. package/dist/server/index.js +13 -0
  463. package/dist/server/index.js.map +1 -0
  464. package/dist/server/locales/en-US.d.ts +6 -0
  465. package/dist/server/locales/en-US.d.ts.map +1 -0
  466. package/dist/server/locales/en-US.js +4 -0
  467. package/dist/server/locales/en-US.js.map +1 -0
  468. package/dist/server/locales/index.d.ts +4 -0
  469. package/dist/server/locales/index.d.ts.map +1 -0
  470. package/dist/server/locales/index.js +6 -0
  471. package/dist/server/locales/index.js.map +1 -0
  472. package/dist/server/locales/zh-CN.d.ts +4 -0
  473. package/dist/server/locales/zh-CN.d.ts.map +1 -0
  474. package/dist/server/locales/zh-CN.js +4 -0
  475. package/dist/server/locales/zh-CN.js.map +1 -0
  476. package/dist/server/plugin.d.ts +4 -0
  477. package/dist/server/plugin.d.ts.map +1 -0
  478. package/dist/server/plugin.js +16 -0
  479. package/dist/server/plugin.js.map +1 -0
  480. package/dist/server/providers/authorization.d.ts +17 -0
  481. package/dist/server/providers/authorization.d.ts.map +1 -0
  482. package/dist/server/providers/authorization.js +60 -0
  483. package/dist/server/providers/authorization.js.map +1 -0
  484. package/dist/server/providers/index.d.ts +4 -0
  485. package/dist/server/providers/index.d.ts.map +1 -0
  486. package/dist/server/providers/index.js +8 -0
  487. package/dist/server/providers/index.js.map +1 -0
  488. package/dist/server/providers/releases.d.ts +23 -0
  489. package/dist/server/providers/releases.d.ts.map +1 -0
  490. package/dist/server/providers/releases.js +219 -0
  491. package/dist/server/providers/releases.js.map +1 -0
  492. package/dist/server/routes/api.d.ts +24 -0
  493. package/dist/server/routes/api.d.ts.map +1 -0
  494. package/dist/server/routes/api.js +1610 -0
  495. package/dist/server/routes/api.js.map +1 -0
  496. package/dist/server/routes/index.d.ts +7 -0
  497. package/dist/server/routes/index.d.ts.map +1 -0
  498. package/dist/server/routes/index.js +39 -0
  499. package/dist/server/routes/index.js.map +1 -0
  500. package/dist/server/routes/schemas.d.ts +184 -0
  501. package/dist/server/routes/schemas.d.ts.map +1 -0
  502. package/dist/server/routes/schemas.js +763 -0
  503. package/dist/server/routes/schemas.js.map +1 -0
  504. package/dist/server/secrets-stores.d.ts +9 -0
  505. package/dist/server/secrets-stores.d.ts.map +1 -0
  506. package/dist/server/secrets-stores.js +80 -0
  507. package/dist/server/secrets-stores.js.map +1 -0
  508. package/dist/server/services/artifact.d.ts +30 -0
  509. package/dist/server/services/artifact.d.ts.map +1 -0
  510. package/dist/server/services/artifact.js +234 -0
  511. package/dist/server/services/artifact.js.map +1 -0
  512. package/dist/server/services/codec.d.ts +15 -0
  513. package/dist/server/services/codec.d.ts.map +1 -0
  514. package/dist/server/services/codec.js +58 -0
  515. package/dist/server/services/codec.js.map +1 -0
  516. package/dist/server/services/config-file.d.ts +26 -0
  517. package/dist/server/services/config-file.d.ts.map +1 -0
  518. package/dist/server/services/config-file.js +154 -0
  519. package/dist/server/services/config-file.js.map +1 -0
  520. package/dist/server/services/config-secrets.d.ts +23 -0
  521. package/dist/server/services/config-secrets.d.ts.map +1 -0
  522. package/dist/server/services/config-secrets.js +269 -0
  523. package/dist/server/services/config-secrets.js.map +1 -0
  524. package/dist/server/services/credentials.d.ts +44 -0
  525. package/dist/server/services/credentials.d.ts.map +1 -0
  526. package/dist/server/services/credentials.js +137 -0
  527. package/dist/server/services/credentials.js.map +1 -0
  528. package/dist/server/services/environments.d.ts +75 -0
  529. package/dist/server/services/environments.d.ts.map +1 -0
  530. package/dist/server/services/environments.js +508 -0
  531. package/dist/server/services/environments.js.map +1 -0
  532. package/dist/server/services/events.d.ts +11 -0
  533. package/dist/server/services/events.d.ts.map +1 -0
  534. package/dist/server/services/events.js +26 -0
  535. package/dist/server/services/events.js.map +1 -0
  536. package/dist/server/services/registries.d.ts +67 -0
  537. package/dist/server/services/registries.d.ts.map +1 -0
  538. package/dist/server/services/registries.js +409 -0
  539. package/dist/server/services/registries.js.map +1 -0
  540. package/dist/server/services/release-artifacts.d.ts +42 -0
  541. package/dist/server/services/release-artifacts.d.ts.map +1 -0
  542. package/dist/server/services/release-artifacts.js +165 -0
  543. package/dist/server/services/release-artifacts.js.map +1 -0
  544. package/dist/server/services/releases.d.ts +417 -0
  545. package/dist/server/services/releases.d.ts.map +1 -0
  546. package/dist/server/services/releases.js +2725 -0
  547. package/dist/server/services/releases.js.map +1 -0
  548. package/dist/server/services/requests.d.ts +54 -0
  549. package/dist/server/services/requests.d.ts.map +1 -0
  550. package/dist/server/services/requests.js +342 -0
  551. package/dist/server/services/requests.js.map +1 -0
  552. package/dist/server/services/secrets.d.ts +11 -0
  553. package/dist/server/services/secrets.d.ts.map +1 -0
  554. package/dist/server/services/secrets.js +36 -0
  555. package/dist/server/services/secrets.js.map +1 -0
  556. package/dist/server/services/validation.d.ts +21 -0
  557. package/dist/server/services/validation.d.ts.map +1 -0
  558. package/dist/server/services/validation.js +111 -0
  559. package/dist/server/services/validation.js.map +1 -0
  560. package/dist/server/services/variables.d.ts +132 -0
  561. package/dist/server/services/variables.d.ts.map +1 -0
  562. package/dist/server/services/variables.js +501 -0
  563. package/dist/server/services/variables.js.map +1 -0
  564. package/dist/server/tokens.d.ts +110 -0
  565. package/dist/server/tokens.d.ts.map +1 -0
  566. package/dist/server/tokens.js +9 -0
  567. package/dist/server/tokens.js.map +1 -0
  568. package/dist/shared/access.d.ts +212 -0
  569. package/dist/shared/access.d.ts.map +1 -0
  570. package/dist/shared/access.js +228 -0
  571. package/dist/shared/access.js.map +1 -0
  572. package/dist/shared/locales/access.en-US.d.ts +137 -0
  573. package/dist/shared/locales/access.en-US.d.ts.map +1 -0
  574. package/dist/shared/locales/access.en-US.js +133 -0
  575. package/dist/shared/locales/access.en-US.js.map +1 -0
  576. package/dist/shared/locales/access.zh-CN.d.ts +4 -0
  577. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -0
  578. package/dist/shared/locales/access.zh-CN.js +127 -0
  579. package/dist/shared/locales/access.zh-CN.js.map +1 -0
  580. package/dist/shared/releases.d.ts +657 -0
  581. package/dist/shared/releases.d.ts.map +1 -0
  582. package/dist/shared/releases.js +56 -0
  583. package/dist/shared/releases.js.map +1 -0
  584. package/package.json +118 -3
@@ -0,0 +1,657 @@
1
+ /**
2
+ * The records the HTTP API returns and the client renders. The server keeps more on its rows (artifact keys, config
3
+ * file paths, encrypted credentials); these are what leaves it.
4
+ */
5
+ import type { AppAction } from './access.js';
6
+ /**
7
+ * Who performed an operation. `human` is a signed-in person, `agent` a person's agent acting for them (the assembling
8
+ * application marks it), `key` an API key with a scope, a service account's key or an upload ticket, `rule` an automation of the assembling
9
+ * application, `system` the plugin or the assembling application acting on its own (an installation's setup).
10
+ */
11
+ export type ActorKind = 'human' | 'agent' | 'key' | 'rule' | 'system';
12
+ export declare const ACTOR_KINDS: readonly ActorKind[];
13
+ /** Opaque key/value labels the assembling application attaches and filters by (`issue=FG-12`, `branch=main`). */
14
+ export type Labels = Readonly<Record<string, string>>;
15
+ /** A label name: a letter or digit, then letters, digits, `.`, `_`, `/` or `-`, at most 63 characters. */
16
+ export declare const LABEL_KEY_PATTERN: RegExp;
17
+ export declare const MAX_LABELS = 32;
18
+ export declare const MAX_LABEL_VALUE_LENGTH = 255;
19
+ /**
20
+ * What the runtime reports. `starting`: a stopped App is being started by a request; `dormant`: stopped, with its
21
+ * expanded release removed until a request prepares it again (both only on a driver with `onDemand`).
22
+ */
23
+ export type ObservedState = 'pending' | 'running' | 'starting' | 'stopped' | 'dormant' | 'failed' | 'unknown';
24
+ /**
25
+ * When an App runs. `eager`: started when deployed and whenever the runtime restarts. `onDemand`: started by its first
26
+ * request after a deployment or a runtime restart. Either may stop after `idleStopMinutes` without a request (the next
27
+ * request starts it again) and become dormant after `dormantAfterHours` without one.
28
+ */
29
+ export type AppActivation = 'eager' | 'onDemand';
30
+ export declare const APP_ACTIVATIONS: readonly AppActivation[];
31
+ /** Bounds of the idle and dormancy policies. */
32
+ export declare const APP_POLICY_LIMITS: {
33
+ readonly idleStopMinutes: {
34
+ readonly min: number;
35
+ readonly max: number;
36
+ };
37
+ /** Hours; fractions are accepted (0.05 is three minutes). */
38
+ readonly dormantAfterHours: {
39
+ readonly min: number;
40
+ readonly max: number;
41
+ };
42
+ };
43
+ /** The runtime policy of an App, as created or changed. `null` turns a timer off. */
44
+ export interface AppRuntimePolicy {
45
+ readonly activation: AppActivation;
46
+ /** Stop the App after this many minutes without a request; null never stops it for idleness. */
47
+ readonly idleStopMinutes: number | null;
48
+ /**
49
+ * After this many hours without a request, also remove its expanded release (configuration and data stay); the next
50
+ * request prepares it again. Null never does.
51
+ */
52
+ readonly dormantAfterHours: number | null;
53
+ }
54
+ export type DeploymentStatus = 'queued' | 'deploying' | 'succeeded' | 'failed';
55
+ export type DeploymentPhase = 'queued' | 'resolving' | 'verifying' | 'extracting' | 'preparing' | 'starting' | 'health_check' | 'switching' | 'cleaning' | 'completed';
56
+ export type ConfigMode = 'file' | 'external';
57
+ export interface DriverCapabilitiesView {
58
+ readonly onDemand: boolean;
59
+ readonly logs: boolean;
60
+ readonly urlModes: readonly ('path' | 'subdomain')[];
61
+ /** Whether the driver runs a release's OCI image pulled by digest when its environment has a registry. */
62
+ readonly images: boolean;
63
+ }
64
+ export interface DriverSummary {
65
+ readonly kind: string;
66
+ readonly title: {
67
+ readonly key: string;
68
+ readonly ns: string;
69
+ };
70
+ readonly configSchema: Readonly<Record<string, unknown>>;
71
+ readonly secretSchema: Readonly<Record<string, unknown>> | null;
72
+ readonly capabilities: DriverCapabilitiesView;
73
+ /**
74
+ * When what the driver can do depends on one setting (the Host driver's run mode, `backend`): that key and the
75
+ * capabilities of each value; null otherwise.
76
+ */
77
+ readonly variants: {
78
+ readonly key: string;
79
+ readonly capabilities: Readonly<Record<string, DriverCapabilitiesView>>;
80
+ } | null;
81
+ /**
82
+ * How the application configured the driver itself, shown read-only beside an environment's settings (the Host's
83
+ * environment allowlist and launch prefix, for example); null when the driver reports nothing.
84
+ */
85
+ readonly facts: Readonly<Record<string, unknown>> | null;
86
+ }
87
+ /**
88
+ * What an environment runs, from its driver and settings: release archives uploaded to it (`archives`), release images
89
+ * CI registers (`images`; an environment runs one or the other), and the runtime policy (`onDemand`). A driver this
90
+ * application no longer has runs nothing.
91
+ */
92
+ export interface EnvironmentCapabilities {
93
+ readonly archives: boolean;
94
+ readonly images: boolean;
95
+ readonly onDemand: boolean;
96
+ }
97
+ export interface EnvironmentRecord {
98
+ readonly id: string;
99
+ readonly name: string;
100
+ readonly driver: string;
101
+ /** Driver connection settings without credentials. */
102
+ readonly config: Readonly<Record<string, unknown>>;
103
+ /** Whether write-only credentials are stored; they are never returned. */
104
+ readonly hasSecret: boolean;
105
+ /** Names of the stored credentials, so a form can say which are set; their values are never returned. */
106
+ readonly secretKeys: readonly string[];
107
+ /** Public URL pattern with `{appId}`, or null for the driver's default. */
108
+ readonly publicUrl: string | null;
109
+ /**
110
+ * Every deployment here goes through a deployment request a person other than the requester approves, typing the App
111
+ * ID again; nothing deploys directly.
112
+ */
113
+ readonly protected: boolean;
114
+ /**
115
+ * Opaque approver references the assembling application resolves (`ReleasesAccess.approversOf`); with none, the
116
+ * people holding `deploy-protected` on the App approve.
117
+ */
118
+ readonly approvers: readonly string[];
119
+ readonly maxApps: number | null;
120
+ /**
121
+ * The runtime policy an App created here without its own takes: stop after this many minutes without a request, and
122
+ * become dormant after this many hours (null: never).
123
+ */
124
+ readonly defaultIdleStopMinutes: number | null;
125
+ readonly defaultDormantAfterHours: number | null;
126
+ /**
127
+ * The image registry a Docker environment pulls release images from (`RegistryRecord.id`), with its pull
128
+ * credentials; null pulls anonymously.
129
+ */
130
+ readonly registryId: string | null;
131
+ readonly capabilities: EnvironmentCapabilities;
132
+ /** An App's first deployment here loads its sample data (`APP_SAMPLE_DATA=true`, generated). */
133
+ readonly sampleDataOnFirstDeploy: boolean;
134
+ readonly createdAt: string;
135
+ readonly updatedAt: string;
136
+ }
137
+ export interface EnvironmentInput {
138
+ readonly id?: string;
139
+ readonly name?: string;
140
+ readonly driver?: string;
141
+ readonly config?: Record<string, unknown>;
142
+ /** Replaces the stored credentials; `null` clears them; omitted keeps them. */
143
+ readonly secret?: Record<string, unknown> | null;
144
+ /**
145
+ * Changes some credentials and keeps the rest: a value replaces that credential, `null` removes it. Applied after
146
+ * `secret` when both are given.
147
+ */
148
+ readonly secretChanges?: Record<string, unknown>;
149
+ readonly publicUrl?: string | null;
150
+ readonly protected?: boolean;
151
+ readonly approvers?: readonly string[];
152
+ readonly maxApps?: number | null;
153
+ readonly defaultIdleStopMinutes?: number | null;
154
+ readonly defaultDormantAfterHours?: number | null;
155
+ readonly registryId?: string | null;
156
+ readonly sampleDataOnFirstDeploy?: boolean;
157
+ }
158
+ /** Settings to try before they are saved (`POST environments/check`). */
159
+ export interface EnvironmentCheckInput {
160
+ /** The environment being edited, whose stored credentials fill in the ones not changed; omitted for a new one. */
161
+ readonly id?: string;
162
+ readonly name?: string;
163
+ readonly driver: string;
164
+ readonly config?: Record<string, unknown>;
165
+ readonly secret?: Record<string, unknown> | null;
166
+ readonly secretChanges?: Record<string, unknown>;
167
+ readonly publicUrl?: string | null;
168
+ }
169
+ /** What a driver's `check()` reported. */
170
+ export interface EnvironmentCheckResult {
171
+ readonly ok: boolean;
172
+ readonly message?: string;
173
+ readonly details?: unknown;
174
+ }
175
+ /**
176
+ * An OCI image registry (OCI Distribution API): where an App's CI pushes release images and Docker environments pull
177
+ * them by digest. The pull password is write-only.
178
+ */
179
+ export interface RegistryRecord {
180
+ readonly id: string;
181
+ readonly name: string;
182
+ /** `https://ghcr.io`, `http://localhost:5000`. */
183
+ readonly url: string;
184
+ /** The host images are named under (`ghcr.io`, `localhost:5000`). */
185
+ readonly host: string;
186
+ /** The path release images go under (`acme`, `team/apps`); null for the registry's root. */
187
+ readonly namespace: string | null;
188
+ readonly pullUsername: string | null;
189
+ /** Which passwords are stored (`pullPassword`); their values are never returned. */
190
+ readonly secretKeys: readonly string[];
191
+ /** The environments that pull from it. */
192
+ readonly environmentIds: readonly string[];
193
+ readonly createdAt: string;
194
+ readonly updatedAt: string;
195
+ }
196
+ export declare const REGISTRY_SECRET_KEYS: readonly ["pullPassword"];
197
+ export type RegistrySecretKey = (typeof REGISTRY_SECRET_KEYS)[number];
198
+ export interface RegistryInput {
199
+ readonly id?: string;
200
+ readonly name?: string;
201
+ readonly url?: string;
202
+ readonly namespace?: string | null;
203
+ readonly pullUsername?: string | null;
204
+ /** A password replaces the stored one, `null` removes it; a key left out keeps it. */
205
+ readonly secretChanges?: Partial<Record<RegistrySecretKey, string | null>>;
206
+ }
207
+ /** What `POST registries/check` (and `registries/:registryId/check`) found, per credential. */
208
+ export interface RegistryCheckResult {
209
+ readonly ok: boolean;
210
+ readonly message?: string;
211
+ readonly details?: {
212
+ /** The registry answered `/v2/` without credentials. */
213
+ readonly anonymous?: boolean;
214
+ readonly pull?: 'ok' | 'failed' | 'notSet';
215
+ };
216
+ }
217
+ /** A release's artifact: its archive (an archive release), or one of its OCI images (an image release). */
218
+ export type ReleaseArtifactView = {
219
+ readonly kind: 'tarball';
220
+ readonly checksum: string;
221
+ readonly size: number;
222
+ } | {
223
+ readonly kind: 'oci-image';
224
+ readonly id: string;
225
+ /** The repository, without tag or digest (`ghcr.io/acme/app`). */
226
+ readonly ref: string;
227
+ readonly digest: string;
228
+ readonly platform: string;
229
+ readonly sourceCommit: string | null;
230
+ readonly createdBy: string | null;
231
+ readonly createdVia: ActorKind;
232
+ readonly createdAt: string;
233
+ };
234
+ /**
235
+ * `POST /apps/:appId/imageReleases`: an image CI built and pushed, registered by digest as a release of `version`.
236
+ * The same digest again answers its release; another platform's image of the same version joins that release.
237
+ */
238
+ export interface RegisterImageReleaseInput {
239
+ readonly version: string;
240
+ /** The repository, without tag or digest; a tag after the name is dropped. */
241
+ readonly ref: string;
242
+ readonly digest: string;
243
+ /** `linux/amd64` when omitted. */
244
+ readonly platform?: string;
245
+ readonly sourceCommit?: string;
246
+ /** The build that pushed it, such as a CI run's URL. */
247
+ readonly build?: string;
248
+ readonly labels?: Labels;
249
+ /** The build's `dist/variables.json`, which an image carries no other way. */
250
+ readonly variables?: ReleaseVariablesManifest;
251
+ }
252
+ /** What a deployment ran. `tarball`: the archive, in process; `image`: the release's image pulled by digest. */
253
+ export type DeploymentArtifact = {
254
+ readonly kind: 'tarball';
255
+ } | {
256
+ readonly kind: 'image';
257
+ readonly ref: string;
258
+ readonly digest: string;
259
+ readonly platform: string;
260
+ };
261
+ export interface RuntimeStatus {
262
+ readonly available: boolean;
263
+ readonly state: ObservedState;
264
+ readonly version: string | null;
265
+ readonly startedAt: string | null;
266
+ readonly error: string | null;
267
+ /** The last request the runtime saw (or its last start), when the driver reports it. */
268
+ readonly lastAccessedAt: string | null;
269
+ }
270
+ export interface AppView {
271
+ readonly id: string;
272
+ readonly environmentId: string;
273
+ readonly name: string;
274
+ readonly description: string | null;
275
+ readonly currentDeploymentId: string | null;
276
+ readonly enabled: boolean;
277
+ readonly activation: AppActivation;
278
+ readonly idleStopMinutes: number | null;
279
+ readonly dormantAfterHours: number | null;
280
+ readonly labels: Labels;
281
+ /** The App this App is a preview of, removed with it; null for any other App. */
282
+ readonly previewOf: string | null;
283
+ readonly createdBy: string | null;
284
+ readonly createdVia: ActorKind;
285
+ readonly createdAt: string;
286
+ readonly updatedAt: string;
287
+ }
288
+ export interface AppSummary {
289
+ readonly app: AppView;
290
+ readonly environment: {
291
+ readonly id: string;
292
+ readonly name: string;
293
+ readonly protected: boolean;
294
+ /** It runs release images CI registers (`acme release image`), so archives are not uploaded to it. */
295
+ readonly runsImages: boolean;
296
+ };
297
+ readonly runtime: RuntimeStatus;
298
+ readonly url: string | null;
299
+ readonly currentVersion: string | null;
300
+ readonly hasReleases: boolean;
301
+ readonly hasPendingDeployment: boolean;
302
+ /**
303
+ * What the caller may do on this App, decided as the server decides each request (a `related` scope counts only on
304
+ * the Apps the caller created or the application relates to them). Only the single-App read answers it.
305
+ */
306
+ readonly allowed?: readonly AppAction[];
307
+ /**
308
+ * The current release's variables: the required ones nothing supplies (`missing`), and whether a value changed since
309
+ * the running deployment (`changed`; one read only on the first start does not count). Only the single-App read
310
+ * answers it.
311
+ */
312
+ readonly variables?: {
313
+ readonly missing: readonly string[];
314
+ readonly changed: boolean;
315
+ };
316
+ }
317
+ export interface AppPage {
318
+ readonly items: readonly AppSummary[];
319
+ readonly total: number;
320
+ readonly page: number;
321
+ readonly pageSize: number;
322
+ }
323
+ export interface CreateAppInput {
324
+ readonly id: string;
325
+ readonly name: string;
326
+ readonly environmentId: string;
327
+ readonly description?: string;
328
+ readonly labels?: Labels;
329
+ /** `eager` when omitted. */
330
+ readonly activation?: AppActivation;
331
+ /** Omitted: the environment's default; null: never stopped for idleness. */
332
+ readonly idleStopMinutes?: number | null;
333
+ /** Omitted: the environment's default; null: never dormant. */
334
+ readonly dormantAfterHours?: number | null;
335
+ /** Makes it a preview App of that App, removed with it. */
336
+ readonly previewOf?: string;
337
+ }
338
+ export interface UpdateAppInput {
339
+ readonly name?: string;
340
+ readonly description?: string | null;
341
+ readonly activation?: AppActivation;
342
+ readonly idleStopMinutes?: number | null;
343
+ readonly dormantAfterHours?: number | null;
344
+ readonly labels?: Labels;
345
+ }
346
+ export type ReleaseKind = 'archive' | 'image';
347
+ export interface ReleaseView {
348
+ readonly id: string;
349
+ readonly appId: string;
350
+ /**
351
+ * `archive`: an uploaded `dist.tar.gz`, which in-process environments run; `image`: OCI images CI pushed, which
352
+ * Docker environments pull by digest.
353
+ */
354
+ readonly kind: ReleaseKind;
355
+ readonly version: string;
356
+ /** The archive's SHA-256, or for an image release the hex of its first image's digest: the release's identity. */
357
+ readonly checksum: string;
358
+ /** The archive's size; null for an image release. */
359
+ readonly size: number | null;
360
+ readonly hasConfigTemplate: boolean;
361
+ readonly labels: Labels;
362
+ /** The release this one was promoted from, in another App. */
363
+ readonly sourceReleaseId: string | null;
364
+ /** The commit it was built from, when the build said so. */
365
+ readonly sourceCommit: string | null;
366
+ /** The build that produced it (a CI run, a build job), when the build said so. */
367
+ readonly build: string | null;
368
+ /** Its archive, or its images; answered by the release reads, not by uploads. */
369
+ readonly artifacts?: readonly ReleaseArtifactView[];
370
+ /**
371
+ * What its variables manifest declares, and the required variables nothing supplies in its App; null for a build
372
+ * without a manifest. Answered by the release list.
373
+ */
374
+ readonly variables?: {
375
+ readonly declared: number;
376
+ readonly required: number;
377
+ readonly missing: readonly string[];
378
+ } | null;
379
+ readonly createdBy: string | null;
380
+ readonly createdVia: ActorKind;
381
+ readonly createdAt: string;
382
+ /** Set when an upload or promotion answered with an existing release. */
383
+ readonly reused?: boolean;
384
+ /** The deployment an upload started, when it deployed. */
385
+ readonly deploymentId?: string | null;
386
+ }
387
+ export interface DeploymentView {
388
+ readonly id: string;
389
+ readonly appId: string;
390
+ readonly releaseId: string;
391
+ readonly kind: 'deploy' | 'rollback';
392
+ readonly rollbackTargetDeploymentId: string | null;
393
+ readonly previousDeploymentId: string | null;
394
+ readonly status: DeploymentStatus;
395
+ readonly phase: DeploymentPhase;
396
+ readonly configMode: ConfigMode;
397
+ readonly error: string | null;
398
+ readonly actorId: string | null;
399
+ readonly actorKind: ActorKind;
400
+ readonly requestId: string | null;
401
+ readonly createdAt: string;
402
+ readonly startedAt: string | null;
403
+ readonly finishedAt: string | null;
404
+ readonly release: {
405
+ readonly version: string;
406
+ readonly checksum: string;
407
+ } | null;
408
+ /** What the target ran, once the deployment got that far; null before, and for deployments that never started. */
409
+ readonly artifact: DeploymentArtifact | null;
410
+ /** Set when an idempotent request answered with an earlier deployment. */
411
+ readonly reused?: boolean;
412
+ }
413
+ export interface DeploymentPage {
414
+ readonly items: readonly DeploymentView[];
415
+ readonly total: number;
416
+ readonly page: number;
417
+ readonly pageSize: number;
418
+ }
419
+ export interface DeployInput {
420
+ readonly releaseId: string;
421
+ /** Replaces the App's configuration for this deployment (file mode only). */
422
+ readonly config?: {
423
+ readonly mode: ConfigMode;
424
+ readonly content?: string;
425
+ };
426
+ readonly idempotencyKey?: string;
427
+ }
428
+ export interface RollbackInput {
429
+ readonly deploymentId: string;
430
+ }
431
+ export type DeploymentRequestStatus = 'pending' | 'approved' | 'rejected' | 'cancelled' | 'deployed' | 'failed';
432
+ export interface DeploymentRequestView {
433
+ readonly id: string;
434
+ readonly appId: string;
435
+ readonly environmentId: string;
436
+ /** The release it deploys, fixed when it was asked for: approving deploys exactly this release. */
437
+ readonly releaseId: string;
438
+ /** That release's checksum then; approval refuses a release whose bytes are not these. */
439
+ readonly releaseChecksum: string;
440
+ readonly kind: 'deploy' | 'rollback';
441
+ readonly rollbackTargetDeploymentId: string | null;
442
+ readonly status: DeploymentRequestStatus;
443
+ readonly note: string | null;
444
+ readonly labels: Labels;
445
+ readonly requestedBy: string | null;
446
+ readonly requestedVia: ActorKind;
447
+ readonly decidedBy: string | null;
448
+ readonly decidedAt: string | null;
449
+ readonly decisionNote: string | null;
450
+ readonly deploymentId: string | null;
451
+ readonly createdAt: string;
452
+ readonly updatedAt: string;
453
+ /** What the request deploys, as the request reads answer it; null when the release is gone. */
454
+ readonly release?: DeploymentRequestRelease | null;
455
+ /** Where it deploys, as the request reads answer it; null when the environment is gone. */
456
+ readonly environment?: {
457
+ readonly name: string;
458
+ readonly protected: boolean;
459
+ } | null;
460
+ /** Whether the caller may approve or reject it now; answered by the request reads. */
461
+ readonly decidable?: boolean;
462
+ }
463
+ export interface DeploymentRequestRelease {
464
+ readonly version: string;
465
+ /** The commit it was built from, when the build said so. */
466
+ readonly sourceCommit: string | null;
467
+ /** The build that produced it, such as a CI run's URL, when the build said so. */
468
+ readonly build: string | null;
469
+ }
470
+ export interface CreateDeploymentRequestInput {
471
+ readonly releaseId?: string;
472
+ /** For a rollback request: the successful deployment to return to. */
473
+ readonly rollbackToDeploymentId?: string;
474
+ readonly note?: string;
475
+ readonly labels?: Labels;
476
+ }
477
+ export interface UploadTicketView {
478
+ readonly id: string;
479
+ readonly appId: string;
480
+ /** Shown once: `Authorization: Bearer <token>` on the upload request. */
481
+ readonly token: string;
482
+ /** API-relative path of the upload endpoint. */
483
+ readonly path: string;
484
+ readonly deploy: boolean;
485
+ readonly expiresAt: string;
486
+ }
487
+ /**
488
+ * What an App's `config.yml` shows in place of a secret value. Configuration leaves the server only with its secrets
489
+ * replaced by this mask; content saved with the mask still in place keeps the stored value at that path.
490
+ */
491
+ export declare const CONFIG_SECRET_MASK = "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022";
492
+ /** Where a value sits in `config.yml`: map keys and sequence indexes from the root (`['auth', 'secret']`). */
493
+ export type ConfigPath = readonly (string | number)[];
494
+ /** `auth.secret`, `apiKeys[0]`: how a path is shown. */
495
+ export declare function formatConfigPath(path: ConfigPath): string;
496
+ /** A secret the configuration holds. Its value is never returned. */
497
+ export interface ConfigSecret {
498
+ readonly path: ConfigPath;
499
+ }
500
+ /** A secret to set (`value`) or remove (`null`) at a path, applied after the content's masked values are restored. */
501
+ export interface ConfigSecretChange {
502
+ readonly path: ConfigPath;
503
+ readonly value: string | null;
504
+ }
505
+ export interface ConfigDocument {
506
+ readonly mode: ConfigMode;
507
+ /** `config.yml` with every secret value replaced by `CONFIG_SECRET_MASK`; null for an external configuration. */
508
+ readonly content: string | null;
509
+ /** The secrets `content` masks, in document order. */
510
+ readonly secrets: readonly ConfigSecret[];
511
+ }
512
+ /** `PUT /apps/:appId/config`. */
513
+ export interface UpdateConfigInput {
514
+ /** The whole `config.yml`. A masked value keeps the stored secret at its path. */
515
+ readonly content: string;
516
+ readonly secretChanges?: readonly ConfigSecretChange[];
517
+ }
518
+ /** The prefix of the one bearer credential the API accepts besides a session or an API key. */
519
+ export declare const UPLOAD_TICKET_PREFIX = "rel_ticket_";
520
+ /** How a deployment can produce a value nobody set. */
521
+ export type VariableGenerator = 'secret' | 'secretKeys' | 'password';
522
+ /** One variable of a build's manifest (`dist/variables.json`, written by `pnpm build`). */
523
+ export interface ReleaseVariable {
524
+ readonly name: string;
525
+ /** The configuration path it sets; none for one the runtime reads itself (`runtime`). */
526
+ readonly path?: string;
527
+ readonly type?: string;
528
+ readonly description?: string;
529
+ readonly secret: boolean;
530
+ readonly required: boolean;
531
+ readonly hasDefault?: boolean;
532
+ readonly exampleProvided?: boolean;
533
+ readonly firstStartOnly: boolean;
534
+ readonly generate: VariableGenerator | null;
535
+ readonly runtime?: boolean;
536
+ }
537
+ /** A build's variables manifest. */
538
+ export interface ReleaseVariablesManifest {
539
+ readonly schemaVersion: 1;
540
+ readonly app?: {
541
+ readonly name?: string;
542
+ readonly version?: string;
543
+ };
544
+ readonly generatedAt?: string;
545
+ readonly variables: readonly ReleaseVariable[];
546
+ }
547
+ /** A variable name: an upper-case letter, then upper-case letters, digits and underscores. */
548
+ export declare const VARIABLE_NAME_PATTERN: RegExp;
549
+ /** At most this many variables in a manifest. */
550
+ export declare const MAX_MANIFEST_VARIABLES = 200;
551
+ /** A variable's value is at most this many bytes. */
552
+ export declare const MAX_VARIABLE_VALUE_BYTES: number;
553
+ /** Names the runtime sets itself, which no variable may replace. */
554
+ export declare const RESERVED_VARIABLE_NAMES: readonly string[];
555
+ /**
556
+ * Where a variable's value comes from, strongest first: the App (`app`), the environment, the App's `config.yml`
557
+ * (`configFile`, which a variable would override), release management (`generated`), the build's code defaults
558
+ * (`default`); `unset` when nothing gives it one.
559
+ */
560
+ export type VariableSource = 'app' | 'environment' | 'configFile' | 'generated' | 'default' | 'unset';
561
+ /** A value as it is shown: a secret's never leaves the server, only whether it is set. */
562
+ export interface VariableValueView {
563
+ readonly set: boolean;
564
+ /** Null for a secret. */
565
+ readonly value: string | null;
566
+ }
567
+ /** An environment's variable (`GET /environments/:environmentId/variables`). */
568
+ export interface EnvironmentVariableView extends VariableValueView {
569
+ readonly name: string;
570
+ readonly secret: boolean;
571
+ readonly description: string | null;
572
+ readonly updatedBy: string | null;
573
+ readonly updatedAt: string;
574
+ }
575
+ /** `PUT /environments/:environmentId/variables/:name`. */
576
+ export interface SetEnvironmentVariableInput {
577
+ readonly value: string;
578
+ /** Inferred from the name when left out (`…_PASSWORD`, `…_SECRET`, `…_TOKEN`, `…_KEY`). */
579
+ readonly secret?: boolean;
580
+ readonly description?: string | null;
581
+ }
582
+ /** `PUT /apps/:appId/variables/:name`. */
583
+ export interface SetAppVariableInput {
584
+ readonly value: string;
585
+ readonly secret?: boolean;
586
+ }
587
+ /** One variable of an App, as the release in question declares it and as the App would get it. */
588
+ export interface AppVariableView {
589
+ readonly name: string;
590
+ /** The release's manifest declares it; an undeclared one is passed to the App all the same. */
591
+ readonly declared: boolean;
592
+ readonly description: string | null;
593
+ readonly secret: boolean;
594
+ readonly required: boolean;
595
+ /** Read only on the first start: changing it later has no effect, and it never counts as changed. */
596
+ readonly firstStartOnly: boolean;
597
+ readonly generate: VariableGenerator | null;
598
+ readonly source: VariableSource;
599
+ /** The value it takes, when it is no secret; null otherwise. */
600
+ readonly value: string | null;
601
+ /** Required, and nothing supplies it. */
602
+ readonly missing: boolean;
603
+ /** Its value differs from what the running deployment got. */
604
+ readonly changed: boolean;
605
+ /** What the App itself sets, and whether release management generated it. */
606
+ readonly app: (VariableValueView & {
607
+ readonly generated: boolean;
608
+ }) | null;
609
+ /** What its environment sets. */
610
+ readonly environment: VariableValueView | null;
611
+ }
612
+ /** `meta` of `GET /apps/:appId/variables`. */
613
+ export interface AppVariablesMeta {
614
+ readonly total: number;
615
+ /**
616
+ * The release the variables were read against: the one asked for, else the App's most recent build (its newest
617
+ * release that carries a variables manifest), else the release it runs, else its newest; null before it has any.
618
+ */
619
+ readonly releaseId: string | null;
620
+ readonly releaseVersion: string | null;
621
+ /** The App's environment, where a value every App there gets is set. */
622
+ readonly environmentId: string;
623
+ /** Whether that release declares its variables; without a manifest nothing is required. */
624
+ readonly declared: boolean;
625
+ readonly missing: readonly string[];
626
+ /** Whether a value changed since the running deployment. */
627
+ readonly changed: boolean;
628
+ }
629
+ /**
630
+ * A variable the most recent build of some App of an environment declares (`GET
631
+ * /environments/:environmentId/declaredVariables`), with whether the environment sets it and which Apps miss it.
632
+ */
633
+ export interface EnvironmentDeclaredVariableView {
634
+ readonly name: string;
635
+ /** The first description a declaring build gives. */
636
+ readonly description: string | null;
637
+ /** Some declaring build says it is a secret. */
638
+ readonly secret: boolean;
639
+ /** Some declaring build requires it. */
640
+ readonly required: boolean;
641
+ /** The environment sets a value. */
642
+ readonly set: boolean;
643
+ /** The Apps whose most recent build declares it, by ID. */
644
+ readonly apps: readonly string[];
645
+ /** The Apps that require it and get no value from anything (their own value, the environment, `config.yml`, …). */
646
+ readonly missingIn: readonly string[];
647
+ }
648
+ /** The first administrator a first deployment generated (`GET /apps/:appId/initialAdmin`). */
649
+ export interface InitialAdminView {
650
+ readonly deploymentId: string;
651
+ readonly username: string;
652
+ readonly email: string;
653
+ readonly password: string;
654
+ /** When it is deleted; null when it is kept until the App goes (a preview App's). */
655
+ readonly expiresAt: string | null;
656
+ }
657
+ //# sourceMappingURL=releases.d.ts.map