stow-cli 2.2.1 → 2.3.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 (46) hide show
  1. package/README.md +10 -10
  2. package/dist/app-ZIHTOHXL.js +255 -0
  3. package/dist/backfill-BG65X4TP.js +65 -0
  4. package/dist/backfill-KW46AEAL.js +67 -0
  5. package/dist/buckets-FPMMPRR2.js +130 -0
  6. package/dist/buckets-JJBWUVKF.js +137 -0
  7. package/dist/chunk-533UGNLM.js +42 -0
  8. package/dist/chunk-AHBVZRDR.js +29 -0
  9. package/dist/chunk-JXITFFWI.js +318 -0
  10. package/dist/chunk-KPIQZBTO.js +151 -0
  11. package/dist/chunk-MYFLRBWC.js +312 -0
  12. package/dist/chunk-NBHBVKP5.js +54 -0
  13. package/dist/chunk-PE6V3MVP.js +46 -0
  14. package/dist/chunk-RH4BOSYB.js +153 -0
  15. package/dist/chunk-XVKIRHTX.js +29 -0
  16. package/dist/cli.js +178 -194
  17. package/dist/delete-3UDS4RMH.js +34 -0
  18. package/dist/delete-CQJEGLP3.js +34 -0
  19. package/dist/describe-NH3K3LLW.js +79 -0
  20. package/dist/describe-TGIXQHN6.js +79 -0
  21. package/dist/describe-W3ED4VW3.js +79 -0
  22. package/dist/drops-XO4CZ4BH.js +39 -0
  23. package/dist/files-BIMA5L2G.js +206 -0
  24. package/dist/files-SQURZ7VO.js +194 -0
  25. package/dist/health-3U3RHXFS.js +56 -0
  26. package/dist/health-TIJU6U2D.js +61 -0
  27. package/dist/jobs-HUW6Z6A7.js +87 -0
  28. package/dist/jobs-KK5IZYO5.js +99 -0
  29. package/dist/jobs-SX7DIN6T.js +90 -0
  30. package/dist/jobs-XUAXWUAK.js +102 -0
  31. package/dist/maintenance-7UBKZOR3.js +79 -0
  32. package/dist/maintenance-US3PUKFF.js +79 -0
  33. package/dist/mcp-TUZZB2C7.js +189 -0
  34. package/dist/profiles-FOLKZZRU.js +53 -0
  35. package/dist/profiles-XXVM3UKI.js +53 -0
  36. package/dist/queues-MTA2RWUP.js +56 -0
  37. package/dist/queues-X6IU3KBZ.js +61 -0
  38. package/dist/search-KBJSWH35.js +134 -0
  39. package/dist/search-ULMFDWHE.js +135 -0
  40. package/dist/search-UWLK4OL2.js +119 -0
  41. package/dist/tags-OFZQ2XCX.js +90 -0
  42. package/dist/tags-V43DCLPQ.js +90 -0
  43. package/dist/upload-F5I2SJRB.js +126 -0
  44. package/dist/upload-N7NAVN3Q.js +126 -0
  45. package/dist/whoami-WUQDFC5P.js +28 -0
  46. package/package.json +12 -12
package/dist/cli.js CHANGED
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  CLI_DOCS,
4
4
  renderCommandHelp
5
- } from "./chunk-XJDK2CBE.js";
5
+ } from "./chunk-JXITFFWI.js";
6
6
  import {
7
7
  InputValidationError
8
- } from "./chunk-PLZFHPLC.js";
8
+ } from "./chunk-NBHBVKP5.js";
9
9
  import {
10
10
  outputError,
11
11
  setForceHuman,
12
12
  setGlobalFields,
13
13
  setGlobalNdjson
14
- } from "./chunk-5IX3ASXH.js";
14
+ } from "./chunk-KPIQZBTO.js";
15
15
 
16
16
  // src/cli.ts
17
17
  import { createRequire } from "module";
@@ -31,10 +31,7 @@ function handleError(err) {
31
31
  }
32
32
  }
33
33
  var program = new Command();
