sesterce-cli
Version:
A powerful command-line interface tool for managing Sesterce Cloud services. Sesterce CLI provides easy access to GPU cloud instances, AI inference services, container registries, and SSH key management directly from your terminal.
55 lines (48 loc) • 1.52 kB
text/typescript
import { listInferenceInstances } from "@/modules/ai-inference/use-cases/list-instances";
import { Command } from "commander";
import { DateTime } from "luxon";
interface TableData {
name: string;
endpoint: string;
features: string;
status: string;
"price ($/hour)": string;
createdAt: string;
}
export function createAIInferenceInstanceListCommand(
aiInferenceInstanceCommand: Command
) {
aiInferenceInstanceCommand
.command("list")
.description("List all launched instances in Sesterce AI Inference")
.action(async () => {
console.log("Loading inference instances...");
const result = await listInferenceInstances.execute();
if (result.isLeft()) {
console.error(result.value.message);
return;
}
const instances = result.value;
if (instances.length === 0) {
console.log("No running instances found");
return;
}
const tableData = instances.reduce(
(dict, { _id, ...instance }) => {
dict[_id] = {
name: instance.name,
endpoint: instance.address,
features: instance.features.join(", "),
status: instance.status,
"price ($/hour)": `$${instance.hourlyPrice.toFixed(2)}`,
createdAt: DateTime.fromISO(instance.createdAt).toLocaleString(
DateTime.DATE_MED
),
};
return dict;
},
{} as Record<string, TableData>
);
console.table(tableData);
});
}