@inquir/compute-cli 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +228 -21
  2. package/dist/commands/admin-tenants.d.ts +11 -0
  3. package/dist/commands/admin-tenants.d.ts.map +1 -0
  4. package/dist/commands/admin-tenants.js +318 -0
  5. package/dist/commands/admin-tenants.js.map +1 -0
  6. package/dist/commands/admin.d.ts +2 -0
  7. package/dist/commands/admin.d.ts.map +1 -0
  8. package/dist/commands/admin.js +445 -0
  9. package/dist/commands/admin.js.map +1 -0
  10. package/dist/commands/apps-describe.d.ts +9 -0
  11. package/dist/commands/apps-describe.d.ts.map +1 -0
  12. package/dist/commands/apps-describe.js +118 -0
  13. package/dist/commands/apps-describe.js.map +1 -0
  14. package/dist/commands/apps-observability.d.ts +9 -0
  15. package/dist/commands/apps-observability.d.ts.map +1 -0
  16. package/dist/commands/apps-observability.js +281 -0
  17. package/dist/commands/apps-observability.js.map +1 -0
  18. package/dist/commands/apps-promote.d.ts +31 -0
  19. package/dist/commands/apps-promote.d.ts.map +1 -0
  20. package/dist/commands/apps-promote.js +115 -0
  21. package/dist/commands/apps-promote.js.map +1 -0
  22. package/dist/commands/apps-resources.d.ts +6 -0
  23. package/dist/commands/apps-resources.d.ts.map +1 -0
  24. package/dist/commands/apps-resources.js +107 -0
  25. package/dist/commands/apps-resources.js.map +1 -0
  26. package/dist/commands/apps.d.ts +65 -5
  27. package/dist/commands/apps.d.ts.map +1 -1
  28. package/dist/commands/apps.js +1293 -89
  29. package/dist/commands/apps.js.map +1 -1
  30. package/dist/commands/config.d.ts.map +1 -1
  31. package/dist/commands/config.js +7 -3
  32. package/dist/commands/config.js.map +1 -1
  33. package/dist/commands/delete.d.ts.map +1 -1
  34. package/dist/commands/delete.js +10 -2
  35. package/dist/commands/delete.js.map +1 -1
  36. package/dist/commands/deploy.d.ts +38 -0
  37. package/dist/commands/deploy.d.ts.map +1 -1
  38. package/dist/commands/deploy.js +165 -12
  39. package/dist/commands/deploy.js.map +1 -1
  40. package/dist/commands/doctor.js +2 -2
  41. package/dist/commands/init.d.ts.map +1 -1
  42. package/dist/commands/init.js +3 -0
  43. package/dist/commands/init.js.map +1 -1
  44. package/dist/commands/login.d.ts.map +1 -1
  45. package/dist/commands/login.js +96 -20
  46. package/dist/commands/login.js.map +1 -1
  47. package/dist/commands/logout.d.ts.map +1 -1
  48. package/dist/commands/logout.js +37 -5
  49. package/dist/commands/logout.js.map +1 -1
  50. package/dist/commands/mcp.d.ts +13 -0
  51. package/dist/commands/mcp.d.ts.map +1 -1
  52. package/dist/commands/mcp.js +184 -77
  53. package/dist/commands/mcp.js.map +1 -1
  54. package/dist/commands/projects.d.ts +2 -0
  55. package/dist/commands/projects.d.ts.map +1 -0
  56. package/dist/commands/projects.js +194 -0
  57. package/dist/commands/projects.js.map +1 -0
  58. package/dist/index.js +11 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/lib/finite-source-command-client.d.ts +3 -0
  61. package/dist/lib/finite-source-command-client.d.ts.map +1 -0
  62. package/dist/lib/finite-source-command-client.js +3 -0
  63. package/dist/lib/finite-source-command-client.js.map +1 -0
  64. package/dist/lib/mcp-io.d.ts +23 -0
  65. package/dist/lib/mcp-io.d.ts.map +1 -0
  66. package/dist/lib/mcp-io.js +185 -0
  67. package/dist/lib/mcp-io.js.map +1 -0
  68. package/dist/lib/mcp-source-commands.d.ts +17 -0
  69. package/dist/lib/mcp-source-commands.d.ts.map +1 -0
  70. package/dist/lib/mcp-source-commands.js +345 -0
  71. package/dist/lib/mcp-source-commands.js.map +1 -0
  72. package/dist/utils/api.d.ts +58 -8
  73. package/dist/utils/api.d.ts.map +1 -1
  74. package/dist/utils/api.js +86 -7
  75. package/dist/utils/api.js.map +1 -1
  76. package/dist/utils/apps-presentation.d.ts +11 -1
  77. package/dist/utils/apps-presentation.d.ts.map +1 -1
  78. package/dist/utils/apps-presentation.js +37 -0
  79. package/dist/utils/apps-presentation.js.map +1 -1
  80. package/dist/utils/args.d.ts.map +1 -1
  81. package/dist/utils/args.js +8 -1
  82. package/dist/utils/args.js.map +1 -1
  83. package/dist/utils/assets.d.ts +48 -1
  84. package/dist/utils/assets.d.ts.map +1 -1
  85. package/dist/utils/assets.js +185 -7
  86. package/dist/utils/assets.js.map +1 -1
  87. package/dist/utils/auth.d.ts +29 -2
  88. package/dist/utils/auth.d.ts.map +1 -1
  89. package/dist/utils/auth.js +164 -27
  90. package/dist/utils/auth.js.map +1 -1
  91. package/dist/utils/browser.d.ts +12 -0
  92. package/dist/utils/browser.d.ts.map +1 -1
  93. package/dist/utils/browser.js +37 -16
  94. package/dist/utils/browser.js.map +1 -1
  95. package/dist/utils/context.d.ts.map +1 -1
  96. package/dist/utils/context.js +2 -0
  97. package/dist/utils/context.js.map +1 -1
  98. package/dist/utils/deploy-follow.d.ts +4 -3
  99. package/dist/utils/deploy-follow.d.ts.map +1 -1
  100. package/dist/utils/deploy-follow.js +76 -17
  101. package/dist/utils/deploy-follow.js.map +1 -1
  102. package/dist/utils/detect.d.ts +49 -1
  103. package/dist/utils/detect.d.ts.map +1 -1
  104. package/dist/utils/detect.js +153 -12
  105. package/dist/utils/detect.js.map +1 -1
  106. package/dist/utils/ensure-auth.d.ts.map +1 -1
  107. package/dist/utils/ensure-auth.js +6 -2
  108. package/dist/utils/ensure-auth.js.map +1 -1
  109. package/dist/utils/package-metadata.js +1 -1
  110. package/dist/utils/project-context.d.ts +17 -0
  111. package/dist/utils/project-context.d.ts.map +1 -0
  112. package/dist/utils/project-context.js +96 -0
  113. package/dist/utils/project-context.js.map +1 -0
  114. package/dist/utils/project-lookup.d.ts +10 -0
  115. package/dist/utils/project-lookup.d.ts.map +1 -0
  116. package/dist/utils/project-lookup.js +52 -0
  117. package/dist/utils/project-lookup.js.map +1 -0
  118. package/package.json +7 -4
  119. package/skill/SKILL.md +15 -2