34
- program.name("stow").description(CLI_DOCS.root.description).version(VERSION).option("--human", "Force human-readable output (default when TTY)").option(
35
- "--fields <fields>",
36
- "Comma-separated fields to include in output (e.g. key,similarity)"
37
- ).option("--ndjson", "Output as newline-delimited JSON (one object per line)").addHelpText("after", renderCommandHelp("root"));
34
+ program.name("stow").description(CLI_DOCS.root.description).version(VERSION).option("--human", "Force human-readable output (default when TTY)").option("--fields <fields>", "Comma-separated fields to include in output (e.g. key,similarity)").option("--ndjson", "Output as newline-delimited JSON (one object per line)").addHelpText("after", renderCommandHelp("root"));
38
35
  program.hook("preAction", () => {
39
36
  const opts2 = program.opts();
40
37
  if (opts2.human) {
@@ -49,56 +46,54 @@ program.hook("preAction", () => {
49
46
  });
50
47
  program.command("drop").description(CLI_DOCS.drop.description).argument("<file>", "File to upload").option("-q, --quiet", "Only output the URL").addHelpText("after", renderCommandHelp("drop")).action(async (file, options) => {
51
48
  try {
52
- const { uploadDrop } = await import("./upload-OS6Q6LW5.js");
49
+ const { uploadDrop } = await import("./upload-N7NAVN3Q.js");
53
50
  await uploadDrop(file, options);
54
- } catch (err) {
55
- handleError(err);
51
+ } catch (error) {
52
+ handleError(error);
56
53
  }
57
54
  });
58
- program.command("upload").description(CLI_DOCS.upload.description).argument("<file>", "File to upload").option("-b, --bucket <name>", "Bucket name or ID").option("-q, --quiet", "Only output the URL").option("--dry-run", "Preview without uploading").addHelpText("after", renderCommandHelp("upload")).action(
59
- async (file, options) => {
60
- try {
61
- const { uploadFile } = await import("./upload-OS6Q6LW5.js");
62
- await uploadFile(file, options);
63
- } catch (err) {
64
- handleError(err);
65
- }
55
+ program.command("upload").description(CLI_DOCS.upload.description).argument("<file>", "File to upload").option("-b, --bucket <name>", "Bucket name or ID").option("-q, --quiet", "Only output the URL").option("--dry-run", "Preview without uploading").addHelpText("after", renderCommandHelp("upload")).action(async (file, options) => {
56
+ try {
57
+ const { uploadFile } = await import("./upload-N7NAVN3Q.js");
58
+ await uploadFile(file, options);
59
+ } catch (error) {
60
+ handleError(error);
66
61
  }
67
- );
62
+ });
68
63
  var bucketsCmd = program.command("buckets").description(CLI_DOCS.buckets.description).addHelpText("after", renderCommandHelp("buckets")).action(async () => {
69
64
  try {
70
- const { listBuckets } = await import("./buckets-AFNX7FV3.js");
65
+ const { listBuckets } = await import("./buckets-FPMMPRR2.js");
71
66
  await listBuckets();
72
- } catch (err) {
73
- handleError(err);
67
+ } catch (error) {
68
+ handleError(error);
74
69
  }
75
70
  });
76
71
  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(
77
72
  async (name, options) => {
78
73
  try {
79
- const { createBucket } = await import("./buckets-AFNX7FV3.js");
74
+ const { createBucket } = await import("./buckets-FPMMPRR2.js");
80
75
  await createBucket(name, options);
81
- } catch (err) {
82
- handleError(err);
76
+ } catch (error) {
77
+ handleError(error);
83
78
  }
84
79
  }
85
80
  );
86
81
  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(
87
82
  async (name, newName, options) => {
88
83
  try {
89
- const { renameBucket } = await import("./buckets-AFNX7FV3.js");
84
+ const { renameBucket } = await import("./buckets-FPMMPRR2.js");
90
85
  await renameBucket(name, newName, options);
91
- } catch (err) {
92
- handleError(err);
86
+ } catch (error) {
87
+ handleError(error);
93
88
  }
94
89
  }
95
90
  );
96
91
  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) => {
97
92
  try {
98
- const { deleteBucket } = await import("./buckets-AFNX7FV3.js");
93
+ const { deleteBucket } = await import("./buckets-FPMMPRR2.js");
99
94
  await deleteBucket(id, options);
100
- } catch (err) {
101
- handleError(err);
95
+ } catch (error) {
96
+ handleError(error);
102
97
  }
103
98
  });
104
99
  var filesCmd = program.command("files").description(CLI_DOCS.files.description).argument("[bucket]", "Bucket name").option("-s, --search <prefix>", "Filter by prefix").option("-l, --limit <count>", "Max files to return").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("files")).action(
@@ -108,345 +103,329 @@ var filesCmd = program.command("files").description(CLI_DOCS.files.description).
108
103
  return;
109
104
  }
110
105
  try {
111
- const { listFiles } = await import("./files-XU6MDPP4.js");
106
+ const { listFiles } = await import("./files-SQURZ7VO.js");
112
107
  await listFiles(bucket, options);
113
- } catch (err) {
114
- handleError(err);
108
+ } catch (error) {
109
+ handleError(error);
115
110
  }
116
111
  }
