@synteq/cli 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/run.js +61 -2
- package/dist/api/client.d.ts +29 -37
- package/dist/api/client.js +42 -49
- package/dist/api/client.js.map +1 -1
- package/dist/api/factory.d.ts +3 -0
- package/dist/api/factory.js +1 -1
- package/dist/api/factory.js.map +1 -1
- package/dist/api/types.d.ts +14 -23
- package/dist/auth/scope.d.ts +19 -0
- package/dist/auth/scope.js +65 -0
- package/dist/auth/scope.js.map +1 -0
- package/dist/base/command.d.ts +1 -1
- package/dist/base/command.js +49 -0
- package/dist/base/command.js.map +1 -1
- package/dist/commands/account/index.d.ts +1 -0
- package/dist/commands/account/index.js +1 -0
- package/dist/commands/account/index.js.map +1 -1
- package/dist/commands/account/show.d.ts +1 -0
- package/dist/commands/account/show.js +1 -0
- package/dist/commands/account/show.js.map +1 -1
- package/dist/commands/api.d.ts +1 -0
- package/dist/commands/api.js +5 -4
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/catalog.d.ts +1 -0
- package/dist/commands/catalog.js +6 -1
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/config/index.d.ts +1 -0
- package/dist/commands/config/index.js +1 -0
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/set-api-url.d.ts +1 -0
- package/dist/commands/config/set-api-url.js +38 -2
- package/dist/commands/config/set-api-url.js.map +1 -1
- package/dist/commands/config/show.d.ts +1 -0
- package/dist/commands/config/show.js +1 -0
- package/dist/commands/config/show.js.map +1 -1
- package/dist/commands/credits/add.d.ts +1 -0
- package/dist/commands/credits/add.js +1 -0
- package/dist/commands/credits/add.js.map +1 -1
- package/dist/commands/credits/index.d.ts +1 -0
- package/dist/commands/credits/index.js +1 -0
- package/dist/commands/credits/index.js.map +1 -1
- package/dist/commands/credits/list.d.ts +1 -0
- package/dist/commands/credits/list.js +1 -0
- package/dist/commands/credits/list.js.map +1 -1
- package/dist/commands/gpu/activity.d.ts +2 -0
- package/dist/commands/gpu/activity.js +7 -0
- package/dist/commands/gpu/activity.js.map +1 -1
- package/dist/commands/gpu/bandwidth.d.ts +2 -0
- package/dist/commands/gpu/bandwidth.js +5 -0
- package/dist/commands/gpu/bandwidth.js.map +1 -1
- package/dist/commands/gpu/boot-order.d.ts +2 -0
- package/dist/commands/gpu/boot-order.js +6 -0
- package/dist/commands/gpu/boot-order.js.map +1 -1
- package/dist/commands/gpu/console.d.ts +2 -0
- package/dist/commands/gpu/console.js +6 -0
- package/dist/commands/gpu/console.js.map +1 -1
- package/dist/commands/gpu/details.d.ts +3 -0
- package/dist/commands/gpu/details.js +10 -0
- package/dist/commands/gpu/details.js.map +1 -1
- package/dist/commands/gpu/index.d.ts +1 -0
- package/dist/commands/gpu/index.js +1 -0
- package/dist/commands/gpu/index.js.map +1 -1
- package/dist/commands/gpu/ip/add.d.ts +2 -0
- package/dist/commands/gpu/ip/add.js +7 -0
- package/dist/commands/gpu/ip/add.js.map +1 -1
- package/dist/commands/gpu/ip/list.d.ts +2 -0
- package/dist/commands/gpu/ip/list.js +5 -0
- package/dist/commands/gpu/ip/list.js.map +1 -1
- package/dist/commands/gpu/list.d.ts +1 -0
- package/dist/commands/gpu/list.js +1 -0
- package/dist/commands/gpu/list.js.map +1 -1
- package/dist/commands/gpu/order.d.ts +1 -0
- package/dist/commands/gpu/order.js +3 -0
- package/dist/commands/gpu/order.js.map +1 -1
- package/dist/commands/gpu/power.d.ts +2 -0
- package/dist/commands/gpu/power.js +7 -0
- package/dist/commands/gpu/power.js.map +1 -1
- package/dist/commands/gpu/reinstall.d.ts +2 -0
- package/dist/commands/gpu/reinstall.js +8 -0
- package/dist/commands/gpu/reinstall.js.map +1 -1
- package/dist/commands/gpu/resize.d.ts +2 -0
- package/dist/commands/gpu/resize.js +7 -0
- package/dist/commands/gpu/resize.js.map +1 -1
- package/dist/commands/gpu/stats.d.ts +2 -0
- package/dist/commands/gpu/stats.js +6 -0
- package/dist/commands/gpu/stats.js.map +1 -1
- package/dist/commands/help.d.ts +2 -0
- package/dist/commands/help.js +5 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/instant-metal/activity.d.ts +2 -0
- package/dist/commands/instant-metal/activity.js +7 -0
- package/dist/commands/instant-metal/activity.js.map +1 -1
- package/dist/commands/instant-metal/bandwidth.d.ts +2 -0
- package/dist/commands/instant-metal/bandwidth.js +5 -0
- package/dist/commands/instant-metal/bandwidth.js.map +1 -1
- package/dist/commands/instant-metal/boot-order.d.ts +2 -0
- package/dist/commands/instant-metal/boot-order.js +6 -0
- package/dist/commands/instant-metal/boot-order.js.map +1 -1
- package/dist/commands/instant-metal/console.d.ts +2 -0
- package/dist/commands/instant-metal/console.js +6 -0
- package/dist/commands/instant-metal/console.js.map +1 -1
- package/dist/commands/instant-metal/details.d.ts +3 -0
- package/dist/commands/instant-metal/details.js +10 -0
- package/dist/commands/instant-metal/details.js.map +1 -1
- package/dist/commands/instant-metal/index.d.ts +1 -0
- package/dist/commands/instant-metal/index.js +1 -0
- package/dist/commands/instant-metal/index.js.map +1 -1
- package/dist/commands/instant-metal/ip/add.d.ts +2 -0
- package/dist/commands/instant-metal/ip/add.js +7 -0
- package/dist/commands/instant-metal/ip/add.js.map +1 -1
- package/dist/commands/instant-metal/ip/list.d.ts +2 -0
- package/dist/commands/instant-metal/ip/list.js +5 -0
- package/dist/commands/instant-metal/ip/list.js.map +1 -1
- package/dist/commands/instant-metal/list.d.ts +1 -0
- package/dist/commands/instant-metal/list.js +1 -0
- package/dist/commands/instant-metal/list.js.map +1 -1
- package/dist/commands/instant-metal/order.d.ts +1 -0
- package/dist/commands/instant-metal/order.js +3 -0
- package/dist/commands/instant-metal/order.js.map +1 -1
- package/dist/commands/instant-metal/power.d.ts +2 -0
- package/dist/commands/instant-metal/power.js +7 -0
- package/dist/commands/instant-metal/power.js.map +1 -1
- package/dist/commands/instant-metal/reinstall.d.ts +2 -0
- package/dist/commands/instant-metal/reinstall.js +8 -0
- package/dist/commands/instant-metal/reinstall.js.map +1 -1
- package/dist/commands/instant-metal/resize.d.ts +2 -0
- package/dist/commands/instant-metal/resize.js +7 -0
- package/dist/commands/instant-metal/resize.js.map +1 -1
- package/dist/commands/instant-metal/stats.d.ts +2 -0
- package/dist/commands/instant-metal/stats.js +6 -0
- package/dist/commands/instant-metal/stats.js.map +1 -1
- package/dist/commands/login.d.ts +1 -0
- package/dist/commands/login.js +1 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +1 -0
- package/dist/commands/logout.js +1 -0
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/order/gpu.d.ts +1 -0
- package/dist/commands/order/gpu.js +3 -0
- package/dist/commands/order/gpu.js.map +1 -1
- package/dist/commands/order/instant-metal.d.ts +1 -0
- package/dist/commands/order/instant-metal.js +3 -0
- package/dist/commands/order/instant-metal.js.map +1 -1
- package/dist/commands/order/storage.d.ts +1 -0
- package/dist/commands/order/storage.js +2 -1
- package/dist/commands/order/storage.js.map +1 -1
- package/dist/commands/order/vps.d.ts +1 -0
- package/dist/commands/order/vps.js +3 -0
- package/dist/commands/order/vps.js.map +1 -1
- package/dist/commands/order.d.ts +1 -0
- package/dist/commands/order.js +1 -0
- package/dist/commands/order.js.map +1 -1
- package/dist/commands/os-images.d.ts +1 -0
- package/dist/commands/os-images.js +4 -1
- package/dist/commands/os-images.js.map +1 -1
- package/dist/commands/payments/index.d.ts +1 -0
- package/dist/commands/payments/index.js +1 -0
- package/dist/commands/payments/index.js.map +1 -1
- package/dist/commands/payments/methods/add.d.ts +1 -0
- package/dist/commands/payments/methods/add.js +1 -0
- package/dist/commands/payments/methods/add.js.map +1 -1
- package/dist/commands/payments/methods/delete.d.ts +1 -0
- package/dist/commands/payments/methods/delete.js +1 -0
- package/dist/commands/payments/methods/delete.js.map +1 -1
- package/dist/commands/payments/methods/index.d.ts +1 -0
- package/dist/commands/payments/methods/index.js +1 -0
- package/dist/commands/payments/methods/index.js.map +1 -1
- package/dist/commands/payments/methods/list.d.ts +1 -0
- package/dist/commands/payments/methods/list.js +1 -0
- package/dist/commands/payments/methods/list.js.map +1 -1
- package/dist/commands/payments/methods/set-default.d.ts +1 -0
- package/dist/commands/payments/methods/set-default.js +1 -0
- package/dist/commands/payments/methods/set-default.js.map +1 -1
- package/dist/commands/projects/index.d.ts +1 -0
- package/dist/commands/projects/index.js +1 -0
- package/dist/commands/projects/index.js.map +1 -1
- package/dist/commands/projects/list.d.ts +1 -0
- package/dist/commands/projects/list.js +1 -0
- package/dist/commands/projects/list.js.map +1 -1
- package/dist/commands/resources.d.ts +1 -0
- package/dist/commands/resources.js +33 -21
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/settings/index.d.ts +1 -0
- package/dist/commands/settings/index.js +1 -0
- package/dist/commands/settings/index.js.map +1 -1
- package/dist/commands/settings/render-mode.d.ts +1 -0
- package/dist/commands/settings/render-mode.js +1 -0
- package/dist/commands/settings/render-mode.js.map +1 -1
- package/dist/commands/ssh-key/add.d.ts +1 -0
- package/dist/commands/ssh-key/add.js +1 -0
- package/dist/commands/ssh-key/add.js.map +1 -1
- package/dist/commands/ssh-key/delete.d.ts +1 -0
- package/dist/commands/ssh-key/delete.js +1 -0
- package/dist/commands/ssh-key/delete.js.map +1 -1
- package/dist/commands/ssh-key/list.d.ts +1 -0
- package/dist/commands/ssh-key/list.js +1 -0
- package/dist/commands/ssh-key/list.js.map +1 -1
- package/dist/commands/storage/attach.d.ts +2 -1
- package/dist/commands/storage/attach.js +12 -11
- package/dist/commands/storage/attach.js.map +1 -1
- package/dist/commands/storage/detach.d.ts +1 -0
- package/dist/commands/storage/detach.js +3 -2
- package/dist/commands/storage/detach.js.map +1 -1
- package/dist/commands/storage/list.d.ts +1 -0
- package/dist/commands/storage/list.js +2 -1
- package/dist/commands/storage/list.js.map +1 -1
- package/dist/commands/storage/order.d.ts +2 -1
- package/dist/commands/storage/order.js +11 -10
- package/dist/commands/storage/order.js.map +1 -1
- package/dist/commands/storage/resize.d.ts +1 -0
- package/dist/commands/storage/resize.js +1 -0
- package/dist/commands/storage/resize.js.map +1 -1
- package/dist/commands/team/details.d.ts +1 -0
- package/dist/commands/team/details.js +1 -0
- package/dist/commands/team/details.js.map +1 -1
- package/dist/commands/team/invite.d.ts +1 -0
- package/dist/commands/team/invite.js +1 -0
- package/dist/commands/team/invite.js.map +1 -1
- package/dist/commands/team.d.ts +1 -0
- package/dist/commands/team.js +1 -0
- package/dist/commands/team.js.map +1 -1
- package/dist/commands/tickets/close.d.ts +1 -0
- package/dist/commands/tickets/close.js +1 -0
- package/dist/commands/tickets/close.js.map +1 -1
- package/dist/commands/tickets/create.d.ts +1 -0
- package/dist/commands/tickets/create.js +1 -0
- package/dist/commands/tickets/create.js.map +1 -1
- package/dist/commands/tickets/departments.d.ts +1 -0
- package/dist/commands/tickets/departments.js +1 -0
- package/dist/commands/tickets/departments.js.map +1 -1
- package/dist/commands/tickets/list.d.ts +1 -0
- package/dist/commands/tickets/list.js +1 -0
- package/dist/commands/tickets/list.js.map +1 -1
- package/dist/commands/tickets/open.d.ts +1 -0
- package/dist/commands/tickets/open.js +1 -0
- package/dist/commands/tickets/open.js.map +1 -1
- package/dist/commands/tickets/reopen.d.ts +11 -0
- package/dist/commands/tickets/reopen.js +34 -0
- package/dist/commands/tickets/reopen.js.map +1 -0
- package/dist/commands/tickets/reply.d.ts +1 -0
- package/dist/commands/tickets/reply.js +1 -0
- package/dist/commands/tickets/reply.js.map +1 -1
- package/dist/commands/transit.d.ts +1 -0
- package/dist/commands/transit.js +1 -0
- package/dist/commands/transit.js.map +1 -1
- package/dist/commands/tui/index.d.ts +1 -0
- package/dist/commands/tui/index.js +21 -0
- package/dist/commands/tui/index.js.map +1 -1
- package/dist/commands/vds/activity.d.ts +2 -0
- package/dist/commands/vds/activity.js +7 -0
- package/dist/commands/vds/activity.js.map +1 -1
- package/dist/commands/vds/bandwidth.d.ts +2 -0
- package/dist/commands/vds/bandwidth.js +5 -0
- package/dist/commands/vds/bandwidth.js.map +1 -1
- package/dist/commands/vds/boot-order.d.ts +2 -0
- package/dist/commands/vds/boot-order.js +6 -0
- package/dist/commands/vds/boot-order.js.map +1 -1
- package/dist/commands/vds/console.d.ts +2 -0
- package/dist/commands/vds/console.js +6 -0
- package/dist/commands/vds/console.js.map +1 -1
- package/dist/commands/vds/details.d.ts +3 -0
- package/dist/commands/vds/details.js +10 -0
- package/dist/commands/vds/details.js.map +1 -1
- package/dist/commands/vds/index.d.ts +1 -0
- package/dist/commands/vds/index.js +1 -0
- package/dist/commands/vds/index.js.map +1 -1
- package/dist/commands/vds/ip/add.d.ts +2 -0
- package/dist/commands/vds/ip/add.js +7 -0
- package/dist/commands/vds/ip/add.js.map +1 -1
- package/dist/commands/vds/ip/list.d.ts +2 -0
- package/dist/commands/vds/ip/list.js +5 -0
- package/dist/commands/vds/ip/list.js.map +1 -1
- package/dist/commands/vds/list.d.ts +1 -0
- package/dist/commands/vds/list.js +1 -0
- package/dist/commands/vds/list.js.map +1 -1
- package/dist/commands/vds/order.d.ts +2 -0
- package/dist/commands/vds/order.js +12 -3
- package/dist/commands/vds/order.js.map +1 -1
- package/dist/commands/vds/power.d.ts +2 -0
- package/dist/commands/vds/power.js +7 -0
- package/dist/commands/vds/power.js.map +1 -1
- package/dist/commands/vds/reinstall.d.ts +2 -0
- package/dist/commands/vds/reinstall.js +8 -0
- package/dist/commands/vds/reinstall.js.map +1 -1
- package/dist/commands/vds/resize.d.ts +2 -0
- package/dist/commands/vds/resize.js +7 -0
- package/dist/commands/vds/resize.js.map +1 -1
- package/dist/commands/vds/stats.d.ts +2 -0
- package/dist/commands/vds/stats.js +6 -0
- package/dist/commands/vds/stats.js.map +1 -1
- package/dist/commands/vps/activity.d.ts +1 -0
- package/dist/commands/vps/activity.js +5 -4
- package/dist/commands/vps/activity.js.map +1 -1
- package/dist/commands/vps/bandwidth.d.ts +1 -0
- package/dist/commands/vps/bandwidth.js +6 -5
- package/dist/commands/vps/bandwidth.js.map +1 -1
- package/dist/commands/vps/boot-order.d.ts +1 -0
- package/dist/commands/vps/boot-order.js +6 -5
- package/dist/commands/vps/boot-order.js.map +1 -1
- package/dist/commands/vps/console.d.ts +1 -0
- package/dist/commands/vps/console.js +10 -9
- package/dist/commands/vps/console.js.map +1 -1
- package/dist/commands/vps/details.d.ts +5 -0
- package/dist/commands/vps/details.js +21 -9
- package/dist/commands/vps/details.js.map +1 -1
- package/dist/commands/vps/ip/add.d.ts +1 -0
- package/dist/commands/vps/ip/add.js +11 -9
- package/dist/commands/vps/ip/add.js.map +1 -1
- package/dist/commands/vps/ip/list.d.ts +1 -0
- package/dist/commands/vps/ip/list.js +7 -6
- package/dist/commands/vps/ip/list.js.map +1 -1
- package/dist/commands/vps/list.d.ts +1 -0
- package/dist/commands/vps/list.js +5 -4
- package/dist/commands/vps/list.js.map +1 -1
- package/dist/commands/vps/order.d.ts +4 -2
- package/dist/commands/vps/order.js +26 -16
- package/dist/commands/vps/order.js.map +1 -1
- package/dist/commands/vps/power.d.ts +1 -0
- package/dist/commands/vps/power.js +15 -13
- package/dist/commands/vps/power.js.map +1 -1
- package/dist/commands/vps/reinstall.d.ts +1 -0
- package/dist/commands/vps/reinstall.js +15 -14
- package/dist/commands/vps/reinstall.js.map +1 -1
- package/dist/commands/vps/resize.d.ts +1 -0
- package/dist/commands/vps/resize.js +11 -9
- package/dist/commands/vps/resize.js.map +1 -1
- package/dist/commands/vps/stats.d.ts +1 -0
- package/dist/commands/vps/stats.js +8 -7
- package/dist/commands/vps/stats.js.map +1 -1
- package/dist/commands/whoami.d.ts +1 -0
- package/dist/commands/whoami.js +1 -0
- package/dist/commands/whoami.js.map +1 -1
- package/dist/help/help-filter.d.ts +10 -0
- package/dist/help/help-filter.js +9 -0
- package/dist/help/help-filter.js.map +1 -0
- package/dist/help/scope-aware-help.d.ts +30 -0
- package/dist/help/scope-aware-help.js +71 -0
- package/dist/help/scope-aware-help.js.map +1 -0
- package/dist/help.js +0 -1
- package/dist/help.js.map +1 -1
- package/dist/tui/App.js +1 -1
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/NumberInput.js +1 -1
- package/dist/tui/components/Sparkline.js +1 -1
- package/dist/tui/screens/Billing.js +10 -10
- package/dist/tui/screens/Billing.js.map +1 -1
- package/dist/tui/screens/Dashboard.js +1 -1
- package/dist/tui/screens/Dashboard.js.map +1 -1
- package/dist/tui/screens/Order.js +328 -99
- package/dist/tui/screens/Order.js.map +1 -1
- package/dist/tui/screens/Resources.js +35 -64
- package/dist/tui/screens/Resources.js.map +1 -1
- package/dist/tui/screens/Tickets.js +31 -22
- package/dist/tui/screens/Tickets.js.map +1 -1
- package/dist/ui/image-resolve.js +1 -1
- package/dist/ui/image-resolve.js.map +1 -1
- package/dist/ui/payment.d.ts +1 -1
- package/dist/ui/resource-detail.d.ts +3 -0
- package/dist/ui/{vps-detail.js → resource-detail.js} +8 -8
- package/dist/ui/resource-detail.js.map +1 -0
- package/dist/ui/resource-resolve.d.ts +4 -0
- package/dist/ui/resource-resolve.js +24 -0
- package/dist/ui/resource-resolve.js.map +1 -0
- package/dist/ui/wait.d.ts +1 -1
- package/dist/ui/wait.js +4 -4
- package/dist/ui/wait.js.map +1 -1
- package/dist/version-check-bin.d.ts +35 -0
- package/dist/version-check-bin.js +123 -0
- package/dist/version-check-bin.js.map +1 -0
- package/dist/version-check.d.ts +39 -0
- package/dist/version-check.js +148 -0
- package/dist/version-check.js.map +1 -0
- package/package.json +11 -6
- package/dist/commands/bare-metal/index.d.ts +0 -4
- package/dist/commands/bare-metal/index.js +0 -5
- package/dist/commands/bare-metal/index.js.map +0 -1
- package/dist/commands/bare-metal/list.d.ts +0 -9
- package/dist/commands/bare-metal/list.js +0 -38
- package/dist/commands/bare-metal/list.js.map +0 -1
- package/dist/commands/bare-metal/order.d.ts +0 -6
- package/dist/commands/bare-metal/order.js +0 -27
- package/dist/commands/bare-metal/order.js.map +0 -1
- package/dist/ui/vps-detail.d.ts +0 -3
- package/dist/ui/vps-detail.js.map +0 -1
- package/dist/ui/vps-resolve.d.ts +0 -4
- package/dist/ui/vps-resolve.js +0 -24
- package/dist/ui/vps-resolve.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reinstall.js","sourceRoot":"","sources":["../../../src/commands/vps/reinstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reinstall.js","sourceRoot":"","sources":["../../../src/commands/vps/reinstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { BaseCommand } from "../../base/command.js";
|
|
|
7
7
|
export declare function resolveTargetRamGb(ramFlag: number | undefined, seedRamGb: number): number;
|
|
8
8
|
export default class ResourceResize extends BaseCommand {
|
|
9
9
|
static description: string;
|
|
10
|
+
static apiKeyScope: string;
|
|
10
11
|
static examples: string[];
|
|
11
12
|
static args: {
|
|
12
13
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Args, Flags } from "@oclif/core";
|
|
2
2
|
import { BaseCommand } from "../../base/command.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveResourceRef } from "../../ui/resource-resolve.js";
|
|
4
4
|
import { confirmDestructive, yesRequiredMessage } from "../../ui/confirm.js";
|
|
5
5
|
import { isInteractive, panel, summary } from "../../ui/wizard.js";
|
|
6
6
|
import { ok, statusColor } from "../../ui/glyphs.js";
|
|
@@ -31,6 +31,7 @@ export default class ResourceResize extends BaseCommand {
|
|
|
31
31
|
"credit instead. Disk can only grow. On a TTY you get a y/N prompt;",
|
|
32
32
|
"when stdout is piped, pass --yes or the command exits 1 without acting.",
|
|
33
33
|
].join("\n");
|
|
34
|
+
static apiKeyScope = "write:resize";
|
|
34
35
|
static examples = [
|
|
35
36
|
"<%= config.bin %> vps resize 019e... --ram 8 --yes # bump RAM to 8 GB; keep CPU/disk",
|
|
36
37
|
"<%= config.bin %> vps resize 019e... --plan <planId> --payment-method <id> --yes",
|
|
@@ -82,10 +83,10 @@ export default class ResourceResize extends BaseCommand {
|
|
|
82
83
|
await this.initClients();
|
|
83
84
|
const { args, flags } = await this.parse(this.ctor);
|
|
84
85
|
try {
|
|
85
|
-
const vps = await
|
|
86
|
-
const
|
|
86
|
+
const vps = await resolveResourceRef(this.clients.api, args.id);
|
|
87
|
+
const resourceId = vps.id;
|
|
87
88
|
const target = await this.buildTargetSpec(vps, flags);
|
|
88
|
-
const quote = await this.clients.api.
|
|
89
|
+
const quote = await this.clients.api.virtualizedControl.resizeQuote(resourceId, {
|
|
89
90
|
cpu_cores: target.cpu_cores,
|
|
90
91
|
ram_gb: target.ram_gb,
|
|
91
92
|
disk_gb: target.disk_gb,
|
|
@@ -113,7 +114,7 @@ export default class ResourceResize extends BaseCommand {
|
|
|
113
114
|
api: this.clients.api,
|
|
114
115
|
tokens: this.clients.tokens,
|
|
115
116
|
config: this.clients.config,
|
|
116
|
-
flow: "
|
|
117
|
+
flow: "virtualized_addon",
|
|
117
118
|
estimatedCost: money(quote.prorated_amount),
|
|
118
119
|
prefill: {
|
|
119
120
|
paymentMethodId: flags["payment-method"],
|
|
@@ -125,7 +126,8 @@ export default class ResourceResize extends BaseCommand {
|
|
|
125
126
|
}
|
|
126
127
|
if (!flags.yes) {
|
|
127
128
|
if (!isInteractive()) {
|
|
128
|
-
this.
|
|
129
|
+
const cmd = (this.id ?? "vps:resize").replaceAll(":", " ");
|
|
130
|
+
this.error(yesRequiredMessage(`\`${cmd}\``), { exit: 1 });
|
|
129
131
|
}
|
|
130
132
|
const prorated = money(quote.prorated_amount);
|
|
131
133
|
const newMonthly = money(quote.new_monthly_price);
|
|
@@ -153,7 +155,7 @@ export default class ResourceResize extends BaseCommand {
|
|
|
153
155
|
payment_method_id: payment?.payment_method_id,
|
|
154
156
|
apply_credits: payment?.apply_credits || undefined,
|
|
155
157
|
};
|
|
156
|
-
const result = await this.clients.api.
|
|
158
|
+
const result = await this.clients.api.virtualizedControl.resize(resourceId, body);
|
|
157
159
|
this.emit(result, () => {
|
|
158
160
|
this.log(panel("Resize submitted", [
|
|
159
161
|
["Status", statusColor(result.status)],
|
|
@@ -179,10 +181,10 @@ export default class ResourceResize extends BaseCommand {
|
|
|
179
181
|
let seedRamGb = vps.plan?.ram_gb ?? 0;
|
|
180
182
|
let seedDisk = vps.plan?.disk_gb ?? 0;
|
|
181
183
|
if (flags.plan) {
|
|
182
|
-
const catalog = await this.clients.api.
|
|
184
|
+
const catalog = await this.clients.api.orders.catalog();
|
|
183
185
|
const plan = catalog.plans.find((p) => p.id === flags.plan);
|
|
184
186
|
if (!plan) {
|
|
185
|
-
this.error(`Plan ${flags.plan} not found in the catalog. Run \`synteq
|
|
187
|
+
this.error(`Plan ${flags.plan} not found in the catalog. Run \`synteq catalog\`.`, { exit: 1 });
|
|
186
188
|
}
|
|
187
189
|
// Reject a plan from the wrong product family. Without this,
|
|
188
190
|
// passing e.g. a VPS plan id to `vds resize --plan` silently
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/commands/vps/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/commands/vps/resize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseCommand } from "../../base/command.js";
|
|
2
2
|
export default class ResourceStats extends BaseCommand {
|
|
3
3
|
static description: string;
|
|
4
|
+
static apiKeyScope: string;
|
|
4
5
|
static examples: string[];
|
|
5
6
|
static args: {
|
|
6
7
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Args, Flags } from "@oclif/core";
|
|
2
2
|
import { BaseCommand } from "../../base/command.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveResourceId } from "../../ui/resource-resolve.js";
|
|
4
4
|
import { panel } from "../../ui/wizard.js";
|
|
5
5
|
import { statusColor } from "../../ui/glyphs.js";
|
|
6
6
|
import { sparkline } from "../../ui/sparkline.js";
|
|
@@ -12,6 +12,7 @@ export default class ResourceStats extends BaseCommand {
|
|
|
12
12
|
"Read-only. On a TTY it renders a compact readout with CPU and",
|
|
13
13
|
"network sparklines; `-o json` returns the raw metrics payload.",
|
|
14
14
|
].join("\n");
|
|
15
|
+
static apiKeyScope = "read:vps";
|
|
15
16
|
static examples = [
|
|
16
17
|
"<%= config.bin %> vps stats 019e...",
|
|
17
18
|
"<%= config.bin %> vps stats 019e... --timeframe day # sparklines over the last day",
|
|
@@ -19,7 +20,7 @@ export default class ResourceStats extends BaseCommand {
|
|
|
19
20
|
];
|
|
20
21
|
static args = {
|
|
21
22
|
id: Args.string({
|
|
22
|
-
description: "
|
|
23
|
+
description: "Resource id (full or the short id from `vps list` / `vds list` / `gpu list` / `instant-metal list`), hostname, or IP.",
|
|
23
24
|
required: true,
|
|
24
25
|
}),
|
|
25
26
|
};
|
|
@@ -35,11 +36,11 @@ export default class ResourceStats extends BaseCommand {
|
|
|
35
36
|
const { args, flags } = await this.parse(this.ctor);
|
|
36
37
|
const timeframe = flags.timeframe;
|
|
37
38
|
try {
|
|
38
|
-
const
|
|
39
|
+
const resourceId = await resolveResourceId(this.clients.api, args.id);
|
|
39
40
|
const [statsRaw, rrd] = await Promise.all([
|
|
40
|
-
this.clients.api.
|
|
41
|
-
this.clients.api.
|
|
42
|
-
.rrd(
|
|
41
|
+
this.clients.api.virtualized.stats(resourceId, timeframe),
|
|
42
|
+
this.clients.api.virtualized
|
|
43
|
+
.rrd(resourceId, timeframe)
|
|
43
44
|
.catch(() => ({ points: [] })),
|
|
44
45
|
]);
|
|
45
46
|
if (this.outputFormat === "json") {
|
|
@@ -49,7 +50,7 @@ export default class ResourceStats extends BaseCommand {
|
|
|
49
50
|
const point = pickLatestPoint(statsRaw);
|
|
50
51
|
const points = asPoints(statsRaw);
|
|
51
52
|
const status = point?.status ?? "";
|
|
52
|
-
this.log(panel(
|
|
53
|
+
this.log(panel(`${resourceId} — current`, [
|
|
53
54
|
["Status", status ? statusColor(status) : ""],
|
|
54
55
|
["CPU", formatCpu(point?.cpu)],
|
|
55
56
|
["Memory", formatUsagePair(point?.mem, point?.maxmem)],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/vps/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/vps/stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseCommand } from "../base/command.js";
|
|
2
2
|
export default class Whoami extends BaseCommand {
|
|
3
3
|
static description: string;
|
|
4
|
+
static apiKeyScope: string;
|
|
4
5
|
static examples: string[];
|
|
5
6
|
static flags: {
|
|
6
7
|
full: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
package/dist/commands/whoami.js
CHANGED
|
@@ -3,6 +3,7 @@ import { BaseCommand } from "../base/command.js";
|
|
|
3
3
|
import { panel } from "../ui/wizard.js";
|
|
4
4
|
export default class Whoami extends BaseCommand {
|
|
5
5
|
static description = "Show the signed-in account and which auth mode is active (device-flow session vs API token).";
|
|
6
|
+
static apiKeyScope = "none";
|
|
6
7
|
static examples = [
|
|
7
8
|
"<%= config.bin %> whoami",
|
|
8
9
|
"<%= config.bin %> whoami -o json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type AuthMode, type ScopeSet } from "../auth/scope.js";
|
|
2
|
+
export interface HelpCommand {
|
|
3
|
+
id: string;
|
|
4
|
+
apiKeyScope?: string;
|
|
5
|
+
hidden: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** Given the oclif command list, mode, and granted scopes, return a new
|
|
8
|
+
* list where commands that shouldn't render in --help have `hidden: true`.
|
|
9
|
+
* Existing hidden=true entries stay hidden regardless. */
|
|
10
|
+
export declare function computeVisibleCommands<T extends HelpCommand>(cmds: readonly T[], mode: AuthMode, granted: ScopeSet): T[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { filterCommandIdsByScope } from "../auth/scope.js";
|
|
2
|
+
/** Given the oclif command list, mode, and granted scopes, return a new
|
|
3
|
+
* list where commands that shouldn't render in --help have `hidden: true`.
|
|
4
|
+
* Existing hidden=true entries stay hidden regardless. */
|
|
5
|
+
export function computeVisibleCommands(cmds, mode, granted) {
|
|
6
|
+
const keep = filterCommandIdsByScope(cmds.map((c) => ({ id: c.id, apiKeyScope: c.apiKeyScope })), mode, granted);
|
|
7
|
+
return cmds.map((c) => (c.hidden || keep.has(c.id) ? c : { ...c, hidden: true }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=help-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-filter.js","sourceRoot":"","sources":["../../src/help/help-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAgC,MAAM,kBAAkB,CAAC;AAQzF;;2DAE2D;AAC3D,MAAM,UAAU,sBAAsB,CACpC,IAAkB,EAClB,IAAc,EACd,OAAiB;IAEjB,MAAM,IAAI,GAAG,uBAAuB,CAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAC3D,IAAI,EACJ,OAAO,CACR,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Help } from "@oclif/core";
|
|
2
|
+
import { type HelpCommand } from "./help-filter.js";
|
|
3
|
+
/** A minimal shape of oclif's Command.Loadable — just enough to load the
|
|
4
|
+
* live command class and read its cached id/hidden fields. Kept separate
|
|
5
|
+
* from oclif's own type so this can be unit-tested with plain mocks. */
|
|
6
|
+
export interface LoadableCommand {
|
|
7
|
+
id: string;
|
|
8
|
+
hidden: boolean;
|
|
9
|
+
load(): Promise<unknown>;
|
|
10
|
+
}
|
|
11
|
+
/** this.config.commands is oclif's cached Command.Cached[] descriptor
|
|
12
|
+
* list. That descriptor is built from each command's KNOWN static fields
|
|
13
|
+
* (description, examples, flags, hidden, ...) — a custom static like
|
|
14
|
+
* `apiKeyScope` only lives on the live command class and is NOT
|
|
15
|
+
* guaranteed to survive onto the cached descriptor (e.g. a stale
|
|
16
|
+
* oclif.manifest.json built before the field existed short-circuits
|
|
17
|
+
* oclif's fresh-cache build entirely, per-field). Reading `apiKeyScope`
|
|
18
|
+
* off the cached descriptor can silently return undefined, which
|
|
19
|
+
* scopeAllowsCommand() fail-closes to session-only, hiding every command
|
|
20
|
+
* under api-key mode. Load each command's live class instead (oclif's
|
|
21
|
+
* standard `Loadable.load()` escape hatch — modules are cached after
|
|
22
|
+
* first import, so this is cheap and only runs once for --help) and read
|
|
23
|
+
* apiKeyScope from there. Exported standalone so it can be unit-tested
|
|
24
|
+
* against mock Loadable objects without spinning up a real oclif Config. */
|
|
25
|
+
export declare function enrichWithLiveApiKeyScope(cmds: readonly LoadableCommand[]): Promise<HelpCommand[]>;
|
|
26
|
+
export default class ScopeAwareHelp extends Help {
|
|
27
|
+
showHelp(argv: string[]): Promise<void>;
|
|
28
|
+
showRootHelp(): Promise<void>;
|
|
29
|
+
private applyScopeFilter;
|
|
30
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Help } from "@oclif/core";
|
|
2
|
+
import { makeClients } from "../api/factory.js";
|
|
3
|
+
import { detectAuthMode } from "../auth/scope.js";
|
|
4
|
+
import { computeVisibleCommands } from "./help-filter.js";
|
|
5
|
+
/** this.config.commands is oclif's cached Command.Cached[] descriptor
|
|
6
|
+
* list. That descriptor is built from each command's KNOWN static fields
|
|
7
|
+
* (description, examples, flags, hidden, ...) — a custom static like
|
|
8
|
+
* `apiKeyScope` only lives on the live command class and is NOT
|
|
9
|
+
* guaranteed to survive onto the cached descriptor (e.g. a stale
|
|
10
|
+
* oclif.manifest.json built before the field existed short-circuits
|
|
11
|
+
* oclif's fresh-cache build entirely, per-field). Reading `apiKeyScope`
|
|
12
|
+
* off the cached descriptor can silently return undefined, which
|
|
13
|
+
* scopeAllowsCommand() fail-closes to session-only, hiding every command
|
|
14
|
+
* under api-key mode. Load each command's live class instead (oclif's
|
|
15
|
+
* standard `Loadable.load()` escape hatch — modules are cached after
|
|
16
|
+
* first import, so this is cheap and only runs once for --help) and read
|
|
17
|
+
* apiKeyScope from there. Exported standalone so it can be unit-tested
|
|
18
|
+
* against mock Loadable objects without spinning up a real oclif Config. */
|
|
19
|
+
export async function enrichWithLiveApiKeyScope(cmds) {
|
|
20
|
+
return Promise.all(cmds.map(async (c) => {
|
|
21
|
+
let apiKeyScope;
|
|
22
|
+
try {
|
|
23
|
+
const loaded = await c.load();
|
|
24
|
+
apiKeyScope = loaded.apiKeyScope;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Unloadable command (bad plugin, etc.) — fall back to
|
|
28
|
+
// fail-closed (undefined -> session-only) rather than throwing
|
|
29
|
+
// out of --help.
|
|
30
|
+
apiKeyScope = undefined;
|
|
31
|
+
}
|
|
32
|
+
return { id: c.id, hidden: c.hidden, apiKeyScope };
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
export default class ScopeAwareHelp extends Help {
|
|
36
|
+
async showHelp(argv) {
|
|
37
|
+
await this.applyScopeFilter();
|
|
38
|
+
return super.showHelp(argv);
|
|
39
|
+
}
|
|
40
|
+
async showRootHelp() {
|
|
41
|
+
await this.applyScopeFilter();
|
|
42
|
+
return super.showRootHelp();
|
|
43
|
+
}
|
|
44
|
+
async applyScopeFilter() {
|
|
45
|
+
const clients = makeClients(undefined, {});
|
|
46
|
+
const mode = await detectAuthMode(clients.tokens);
|
|
47
|
+
let scopes = null;
|
|
48
|
+
if (mode === "api_key") {
|
|
49
|
+
try {
|
|
50
|
+
const who = await clients.api.auth.apiKeyWhoami();
|
|
51
|
+
scopes = new Set(who.scopes);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
scopes = null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// In session/anonymous mode, computeVisibleCommands returns everything
|
|
58
|
+
// visible regardless of apiKeyScope (see filterCommandIdsByScope) — no
|
|
59
|
+
// point paying to .load() every command class (~100 of them) just to
|
|
60
|
+
// read a field that will be ignored. That .load() cost is what made
|
|
61
|
+
// every `synteq --help` slow for the session-mode fleet.
|
|
62
|
+
const enriched = mode === "api_key"
|
|
63
|
+
? await enrichWithLiveApiKeyScope(this.config.commands)
|
|
64
|
+
: this.config.commands.map((c) => ({ id: c.id, hidden: c.hidden }));
|
|
65
|
+
const visible = computeVisibleCommands(enriched, mode, scopes);
|
|
66
|
+
for (let i = 0; i < this.config.commands.length; i++) {
|
|
67
|
+
this.config.commands[i].hidden = visible[i].hidden;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=scope-aware-help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-aware-help.js","sourceRoot":"","sources":["../../src/help/scope-aware-help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAoB,MAAM,kBAAkB,CAAC;AAW5E;;;;;;;;;;;;;6EAa6E;AAC7E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAgC;IAEhC,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACnB,IAAI,WAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,WAAW,GAAI,MAAmC,CAAC,WAAW,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;YACvD,+DAA+D;YAC/D,iBAAiB;YACjB,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,IAAI;IAC9C,KAAK,CAAC,QAAQ,CAAC,IAAc;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM,GAAa,IAAI,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClD,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,yDAAyD;QACzD,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,MAAM,yBAAyB,CAC7B,IAAI,CAAC,MAAM,CAAC,QAAwC,CACrD;YACH,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
|
package/dist/help.js
CHANGED
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,GAAG;IACjB,KAAK;IACL,KAAK;IACL,KAAK;IACL,eAAe;IACf,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/App.js
CHANGED
|
@@ -88,6 +88,6 @@ export function ScreenStub({ name, }) {
|
|
|
88
88
|
return (React.createElement(Box, { justifyContent: "center", alignItems: "center", flexGrow: 1 },
|
|
89
89
|
React.createElement(Text, { color: colors.dim },
|
|
90
90
|
name,
|
|
91
|
-
"
|
|
91
|
+
" - coming soon (Esc to go back).")));
|
|
92
92
|
}
|
|
93
93
|
//# sourceMappingURL=App.js.map
|
package/dist/tui/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ export function NumberInput({ label, value, onChange, onSubmit, min, max, step,
|
|
|
47
47
|
focused ? (React.createElement(TextInput, { value: value, onChange: (v) => {
|
|
48
48
|
setError(null);
|
|
49
49
|
onChange(v);
|
|
50
|
-
}, onSubmit: handleSubmit })) : (React.createElement(Text, { color: colors.text }, value || "
|
|
50
|
+
}, onSubmit: handleSubmit })) : (React.createElement(Text, { color: colors.text }, value || "-")),
|
|
51
51
|
unit ? React.createElement(Text, { color: colors.dim }, ` ${unit}`) : null),
|
|
52
52
|
error ? (React.createElement(Box, null,
|
|
53
53
|
React.createElement(Text, { color: colors.error }, ` ${error}`))) : null));
|
|
@@ -9,7 +9,7 @@ export function Sparkline({ data, width = 20, color = colors.accent, label, suff
|
|
|
9
9
|
if (numbers.length === 0) {
|
|
10
10
|
return (React.createElement(Box, null,
|
|
11
11
|
label ? React.createElement(Text, { color: colors.dim }, `${label} `) : null,
|
|
12
|
-
React.createElement(Text, { color: colors.dim }, "
|
|
12
|
+
React.createElement(Text, { color: colors.dim }, "-".repeat(Math.min(width, 8))),
|
|
13
13
|
suffix ? React.createElement(Text, { color: colors.dim }, ` ${suffix}`) : null));
|
|
14
14
|
}
|
|
15
15
|
const bucketed = [];
|
|
@@ -274,9 +274,9 @@ function CreditsTab({ state, onAdd, onRefresh, active, }) {
|
|
|
274
274
|
{ header: "Number", width: 14, render: (r) => r.credit_number ?? shortId(r.id) },
|
|
275
275
|
{ header: "Amount", width: 10, align: "right", render: (r) => `$${fmt(r.amount)}` },
|
|
276
276
|
{ header: "Remaining", width: 10, align: "right", render: (r) => `$${fmt(r.remaining)}` },
|
|
277
|
-
{ header: "Currency", width: 4, render: (r) => r.currency ?? "
|
|
277
|
+
{ header: "Currency", width: 4, render: (r) => r.currency ?? "-" },
|
|
278
278
|
{ header: "Created", width: 12, render: (r) => fmtDate(r.created_at) },
|
|
279
|
-
{ header: "Description", width: 30, render: (r) => r.description ?? "
|
|
279
|
+
{ header: "Description", width: 30, render: (r) => r.description ?? "-" },
|
|
280
280
|
], []);
|
|
281
281
|
if (state.loading)
|
|
282
282
|
return React.createElement(CenteredSpinner, { label: "Loading credits\u2026" });
|
|
@@ -299,13 +299,13 @@ function MethodsTab({ state, onAdd, onRefresh, active, }) {
|
|
|
299
299
|
const { start, end, scrollUp, scrollDown } = useScrollWindow(rows.length, visible, active);
|
|
300
300
|
const columns = useMemo(() => [
|
|
301
301
|
{ header: "Provider", width: 10, render: (m) => m.provider },
|
|
302
|
-
{ header: "Brand", width: 10, render: (m) => m.card_brand ?? "
|
|
303
|
-
{ header: "Last4", width: 8, render: (m) => (m.card_last4 ? `••${m.card_last4}` : "
|
|
304
|
-
{ header: "Nickname", width: 18, render: (m) => m.nickname ?? "
|
|
302
|
+
{ header: "Brand", width: 10, render: (m) => m.card_brand ?? "-" },
|
|
303
|
+
{ header: "Last4", width: 8, render: (m) => (m.card_last4 ? `••${m.card_last4}` : "-") },
|
|
304
|
+
{ header: "Nickname", width: 18, render: (m) => m.nickname ?? "-" },
|
|
305
305
|
{
|
|
306
306
|
header: "Default",
|
|
307
307
|
width: 8,
|
|
308
|
-
render: (m) => (React.createElement(Box, { width: "100%", justifyContent: "center" }, m.is_default ? (React.createElement(Text, { color: colors.success }, glyphs.check)) : (React.createElement(Text, { color: colors.dim }, "
|
|
308
|
+
render: (m) => (React.createElement(Box, { width: "100%", justifyContent: "center" }, m.is_default ? (React.createElement(Text, { color: colors.success }, glyphs.check)) : (React.createElement(Text, { color: colors.dim }, "-")))),
|
|
309
309
|
},
|
|
310
310
|
], []);
|
|
311
311
|
if (state.loading)
|
|
@@ -343,7 +343,7 @@ function InvoicesTab({ state, active, }) {
|
|
|
343
343
|
header: "Status",
|
|
344
344
|
width: 14,
|
|
345
345
|
render: (r) => {
|
|
346
|
-
const status = r.Status ?? "
|
|
346
|
+
const status = r.Status ?? "-";
|
|
347
347
|
return (React.createElement(Text, { color: statusColor(status) }, truncate(status, 14)));
|
|
348
348
|
},
|
|
349
349
|
},
|
|
@@ -523,7 +523,7 @@ function ErrorPanel({ message }) {
|
|
|
523
523
|
}
|
|
524
524
|
function fmt(v) {
|
|
525
525
|
if (v === null || v === undefined)
|
|
526
|
-
return "
|
|
526
|
+
return "-";
|
|
527
527
|
const n = typeof v === "number" ? v : Number(v);
|
|
528
528
|
if (!Number.isFinite(n))
|
|
529
529
|
return String(v);
|
|
@@ -531,7 +531,7 @@ function fmt(v) {
|
|
|
531
531
|
}
|
|
532
532
|
function fmtDate(s) {
|
|
533
533
|
if (!s)
|
|
534
|
-
return "
|
|
534
|
+
return "-";
|
|
535
535
|
try {
|
|
536
536
|
return new Date(s).toISOString().slice(0, 10);
|
|
537
537
|
}
|
|
@@ -544,7 +544,7 @@ function shortId(id) {
|
|
|
544
544
|
}
|
|
545
545
|
function truncate(s, n) {
|
|
546
546
|
if (!s)
|
|
547
|
-
return "
|
|
547
|
+
return "-";
|
|
548
548
|
return s.length > n ? `${s.slice(0, n - 1)}…` : s;
|
|
549
549
|
}
|
|
550
550
|
function describeMethod(m) {
|