@skillcdn/console 0.1.1 → 0.1.3
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 +15 -10
- package/dist/api.d.ts +6 -5
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +5 -4
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts +3 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +251 -44
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/directory.d.ts +14 -0
- package/dist/cli/directory.d.ts.map +1 -0
- package/dist/cli/directory.js +46 -0
- package/dist/cli/directory.js.map +1 -0
- package/dist/cli/format.d.ts +15 -3
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +84 -6
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +78 -9
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +2 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/client.d.ts +69 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +71 -33
- package/dist/client.js.map +1 -1
- package/dist/components/decision-list.d.ts +7 -1
- package/dist/components/decision-list.d.ts.map +1 -1
- package/dist/components/decision-list.js +21 -4
- package/dist/components/decision-list.js.map +1 -1
- package/dist/components/documents.d.ts +85 -0
- package/dist/components/documents.d.ts.map +1 -0
- package/dist/components/documents.js +103 -0
- package/dist/components/documents.js.map +1 -0
- package/dist/components/event-feed.d.ts.map +1 -1
- package/dist/components/event-feed.js +46 -14
- package/dist/components/event-feed.js.map +1 -1
- package/dist/components/markdown.d.ts +5 -2
- package/dist/components/markdown.d.ts.map +1 -1
- package/dist/components/markdown.js +8 -1
- package/dist/components/markdown.js.map +1 -1
- package/dist/components/projects.d.ts +41 -0
- package/dist/components/projects.d.ts.map +1 -0
- package/dist/components/projects.js +81 -0
- package/dist/components/projects.js.map +1 -0
- package/dist/components/runs.d.ts +5 -2
- package/dist/components/runs.d.ts.map +1 -1
- package/dist/components/runs.js +4 -4
- package/dist/components/runs.js.map +1 -1
- package/dist/components/shell.d.ts +5 -0
- package/dist/components/shell.d.ts.map +1 -1
- package/dist/components/shell.js +1 -1
- package/dist/components/shell.js.map +1 -1
- package/dist/components/task-view.d.ts +9 -1
- package/dist/components/task-view.d.ts.map +1 -1
- package/dist/components/task-view.js +3 -2
- package/dist/components/task-view.js.map +1 -1
- package/dist/console.css +253 -1
- package/dist/console.d.ts +3 -0
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +156 -58
- package/dist/console.js.map +1 -1
- package/dist/data.d.ts +44 -10
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +215 -81
- package/dist/data.js.map +1 -1
- package/dist/docs-page.d.ts +11 -0
- package/dist/docs-page.d.ts.map +1 -0
- package/dist/docs-page.js +146 -0
- package/dist/docs-page.js.map +1 -0
- package/dist/documents.d.ts +19 -0
- package/dist/documents.d.ts.map +1 -0
- package/dist/documents.js +64 -0
- package/dist/documents.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +17 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +17 -0
- package/dist/limits.js.map +1 -1
- package/dist/router.d.ts +28 -7
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +52 -23
- package/dist/router.js.map +1 -1
- package/dist/routes.d.ts +16 -12
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +31 -11
- package/dist/routes.js.map +1 -1
- package/dist/schemas.d.ts +414 -28
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +204 -27
- package/dist/schemas.js.map +1 -1
- package/dist/use-action.d.ts +8 -0
- package/dist/use-action.d.ts.map +1 -0
- package/dist/use-action.js +30 -0
- package/dist/use-action.js.map +1 -0
- package/dist/vocabulary.d.ts +10 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +16 -0
- package/dist/vocabulary.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/cli.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { basename, extname } from "node:path";
|
|
2
2
|
import { parseArgs } from "node:util";
|
|
3
|
-
import { ApiError, createClient } from "../client.js";
|
|
3
|
+
import { ApiError, createClient, } from "../client.js";
|
|
4
4
|
import { MAX_OPTIONS, MIN_OPTIONS } from "../limits.js";
|
|
5
5
|
import { TASK_PRIORITIES, TASK_STATES } from "../vocabulary.js";
|
|
6
|
-
import { formatAnswer, formatDecision, formatDecisionLine, formatOptions, formatRun, formatRunLine, formatSkills, formatTask, formatTaskLine, } from "./format.js";
|
|
6
|
+
import { formatAnswer, formatDecision, formatDecisionLine, formatDocument, formatDocuments, formatOptions, formatProjectLine, formatRun, formatRunLine, formatSkills, formatTask, formatTaskLine, formatVersion, formatVersionLine, } from "./format.js";
|
|
7
7
|
import { COMMAND_HELP, helpFor, usage } from "./help.js";
|
|
8
8
|
// The `console` command (docs/specs/cli.md): the agent's side of the console. A thin client of
|
|
9
9
|
// the REST API with no logic of its own: every command is one or two requests and the words to
|
|
10
10
|
// say what came back. It takes what it needs from `CliIo`, so that tests run it whole, against
|
|
11
|
-
// the app and no socket, with a store and readers of their own.
|
|
11
|
+
// the app and no socket, with a store and readers of their own. The board is a project's: every
|
|
12
|
+
// command on it works in the project the flag, the environment or the working directory names.
|
|
12
13
|
/** The exit codes of the command, for whoever runs it: a shell, a hook, an agent. */
|
|
13
14
|
export const EXIT = {
|
|
14
15
|
ok: 0,
|
|
@@ -38,7 +39,11 @@ class CliExit extends Error {
|
|
|
38
39
|
}
|
|
39
40
|
const failed = (message) => new CliExit(EXIT.failed, message);
|
|
40
41
|
const misuse = (message) => new CliExit(EXIT.usage, message);
|
|
41
|
-
const GLOBAL_OPTIONS = {
|
|
42
|
+
const GLOBAL_OPTIONS = {
|
|
43
|
+
json: { type: "boolean" },
|
|
44
|
+
url: { type: "string" },
|
|
45
|
+
project: { type: "string" },
|
|
46
|
+
};
|
|
42
47
|
function parse(args, options, allowPositionals = true) {
|
|
43
48
|
try {
|
|
44
49
|
return parseArgs({
|
|
@@ -64,6 +69,7 @@ const texts = (values, name) => {
|
|
|
64
69
|
}
|
|
65
70
|
return typeof value === "string" ? [value] : [];
|
|
66
71
|
};
|
|
72
|
+
const NO_PROJECT = "Say which project: --project <key>, CONSOLE_PROJECT in the environment, or console use <key> once in this directory. console projects lists the projects you may work in.";
|
|
67
73
|
/** The console and the token to talk to it with: the flags, the environment, then what login kept. */
|
|
68
74
|
async function open(io, values) {
|
|
69
75
|
const stored = await io.store.load();
|
|
@@ -72,29 +78,39 @@ async function open(io, values) {
|
|
|
72
78
|
if (url === undefined || token === undefined) {
|
|
73
79
|
throw failed("Not signed in. A person signs the command in: console login --url <the console's origin>");
|
|
74
80
|
}
|
|
81
|
+
const client = createClient({ baseUrl: url, token, fetch: io.fetch });
|
|
82
|
+
const projectKey = async () => text(values, "project") ?? io.env.CONSOLE_PROJECT ?? (await io.directory.load())?.project;
|
|
75
83
|
return {
|
|
76
|
-
client
|
|
84
|
+
client,
|
|
77
85
|
url,
|
|
78
86
|
json: on(values, "json"),
|
|
87
|
+
projectKey,
|
|
88
|
+
async project() {
|
|
89
|
+
const key = await projectKey();
|
|
90
|
+
if (key === undefined) {
|
|
91
|
+
throw failed(NO_PROJECT);
|
|
92
|
+
}
|
|
93
|
+
return client.project(key);
|
|
94
|
+
},
|
|
79
95
|
};
|
|
80
96
|
}
|
|
81
97
|
/** Prints what came back: the console's JSON on `--json`, the words otherwise. */
|
|
82
98
|
function answer(io, session, value, words) {
|
|
83
99
|
io.stdout(session.json ? `${JSON.stringify(value, null, 2)}\n` : `${words()}\n`);
|
|
84
100
|
}
|
|
85
|
-
/** The run a command on a run means: the one named, else the one open run of this token. */
|
|
86
|
-
async function currentRun(
|
|
101
|
+
/** The run a command on a run means: the one named, else the one open run of this token in the project. */
|
|
102
|
+
async function currentRun(project, values) {
|
|
87
103
|
const given = text(values, "run");
|
|
88
104
|
if (given !== undefined) {
|
|
89
105
|
return given;
|
|
90
106
|
}
|
|
91
|
-
const { items } = await
|
|
107
|
+
const { items } = await project.runs({ open: true, mine: true });
|
|
92
108
|
const [only] = items;
|
|
93
109
|
if (only !== undefined && items.length === 1) {
|
|
94
110
|
return only.id;
|
|
95
111
|
}
|
|
96
112
|
if (items.length === 0) {
|
|
97
|
-
throw failed("No run of yours is open. Take a task first: console take <number>");
|
|
113
|
+
throw failed("No run of yours is open in this project. Take a task first: console take <number>");
|
|
98
114
|
}
|
|
99
115
|
throw failed(`Several runs of yours are open; say which with --run <id>:\n${items.map((run) => ` ${formatRunLine(run)}`).join("\n")}`);
|
|
100
116
|
}
|
|
@@ -159,7 +175,7 @@ function theOne(positionals, ask) {
|
|
|
159
175
|
* The decision once answered, or as it stands when the wait is over. Each request asks the
|
|
160
176
|
* console to hold it for a while, so the answer arrives as soon as a person gives it.
|
|
161
177
|
*/
|
|
162
|
-
async function waitForAnswer(io,
|
|
178
|
+
async function waitForAnswer(io, project, decision, seconds) {
|
|
163
179
|
const deadline = io.now() + seconds * 1000;
|
|
164
180
|
let current = decision;
|
|
165
181
|
for (;;) {
|
|
@@ -167,7 +183,7 @@ async function waitForAnswer(io, client, decision, seconds) {
|
|
|
167
183
|
if (current.answer !== null || left <= 0) {
|
|
168
184
|
return current;
|
|
169
185
|
}
|
|
170
|
-
current = await
|
|
186
|
+
current = await project.awaitDecision(current.id, Math.max(1, Math.min(Math.ceil(left / 1000), WAIT_STEP_SECONDS)));
|
|
171
187
|
if (current.answer === null) {
|
|
172
188
|
await io.sleep(WAIT_PAUSE_MS);
|
|
173
189
|
}
|
|
@@ -178,9 +194,9 @@ const stillWaiting = (id) => `Decision ${id} still waits for a person; the run w
|
|
|
178
194
|
* Waits for the answer and says what it is, or that it is still to come. On `--json`, a decision
|
|
179
195
|
* printed already as it was raised (`shown`) is printed again only with its answer.
|
|
180
196
|
*/
|
|
181
|
-
async function settle(io, session, decision, seconds, shown = false) {
|
|
197
|
+
async function settle(io, session, project, decision, seconds, shown = false) {
|
|
182
198
|
const outcome = decision.answer === null && seconds > 0
|
|
183
|
-
? await waitForAnswer(io,
|
|
199
|
+
? await waitForAnswer(io, project, decision, seconds)
|
|
184
200
|
: decision;
|
|
185
201
|
if (session.json) {
|
|
186
202
|
if (!shown || outcome.answer !== null) {
|
|
@@ -212,7 +228,7 @@ const login = async (args, io) => {
|
|
|
212
228
|
throw failed("The console does not know this token. Make one on your Tokens page and try again.");
|
|
213
229
|
}
|
|
214
230
|
const kept = await io.store.save({ url, token });
|
|
215
|
-
io.stdout(`Signed in to ${me.workspace.name} at ${url} as ${person.login} (${person.role}). The token is kept in ${kept}.\n`);
|
|
231
|
+
io.stdout(`Signed in to ${me.workspace.name} at ${url} as ${person.login} (${person.role}). The token is kept in ${kept}.\nNext, say which project this directory works in: console use <key> (console projects lists them).\n`);
|
|
216
232
|
return EXIT.ok;
|
|
217
233
|
};
|
|
218
234
|
const logout = async (args, io) => {
|
|
@@ -229,21 +245,42 @@ const whoami = async (args, io) => {
|
|
|
229
245
|
if (person === null) {
|
|
230
246
|
throw failed("The console does not know this token. Sign in again: console login");
|
|
231
247
|
}
|
|
232
|
-
|
|
248
|
+
const key = await session.projectKey();
|
|
249
|
+
answer(io, session, { ...me, project: key ?? null }, () => `${person.login} (${person.role}) at ${me.workspace.name}, ${session.url}${key === undefined ? "; no project named here" : `; project ${key}`}`);
|
|
250
|
+
return EXIT.ok;
|
|
251
|
+
};
|
|
252
|
+
const projects = async (args, io) => {
|
|
253
|
+
const { values } = parse(args, {}, false);
|
|
254
|
+
const session = await open(io, values);
|
|
255
|
+
const found = await session.client.projects();
|
|
256
|
+
answer(io, session, found, () => found.items.length === 0
|
|
257
|
+
? "No projects you may work in. A person makes one on the console's Projects page."
|
|
258
|
+
: found.items.map(formatProjectLine).join("\n"));
|
|
259
|
+
return EXIT.ok;
|
|
260
|
+
};
|
|
261
|
+
const use = async (args, io) => {
|
|
262
|
+
const { values, positionals } = parse(args, {});
|
|
263
|
+
const key = theOne(positionals, "Say which project: console use <key>");
|
|
264
|
+
const session = await open(io, values);
|
|
265
|
+
const project = await session.client.project(key).get();
|
|
266
|
+
const kept = await io.directory.save({ project: project.key });
|
|
267
|
+
answer(io, session, project, () => `Working in ${project.name} (${project.key}) from this directory on: kept in ${kept}, which is meant to be committed.`);
|
|
233
268
|
return EXIT.ok;
|
|
234
269
|
};
|
|
235
270
|
const tasks = async (args, io) => {
|
|
236
271
|
const { values } = parse(args, { state: { type: "string" } }, false);
|
|
237
272
|
const state = stateOf(text(values, "state"));
|
|
238
273
|
const session = await open(io, values);
|
|
239
|
-
const
|
|
274
|
+
const project = await session.project();
|
|
275
|
+
const found = await project.tasks(state === undefined ? {} : { state });
|
|
240
276
|
answer(io, session, found, () => found.items.length === 0 ? "No tasks." : found.items.map(formatTaskLine).join("\n"));
|
|
241
277
|
return EXIT.ok;
|
|
242
278
|
};
|
|
243
279
|
const skills = async (args, io) => {
|
|
244
280
|
const { values } = parse(args, {}, false);
|
|
245
281
|
const session = await open(io, values);
|
|
246
|
-
const
|
|
282
|
+
const project = await session.project();
|
|
283
|
+
const found = await project.skills();
|
|
247
284
|
answer(io, session, found, () => formatSkills(found));
|
|
248
285
|
return EXIT.ok;
|
|
249
286
|
};
|
|
@@ -259,7 +296,8 @@ const newTask = async (args, io) => {
|
|
|
259
296
|
const priority = priorityOf(text(values, "priority"));
|
|
260
297
|
const body = await bodyOf(io, values, text(values, "body"));
|
|
261
298
|
const session = await open(io, values);
|
|
262
|
-
const
|
|
299
|
+
const project = await session.project();
|
|
300
|
+
const made = await project.createTask({
|
|
263
301
|
title,
|
|
264
302
|
...(body === undefined ? {} : { body }),
|
|
265
303
|
...(state === undefined ? {} : { state }),
|
|
@@ -275,10 +313,11 @@ const task = async (args, io) => {
|
|
|
275
313
|
const { values, positionals } = parse(args, {});
|
|
276
314
|
const ref = theOne(positionals, "Say which task: console task <number|id>");
|
|
277
315
|
const session = await open(io, values);
|
|
278
|
-
const
|
|
316
|
+
const project = await session.project();
|
|
317
|
+
const found = await project.task(ref);
|
|
279
318
|
const [decisions, runs] = await Promise.all([
|
|
280
|
-
|
|
281
|
-
|
|
319
|
+
project.decisions({ task: found.id }),
|
|
320
|
+
project.runs({ task: found.id }),
|
|
282
321
|
]);
|
|
283
322
|
answer(io, session, { task: found, decisions: decisions.items, runs: runs.items }, () => formatTask(found, decisions.items, runs.items));
|
|
284
323
|
return EXIT.ok;
|
|
@@ -287,9 +326,10 @@ const take = async (args, io) => {
|
|
|
287
326
|
const { values, positionals } = parse(args, { agent: { type: "string" } });
|
|
288
327
|
const ref = theOne(positionals, "Say which task: console take <number|id>");
|
|
289
328
|
const session = await open(io, values);
|
|
290
|
-
const
|
|
329
|
+
const project = await session.project();
|
|
330
|
+
const found = await project.task(ref);
|
|
291
331
|
const agent = text(values, "agent");
|
|
292
|
-
const run = await
|
|
332
|
+
const run = await project.startRun({
|
|
293
333
|
taskId: found.id,
|
|
294
334
|
...(agent === undefined ? {} : { agent }),
|
|
295
335
|
});
|
|
@@ -316,8 +356,9 @@ const report = async (args, io) => {
|
|
|
316
356
|
throw misuse('Say what to report: console report "<markdown>", or --file <path>, or - to read standard input.');
|
|
317
357
|
}
|
|
318
358
|
const session = await open(io, values);
|
|
319
|
-
const
|
|
320
|
-
const
|
|
359
|
+
const project = await session.project();
|
|
360
|
+
const runId = await currentRun(project, values);
|
|
361
|
+
const run = await project.report(runId, { body });
|
|
321
362
|
answer(io, session, run, () => `Reported on run ${run.id}: ${run.reports.length} report${run.reports.length === 1 ? "" : "s"} so far.`);
|
|
322
363
|
return EXIT.ok;
|
|
323
364
|
};
|
|
@@ -349,11 +390,12 @@ const handIn = async (args, io) => {
|
|
|
349
390
|
const what = theOne(positionals, "Say what to hand in: console hand-in <https url | file path> [--label <words>]");
|
|
350
391
|
const label = text(values, "label");
|
|
351
392
|
const session = await open(io, values);
|
|
352
|
-
const
|
|
393
|
+
const project = await session.project();
|
|
394
|
+
const runId = await currentRun(project, values);
|
|
353
395
|
// A URL is handed in as a link, and the console says whether it takes it; anything else
|
|
354
396
|
// names a file on this machine.
|
|
355
397
|
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(what)) {
|
|
356
|
-
const run = await
|
|
398
|
+
const run = await project.handIn(runId, {
|
|
357
399
|
url: what,
|
|
358
400
|
...(label === undefined ? {} : { label }),
|
|
359
401
|
});
|
|
@@ -369,7 +411,7 @@ const handIn = async (args, io) => {
|
|
|
369
411
|
}
|
|
370
412
|
const name = basename(what);
|
|
371
413
|
const contentType = CONTENT_TYPES[extname(name).toLowerCase()];
|
|
372
|
-
const run = await
|
|
414
|
+
const run = await project.handInFile(runId, {
|
|
373
415
|
name,
|
|
374
416
|
bytes,
|
|
375
417
|
...(contentType === undefined ? {} : { contentType }),
|
|
@@ -394,8 +436,9 @@ const ask = async (args, io) => {
|
|
|
394
436
|
const seconds = secondsOf(text(values, "wait"), DEFAULT_ASK_WAIT_SECONDS);
|
|
395
437
|
const body = await bodyOf(io, values, text(values, "body"));
|
|
396
438
|
const session = await open(io, values);
|
|
397
|
-
const
|
|
398
|
-
const
|
|
439
|
+
const project = await session.project();
|
|
440
|
+
const runId = await currentRun(project, values);
|
|
441
|
+
const raised = await project.raiseDecision({
|
|
399
442
|
question,
|
|
400
443
|
options: options.map((label) => ({ label })),
|
|
401
444
|
runId,
|
|
@@ -405,24 +448,168 @@ const ask = async (args, io) => {
|
|
|
405
448
|
io.stdout(session.json
|
|
406
449
|
? `${JSON.stringify(raised, null, 2)}\n`
|
|
407
450
|
: `Decision ${raised.id} raised on run ${runId}; the run waits for a person.\n${formatOptions(raised)}\n`);
|
|
408
|
-
return settle(io, session, raised, seconds, true);
|
|
451
|
+
return settle(io, session, project, raised, seconds, true);
|
|
409
452
|
};
|
|
410
453
|
const decision = async (args, io) => {
|
|
411
|
-
const { values, positionals } = parse(args, {
|
|
412
|
-
|
|
454
|
+
const { values, positionals } = parse(args, {
|
|
455
|
+
wait: { type: "string" },
|
|
456
|
+
outcome: { type: "string" },
|
|
457
|
+
file: { type: "string" },
|
|
458
|
+
});
|
|
459
|
+
const id = theOne(positionals, "Say which decision: console decision <id> [--wait <seconds>] [--outcome <markdown>|--file <path>]");
|
|
413
460
|
const seconds = secondsOf(text(values, "wait"), 0);
|
|
461
|
+
const outcome = await bodyOf(io, values, text(values, "outcome"));
|
|
414
462
|
const session = await open(io, values);
|
|
415
|
-
const
|
|
463
|
+
const project = await session.project();
|
|
464
|
+
if (outcome !== undefined) {
|
|
465
|
+
// What followed the decision: the record grows, and is printed as it stands.
|
|
466
|
+
const grown = await project.updateDecision(id, { outcome });
|
|
467
|
+
answer(io, session, grown, () => formatDecision(grown));
|
|
468
|
+
return EXIT.ok;
|
|
469
|
+
}
|
|
470
|
+
const found = await project.decision(id);
|
|
416
471
|
if (seconds === 0) {
|
|
417
472
|
answer(io, session, found, () => formatDecision(found));
|
|
418
473
|
return EXIT.ok;
|
|
419
474
|
}
|
|
420
|
-
return settle(io, session, found, seconds);
|
|
475
|
+
return settle(io, session, project, found, seconds);
|
|
476
|
+
};
|
|
477
|
+
const docs = async (args, io) => {
|
|
478
|
+
const { values, positionals } = parse(args, {
|
|
479
|
+
search: { type: "string" },
|
|
480
|
+
archived: { type: "boolean" },
|
|
481
|
+
});
|
|
482
|
+
if (positionals.length > 1) {
|
|
483
|
+
throw misuse("Say one folder: console docs [<folder>] [--search <words>] [--archived]");
|
|
484
|
+
}
|
|
485
|
+
const search = text(values, "search");
|
|
486
|
+
const session = await open(io, values);
|
|
487
|
+
const project = await session.project();
|
|
488
|
+
const found = await project.documents({
|
|
489
|
+
...(positionals[0] === undefined ? {} : { folder: positionals[0] }),
|
|
490
|
+
...(search === undefined ? {} : { q: search }),
|
|
491
|
+
...(on(values, "archived") ? { archived: true } : {}),
|
|
492
|
+
});
|
|
493
|
+
answer(io, session, found, () => formatDocuments(found));
|
|
494
|
+
return EXIT.ok;
|
|
495
|
+
};
|
|
496
|
+
const doc = async (args, io) => {
|
|
497
|
+
const { values, positionals } = parse(args, {
|
|
498
|
+
version: { type: "string" },
|
|
499
|
+
versions: { type: "boolean" },
|
|
500
|
+
});
|
|
501
|
+
const path = theOne(positionals, "Say which page: console doc <path> [--version <n>|--versions]");
|
|
502
|
+
const session = await open(io, values);
|
|
503
|
+
const project = await session.project();
|
|
504
|
+
if (on(values, "versions")) {
|
|
505
|
+
const found = await project.documentVersions(path);
|
|
506
|
+
answer(io, session, found, () => found.items.map(formatVersionLine).join("\n"));
|
|
507
|
+
return EXIT.ok;
|
|
508
|
+
}
|
|
509
|
+
const wanted = text(values, "version");
|
|
510
|
+
if (wanted !== undefined) {
|
|
511
|
+
const number = Number(wanted);
|
|
512
|
+
if (!Number.isInteger(number) || number < 1) {
|
|
513
|
+
throw misuse(`Not a version number: ${wanted}`);
|
|
514
|
+
}
|
|
515
|
+
const found = await project.documentVersion(path, number);
|
|
516
|
+
answer(io, session, found, () => formatVersion(path, found));
|
|
517
|
+
return EXIT.ok;
|
|
518
|
+
}
|
|
519
|
+
const found = await project.document(path);
|
|
520
|
+
answer(io, session, found, () => formatDocument(found, (fileId) => project.documentFileUrl(path, fileId)));
|
|
521
|
+
return EXIT.ok;
|
|
522
|
+
};
|
|
523
|
+
const write = async (args, io) => {
|
|
524
|
+
const { values, positionals } = parse(args, {
|
|
525
|
+
title: { type: "string" },
|
|
526
|
+
body: { type: "string" },
|
|
527
|
+
file: { type: "string" },
|
|
528
|
+
base: { type: "string" },
|
|
529
|
+
});
|
|
530
|
+
const path = theOne(positionals, 'Say which page: console write <path> --title "<title>" --body <markdown>|--file <path>');
|
|
531
|
+
const body = await bodyOf(io, values, text(values, "body"));
|
|
532
|
+
if (body === undefined) {
|
|
533
|
+
throw misuse("Say what the page is to say: --body <markdown>, --file <path>, or --body - to read standard input.");
|
|
534
|
+
}
|
|
535
|
+
const base = text(values, "base");
|
|
536
|
+
const baseVersion = base === undefined ? undefined : Number(base);
|
|
537
|
+
if (baseVersion !== undefined && (!Number.isInteger(baseVersion) || baseVersion < 1)) {
|
|
538
|
+
throw misuse(`Not a version number: ${base}`);
|
|
539
|
+
}
|
|
540
|
+
const session = await open(io, values);
|
|
541
|
+
const project = await session.project();
|
|
542
|
+
let title = text(values, "title");
|
|
543
|
+
if (title === undefined) {
|
|
544
|
+
// Without a title, the page keeps the one it has; a new page needs one.
|
|
545
|
+
try {
|
|
546
|
+
title = (await project.document(path)).title;
|
|
547
|
+
}
|
|
548
|
+
catch (error) {
|
|
549
|
+
if (error instanceof ApiError && error.code === "document.not_found") {
|
|
550
|
+
throw misuse(`No page at ${path} yet. Say its title: --title "<title>"`);
|
|
551
|
+
}
|
|
552
|
+
throw error;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
const written = await project.writeDocument(path, {
|
|
556
|
+
title,
|
|
557
|
+
body,
|
|
558
|
+
...(baseVersion === undefined ? {} : { baseVersion }),
|
|
559
|
+
});
|
|
560
|
+
answer(io, session, written, () => `Wrote ${written.path} (${written.title}), version ${written.version}${written.links.length === 0 ? "" : `; refers to ${written.links.map((link) => link.path).join(", ")}`}`);
|
|
561
|
+
return EXIT.ok;
|
|
562
|
+
};
|
|
563
|
+
const attach = async (args, io) => {
|
|
564
|
+
const { values, positionals } = parse(args, { label: { type: "string" } });
|
|
565
|
+
const [path, file] = positionals;
|
|
566
|
+
if (path === undefined || file === undefined || positionals.length > 2) {
|
|
567
|
+
throw misuse("Say the page and the file: console attach <path> <file> [--label <words>]");
|
|
568
|
+
}
|
|
569
|
+
const label = text(values, "label");
|
|
570
|
+
const session = await open(io, values);
|
|
571
|
+
const project = await session.project();
|
|
572
|
+
let bytes;
|
|
573
|
+
try {
|
|
574
|
+
bytes = await io.readBytes(file);
|
|
575
|
+
}
|
|
576
|
+
catch {
|
|
577
|
+
throw failed(`No file could be read at ${file}.`);
|
|
578
|
+
}
|
|
579
|
+
const name = basename(file);
|
|
580
|
+
const contentType = CONTENT_TYPES[extname(name).toLowerCase()];
|
|
581
|
+
const written = await project.attachFile(path, {
|
|
582
|
+
name,
|
|
583
|
+
bytes,
|
|
584
|
+
...(contentType === undefined ? {} : { contentType }),
|
|
585
|
+
...(label === undefined ? {} : { label }),
|
|
586
|
+
});
|
|
587
|
+
answer(io, session, written, () => `Attached ${name} (${bytes.byteLength} bytes) to ${written.path}: ${written.files.length} file${written.files.length === 1 ? "" : "s"} on the page.`);
|
|
588
|
+
return EXIT.ok;
|
|
589
|
+
};
|
|
590
|
+
const archive = async (args, io) => {
|
|
591
|
+
const { values, positionals } = parse(args, {});
|
|
592
|
+
const path = theOne(positionals, "Say which page: console archive <path>");
|
|
593
|
+
const session = await open(io, values);
|
|
594
|
+
const project = await session.project();
|
|
595
|
+
const put = await project.archiveDocument(path);
|
|
596
|
+
answer(io, session, put, () => `Archived ${put.path} (${put.title}): out of the folders and the search, still readable here.`);
|
|
597
|
+
return EXIT.ok;
|
|
598
|
+
};
|
|
599
|
+
const restore = async (args, io) => {
|
|
600
|
+
const { values, positionals } = parse(args, {});
|
|
601
|
+
const path = theOne(positionals, "Say which page: console restore <path>");
|
|
602
|
+
const session = await open(io, values);
|
|
603
|
+
const project = await session.project();
|
|
604
|
+
const back = await project.restoreDocument(path);
|
|
605
|
+
answer(io, session, back, () => `Restored ${back.path} (${back.title}).`);
|
|
606
|
+
return EXIT.ok;
|
|
421
607
|
};
|
|
422
608
|
const decisions = async (args, io) => {
|
|
423
609
|
const { values } = parse(args, { open: { type: "boolean" } }, false);
|
|
424
610
|
const session = await open(io, values);
|
|
425
|
-
const
|
|
611
|
+
const project = await session.project();
|
|
612
|
+
const found = await project.decisions(on(values, "open") ? { open: true } : {});
|
|
426
613
|
answer(io, session, found, () => found.items.length === 0 ? "No decisions." : found.items.map(formatDecisionLine).join("\n"));
|
|
427
614
|
return EXIT.ok;
|
|
428
615
|
};
|
|
@@ -430,8 +617,9 @@ const ending = (status) => async (args, io) => {
|
|
|
430
617
|
const { values } = parse(args, { summary: { type: "string" }, file: { type: "string" }, run: { type: "string" } }, false);
|
|
431
618
|
const summary = await bodyOf(io, values, text(values, "summary"));
|
|
432
619
|
const session = await open(io, values);
|
|
433
|
-
const
|
|
434
|
-
const
|
|
620
|
+
const project = await session.project();
|
|
621
|
+
const runId = await currentRun(project, values);
|
|
622
|
+
const run = await project.endRun(runId, {
|
|
435
623
|
status,
|
|
436
624
|
...(summary === undefined ? {} : { summary }),
|
|
437
625
|
});
|
|
@@ -451,8 +639,9 @@ const abandon = async (args, io) => {
|
|
|
451
639
|
}
|
|
452
640
|
const summary = await bodyOf(io, values, text(values, "summary"));
|
|
453
641
|
const session = await open(io, values);
|
|
454
|
-
const
|
|
455
|
-
const
|
|
642
|
+
const project = await session.project();
|
|
643
|
+
const runId = positionals[0] ?? (await currentRun(project, values));
|
|
644
|
+
const run = await project.endRun(runId, {
|
|
456
645
|
status: "abandoned",
|
|
457
646
|
...(summary === undefined ? {} : { summary }),
|
|
458
647
|
});
|
|
@@ -462,9 +651,10 @@ const abandon = async (args, io) => {
|
|
|
462
651
|
const runs = async (args, io) => {
|
|
463
652
|
const { values } = parse(args, { task: { type: "string" }, open: { type: "boolean" }, mine: { type: "boolean" } }, false);
|
|
464
653
|
const session = await open(io, values);
|
|
654
|
+
const project = await session.project();
|
|
465
655
|
const ref = text(values, "task");
|
|
466
|
-
const taskId = ref === undefined ? undefined : (await
|
|
467
|
-
const found = await
|
|
656
|
+
const taskId = ref === undefined ? undefined : (await project.task(ref)).id;
|
|
657
|
+
const found = await project.runs({
|
|
468
658
|
...(taskId === undefined ? {} : { task: taskId }),
|
|
469
659
|
...(on(values, "open") ? { open: true } : {}),
|
|
470
660
|
...(on(values, "mine") ? { mine: true } : {}),
|
|
@@ -476,14 +666,17 @@ const run = async (args, io) => {
|
|
|
476
666
|
const { values, positionals } = parse(args, {});
|
|
477
667
|
const id = theOne(positionals, "Say which run: console run <id>");
|
|
478
668
|
const session = await open(io, values);
|
|
479
|
-
const
|
|
480
|
-
|
|
669
|
+
const project = await session.project();
|
|
670
|
+
const found = await project.run(id);
|
|
671
|
+
answer(io, session, found, () => formatRun(found, (artifactId) => project.fileUrl(artifactId)));
|
|
481
672
|
return EXIT.ok;
|
|
482
673
|
};
|
|
483
674
|
const COMMANDS = {
|
|
484
675
|
login,
|
|
485
676
|
logout,
|
|
486
677
|
whoami,
|
|
678
|
+
projects,
|
|
679
|
+
use,
|
|
487
680
|
tasks,
|
|
488
681
|
task,
|
|
489
682
|
skills,
|
|
@@ -498,6 +691,12 @@ const COMMANDS = {
|
|
|
498
691
|
abandon,
|
|
499
692
|
runs,
|
|
500
693
|
run,
|
|
694
|
+
docs,
|
|
695
|
+
doc,
|
|
696
|
+
write,
|
|
697
|
+
attach,
|
|
698
|
+
archive,
|
|
699
|
+
restore,
|
|
501
700
|
};
|
|
502
701
|
function help(io, name) {
|
|
503
702
|
if (name === undefined) {
|
|
@@ -516,6 +715,14 @@ function hintFor(error) {
|
|
|
516
715
|
switch (error.code) {
|
|
517
716
|
case "auth.required":
|
|
518
717
|
return "The token is not one the console knows, any more or at all. A person signs the command in again: console login\n";
|
|
718
|
+
case "project.not_found":
|
|
719
|
+
return "No project has this key, or it is not yours to see. console projects lists the projects you may work in.\n";
|
|
720
|
+
case "document.not_found":
|
|
721
|
+
return "No page has this path, in this project. console docs lists the pages of a folder; console write <path> writes one.\n";
|
|
722
|
+
case "document.conflict":
|
|
723
|
+
return "The page has moved on since the version you started from. Read it again, and write from there.\n";
|
|
724
|
+
case "document.archived":
|
|
725
|
+
return "The page is archived. console restore <path> brings it back first.\n";
|
|
519
726
|
case "network":
|
|
520
727
|
return "Is the console's address right? console whoami --url <origin> says what the command uses.\n";
|
|
521
728
|
default:
|
package/dist/cli/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|