117
112
  );
118
113
  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) => {
119
114
  try {
120
- const { getFile } = await import("./files-XU6MDPP4.js");
115
+ const { getFile } = await import("./files-SQURZ7VO.js");
121
116
  await getFile(bucket, key, options);
122
- } catch (err) {
123
- handleError(err);
117
+ } catch (error) {
118
+ handleError(error);
124
119
  }
125
120
  });
126
121
  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(
127
122
  async (bucket, key, options) => {
128
123
  try {
129
- const { updateFile } = await import("./files-XU6MDPP4.js");
124
+ const { updateFile } = await import("./files-SQURZ7VO.js");
130
125
  await updateFile(bucket, key, options);
131
- } catch (err) {
132
- handleError(err);
126
+ } catch (error) {
127
+ handleError(error);
133
128
  }
134
129
  }
135
130
  );
136
131
  filesCmd.command("enrich").description(CLI_DOCS.filesEnrich.description).argument("<bucket>", "Bucket name").argument("<key>", "File key").addHelpText("after", renderCommandHelp("filesEnrich")).action(async (bucket, key) => {
137
132
  try {
138
- const { enrichFile } = await import("./files-XU6MDPP4.js");
133
+ const { enrichFile } = await import("./files-SQURZ7VO.js");
139
134
  await enrichFile(bucket, key);
140
- } catch (err) {
141
- handleError(err);
135
+ } catch (error) {
136
+ handleError(error);
142
137
  }
143
138
  });
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(
145
- async (bucket, type, options) => {
146
- try {
147
- const { listMissing } = await import("./files-XU6MDPP4.js");
148
- await listMissing(bucket, type, options);
149
- } catch (err) {
150
- handleError(err);
151
- }
139
+ 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(async (bucket, type, options) => {
140
+ try {
141
+ const { listMissing } = await import("./files-SQURZ7VO.js");
142
+ await listMissing(bucket, type, options);
143
+ } catch (error) {
144
+ handleError(error);
152
145
  }
153
- );
146
+ });
154
147
  var dropsCmd = program.command("drops").description(CLI_DOCS.drops.description).addHelpText("after", renderCommandHelp("drops")).action(async () => {
155
148
  try {
156
- const { listDrops } = await import("./drops-5VIEW3XZ.js");
149
+ const { listDrops } = await import("./drops-XO4CZ4BH.js");
157
150
  await listDrops();
158
- } catch (err) {
159
- handleError(err);
151
+ } catch (error) {
152
+ handleError(error);
160
153
  }
161
154
  });
162
155
  dropsCmd.command("delete").description(CLI_DOCS.dropsDelete.description).argument("<id>", "Drop ID").addHelpText("after", renderCommandHelp("dropsDelete")).action(async (id) => {
163
156
  try {
164
- const { deleteDrop } = await import("./drops-5VIEW3XZ.js");
157
+ const { deleteDrop } = await import("./drops-XO4CZ4BH.js");
165
158
  await deleteDrop(id);
166
- } catch (err) {
167
- handleError(err);
159
+ } catch (error) {
160
+ handleError(error);
168
161
  }
169
162
  });
170
163
  var searchCmd = program.command("search").description(CLI_DOCS.search.description).addHelpText("after", renderCommandHelp("search"));
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(
172
- async (query, options) => {
173
- try {
174
- const { textSearch } = await import("./search-ETC2EXKM.js");
175
- await textSearch(query, options);
176
- } catch (err) {
177
- handleError(err);
178
- }
164
+ 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(async (query, options) => {
165
+ try {
166
+ const { textSearch } = await import("./search-KBJSWH35.js");
167
+ await textSearch(query, options);
168
+ } catch (error) {
169
+ handleError(error);
179
170
  }
180
- );
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(
182
- async (options) => {
183
- try {
184
- const { similarSearch } = await import("./search-ETC2EXKM.js");
185
- await similarSearch(options);
186
- } catch (err) {
187
- handleError(err);
188
- }
171
+ });
172
+ 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(async (options) => {
173
+ try {
174
+ const { similarSearch } = await import("./search-KBJSWH35.js");
175
+ await similarSearch(options);
176
+ } catch (error) {
177
+ handleError(error);
189
178
  }
190
- );
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(
179
+ });
180
+ searchCmd.command("color").description(CLI_DOCS.searchColor.description).option("--hex <color>", "Hex color code (e.g. #ff6b35)").option("--name <name>", "Color name (e.g. terracotta, sage, navy)").option("--palette <colors...>", "2-5 hex colors for palette search").option("--mood-temp <value>", "Mood temperature: -1 (cool) to 1 (warm)").option("--mood-light <value>", "Mood lightness: 0 (dark) to 1 (light)").option("-b, --bucket <name>", "Bucket name").option("-l, --limit <count>", "Max results").option("--dominant-only", "Only match dominant color per file").option("--min-proportion <value>", "Minimum color proportion (0-1)").option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("searchColor")).action(
192
181
  async (options) => {
193
182
  try {
194
- const { colorSearch } = await import("./search-ETC2EXKM.js");
183
+ const { colorSearch } = await import("./search-KBJSWH35.js");
195
184
  await colorSearch(options);
196
- } catch (err) {
197
- handleError(err);
185
+ } catch (error) {
186
+ handleError(error);
198
187
  }
199
188
  }
200
189
  );
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(
202
- async (options) => {
203
- try {
204
- const { diverseSearch } = await import("./search-ETC2EXKM.js");
205
- await diverseSearch(options);
206
- } catch (err) {
207
- handleError(err);
208
- }
190
+ 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(async (options) => {
191
+ try {
192
+ const { diverseSearch } = await import("./search-KBJSWH35.js");
193
+ await diverseSearch(options);
194
+ } catch (error) {
195
+ handleError(error);
209
196
  }
210
- );
197
+ });
211
198
  var tagsCmd = program.command("tags").description(CLI_DOCS.tags.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("tags")).action(async (options) => {
212
199
  try {
213
- const { listTags } = await import("./tags-TBFPDHIQ.js");
200
+ const { listTags } = await import("./tags-V43DCLPQ.js");
214
201
  await listTags(options);
215
- } catch (err) {
216
- handleError(err);
202
+ } catch (error) {
203
+ handleError(error);
217
204
  }
218
205
  });
219
206
  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(
220
207
  async (name, options) => {
221
208
  try {
222
- const { createTag } = await import("./tags-TBFPDHIQ.js");
209
+ const { createTag } = await import("./tags-V43DCLPQ.js");
223
210
  await createTag(name, options);
224
- } catch (err) {
225
- handleError(err);
211
+ } catch (error) {
212
+ handleError(error);
226
213
  }
227
214
  }
228
215
  );
229
216
  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) => {
230
217
  try {
231
- const { deleteTag } = await import("./tags-TBFPDHIQ.js");
218
+ const { deleteTag } = await import("./tags-V43DCLPQ.js");
232
219
  await deleteTag(id, options);
233
- } catch (err) {
234
- handleError(err);
220
+ } catch (error) {
221
+ handleError(error);
235
222
  }
236
223
  });
237
224
  var profilesCmd = program.command("profiles").description(CLI_DOCS.profiles.description).addHelpText("after", renderCommandHelp("profiles"));
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(
239
- async (options) => {
240
- try {
241
- const { createProfile } = await import("./profiles-MB3TZQE4.js");
242
- await createProfile(options);
243
- } catch (err) {
244
- handleError(err);
245
- }
225
+ 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(async (options) => {
226
+ try {
227
+ const { createProfile } = await import("./profiles-XXVM3UKI.js");
228
+ await createProfile(options);
229
+ } catch (error) {
230
+ handleError(error);
246
231
  }
247
- );
232
+ });
248
233
  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) => {
249
234
  try {
250
- const { getProfile } = await import("./profiles-MB3TZQE4.js");
235
+ const { getProfile } = await import("./profiles-XXVM3UKI.js");
251
236
  await getProfile(id, options);
252
- } catch (err) {
253
- handleError(err);
237
+ } catch (error) {
238
+ handleError(error);
254
239
  }
255
240
  });
256
241
  profilesCmd.command("delete").description(CLI_DOCS.profilesDelete.description).argument("<id>", "Profile ID").addHelpText("after", renderCommandHelp("profilesDelete")).action(async (id) => {
257
242
  try {
258
- const { deleteProfile } = await import("./profiles-MB3TZQE4.js");
243
+ const { deleteProfile } = await import("./profiles-XXVM3UKI.js");
259
244
  await deleteProfile(id);
260
- } catch (err) {
261
- handleError(err);
245
+ } catch (error) {
246
+ handleError(error);
262
247
  }
263
248
  });
264
249
  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(
265
250
  async (options) => {
266
251
  try {
267
- const { listJobs } = await import("./jobs-TND5AHCL.js");
252
+ const { listJobs } = await import("./jobs-KK5IZYO5.js");
268
253
  await listJobs(options.bucket, options);
269
- } catch (err) {
270
- handleError(err);
254
+ } catch (error) {
255
+ handleError(error);
271
256
  }
272
257
  }
273
258
  );
274
259
  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) => {
275
260
  try {
276
- const { retryJob } = await import("./jobs-TND5AHCL.js");
261
+ const { retryJob } = await import("./jobs-KK5IZYO5.js");
277
262
  await retryJob(id, options);
278
- } catch (err) {
279
- handleError(err);
263
+ } catch (error) {
264
+ handleError(error);
280
265
  }
281
266
  });
