@skrr-ai/cli 0.1.22 → 0.1.24
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/README.md +83 -73
- package/bin/dev-fallback.js +221 -0
- package/bin/run.js +96 -0
- package/dist/base-command.d.ts +15 -0
- package/dist/base-command.js +145 -11
- package/dist/commands/agents/attach-harness.d.ts +37 -0
- package/dist/commands/agents/attach-harness.js +102 -3
- package/dist/commands/agents/chat.d.ts +69 -1
- package/dist/commands/agents/chat.js +202 -22
- package/dist/commands/agents/create.d.ts +38 -0
- package/dist/commands/agents/create.js +95 -2
- package/dist/commands/agents/schedule-trace.js +11 -0
- package/dist/commands/agents/show.js +29 -1
- package/dist/commands/api-keys/create.d.ts +24 -0
- package/dist/commands/api-keys/create.js +80 -0
- package/dist/commands/api-keys/list.d.ts +11 -0
- package/dist/commands/api-keys/list.js +42 -0
- package/dist/commands/api-keys/revoke.d.ts +14 -0
- package/dist/commands/api-keys/revoke.js +33 -0
- package/dist/commands/api-keys/rotate.d.ts +19 -0
- package/dist/commands/api-keys/rotate.js +42 -0
- package/dist/commands/balance/index.d.ts +18 -0
- package/dist/commands/balance/index.js +29 -0
- package/dist/commands/balance/show.d.ts +25 -0
- package/dist/commands/balance/show.js +60 -0
- package/dist/commands/balance/statement.d.ts +19 -0
- package/dist/commands/balance/statement.js +52 -0
- package/dist/commands/browser/doctor.d.ts +11 -0
- package/dist/commands/browser/doctor.js +11 -0
- package/dist/commands/code/jobs/approve.d.ts +25 -0
- package/dist/commands/code/jobs/approve.js +52 -0
- package/dist/commands/code/jobs/cancel.d.ts +12 -0
- package/dist/commands/code/jobs/cancel.js +39 -0
- package/dist/commands/code/jobs/index.d.ts +19 -0
- package/dist/commands/code/jobs/index.js +38 -0
- package/dist/commands/code/jobs/list.d.ts +12 -0
- package/dist/commands/code/jobs/list.js +87 -0
- package/dist/commands/code/jobs/run.d.ts +32 -0
- package/dist/commands/code/jobs/run.js +151 -0
- package/dist/commands/code/jobs/show.d.ts +12 -0
- package/dist/commands/code/jobs/show.js +86 -0
- package/dist/commands/commitments/preflight.js +18 -4
- package/dist/commands/commitments/receipt-metrics.d.ts +39 -0
- package/dist/commands/commitments/receipt-metrics.js +78 -0
- package/dist/commands/convos/search.js +5 -5
- package/dist/commands/harnesses/leases/list.d.ts +3 -0
- package/dist/commands/harnesses/leases/list.js +59 -12
- package/dist/commands/harnesses/leases/show.js +36 -0
- package/dist/commands/harnesses/list.d.ts +18 -0
- package/dist/commands/harnesses/list.js +30 -0
- package/dist/commands/harnesses/products.js +49 -3
- package/dist/commands/harnesses/quota.d.ts +16 -0
- package/dist/commands/harnesses/quota.js +26 -1
- package/dist/commands/harnesses/usage.js +17 -0
- package/dist/commands/inbox/index.d.ts +2 -1
- package/dist/commands/inbox/index.js +27 -4
- package/dist/commands/login.js +4 -1
- package/dist/commands/machines/dedicated/create.d.ts +18 -0
- package/dist/commands/machines/dedicated/create.js +90 -0
- package/dist/commands/machines/dedicated/destroy.d.ts +14 -0
- package/dist/commands/machines/dedicated/destroy.js +56 -0
- package/dist/commands/machines/dedicated/grow.d.ts +13 -0
- package/dist/commands/machines/dedicated/grow.js +46 -0
- package/dist/commands/machines/dedicated/health-check.d.ts +12 -0
- package/dist/commands/machines/dedicated/health-check.js +42 -0
- package/dist/commands/machines/dedicated/incident-close.d.ts +12 -0
- package/dist/commands/machines/dedicated/incident-close.js +42 -0
- package/dist/commands/machines/dedicated/index.d.ts +6 -0
- package/dist/commands/machines/dedicated/index.js +39 -0
- package/dist/commands/machines/dedicated/list.d.ts +11 -0
- package/dist/commands/machines/dedicated/list.js +58 -0
- package/dist/commands/machines/dedicated/restart.d.ts +12 -0
- package/dist/commands/machines/dedicated/restart.js +42 -0
- package/dist/commands/machines/dedicated/show.d.ts +12 -0
- package/dist/commands/machines/dedicated/show.js +58 -0
- package/dist/commands/machines/dedicated/snapshot.d.ts +12 -0
- package/dist/commands/machines/dedicated/snapshot.js +42 -0
- package/dist/commands/machines/dedicated/start.d.ts +12 -0
- package/dist/commands/machines/dedicated/start.js +42 -0
- package/dist/commands/machines/dedicated/stop.d.ts +12 -0
- package/dist/commands/machines/dedicated/stop.js +42 -0
- package/dist/commands/machines/hosted/index.js +4 -1
- package/dist/commands/machines/list.d.ts +1 -0
- package/dist/commands/machines/list.js +33 -5
- package/dist/commands/memory/approvals/issue.d.ts +18 -0
- package/dist/commands/memory/approvals/issue.js +63 -0
- package/dist/commands/memory/commit.js +5 -2
- package/dist/commands/memory/context.d.ts +3 -2
- package/dist/commands/memory/context.js +9 -11
- package/dist/commands/memory/delete.d.ts +1 -1
- package/dist/commands/memory/list.d.ts +1 -1
- package/dist/commands/memory/list.js +1 -1
- package/dist/commands/memory/mounts/resolve.d.ts +10 -0
- package/dist/commands/memory/mounts/resolve.js +27 -0
- package/dist/commands/memory/proposals/commit.d.ts +18 -0
- package/dist/commands/memory/proposals/commit.js +32 -0
- package/dist/commands/memory/proposals/create.d.ts +18 -0
- package/dist/commands/memory/proposals/create.js +56 -0
- package/dist/commands/memory/proposals/list.d.ts +13 -0
- package/dist/commands/memory/proposals/list.js +31 -0
- package/dist/commands/memory/proposals/promote.d.ts +22 -0
- package/dist/commands/memory/proposals/promote.js +33 -0
- package/dist/commands/memory/proposals/reject.d.ts +16 -0
- package/dist/commands/memory/proposals/reject.js +28 -0
- package/dist/commands/memory/rebuild-index.d.ts +20 -0
- package/dist/commands/memory/rebuild-index.js +25 -0
- package/dist/commands/memory/save.d.ts +1 -1
- package/dist/commands/memory/save.js +1 -1
- package/dist/commands/memory/search.d.ts +6 -3
- package/dist/commands/memory/search.js +27 -3
- package/dist/commands/memory/show.d.ts +1 -1
- package/dist/commands/memory/stores/archive.d.ts +14 -0
- package/dist/commands/memory/stores/archive.js +31 -0
- package/dist/commands/memory/stores/create.d.ts +12 -0
- package/dist/commands/memory/stores/create.js +30 -0
- package/dist/commands/memory/stores/delete.d.ts +15 -0
- package/dist/commands/memory/stores/delete.js +38 -0
- package/dist/commands/memory/stores/list.d.ts +10 -0
- package/dist/commands/memory/stores/list.js +29 -0
- package/dist/commands/memory/stores/show.d.ts +12 -0
- package/dist/commands/memory/stores/show.js +14 -0
- package/dist/commands/memory/stores/update.d.ts +15 -0
- package/dist/commands/memory/stores/update.js +39 -0
- package/dist/commands/memory/sync/delete.d.ts +13 -0
- package/dist/commands/memory/sync/delete.js +35 -0
- package/dist/commands/memory/sync/pull.d.ts +19 -0
- package/dist/commands/memory/sync/pull.js +52 -0
- package/dist/commands/memory/sync/push.d.ts +18 -0
- package/dist/commands/memory/sync/push.js +115 -0
- package/dist/commands/memory/sync/resolve.d.ts +23 -0
- package/dist/commands/memory/sync/resolve.js +27 -0
- package/dist/commands/memory/sync/status.d.ts +9 -0
- package/dist/commands/memory/sync/status.js +22 -0
- package/dist/commands/memory/topics/archive.d.ts +20 -0
- package/dist/commands/memory/topics/archive.js +29 -0
- package/dist/commands/memory/topics/create.d.ts +23 -0
- package/dist/commands/memory/topics/create.js +46 -0
- package/dist/commands/memory/topics/delete.d.ts +22 -0
- package/dist/commands/memory/topics/delete.js +30 -0
- package/dist/commands/memory/topics/forget.d.ts +22 -0
- package/dist/commands/memory/topics/forget.js +29 -0
- package/dist/commands/memory/topics/list.d.ts +13 -0
- package/dist/commands/memory/topics/list.js +22 -0
- package/dist/commands/memory/topics/move.d.ts +22 -0
- package/dist/commands/memory/topics/move.js +26 -0
- package/dist/commands/memory/topics/show.d.ts +17 -0
- package/dist/commands/memory/topics/show.js +21 -0
- package/dist/commands/memory/topics/update.d.ts +23 -0
- package/dist/commands/memory/topics/update.js +27 -0
- package/dist/commands/memory/tree.d.ts +5 -2
- package/dist/commands/memory/tree.js +20 -2
- package/dist/commands/memory/update.d.ts +1 -1
- package/dist/commands/memory/versions/list.d.ts +16 -0
- package/dist/commands/memory/versions/list.js +22 -0
- package/dist/commands/memory/versions/redact.d.ts +21 -0
- package/dist/commands/memory/versions/redact.js +22 -0
- package/dist/commands/memory/versions/restore.d.ts +20 -0
- package/dist/commands/memory/versions/restore.js +16 -0
- package/dist/commands/memory/versions/show.d.ts +15 -0
- package/dist/commands/memory/versions/show.js +17 -0
- package/dist/commands/messages/list.js +25 -8
- package/dist/commands/messages/show.js +10 -0
- package/dist/commands/spaces/update.js +16 -12
- package/dist/commands/spaces/work-sync/reconcile.d.ts +38 -0
- package/dist/commands/spaces/work-sync/reconcile.js +90 -0
- package/dist/commands/spaces/work-sync/telemetry.d.ts +29 -0
- package/dist/commands/spaces/work-sync/telemetry.js +96 -0
- package/dist/commands/store/install.js +5 -1
- package/dist/commands/store/releases.js +1 -1
- package/dist/commands/store/update.js +5 -1
- package/dist/commands/subscriptions/cancel.js +5 -1
- package/dist/commands/subscriptions/health.js +5 -1
- package/dist/commands/subscriptions/status.js +5 -1
- package/dist/commands/subscriptions/subscribe.js +5 -1
- package/dist/commands/tasks/activity.d.ts +2 -3
- package/dist/commands/tasks/activity.js +20 -6
- package/dist/commands/tasks/complete.d.ts +22 -150
- package/dist/commands/tasks/complete.js +174 -599
- package/dist/commands/tasks/create.d.ts +6 -0
- package/dist/commands/tasks/create.js +114 -4
- package/dist/commands/tasks/deliverable/add.d.ts +8 -0
- package/dist/commands/tasks/deliverable/add.js +62 -11
- package/dist/commands/tasks/deliverable/confirm.d.ts +5 -5
- package/dist/commands/tasks/deliverable/confirm.js +9 -18
- package/dist/commands/tasks/deliverable/list.d.ts +12 -0
- package/dist/commands/tasks/deliverable/list.js +58 -0
- package/dist/commands/tasks/events/append.d.ts +2 -0
- package/dist/commands/tasks/events/append.js +41 -6
- package/dist/commands/tasks/events/list.d.ts +1 -0
- package/dist/commands/tasks/events/list.js +1 -0
- package/dist/commands/tasks/events/tail.d.ts +1 -0
- package/dist/commands/tasks/events/tail.js +1 -0
- package/dist/commands/tasks/expectations/assess.d.ts +21 -0
- package/dist/commands/tasks/expectations/assess.js +103 -0
- package/dist/commands/tasks/expectations.js +121 -25
- package/dist/commands/tasks/judge.d.ts +1 -0
- package/dist/commands/tasks/judge.js +2 -1
- package/dist/commands/tasks/output.d.ts +1 -11
- package/dist/commands/tasks/output.js +80 -141
- package/dist/commands/tasks/report.d.ts +3 -3
- package/dist/commands/tasks/report.js +66 -41
- package/dist/commands/tasks/resource/add.d.ts +23 -0
- package/dist/commands/tasks/resource/add.js +76 -0
- package/dist/commands/tasks/resource/list.d.ts +13 -0
- package/dist/commands/tasks/resource/list.js +41 -0
- package/dist/commands/tasks/result/show.d.ts +13 -0
- package/dist/commands/tasks/result/show.js +64 -0
- package/dist/commands/tasks/result/submit.d.ts +26 -0
- package/dist/commands/tasks/result/submit.js +134 -0
- package/dist/commands/tasks/resume/save.d.ts +16 -0
- package/dist/commands/tasks/resume/save.js +69 -0
- package/dist/commands/tasks/resume/show.d.ts +13 -0
- package/dist/commands/tasks/resume/show.js +35 -0
- package/dist/commands/tasks/review.d.ts +17 -0
- package/dist/commands/tasks/review.js +54 -0
- package/dist/commands/tasks/runs.js +5 -0
- package/dist/commands/tasks/self-schedule.js +7 -4
- package/dist/commands/tasks/show.js +19 -0
- package/dist/commands/tasks/timeline.d.ts +2 -2
- package/dist/commands/tasks/timeline.js +19 -24
- package/dist/commands/tasks/updates/add.d.ts +22 -0
- package/dist/commands/tasks/updates/add.js +122 -0
- package/dist/commands/tasks/updates/list.d.ts +15 -0
- package/dist/commands/tasks/updates/list.js +57 -0
- package/dist/commands/tasks/waive.d.ts +1 -0
- package/dist/commands/tasks/waive.js +2 -1
- package/dist/lib/agentic-stream.d.ts +257 -0
- package/dist/lib/agentic-stream.js +490 -33
- package/dist/lib/balance.d.ts +8 -0
- package/dist/lib/commitment-product.d.ts +10 -1
- package/dist/lib/commitment-product.js +66 -2
- package/dist/lib/commitments.d.ts +2 -1
- package/dist/lib/commitments.js +1 -0
- package/dist/lib/conversation-search.d.ts +3 -0
- package/dist/lib/conversation-search.js +75 -0
- package/dist/lib/dedicated-machines.d.ts +66 -0
- package/dist/lib/dedicated-machines.js +161 -0
- package/dist/lib/execution-target.d.ts +21 -0
- package/dist/lib/execution-target.js +22 -6
- package/dist/lib/harnesses.d.ts +87 -6
- package/dist/lib/harnesses.js +32 -1
- package/dist/lib/hosted-machines.js +9 -0
- package/dist/lib/inbox.d.ts +2 -1
- package/dist/lib/machines.d.ts +17 -0
- package/dist/lib/machines.js +29 -0
- package/dist/lib/managed-agent-keys.d.ts +104 -0
- package/dist/lib/managed-agent-keys.js +50 -0
- package/dist/lib/memory-scope.d.ts +4 -3
- package/dist/lib/memory-scope.js +9 -9
- package/dist/lib/memory-sync.d.ts +114 -0
- package/dist/lib/memory-sync.js +730 -0
- package/dist/lib/message-provenance.d.ts +42 -0
- package/dist/lib/message-provenance.js +89 -0
- package/dist/lib/scoped-memory-command.d.ts +68 -0
- package/dist/lib/scoped-memory-command.js +183 -0
- package/dist/lib/session-task-endpoints.d.ts +1 -1
- package/dist/lib/session-task-endpoints.js +7 -0
- package/dist/lib/sky-code-broker.d.ts +47 -0
- package/dist/lib/sky-code-broker.js +50 -0
- package/dist/lib/sky-code-doctor.js +10 -1
- package/dist/lib/task-artifact-flags.d.ts +2 -0
- package/dist/lib/task-artifact-flags.js +7 -0
- package/dist/lib/task-execution.d.ts +4 -5
- package/dist/lib/task-execution.js +4 -5
- package/dist/lib/task-extras.d.ts +1 -5
- package/dist/lib/task-extras.js +1 -5
- package/dist/lib/task-legacy.d.ts +24 -0
- package/dist/lib/task-legacy.js +48 -0
- package/dist/lib/task-transcript.d.ts +5 -7
- package/dist/lib/task-transcript.js +8 -16
- package/dist/lib/tasks.d.ts +39 -21
- package/dist/lib/tasks.js +64 -21
- package/dist/lib/triggers.d.ts +39 -1
- package/dist/lib/triggers.js +70 -2
- package/dist/lib/usage-discovery.d.ts +17 -1
- package/dist/lib/usage-discovery.js +17 -1
- package/dist/lib/work-sync.d.ts +70 -0
- package/dist/lib/work-sync.js +29 -0
- package/dist/node_modules/@skrr-ai/data-provider/index.js +3760 -3621
- package/oclif.manifest.json +14653 -7813
- package/package.json +26 -5
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const base_command_1 = require("../../../base-command");
|
|
6
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
7
|
+
class DedicatedMachinesCreate extends base_command_1.BaseCommand {
|
|
8
|
+
static description = 'Request a Dedicated Runtime lease';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> machines dedicated create --name dev-box --size-preset standard --spending-limit-cents 20000',
|
|
11
|
+
'<%= config.bin %> machines dedicated create --name dev-box --size-preset standard --spending-limit-cents 20000 --json',
|
|
12
|
+
];
|
|
13
|
+
static flags = {
|
|
14
|
+
name: core_1.Flags.string({ description: 'Display name for the dedicated machine', required: true }),
|
|
15
|
+
'size-preset': core_1.Flags.string({
|
|
16
|
+
description: 'Instance size preset (from harnesses products)',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
// None of these four carry a client-side default, deliberately.
|
|
20
|
+
//
|
|
21
|
+
// The server already defaults every one of them, and a CLI that restates a
|
|
22
|
+
// default it does not own cannot be right for long. `--storage-gb` proved
|
|
23
|
+
// it: it defaulted to 100 while the product's default is 50, so a user who
|
|
24
|
+
// never chose a size was billed for twice the documented disk, the server's
|
|
25
|
+
// own `workspaceDefaultGb` was unreachable through the CLI, and the
|
|
26
|
+
// decision record that set the number was wrong for CLI users. The other
|
|
27
|
+
// three happened to agree, which is worse rather than better — it is the
|
|
28
|
+
// same bug with the symptom switched off until someone moves a default.
|
|
29
|
+
'region-class': core_1.Flags.string({
|
|
30
|
+
description: 'Region class. Defaults to the product catalog value (usually primary).',
|
|
31
|
+
}),
|
|
32
|
+
'storage-gb': core_1.Flags.integer({
|
|
33
|
+
description: 'Workspace storage size in GB. Defaults to the product catalog size.',
|
|
34
|
+
}),
|
|
35
|
+
'retention-class': core_1.Flags.string({
|
|
36
|
+
description: 'Retention class for stopped instances. Defaults to the product catalog value.',
|
|
37
|
+
}),
|
|
38
|
+
'backup-profile': core_1.Flags.string({
|
|
39
|
+
description: 'crash-consistent (AWS Backup) or application-consistent (guest fsfreeze while the daemon is reachable; scheduled DLM when that plan is enabled). Defaults to the product catalog value.',
|
|
40
|
+
}),
|
|
41
|
+
'spending-limit-cents': core_1.Flags.integer({
|
|
42
|
+
description: 'Monthly spending limit in cents. Required before start.',
|
|
43
|
+
required: true,
|
|
44
|
+
}),
|
|
45
|
+
workspace: core_1.Flags.string({ description: 'Workspace scope' }),
|
|
46
|
+
'request-id': core_1.Flags.string({
|
|
47
|
+
description: 'Idempotency key. Reuse it to safely retry the same create request.',
|
|
48
|
+
}),
|
|
49
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
50
|
+
};
|
|
51
|
+
async run() {
|
|
52
|
+
this.requireAuth();
|
|
53
|
+
const { flags } = await this.parse(DedicatedMachinesCreate);
|
|
54
|
+
const body = (0, dedicated_machines_1.dedicatedRuntimeCreateInput)({
|
|
55
|
+
requestId: flags['request-id'] || newRequestId(),
|
|
56
|
+
displayName: flags.name,
|
|
57
|
+
sizePreset: flags['size-preset'],
|
|
58
|
+
monthlySpendingLimitCents: flags['spending-limit-cents'],
|
|
59
|
+
regionClass: flags['region-class'],
|
|
60
|
+
storageGb: flags['storage-gb'],
|
|
61
|
+
retentionClass: flags['retention-class'],
|
|
62
|
+
backupProfile: flags['backup-profile'],
|
|
63
|
+
workspaceId: flags.workspace,
|
|
64
|
+
});
|
|
65
|
+
let response;
|
|
66
|
+
try {
|
|
67
|
+
response = await (0, dedicated_machines_1.createDedicatedRuntime)(body);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
71
|
+
if (message)
|
|
72
|
+
this.error(message, { exit: 1 });
|
|
73
|
+
this.handleApiError(err);
|
|
74
|
+
}
|
|
75
|
+
const lease = response?.lease;
|
|
76
|
+
if (flags.json) {
|
|
77
|
+
this.log(JSON.stringify(response, null, 2));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const id = (0, dedicated_machines_1.dedicatedLeaseId)(lease);
|
|
81
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseDisplayName)(lease)} (${id || 'unknown'}) ${(0, dedicated_machines_1.dedicatedLeaseState)(lease)}.`);
|
|
82
|
+
if (id) {
|
|
83
|
+
this.log(`Poll: ${this.config.bin} machines dedicated show ${id}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.default = DedicatedMachinesCreate;
|
|
88
|
+
function newRequestId() {
|
|
89
|
+
return `dedicated-machine:${Date.now()}:${(0, node_crypto_1.randomBytes)(6).toString('hex')}`;
|
|
90
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesDestroy extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
'retain-storage': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
'purge-storage': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesDestroy extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Destroy a Dedicated Runtime lease. Retention class standard/extended archives the lease and keeps the workspace volume; destroy an archived lease to purge storage.';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated destroy <lease-id>',
|
|
10
|
+
'<%= config.bin %> machines dedicated destroy <lease-id> --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
description: 'Dedicated Runtime lease id',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
21
|
+
'retain-storage': core_1.Flags.boolean({
|
|
22
|
+
description: 'Archive the lease and keep the workspace volume',
|
|
23
|
+
exclusive: ['purge-storage'],
|
|
24
|
+
}),
|
|
25
|
+
'purge-storage': core_1.Flags.boolean({
|
|
26
|
+
description: 'Permanently delete the workspace volume',
|
|
27
|
+
exclusive: ['retain-storage'],
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
this.requireAuth();
|
|
32
|
+
const { args, flags } = await this.parse(DedicatedMachinesDestroy);
|
|
33
|
+
let response;
|
|
34
|
+
try {
|
|
35
|
+
response = await (0, dedicated_machines_1.destroyDedicatedRuntime)(args.lease, {
|
|
36
|
+
retentionIntent: flags['purge-storage']
|
|
37
|
+
? 'purge'
|
|
38
|
+
: flags['retain-storage']
|
|
39
|
+
? 'retain'
|
|
40
|
+
: undefined,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
45
|
+
if (message)
|
|
46
|
+
this.error(message, { exit: 1 });
|
|
47
|
+
this.handleApiError(err);
|
|
48
|
+
}
|
|
49
|
+
if (flags.json) {
|
|
50
|
+
this.log(JSON.stringify(response, null, 2));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseId)(response?.lease)} ${(0, dedicated_machines_1.dedicatedLeaseState)(response?.lease)}.`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.default = DedicatedMachinesDestroy;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesGrow extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
'storage-gb': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesGrow extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Increase Dedicated Runtime workspace storage. Shrink is unsupported.';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated grow <lease-id> --storage-gb 200',
|
|
10
|
+
'<%= config.bin %> machines dedicated grow <lease-id> --storage-gb 200 --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
description: 'Dedicated Runtime lease id',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
'storage-gb': core_1.Flags.integer({
|
|
21
|
+
description: 'New workspace size in GiB. Must be larger than the current size.',
|
|
22
|
+
required: true,
|
|
23
|
+
}),
|
|
24
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
25
|
+
};
|
|
26
|
+
async run() {
|
|
27
|
+
this.requireAuth();
|
|
28
|
+
const { args, flags } = await this.parse(DedicatedMachinesGrow);
|
|
29
|
+
let response;
|
|
30
|
+
try {
|
|
31
|
+
response = await (0, dedicated_machines_1.growDedicatedRuntime)(args.lease, flags['storage-gb']);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
35
|
+
if (message)
|
|
36
|
+
this.error(message, { exit: 1 });
|
|
37
|
+
this.handleApiError(err);
|
|
38
|
+
}
|
|
39
|
+
if (flags.json) {
|
|
40
|
+
this.log(JSON.stringify(response, null, 2));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseId)(response?.lease)} ${(0, dedicated_machines_1.dedicatedLeaseState)(response?.lease)}.`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.default = DedicatedMachinesGrow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesHealthCheck extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesHealthCheck extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Health-check a Dedicated Runtime lease';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated health-check <lease-id>',
|
|
10
|
+
'<%= config.bin %> machines dedicated health-check <lease-id> --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
description: 'Dedicated Runtime lease id',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
this.requireAuth();
|
|
24
|
+
const { args, flags } = await this.parse(DedicatedMachinesHealthCheck);
|
|
25
|
+
let response;
|
|
26
|
+
try {
|
|
27
|
+
response = await (0, dedicated_machines_1.performDedicatedLeaseAction)(args.lease, 'health-check');
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
31
|
+
if (message)
|
|
32
|
+
this.error(message, { exit: 1 });
|
|
33
|
+
this.handleApiError(err);
|
|
34
|
+
}
|
|
35
|
+
if (flags.json) {
|
|
36
|
+
this.log(JSON.stringify(response, null, 2));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseId)(response?.lease)} ${(0, dedicated_machines_1.dedicatedLeaseState)(response?.lease)}.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = DedicatedMachinesHealthCheck;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesIncidentClose extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesIncidentClose extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Close a Dedicated Runtime AZ-recovery incident hold. Does not delete the workspace.';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated incident-close <lease-id>',
|
|
10
|
+
'<%= config.bin %> machines dedicated incident-close <lease-id> --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
description: 'Dedicated Runtime lease id',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
this.requireAuth();
|
|
24
|
+
const { args, flags } = await this.parse(DedicatedMachinesIncidentClose);
|
|
25
|
+
let response;
|
|
26
|
+
try {
|
|
27
|
+
response = await (0, dedicated_machines_1.closeDedicatedRuntimeIncidentHold)(args.lease);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
31
|
+
if (message)
|
|
32
|
+
this.error(message, { exit: 1 });
|
|
33
|
+
this.handleApiError(err);
|
|
34
|
+
}
|
|
35
|
+
if (flags.json) {
|
|
36
|
+
this.log(JSON.stringify(response, null, 2));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseId)(response?.lease)} ${(0, dedicated_machines_1.dedicatedLeaseState)(response?.lease)}.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = DedicatedMachinesIncidentClose;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
class DedicatedMachines extends core_1.Command {
|
|
5
|
+
// This line is read at the moment someone CHOOSES between the two products,
|
|
6
|
+
// so it states the trade rather than restating the product name. "Manage
|
|
7
|
+
// Dedicated Runtime leases" told a user nothing they could decide on, and the
|
|
8
|
+
// difference that matters — files survive a restart, running processes do not
|
|
9
|
+
// — was invisible until a restart lost their work.
|
|
10
|
+
static description = 'A private VM with a durable workspace — files survive restart, running processes do not';
|
|
11
|
+
static examples = [
|
|
12
|
+
'<%= config.bin %> machines dedicated list',
|
|
13
|
+
'<%= config.bin %> machines dedicated show <lease-id>',
|
|
14
|
+
'<%= config.bin %> machines dedicated create --name dev-box --size-preset standard --spending-limit-cents 20000',
|
|
15
|
+
'<%= config.bin %> machines dedicated stop <lease-id>',
|
|
16
|
+
'<%= config.bin %> machines dedicated start <lease-id>',
|
|
17
|
+
'<%= config.bin %> machines dedicated restart <lease-id>',
|
|
18
|
+
'<%= config.bin %> machines dedicated snapshot <lease-id>',
|
|
19
|
+
'<%= config.bin %> machines dedicated grow <lease-id> --storage-gb 200',
|
|
20
|
+
'<%= config.bin %> machines dedicated incident-close <lease-id>',
|
|
21
|
+
'<%= config.bin %> machines dedicated health-check <lease-id>',
|
|
22
|
+
'<%= config.bin %> machines dedicated destroy <lease-id>',
|
|
23
|
+
];
|
|
24
|
+
async run() {
|
|
25
|
+
this.log('skrr Dedicated Runtime commands:');
|
|
26
|
+
this.log(' skrr machines dedicated list list Dedicated Runtime leases');
|
|
27
|
+
this.log(' skrr machines dedicated show show one Dedicated Runtime lease');
|
|
28
|
+
this.log(' skrr machines dedicated create request a Dedicated Runtime');
|
|
29
|
+
this.log(' skrr machines dedicated start start a stopped runtime');
|
|
30
|
+
this.log(' skrr machines dedicated stop stop compute and keep the disk');
|
|
31
|
+
this.log(' skrr machines dedicated restart restart the instance; files stay');
|
|
32
|
+
this.log(' skrr machines dedicated snapshot create a recovery point');
|
|
33
|
+
this.log(' skrr machines dedicated grow increase workspace storage; shrink is unsupported');
|
|
34
|
+
this.log(' skrr machines dedicated incident-close close AZ-recovery evidence hold');
|
|
35
|
+
this.log(' skrr machines dedicated health-check probe daemon and disk liveness');
|
|
36
|
+
this.log(' skrr machines dedicated destroy stop compute; keep or purge the workspace disk');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = DedicatedMachines;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesList extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
state: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const format_1 = require("../../../lib/format");
|
|
6
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
7
|
+
class DedicatedMachinesList extends base_command_1.BaseCommand {
|
|
8
|
+
static description = 'List Dedicated Runtime leases';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> machines dedicated list',
|
|
11
|
+
'<%= config.bin %> machines dedicated list --json',
|
|
12
|
+
];
|
|
13
|
+
static flags = {
|
|
14
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
15
|
+
state: core_1.Flags.string({ description: 'Filter by lease state' }),
|
|
16
|
+
limit: core_1.Flags.integer({ description: 'Max leases to return', default: 50 }),
|
|
17
|
+
};
|
|
18
|
+
async run() {
|
|
19
|
+
this.requireAuth();
|
|
20
|
+
const { flags } = await this.parse(DedicatedMachinesList);
|
|
21
|
+
let response;
|
|
22
|
+
try {
|
|
23
|
+
response = await (0, dedicated_machines_1.listDedicatedRuntimes)({
|
|
24
|
+
limit: flags.limit,
|
|
25
|
+
state: flags.state,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
30
|
+
if (message)
|
|
31
|
+
this.error(message, { exit: 1 });
|
|
32
|
+
this.handleApiError(err);
|
|
33
|
+
}
|
|
34
|
+
if (flags.json) {
|
|
35
|
+
this.log(JSON.stringify(response, null, 2));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const leases = response?.leases ?? [];
|
|
39
|
+
if (leases.length === 0) {
|
|
40
|
+
this.log('No Dedicated Runtime leases.');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
(0, format_1.renderTable)(leases.map((lease) => ({
|
|
44
|
+
id: (0, format_1.formatCell)((0, dedicated_machines_1.dedicatedLeaseId)(lease)),
|
|
45
|
+
status: (0, format_1.formatCell)((0, dedicated_machines_1.dedicatedLeaseState)(lease)),
|
|
46
|
+
name: (0, format_1.formatCell)((0, dedicated_machines_1.dedicatedLeaseDisplayName)(lease)),
|
|
47
|
+
retention: (0, format_1.formatCell)(lease.storage?.retentionClass || '-'),
|
|
48
|
+
backup: (0, format_1.formatCell)(lease.storage?.lastBackupAt || '-'),
|
|
49
|
+
})), [
|
|
50
|
+
{ key: 'id', header: 'ID' },
|
|
51
|
+
{ key: 'status', header: 'STATUS' },
|
|
52
|
+
{ key: 'name', header: 'NAME', maxWidth: 28 },
|
|
53
|
+
{ key: 'retention', header: 'RETENTION', maxWidth: 14 },
|
|
54
|
+
{ key: 'backup', header: 'LAST BACKUP', maxWidth: 24 },
|
|
55
|
+
], (line) => this.log(line));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.default = DedicatedMachinesList;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesRestart extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesRestart extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Restart a Dedicated Runtime lease';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated restart <lease-id>',
|
|
10
|
+
'<%= config.bin %> machines dedicated restart <lease-id> --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
description: 'Dedicated Runtime lease id',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
this.requireAuth();
|
|
24
|
+
const { args, flags } = await this.parse(DedicatedMachinesRestart);
|
|
25
|
+
let response;
|
|
26
|
+
try {
|
|
27
|
+
response = await (0, dedicated_machines_1.performDedicatedLeaseAction)(args.lease, 'restart');
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
31
|
+
if (message)
|
|
32
|
+
this.error(message, { exit: 1 });
|
|
33
|
+
this.handleApiError(err);
|
|
34
|
+
}
|
|
35
|
+
if (flags.json) {
|
|
36
|
+
this.log(JSON.stringify(response, null, 2));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseId)(response?.lease)} ${(0, dedicated_machines_1.dedicatedLeaseState)(response?.lease)}.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = DedicatedMachinesRestart;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesShow extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesShow extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Show one Dedicated Runtime lease';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated show <lease-id>',
|
|
10
|
+
'<%= config.bin %> machines dedicated show <lease-id> --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
ignoreStdin: true,
|
|
15
|
+
description: 'Dedicated Runtime lease id',
|
|
16
|
+
required: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = { json: core_1.Flags.boolean({ description: 'Output as JSON' }) };
|
|
20
|
+
async run() {
|
|
21
|
+
this.requireAuth();
|
|
22
|
+
const { args, flags } = await this.parse(DedicatedMachinesShow);
|
|
23
|
+
let response;
|
|
24
|
+
try {
|
|
25
|
+
response = await (0, dedicated_machines_1.getDedicatedRuntime)(args.lease);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
29
|
+
if (message)
|
|
30
|
+
this.error(message, { exit: 1 });
|
|
31
|
+
this.handleApiError(err);
|
|
32
|
+
}
|
|
33
|
+
const lease = response?.lease;
|
|
34
|
+
if (!lease) {
|
|
35
|
+
this.error('Dedicated Runtime lease not found.', { exit: 1 });
|
|
36
|
+
}
|
|
37
|
+
if (flags.json) {
|
|
38
|
+
this.log(JSON.stringify(response, null, 2));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.log((0, dedicated_machines_1.dedicatedLeaseDisplayName)(lease));
|
|
42
|
+
this.log(` id ${(0, dedicated_machines_1.dedicatedLeaseId)(lease)}`);
|
|
43
|
+
this.log(` status ${(0, dedicated_machines_1.dedicatedLeaseState)(lease)}`);
|
|
44
|
+
if (lease.storage?.retentionClass) {
|
|
45
|
+
this.log(` retention ${lease.storage.retentionClass}`);
|
|
46
|
+
}
|
|
47
|
+
if (lease.storage?.backupProfile) {
|
|
48
|
+
this.log(` backup ${lease.storage.backupProfile}`);
|
|
49
|
+
}
|
|
50
|
+
if (lease.storage?.lastBackupAt) {
|
|
51
|
+
this.log(` last backup ${lease.storage.lastBackupAt}`);
|
|
52
|
+
}
|
|
53
|
+
if (lease.billing?.monthlySpendLimitCents != null) {
|
|
54
|
+
this.log(` monthly cap ${lease.billing.monthlySpendLimitCents} cents`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.default = DedicatedMachinesShow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesSnapshot extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const dedicated_machines_1 = require("../../../lib/dedicated-machines");
|
|
6
|
+
class DedicatedMachinesSnapshot extends base_command_1.BaseCommand {
|
|
7
|
+
static description = 'Snapshot a Dedicated Runtime lease workspace';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> machines dedicated snapshot <lease-id>',
|
|
10
|
+
'<%= config.bin %> machines dedicated snapshot <lease-id> --json',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
lease: core_1.Args.string({
|
|
14
|
+
description: 'Dedicated Runtime lease id',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
this.requireAuth();
|
|
24
|
+
const { args, flags } = await this.parse(DedicatedMachinesSnapshot);
|
|
25
|
+
let response;
|
|
26
|
+
try {
|
|
27
|
+
response = await (0, dedicated_machines_1.performDedicatedLeaseAction)(args.lease, 'snapshot');
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
const message = (0, dedicated_machines_1.formatDedicatedRuntimeApiError)(err);
|
|
31
|
+
if (message)
|
|
32
|
+
this.error(message, { exit: 1 });
|
|
33
|
+
this.handleApiError(err);
|
|
34
|
+
}
|
|
35
|
+
if (flags.json) {
|
|
36
|
+
this.log(JSON.stringify(response, null, 2));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.log(`Dedicated Runtime ${(0, dedicated_machines_1.dedicatedLeaseId)(response?.lease)} ${(0, dedicated_machines_1.dedicatedLeaseState)(response?.lease)}.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = DedicatedMachinesSnapshot;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command';
|
|
2
|
+
export default class DedicatedMachinesStart extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
lease: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|