stow-cli 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backfill-JCNPLFJU.js +67 -0
- package/dist/backfill-VAORMLMY.js +67 -0
- package/dist/buckets-AFNX7FV3.js +137 -0
- package/dist/buckets-VYI2QVLO.js +137 -0
- package/dist/chunk-5BVMPHKH.js +147 -0
- package/dist/chunk-5IX3ASXH.js +153 -0
- package/dist/cli.js +40 -38
- package/dist/describe-CU5FBHZS.js +79 -0
- package/dist/describe-HSEHMJVD.js +79 -0
- package/dist/files-CFOTEASC.js +206 -0
- package/dist/files-XU6MDPP4.js +206 -0
- package/dist/health-SH6T6DZS.js +61 -0
- package/dist/health-YLNNKAFP.js +61 -0
- package/dist/jobs-RMRGXLAA.js +90 -0
- package/dist/jobs-ROJFRPMR.js +90 -0
- package/dist/jobs-TND5AHCL.js +102 -0
- package/dist/jobs-TOLVGN6K.js +102 -0
- package/dist/maintenance-6XNJ56LL.js +79 -0
- package/dist/maintenance-V2TXPXQE.js +79 -0
- package/dist/profiles-MB3TZQE4.js +53 -0
- package/dist/profiles-NVCJCYXR.js +53 -0
- package/dist/queues-AUGTAFBT.js +61 -0
- package/dist/queues-NR25TGT7.js +61 -0
- package/dist/search-ETC2EXKM.js +135 -0
- package/dist/search-ICJO264J.js +135 -0
- package/dist/tags-75SSHS26.js +90 -0
- package/dist/tags-TBFPDHIQ.js +90 -0
- package/package.json +12 -12
- package/LICENSE +0 -21
package/dist/cli.js
CHANGED
|
@@ -11,12 +11,14 @@ import {
|
|
|
11
11
|
setForceHuman,
|
|
12
12
|
setGlobalFields,
|
|
13
13
|
setGlobalNdjson
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5IX3ASXH.js";
|
|
15
15
|
|
|
16
16
|
// src/cli.ts
|
|
17
|
+
import { createRequire } from "module";
|
|
17
18
|
import { StowError } from "@howells/stow-server";
|
|
18
19
|
import { Command } from "commander";
|
|
19
|
-
var
|
|
20
|
+
var require2 = createRequire(import.meta.url);
|
|
21
|
+
var { version: VERSION } = require2("../package.json");
|
|
20
22
|
function handleError(err) {
|
|
21
23
|
if (err instanceof StowError) {
|
|
22
24
|
outputError(err.message, err.code, { status: err.status });
|
|
@@ -65,7 +67,7 @@ program.command("upload").description(CLI_DOCS.upload.description).argument("<fi
|
|
|
65
67
|
);
|
|
66
68
|
var bucketsCmd = program.command("buckets").description(CLI_DOCS.buckets.description).addHelpText("after", renderCommandHelp("buckets")).action(async () => {
|
|
67
69
|
try {
|
|
68
|
-
const { listBuckets } = await import("./buckets-
|
|
70
|
+
const { listBuckets } = await import("./buckets-AFNX7FV3.js");
|
|
69
71
|
await listBuckets();
|
|
70
72
|
} catch (err) {
|
|
71
73
|
handleError(err);
|
|
@@ -74,7 +76,7 @@ var bucketsCmd = program.command("buckets").description(CLI_DOCS.buckets.descrip
|
|
|
74
76
|
bucketsCmd.command("create").description(CLI_DOCS.bucketsCreate.description).argument("<name>", "Bucket name").option("-d, --description <text>", "Bucket description").option("--public", "Make bucket public").option("--dry-run", "Preview without creating").option("--input-json <json>", "Raw JSON payload").addHelpText("after", renderCommandHelp("bucketsCreate")).action(
|
|
75
77
|
async (name, options) => {
|
|
76
78
|
try {
|
|
77
|
-
const { createBucket } = await import("./buckets-
|
|
79
|
+
const { createBucket } = await import("./buckets-AFNX7FV3.js");
|
|
78
80
|
await createBucket(name, options);
|
|
79
81
|
} catch (err) {
|
|
80
82
|
handleError(err);
|
|
@@ -84,7 +86,7 @@ bucketsCmd.command("create").description(CLI_DOCS.bucketsCreate.description).arg
|
|
|
84
86
|
bucketsCmd.command("rename").description(CLI_DOCS.bucketsRename.description).argument("<name>", "Current bucket name").argument("<new-name>", "New bucket name").option("-y, --yes", "Skip confirmation warning").option("--dry-run", "Preview without renaming").option("--input-json <json>", "Raw JSON payload").addHelpText("after", renderCommandHelp("bucketsRename")).action(
|
|
85
87
|
async (name, newName, options) => {
|
|
86
88
|
try {
|
|
87
|
-
const { renameBucket } = await import("./buckets-
|
|
89
|
+
const { renameBucket } = await import("./buckets-AFNX7FV3.js");
|
|
88
90
|
await renameBucket(name, newName, options);
|
|
89
91
|
} catch (err) {
|
|
90
92
|
handleError(err);
|
|
@@ -93,7 +95,7 @@ bucketsCmd.command("rename").description(CLI_DOCS.bucketsRename.description).arg
|
|
|
93
95
|
);
|
|
94
96
|
bucketsCmd.command("delete").description(CLI_DOCS.bucketsDelete.description).argument("<id>", "Bucket ID").option("--dry-run", "Preview without deleting").addHelpText("after", renderCommandHelp("bucketsDelete")).action(async (id, options) => {
|
|
95
97
|
try {
|
|
96
|
-
const { deleteBucket } = await import("./buckets-
|
|
98
|
+
const { deleteBucket } = await import("./buckets-AFNX7FV3.js");
|
|
97
99
|
await deleteBucket(id, options);
|
|
98
100
|
} catch (err) {
|
|
99
101
|
handleError(err);
|
|
@@ -106,7 +108,7 @@ var filesCmd = program.command("files").description(CLI_DOCS.files.description).
|
|
|
106
108
|
return;
|
|
107
109
|
}
|
|
108
110
|
try {
|
|
109
|
-
const { listFiles } = await import("./files-
|
|
111
|
+
const { listFiles } = await import("./files-XU6MDPP4.js");
|
|
110
112
|
await listFiles(bucket, options);
|
|
111
113
|
} catch (err) {
|
|
112
114
|
handleError(err);
|
|
@@ -115,7 +117,7 @@ var filesCmd = program.command("files").description(CLI_DOCS.files.description).
|
|
|
115
117
|
);
|
|
116
118
|
filesCmd.command("get").description(CLI_DOCS.filesGet.description).argument("<bucket>", "Bucket name").argument("<key>", "File key").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("filesGet")).action(async (bucket, key, options) => {
|
|
117
119
|
try {
|
|
118
|
-
const { getFile } = await import("./files-
|
|
120
|
+
const { getFile } = await import("./files-XU6MDPP4.js");
|
|
119
121
|
await getFile(bucket, key, options);
|
|
120
122
|
} catch (err) {
|
|
121
123
|
handleError(err);
|
|
@@ -124,7 +126,7 @@ filesCmd.command("get").description(CLI_DOCS.filesGet.description).argument("<bu
|
|
|
124
126
|
filesCmd.command("update").description(CLI_DOCS.filesUpdate.description).argument("<bucket>", "Bucket name").argument("<key>", "File key").option("-m, --metadata <kv...>", "Metadata key=value pairs").option("--json", "Output as JSON").option("--dry-run", "Preview without updating").option("--input-json <json>", "Raw JSON payload").addHelpText("after", renderCommandHelp("filesUpdate")).action(
|
|
125
127
|
async (bucket, key, options) => {
|
|
126
128
|
try {
|
|
127
|
-
const { updateFile } = await import("./files-
|
|
129
|
+
const { updateFile } = await import("./files-XU6MDPP4.js");
|
|
128
130
|
await updateFile(bucket, key, options);
|
|
129
131
|
} catch (err) {
|
|
130
132
|
handleError(err);
|
|
@@ -133,7 +135,7 @@ filesCmd.command("update").description(CLI_DOCS.filesUpdate.description).argumen
|
|
|
133
135
|
);
|
|
134
136
|
filesCmd.command("enrich").description(CLI_DOCS.filesEnrich.description).argument("<bucket>", "Bucket name").argument("<key>", "File key").addHelpText("after", renderCommandHelp("filesEnrich")).action(async (bucket, key) => {
|
|
135
137
|
try {
|
|
136
|
-
const { enrichFile } = await import("./files-
|
|
138
|
+
const { enrichFile } = await import("./files-XU6MDPP4.js");
|
|
137
139
|
await enrichFile(bucket, key);
|
|
138
140
|
} catch (err) {
|
|
139
141
|
handleError(err);
|
|
@@ -142,7 +144,7 @@ filesCmd.command("enrich").description(CLI_DOCS.filesEnrich.description).argumen
|
|
|
142
144
|
filesCmd.command("missing").description(CLI_DOCS.filesMissing.description).argument("<bucket>", "Bucket name").argument("<type>", "dimensions | embeddings | colors").option("-l, --limit <count>", "Max files to return").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("filesMissing")).action(
|
|
143
145
|
async (bucket, type, options) => {
|
|
144
146
|
try {
|
|
145
|
-
const { listMissing } = await import("./files-
|
|
147
|
+
const { listMissing } = await import("./files-XU6MDPP4.js");
|
|
146
148
|
await listMissing(bucket, type, options);
|
|
147
149
|
} catch (err) {
|
|
148
150
|
handleError(err);
|
|
@@ -169,7 +171,7 @@ var searchCmd = program.command("search").description(CLI_DOCS.search.descriptio
|
|
|
169
171
|
searchCmd.command("text").description(CLI_DOCS.searchText.description).argument("<query>", "Search query").option("-b, --bucket <name>", "Bucket name").option("-l, --limit <count>", "Max results").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("searchText")).action(
|
|
170
172
|
async (query, options) => {
|
|
171
173
|
try {
|
|
172
|
-
const { textSearch } = await import("./search-
|
|
174
|
+
const { textSearch } = await import("./search-ETC2EXKM.js");
|
|
173
175
|
await textSearch(query, options);
|
|
174
176
|
} catch (err) {
|
|
175
177
|
handleError(err);
|
|
@@ -179,7 +181,7 @@ searchCmd.command("text").description(CLI_DOCS.searchText.description).argument(
|
|
|
179
181
|
searchCmd.command("similar").description(CLI_DOCS.searchSimilar.description).requiredOption("--file <key>", "File key to search from").option("-b, --bucket <name>", "Bucket name").option("-l, --limit <count>", "Max results").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("searchSimilar")).action(
|
|
180
182
|
async (options) => {
|
|
181
183
|
try {
|
|
182
|
-
const { similarSearch } = await import("./search-
|
|
184
|
+
const { similarSearch } = await import("./search-ETC2EXKM.js");
|
|
183
185
|
await similarSearch(options);
|
|
184
186
|
} catch (err) {
|
|
185
187
|
handleError(err);
|
|
@@ -189,7 +191,7 @@ searchCmd.command("similar").description(CLI_DOCS.searchSimilar.description).req
|
|
|
189
191
|
searchCmd.command("color").description(CLI_DOCS.searchColor.description).requiredOption("--hex <color>", "Hex color code").option("-b, --bucket <name>", "Bucket name").option("-l, --limit <count>", "Max results").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("searchColor")).action(
|
|
190
192
|
async (options) => {
|
|
191
193
|
try {
|
|
192
|
-
const { colorSearch } = await import("./search-
|
|
194
|
+
const { colorSearch } = await import("./search-ETC2EXKM.js");
|
|
193
195
|
await colorSearch(options);
|
|
194
196
|
} catch (err) {
|
|
195
197
|
handleError(err);
|
|
@@ -199,7 +201,7 @@ searchCmd.command("color").description(CLI_DOCS.searchColor.description).require
|
|
|
199
201
|
searchCmd.command("diverse").description(CLI_DOCS.searchDiverse.description).option("-b, --bucket <name>", "Bucket name").option("-l, --limit <count>", "Max results").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("searchDiverse")).action(
|
|
200
202
|
async (options) => {
|
|
201
203
|
try {
|
|
202
|
-
const { diverseSearch } = await import("./search-
|
|
204
|
+
const { diverseSearch } = await import("./search-ETC2EXKM.js");
|
|
203
205
|
await diverseSearch(options);
|
|
204
206
|
} catch (err) {
|
|
205
207
|
handleError(err);
|
|
@@ -208,7 +210,7 @@ searchCmd.command("diverse").description(CLI_DOCS.searchDiverse.description).opt
|
|
|
208
210
|
);
|
|
209
211
|
var tagsCmd = program.command("tags").description(CLI_DOCS.tags.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("tags")).action(async (options) => {
|
|
210
212
|
try {
|
|
211
|
-
const { listTags } = await import("./tags-
|
|
213
|
+
const { listTags } = await import("./tags-TBFPDHIQ.js");
|
|
212
214
|
await listTags(options);
|
|
213
215
|
} catch (err) {
|
|
214
216
|
handleError(err);
|
|
@@ -217,7 +219,7 @@ var tagsCmd = program.command("tags").description(CLI_DOCS.tags.description).opt
|
|
|
217
219
|
tagsCmd.command("create").description(CLI_DOCS.tagsCreate.description).argument("<name>", "Tag name").option("--color <hex>", "Tag color (hex)").option("--json", "Output as JSON").option("--dry-run", "Preview without creating").option("--input-json <json>", "Raw JSON payload").addHelpText("after", renderCommandHelp("tagsCreate")).action(
|
|
218
220
|
async (name, options) => {
|
|
219
221
|
try {
|
|
220
|
-
const { createTag } = await import("./tags-
|
|
222
|
+
const { createTag } = await import("./tags-TBFPDHIQ.js");
|
|
221
223
|
await createTag(name, options);
|
|
222
224
|
} catch (err) {
|
|
223
225
|
handleError(err);
|
|
@@ -226,7 +228,7 @@ tagsCmd.command("create").description(CLI_DOCS.tagsCreate.description).argument(
|
|
|
226
228
|
);
|
|
227
229
|
tagsCmd.command("delete").description(CLI_DOCS.tagsDelete.description).argument("<id>", "Tag ID").option("--dry-run", "Preview without deleting").addHelpText("after", renderCommandHelp("tagsDelete")).action(async (id, options) => {
|
|
228
230
|
try {
|
|
229
|
-
const { deleteTag } = await import("./tags-
|
|
231
|
+
const { deleteTag } = await import("./tags-TBFPDHIQ.js");
|
|
230
232
|
await deleteTag(id, options);
|
|
231
233
|
} catch (err) {
|
|
232
234
|
handleError(err);
|
|
@@ -236,7 +238,7 @@ var profilesCmd = program.command("profiles").description(CLI_DOCS.profiles.desc
|
|
|
236
238
|
profilesCmd.command("create").description(CLI_DOCS.profilesCreate.description).requiredOption("--name <name>", "Profile name").option("-b, --bucket <id>", "Bucket ID").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("profilesCreate")).action(
|
|
237
239
|
async (options) => {
|
|
238
240
|
try {
|
|
239
|
-
const { createProfile } = await import("./profiles-
|
|
241
|
+
const { createProfile } = await import("./profiles-MB3TZQE4.js");
|
|
240
242
|
await createProfile(options);
|
|
241
243
|
} catch (err) {
|
|
242
244
|
handleError(err);
|
|
@@ -245,7 +247,7 @@ profilesCmd.command("create").description(CLI_DOCS.profilesCreate.description).r
|
|
|
245
247
|
);
|
|
246
248
|
profilesCmd.command("get").description(CLI_DOCS.profilesGet.description).argument("<id>", "Profile ID").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("profilesGet")).action(async (id, options) => {
|
|
247
249
|
try {
|
|
248
|
-
const { getProfile } = await import("./profiles-
|
|
250
|
+
const { getProfile } = await import("./profiles-MB3TZQE4.js");
|
|
249
251
|
await getProfile(id, options);
|
|
250
252
|
} catch (err) {
|
|
251
253
|
handleError(err);
|
|
@@ -253,7 +255,7 @@ profilesCmd.command("get").description(CLI_DOCS.profilesGet.description).argumen
|
|
|
253
255
|
});
|
|
254
256
|
profilesCmd.command("delete").description(CLI_DOCS.profilesDelete.description).argument("<id>", "Profile ID").addHelpText("after", renderCommandHelp("profilesDelete")).action(async (id) => {
|
|
255
257
|
try {
|
|
256
|
-
const { deleteProfile } = await import("./profiles-
|
|
258
|
+
const { deleteProfile } = await import("./profiles-MB3TZQE4.js");
|
|
257
259
|
await deleteProfile(id);
|
|
258
260
|
} catch (err) {
|
|
259
261
|
handleError(err);
|
|
@@ -262,7 +264,7 @@ profilesCmd.command("delete").description(CLI_DOCS.profilesDelete.description).a
|
|
|
262
264
|
var jobsCmd = program.command("jobs").description(CLI_DOCS.jobs.description).requiredOption("-b, --bucket <id>", "Bucket ID (required)").option("-s, --status <status>", "Filter by status").option("-q, --queue <name>", "Filter by queue name").option("-l, --limit <count>", "Max jobs to return").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("jobs")).action(
|
|
263
265
|
async (options) => {
|
|
264
266
|
try {
|
|
265
|
-
const { listJobs } = await import("./jobs-
|
|
267
|
+
const { listJobs } = await import("./jobs-TND5AHCL.js");
|
|
266
268
|
await listJobs(options.bucket, options);
|
|
267
269
|
} catch (err) {
|
|
268
270
|
handleError(err);
|
|
@@ -271,7 +273,7 @@ var jobsCmd = program.command("jobs").description(CLI_DOCS.jobs.description).req
|
|
|
271
273
|
);
|
|
272
274
|
jobsCmd.command("retry").description(CLI_DOCS.jobsRetry.description).argument("<id>", "Job ID").requiredOption("-q, --queue <name>", "Queue name").requiredOption("-b, --bucket <id>", "Bucket ID").addHelpText("after", renderCommandHelp("jobsRetry")).action(async (id, options) => {
|
|
273
275
|
try {
|
|
274
|
-
const { retryJob } = await import("./jobs-
|
|
276
|
+
const { retryJob } = await import("./jobs-TND5AHCL.js");
|
|
275
277
|
await retryJob(id, options);
|
|
276
278
|
} catch (err) {
|
|
277
279
|
handleError(err);
|
|
@@ -279,7 +281,7 @@ jobsCmd.command("retry").description(CLI_DOCS.jobsRetry.description).argument("<
|
|
|
279
281
|
});
|
|
280
282
|
jobsCmd.command("delete").description(CLI_DOCS.jobsDelete.description).argument("<id>", "Job ID").requiredOption("-q, --queue <name>", "Queue name").requiredOption("-b, --bucket <id>", "Bucket ID").addHelpText("after", renderCommandHelp("jobsDelete")).action(async (id, options) => {
|
|
281
283
|
try {
|
|
282
|
-
const { deleteJob } = await import("./jobs-
|
|
284
|
+
const { deleteJob } = await import("./jobs-TND5AHCL.js");
|
|
283
285
|
await deleteJob(id, options);
|
|
284
286
|
} catch (err) {
|
|
285
287
|
handleError(err);
|
|
@@ -288,7 +290,7 @@ jobsCmd.command("delete").description(CLI_DOCS.jobsDelete.description).argument(
|
|
|
288
290
|
var adminCmd = program.command("admin").description(CLI_DOCS.admin.description).addHelpText("after", renderCommandHelp("admin"));
|
|
289
291
|
adminCmd.command("health").description(CLI_DOCS.adminHealth.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminHealth")).action(async (options) => {
|
|
290
292
|
try {
|
|
291
|
-
const { health } = await import("./health-
|
|
293
|
+
const { health } = await import("./health-SH6T6DZS.js");
|
|
292
294
|
await health(options);
|
|
293
295
|
} catch (err) {
|
|
294
296
|
handleError(err);
|
|
@@ -298,7 +300,7 @@ var backfillCmd = adminCmd.command("backfill").description(CLI_DOCS.adminBackfil
|
|
|
298
300
|
backfillCmd.command("dimensions").description("Backfill image dimensions").option("--bucket <id>", "Bucket ID").option("-l, --limit <count>", "Max files to enqueue").option("--dry-run", "Preview without enqueuing").option("--json", "Output as JSON").action(
|
|
299
301
|
async (options) => {
|
|
300
302
|
try {
|
|
301
|
-
const { backfillDimensions } = await import("./backfill-
|
|
303
|
+
const { backfillDimensions } = await import("./backfill-VAORMLMY.js");
|
|
302
304
|
await backfillDimensions(options);
|
|
303
305
|
} catch (err) {
|
|
304
306
|
handleError(err);
|
|
@@ -308,7 +310,7 @@ backfillCmd.command("dimensions").description("Backfill image dimensions").optio
|
|
|
308
310
|
backfillCmd.command("colors").description("Backfill color extraction").option("--bucket <id>", "Bucket ID").option("-l, --limit <count>", "Max files to enqueue").option("--dry-run", "Preview without enqueuing").option("--json", "Output as JSON").action(
|
|
309
311
|
async (options) => {
|
|
310
312
|
try {
|
|
311
|
-
const { backfillColors } = await import("./backfill-
|
|
313
|
+
const { backfillColors } = await import("./backfill-VAORMLMY.js");
|
|
312
314
|
await backfillColors(options);
|
|
313
315
|
} catch (err) {
|
|
314
316
|
handleError(err);
|
|
@@ -318,7 +320,7 @@ backfillCmd.command("colors").description("Backfill color extraction").option("-
|
|
|
318
320
|
backfillCmd.command("embeddings").description("Backfill embedding generation").option("--bucket <id>", "Bucket ID").option("-l, --limit <count>", "Max files to enqueue").option("--dry-run", "Preview without enqueuing").option("--json", "Output as JSON").action(
|
|
319
321
|
async (options) => {
|
|
320
322
|
try {
|
|
321
|
-
const { backfillEmbeddings } = await import("./backfill-
|
|
323
|
+
const { backfillEmbeddings } = await import("./backfill-VAORMLMY.js");
|
|
322
324
|
await backfillEmbeddings(options);
|
|
323
325
|
} catch (err) {
|
|
324
326
|
handleError(err);
|
|
@@ -328,7 +330,7 @@ backfillCmd.command("embeddings").description("Backfill embedding generation").o
|
|
|
328
330
|
adminCmd.command("cleanup-drops").description(CLI_DOCS.adminCleanupDrops.description).option("--max-age-hours <hours>", "Max age in hours").option("--dry-run", "Preview without deleting").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminCleanupDrops")).action(
|
|
329
331
|
async (options) => {
|
|
330
332
|
try {
|
|
331
|
-
const { cleanupDrops } = await import("./maintenance-
|
|
333
|
+
const { cleanupDrops } = await import("./maintenance-V2TXPXQE.js");
|
|
332
334
|
await cleanupDrops(options);
|
|
333
335
|
} catch (err) {
|
|
334
336
|
handleError(err);
|
|
@@ -337,7 +339,7 @@ adminCmd.command("cleanup-drops").description(CLI_DOCS.adminCleanupDrops.descrip
|
|
|
337
339
|
);
|
|
338
340
|
adminCmd.command("purge-events").description(CLI_DOCS.adminPurgeEvents.description).option("--dry-run", "Preview without deleting").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminPurgeEvents")).action(async (options) => {
|
|
339
341
|
try {
|
|
340
|
-
const { purgeEvents } = await import("./maintenance-
|
|
342
|
+
const { purgeEvents } = await import("./maintenance-V2TXPXQE.js");
|
|
341
343
|
await purgeEvents(options);
|
|
342
344
|
} catch (err) {
|
|
343
345
|
handleError(err);
|
|
@@ -346,7 +348,7 @@ adminCmd.command("purge-events").description(CLI_DOCS.adminPurgeEvents.descripti
|
|
|
346
348
|
adminCmd.command("reconcile-files").description(CLI_DOCS.adminReconcileFiles.description).requiredOption("--bucket <id>", "Bucket ID").option("--dry-run", "Preview without reconciling").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminReconcileFiles")).action(
|
|
347
349
|
async (options) => {
|
|
348
350
|
try {
|
|
349
|
-
const { reconcileFiles } = await import("./maintenance-
|
|
351
|
+
const { reconcileFiles } = await import("./maintenance-V2TXPXQE.js");
|
|
350
352
|
await reconcileFiles(options);
|
|
351
353
|
} catch (err) {
|
|
352
354
|
handleError(err);
|
|
@@ -355,7 +357,7 @@ adminCmd.command("reconcile-files").description(CLI_DOCS.adminReconcileFiles.des
|
|
|
355
357
|
);
|
|
356
358
|
adminCmd.command("retry-sync-failures").description(CLI_DOCS.adminRetrySyncFailures.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminRetrySyncFailures")).action(async (options) => {
|
|
357
359
|
try {
|
|
358
|
-
const { retrySyncFailures } = await import("./maintenance-
|
|
360
|
+
const { retrySyncFailures } = await import("./maintenance-V2TXPXQE.js");
|
|
359
361
|
await retrySyncFailures(options);
|
|
360
362
|
} catch (err) {
|
|
361
363
|
handleError(err);
|
|
@@ -364,7 +366,7 @@ adminCmd.command("retry-sync-failures").description(CLI_DOCS.adminRetrySyncFailu
|
|
|
364
366
|
var adminJobsCmd = adminCmd.command("jobs").description(CLI_DOCS.adminJobs.description).option("--org <id>", "Filter by org ID").option("--bucket <id>", "Filter by bucket ID").option("-s, --status <status>", "Filter by status").option("-q, --queue <name>", "Filter by queue name").option("-l, --limit <count>", "Max jobs to return").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminJobs")).action(
|
|
365
367
|
async (options) => {
|
|
366
368
|
try {
|
|
367
|
-
const { listAdminJobs } = await import("./jobs-
|
|
369
|
+
const { listAdminJobs } = await import("./jobs-ROJFRPMR.js");
|
|
368
370
|
await listAdminJobs(options);
|
|
369
371
|
} catch (err) {
|
|
370
372
|
handleError(err);
|
|
@@ -373,7 +375,7 @@ var adminJobsCmd = adminCmd.command("jobs").description(CLI_DOCS.adminJobs.descr
|
|
|
373
375
|
);
|
|
374
376
|
adminJobsCmd.command("retry").description(CLI_DOCS.adminJobsRetry.description).argument("<id>", "Job ID").requiredOption("-q, --queue <name>", "Queue name").addHelpText("after", renderCommandHelp("adminJobsRetry")).action(async (id, options) => {
|
|
375
377
|
try {
|
|
376
|
-
const { retryAdminJob } = await import("./jobs-
|
|
378
|
+
const { retryAdminJob } = await import("./jobs-ROJFRPMR.js");
|
|
377
379
|
await retryAdminJob(id, options);
|
|
378
380
|
} catch (err) {
|
|
379
381
|
handleError(err);
|
|
@@ -381,7 +383,7 @@ adminJobsCmd.command("retry").description(CLI_DOCS.adminJobsRetry.description).a
|
|
|
381
383
|
});
|
|
382
384
|
adminJobsCmd.command("delete").description(CLI_DOCS.adminJobsDelete.description).argument("<id>", "Job ID").requiredOption("-q, --queue <name>", "Queue name").addHelpText("after", renderCommandHelp("adminJobsDelete")).action(async (id, options) => {
|
|
383
385
|
try {
|
|
384
|
-
const { deleteAdminJob } = await import("./jobs-
|
|
386
|
+
const { deleteAdminJob } = await import("./jobs-ROJFRPMR.js");
|
|
385
387
|
await deleteAdminJob(id, options);
|
|
386
388
|
} catch (err) {
|
|
387
389
|
handleError(err);
|
|
@@ -389,7 +391,7 @@ adminJobsCmd.command("delete").description(CLI_DOCS.adminJobsDelete.description)
|
|
|
389
391
|
});
|
|
390
392
|
var adminQueuesCmd = adminCmd.command("queues").description(CLI_DOCS.adminQueues.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminQueues")).action(async (options) => {
|
|
391
393
|
try {
|
|
392
|
-
const { listQueues } = await import("./queues-
|
|
394
|
+
const { listQueues } = await import("./queues-NR25TGT7.js");
|
|
393
395
|
await listQueues(options);
|
|
394
396
|
} catch (err) {
|
|
395
397
|
handleError(err);
|
|
@@ -398,7 +400,7 @@ var adminQueuesCmd = adminCmd.command("queues").description(CLI_DOCS.adminQueues
|
|
|
398
400
|
adminQueuesCmd.command("clean").description(CLI_DOCS.adminQueuesClean.description).argument("<name>", "Queue name").option("--failed", "Clean failed jobs").option("--completed", "Clean completed jobs").option("--grace <seconds>", "Grace period in seconds").addHelpText("after", renderCommandHelp("adminQueuesClean")).action(
|
|
399
401
|
async (name, options) => {
|
|
400
402
|
try {
|
|
401
|
-
const { cleanQueue } = await import("./queues-
|
|
403
|
+
const { cleanQueue } = await import("./queues-NR25TGT7.js");
|
|
402
404
|
await cleanQueue(name, options);
|
|
403
405
|
} catch (err) {
|
|
404
406
|
handleError(err);
|
|
@@ -433,7 +435,7 @@ program.command("open").description(CLI_DOCS.open.description).argument("<bucket
|
|
|
433
435
|
});
|
|
434
436
|
program.command("describe").argument("[command]", "Command path (dot notation, e.g. search.text)").description("Show command schema for AI agents").action(async (command) => {
|
|
435
437
|
try {
|
|
436
|
-
const { describeCommand } = await import("./describe-
|
|
438
|
+
const { describeCommand } = await import("./describe-HSEHMJVD.js");
|
|
437
439
|
describeCommand(command ?? "");
|
|
438
440
|
} catch (err) {
|
|
439
441
|
handleError(err);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CLI_DOCS
|
|
3
|
+
} from "./chunk-XJDK2CBE.js";
|
|
4
|
+
import {
|
|
5
|
+
output
|
|
6
|
+
} from "./chunk-5BVMPHKH.js";
|
|
7
|
+
|
|
8
|
+
// src/commands/describe.ts
|
|
9
|
+
var COMMAND_MAP = {
|
|
10
|
+
upload: "upload",
|
|
11
|
+
drop: "drop",
|
|
12
|
+
delete: "delete",
|
|
13
|
+
whoami: "whoami",
|
|
14
|
+
open: "open",
|
|
15
|
+
buckets: "buckets",
|
|
16
|
+
"buckets.create": "bucketsCreate",
|
|
17
|
+
"buckets.rename": "bucketsRename",
|
|
18
|
+
"buckets.delete": "bucketsDelete",
|
|
19
|
+
files: "files",
|
|
20
|
+
"files.get": "filesGet",
|
|
21
|
+
"files.update": "filesUpdate",
|
|
22
|
+
"files.enrich": "filesEnrich",
|
|
23
|
+
"files.missing": "filesMissing",
|
|
24
|
+
search: "search",
|
|
25
|
+
"search.text": "searchText",
|
|
26
|
+
"search.similar": "searchSimilar",
|
|
27
|
+
"search.color": "searchColor",
|
|
28
|
+
"search.diverse": "searchDiverse",
|
|
29
|
+
tags: "tags",
|
|
30
|
+
"tags.create": "tagsCreate",
|
|
31
|
+
"tags.delete": "tagsDelete",
|
|
32
|
+
drops: "drops",
|
|
33
|
+
"drops.delete": "dropsDelete",
|
|
34
|
+
profiles: "profiles",
|
|
35
|
+
"profiles.create": "profilesCreate",
|
|
36
|
+
"profiles.get": "profilesGet",
|
|
37
|
+
"profiles.delete": "profilesDelete",
|
|
38
|
+
jobs: "jobs",
|
|
39
|
+
"jobs.retry": "jobsRetry",
|
|
40
|
+
"jobs.delete": "jobsDelete",
|
|
41
|
+
admin: "admin",
|
|
42
|
+
"admin.health": "adminHealth",
|
|
43
|
+
"admin.backfill": "adminBackfill",
|
|
44
|
+
"admin.cleanup-drops": "adminCleanupDrops",
|
|
45
|
+
"admin.purge-events": "adminPurgeEvents",
|
|
46
|
+
"admin.reconcile-files": "adminReconcileFiles",
|
|
47
|
+
"admin.retry-sync-failures": "adminRetrySyncFailures",
|
|
48
|
+
"admin.jobs": "adminJobs",
|
|
49
|
+
"admin.jobs.retry": "adminJobsRetry",
|
|
50
|
+
"admin.jobs.delete": "adminJobsDelete",
|
|
51
|
+
"admin.queues": "adminQueues",
|
|
52
|
+
"admin.queues.clean": "adminQueuesClean"
|
|
53
|
+
};
|
|
54
|
+
function describeCommand(commandPath) {
|
|
55
|
+
if (!commandPath) {
|
|
56
|
+
output({
|
|
57
|
+
commands: Object.keys(COMMAND_MAP).sort()
|
|
58
|
+
});
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const docKey = COMMAND_MAP[commandPath];
|
|
62
|
+
if (!(docKey && CLI_DOCS[docKey])) {
|
|
63
|
+
console.error(`Unknown command: ${commandPath}`);
|
|
64
|
+
console.error(`Available: ${Object.keys(COMMAND_MAP).sort().join(", ")}`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const doc = CLI_DOCS[docKey];
|
|
69
|
+
output({
|
|
70
|
+
command: commandPath,
|
|
71
|
+
description: doc.description,
|
|
72
|
+
usage: doc.usage,
|
|
73
|
+
examples: doc.examples,
|
|
74
|
+
notes: doc.notes ?? []
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
describeCommand
|
|
79
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CLI_DOCS
|
|
3
|
+
} from "./chunk-XJDK2CBE.js";
|
|
4
|
+
import {
|
|
5
|
+
output
|
|
6
|
+
} from "./chunk-5IX3ASXH.js";
|
|
7
|
+
|
|
8
|
+
// src/commands/describe.ts
|
|
9
|
+
var COMMAND_MAP = {
|
|
10
|
+
upload: "upload",
|
|
11
|
+
drop: "drop",
|
|
12
|
+
delete: "delete",
|
|
13
|
+
whoami: "whoami",
|
|
14
|
+
open: "open",
|
|
15
|
+
buckets: "buckets",
|
|
16
|
+
"buckets.create": "bucketsCreate",
|
|
17
|
+
"buckets.rename": "bucketsRename",
|
|
18
|
+
"buckets.delete": "bucketsDelete",
|
|
19
|
+
files: "files",
|
|
20
|
+
"files.get": "filesGet",
|
|
21
|
+
"files.update": "filesUpdate",
|
|
22
|
+
"files.enrich": "filesEnrich",
|
|
23
|
+
"files.missing": "filesMissing",
|
|
24
|
+
search: "search",
|
|
25
|
+
"search.text": "searchText",
|
|
26
|
+
"search.similar": "searchSimilar",
|
|
27
|
+
"search.color": "searchColor",
|
|
28
|
+
"search.diverse": "searchDiverse",
|
|
29
|
+
tags: "tags",
|
|
30
|
+
"tags.create": "tagsCreate",
|
|
31
|
+
"tags.delete": "tagsDelete",
|
|
32
|
+
drops: "drops",
|
|
33
|
+
"drops.delete": "dropsDelete",
|
|
34
|
+
profiles: "profiles",
|
|
35
|
+
"profiles.create": "profilesCreate",
|
|
36
|
+
"profiles.get": "profilesGet",
|
|
37
|
+
"profiles.delete": "profilesDelete",
|
|
38
|
+
jobs: "jobs",
|
|
39
|
+
"jobs.retry": "jobsRetry",
|
|
40
|
+
"jobs.delete": "jobsDelete",
|
|
41
|
+
admin: "admin",
|
|
42
|
+
"admin.health": "adminHealth",
|
|
43
|
+
"admin.backfill": "adminBackfill",
|
|
44
|
+
"admin.cleanup-drops": "adminCleanupDrops",
|
|
45
|
+
"admin.purge-events": "adminPurgeEvents",
|
|
46
|
+
"admin.reconcile-files": "adminReconcileFiles",
|
|
47
|
+
"admin.retry-sync-failures": "adminRetrySyncFailures",
|
|
48
|
+
"admin.jobs": "adminJobs",
|
|
49
|
+
"admin.jobs.retry": "adminJobsRetry",
|
|
50
|
+
"admin.jobs.delete": "adminJobsDelete",
|
|
51
|
+
"admin.queues": "adminQueues",
|
|
52
|
+
"admin.queues.clean": "adminQueuesClean"
|
|
53
|
+
};
|
|
54
|
+
function describeCommand(commandPath) {
|
|
55
|
+
if (!commandPath) {
|
|
56
|
+
output({
|
|
57
|
+
commands: Object.keys(COMMAND_MAP).sort()
|
|
58
|
+
});
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const docKey = COMMAND_MAP[commandPath];
|
|
62
|
+
if (!(docKey && CLI_DOCS[docKey])) {
|
|
63
|
+
console.error(`Unknown command: ${commandPath}`);
|
|
64
|
+
console.error(`Available: ${Object.keys(COMMAND_MAP).sort().join(", ")}`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const doc = CLI_DOCS[docKey];
|
|
69
|
+
output({
|
|
70
|
+
command: commandPath,
|
|
71
|
+
description: doc.description,
|
|
72
|
+
usage: doc.usage,
|
|
73
|
+
examples: doc.examples,
|
|
74
|
+
notes: doc.notes ?? []
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
describeCommand
|
|
79
|
+
};
|