282
267
  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) => {
283
268
  try {
284
- const { deleteJob } = await import("./jobs-TND5AHCL.js");
269
+ const { deleteJob } = await import("./jobs-KK5IZYO5.js");
285
270
  await deleteJob(id, options);
286
- } catch (err) {
287
- handleError(err);
271
+ } catch (error) {
272
+ handleError(error);
288
273
  }
289
274
  });
290
275
  var adminCmd = program.command("admin").description(CLI_DOCS.admin.description).addHelpText("after", renderCommandHelp("admin"));
291
276
  adminCmd.command("health").description(CLI_DOCS.adminHealth.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminHealth")).action(async (options) => {
292
277
  try {
293
- const { health } = await import("./health-SH6T6DZS.js");
278
+ const { health } = await import("./health-3U3RHXFS.js");
294
279
  await health(options);
295
- } catch (err) {
296
- handleError(err);
280
+ } catch (error) {
281
+ handleError(error);
297
282
  }
298
283
  });
299
284
  var backfillCmd = adminCmd.command("backfill").description(CLI_DOCS.adminBackfill.description).addHelpText("after", renderCommandHelp("adminBackfill"));
300
285
  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(
301
286
  async (options) => {
302
287
  try {
303
- const { backfillDimensions } = await import("./backfill-VAORMLMY.js");
288
+ const { backfillDimensions } = await import("./backfill-BG65X4TP.js");
304
289
  await backfillDimensions(options);
305
- } catch (err) {
306
- handleError(err);
290
+ } catch (error) {
291
+ handleError(error);
307
292
  }
308
293
  }
309
294
  );
