@w6w/cli 0.9.16 → 0.9.23
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 +3 -0
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -1
- package/dist/src/args.d.ts +8 -1
- package/dist/src/args.d.ts.map +1 -1
- package/dist/src/args.js +15 -3
- package/dist/src/args.js.map +1 -1
- package/dist/src/commands/agents-studio.d.ts +24 -0
- package/dist/src/commands/agents-studio.d.ts.map +1 -0
- package/dist/src/commands/agents-studio.js +431 -0
- package/dist/src/commands/agents-studio.js.map +1 -0
- package/dist/src/commands/assets.d.ts +47 -0
- package/dist/src/commands/assets.d.ts.map +1 -0
- package/dist/src/commands/assets.js +412 -0
- package/dist/src/commands/assets.js.map +1 -0
- package/dist/src/commands/config.d.ts +21 -0
- package/dist/src/commands/config.d.ts.map +1 -0
- package/dist/src/commands/config.js +73 -0
- package/dist/src/commands/config.js.map +1 -0
- package/dist/src/commands/connections.d.ts +1 -1
- package/dist/src/commands/connections.d.ts.map +1 -1
- package/dist/src/commands/connections.js +27 -2
- package/dist/src/commands/connections.js.map +1 -1
- package/dist/src/commands/index.d.ts +5 -0
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +15 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/ls.d.ts +21 -0
- package/dist/src/commands/ls.d.ts.map +1 -0
- package/dist/src/commands/ls.js +53 -0
- package/dist/src/commands/ls.js.map +1 -0
- package/dist/src/commands/models.d.ts +16 -0
- package/dist/src/commands/models.d.ts.map +1 -0
- package/dist/src/commands/models.js +126 -0
- package/dist/src/commands/models.js.map +1 -0
- package/dist/src/commands/vars.d.ts.map +1 -1
- package/dist/src/commands/vars.js +2 -2
- package/dist/src/commands/vars.js.map +1 -1
- package/dist/src/help.generated.d.ts.map +1 -1
- package/dist/src/help.generated.js +2549 -51
- package/dist/src/help.generated.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-studio.js","sourceRoot":"","sources":["../../../src/commands/agents-studio.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `w6w assets …` — uploads and assets at the command line.
|
|
3
|
+
*
|
|
4
|
+
* Two layers, one file:
|
|
5
|
+
*
|
|
6
|
+
* - **One SDK call each** for every contract operation (`upload-create`,
|
|
7
|
+
* `upload-put`, `upload-finalize`, `upload-status`, `upload-abort`, `get`,
|
|
8
|
+
* `versions`, `files`, `content`, `archive-download`, `archive`, `purge`).
|
|
9
|
+
* - **`assets upload <dir|zip>`**, the one command that is a workflow rather than
|
|
10
|
+
* a call: walk a directory, hash every file, reserve the upload, send each
|
|
11
|
+
* entry's bytes, finalize.
|
|
12
|
+
*
|
|
13
|
+
* ── The upload's three rules ──
|
|
14
|
+
*
|
|
15
|
+
* 1. **A symlink aborts the whole upload before the first request.** The server
|
|
16
|
+
* rejects links in a package; refusing here too means nothing is reserved, and
|
|
17
|
+
* nothing is left half-sent, for a tree the host would refuse anyway. Links are
|
|
18
|
+
* never followed — a link out of the tree must not read the file it points at.
|
|
19
|
+
* 2. **Each file is read once, and the digest is of the bytes that are sent.** The
|
|
20
|
+
* reserve call declares every sha256 before any byte moves, so the bytes are
|
|
21
|
+
* held between hashing and sending rather than re-read: a file edited in
|
|
22
|
+
* between cannot send content that disagrees with its declaration.
|
|
23
|
+
* 3. **`--retry` resumes, it never re-sends what arrived.** The reserve call is
|
|
24
|
+
* replayed under a key derived from the manifest (same tree ⇒ same upload), the
|
|
25
|
+
* upload is read back with `GET /asset-uploads/:id`, and every entry already
|
|
26
|
+
* `received` is skipped. Without `--retry` the key is random, so a second run
|
|
27
|
+
* is a new upload and never silently resumes an old one.
|
|
28
|
+
*
|
|
29
|
+
* Progress goes to **stderr**, one line per entry, so `--json` on stdout stays one
|
|
30
|
+
* parseable document. A uniform `404 not_found` is an ordinary `ApiError`, which
|
|
31
|
+
* `main()` reports on one line with exit `2`; nothing here prints a stack trace.
|
|
32
|
+
*
|
|
33
|
+
* @module
|
|
34
|
+
*/
|
|
35
|
+
import type { CommandRegistry } from "../../mod.ts";
|
|
36
|
+
/** Writes raw bytes to stdout. */
|
|
37
|
+
type StdoutBytes = (bytes: Uint8Array) => Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Replace the raw-stdout writer — the test suite's seam, mirroring the injectable
|
|
40
|
+
* `io` every other command writes through (text goes through `Output`, which has
|
|
41
|
+
* no byte channel). Returns a function that restores the previous writer.
|
|
42
|
+
*/
|
|
43
|
+
export declare function useStdoutBytes(writer: StdoutBytes): () => void;
|
|
44
|
+
/** The `assets` commands, keyed by canonical command path. */
|
|
45
|
+
export declare const ASSET_COMMANDS: CommandRegistry;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/commands/assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAkC,eAAe,EAAE,MAAM,cAAc,CAAC;AAyCpF,kCAAkC;AAClC,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAuBxD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,CAM9D;AAkYD,8DAA8D;AAC9D,eAAO,MAAM,cAAc,EAAE,eAc5B,CAAC"}
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `w6w assets …` — uploads and assets at the command line.
|
|
3
|
+
*
|
|
4
|
+
* Two layers, one file:
|
|
5
|
+
*
|
|
6
|
+
* - **One SDK call each** for every contract operation (`upload-create`,
|
|
7
|
+
* `upload-put`, `upload-finalize`, `upload-status`, `upload-abort`, `get`,
|
|
8
|
+
* `versions`, `files`, `content`, `archive-download`, `archive`, `purge`).
|
|
9
|
+
* - **`assets upload <dir|zip>`**, the one command that is a workflow rather than
|
|
10
|
+
* a call: walk a directory, hash every file, reserve the upload, send each
|
|
11
|
+
* entry's bytes, finalize.
|
|
12
|
+
*
|
|
13
|
+
* ── The upload's three rules ──
|
|
14
|
+
*
|
|
15
|
+
* 1. **A symlink aborts the whole upload before the first request.** The server
|
|
16
|
+
* rejects links in a package; refusing here too means nothing is reserved, and
|
|
17
|
+
* nothing is left half-sent, for a tree the host would refuse anyway. Links are
|
|
18
|
+
* never followed — a link out of the tree must not read the file it points at.
|
|
19
|
+
* 2. **Each file is read once, and the digest is of the bytes that are sent.** The
|
|
20
|
+
* reserve call declares every sha256 before any byte moves, so the bytes are
|
|
21
|
+
* held between hashing and sending rather than re-read: a file edited in
|
|
22
|
+
* between cannot send content that disagrees with its declaration.
|
|
23
|
+
* 3. **`--retry` resumes, it never re-sends what arrived.** The reserve call is
|
|
24
|
+
* replayed under a key derived from the manifest (same tree ⇒ same upload), the
|
|
25
|
+
* upload is read back with `GET /asset-uploads/:id`, and every entry already
|
|
26
|
+
* `received` is skipped. Without `--retry` the key is random, so a second run
|
|
27
|
+
* is a new upload and never silently resumes an old one.
|
|
28
|
+
*
|
|
29
|
+
* Progress goes to **stderr**, one line per entry, so `--json` on stdout stays one
|
|
30
|
+
* parseable document. A uniform `404 not_found` is an ordinary `ApiError`, which
|
|
31
|
+
* `main()` reports on one line with exit `2`; nothing here prints a stack trace.
|
|
32
|
+
*
|
|
33
|
+
* @module
|
|
34
|
+
*/
|
|
35
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
36
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
37
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
38
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return path;
|
|
42
|
+
};
|
|
43
|
+
import { argument, noExtraArguments, requiredFlag, table, textFlag, usageError } from "./shared.js";
|
|
44
|
+
let fsPromise;
|
|
45
|
+
/** `node:fs/promises`, imported by variable so the npm build does not need Deno types. */
|
|
46
|
+
function fs() {
|
|
47
|
+
const specifier = "node:fs/promises";
|
|
48
|
+
fsPromise ??= import(__rewriteRelativeImportExtension(specifier));
|
|
49
|
+
return fsPromise;
|
|
50
|
+
}
|
|
51
|
+
const hostStdout = async (bytes) => {
|
|
52
|
+
const host = globalThis;
|
|
53
|
+
if (host.Deno) {
|
|
54
|
+
let offset = 0;
|
|
55
|
+
while (offset < bytes.length)
|
|
56
|
+
offset += await host.Deno.stdout.write(bytes.subarray(offset));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const proc = host.process;
|
|
60
|
+
if (!proc)
|
|
61
|
+
throw new Error("no standard output is available to write bytes to.");
|
|
62
|
+
await new Promise((resolve, reject) => proc.stdout.write(bytes, (error) => error ? reject(error) : resolve()));
|
|
63
|
+
};
|
|
64
|
+
let stdoutBytes = hostStdout;
|
|
65
|
+
/**
|
|
66
|
+
* Replace the raw-stdout writer — the test suite's seam, mirroring the injectable
|
|
67
|
+
* `io` every other command writes through (text goes through `Output`, which has
|
|
68
|
+
* no byte channel). Returns a function that restores the previous writer.
|
|
69
|
+
*/
|
|
70
|
+
export function useStdoutBytes(writer) {
|
|
71
|
+
const previous = stdoutBytes;
|
|
72
|
+
stdoutBytes = writer;
|
|
73
|
+
return () => {
|
|
74
|
+
stdoutBytes = previous;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** Lowercase hex sha256 of exactly these bytes. */
|
|
78
|
+
async function sha256Hex(bytes) {
|
|
79
|
+
const digest = await crypto.subtle.digest("SHA-256", bytes);
|
|
80
|
+
return Array.from(new Uint8Array(digest), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
81
|
+
}
|
|
82
|
+
function joinPath(base, name) {
|
|
83
|
+
return base.endsWith("/") || base.endsWith("\\") ? `${base}${name}` : `${base}/${name}`;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* List every file under `root` as `/`-separated relative paths, sorted.
|
|
87
|
+
*
|
|
88
|
+
* Symlinks (and anything that is neither a file nor a directory) are collected
|
|
89
|
+
* rather than followed or skipped: the caller refuses the whole upload if any
|
|
90
|
+
* exist.
|
|
91
|
+
*/
|
|
92
|
+
async function walk(root) {
|
|
93
|
+
const host = await fs();
|
|
94
|
+
const files = [];
|
|
95
|
+
const refused = [];
|
|
96
|
+
const visit = async (dir, prefix) => {
|
|
97
|
+
for (const entry of await host.readdir(dir, { withFileTypes: true })) {
|
|
98
|
+
const relative = prefix === "" ? entry.name : `${prefix}/${entry.name}`;
|
|
99
|
+
if (entry.isSymbolicLink())
|
|
100
|
+
refused.push(relative);
|
|
101
|
+
else if (entry.isDirectory())
|
|
102
|
+
await visit(joinPath(dir, entry.name), relative);
|
|
103
|
+
else if (entry.isFile())
|
|
104
|
+
files.push(relative);
|
|
105
|
+
else
|
|
106
|
+
refused.push(relative);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
await visit(root, "");
|
|
110
|
+
files.sort();
|
|
111
|
+
refused.sort();
|
|
112
|
+
return { files, refused };
|
|
113
|
+
}
|
|
114
|
+
/** The basename of a path, either separator. */
|
|
115
|
+
function basename(path) {
|
|
116
|
+
const parts = path.split(/[\\/]/).filter((part) => part.length > 0);
|
|
117
|
+
return parts[parts.length - 1] ?? path;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Resolve what `assets upload` was pointed at into the entries to send.
|
|
121
|
+
*
|
|
122
|
+
* Makes **no API request** — every refusal (a symlink, an empty tree, a missing
|
|
123
|
+
* path) happens here, before the client is even built.
|
|
124
|
+
*/
|
|
125
|
+
async function collect(context, target) {
|
|
126
|
+
const host = await fs();
|
|
127
|
+
let stat;
|
|
128
|
+
try {
|
|
129
|
+
stat = await host.lstat(target);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
throw usageError(context, `\`${target}\` does not exist.`);
|
|
133
|
+
}
|
|
134
|
+
if (stat.isSymbolicLink()) {
|
|
135
|
+
throw usageError(context, `\`${target}\` is a symlink. Links are never followed; point at the real path.`);
|
|
136
|
+
}
|
|
137
|
+
if (!stat.isDirectory()) {
|
|
138
|
+
if (!/\.zip$/i.test(target)) {
|
|
139
|
+
throw usageError(context, `\`${target}\` must be a directory or a .zip file.`);
|
|
140
|
+
}
|
|
141
|
+
const bytes = await host.readFile(target);
|
|
142
|
+
return {
|
|
143
|
+
archive: true,
|
|
144
|
+
entries: [{ path: basename(target), bytes, sha256: await sha256Hex(bytes) }],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const { files, refused } = await walk(target);
|
|
148
|
+
if (refused.length > 0) {
|
|
149
|
+
throw usageError(context, `Refusing to upload: \`${target}\` contains ${refused.length} symlink(s) or special ` +
|
|
150
|
+
`file(s), which are never followed:\n${refused.map((p) => ` ${p}`).join("\n")}\n` +
|
|
151
|
+
`No request was made.`);
|
|
152
|
+
}
|
|
153
|
+
if (files.length === 0)
|
|
154
|
+
throw usageError(context, `\`${target}\` has no files to upload.`);
|
|
155
|
+
const entries = [];
|
|
156
|
+
for (const path of files) {
|
|
157
|
+
const bytes = await host.readFile(joinPath(target, path));
|
|
158
|
+
entries.push({ path, bytes, sha256: await sha256Hex(bytes) });
|
|
159
|
+
}
|
|
160
|
+
return { entries, archive: false };
|
|
161
|
+
}
|
|
162
|
+
/** A key that is the same for the same manifest — what makes `--retry` a replay. */
|
|
163
|
+
async function manifestKey(input, archive) {
|
|
164
|
+
const manifest = JSON.stringify({
|
|
165
|
+
purpose: input.purpose,
|
|
166
|
+
target: input.target ?? null,
|
|
167
|
+
archive,
|
|
168
|
+
entries: input.entries.map((e) => [e.path, e.sizeBytes, e.sha256]),
|
|
169
|
+
});
|
|
170
|
+
return `cli-${await sha256Hex(new TextEncoder().encode(manifest))}`;
|
|
171
|
+
}
|
|
172
|
+
// ---------------------------------------------------------------------------
|
|
173
|
+
// `assets upload`.
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
const upload = async (context) => {
|
|
176
|
+
const target = argument(context, 0, "a directory or .zip file to upload");
|
|
177
|
+
noExtraArguments(context, 1);
|
|
178
|
+
const purpose = requiredFlag(context, "purpose", "--purpose skill|context");
|
|
179
|
+
if (purpose !== "skill" && purpose !== "context") {
|
|
180
|
+
throw usageError(context, "`--purpose` must be `skill` or `context`.");
|
|
181
|
+
}
|
|
182
|
+
const skill = textFlag(context, "skill");
|
|
183
|
+
const collection = textFlag(context, "collection");
|
|
184
|
+
if (skill !== undefined && collection !== undefined) {
|
|
185
|
+
throw usageError(context, "`--skill` and `--collection` cannot be combined.");
|
|
186
|
+
}
|
|
187
|
+
if (skill !== undefined && purpose !== "skill") {
|
|
188
|
+
throw usageError(context, "`--skill` only applies to `--purpose skill`.");
|
|
189
|
+
}
|
|
190
|
+
if (collection !== undefined && purpose !== "context") {
|
|
191
|
+
throw usageError(context, "`--collection` only applies to `--purpose context`.");
|
|
192
|
+
}
|
|
193
|
+
const visibility = textFlag(context, "visibility");
|
|
194
|
+
if (visibility !== undefined && purpose !== "context") {
|
|
195
|
+
throw usageError(context, "`--visibility` only applies to `--purpose context`.");
|
|
196
|
+
}
|
|
197
|
+
const retry = context.invocation.options.retry === true;
|
|
198
|
+
// Everything that can refuse does so here — before a client exists, so before a request.
|
|
199
|
+
const { entries, archive } = await collect(context, target);
|
|
200
|
+
const input = {
|
|
201
|
+
purpose: purpose,
|
|
202
|
+
idempotencyKey: "",
|
|
203
|
+
entries: entries.map((e) => ({
|
|
204
|
+
path: e.path,
|
|
205
|
+
sizeBytes: e.bytes.length,
|
|
206
|
+
sha256: e.sha256,
|
|
207
|
+
})),
|
|
208
|
+
name: basename(target.replace(/\.zip$/i, "")),
|
|
209
|
+
...(visibility !== undefined
|
|
210
|
+
? { visibility: visibility }
|
|
211
|
+
: {}),
|
|
212
|
+
...(skill !== undefined
|
|
213
|
+
? { target: { skillId: skill } }
|
|
214
|
+
: collection !== undefined
|
|
215
|
+
? { target: { collectionId: collection } }
|
|
216
|
+
: {}),
|
|
217
|
+
};
|
|
218
|
+
input.idempotencyKey = retry ? await manifestKey(input, archive) : crypto.randomUUID();
|
|
219
|
+
const uploads = context.client().assets.uploads;
|
|
220
|
+
// `archive` is the server's own field for a single-ZIP upload; the SDK type predates it.
|
|
221
|
+
const created = await uploads.create(archive ? { ...input, archive: true } : input);
|
|
222
|
+
const id = created.upload.id;
|
|
223
|
+
const status = retry ? await uploads.get(id) : created;
|
|
224
|
+
const pending = status.entries.filter((e) => e.state !== "received");
|
|
225
|
+
const skipped = status.entries.length - pending.length;
|
|
226
|
+
context.out.error(`upload ${id}: ${entries.length} file(s)` +
|
|
227
|
+
(skipped > 0 ? `, ${skipped} already received` : ""));
|
|
228
|
+
let sent = 0;
|
|
229
|
+
for (const entry of pending) {
|
|
230
|
+
const local = entries[entry.index];
|
|
231
|
+
if (!local || local.path !== entry.path || local.sha256 !== entry.sha256) {
|
|
232
|
+
throw new Error(`upload ${id} entry ${entry.index} (${entry.path}) does not match the local files; ` +
|
|
233
|
+
`the tree changed since it was reserved. Run again without --retry.`);
|
|
234
|
+
}
|
|
235
|
+
sent += 1;
|
|
236
|
+
context.out.error(`[${sent}/${pending.length}] ${entry.path} (${local.bytes.length} bytes)`);
|
|
237
|
+
await uploads.putEntry(id, entry.index, local.bytes);
|
|
238
|
+
}
|
|
239
|
+
const result = await uploads.finalize(id);
|
|
240
|
+
context.out.emit(result, (styles) => `${styles.green("Published")} asset ${result.assetId} version ${result.version} ` +
|
|
241
|
+
`(${result.readiness})`);
|
|
242
|
+
};
|
|
243
|
+
// ---------------------------------------------------------------------------
|
|
244
|
+
// One SDK call each.
|
|
245
|
+
// ---------------------------------------------------------------------------
|
|
246
|
+
function text(value) {
|
|
247
|
+
return typeof value === "string"
|
|
248
|
+
? value
|
|
249
|
+
: value === undefined || value === null
|
|
250
|
+
? "-"
|
|
251
|
+
: String(value);
|
|
252
|
+
}
|
|
253
|
+
function printJson(context, value) {
|
|
254
|
+
context.out.emit(value, () => JSON.stringify(value, null, 2));
|
|
255
|
+
}
|
|
256
|
+
/** A flag whose value must be a JSON value of the given shape. */
|
|
257
|
+
function jsonFlag(context, name, array) {
|
|
258
|
+
const raw = textFlag(context, name);
|
|
259
|
+
if (raw === undefined)
|
|
260
|
+
return undefined;
|
|
261
|
+
let value;
|
|
262
|
+
try {
|
|
263
|
+
value = JSON.parse(raw);
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
throw usageError(context, `\`--${name}\` must be valid JSON.`);
|
|
267
|
+
}
|
|
268
|
+
if (typeof value !== "object" || value === null || Array.isArray(value) !== array) {
|
|
269
|
+
throw usageError(context, `\`--${name}\` must be a JSON ${array ? "array" : "object"}.`);
|
|
270
|
+
}
|
|
271
|
+
return value;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* `assets upload-create` — the reserve call, one flag per contract parameter.
|
|
275
|
+
* (`assets upload` is the command that builds this from a directory.)
|
|
276
|
+
*/
|
|
277
|
+
const uploadCreate = async (context) => {
|
|
278
|
+
noExtraArguments(context, 0);
|
|
279
|
+
const purpose = requiredFlag(context, "purpose", "--purpose asset|skill|context");
|
|
280
|
+
const idempotencyKey = requiredFlag(context, "idempotencyKey", "--idempotency-key <key>");
|
|
281
|
+
const entries = jsonFlag(context, "entries", true);
|
|
282
|
+
if (entries === undefined)
|
|
283
|
+
throw usageError(context, "needs `--entries <json>`.");
|
|
284
|
+
const input = {
|
|
285
|
+
purpose,
|
|
286
|
+
idempotencyKey,
|
|
287
|
+
entries,
|
|
288
|
+
name: textFlag(context, "name"),
|
|
289
|
+
visibility: textFlag(context, "visibility"),
|
|
290
|
+
assetId: textFlag(context, "assetId"),
|
|
291
|
+
target: jsonFlag(context, "target", false),
|
|
292
|
+
};
|
|
293
|
+
// `undefined` fields drop out of the JSON body: an absent flag sends nothing.
|
|
294
|
+
printJson(context, await context.client().assets.uploads.create(input));
|
|
295
|
+
};
|
|
296
|
+
const uploadPut = async (context) => {
|
|
297
|
+
const id = argument(context, 0, "an upload id");
|
|
298
|
+
const indexText = argument(context, 1, "an entry index");
|
|
299
|
+
noExtraArguments(context, 2);
|
|
300
|
+
if (!/^[0-9]+$/.test(indexText))
|
|
301
|
+
throw usageError(context, "The entry index must be an integer.");
|
|
302
|
+
const file = requiredFlag(context, "file", "--file <path>");
|
|
303
|
+
let bytes;
|
|
304
|
+
try {
|
|
305
|
+
bytes = await (await fs()).readFile(file);
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
throw usageError(context, `Cannot read \`${file}\`.`);
|
|
309
|
+
}
|
|
310
|
+
printJson(context, await context.client().assets.uploads.putEntry(id, Number(indexText), bytes));
|
|
311
|
+
};
|
|
312
|
+
const uploadFinalize = async (context) => {
|
|
313
|
+
const id = argument(context, 0, "an upload id");
|
|
314
|
+
noExtraArguments(context, 1);
|
|
315
|
+
printJson(context, await context.client().assets.uploads.finalize(id));
|
|
316
|
+
};
|
|
317
|
+
const uploadStatus = async (context) => {
|
|
318
|
+
const id = argument(context, 0, "an upload id");
|
|
319
|
+
noExtraArguments(context, 1);
|
|
320
|
+
const status = await context.client().assets.uploads.get(id);
|
|
321
|
+
context.out.emit(status, (styles) => [
|
|
322
|
+
`${status.upload.id} ${status.upload.status}`,
|
|
323
|
+
table(["INDEX", "STATE", "PATH"], status.entries.map((e) => [String(e.index), e.state, e.path]), styles),
|
|
324
|
+
].join("\n"));
|
|
325
|
+
};
|
|
326
|
+
const uploadAbort = async (context) => {
|
|
327
|
+
const id = argument(context, 0, "an upload id");
|
|
328
|
+
noExtraArguments(context, 1);
|
|
329
|
+
printJson(context, await context.client().assets.uploads.abort(id));
|
|
330
|
+
};
|
|
331
|
+
const getAsset = async (context) => {
|
|
332
|
+
const id = argument(context, 0, "an asset id");
|
|
333
|
+
noExtraArguments(context, 1);
|
|
334
|
+
const asset = await context.client().assets.get(id);
|
|
335
|
+
printJson(context, asset);
|
|
336
|
+
};
|
|
337
|
+
const versions = async (context) => {
|
|
338
|
+
const id = argument(context, 0, "an asset id");
|
|
339
|
+
noExtraArguments(context, 1);
|
|
340
|
+
const list = await context.client().assets.versions(id);
|
|
341
|
+
context.out.emit(list, (styles) => {
|
|
342
|
+
if (list.length === 0)
|
|
343
|
+
return styles.dim("No versions.");
|
|
344
|
+
return table(["VERSION", "ID", "READINESS"], list.map((v) => [text(v.version), v.id, text(v.readiness)]), styles);
|
|
345
|
+
});
|
|
346
|
+
};
|
|
347
|
+
const files = async (context) => {
|
|
348
|
+
const id = argument(context, 0, "an asset id");
|
|
349
|
+
const versionId = argument(context, 1, "a version id (see: `w6w assets versions`)");
|
|
350
|
+
noExtraArguments(context, 2);
|
|
351
|
+
const listing = await context.client().assets.files(id, versionId);
|
|
352
|
+
context.out.emit(listing, (styles) => {
|
|
353
|
+
if (listing.files.length === 0)
|
|
354
|
+
return styles.dim("No files.");
|
|
355
|
+
return table(["ID", "SIZE", "PATH"], listing.files.map((f) => [f.id, text(f.sizeBytes), f.path]), styles);
|
|
356
|
+
});
|
|
357
|
+
};
|
|
358
|
+
/** Write downloaded bytes to `--out`, or to stdout when it is absent. */
|
|
359
|
+
async function deliver(context, bytes) {
|
|
360
|
+
const out = textFlag(context, "out");
|
|
361
|
+
if (out === undefined) {
|
|
362
|
+
await stdoutBytes(bytes);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
try {
|
|
366
|
+
await (await fs()).writeFile(out, bytes);
|
|
367
|
+
}
|
|
368
|
+
catch {
|
|
369
|
+
throw usageError(context, `Cannot write \`${out}\`.`);
|
|
370
|
+
}
|
|
371
|
+
context.out.emit({ path: out, bytes: bytes.length }, () => `Wrote ${bytes.length} bytes to ${out}`);
|
|
372
|
+
}
|
|
373
|
+
const content = async (context) => {
|
|
374
|
+
const id = argument(context, 0, "an asset id");
|
|
375
|
+
const versionId = argument(context, 1, "a version id");
|
|
376
|
+
const fileId = argument(context, 2, "a file id (see: `w6w assets files`)");
|
|
377
|
+
noExtraArguments(context, 3);
|
|
378
|
+
await deliver(context, await context.client().assets.content(id, versionId, fileId));
|
|
379
|
+
};
|
|
380
|
+
const archiveDownload = async (context) => {
|
|
381
|
+
const id = argument(context, 0, "an asset id");
|
|
382
|
+
const versionId = argument(context, 1, "a version id");
|
|
383
|
+
noExtraArguments(context, 2);
|
|
384
|
+
await deliver(context, await context.client().assets.archiveDownload(id, versionId));
|
|
385
|
+
};
|
|
386
|
+
const archiveAsset = async (context) => {
|
|
387
|
+
const id = argument(context, 0, "an asset id");
|
|
388
|
+
noExtraArguments(context, 1);
|
|
389
|
+
printJson(context, await context.client().assets.archive(id));
|
|
390
|
+
};
|
|
391
|
+
const purge = async (context) => {
|
|
392
|
+
const id = argument(context, 0, "an asset id");
|
|
393
|
+
noExtraArguments(context, 1);
|
|
394
|
+
printJson(context, await context.client().assets.purge(id));
|
|
395
|
+
};
|
|
396
|
+
/** The `assets` commands, keyed by canonical command path. */
|
|
397
|
+
export const ASSET_COMMANDS = {
|
|
398
|
+
"assets upload": upload,
|
|
399
|
+
"assets upload-create": uploadCreate,
|
|
400
|
+
"assets upload-put": uploadPut,
|
|
401
|
+
"assets upload-finalize": uploadFinalize,
|
|
402
|
+
"assets upload-status": uploadStatus,
|
|
403
|
+
"assets upload-abort": uploadAbort,
|
|
404
|
+
"assets get": getAsset,
|
|
405
|
+
"assets versions": versions,
|
|
406
|
+
"assets files": files,
|
|
407
|
+
"assets content": content,
|
|
408
|
+
"assets archive-download": archiveDownload,
|
|
409
|
+
"assets archive": archiveAsset,
|
|
410
|
+
"assets purge": purge,
|
|
411
|
+
};
|
|
412
|
+
//# sourceMappingURL=assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/commands/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `w6w config get-base-url | set-base-url <url>` — the stored API base URL.
|
|
3
|
+
*
|
|
4
|
+
* Declared in `endpoints.json` `cli.commands[]` (CLI-only: no API operation sits
|
|
5
|
+
* behind them). Neither touches the network, and neither ever prints a token.
|
|
6
|
+
*
|
|
7
|
+
* Both resolve the URL through the one resolver in `src/client.ts`
|
|
8
|
+
* ({@linkcode resolveSettings}), so `get-base-url` reports exactly what the next
|
|
9
|
+
* command will use, and `set-base-url` stores exactly the canonical form that
|
|
10
|
+
* resolver produces (and that `hosts` is keyed by).
|
|
11
|
+
*
|
|
12
|
+
* `set-base-url` rewrites only `baseUrl`. It never copies, moves or re-keys a
|
|
13
|
+
* token: a token saved for host A is never sent to host B, so after switching
|
|
14
|
+
* hosts the new one needs its own `w6w auth login`.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import type { CommandRegistry } from "../../mod.ts";
|
|
19
|
+
/** The two `w6w config` commands. */
|
|
20
|
+
export declare const CONFIG_COMMANDS: CommandRegistry;
|
|
21
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,cAAc,CAAC;AAkEpE,qCAAqC;AACrC,eAAO,MAAM,eAAe,EAAE,eAG7B,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `w6w config get-base-url | set-base-url <url>` — the stored API base URL.
|
|
3
|
+
*
|
|
4
|
+
* Declared in `endpoints.json` `cli.commands[]` (CLI-only: no API operation sits
|
|
5
|
+
* behind them). Neither touches the network, and neither ever prints a token.
|
|
6
|
+
*
|
|
7
|
+
* Both resolve the URL through the one resolver in `src/client.ts`
|
|
8
|
+
* ({@linkcode resolveSettings}), so `get-base-url` reports exactly what the next
|
|
9
|
+
* command will use, and `set-base-url` stores exactly the canonical form that
|
|
10
|
+
* resolver produces (and that `hosts` is keyed by).
|
|
11
|
+
*
|
|
12
|
+
* `set-base-url` rewrites only `baseUrl`. It never copies, moves or re-keys a
|
|
13
|
+
* token: a token saved for host A is never sent to host B, so after switching
|
|
14
|
+
* hosts the new one needs its own `w6w auth login`.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { joinBaseUrl } from "@w6w/sdk";
|
|
19
|
+
import { ENV_BASE_URL, ENV_TOKEN, envValue, resolveSettings } from "../client.js";
|
|
20
|
+
import { serializeConfig } from "../config-store.js";
|
|
21
|
+
import { argument, noExtraArguments } from "./shared.js";
|
|
22
|
+
const getBaseUrl = (context) => {
|
|
23
|
+
noExtraArguments(context, 0);
|
|
24
|
+
// The token sources are irrelevant here; hide them so a bad token never blocks a read.
|
|
25
|
+
const settings = resolveSettings({ ...context.invocation.globals, token: undefined }, (name) => (name === ENV_TOKEN ? undefined : context.env(name)), context.stored);
|
|
26
|
+
const configBaseUrl = context.stored.baseUrl.trim().length > 0
|
|
27
|
+
? context.stored.baseUrl
|
|
28
|
+
: undefined;
|
|
29
|
+
const payload = {
|
|
30
|
+
baseUrl: settings.baseUrl,
|
|
31
|
+
baseUrlSource: settings.baseUrlSource,
|
|
32
|
+
...(configBaseUrl === undefined ? {} : { configBaseUrl }),
|
|
33
|
+
configPath: context.store.path ?? null,
|
|
34
|
+
};
|
|
35
|
+
context.out.emit(payload, () => `${payload.baseUrl} (${payload.baseUrlSource})`);
|
|
36
|
+
};
|
|
37
|
+
const setBaseUrl = async (context) => {
|
|
38
|
+
const raw = argument(context, 0, "a base URL, like `https://api.example.com`");
|
|
39
|
+
noExtraArguments(context, 1);
|
|
40
|
+
// Validate and canonicalise with the one resolver: the positional stands in for the flag.
|
|
41
|
+
const { baseUrl } = resolveSettings({
|
|
42
|
+
...context.invocation.globals,
|
|
43
|
+
baseUrl: raw,
|
|
44
|
+
token: undefined,
|
|
45
|
+
});
|
|
46
|
+
const path = context.store.path;
|
|
47
|
+
if (path === undefined) {
|
|
48
|
+
throw new Error("w6w cannot tell where to keep its config: neither XDG_CONFIG_HOME (an absolute path) " +
|
|
49
|
+
"nor HOME is set. Nothing was saved.");
|
|
50
|
+
}
|
|
51
|
+
await context.store.write(serializeConfig({ version: 1, baseUrl, hosts: context.stored.hosts }));
|
|
52
|
+
context.out.emit({ baseUrl, configPath: path }, () => `Saved ${baseUrl} as the base URL in ${path}.`);
|
|
53
|
+
const fromEnv = envValue(context.env, ENV_BASE_URL);
|
|
54
|
+
if (fromEnv !== undefined) {
|
|
55
|
+
let envCanonical;
|
|
56
|
+
try {
|
|
57
|
+
envCanonical = joinBaseUrl(fromEnv.trim());
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
envCanonical = fromEnv;
|
|
61
|
+
}
|
|
62
|
+
if (envCanonical !== baseUrl) {
|
|
63
|
+
// stderr, so `--json` stdout stays one parseable document.
|
|
64
|
+
context.out.error(`${ENV_BASE_URL} is set to ${fromEnv} and still takes precedence over the saved base URL.`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
/** The two `w6w config` commands. */
|
|
69
|
+
export const CONFIG_COMMANDS = {
|
|
70
|
+
"config get-base-url": getBaseUrl,
|
|
71
|
+
"config set-base-url": setBaseUrl,
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"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"}
|