@synteq/cli 0.2.0 → 1.1.2
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.
- package/dist/api/client.d.ts +362 -5
- package/dist/api/client.js +559 -44
- package/dist/api/client.js.map +1 -1
- package/dist/api/factory.js +5 -2
- package/dist/api/factory.js.map +1 -1
- package/dist/api/types.d.ts +892 -3
- package/dist/apps-support/deploy.d.ts +197 -0
- package/dist/apps-support/deploy.js +639 -0
- package/dist/apps-support/deploy.js.map +1 -0
- package/dist/apps-support/dotenv.d.ts +67 -0
- package/dist/apps-support/dotenv.js +136 -0
- package/dist/apps-support/dotenv.js.map +1 -0
- package/dist/apps-support/env-rollout.d.ts +18 -0
- package/dist/apps-support/env-rollout.js +52 -0
- package/dist/apps-support/env-rollout.js.map +1 -0
- package/dist/apps-support/git.d.ts +14 -0
- package/dist/apps-support/git.js +25 -0
- package/dist/apps-support/git.js.map +1 -0
- package/dist/apps-support/link.d.ts +25 -0
- package/dist/apps-support/link.js +39 -0
- package/dist/apps-support/link.js.map +1 -0
- package/dist/apps-support/log-stream.d.ts +25 -0
- package/dist/apps-support/log-stream.js +85 -0
- package/dist/apps-support/log-stream.js.map +1 -0
- package/dist/apps-support/paid-app.d.ts +64 -0
- package/dist/apps-support/paid-app.js +195 -0
- package/dist/apps-support/paid-app.js.map +1 -0
- package/dist/apps-support/plans.d.ts +44 -0
- package/dist/apps-support/plans.js +43 -0
- package/dist/apps-support/plans.js.map +1 -0
- package/dist/apps-support/resolve.d.ts +10 -0
- package/dist/apps-support/resolve.js +53 -0
- package/dist/apps-support/resolve.js.map +1 -0
- package/dist/apps-support/time.d.ts +20 -0
- package/dist/apps-support/time.js +82 -0
- package/dist/apps-support/time.js.map +1 -0
- package/dist/auth/scope.js +4 -0
- package/dist/auth/scope.js.map +1 -1
- package/dist/auth/tokens.d.ts +3 -0
- package/dist/auth/tokens.js +6 -4
- package/dist/auth/tokens.js.map +1 -1
- package/dist/base/command.d.ts +35 -0
- package/dist/base/command.js +87 -4
- package/dist/base/command.js.map +1 -1
- package/dist/commands/agents.d.ts +10 -0
- package/dist/commands/agents.js +53 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/api.d.ts +0 -1
- package/dist/commands/api.js +6 -5
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/app/deployment/list.d.ts +14 -0
- package/dist/commands/app/deployment/list.js +45 -0
- package/dist/commands/app/deployment/list.js.map +1 -0
- package/dist/commands/app/deployment/rollback.d.ts +18 -0
- package/dist/commands/app/deployment/rollback.js +57 -0
- package/dist/commands/app/deployment/rollback.js.map +1 -0
- package/dist/commands/app/deployment/show.d.ts +26 -0
- package/dist/commands/app/deployment/show.js +98 -0
- package/dist/commands/app/deployment/show.js.map +1 -0
- package/dist/commands/app/domain/add.d.ts +17 -0
- package/dist/commands/app/domain/add.js +59 -0
- package/dist/commands/app/domain/add.js.map +1 -0
- package/dist/commands/app/domain/list.d.ts +14 -0
- package/dist/commands/app/domain/list.js +42 -0
- package/dist/commands/app/domain/list.js.map +1 -0
- package/dist/commands/app/domain/remove.d.ts +16 -0
- package/dist/commands/app/domain/remove.js +51 -0
- package/dist/commands/app/domain/remove.js.map +1 -0
- package/dist/commands/app/domain/verify.d.ts +15 -0
- package/dist/commands/app/domain/verify.js +39 -0
- package/dist/commands/app/domain/verify.js.map +1 -0
- package/dist/commands/app/env/add.d.ts +22 -0
- package/dist/commands/app/env/add.js +103 -0
- package/dist/commands/app/env/add.js.map +1 -0
- package/dist/commands/app/env/list.d.ts +17 -0
- package/dist/commands/app/env/list.js +40 -0
- package/dist/commands/app/env/list.js.map +1 -0
- package/dist/commands/app/env/reveal.d.ts +17 -0
- package/dist/commands/app/env/reveal.js +40 -0
- package/dist/commands/app/env/reveal.js.map +1 -0
- package/dist/commands/app/env/rm.d.ts +16 -0
- package/dist/commands/app/env/rm.js +48 -0
- package/dist/commands/app/env/rm.js.map +1 -0
- package/dist/commands/app/health.d.ts +14 -0
- package/dist/commands/app/health.js +40 -0
- package/dist/commands/app/health.js.map +1 -0
- package/dist/commands/app/index.d.ts +6 -0
- package/dist/commands/app/index.js +7 -0
- package/dist/commands/app/index.js.map +1 -0
- package/dist/commands/app/link.d.ts +22 -0
- package/dist/commands/app/link.js +31 -0
- package/dist/commands/app/link.js.map +1 -0
- package/dist/commands/app/logs.d.ts +25 -0
- package/dist/commands/app/logs.js +121 -0
- package/dist/commands/app/logs.js.map +1 -0
- package/dist/commands/app/metrics.d.ts +21 -0
- package/dist/commands/app/metrics.js +123 -0
- package/dist/commands/app/metrics.js.map +1 -0
- package/dist/commands/app/plan/change.d.ts +18 -0
- package/dist/commands/app/plan/change.js +79 -0
- package/dist/commands/app/plan/change.js.map +1 -0
- package/dist/commands/app/plan/show.d.ts +14 -0
- package/dist/commands/app/plan/show.js +40 -0
- package/dist/commands/app/plan/show.js.map +1 -0
- package/dist/commands/app/settings/set.d.ts +25 -0
- package/dist/commands/app/settings/set.js +96 -0
- package/dist/commands/app/settings/set.js.map +1 -0
- package/dist/commands/app/settings/show.d.ts +14 -0
- package/dist/commands/app/settings/show.js +48 -0
- package/dist/commands/app/settings/show.js.map +1 -0
- package/dist/commands/app/unlink.d.ts +8 -0
- package/dist/commands/app/unlink.js +25 -0
- package/dist/commands/app/unlink.js.map +1 -0
- package/dist/commands/apps/create.d.ts +26 -0
- package/dist/commands/apps/create.js +91 -0
- package/dist/commands/apps/create.js.map +1 -0
- package/dist/commands/apps/list.d.ts +17 -0
- package/dist/commands/apps/list.js +56 -0
- package/dist/commands/apps/list.js.map +1 -0
- package/dist/commands/baremetal/activity.d.ts +14 -0
- package/dist/commands/baremetal/activity.js +53 -0
- package/dist/commands/baremetal/activity.js.map +1 -0
- package/dist/commands/baremetal/bandwidth.d.ts +10 -0
- package/dist/commands/baremetal/bandwidth.js +86 -0
- package/dist/commands/baremetal/bandwidth.js.map +1 -0
- package/dist/commands/baremetal/console.d.ts +20 -0
- package/dist/commands/baremetal/console.js +72 -0
- package/dist/commands/baremetal/console.js.map +1 -0
- package/dist/commands/baremetal/details.d.ts +11 -0
- package/dist/commands/baremetal/details.js +116 -0
- package/dist/commands/baremetal/details.js.map +1 -0
- package/dist/commands/baremetal/index.d.ts +5 -0
- package/dist/commands/baremetal/index.js +6 -0
- package/dist/commands/baremetal/index.js.map +1 -0
- package/dist/commands/baremetal/install-password.d.ts +14 -0
- package/dist/commands/baremetal/install-password.js +80 -0
- package/dist/commands/baremetal/install-password.js.map +1 -0
- package/dist/commands/baremetal/list.d.ts +11 -0
- package/dist/commands/baremetal/list.js +59 -0
- package/dist/commands/baremetal/list.js.map +1 -0
- package/dist/commands/baremetal/order.d.ts +34 -0
- package/dist/commands/baremetal/order.js +394 -0
- package/dist/commands/baremetal/order.js.map +1 -0
- package/dist/commands/baremetal/power.d.ts +18 -0
- package/dist/commands/baremetal/power.js +168 -0
- package/dist/commands/baremetal/power.js.map +1 -0
- package/dist/commands/baremetal/reinstall.d.ts +21 -0
- package/dist/commands/baremetal/reinstall.js +168 -0
- package/dist/commands/baremetal/reinstall.js.map +1 -0
- package/dist/commands/config/profile/add.d.ts +11 -0
- package/dist/commands/config/profile/add.js +51 -0
- package/dist/commands/config/profile/add.js.map +1 -0
- package/dist/commands/config/profile/list.d.ts +7 -0
- package/dist/commands/config/profile/list.js +29 -0
- package/dist/commands/config/profile/list.js.map +1 -0
- package/dist/commands/config/profile/remove.d.ts +11 -0
- package/dist/commands/config/profile/remove.js +35 -0
- package/dist/commands/config/profile/remove.js.map +1 -0
- package/dist/commands/config/profile/use.d.ts +10 -0
- package/dist/commands/config/profile/use.js +44 -0
- package/dist/commands/config/profile/use.js.map +1 -0
- package/dist/commands/config/show.js +4 -1
- package/dist/commands/config/show.js.map +1 -1
- package/dist/commands/credits/add.js +2 -2
- package/dist/commands/credits/add.js.map +1 -1
- package/dist/commands/credits/index.js +5 -1
- package/dist/commands/credits/index.js.map +1 -1
- package/dist/commands/deploy.d.ts +51 -0
- package/dist/commands/deploy.js +515 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/function/create.d.ts +29 -0
- package/dist/commands/function/create.js +113 -0
- package/dist/commands/function/create.js.map +1 -0
- package/dist/commands/function/credits/add.d.ts +29 -0
- package/dist/commands/function/credits/add.js +209 -0
- package/dist/commands/function/credits/add.js.map +1 -0
- package/dist/commands/function/credits/auto-reload.d.ts +27 -0
- package/dist/commands/function/credits/auto-reload.js +107 -0
- package/dist/commands/function/credits/auto-reload.js.map +1 -0
- package/dist/commands/function/credits/index.d.ts +22 -0
- package/dist/commands/function/credits/index.js +80 -0
- package/dist/commands/function/credits/index.js.map +1 -0
- package/dist/commands/function/cron/add.d.ts +19 -0
- package/dist/commands/function/cron/add.js +74 -0
- package/dist/commands/function/cron/add.js.map +1 -0
- package/dist/commands/function/cron/list.d.ts +12 -0
- package/dist/commands/function/cron/list.js +55 -0
- package/dist/commands/function/cron/list.js.map +1 -0
- package/dist/commands/function/cron/rm.d.ts +17 -0
- package/dist/commands/function/cron/rm.js +73 -0
- package/dist/commands/function/cron/rm.js.map +1 -0
- package/dist/commands/function/cron/run.d.ts +16 -0
- package/dist/commands/function/cron/run.js +59 -0
- package/dist/commands/function/cron/run.js.map +1 -0
- package/dist/commands/function/cron/update.d.ts +21 -0
- package/dist/commands/function/cron/update.js +87 -0
- package/dist/commands/function/cron/update.js.map +1 -0
- package/dist/commands/function/delete.d.ts +23 -0
- package/dist/commands/function/delete.js +90 -0
- package/dist/commands/function/delete.js.map +1 -0
- package/dist/commands/function/deploy.d.ts +64 -0
- package/dist/commands/function/deploy.js +616 -0
- package/dist/commands/function/deploy.js.map +1 -0
- package/dist/commands/function/env/list.d.ts +12 -0
- package/dist/commands/function/env/list.js +46 -0
- package/dist/commands/function/env/list.js.map +1 -0
- package/dist/commands/function/env/reveal.d.ts +21 -0
- package/dist/commands/function/env/reveal.js +54 -0
- package/dist/commands/function/env/reveal.js.map +1 -0
- package/dist/commands/function/env/rm.d.ts +17 -0
- package/dist/commands/function/env/rm.js +62 -0
- package/dist/commands/function/env/rm.js.map +1 -0
- package/dist/commands/function/env/set.d.ts +28 -0
- package/dist/commands/function/env/set.js +124 -0
- package/dist/commands/function/env/set.js.map +1 -0
- package/dist/commands/function/index.d.ts +14 -0
- package/dist/commands/function/index.js +11 -0
- package/dist/commands/function/index.js.map +1 -0
- package/dist/commands/function/init.d.ts +48 -0
- package/dist/commands/function/init.js +277 -0
- package/dist/commands/function/init.js.map +1 -0
- package/dist/commands/function/invoke.d.ts +29 -0
- package/dist/commands/function/invoke.js +138 -0
- package/dist/commands/function/invoke.js.map +1 -0
- package/dist/commands/function/link.d.ts +23 -0
- package/dist/commands/function/link.js +80 -0
- package/dist/commands/function/link.js.map +1 -0
- package/dist/commands/function/list.d.ts +16 -0
- package/dist/commands/function/list.js +55 -0
- package/dist/commands/function/list.js.map +1 -0
- package/dist/commands/function/logs.d.ts +29 -0
- package/dist/commands/function/logs.js +171 -0
- package/dist/commands/function/logs.js.map +1 -0
- package/dist/commands/function/pause.d.ts +19 -0
- package/dist/commands/function/pause.js +50 -0
- package/dist/commands/function/pause.js.map +1 -0
- package/dist/commands/function/releases.d.ts +15 -0
- package/dist/commands/function/releases.js +62 -0
- package/dist/commands/function/releases.js.map +1 -0
- package/dist/commands/function/resume.d.ts +16 -0
- package/dist/commands/function/resume.js +47 -0
- package/dist/commands/function/resume.js.map +1 -0
- package/dist/commands/function/rollback.d.ts +18 -0
- package/dist/commands/function/rollback.js +69 -0
- package/dist/commands/function/rollback.js.map +1 -0
- package/dist/commands/function/settings/set.d.ts +23 -0
- package/dist/commands/function/settings/set.js +119 -0
- package/dist/commands/function/settings/set.js.map +1 -0
- package/dist/commands/function/show.d.ts +15 -0
- package/dist/commands/function/show.js +80 -0
- package/dist/commands/function/show.js.map +1 -0
- package/dist/commands/function/unlink.d.ts +9 -0
- package/dist/commands/function/unlink.js +34 -0
- package/dist/commands/function/unlink.js.map +1 -0
- package/dist/commands/link.d.ts +82 -0
- package/dist/commands/link.js +532 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/login.js +9 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/order.js +3 -1
- package/dist/commands/order.js.map +1 -1
- package/dist/commands/payments/methods/delete.js +2 -2
- package/dist/commands/payments/methods/delete.js.map +1 -1
- package/dist/commands/resources.js +50 -7
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/status.d.ts +12 -0
- package/dist/commands/status.js +71 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/storage/detach.js +1 -1
- package/dist/commands/storage/detach.js.map +1 -1
- package/dist/commands/storage/list.js +6 -2
- package/dist/commands/storage/list.js.map +1 -1
- package/dist/commands/storage/order.d.ts +2 -0
- package/dist/commands/storage/order.js +100 -18
- package/dist/commands/storage/order.js.map +1 -1
- package/dist/commands/storage/resize.js +19 -6
- package/dist/commands/storage/resize.js.map +1 -1
- package/dist/commands/tickets/create.d.ts +2 -0
- package/dist/commands/tickets/create.js +40 -1
- package/dist/commands/tickets/create.js.map +1 -1
- package/dist/commands/tickets/download.d.ts +18 -0
- package/dist/commands/tickets/download.js +138 -0
- package/dist/commands/tickets/download.js.map +1 -0
- package/dist/commands/tickets/list.js +13 -7
- package/dist/commands/tickets/list.js.map +1 -1
- package/dist/commands/tickets/reply.d.ts +2 -0
- package/dist/commands/tickets/reply.js +33 -4
- package/dist/commands/tickets/reply.js.map +1 -1
- package/dist/commands/vds/order.js +72 -7
- package/dist/commands/vds/order.js.map +1 -1
- package/dist/commands/vps/console.js +14 -6
- package/dist/commands/vps/console.js.map +1 -1
- package/dist/commands/vps/details.js +7 -1
- package/dist/commands/vps/details.js.map +1 -1
- package/dist/commands/vps/ip/add.js +76 -9
- package/dist/commands/vps/ip/add.js.map +1 -1
- package/dist/commands/vps/list.js +13 -4
- package/dist/commands/vps/list.js.map +1 -1
- package/dist/commands/vps/order.d.ts +19 -0
- package/dist/commands/vps/order.js +179 -23
- package/dist/commands/vps/order.js.map +1 -1
- package/dist/commands/vps/power.js +2 -2
- package/dist/commands/vps/power.js.map +1 -1
- package/dist/commands/vps/reinstall.js +2 -2
- package/dist/commands/vps/reinstall.js.map +1 -1
- package/dist/commands/vps/resize.js +36 -13
- package/dist/commands/vps/resize.js.map +1 -1
- package/dist/commands/whoami.d.ts +5 -0
- package/dist/commands/whoami.js +8 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.js +6 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/store.d.ts +58 -0
- package/dist/config/store.js +84 -2
- package/dist/config/store.js.map +1 -1
- package/dist/functions-support/credits.d.ts +64 -0
- package/dist/functions-support/credits.js +181 -0
- package/dist/functions-support/credits.js.map +1 -0
- package/dist/functions-support/cron.d.ts +17 -0
- package/dist/functions-support/cron.js +99 -0
- package/dist/functions-support/cron.js.map +1 -0
- package/dist/functions-support/env.d.ts +23 -0
- package/dist/functions-support/env.js +44 -0
- package/dist/functions-support/env.js.map +1 -0
- package/dist/functions-support/link.d.ts +25 -0
- package/dist/functions-support/link.js +51 -0
- package/dist/functions-support/link.js.map +1 -0
- package/dist/functions-support/poll.d.ts +40 -0
- package/dist/functions-support/poll.js +109 -0
- package/dist/functions-support/poll.js.map +1 -0
- package/dist/functions-support/resolve.d.ts +3 -0
- package/dist/functions-support/resolve.js +31 -0
- package/dist/functions-support/resolve.js.map +1 -0
- package/dist/functions-support/runtime.d.ts +30 -0
- package/dist/functions-support/runtime.js +52 -0
- package/dist/functions-support/runtime.js.map +1 -0
- package/dist/functions-support/source.d.ts +92 -0
- package/dist/functions-support/source.js +343 -0
- package/dist/functions-support/source.js.map +1 -0
- package/dist/help/scope-aware-help.js +10 -1
- package/dist/help/scope-aware-help.js.map +1 -1
- package/dist/tui/App.js +10 -25
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/Menu.d.ts +3 -1
- package/dist/tui/components/Menu.js +7 -3
- package/dist/tui/components/Menu.js.map +1 -1
- package/dist/tui/router.d.ts +1 -1
- package/dist/tui/router.js.map +1 -1
- package/dist/tui/screens/Billing.js +56 -4
- package/dist/tui/screens/Billing.js.map +1 -1
- package/dist/tui/screens/Dashboard.js +8 -7
- package/dist/tui/screens/Dashboard.js.map +1 -1
- package/dist/tui/screens/Deploy.d.ts +2 -0
- package/dist/tui/screens/Deploy.js +912 -0
- package/dist/tui/screens/Deploy.js.map +1 -0
- package/dist/tui/screens/Order.js +359 -26
- package/dist/tui/screens/Order.js.map +1 -1
- package/dist/tui/screens/Resources.js +273 -31
- package/dist/tui/screens/Resources.js.map +1 -1
- package/dist/tui/screens/Tickets.js +18 -6
- package/dist/tui/screens/Tickets.js.map +1 -1
- package/dist/tui/screens/deployPreset.d.ts +20 -0
- package/dist/tui/screens/deployPreset.js +11 -0
- package/dist/tui/screens/deployPreset.js.map +1 -0
- package/dist/tui/screens/resources/AppDetail.d.ts +7 -0
- package/dist/tui/screens/resources/AppDetail.js +810 -0
- package/dist/tui/screens/resources/AppDetail.js.map +1 -0
- package/dist/tui/screens/resources/FunctionDetail.d.ts +7 -0
- package/dist/tui/screens/resources/FunctionDetail.js +751 -0
- package/dist/tui/screens/resources/FunctionDetail.js.map +1 -0
- package/dist/ui/attach.d.ts +15 -0
- package/dist/ui/attach.js +63 -0
- package/dist/ui/attach.js.map +1 -0
- package/dist/ui/baremetal-resolve.d.ts +10 -0
- package/dist/ui/baremetal-resolve.js +50 -0
- package/dist/ui/baremetal-resolve.js.map +1 -0
- package/dist/ui/confirm.js +1 -1
- package/dist/ui/confirm.js.map +1 -1
- package/dist/ui/cycle.d.ts +66 -0
- package/dist/ui/cycle.js +96 -0
- package/dist/ui/cycle.js.map +1 -0
- package/dist/ui/deploy-ui.d.ts +75 -0
- package/dist/ui/deploy-ui.js +243 -0
- package/dist/ui/deploy-ui.js.map +1 -0
- package/dist/ui/order-result.d.ts +4 -0
- package/dist/ui/order-result.js +32 -0
- package/dist/ui/order-result.js.map +1 -0
- package/dist/ui/payment-gate.d.ts +26 -0
- package/dist/ui/payment-gate.js +70 -0
- package/dist/ui/payment-gate.js.map +1 -0
- package/dist/ui/payment.js +10 -3
- package/dist/ui/payment.js.map +1 -1
- package/dist/ui/portal.d.ts +1 -1
- package/dist/ui/portal.js +7 -2
- package/dist/ui/portal.js.map +1 -1
- package/dist/ui/project-resolve.d.ts +25 -0
- package/dist/ui/project-resolve.js +31 -0
- package/dist/ui/project-resolve.js.map +1 -0
- package/dist/ui/render-mode.d.ts +5 -0
- package/dist/ui/render-mode.js +1 -1
- package/dist/ui/render-mode.js.map +1 -1
- package/dist/ui/resource-detail.js +0 -3
- package/dist/ui/resource-detail.js.map +1 -1
- package/dist/ui/resource-resolve.d.ts +9 -2
- package/dist/ui/resource-resolve.js +11 -4
- package/dist/ui/resource-resolve.js.map +1 -1
- package/dist/ui/spinner.d.ts +10 -1
- package/dist/ui/spinner.js +12 -3
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/table.d.ts +7 -0
- package/dist/ui/table.js +11 -0
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tax.d.ts +10 -0
- package/dist/ui/tax.js +31 -0
- package/dist/ui/tax.js.map +1 -0
- package/dist/ui/ticket-resolve.d.ts +9 -1
- package/dist/ui/ticket-resolve.js +13 -2
- package/dist/ui/ticket-resolve.js.map +1 -1
- package/dist/ui/volume-resolve.js +4 -1
- package/dist/ui/volume-resolve.js.map +1 -1
- package/dist/ui/wait.d.ts +4 -0
- package/dist/ui/wait.js +7 -2
- package/dist/ui/wait.js.map +1 -1
- package/dist/ui/wizard.d.ts +2 -1
- package/dist/ui/wizard.js +1 -1
- package/dist/ui/wizard.js.map +1 -1
- package/dist/version-check-bin.js +2 -2
- package/dist/version-check-bin.js.map +1 -1
- package/dist/version-check.d.ts +5 -0
- package/dist/version-check.js +6 -1
- package/dist/version-check.js.map +1 -1
- package/package.json +53 -6
package/dist/api/types.d.ts
CHANGED
|
@@ -63,8 +63,6 @@ export interface Resource {
|
|
|
63
63
|
project_name: string | null;
|
|
64
64
|
created_at: string;
|
|
65
65
|
ip_addresses?: ResourceIp[];
|
|
66
|
-
node?: string;
|
|
67
|
-
vmid?: number;
|
|
68
66
|
cluster_id?: string;
|
|
69
67
|
managed_os?: string | null;
|
|
70
68
|
last_installed_os?: string | null;
|
|
@@ -186,6 +184,11 @@ export interface PaymentMethod {
|
|
|
186
184
|
is_default: boolean;
|
|
187
185
|
is_active: boolean;
|
|
188
186
|
}
|
|
187
|
+
/** GET /payments/touchpoints/{touchpoint}/payment-methods row. */
|
|
188
|
+
export interface PaymentMethodEligibility extends PaymentMethod {
|
|
189
|
+
eligible: boolean;
|
|
190
|
+
ineligible_reason: string | null;
|
|
191
|
+
}
|
|
189
192
|
export interface SetDefaultMethodOut {
|
|
190
193
|
id: string;
|
|
191
194
|
is_default: boolean;
|
|
@@ -377,6 +380,24 @@ export interface OrderResultOut {
|
|
|
377
380
|
credits_applied?: string | null;
|
|
378
381
|
failure_reason?: string | null;
|
|
379
382
|
}
|
|
383
|
+
export interface PreviewOrderIn {
|
|
384
|
+
kind: "virtualized" | "block_volume" | "baremetal" | "addon" | "resize";
|
|
385
|
+
spec: Record<string, unknown>;
|
|
386
|
+
quantity?: number;
|
|
387
|
+
}
|
|
388
|
+
export interface PreviewOrderOut {
|
|
389
|
+
amount: string;
|
|
390
|
+
currency: string;
|
|
391
|
+
subtotal: string;
|
|
392
|
+
tax_total: string;
|
|
393
|
+
total: string;
|
|
394
|
+
tax_breakdown?: {
|
|
395
|
+
jurisdiction?: string;
|
|
396
|
+
rate?: string;
|
|
397
|
+
}[];
|
|
398
|
+
estimate_degraded?: boolean;
|
|
399
|
+
tax_label?: string;
|
|
400
|
+
}
|
|
380
401
|
export interface StorageCatalog {
|
|
381
402
|
is_active: boolean;
|
|
382
403
|
pricing_mode: string;
|
|
@@ -473,9 +494,29 @@ export interface AddonAttachOut {
|
|
|
473
494
|
checkout_url: string | null;
|
|
474
495
|
credits_applied: string | null;
|
|
475
496
|
failure_reason: string | null;
|
|
476
|
-
|
|
497
|
+
/** Decimal on the wire — arrives as a string like `credits_applied`; go
|
|
498
|
+
* through `Number()` before any arithmetic or `.toFixed`. */
|
|
499
|
+
amount_paid: number | string;
|
|
477
500
|
billing_mode: string;
|
|
478
501
|
}
|
|
502
|
+
export interface AddonQuoteIn {
|
|
503
|
+
addon_key: string;
|
|
504
|
+
count: number;
|
|
505
|
+
billing_mode?: "prorate" | "new_cycle";
|
|
506
|
+
}
|
|
507
|
+
export interface AddonQuoteOut {
|
|
508
|
+
subtotal: string;
|
|
509
|
+
tax_total: string;
|
|
510
|
+
total: string;
|
|
511
|
+
tax_breakdown: {
|
|
512
|
+
jurisdiction?: string;
|
|
513
|
+
rate?: string;
|
|
514
|
+
}[];
|
|
515
|
+
tax_recurring: string;
|
|
516
|
+
total_recurring: string;
|
|
517
|
+
tax_label?: string;
|
|
518
|
+
estimate_degraded?: boolean;
|
|
519
|
+
}
|
|
479
520
|
export interface AddonRemoveOut {
|
|
480
521
|
id: string;
|
|
481
522
|
status: string;
|
|
@@ -567,6 +608,19 @@ export interface ResourceResizeQuoteOut {
|
|
|
567
608
|
out_of_stock_reason?: string | null;
|
|
568
609
|
credit_balance_available?: string;
|
|
569
610
|
can_switch_to_dedicated?: boolean;
|
|
611
|
+
billing_cycle?: string;
|
|
612
|
+
cycle_price?: string;
|
|
613
|
+
new_cycle_price?: string;
|
|
614
|
+
tax_today?: string;
|
|
615
|
+
total_today?: string;
|
|
616
|
+
tax_recurring?: string;
|
|
617
|
+
total_recurring?: string;
|
|
618
|
+
tax_breakdown?: {
|
|
619
|
+
jurisdiction?: string;
|
|
620
|
+
rate?: string;
|
|
621
|
+
}[];
|
|
622
|
+
tax_label?: string;
|
|
623
|
+
estimate_degraded?: boolean;
|
|
570
624
|
}
|
|
571
625
|
export interface ResourceResizeOut {
|
|
572
626
|
status: string;
|
|
@@ -603,6 +657,16 @@ export interface BlockVolumeResizeQuoteOut {
|
|
|
603
657
|
monthly_delta: string;
|
|
604
658
|
prorated_amount: string;
|
|
605
659
|
currency: string;
|
|
660
|
+
tax_today?: string;
|
|
661
|
+
total_today?: string;
|
|
662
|
+
tax_breakdown?: {
|
|
663
|
+
jurisdiction?: string;
|
|
664
|
+
rate?: string;
|
|
665
|
+
}[];
|
|
666
|
+
tax_recurring?: string;
|
|
667
|
+
total_recurring?: string;
|
|
668
|
+
tax_label?: string;
|
|
669
|
+
estimate_degraded?: boolean;
|
|
606
670
|
}
|
|
607
671
|
export interface BlockVolumeResizeIn {
|
|
608
672
|
new_size_gb: number;
|
|
@@ -747,3 +811,828 @@ export interface TicketMessageIn {
|
|
|
747
811
|
export interface TicketStatusIn {
|
|
748
812
|
status: TicketStatus;
|
|
749
813
|
}
|
|
814
|
+
export interface BaremetalIp {
|
|
815
|
+
address: string;
|
|
816
|
+
version?: number;
|
|
817
|
+
ptr_record?: string | null;
|
|
818
|
+
}
|
|
819
|
+
export interface BaremetalService {
|
|
820
|
+
id: string;
|
|
821
|
+
location_name: string | null;
|
|
822
|
+
location_city: string | null;
|
|
823
|
+
location_country: string | null;
|
|
824
|
+
reference: string;
|
|
825
|
+
hostname: string | null;
|
|
826
|
+
/** Install profile id of the last OS Synteq installed, or null when the
|
|
827
|
+
* server was handed off with no install by us. */
|
|
828
|
+
installed_os?: string | null;
|
|
829
|
+
cpu_model: string | null;
|
|
830
|
+
cpu_cores: number | null;
|
|
831
|
+
ram_gb: number | null;
|
|
832
|
+
storage_summary: string | null;
|
|
833
|
+
primary_ipv4: string | null;
|
|
834
|
+
primary_ipv6: string | null;
|
|
835
|
+
ip_addresses: string[];
|
|
836
|
+
ip_details: BaremetalIp[];
|
|
837
|
+
location_agent_connected: boolean;
|
|
838
|
+
ila_managed: boolean;
|
|
839
|
+
ila_reachable: boolean | null;
|
|
840
|
+
hardware: Record<string, unknown> | null;
|
|
841
|
+
capabilities: Record<string, unknown> | null;
|
|
842
|
+
rack_name: string | null;
|
|
843
|
+
rack_position: number | null;
|
|
844
|
+
monthly_price: number;
|
|
845
|
+
next_due: string | null;
|
|
846
|
+
is_active: boolean;
|
|
847
|
+
created_at: string | null;
|
|
848
|
+
project_id: string | null;
|
|
849
|
+
project_name: string | null;
|
|
850
|
+
}
|
|
851
|
+
export interface BaremetalInvoiceLine {
|
|
852
|
+
id: number;
|
|
853
|
+
description: string;
|
|
854
|
+
quantity: number;
|
|
855
|
+
unit_amount: number;
|
|
856
|
+
line_amount: number;
|
|
857
|
+
}
|
|
858
|
+
export interface BaremetalInvoice {
|
|
859
|
+
id: number;
|
|
860
|
+
invoice_number: string;
|
|
861
|
+
status: string;
|
|
862
|
+
raw_status: string;
|
|
863
|
+
is_overdue: boolean;
|
|
864
|
+
currency: string;
|
|
865
|
+
total: number;
|
|
866
|
+
amount_due: number;
|
|
867
|
+
amount_paid: number;
|
|
868
|
+
due_date: string;
|
|
869
|
+
created_at: string;
|
|
870
|
+
matching_lines: BaremetalInvoiceLine[];
|
|
871
|
+
other_line_count: number;
|
|
872
|
+
}
|
|
873
|
+
export interface BaremetalPowerState {
|
|
874
|
+
power_state: string | null;
|
|
875
|
+
bmc_reachable: boolean | null;
|
|
876
|
+
/** ILA's legacy single field: the PXE job when both domains are busy. */
|
|
877
|
+
active_job_id: string | null;
|
|
878
|
+
/** One active job per domain per server (ILA 2026.8.18). Optional so an
|
|
879
|
+
* older portal that does not echo them still parses. */
|
|
880
|
+
active_pxe_job_id?: string | null;
|
|
881
|
+
active_power_job_id?: string | null;
|
|
882
|
+
}
|
|
883
|
+
export type BaremetalPowerAction = "on" | "off" | "graceful_off" | "cycle" | "reset" | "graceful_restart";
|
|
884
|
+
export interface BaremetalJobResult {
|
|
885
|
+
job_id: string | null;
|
|
886
|
+
state: string | null;
|
|
887
|
+
}
|
|
888
|
+
export interface BaremetalInstallProfile {
|
|
889
|
+
id: string;
|
|
890
|
+
name?: string | null;
|
|
891
|
+
os_name?: string | null;
|
|
892
|
+
os_version?: string | null;
|
|
893
|
+
description?: string | null;
|
|
894
|
+
estimated_minutes?: number | null;
|
|
895
|
+
}
|
|
896
|
+
export interface BaremetalJob {
|
|
897
|
+
id: string | null;
|
|
898
|
+
state: string | null;
|
|
899
|
+
active: boolean;
|
|
900
|
+
boot_profile: string | null;
|
|
901
|
+
created_at: string | null;
|
|
902
|
+
started_at: string | null;
|
|
903
|
+
completed_at: string | null;
|
|
904
|
+
/** Over without having done its work: failed, timed out, cancelled, or
|
|
905
|
+
* replaced by a newer operation ("Replaced" / ILA `superseded`). */
|
|
906
|
+
failed: boolean;
|
|
907
|
+
/** "pxe" (install / rescue) or "power" (a power press). */
|
|
908
|
+
domain?: "pxe" | "power" | string | null;
|
|
909
|
+
}
|
|
910
|
+
export interface BaremetalJobEvent {
|
|
911
|
+
event_type: string | null;
|
|
912
|
+
new_state: string | null;
|
|
913
|
+
message: string | null;
|
|
914
|
+
created_at: string | null;
|
|
915
|
+
}
|
|
916
|
+
export interface BaremetalInstallPasswordStatus {
|
|
917
|
+
available: boolean;
|
|
918
|
+
}
|
|
919
|
+
export interface BaremetalInstallPasswordOut {
|
|
920
|
+
password: string;
|
|
921
|
+
}
|
|
922
|
+
export interface BaremetalStorageVolumeIn {
|
|
923
|
+
name: string;
|
|
924
|
+
size: string;
|
|
925
|
+
mountpoint?: string | null;
|
|
926
|
+
type?: "filesystem" | "swap" | "thinpool";
|
|
927
|
+
fs?: "ext4" | "xfs" | null;
|
|
928
|
+
}
|
|
929
|
+
export interface BaremetalDiskSelectorIn {
|
|
930
|
+
type?: "ssd" | "hdd" | "nvme" | null;
|
|
931
|
+
size_min?: string | null;
|
|
932
|
+
size_max?: string | null;
|
|
933
|
+
count?: number | null;
|
|
934
|
+
}
|
|
935
|
+
export interface BaremetalStoragePoolIn {
|
|
936
|
+
role: "os" | "storage" | "cache";
|
|
937
|
+
select?: BaremetalDiskSelectorIn;
|
|
938
|
+
raid?: 0 | 1 | 5 | 6 | 10 | null;
|
|
939
|
+
volumes: BaremetalStorageVolumeIn[];
|
|
940
|
+
}
|
|
941
|
+
export interface BaremetalStorageLayoutIn {
|
|
942
|
+
profile?: string | null;
|
|
943
|
+
pools: BaremetalStoragePoolIn[];
|
|
944
|
+
}
|
|
945
|
+
export interface BaremetalReinstallIn {
|
|
946
|
+
install_profile: string;
|
|
947
|
+
hostname?: string | null;
|
|
948
|
+
ssh_public_key?: string | null;
|
|
949
|
+
storage?: BaremetalStorageLayoutIn | null;
|
|
950
|
+
confirm_reference: string;
|
|
951
|
+
password_challenge: string;
|
|
952
|
+
}
|
|
953
|
+
export interface BaremetalCatalogOffer {
|
|
954
|
+
offering_id: string;
|
|
955
|
+
title: string | null;
|
|
956
|
+
location: string | null;
|
|
957
|
+
location_code: string | null;
|
|
958
|
+
location_city: string | null;
|
|
959
|
+
location_country: string | null;
|
|
960
|
+
monthly_price: string;
|
|
961
|
+
setup_fee: string | null;
|
|
962
|
+
included_tb: number | null;
|
|
963
|
+
setup_estimate_minutes: number | null;
|
|
964
|
+
hardware: Record<string, unknown> | null;
|
|
965
|
+
capabilities: Record<string, unknown>;
|
|
966
|
+
}
|
|
967
|
+
export interface BaremetalCatalogGroup {
|
|
968
|
+
location: string | null;
|
|
969
|
+
location_code: string | null;
|
|
970
|
+
location_city: string | null;
|
|
971
|
+
location_country: string | null;
|
|
972
|
+
offers: BaremetalCatalogOffer[];
|
|
973
|
+
}
|
|
974
|
+
export interface BaremetalCatalogOut {
|
|
975
|
+
groups: BaremetalCatalogGroup[];
|
|
976
|
+
}
|
|
977
|
+
export interface BaremetalOrderSpec {
|
|
978
|
+
offering_id: string;
|
|
979
|
+
project_id: string;
|
|
980
|
+
hostname: string;
|
|
981
|
+
/** "none" hands the machine off as-is; "profile" installs `install_profile`. */
|
|
982
|
+
install_mode: "none" | "profile";
|
|
983
|
+
install_profile?: string;
|
|
984
|
+
ssh_key_id?: string;
|
|
985
|
+
ssh_public_key?: string;
|
|
986
|
+
storage?: BaremetalStorageLayoutIn;
|
|
987
|
+
}
|
|
988
|
+
/** GET /apps-plans → PlanOut. `name` is the tier id sent as AppCreateIn.planTier
|
|
989
|
+
* ("free" | "hobby" | "starter" | "pro"); `displayName` is the label. */
|
|
990
|
+
/** One placeable apps cluster from GET /apps/locations (customer-safe fields
|
|
991
|
+
* only). Several clusters can share a datacenter; `code`/`city` come from the
|
|
992
|
+
* cluster's linked Location and are null when it has none. */
|
|
993
|
+
export interface AppLocation {
|
|
994
|
+
clusterId: string;
|
|
995
|
+
region: string;
|
|
996
|
+
name: string;
|
|
997
|
+
code?: string | null;
|
|
998
|
+
city?: string | null;
|
|
999
|
+
country?: string | null;
|
|
1000
|
+
}
|
|
1001
|
+
export interface AppPlan {
|
|
1002
|
+
name: string;
|
|
1003
|
+
displayName?: string;
|
|
1004
|
+
isFree?: boolean;
|
|
1005
|
+
/** Packed source-upload cap for apps on this plan, MB (srccap1). */
|
|
1006
|
+
maxSourceMb?: number | null;
|
|
1007
|
+
/** Unpacked cap, MB. */
|
|
1008
|
+
maxUnpackedMb?: number | null;
|
|
1009
|
+
sleepsWhenIdle?: boolean;
|
|
1010
|
+
allowCustomDomains?: boolean;
|
|
1011
|
+
cpuMillicores?: number;
|
|
1012
|
+
memoryMib?: number;
|
|
1013
|
+
maxReplicas?: number;
|
|
1014
|
+
monthlyAnchorUsd?: string | number;
|
|
1015
|
+
/** Per-team cap on THIS tier and how many live apps the caller already has
|
|
1016
|
+
* on it (backend surfaces both). Together they say whether the tier is
|
|
1017
|
+
* pickable — a Free-only user at their two-app cap should not be handed
|
|
1018
|
+
* Free as a choice and then 4xx'd on Create. */
|
|
1019
|
+
maxAppsPerTeam?: number | null;
|
|
1020
|
+
teamAppsOnTier?: number;
|
|
1021
|
+
/** Pro boxes (2026-09-23): a dedicated tier the capacity cron's cache
|
|
1022
|
+
* says has zero fit. Absent/true = pickable (fail-open, same as the
|
|
1023
|
+
* backend's PlanOut default). */
|
|
1024
|
+
available?: boolean;
|
|
1025
|
+
unavailableReason?: string | null;
|
|
1026
|
+
}
|
|
1027
|
+
/** GET /apps , GET /apps/{id} , POST /apps → AppOut. */
|
|
1028
|
+
export interface App {
|
|
1029
|
+
id: string;
|
|
1030
|
+
projectId: string;
|
|
1031
|
+
teamId: string;
|
|
1032
|
+
slug: string;
|
|
1033
|
+
hostname: string;
|
|
1034
|
+
planTier: string;
|
|
1035
|
+
region: string;
|
|
1036
|
+
replicas: number;
|
|
1037
|
+
status: string;
|
|
1038
|
+
activeRelease: number;
|
|
1039
|
+
createdAt: string;
|
|
1040
|
+
/** The linked GitHub repository (owner/repo), when the app deploys from one. */
|
|
1041
|
+
githubRepoFullName?: string | null;
|
|
1042
|
+
}
|
|
1043
|
+
/** GET /apps/by-repo → an app that deploys from a repo, with its org and
|
|
1044
|
+
* project named — the search spans every team the user is in. */
|
|
1045
|
+
export interface AppByRepo extends App {
|
|
1046
|
+
teamName: string;
|
|
1047
|
+
projectName: string;
|
|
1048
|
+
}
|
|
1049
|
+
/** POST /apps body → AppCreateIn (camelCase; slug required). */
|
|
1050
|
+
/** POST /apps/check-name → NameCheckOut. `reason` is one of ok / invalid_shape / banned / taken. */
|
|
1051
|
+
export interface AppNameCheck {
|
|
1052
|
+
slug: string;
|
|
1053
|
+
available: boolean;
|
|
1054
|
+
reason: string;
|
|
1055
|
+
hostname?: string | null;
|
|
1056
|
+
}
|
|
1057
|
+
export interface AppCreateIn {
|
|
1058
|
+
slug: string;
|
|
1059
|
+
planTier?: string;
|
|
1060
|
+
region?: string;
|
|
1061
|
+
}
|
|
1062
|
+
/** GET /apps/{id}/builds/{id} → BuildDetailOut (BuildOut + steps/actor). */
|
|
1063
|
+
export interface BuildDetail extends Build {
|
|
1064
|
+
triggeredBy?: {
|
|
1065
|
+
userId?: string;
|
|
1066
|
+
name: string;
|
|
1067
|
+
avatarUrl?: string;
|
|
1068
|
+
} | null;
|
|
1069
|
+
steps?: {
|
|
1070
|
+
id: string;
|
|
1071
|
+
label: string;
|
|
1072
|
+
status: string;
|
|
1073
|
+
durationMs?: number | null;
|
|
1074
|
+
log?: string[];
|
|
1075
|
+
}[];
|
|
1076
|
+
artifacts?: unknown[];
|
|
1077
|
+
}
|
|
1078
|
+
/** One parsed line of GET /apps/{id}/logs/history's `lines` (the WS tail's
|
|
1079
|
+
* own shape, build-stamped). */
|
|
1080
|
+
export interface LogLine {
|
|
1081
|
+
ts?: string;
|
|
1082
|
+
container?: string;
|
|
1083
|
+
pod?: string;
|
|
1084
|
+
/** Release label ("r36") the line's instance belonged to, when known. */
|
|
1085
|
+
build?: string;
|
|
1086
|
+
message?: string;
|
|
1087
|
+
level?: string;
|
|
1088
|
+
}
|
|
1089
|
+
/** GET /apps/{id}/logs/history → the orchestrator's log payload (loose). */
|
|
1090
|
+
export interface LogHistory {
|
|
1091
|
+
lines?: LogLine[];
|
|
1092
|
+
entries?: LogLine[];
|
|
1093
|
+
[k: string]: unknown;
|
|
1094
|
+
}
|
|
1095
|
+
/** One metric axis of an app's live payload: the current value plus the
|
|
1096
|
+
* window's points. CPU is millicores, memory is bytes, network is bytes/s. */
|
|
1097
|
+
export interface AppMetricSeries {
|
|
1098
|
+
current: number;
|
|
1099
|
+
series: {
|
|
1100
|
+
ts: string;
|
|
1101
|
+
value: number;
|
|
1102
|
+
}[];
|
|
1103
|
+
}
|
|
1104
|
+
export interface AppMetricsPayload {
|
|
1105
|
+
cpu?: AppMetricSeries;
|
|
1106
|
+
memory?: AppMetricSeries;
|
|
1107
|
+
networkRx?: AppMetricSeries;
|
|
1108
|
+
networkTx?: AppMetricSeries;
|
|
1109
|
+
}
|
|
1110
|
+
/** GET /apps/{id}/usage → AppUsageOut: snapshot series, the live current
|
|
1111
|
+
* payload (null when the orchestrator cannot answer) and the plan envelope
|
|
1112
|
+
* the meters run against (the app's EFFECTIVE spec). */
|
|
1113
|
+
export interface AppUsage {
|
|
1114
|
+
series: {
|
|
1115
|
+
takenAt: string;
|
|
1116
|
+
payload: AppMetricsPayload;
|
|
1117
|
+
}[];
|
|
1118
|
+
current: AppMetricsPayload | null;
|
|
1119
|
+
envelope: {
|
|
1120
|
+
cpuMillicores: number;
|
|
1121
|
+
memoryMib: number;
|
|
1122
|
+
diskGb?: number | null;
|
|
1123
|
+
bandwidthGbMonth?: number | null;
|
|
1124
|
+
bandwidthUsedGb?: number | null;
|
|
1125
|
+
} | null;
|
|
1126
|
+
}
|
|
1127
|
+
/** GET /apps/{id}/health-check → AppHealthCheckOut. */
|
|
1128
|
+
export interface AppHealth {
|
|
1129
|
+
ok: boolean;
|
|
1130
|
+
status?: number | null;
|
|
1131
|
+
latencyMs?: number | null;
|
|
1132
|
+
detail?: string | null;
|
|
1133
|
+
}
|
|
1134
|
+
/** GET/POST /apps/{id}/domains → DomainOut. */
|
|
1135
|
+
export interface AppDomain {
|
|
1136
|
+
id: string;
|
|
1137
|
+
appId: string;
|
|
1138
|
+
domain: string;
|
|
1139
|
+
isDefault: boolean;
|
|
1140
|
+
isPrimary: boolean;
|
|
1141
|
+
tlsStatus: string;
|
|
1142
|
+
cnameTarget?: string | null;
|
|
1143
|
+
verificationToken?: string | null;
|
|
1144
|
+
failureReason?: string | null;
|
|
1145
|
+
isApex?: boolean;
|
|
1146
|
+
routingRecord?: {
|
|
1147
|
+
type?: string;
|
|
1148
|
+
name?: string;
|
|
1149
|
+
value?: string;
|
|
1150
|
+
} | null;
|
|
1151
|
+
dnsRecords?: {
|
|
1152
|
+
type?: string;
|
|
1153
|
+
name?: string;
|
|
1154
|
+
value?: string;
|
|
1155
|
+
}[];
|
|
1156
|
+
}
|
|
1157
|
+
/** GET /apps/{id}/plan/preview → PlanPreviewOut. */
|
|
1158
|
+
export interface PlanChangePreview {
|
|
1159
|
+
action: string;
|
|
1160
|
+
proratedCharge: string;
|
|
1161
|
+
newMonthly: string;
|
|
1162
|
+
tax: string;
|
|
1163
|
+
belowUsage: boolean;
|
|
1164
|
+
p95Cpu?: number | null;
|
|
1165
|
+
p95Mem?: number | null;
|
|
1166
|
+
}
|
|
1167
|
+
/** PATCH /apps/{id}/plan → PlanChangeOut. */
|
|
1168
|
+
export interface PlanChange {
|
|
1169
|
+
action: string;
|
|
1170
|
+
planTier: string;
|
|
1171
|
+
proratedCharge: string;
|
|
1172
|
+
tax: string;
|
|
1173
|
+
newMonthly: string;
|
|
1174
|
+
pendingPlanTier?: string | null;
|
|
1175
|
+
pendingPlanTierAt?: string | null;
|
|
1176
|
+
invoiceId?: string | null;
|
|
1177
|
+
chargeId?: string | null;
|
|
1178
|
+
creditId?: string | null;
|
|
1179
|
+
}
|
|
1180
|
+
/** GET/PATCH /apps/{id}/settings → AppSettingsOut. */
|
|
1181
|
+
export interface AppSettings {
|
|
1182
|
+
rootDirectory?: string | null;
|
|
1183
|
+
dockerfilePath?: string | null;
|
|
1184
|
+
buildContext?: string | null;
|
|
1185
|
+
dockerCommand?: string | null;
|
|
1186
|
+
preDeployCommand?: string | null;
|
|
1187
|
+
autoDeploy: string;
|
|
1188
|
+
healthCheckPath?: string | null;
|
|
1189
|
+
buildFilterIncluded?: string[];
|
|
1190
|
+
buildFilterIgnored?: string[];
|
|
1191
|
+
/** The port the app listens on, as explicitly chosen by the customer, or
|
|
1192
|
+
* null when they never chose one — in which case the runtime detects it
|
|
1193
|
+
* and falls back to `effectivePort`. 1-65535; the API 422s outside that. */
|
|
1194
|
+
port?: number | null;
|
|
1195
|
+
/** READ-ONLY. What the app is actually probed and routed on today. Never
|
|
1196
|
+
* send it — see AppSettingsPatch. */
|
|
1197
|
+
effectivePort: number;
|
|
1198
|
+
}
|
|
1199
|
+
/** Body of PATCH /apps/{id}/settings. `effectivePort` is server-derived and
|
|
1200
|
+
* read-only, so it is omitted here rather than left patchable by a bare
|
|
1201
|
+
* `Partial<AppSettings>` — mirroring the portal frontend's own guard. */
|
|
1202
|
+
export type AppSettingsPatch = Partial<Omit<AppSettings, "effectivePort">>;
|
|
1203
|
+
/** GET /apps/{id}/builds , POST /apps/{id}/deploys → BuildOut. */
|
|
1204
|
+
export interface Build {
|
|
1205
|
+
id: string;
|
|
1206
|
+
appId: string;
|
|
1207
|
+
sourceKind: string;
|
|
1208
|
+
sourceRef?: string | null;
|
|
1209
|
+
commitSha?: string | null;
|
|
1210
|
+
commitMessage?: string | null;
|
|
1211
|
+
frontend: string;
|
|
1212
|
+
status: string;
|
|
1213
|
+
imageDigest?: string | null;
|
|
1214
|
+
cacheHit: boolean;
|
|
1215
|
+
startedAt?: string | null;
|
|
1216
|
+
finishedAt?: string | null;
|
|
1217
|
+
/** The orchestrator's one-line reason for a failed build (a pull that
|
|
1218
|
+
* could not resolve credentials, a Dockerfile step that exited 1). */
|
|
1219
|
+
failureReason?: string | null;
|
|
1220
|
+
/** Where a pending build stands in the build queue ("position N of M")
|
|
1221
|
+
* and, once running, the build VM it was admitted to (bpool1). */
|
|
1222
|
+
queuePosition?: number | null;
|
|
1223
|
+
queueTotal?: number | null;
|
|
1224
|
+
builder?: string | null;
|
|
1225
|
+
}
|
|
1226
|
+
/** POST /apps/{id}/deploys/source/upload-url → SourceUploadUrlOut. `headers`
|
|
1227
|
+
* are the exact headers to send on the PUT (its signature covers
|
|
1228
|
+
* `Content-Length`; anything else is refused with 403). Never log or print
|
|
1229
|
+
* `uploadUrl`/`objectKey` in normal output — the URL is itself a bearer
|
|
1230
|
+
* credential for the object. */
|
|
1231
|
+
export interface SourceUploadUrlOut {
|
|
1232
|
+
uploadUrl: string;
|
|
1233
|
+
objectKey: string;
|
|
1234
|
+
expiresAt: string | null;
|
|
1235
|
+
method: string;
|
|
1236
|
+
headers: Record<string, string>;
|
|
1237
|
+
}
|
|
1238
|
+
/** POST /apps/{id}/deploys body → DeployIn (camelCase). */
|
|
1239
|
+
export interface DeployIn {
|
|
1240
|
+
sourceKind?: string;
|
|
1241
|
+
sourceUrl?: string;
|
|
1242
|
+
sourceRef?: string;
|
|
1243
|
+
frontend?: string;
|
|
1244
|
+
imageRef?: string;
|
|
1245
|
+
rollbackToRelease?: number;
|
|
1246
|
+
}
|
|
1247
|
+
/** GET /apps/{id}/releases → ReleaseOut (subset the CLI renders). */
|
|
1248
|
+
export interface Release {
|
|
1249
|
+
id: string;
|
|
1250
|
+
appId: string;
|
|
1251
|
+
/** The build this release rolled out. Null for image-ref / seeded rows
|
|
1252
|
+
* with no source build. `app deployment show` needs this id. */
|
|
1253
|
+
buildId?: string | null;
|
|
1254
|
+
number: number;
|
|
1255
|
+
imageDigest: string;
|
|
1256
|
+
commitSha?: string | null;
|
|
1257
|
+
commitMessage?: string | null;
|
|
1258
|
+
status: string;
|
|
1259
|
+
/** Why a health_failed / start_failed release failed: the orchestrator's
|
|
1260
|
+
* reason plus the guest console tail. Null unless the release failed. */
|
|
1261
|
+
failureReason?: string | null;
|
|
1262
|
+
isCurrent: boolean;
|
|
1263
|
+
deployedAt: string;
|
|
1264
|
+
}
|
|
1265
|
+
/** GET /apps/{id}/env → EnvVarOut. Values are never returned (hasValue only). */
|
|
1266
|
+
export interface EnvVar {
|
|
1267
|
+
id: string;
|
|
1268
|
+
appId: string;
|
|
1269
|
+
key: string;
|
|
1270
|
+
scope: string;
|
|
1271
|
+
/** "secret" (reveal masks) | "config" (reveal returns plaintext). */
|
|
1272
|
+
kind?: string;
|
|
1273
|
+
note?: string | null;
|
|
1274
|
+
hasValue: boolean;
|
|
1275
|
+
updatedAt: string;
|
|
1276
|
+
}
|
|
1277
|
+
/** PUT /apps/{id}/env body → EnvVarSetIn (value is write-only). */
|
|
1278
|
+
export interface EnvVarSetIn {
|
|
1279
|
+
key: string;
|
|
1280
|
+
value: string;
|
|
1281
|
+
scope?: string;
|
|
1282
|
+
/** "secret" (default) | "config". */
|
|
1283
|
+
kind?: string;
|
|
1284
|
+
note?: string;
|
|
1285
|
+
/** false = save without the auto rollout (applies on the next deploy). */
|
|
1286
|
+
rollout?: boolean;
|
|
1287
|
+
}
|
|
1288
|
+
/** GET/POST /apps/{id}/github/link → GithubLinkOut (camelCase; GET is null when unlinked). */
|
|
1289
|
+
export interface GithubLink {
|
|
1290
|
+
id: string;
|
|
1291
|
+
appId: string;
|
|
1292
|
+
installationId: string;
|
|
1293
|
+
repoFullName: string;
|
|
1294
|
+
branch: string;
|
|
1295
|
+
createdAt: string;
|
|
1296
|
+
/** POST only: the build a NEW app's link started from the branch head. */
|
|
1297
|
+
deploy?: {
|
|
1298
|
+
buildId: string;
|
|
1299
|
+
commitSha: string | null;
|
|
1300
|
+
commitMessage: string | null;
|
|
1301
|
+
} | null;
|
|
1302
|
+
/** POST only: why no build started (the app has deployed before, the head was unreadable…). */
|
|
1303
|
+
deploySkipped?: string | null;
|
|
1304
|
+
}
|
|
1305
|
+
/** POST /apps/{id}/github/link body → GithubLinkIn. */
|
|
1306
|
+
export interface GithubLinkIn {
|
|
1307
|
+
installationId: string;
|
|
1308
|
+
repoFullName: string;
|
|
1309
|
+
branch?: string;
|
|
1310
|
+
}
|
|
1311
|
+
/** POST /auth/ws-ticket → WsTicketOut. */
|
|
1312
|
+
export interface WsTicket {
|
|
1313
|
+
ticket: string;
|
|
1314
|
+
}
|
|
1315
|
+
/** GET /functions row → FunctionOut. */
|
|
1316
|
+
export interface Fn {
|
|
1317
|
+
id: string;
|
|
1318
|
+
slug: string;
|
|
1319
|
+
hostname: string;
|
|
1320
|
+
planTier: string;
|
|
1321
|
+
region: string;
|
|
1322
|
+
status: string;
|
|
1323
|
+
memoryMib: number;
|
|
1324
|
+
/** "node22" | "python312" — always concrete on the wire (never null). */
|
|
1325
|
+
runtime: string;
|
|
1326
|
+
concurrency: number;
|
|
1327
|
+
timeoutSeconds: number;
|
|
1328
|
+
minInstances: number;
|
|
1329
|
+
maxInstances: number;
|
|
1330
|
+
monthlyBudgetUsd?: string | number | null;
|
|
1331
|
+
budgetState: string;
|
|
1332
|
+
pausedReason?: string | null;
|
|
1333
|
+
createdAt: string;
|
|
1334
|
+
deletedAt?: string | null;
|
|
1335
|
+
currentReleaseNumber?: number | null;
|
|
1336
|
+
currentReleaseDeployedAt?: string | null;
|
|
1337
|
+
healthStatus?: string | null;
|
|
1338
|
+
healthCheckedAt?: string | null;
|
|
1339
|
+
/** The admin's source cap in bytes (portal setting); absent on older backends. */
|
|
1340
|
+
maxSourceBytes?: number | null;
|
|
1341
|
+
/** The API's file-count cap on a source deploy; absent on older backends. */
|
|
1342
|
+
maxSourceFiles?: number | null;
|
|
1343
|
+
}
|
|
1344
|
+
export interface FnListOut {
|
|
1345
|
+
items: Fn[];
|
|
1346
|
+
total: number;
|
|
1347
|
+
}
|
|
1348
|
+
/** POST /functions body → FunctionCreateIn. Exactly one of locationId / region. */
|
|
1349
|
+
export interface FnCreateIn {
|
|
1350
|
+
name: string;
|
|
1351
|
+
planTier: string;
|
|
1352
|
+
runtime?: string;
|
|
1353
|
+
locationId?: string;
|
|
1354
|
+
region?: string;
|
|
1355
|
+
}
|
|
1356
|
+
/** GET /functions-plans → FunctionPlansOut.plans[] */
|
|
1357
|
+
export interface FnPlan {
|
|
1358
|
+
id: string;
|
|
1359
|
+
name: string;
|
|
1360
|
+
displayName: string;
|
|
1361
|
+
memoryMib: number;
|
|
1362
|
+
cpuMillicores: number;
|
|
1363
|
+
defaultConcurrency: number;
|
|
1364
|
+
maxConcurrency: number;
|
|
1365
|
+
defaultTimeoutSeconds: number;
|
|
1366
|
+
maxTimeoutSeconds: number;
|
|
1367
|
+
pricePerMillionInvocationsUsd?: string | number | null;
|
|
1368
|
+
pricePerGbSecondUsd?: string | number | null;
|
|
1369
|
+
keepWarmMonthlyUsd?: string | number | null;
|
|
1370
|
+
}
|
|
1371
|
+
/** GET /functions-locations row. `region` is what POST /functions takes. */
|
|
1372
|
+
export interface FnLocation {
|
|
1373
|
+
locationId: string;
|
|
1374
|
+
code: string;
|
|
1375
|
+
city: string;
|
|
1376
|
+
country: string;
|
|
1377
|
+
region?: string;
|
|
1378
|
+
}
|
|
1379
|
+
/** POST /functions/check-name → NameCheckOut. */
|
|
1380
|
+
export interface FnNameCheck {
|
|
1381
|
+
slug: string;
|
|
1382
|
+
available: boolean;
|
|
1383
|
+
reason?: string | null;
|
|
1384
|
+
hostname?: string | null;
|
|
1385
|
+
}
|
|
1386
|
+
/** One pasted source file. The backend tars these server-side. */
|
|
1387
|
+
export interface FnSourceFile {
|
|
1388
|
+
path: string;
|
|
1389
|
+
content: string;
|
|
1390
|
+
}
|
|
1391
|
+
/** GET /functions/{id}/source → FnSourceOut. `files: []` = not re-openable. */
|
|
1392
|
+
export interface FnSource {
|
|
1393
|
+
files: FnSourceFile[];
|
|
1394
|
+
packageBytes?: number | null;
|
|
1395
|
+
deployedAt?: string | null;
|
|
1396
|
+
buildId?: string | null;
|
|
1397
|
+
releaseNumber?: number | null;
|
|
1398
|
+
}
|
|
1399
|
+
/** GET /functions/{id}/builds row → FnBuildOut. status: pending|building|pushing|succeeded|failed. */
|
|
1400
|
+
export interface FnBuild {
|
|
1401
|
+
id: string;
|
|
1402
|
+
functionId: string;
|
|
1403
|
+
sourceKind: string;
|
|
1404
|
+
sourceRef?: string | null;
|
|
1405
|
+
commitSha?: string | null;
|
|
1406
|
+
commitMessage?: string | null;
|
|
1407
|
+
/** "dockerfile" | "railpack" | "bundle" — decided server-side, never sent. */
|
|
1408
|
+
frontend: string;
|
|
1409
|
+
status: string;
|
|
1410
|
+
imageTag: string;
|
|
1411
|
+
imageDigest?: string | null;
|
|
1412
|
+
bundleDigest?: string | null;
|
|
1413
|
+
createdAt: string;
|
|
1414
|
+
startedAt?: string | null;
|
|
1415
|
+
finishedAt?: string | null;
|
|
1416
|
+
}
|
|
1417
|
+
/** GET /functions/{id}/releases row → FnReleaseOut. */
|
|
1418
|
+
export interface FnRelease {
|
|
1419
|
+
id: string;
|
|
1420
|
+
functionId: string;
|
|
1421
|
+
buildId?: string | null;
|
|
1422
|
+
number: number;
|
|
1423
|
+
imageDigest: string;
|
|
1424
|
+
bundleDigest?: string | null;
|
|
1425
|
+
commitSha?: string | null;
|
|
1426
|
+
commitMessage?: string | null;
|
|
1427
|
+
status: string;
|
|
1428
|
+
isCurrent: boolean;
|
|
1429
|
+
deployedAt: string;
|
|
1430
|
+
}
|
|
1431
|
+
/** POST /functions/{id}/rollback → {release, rolledBackTo}. */
|
|
1432
|
+
export interface FnRollbackOut {
|
|
1433
|
+
release: number;
|
|
1434
|
+
rolledBackTo: number;
|
|
1435
|
+
}
|
|
1436
|
+
/** One outbound HTTP call a run made. `status` null = never completed. */
|
|
1437
|
+
export interface FnOutboundCall {
|
|
1438
|
+
method?: string | null;
|
|
1439
|
+
url: string;
|
|
1440
|
+
status?: number | null;
|
|
1441
|
+
durationMs?: number | null;
|
|
1442
|
+
error?: string | null;
|
|
1443
|
+
}
|
|
1444
|
+
/** GET /functions/{id}/runs row → FnRunOut. */
|
|
1445
|
+
export interface FnRun {
|
|
1446
|
+
id: string;
|
|
1447
|
+
functionId: string;
|
|
1448
|
+
releaseNumber?: number | null;
|
|
1449
|
+
startedAt: string;
|
|
1450
|
+
durationMs?: number | null;
|
|
1451
|
+
status: string;
|
|
1452
|
+
statusCode?: number | null;
|
|
1453
|
+
error?: string | null;
|
|
1454
|
+
requestId?: string | null;
|
|
1455
|
+
/** null = runtime captured nothing; [] = the run printed nothing. */
|
|
1456
|
+
logLines?: string[] | null;
|
|
1457
|
+
logTruncated?: boolean;
|
|
1458
|
+
outbound?: FnOutboundCall[] | null;
|
|
1459
|
+
outboundTruncated?: boolean;
|
|
1460
|
+
}
|
|
1461
|
+
export interface FnRunListOut {
|
|
1462
|
+
items: FnRun[];
|
|
1463
|
+
total?: number | null;
|
|
1464
|
+
nextBefore?: string | null;
|
|
1465
|
+
}
|
|
1466
|
+
/** GET /functions/{id}/env row → FnEnvVarOut. Values are never listed. */
|
|
1467
|
+
export interface FnEnvVar {
|
|
1468
|
+
id: string;
|
|
1469
|
+
key: string;
|
|
1470
|
+
scope: string;
|
|
1471
|
+
/** "secret" (reveal is masked to the last 4) | "config" (reveal is full). */
|
|
1472
|
+
kind: string;
|
|
1473
|
+
note?: string | null;
|
|
1474
|
+
updatedAt: string;
|
|
1475
|
+
}
|
|
1476
|
+
/** GET /functions/{id}/triggers/cron → CronTriggerOut[]. A trigger POSTs the
|
|
1477
|
+
* function's own public hostname on `schedule` (5-field cron, UTC), so a cron
|
|
1478
|
+
* run meters and logs like any other invocation. */
|
|
1479
|
+
export interface FnCronTrigger {
|
|
1480
|
+
id: string;
|
|
1481
|
+
schedule: string;
|
|
1482
|
+
enabled: boolean;
|
|
1483
|
+
/** Re-fires after a failed run, 0-2. */
|
|
1484
|
+
retries: number;
|
|
1485
|
+
lastRunAt?: string | null;
|
|
1486
|
+
lastStatus?: string | null;
|
|
1487
|
+
description?: string | null;
|
|
1488
|
+
createdAt: string;
|
|
1489
|
+
createdBy?: string | null;
|
|
1490
|
+
createdByUserId?: string | null;
|
|
1491
|
+
}
|
|
1492
|
+
/** POST /functions/{id}/triggers/cron body → CronTriggerCreateIn. */
|
|
1493
|
+
export interface FnCronTriggerCreateIn {
|
|
1494
|
+
schedule: string;
|
|
1495
|
+
enabled?: boolean;
|
|
1496
|
+
retries?: number;
|
|
1497
|
+
description?: string | null;
|
|
1498
|
+
}
|
|
1499
|
+
/** PATCH /functions/{id}/triggers/cron/{triggerId} body → CronTriggerUpdateIn.
|
|
1500
|
+
* Absent keys are left as they are. */
|
|
1501
|
+
export type FnCronTriggerUpdateIn = Partial<FnCronTriggerCreateIn>;
|
|
1502
|
+
/** PUT /functions/{id}/env body → FnEnvVarSetIn (value is write-only). */
|
|
1503
|
+
export interface FnEnvVarSetIn {
|
|
1504
|
+
key: string;
|
|
1505
|
+
value: string;
|
|
1506
|
+
scope?: string;
|
|
1507
|
+
kind?: string;
|
|
1508
|
+
note?: string | null;
|
|
1509
|
+
/** false = save without the auto rollout (applies on the next deploy). */
|
|
1510
|
+
rollout?: boolean;
|
|
1511
|
+
}
|
|
1512
|
+
/** POST /functions/{id}/env/{key}/reveal → EnvRevealOut. For a secret the
|
|
1513
|
+
* value arrives ALREADY MASKED ("…" + last 4) — the plaintext never crosses. */
|
|
1514
|
+
export interface FnEnvReveal {
|
|
1515
|
+
key: string;
|
|
1516
|
+
value: string;
|
|
1517
|
+
kind: string;
|
|
1518
|
+
masked: boolean;
|
|
1519
|
+
}
|
|
1520
|
+
/** PATCH /functions/{id} body (subset the CLI drives). */
|
|
1521
|
+
export interface FnUpdateIn {
|
|
1522
|
+
runtime?: string;
|
|
1523
|
+
concurrency?: number;
|
|
1524
|
+
timeoutSeconds?: number;
|
|
1525
|
+
minInstances?: number;
|
|
1526
|
+
maxInstances?: number;
|
|
1527
|
+
paused?: boolean;
|
|
1528
|
+
}
|
|
1529
|
+
type FnMoney = string | number | null;
|
|
1530
|
+
/** The three auto-reload fields both billing views (and both PUTs) return. */
|
|
1531
|
+
export interface FnAutoReloadState {
|
|
1532
|
+
autoReloadEnabled: boolean;
|
|
1533
|
+
autoReloadRuns: number | null;
|
|
1534
|
+
/** null = "fire below one reload's worth". */
|
|
1535
|
+
autoReloadThresholdRuns: number | null;
|
|
1536
|
+
}
|
|
1537
|
+
/** GET /functions/{id}/billing → the function's Billing card. `plan` is null
|
|
1538
|
+
* when no commercial plan applies (the ships-off shape, which also omits the
|
|
1539
|
+
* credit and auto-reload fields). */
|
|
1540
|
+
export interface FnBilling extends Partial<FnAutoReloadState> {
|
|
1541
|
+
functionId: string;
|
|
1542
|
+
/** "function" | "team" | null — which pool this function's runs draw from. */
|
|
1543
|
+
source: string | null;
|
|
1544
|
+
plan: {
|
|
1545
|
+
id: string;
|
|
1546
|
+
name: string;
|
|
1547
|
+
displayName: string | null;
|
|
1548
|
+
scope: string;
|
|
1549
|
+
billingMode: string;
|
|
1550
|
+
monthlyPriceUsd: FnMoney;
|
|
1551
|
+
includedRunsMonth: number | null;
|
|
1552
|
+
isFreeTier?: boolean;
|
|
1553
|
+
} | null;
|
|
1554
|
+
periodStart: string;
|
|
1555
|
+
runsUsed: number;
|
|
1556
|
+
includedRunsMonth: number | null;
|
|
1557
|
+
runsRemaining: number | null;
|
|
1558
|
+
projectedChargeUsd?: FnMoney;
|
|
1559
|
+
pausedReason?: string | null;
|
|
1560
|
+
planLimitPaused?: boolean;
|
|
1561
|
+
/** Divisor for displaying per-run rates: 1, 1000 or 1000000. */
|
|
1562
|
+
runPriceUnit?: number;
|
|
1563
|
+
/** Null unless the plan sells run credits. */
|
|
1564
|
+
creditRateUsd?: FnMoney;
|
|
1565
|
+
creditMonthlyGrantRuns?: number | null;
|
|
1566
|
+
creditMinRuns?: number | null;
|
|
1567
|
+
creditMaxRuns?: number | null;
|
|
1568
|
+
creditStepRuns?: number | null;
|
|
1569
|
+
isCreditsOffering?: boolean;
|
|
1570
|
+
creditBalance?: number | null;
|
|
1571
|
+
creditFreeBalance?: number | null;
|
|
1572
|
+
}
|
|
1573
|
+
/** GET /functions-team-billing → the team pool. `hasTeamPlan=false` means
|
|
1574
|
+
* functions bill individually and nothing else below is present. */
|
|
1575
|
+
export interface FnTeamBilling extends Partial<FnAutoReloadState> {
|
|
1576
|
+
hasTeamPlan: boolean;
|
|
1577
|
+
paymentMethodOnFile?: boolean;
|
|
1578
|
+
plan?: {
|
|
1579
|
+
id: string;
|
|
1580
|
+
name: string;
|
|
1581
|
+
displayName: string | null;
|
|
1582
|
+
billingMode: string;
|
|
1583
|
+
isFreeTier?: boolean;
|
|
1584
|
+
includedRunsMonth: number | null;
|
|
1585
|
+
creditRateUsd: FnMoney;
|
|
1586
|
+
creditMonthlyGrantRuns: number | null;
|
|
1587
|
+
creditMinRuns: number | null;
|
|
1588
|
+
creditMaxRuns: number | null;
|
|
1589
|
+
creditStepRuns: number | null;
|
|
1590
|
+
monthlyPriceUsd: FnMoney;
|
|
1591
|
+
};
|
|
1592
|
+
isCreditsOffering?: boolean;
|
|
1593
|
+
periodStart?: string;
|
|
1594
|
+
periodResetsAt?: string;
|
|
1595
|
+
runsUsed?: number;
|
|
1596
|
+
runsRemaining?: number | null;
|
|
1597
|
+
creditBalance?: number | null;
|
|
1598
|
+
creditFreeBalance?: number;
|
|
1599
|
+
creditPaidBalance?: number;
|
|
1600
|
+
runPriceUnit?: number;
|
|
1601
|
+
}
|
|
1602
|
+
/** PUT /functions/{id}/credits/auto-reload and /functions-team-credits/auto-reload
|
|
1603
|
+
* body → FnAutoReloadIn. `runs` is required to arm; disarming clears both. */
|
|
1604
|
+
export interface FnAutoReloadIn {
|
|
1605
|
+
enabled: boolean;
|
|
1606
|
+
runs?: number;
|
|
1607
|
+
threshold_runs?: number;
|
|
1608
|
+
}
|
|
1609
|
+
/** POST …/credits/purchase (and the team quote) body → FnCreditsPurchaseIn.
|
|
1610
|
+
* A QUANTITY of runs, never a price: the server prices it. */
|
|
1611
|
+
export interface FnCreditsPurchaseIn {
|
|
1612
|
+
runs: number;
|
|
1613
|
+
payment_method_id?: string;
|
|
1614
|
+
apply_credits?: boolean;
|
|
1615
|
+
bitpay_redirect_url?: string;
|
|
1616
|
+
}
|
|
1617
|
+
/** POST /functions-team-credits/quote → priced quote, tax included. */
|
|
1618
|
+
export interface FnCreditsQuote {
|
|
1619
|
+
runs: number;
|
|
1620
|
+
subtotal: string;
|
|
1621
|
+
tax: string;
|
|
1622
|
+
taxLabel: string | null;
|
|
1623
|
+
total: string;
|
|
1624
|
+
currency: string | null;
|
|
1625
|
+
}
|
|
1626
|
+
/** POST …/credits/purchase → the minted invoice and its charge. Credits land
|
|
1627
|
+
* when the invoice settles (instantly for a card; later for ACH/BitPay). */
|
|
1628
|
+
export interface FnCreditsPurchaseOut {
|
|
1629
|
+
status: string;
|
|
1630
|
+
invoiceId: string;
|
|
1631
|
+
chargeId: string | null;
|
|
1632
|
+
provider: string | null;
|
|
1633
|
+
checkoutUrl: string | null;
|
|
1634
|
+
runs: number;
|
|
1635
|
+
amountUsd: FnMoney;
|
|
1636
|
+
creditBalance: number | null;
|
|
1637
|
+
}
|
|
1638
|
+
export {};
|