310
295
  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(
311
296
  async (options) => {
312
297
  try {
313
- const { backfillColors } = await import("./backfill-VAORMLMY.js");
298
+ const { backfillColors } = await import("./backfill-BG65X4TP.js");
314
299
  await backfillColors(options);
315
- } catch (err) {
316
- handleError(err);
300
+ } catch (error) {
301
+ handleError(error);
317
302
  }
318
303
  }
319
304
  );
320
305
  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(
321
306
  async (options) => {
322
307
  try {
323
- const { backfillEmbeddings } = await import("./backfill-VAORMLMY.js");
308
+ const { backfillEmbeddings } = await import("./backfill-BG65X4TP.js");
324
309
  await backfillEmbeddings(options);
325
- } catch (err) {
326
- handleError(err);
310
+ } catch (error) {
311
+ handleError(error);
327
312
  }
328
313
  }
329
314
  );
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(
331
- async (options) => {
332
- try {
333
- const { cleanupDrops } = await import("./maintenance-V2TXPXQE.js");
334
- await cleanupDrops(options);
335
- } catch (err) {
336
- handleError(err);
337
- }
315
+ 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(async (options) => {
316
+ try {
317
+ const { cleanupDrops } = await import("./maintenance-7UBKZOR3.js");
318
+ await cleanupDrops(options);
319
+ } catch (error) {
320
+ handleError(error);
338
321
  }
339
- );
322
+ });
340
323
  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) => {
341
324
  try {
342
- const { purgeEvents } = await import("./maintenance-V2TXPXQE.js");
325
+ const { purgeEvents } = await import("./maintenance-7UBKZOR3.js");
343
326
  await purgeEvents(options);
344
- } catch (err) {
345
- handleError(err);
327
+ } catch (error) {
328
+ handleError(error);
346
329
  }
347
330
  });
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(
349
- async (options) => {
350
- try {
351
- const { reconcileFiles } = await import("./maintenance-V2TXPXQE.js");
352
- await reconcileFiles(options);
353
- } catch (err) {
354
- handleError(err);
355
- }
331
+ 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(async (options) => {
332
+ try {
333
+ const { reconcileFiles } = await import("./maintenance-7UBKZOR3.js");
334
+ await reconcileFiles(options);
335
+ } catch (error) {
336
+ handleError(error);
356
337
  }
357
- );
338
+ });
358
339
  adminCmd.command("retry-sync-failures").description(CLI_DOCS.adminRetrySyncFailures.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminRetrySyncFailures")).action(async (options) => {
359
340
  try {
360
- const { retrySyncFailures } = await import("./maintenance-V2TXPXQE.js");
341
+ const { retrySyncFailures } = await import("./maintenance-7UBKZOR3.js");
361
342
  await retrySyncFailures(options);
362
- } catch (err) {
363
- handleError(err);
343
+ } catch (error) {
344
+ handleError(error);
364
345
  }
365
346
  });