@@ -0,0 +1,318 @@
1
+ /**
2
+ * `inquir admin tenants ...` and `inquir admin containerd-tenants ...`: the
3
+ * automated tenant fabric migration (docs/TENANT_FABRIC_RUNBOOK.md §12) and
4
+ * the containerd tenant allowlist, over /admin/tenant-fabric/migrations and
5
+ * /admin/compute/containerd-tenants with the platform admin token
6
+ * (INQUIR_ADMIN_TOKEN). A migration is a dry run unless --execute is given.
7
+ */
8
+ import { hasFlag, readFlagValue } from '../utils/args.js';
9
+ import { usageError } from '../utils/errors.js';
10
+ import { bold, dim, formatTable, printLine, printSuccess, printWarning } from '../utils/output.js';
11
+ export const TENANT_VALUE_FLAGS = [
12
+ '--kind', '--window-start', '--window-end', '--first-app', '--request-id', '--limit', '--tenants', '--batch-id',
13
+ '--tenant', '--timeouts',
14
+ ];
15
+ export const TENANT_USAGE = [
16
+ 'admin tenants migrate-fabric <tenantId> [--execute] [--allow-restarts] [--window-start <iso>] [--window-end <iso>] [--containerd [--relocate] [--engine-move]] [--kind FULL|DORMANT] [--first-app <appId>] [--timeouts <json>] [--request-id <uuid>] --reason <text>',
17
+ 'admin tenants migrate-fabric --batch [--dry-run|--execute] [--include-empty] [--limit <n>] [--tenants <id,id>] [--batch-id <uuid>] [--reason <text>]',
18
+ 'admin tenants migrations [--tenant <id>] [--batch-id <uuid>] [--active] [--json]',
19
+ 'admin tenants migration <operationId> [abort --reason <text> | resume [--allow-restarts] [--window-start <iso>] [--window-end <iso>] | abandon --reason <text>] [--json]',
20
+ 'admin containerd-tenants [list] | add <tenantId> --reason <text> | remove <tenantId> [--reason <text>]',
21
+ ];
22
+ export const TENANT_HELP = [
23
+ 'tenants migrate-fabric <tenantId>',
24
+ ' Move a workspace onto the tenant fabric: PROVISIONED, DUAL, the redeploy of every',
25
+ ' app, CUTOVER, FABRIC, every gate checked, rolled back on a failed one. A dry run',
26
+ ' (the plan and why it would refuse) unless --execute. --containerd then lists it for',
27
+ ' containerd; --relocate moves stateless replicas there, --engine-move volume apps',
28
+ '--allow-restarts Apps that restart when redeployed (volumes, databases, legacy) may be redeployed',
29
+ '--window-start/-end The restart window (ISO times): restart apps wait for it, and it closing pauses',
30
+ 'tenants migrate-fabric --batch',
31
+ ' Every workspace classified; with --execute each dormant one (no live container,',
32
+ ' no Swarm endpoint) is flipped to FABRIC without redeploys',
33
+ 'tenants migrations The migrations (--active: unfinished ones)',
34
+ 'tenants migration <id> One migration, its step and its last events; abort, resume or abandon it',
35
+ 'containerd-tenants The containerd allowlist: COMPUTE_CONTAINERD_TENANTS plus the database list',
36
+ ];
37
+ function reasonOf(args) {
38
+ return readFlagValue(args, '--reason')?.trim() || undefined;
39
+ }
40
+ function restartWindow(args) {
41
+ const notBefore = readFlagValue(args, '--window-start');
42
+ const notAfter = readFlagValue(args, '--window-end');
43
+ if (!notBefore && !notAfter)
44
+ return undefined;
45
+ return { ...(notBefore ? { notBefore } : {}), ...(notAfter ? { notAfter } : {}) };
46
+ }
47
+ function timeoutsOf(args) {
48
+ const raw = readFlagValue(args, '--timeouts');
49
+ if (!raw)
50
+ return undefined;
51
+ try {
52
+ const parsed = JSON.parse(raw);
53
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
54
+ throw new Error('not an object');
55
+ return parsed;
56
+ }
57
+ catch {
58
+ throw usageError('--timeouts must be a JSON object of milliseconds, e.g. {"drainMs":600000}', `inquir ${TENANT_USAGE[0]}`);
59
+ }
60
+ }
61
+ function printPreflight(preflight) {
62
+ printLine(`${bold('Mode:')} ${preflight.mode} ${bold('Preflight:')} ${preflight.ok ? 'passes' : 'REFUSED'}`);
63
+ if (preflight.plan.apps.length > 0) {
64
+ const order = new Map(preflight.plan.redeployOrder.map((id, index) => [id, index + 1]));
65
+ printLine(formatTable(preflight.plan.apps.map((app) => ({
66
+ '#': order.get(app.applicationId) ?? '',
67
+ APP: app.name,
68
+ REDEPLOY: app.strategy === 'none' ? 'no (on the fabric or idle)' : app.strategy === 'restart' ? `restart: ${(app.restartReasons ?? []).join(', ')}` : 'make-before-break',
69
+ CONTAINERS: app.liveContainers,
70
+ LEGACY: app.legacy ? 'yes' : '',
71
+ })), ['#', 'APP', 'REDEPLOY', 'CONTAINERS', 'LEGACY']));
72
+ }
73
+ for (const refusal of preflight.refusals)
74
+ printWarning(`${refusal.code}: ${refusal.message}`);
75
+ for (const warning of preflight.plan.warnings)
76
+ printLine(dim(`note: ${warning}`));
77
+ }
78
+ function describeMigration(operation, events = 8) {
79
+ printLine(`${bold('Migration')} ${operation.id} of ${operation.tenantId} (${operation.kind} -> ${operation.target})`);
80
+ printLine(`${bold('Status:')} ${operation.status} at ${operation.step}` +
81
+ (operation.startMode ? dim(` started in ${operation.startMode}${operation.rollbackTo ? `, rolls back to ${operation.rollbackTo}` : ''}`) : '') +
82
+ (operation.stepDeadlineAt ? dim(` step deadline ${operation.stepDeadlineAt}`) : ''));
83
+ if (operation.state.pausedReason)
84
+ printWarning(`paused: ${operation.state.pausedReason}`);
85
+ if (operation.lastError)
86
+ printWarning(operation.lastError);
87
+ for (const warning of operation.state.warnings ?? [])
88
+ printLine(dim(`note: ${warning}`));
89
+ for (const event of operation.events.slice(-events))
90
+ printLine(` ${dim(event.at)} ${event.step.padEnd(22)} ${event.message}`);
91
+ }
92
+ async function migrateFabric(args, rest, json, call) {
93
+ const execute = hasFlag(args, '--execute');
94
+ if (hasFlag(args, '--batch')) {
95
+ if (execute && hasFlag(args, '--dry-run'))
96
+ throw usageError('Choose --dry-run or --execute', `inquir ${TENANT_USAGE[1]}`);
97
+ const reason = reasonOf(args);
98
+ if (execute && !reason)
99
+ throw usageError('An executed batch needs --reason', `inquir ${TENANT_USAGE[1]}`);
100
+ const limit = readFlagValue(args, '--limit');
101
+ const tenants = readFlagValue(args, '--tenants');
102
+ const batchId = readFlagValue(args, '--batch-id');
103
+ const timeouts = timeoutsOf(args);
104
+ const body = await call(args, {
105
+ method: 'POST',
106
+ path: 'admin/tenant-fabric/migrations/batch',
107
+ body: {
108
+ dryRun: !execute,
109
+ ...(reason ? { reason } : {}),
110
+ ...(hasFlag(args, '--include-empty') ? { includeEmpty: true } : {}),
111
+ ...(limit ? { limit: Number.parseInt(limit, 10) } : {}),
112
+ ...(tenants ? { tenantIds: tenants.split(',').map((id) => id.trim()).filter(Boolean) } : {}),
113
+ ...(batchId ? { batchId } : {}),
114
+ ...(timeouts ? { timeouts } : {}),
115
+ },
116
+ });
117
+ if (json) {
118
+ printLine(JSON.stringify(body, null, 2));
119
+ return;
120
+ }
121
+ const entries = (body.entries ?? []);
122
+ printLine(formatTable(entries.map((entry) => ({
123
+ TENANT: String(entry.tenantId),
124
+ NAME: String(entry.name ?? ''),
125
+ MODE: String(entry.mode),
126
+ CLASS: String(entry.class),
127
+ FLIP: entry.eligible ? 'yes' : 'no',
128
+ APPS: Number(entry.apps),
129
+ LIVE: Number(entry.liveContainers),
130
+ OPERATION: entry.operationId ? `${String(entry.operationId).slice(0, 8)} ${String(entry.operationStatus ?? '')}` : '',
131
+ REASON: String(entry.reason ?? ''),
132
+ })), ['TENANT', 'NAME', 'MODE', 'CLASS', 'FLIP', 'APPS', 'LIVE', 'OPERATION', 'REASON']));
133
+ const summary = Object.entries((body.summary ?? {})).map(([name, count]) => `${name} ${count}`).join(', ');
134
+ if (body.dryRun)
135
+ printLine(dim(`Dry run (${summary}): nothing was changed. Run it with --execute --reason <text> to flip the dormant ones.`));
136
+ else
137
+ printSuccess(`Batch ${String(body.batchId)}: ${Number(body.created)} dormant flip(s) queued (${summary}). Follow it: inquir admin tenants migrations --batch-id ${String(body.batchId)}`);
138
+ return;
139
+ }
140
+ const [tenantId] = rest;
141
+ if (!tenantId)
142
+ throw usageError('migrate-fabric needs <tenantId> (or --batch)', `inquir ${TENANT_USAGE[0]}`);
143
+ const reason = reasonOf(args);
144
+ if (execute && !reason)
145
+ throw usageError('A migration needs --reason', `inquir ${TENANT_USAGE[0]}`);
146
+ const containerd = hasFlag(args, '--containerd');
147
+ const kind = readFlagValue(args, '--kind');
148
+ const firstApp = readFlagValue(args, '--first-app');
149
+ const requestId = readFlagValue(args, '--request-id');
150
+ const window = restartWindow(args);
151
+ const timeouts = timeoutsOf(args);
152
+ if (!containerd && (hasFlag(args, '--relocate') || hasFlag(args, '--engine-move'))) {
153
+ throw usageError('--relocate and --engine-move need --containerd', `inquir ${TENANT_USAGE[0]}`);
154
+ }
155
+ const body = await call(args, {
156
+ method: 'POST',
157
+ path: 'admin/tenant-fabric/migrations',
158
+ body: {
159
+ tenantId,
160
+ reason: reason ?? 'dry run',
161
+ dryRun: !execute,
162
+ ...(kind ? { kind: kind.toUpperCase() } : {}),
163
+ ...(containerd ? { target: 'CONTAINERD' } : {}),
164
+ ...(hasFlag(args, '--allow-restarts') ? { allowRestarts: true } : {}),
165
+ ...(window ? { restartWindow: window } : {}),
166
+ ...(firstApp ? { firstApplicationId: firstApp } : {}),
167
+ ...(containerd && (hasFlag(args, '--relocate') || hasFlag(args, '--engine-move'))
168
+ ? { containerd: { relocateStateless: hasFlag(args, '--relocate'), engineMoveVolumes: hasFlag(args, '--engine-move') } }
169
+ : {}),
170
+ ...(timeouts ? { timeouts } : {}),
171
+ ...(requestId ? { requestId } : {}),
172
+ },
173
+ });
174
+ if (json) {
175
+ printLine(JSON.stringify(body, null, 2));
176
+ return;
177
+ }
178
+ if (body.preflight)
179
+ printPreflight(body.preflight);
180
+ if (body.dryRun) {
181
+ printLine(dim('Dry run: nothing was changed. Add --execute --reason <text> to start it.'));
182
+ return;
183
+ }
184
+ const operation = body.operation;
185
+ printSuccess(`Migration ${operation.id} of ${operation.tenantId} is ${operation.status}. Follow it: inquir admin tenants migration ${operation.id}`);
186
+ }
187
+ async function migration(args, rest, json, call) {
188
+ const [operationId, verb] = rest;
189
+ if (!operationId)
190
+ throw usageError('Missing <operationId>', `inquir ${TENANT_USAGE[3]}`);
191
+ const path = `admin/tenant-fabric/migrations/${encodeURIComponent(operationId)}`;
192
+ let body;
193
+ switch (verb) {
194
+ case undefined:
195
+ body = await call(args, { method: 'GET', path });
196
+ break;
197
+ case 'abort':
198
+ case 'abandon': {
199
+ const reason = reasonOf(args);
200
+ if (!reason)
201
+ throw usageError(`${verb} needs --reason`, `inquir ${TENANT_USAGE[3]}`);
202
+ body = await call(args, { method: 'POST', path: `${path}/${verb}`, body: { reason } });
203
+ break;
204
+ }
205
+ case 'resume': {
206
+ const window = restartWindow(args);
207
+ body = await call(args, {
208
+ method: 'POST',
209
+ path: `${path}/resume`,
210
+ body: { ...(hasFlag(args, '--allow-restarts') ? { allowRestarts: true } : {}), ...(window ? { restartWindow: window } : {}) },
211
+ });
212
+ break;
213
+ }
214
+ default:
215
+ throw usageError(`Unknown migration action: ${verb}`, `inquir ${TENANT_USAGE[3]}`);
216
+ }
217
+ if (json)
218
+ printLine(JSON.stringify(body, null, 2));
219
+ else
220
+ describeMigration(body.operation, verb ? 3 : 12);
221
+ }
222
+ export async function tenantsCommand(args, action, rest, json, call) {
223
+ switch (action) {
224
+ case 'migrate-fabric':
225
+ return migrateFabric(args, rest, json, call);
226
+ case 'migration':
227
+ return migration(args, rest, json, call);
228
+ case 'migrations': {
229
+ const tenant = readFlagValue(args, '--tenant');
230
+ const batchId = readFlagValue(args, '--batch-id');
231
+ const query = new URLSearchParams({
232
+ ...(tenant ? { tenantId: tenant } : {}),
233
+ ...(batchId ? { batchId } : {}),
234
+ ...(hasFlag(args, '--active') ? { active: 'true' } : {}),
235
+ }).toString();
236
+ const body = await call(args, { method: 'GET', path: `admin/tenant-fabric/migrations${query ? `?${query}` : ''}` });
237
+ if (json) {
238
+ printLine(JSON.stringify(body, null, 2));
239
+ return;
240
+ }
241
+ const operations = (body.operations ?? []);
242
+ if (operations.length === 0) {
243
+ printLine(dim('No migrations.'));
244
+ return;
245
+ }
246
+ printLine(formatTable(operations.map((operation) => ({
247
+ ID: operation.id,
248
+ TENANT: operation.tenantId,
249
+ KIND: `${operation.kind}->${operation.target}`,
250
+ STATUS: operation.status,
251
+ STEP: operation.step,
252
+ FROM: operation.startMode ?? '',
253
+ CREATED: operation.createdAt,
254
+ ERROR: (operation.lastError ?? '').slice(0, 80),
255
+ })), ['ID', 'TENANT', 'KIND', 'STATUS', 'STEP', 'FROM', 'CREATED', 'ERROR']));
256
+ return;
257
+ }
258
+ default:
259
+ throw usageError(`Unknown tenants subcommand: ${action ?? ''}`.trim(), 'inquir admin --help');
260
+ }
261
+ }
262
+ export async function containerdTenantsCommand(args, action, rest, json, call) {
263
+ const [tenantId] = rest;
264
+ let body;
265
+ switch (action ?? 'list') {
266
+ case 'list':
267
+ body = await call(args, { method: 'GET', path: 'admin/compute/containerd-tenants' });
268
+ if (json) {
269
+ printLine(JSON.stringify(body, null, 2));
270
+ return;
271
+ }
272
+ printLine(`${bold('COMPUTE_CONTAINERD_TENANTS:')} ${body.environment === null ? dim('unset') : Array.isArray(body.environment) ? body.environment.join(', ') || dim('(empty)') : String(body.environment)}`);
273
+ printLine(`${bold('Containerd runners accepted:')} ${body.acceptsRunners ? 'yes' : 'no'}`);
274
+ {
275
+ const entries = (body.database ?? []);
276
+ if (entries.length === 0)
277
+ printLine(dim('No tenant in the database list.'));
278
+ else
279
+ printLine(formatTable(entries.map((entry) => ({
280
+ TENANT: String(entry.tenantId),
281
+ 'ADDED BY': String(entry.addedBy ?? ''),
282
+ MIGRATION: String(entry.migrationId ?? ''),
283
+ REASON: String(entry.reason ?? ''),
284
+ })), ['TENANT', 'ADDED BY', 'MIGRATION', 'REASON']));
285
+ }
286
+ return;
287
+ case 'add': {
288
+ const reason = reasonOf(args);
289
+ if (!tenantId || !reason)
290
+ throw usageError('add needs <tenantId> and --reason', `inquir ${TENANT_USAGE[4]}`);
291
+ body = await call(args, { method: 'PUT', path: `admin/compute/containerd-tenants/${encodeURIComponent(tenantId)}`, body: { reason } });
292
+ if (json)
293
+ printLine(JSON.stringify(body, null, 2));
294
+ else
295
+ printSuccess(`${tenantId} ${body.added ? 'added to' : 'was already on'} the containerd allowlist; its new placements may use containerd runners within seconds`);
296
+ return;
297
+ }
298
+ case 'remove': {
299
+ if (!tenantId)
300
+ throw usageError('remove needs <tenantId>', `inquir ${TENANT_USAGE[4]}`);
301
+ const reason = reasonOf(args);
302
+ body = await call(args, { method: 'DELETE', path: `admin/compute/containerd-tenants/${encodeURIComponent(tenantId)}`, body: reason ? { reason } : {} });
303
+ if (json)
304
+ printLine(JSON.stringify(body, null, 2));
305
+ else {
306
+ printSuccess(`${tenantId} ${body.removed ? 'removed from' : 'was not on'} the database allowlist`);
307
+ if (body.allows)
308
+ printWarning('COMPUTE_CONTAINERD_TENANTS still names it');
309
+ if (body.note)
310
+ printLine(dim(String(body.note)));
311
+ }
312
+ return;
313
+ }
314
+ default:
315
+ throw usageError(`Unknown containerd-tenants subcommand: ${action}`, `inquir ${TENANT_USAGE[4]}`);
316
+ }
317
+ }
318
+ //# sourceMappingURL=admin-tenants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-tenants.js","sourceRoot":"","sources":["../../src/commands/admin-tenants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function adminCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"AAsYA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFhE"}