366
347
  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(
367
348
  async (options) => {
368
349
  try {
369
- const { listAdminJobs } = await import("./jobs-ROJFRPMR.js");
350
+ const { listAdminJobs } = await import("./jobs-HUW6Z6A7.js");
370
351
  await listAdminJobs(options);
371
- } catch (err) {
372
- handleError(err);
352
+ } catch (error) {
353
+ handleError(error);
373
354
  }
374
355
  }
375
356
  );
376
357
  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) => {
377
358
  try {
378
- const { retryAdminJob } = await import("./jobs-ROJFRPMR.js");
359
+ const { retryAdminJob } = await import("./jobs-HUW6Z6A7.js");
379
360
  await retryAdminJob(id, options);
380
- } catch (err) {
381
- handleError(err);
361
+ } catch (error) {
362
+ handleError(error);
382
363
  }
383
364
  });
384
365
  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) => {
385
366
  try {
386
- const { deleteAdminJob } = await import("./jobs-ROJFRPMR.js");
367
+ const { deleteAdminJob } = await import("./jobs-HUW6Z6A7.js");
387
368
  await deleteAdminJob(id, options);
388
- } catch (err) {
389
- handleError(err);
369
+ } catch (error) {
370
+ handleError(error);
390
371
  }
391
372
  });
392
373
  var adminQueuesCmd = adminCmd.command("queues").description(CLI_DOCS.adminQueues.description).option("--json", "Output as JSON").addHelpText("after", renderCommandHelp("adminQueues")).action(async (options) => {
393
374
  try {
394
- const { listQueues } = await import("./queues-NR25TGT7.js");
375
+ const { listQueues } = await import("./queues-MTA2RWUP.js");
395
376
  await listQueues(options);
396
- } catch (err) {
397
- handleError(err);
377
+ } catch (error) {
378
+ handleError(error);
398
379
  }
399
380
  });
400
381
  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(
401
382
  async (name, options) => {
402
383
  try {
403
- const { cleanQueue } = await import("./queues-NR25TGT7.js");
384
+ const { cleanQueue } = await import("./queues-MTA2RWUP.js");
404
385
  await cleanQueue(name, options);
405
- } catch (err) {
406
- handleError(err);
386
+ } catch (error) {
387
+ handleError(error);
407
388
  }
408
389
  }
409
390
  );
410
- program.command("delete").description(CLI_DOCS.delete.description).argument("<bucket>", "Bucket name").argument("<key>", "File key").option("--dry-run", "Preview without deleting").addHelpText("after", renderCommandHelp("delete")).action(
411
- async (bucket, key, options) => {
412
- try {
413
- const { deleteFile } = await import("./delete-YEXSMG4I.js");
414
- await deleteFile(bucket, key, options);
415
- } catch (err) {
416
- handleError(err);
417
- }
391
+ program.command("delete").description(CLI_DOCS.delete.description).argument("<bucket>", "Bucket name").argument("<key>", "File key").option("--dry-run", "Preview without deleting").addHelpText("after", renderCommandHelp("delete")).action(async (bucket, key, options) => {
392
+ try {
393
+ const { deleteFile } = await import("./delete-CQJEGLP3.js");
394
+ await deleteFile(bucket, key, options);
395
+ } catch (error) {
396
+ handleError(error);
418
397
  }
419
- );
398
+ });
420
399
  program.command("whoami").description(CLI_DOCS.whoami.description).addHelpText("after", renderCommandHelp("whoami")).action(async () => {
421
400
  try {
422
- const { whoami } = await import("./whoami-TVRKBM74.js");
401
+ const { whoami } = await import("./whoami-WUQDFC5P.js");
423
402
  await whoami();
424
- } catch (err) {
425
- handleError(err);
403
+ } catch (error) {
404
+ handleError(error);
426
405
  }
427
406
  });
428
407
  program.command("open").description(CLI_DOCS.open.description).argument("<bucket>", "Bucket name").addHelpText("after", renderCommandHelp("open")).action(async (bucket) => {
429
408
  try {
430
409
  const { openBucket } = await import("./open-F73Q2OHD.js");
431
410
  await openBucket(bucket);
432
- } catch (err) {
433
- handleError(err);
411
+ } catch (error) {
412
+ handleError(error);
434
413
  }
435
414
  });
436
415
  program.command("describe").argument("[command]", "Command path (dot notation, e.g. search.text)").description("Show command schema for AI agents").action(async (command) => {
437
416
  try {
438
- const { describeCommand } = await import("./describe-HSEHMJVD.js");
417
+ const { describeCommand } = await import("./describe-TGIXQHN6.js");
439
418
  describeCommand(command ?? "");
440
- } catch (err) {
441
- handleError(err);
419
+ } catch (error) {
420
+ handleError(error);
442
421
  }
443
422
  });
444
423
  program.command("mcp").description("Start MCP stdio server for AI agent integration").action(async () => {
445
424
  try {
446
- const { startMcpServer } = await import("./mcp-RZT4TJEX.js");
425
+ const { startMcpServer } = await import("./mcp-TUZZB2C7.js");
447
426
  await startMcpServer();
448
- } catch (err) {
449
- handleError(err);
427
+ } catch (error) {
428
+ handleError(error);
450
429
  }
451
430
  });
452
431
  program.option("-i, --interactive", CLI_DOCS.interactive.description).addHelpText("after", renderCommandHelp("interactive"));
@@ -454,5 +433,10 @@ program.parse();
454
433
  var opts = program.opts();
455
434
  var args = process.argv.slice(2);
456
435
  if (args.length === 0 || args.length === 1 && opts.interactive) {
457
- import("./app-Q6EW7VSM.js").then(({ startInteractive }) => startInteractive()).catch(handleError);
436
+ try {
437
+ const { startInteractive } = await import("./app-ZIHTOHXL.js");
438
+ await startInteractive();
439
+ } catch (error) {
440
+ handleError(error);
441
+ }
458
442
  }