@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.
Files changed (103) hide show
  1. package/README.md +15 -10
  2. package/dist/api.d.ts +6 -5
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +5 -4
  5. package/dist/api.js.map +1 -1
  6. package/dist/cli/cli.d.ts +3 -0
  7. package/dist/cli/cli.d.ts.map +1 -1
  8. package/dist/cli/cli.js +251 -44
  9. package/dist/cli/cli.js.map +1 -1
  10. package/dist/cli/directory.d.ts +14 -0
  11. package/dist/cli/directory.d.ts.map +1 -0
  12. package/dist/cli/directory.js +46 -0
  13. package/dist/cli/directory.js.map +1 -0
  14. package/dist/cli/format.d.ts +15 -3
  15. package/dist/cli/format.d.ts.map +1 -1
  16. package/dist/cli/format.js +84 -6
  17. package/dist/cli/format.js.map +1 -1
  18. package/dist/cli/help.d.ts.map +1 -1
  19. package/dist/cli/help.js +78 -9
  20. package/dist/cli/help.js.map +1 -1
  21. package/dist/cli/main.js +2 -0
  22. package/dist/cli/main.js.map +1 -1
  23. package/dist/client.d.ts +69 -10
  24. package/dist/client.d.ts.map +1 -1
  25. package/dist/client.js +71 -33
  26. package/dist/client.js.map +1 -1
  27. package/dist/components/decision-list.d.ts +7 -1
  28. package/dist/components/decision-list.d.ts.map +1 -1
  29. package/dist/components/decision-list.js +21 -4
  30. package/dist/components/decision-list.js.map +1 -1
  31. package/dist/components/documents.d.ts +85 -0
  32. package/dist/components/documents.d.ts.map +1 -0
  33. package/dist/components/documents.js +103 -0
  34. package/dist/components/documents.js.map +1 -0
  35. package/dist/components/event-feed.d.ts.map +1 -1
  36. package/dist/components/event-feed.js +46 -14
  37. package/dist/components/event-feed.js.map +1 -1
  38. package/dist/components/markdown.d.ts +5 -2
  39. package/dist/components/markdown.d.ts.map +1 -1
  40. package/dist/components/markdown.js +8 -1
  41. package/dist/components/markdown.js.map +1 -1
  42. package/dist/components/projects.d.ts +41 -0
  43. package/dist/components/projects.d.ts.map +1 -0
  44. package/dist/components/projects.js +81 -0
  45. package/dist/components/projects.js.map +1 -0
  46. package/dist/components/runs.d.ts +5 -2
  47. package/dist/components/runs.d.ts.map +1 -1
  48. package/dist/components/runs.js +4 -4
  49. package/dist/components/runs.js.map +1 -1
  50. package/dist/components/shell.d.ts +5 -0
  51. package/dist/components/shell.d.ts.map +1 -1
  52. package/dist/components/shell.js +1 -1
  53. package/dist/components/shell.js.map +1 -1
  54. package/dist/components/task-view.d.ts +9 -1
  55. package/dist/components/task-view.d.ts.map +1 -1
  56. package/dist/components/task-view.js +3 -2
  57. package/dist/components/task-view.js.map +1 -1
  58. package/dist/console.css +253 -1
  59. package/dist/console.d.ts +3 -0
  60. package/dist/console.d.ts.map +1 -1
  61. package/dist/console.js +156 -58
  62. package/dist/console.js.map +1 -1
  63. package/dist/data.d.ts +44 -10
  64. package/dist/data.d.ts.map +1 -1
  65. package/dist/data.js +215 -81
  66. package/dist/data.js.map +1 -1
  67. package/dist/docs-page.d.ts +11 -0
  68. package/dist/docs-page.d.ts.map +1 -0
  69. package/dist/docs-page.js +146 -0
  70. package/dist/docs-page.js.map +1 -0
  71. package/dist/documents.d.ts +19 -0
  72. package/dist/documents.d.ts.map +1 -0
  73. package/dist/documents.js +64 -0
  74. package/dist/documents.js.map +1 -0
  75. package/dist/index.d.ts +6 -2
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +5 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/limits.d.ts +17 -0
  80. package/dist/limits.d.ts.map +1 -1
  81. package/dist/limits.js +17 -0
  82. package/dist/limits.js.map +1 -1
  83. package/dist/router.d.ts +28 -7
  84. package/dist/router.d.ts.map +1 -1
  85. package/dist/router.js +52 -23
  86. package/dist/router.js.map +1 -1
  87. package/dist/routes.d.ts +16 -12
  88. package/dist/routes.d.ts.map +1 -1
  89. package/dist/routes.js +31 -11
  90. package/dist/routes.js.map +1 -1
  91. package/dist/schemas.d.ts +414 -28
  92. package/dist/schemas.d.ts.map +1 -1
  93. package/dist/schemas.js +204 -27
  94. package/dist/schemas.js.map +1 -1
  95. package/dist/use-action.d.ts +8 -0
  96. package/dist/use-action.d.ts.map +1 -0
  97. package/dist/use-action.js +30 -0
  98. package/dist/use-action.js.map +1 -0
  99. package/dist/vocabulary.d.ts +10 -1
  100. package/dist/vocabulary.d.ts.map +1 -1
  101. package/dist/vocabulary.js +16 -0
  102. package/dist/vocabulary.js.map +1 -1
  103. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ /** The file's name, in the working directory or one above it. */
2
+ export declare const DIRECTORY_FILE = ".skillcdn-console.json";
3
+ export interface DirectorySettings {
4
+ /** The key of the project the directory's work belongs to. */
5
+ readonly project: string;
6
+ }
7
+ export interface DirectoryStore {
8
+ /** The settings of the working directory, or of the nearest directory above it that has them. */
9
+ load(): Promise<DirectorySettings | undefined>;
10
+ /** Writes the settings into the working directory and answers where. */
11
+ save(settings: DirectorySettings): Promise<string>;
12
+ }
13
+ export declare function createDirectoryStore(cwd: string): DirectoryStore;
14
+ //# sourceMappingURL=directory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/cli/directory.ts"],"names":[],"mappings":"AASA,iEAAiE;AACjE,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,IAAI,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAC/C,wEAAwE;IACxE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAgChE"}
@@ -0,0 +1,46 @@
1
+ import { readFile, writeFile } from "node:fs/promises";
2
+ import { dirname, join } from "node:path";
3
+ import * as z from "zod/mini";
4
+ // What a working directory says about the project it belongs to: `.skillcdn-console.json` in
5
+ // it or in a directory above it, as `.nvmrc` and its kind are found. Written by `console use`,
6
+ // and meant to be committed, so that everyone who works in the checkout, and every agent they
7
+ // run in it, is in the same project without saying so.
8
+ /** The file's name, in the working directory or one above it. */
9
+ export const DIRECTORY_FILE = ".skillcdn-console.json";
10
+ const settingsSchema = z.object({ project: z.string().check(z.minLength(1)) });
11
+ export function createDirectoryStore(cwd) {
12
+ return {
13
+ async load() {
14
+ let directory = cwd;
15
+ for (;;) {
16
+ let content;
17
+ try {
18
+ content = await readFile(join(directory, DIRECTORY_FILE), "utf8");
19
+ }
20
+ catch {
21
+ content = undefined;
22
+ }
23
+ if (content !== undefined) {
24
+ try {
25
+ const parsed = settingsSchema.safeParse(JSON.parse(content));
26
+ return parsed.success ? parsed.data : undefined;
27
+ }
28
+ catch {
29
+ return undefined;
30
+ }
31
+ }
32
+ const above = dirname(directory);
33
+ if (above === directory) {
34
+ return undefined;
35
+ }
36
+ directory = above;
37
+ }
38
+ },
39
+ async save(settings) {
40
+ const path = join(cwd, DIRECTORY_FILE);
41
+ await writeFile(path, `${JSON.stringify(settings, null, 2)}\n`);
42
+ return path;
43
+ },
44
+ };
45
+ }
46
+ //# sourceMappingURL=directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/cli/directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,6FAA6F;AAC7F,+FAA+F;AAC/F,8FAA8F;AAC9F,uDAAuD;AAEvD,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAcvD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/E,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO;QACL,KAAK,CAAC,IAAI;YACR,IAAI,SAAS,GAAG,GAAG,CAAC;YACpB,SAAS,CAAC;gBACR,IAAI,OAA2B,CAAC;gBAChC,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpE,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,SAAS,CAAC;gBACtB,CAAC;gBACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,SAAS,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,QAAQ;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,11 +1,14 @@
1
- import type { RestArtifact, RestDecision, RestRun, RestSkills, RestTask } from "../schemas.js";
1
+ import type { RestArtifact, RestDecision, RestDocument, RestDocumentSummary, RestDocuments, RestProject, RestRun, RestSkills, RestTask, RestVersion, RestVersionSummary } from "../schemas.js";
2
+ /** One project: its key, its name, what the person is in it, and what waits in it. */
3
+ export declare function formatProjectLine(project: RestProject): string;
2
4
  export declare function formatTaskLine(task: RestTask): string;
3
5
  /** One task in full; with the decisions about it and the runs on it, when given. */
4
6
  export declare function formatTask(task: RestTask, decisions?: readonly RestDecision[], runs?: readonly RestRun[]): string;
5
7
  export declare function formatRunLine(run: RestRun): string;
6
- export declare function formatRun(run: RestRun): string;
8
+ /** One run in full; with where each file handed in is read, when the caller knows. */
9
+ export declare function formatRun(run: RestRun, fileUrl?: (artifactId: string) => string): string;
7
10
  /** What was handed in: the link, or the file with its size and where its bytes are read. */
8
- export declare function formatArtifact(artifact: RestArtifact): string;
11
+ export declare function formatArtifact(artifact: RestArtifact, fileUrl?: (artifactId: string) => string): string;
9
12
  /** The organization's skills: where they are, and each with what an agent loads it by. */
10
13
  export declare function formatSkills(skills: RestSkills): string;
11
14
  export declare function formatDecisionLine(decision: RestDecision): string;
@@ -13,4 +16,13 @@ export declare function formatOptions(decision: RestDecision): string;
13
16
  /** The answer, with who gave it; or that there is none yet. */
14
17
  export declare function formatAnswer(decision: RestDecision): string;
15
18
  export declare function formatDecision(decision: RestDecision): string;
19
+ /** One document in a list: its path, its title, its version, who wrote it last and when. */
20
+ export declare function formatDocumentLine(document: RestDocumentSummary): string;
21
+ /** A folder's folders and pages, or the pages a search found. */
22
+ export declare function formatDocuments(listing: RestDocuments): string;
23
+ /** One document in full: its latest version, what it links to, what refers to it, and its files. */
24
+ export declare function formatDocument(document: RestDocument, fileUrl?: (fileId: string) => string): string;
25
+ export declare function formatVersionLine(version: RestVersionSummary): string;
26
+ /** One version of a document, with its body as it was. */
27
+ export declare function formatVersion(path: string, version: RestVersion): string;
16
28
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoB/F,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAYrD;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,EACnC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GACxB,MAAM,CA4BR;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAqB9C;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAM7D;AASD,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAoBvD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAGjE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE5D;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAa3D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAU7D"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACR,WAAW,EACX,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAoBvB,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAS9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAYrD;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,EACnC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GACxB,MAAM,CA4BR;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAqBxF;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GACvC,MAAM,CAMR;AASD,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAoBvD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAGjE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE5D;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAa3D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAa7D;AAMD,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAMxE;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAS9D;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAkCR;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAErE;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAMxE"}
@@ -1,4 +1,3 @@
1
- import { restPath } from "../routes.js";
2
1
  // What the command prints: one line per thing in a list, a few lines for one thing in full.
3
2
  // Plain text, for an agent to read and a person to skim; ids are given, since the commands take
4
3
  // them, and the words are the vocabulary's own, since the options take those.
@@ -11,6 +10,17 @@ const indent = (text) => text
11
10
  const asker = (decision) => decision.run === null
12
11
  ? decision.raisedBy.login
13
12
  : `${decision.run.agent} for ${decision.raisedBy.login}`;
13
+ /** One project: its key, its name, what the person is in it, and what waits in it. */
14
+ export function formatProjectLine(project) {
15
+ const notes = [project.role];
16
+ if (project.openDecisions > 0) {
17
+ notes.push(`${plural(project.openDecisions, "decision")} waiting`);
18
+ }
19
+ if (project.openRuns > 0) {
20
+ notes.push(`${plural(project.openRuns, "agent")} at work`);
21
+ }
22
+ return `${project.key} ${project.name} (${notes.join("; ")})`;
23
+ }
14
24
  export function formatTaskLine(task) {
15
25
  const notes = [`owner ${task.owner.login}`];
16
26
  if (task.assignee !== null) {
@@ -61,7 +71,8 @@ export function formatRunLine(run) {
61
71
  }
62
72
  return `${run.id} ${run.status} ${run.agent} for ${run.person.login} task #${run.taskNumber} (${notes.join(", ")})`;
63
73
  }
64
- export function formatRun(run) {
74
+ /** One run in full; with where each file handed in is read, when the caller knows. */
75
+ export function formatRun(run, fileUrl) {
65
76
  const lines = [
66
77
  formatRunLine(run),
67
78
  `started: ${run.startedAt}${run.endedAt === null ? "" : ` ended: ${run.endedAt}`}`,
@@ -78,16 +89,16 @@ export function formatRun(run) {
78
89
  if (run.artifacts.length > 0) {
79
90
  lines.push("", "artifacts:");
80
91
  for (const artifact of run.artifacts) {
81
- lines.push(` ${formatArtifact(artifact)}`);
92
+ lines.push(` ${formatArtifact(artifact, fileUrl)}`);
82
93
  }
83
94
  }
84
95
  return lines.join("\n");
85
96
  }
86
97
  /** What was handed in: the link, or the file with its size and where its bytes are read. */
87
- export function formatArtifact(artifact) {
98
+ export function formatArtifact(artifact, fileUrl) {
88
99
  const what = artifact.file === null
89
100
  ? (artifact.url ?? "")
90
- : `${artifact.file.name} (${artifact.file.size} bytes, ${artifact.file.contentType}; read at ${restPath("files", artifact.id)})`;
101
+ : `${artifact.file.name} (${artifact.file.size} bytes, ${artifact.file.contentType}${fileUrl === undefined ? "" : `; read at ${fileUrl(artifact.id)}`})`;
91
102
  return artifact.label === null ? what : `${artifact.label}: ${what}`;
92
103
  }
93
104
  const SKILLS_WORDS = {
@@ -99,7 +110,7 @@ const SKILLS_WORDS = {
99
110
  /** The organization's skills: where they are, and each with what an agent loads it by. */
100
111
  export function formatSkills(skills) {
101
112
  if (skills.status === "none" || skills.address === null) {
102
- return "No skills address is configured on this console.";
113
+ return "No skills address: neither this project nor the console names one.";
103
114
  }
104
115
  const head = `skills at ${skills.address}, served by ${skills.source}: ${skills.status}`;
105
116
  if (skills.status !== "ready") {
@@ -146,6 +157,73 @@ export function formatDecision(decision) {
146
157
  lines.push("", decision.body.trimEnd());
147
158
  }
148
159
  lines.push("", "options:", formatOptions(decision), "", formatAnswer(decision));
160
+ if (decision.outcome !== null && decision.outcome.trim().length > 0) {
161
+ lines.push("", "what followed:", indent(decision.outcome));
162
+ }
163
+ return lines.join("\n");
164
+ }
165
+ /** Who wrote a version, and through which agent. */
166
+ const writer = (by, agent) => agent === null ? by.login : `${agent} for ${by.login}`;
167
+ /** One document in a list: its path, its title, its version, who wrote it last and when. */
168
+ export function formatDocumentLine(document) {
169
+ const notes = [`v${document.version}`, `by ${writer(document.updatedBy, document.agent)}`];
170
+ if (document.archivedAt !== null) {
171
+ notes.push("archived");
172
+ }
173
+ return `${document.path} ${document.title} (${notes.join(", ")}; ${document.updatedAt})`;
174
+ }
175
+ /** A folder's folders and pages, or the pages a search found. */
176
+ export function formatDocuments(listing) {
177
+ if (listing.folders.length === 0 && listing.items.length === 0) {
178
+ return "No pages here.";
179
+ }
180
+ const lines = listing.folders.map((folder) => `${folder}/`);
181
+ for (const document of listing.items) {
182
+ lines.push(formatDocumentLine(document));
183
+ }
184
+ return lines.join("\n");
185
+ }
186
+ /** One document in full: its latest version, what it links to, what refers to it, and its files. */
187
+ export function formatDocument(document, fileUrl) {
188
+ const lines = [
189
+ `${document.path}: ${document.title}`,
190
+ `version ${document.version}, by ${writer(document.updatedBy, document.agent)} at ${document.updatedAt}${document.archivedAt === null ? "" : `; archived ${document.archivedAt}`}`,
191
+ `id: ${document.id}`,
192
+ ];
193
+ if (document.body.trim().length > 0) {
194
+ lines.push("", document.body.trimEnd());
195
+ }
196
+ if (document.links.length > 0) {
197
+ lines.push("", "refers to:");
198
+ for (const link of document.links) {
199
+ lines.push(` ${link.path}${link.title === null ? " (no page there yet)" : ` ${link.title}`}`);
200
+ }
201
+ }
202
+ if (document.backlinks.length > 0) {
203
+ lines.push("", "referred to by:");
204
+ for (const backlink of document.backlinks) {
205
+ lines.push(` ${backlink.kind} ${backlink.kind === "task" ? `#${backlink.number ?? "?"}` : (backlink.path ?? backlink.id)} ${backlink.title}`);
206
+ }
207
+ }
208
+ if (document.files.length > 0) {
209
+ lines.push("", "files:");
210
+ for (const attached of document.files) {
211
+ const where = fileUrl === undefined ? "" : `; read at ${fileUrl(attached.id)}`;
212
+ const what = `${attached.file.name} (${attached.file.size} bytes, ${attached.file.contentType}${where})`;
213
+ lines.push(` ${attached.label === null ? what : `${attached.label}: ${what}`}`);
214
+ }
215
+ }
216
+ return lines.join("\n");
217
+ }
218
+ export function formatVersionLine(version) {
219
+ return `v${version.number} ${version.title} (by ${writer(version.author, version.agent)}; ${version.createdAt})`;
220
+ }
221
+ /** One version of a document, with its body as it was. */
222
+ export function formatVersion(path, version) {
223
+ const lines = [`${path}: ${version.title}`, formatVersionLine(version)];
224
+ if (version.body.trim().length > 0) {
225
+ lines.push("", version.body.trimEnd());
226
+ }
149
227
  return lines.join("\n");
150
228
  }
151
229
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAgBD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CA2H9D,CAAC;AAkCF,yFAAyF;AACzF,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED,sFAAsF;AACtF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAaxD"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAmBD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CA8L9D,CAAC;AA0CF,yFAAyF;AACzF,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED,sFAAsF;AACtF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAaxD"}
package/dist/cli/help.js CHANGED
@@ -1,4 +1,4 @@
1
- import { MAX_AGENT_LENGTH, MAX_ARTIFACTS_PER_RUN, MAX_BODY_LENGTH, MAX_FILE_BYTES, MAX_LINK_LABEL_LENGTH, MAX_OPTION_LABEL_LENGTH, MAX_OPTIONS, MAX_QUESTION_LENGTH, MAX_REPORTS_PER_RUN, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, MIN_OPTIONS, } from "../limits.js";
1
+ import { MAX_AGENT_LENGTH, MAX_ARTIFACTS_PER_RUN, MAX_BODY_LENGTH, MAX_DOCUMENT_LENGTH, MAX_DOCUMENT_PATH_LENGTH, MAX_FILE_BYTES, MAX_FILES_PER_DOCUMENT, MAX_LINK_LABEL_LENGTH, MAX_OPTION_LABEL_LENGTH, MAX_OPTIONS, MAX_QUESTION_LENGTH, MAX_REPORTS_PER_RUN, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, MAX_VERSIONS_PER_DOCUMENT, MIN_OPTIONS, } from "../limits.js";
2
2
  /** The refusals any command may meet, said once in the overview. */
3
3
  const COMMON_REFUSALS = [
4
4
  "auth.required: the token is not one the console knows, any more or at all; a person signs the command in again",
@@ -10,6 +10,8 @@ const RUN_REFUSALS = [
10
10
  "run.over: the run has ended already",
11
11
  ];
12
12
  const MARKDOWN = `Markdown, up to ${MAX_BODY_LENGTH} characters`;
13
+ const DOCUMENT_PATH = `a path of lowercase letters, digits and hyphens, with slashes between its folders (guides/onboarding), up to ${MAX_DOCUMENT_PATH_LENGTH} characters; it does not change once written`;
14
+ const DOCUMENT_REFUSALS = ["document.not_found: no page has that path in this project"];
13
15
  export const COMMAND_HELP = {
14
16
  login: {
15
17
  usage: "login --url <origin> [--token-stdin]",
@@ -22,7 +24,16 @@ export const COMMAND_HELP = {
22
24
  },
23
25
  whoami: {
24
26
  usage: "whoami",
25
- about: "Who the token acts as, and which console it is for.",
27
+ about: "Who the token acts as, which console it is for, and which project this directory works in.",
28
+ },
29
+ projects: {
30
+ usage: "projects",
31
+ about: "The projects you may work in: each with its key, its name, what you are in it, and what waits in it. Every command on the board works in one project.",
32
+ },
33
+ use: {
34
+ usage: "use <key>",
35
+ about: "Says which project this directory works in: writes .skillcdn-console.json here, which the commands read from this directory or one above it, and which is meant to be committed. --project <key> on any command, or CONSOLE_PROJECT in the environment, wins over it.",
36
+ refusals: ["project.not_found: no project has the key, or it is not yours to see"],
26
37
  },
27
38
  tasks: {
28
39
  usage: "tasks [--state <state>]",
@@ -83,8 +94,9 @@ export const COMMAND_HELP = {
83
94
  refusals: ["decision.invalid_run: the run is not yours, or is over"],
84
95
  },
85
96
  decision: {
86
- usage: "decision <id> [--wait <seconds>]",
87
- about: "One decision, with its options and its answer. With --wait, holds on for the answer that long, and exits with 3 if it is still to come.",
97
+ usage: "decision <id> [--wait <seconds>] | decision <id> --outcome <markdown>|--file <path>",
98
+ about: "One decision, with its context, its options, its answer and what followed. With --wait, holds on for the answer that long, and exits with 3 if it is still to come. With --outcome, writes down what followed the decision, so that it reads as a record.",
99
+ limits: [`outcome: ${MARKDOWN}`],
88
100
  refusals: ["decision.not_found: no decision has that id"],
89
101
  },
90
102
  decisions: {
@@ -118,16 +130,66 @@ export const COMMAND_HELP = {
118
130
  about: "One run in full: its reports, what it handed in, what it waits for, how it ended.",
119
131
  refusals: ["run.not_found: no run has that id"],
120
132
  },
133
+ docs: {
134
+ usage: "docs [<folder>] [--search <words>] [--archived]",
135
+ about: "The pages of the project's documents: those in a folder, with the folders in it (the root when none is named), or those found by words in their title or body. Archived pages are left out unless --archived.",
136
+ },
137
+ doc: {
138
+ usage: "doc <path> [--version <n>|--versions]",
139
+ about: "One page in full: its title, its body in Markdown, what it links to, what refers to it (pages, tasks, decisions), and its files. --versions lists its versions, who wrote each and when; --version <n> prints one as it was.",
140
+ refusals: [...DOCUMENT_REFUSALS, "document.version_not_found: the page has no such version"],
141
+ },
142
+ write: {
143
+ usage: 'write <path> [--title "<title>"] --body <markdown>|--file <path> [--base <version>]',
144
+ about: "Writes a page: the first version at a new path, or a new version of the page there. A link in the body whose destination is a page's path (guides/onboarding) refers to that page, and the page says what refers to it. Without --title the page keeps its title. With --base, the write is refused if the page has moved on since that version.",
145
+ limits: [
146
+ `path: ${DOCUMENT_PATH}`,
147
+ `title: one line, up to ${MAX_TITLE_LENGTH} characters`,
148
+ `body: Markdown, up to ${MAX_DOCUMENT_LENGTH} characters`,
149
+ `at most ${MAX_VERSIONS_PER_DOCUMENT} versions of one page`,
150
+ ],
151
+ refusals: [
152
+ "document.invalid_path: the path is not one",
153
+ "document.conflict: the page has moved on since --base; read it again",
154
+ "document.archived: the page is archived; restore it first",
155
+ "document.too_many_versions: the page carries as many versions as one may; write a new page",
156
+ ],
157
+ },
158
+ attach: {
159
+ usage: "attach <path> <file> [--label <words>]",
160
+ about: "Attaches a file from this machine to a page: the console keeps it, and the page shows it.",
161
+ limits: [
162
+ `a file: up to ${MAX_FILE_BYTES} bytes, not empty; it is called by its name, without the path`,
163
+ `at most ${MAX_FILES_PER_DOCUMENT} files on one page`,
164
+ ],
165
+ refusals: [
166
+ ...DOCUMENT_REFUSALS,
167
+ "document.archived: the page is archived; restore it first",
168
+ "document.too_many_files: the page carries as many files as one may",
169
+ "request.too_large: the file is over the limit",
170
+ ],
171
+ },
172
+ archive: {
173
+ usage: "archive <path>",
174
+ about: "Puts a page away: out of the folders and the search, still readable at its path, not written to until restored. Nothing is deleted.",
175
+ refusals: DOCUMENT_REFUSALS,
176
+ },
177
+ restore: {
178
+ usage: "restore <path>",
179
+ about: "Brings an archived page back.",
180
+ refusals: DOCUMENT_REFUSALS,
181
+ },
121
182
  };
122
183
  /** The first lines of the usage, with the version of the command when it is known. */
123
184
  const preamble = (version) => `console${version === undefined ? "" : ` ${version}`}: the board of your organization's work with AI agents, from the command line.
124
185
  You act as the person whose token you hold; everything you send is shown to people as text.
125
186
 
126
- Usage: console <command> [arguments] [--json] [--url <origin>]
187
+ Usage: console <command> [arguments] [--json] [--url <origin>] [--project <key>]
127
188
  `;
128
- const CLOSING = `Options everywhere: --json answers with the console's own JSON; --url names another console.
129
- Commands on a run (report, hand-in, ask, finish, fail) act on your one open run; with several open,
130
- say which with --run <id>. A Markdown body given as - is read from standard input.
189
+ const CLOSING = `Options everywhere: --json answers with the console's own JSON; --url names another console;
190
+ --project names the project to work in, over CONSOLE_PROJECT and over what console use kept here.
191
+ Commands on a run (report, hand-in, ask, finish, fail) act on your one open run in the project;
192
+ with several open, say which with --run <id>. A Markdown body given as - is read from standard input.
131
193
  console help <command> says what each command takes, the limits the console holds it to, and
132
194
  what it may refuse. console --version says which version of the command this is.
133
195
 
@@ -140,12 +202,19 @@ Credentials: CONSOLE_URL and CONSOLE_TOKEN in the environment, else what login k
140
202
  $XDG_CONFIG_HOME/skillcdn-console/credentials.json (~/.config when XDG_CONFIG_HOME is unset).
141
203
  `;
142
204
  const SECTIONS = [
143
- { title: "Signing in, once, as a person", commands: ["login", "logout", "whoami"] },
205
+ {
206
+ title: "Signing in, once, as a person, and the project to work in",
207
+ commands: ["login", "logout", "whoami", "projects", "use"],
208
+ },
144
209
  {
145
210
  title: "The board",
146
211
  commands: ["tasks", "task", "decisions", "decision", "runs", "run", "skills"],
147
212
  },
148
213
  { title: "Working", commands: ["take", "report", "hand-in", "ask", "finish", "fail", "abandon"] },
214
+ {
215
+ title: "The documents: the project's pages of Markdown, in folders, by path",
216
+ commands: ["docs", "doc", "write", "attach", "archive", "restore"],
217
+ },
149
218
  ];
150
219
  /** The whole usage, as `console help` prints it, naming the version when it is known. */
151
220
  export function usage(version) {
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
package/dist/cli/main.js CHANGED
@@ -4,6 +4,7 @@ import process from "node:process";
4
4
  import * as z from "zod/mini";
5
5
  import { runCli } from "./cli.js";
6
6
  import { createFileStore, defaultConfigDir } from "./credentials.js";
7
+ import { createDirectoryStore } from "./directory.js";
7
8
  import { readBytesAt, readFileAt, readSecret, readStdin } from "./terminal.js";
8
9
  // The `console` command: the only place the command reads the process. Everything it does is in
9
10
  // cli.ts, which takes what it needs and is what the tests run.
@@ -25,6 +26,7 @@ process.exitCode = await runCli(process.argv.slice(2), {
25
26
  readFile: readFileAt,
26
27
  readBytes: readBytesAt,
27
28
  store: createFileStore(defaultConfigDir(process.env)),
29
+ directory: createDirectoryStore(process.cwd()),
28
30
  sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
29
31
  now: () => Date.now(),
30
32
  version: manifest.success ? manifest.data.version : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/E,gGAAgG;AAChG,+DAA+D;AAE/D,mGAAmG;AACnG,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KAC/B,SAAS,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEnE,OAAO,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACrD,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;IAC1C,SAAS;IACT,UAAU;IACV,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;CAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/E,gGAAgG;AAChG,+DAA+D;AAE/D,mGAAmG;AACnG,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KAC/B,SAAS,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEnE,OAAO,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACrD,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;IAC1C,SAAS;IACT,UAAU;IACV,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9C,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;CAC9D,CAAC,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type RestAnswerInput, type RestArtifactInput, type RestDecision, type RestDecisionInput, type RestDecisions, type RestEvents, type RestMe, type RestPeople, type RestPerson, type RestPersonPatch, type RestReportInput, type RestRun, type RestRunEndInput, type RestRunInput, type RestRuns, type RestSkills, type RestTask, type RestTaskInput, type RestTaskPatch, type RestTasks, type RestTokenCreated, type RestTokenInput, type RestTokens } from "./schemas.js";
1
+ import { type RestAnswerInput, type RestArtifactInput, type RestDecision, type RestDecisionInput, type RestDecisionPatch, type RestDecisions, type RestDocument, type RestDocumentInput, type RestDocuments, type RestEvents, type RestMe, type RestMember, type RestMemberInput, type RestMemberPatch, type RestMembers, type RestPeople, type RestPerson, type RestPersonPatch, type RestProject, type RestProjectInput, type RestProjectPatch, type RestProjects, type RestReportInput, type RestRun, type RestRunEndInput, type RestRunInput, type RestRuns, type RestSkills, type RestTask, type RestTaskInput, type RestTaskPatch, type RestTasks, type RestTokenCreated, type RestTokenInput, type RestTokens, type RestVersion, type RestVersions } from "./schemas.js";
2
2
  import type { TaskState } from "./vocabulary.js";
3
3
  export type FetchLike = (input: string, init?: RequestInit) => Promise<Response>;
4
4
  /** A file to hand in: its bytes, what to call it, and what it is. */
@@ -29,11 +29,36 @@ export declare class ApiError extends Error {
29
29
  readonly code: string;
30
30
  constructor(status: number, code: string, message: string);
31
31
  }
32
- export interface ConsoleClient {
33
- me(signal?: AbortSignal): Promise<RestMe>;
34
- people(signal?: AbortSignal): Promise<RestPeople>;
35
- /** Changes what a person is; for an administrator. */
36
- updatePerson(id: string, patch: RestPersonPatch): Promise<RestPerson>;
32
+ /** What the events of a project are filtered by: those about one task, one run, one decision or one document. */
33
+ export interface EventFilter {
34
+ readonly task?: string | undefined;
35
+ readonly run?: string | undefined;
36
+ readonly decision?: string | undefined;
37
+ readonly document?: string | undefined;
38
+ }
39
+ /** What a folder's listing, or a search, of the documents is narrowed to. */
40
+ export interface DocumentFilter {
41
+ /** The folder to list, `""` or left out for the root. */
42
+ readonly folder?: string | undefined;
43
+ /** Words to find pages by; given, the folder is not looked at. */
44
+ readonly q?: string | undefined;
45
+ /** Whether archived pages are listed too. */
46
+ readonly archived?: boolean | undefined;
47
+ }
48
+ /** The board of one project, as the asker may see and change it. */
49
+ export interface ProjectClient {
50
+ /** The key the project is reached by. */
51
+ readonly key: string;
52
+ /** The project, with what the asker is in it. */
53
+ get(signal?: AbortSignal): Promise<RestProject>;
54
+ /** Changes the project's settings; for an owner. */
55
+ update(patch: RestProjectPatch): Promise<RestProject>;
56
+ /** Those listed in the project, by login. */
57
+ members(signal?: AbortSignal): Promise<RestMembers>;
58
+ /** Lists a person of the workspace in the project; for an owner. */
59
+ addMember(input: RestMemberInput): Promise<RestMember>;
60
+ updateMember(personId: string, patch: RestMemberPatch): Promise<RestMember>;
61
+ removeMember(personId: string): Promise<void>;
37
62
  tasks(filter?: {
38
63
  readonly state?: TaskState;
39
64
  }, signal?: AbortSignal): Promise<RestTasks>;
@@ -54,6 +79,8 @@ export interface ConsoleClient {
54
79
  awaitDecision(id: string, waitSeconds: number, signal?: AbortSignal): Promise<RestDecision>;
55
80
  raiseDecision(input: RestDecisionInput): Promise<RestDecision>;
56
81
  answerDecision(id: string, input: RestAnswerInput): Promise<RestDecision>;
82
+ /** Grows a decision's record: its context, or what followed. */
83
+ updateDecision(id: string, patch: RestDecisionPatch): Promise<RestDecision>;
57
84
  /** The runs, newest first; or only those on one task, only the open ones, only the asker's own. */
58
85
  runs(filter?: {
59
86
  readonly task?: string;
@@ -73,12 +100,44 @@ export interface ConsoleClient {
73
100
  fileUrl(artifactId: string): string;
74
101
  /** Ends a run: finished or failed by the agent; abandoned by the person it is for, or an administrator. */
75
102
  endRun(runId: string, input: RestRunEndInput): Promise<RestRun>;
76
- /** What happened after event number `after`; `0` for the beginning. */
77
- events(after: number, signal?: AbortSignal): Promise<RestEvents>;
78
- /** Where an `EventSource` subscribes to what happens after event number `after`. */
103
+ /** What happened in the project after event number `after`; `0` for the beginning. Narrowed by `filter`. */
104
+ events(after: number, filter?: EventFilter, signal?: AbortSignal): Promise<RestEvents>;
105
+ /** Where an `EventSource` subscribes to what happens in the project after event number `after`. */
79
106
  eventStreamUrl(after: number): string;
80
- /** The organization's skills, as SkillCDN serves them at the console's address. */
107
+ /** The project's skills, as SkillCDN serves them at its address, or the organization's. */
81
108
  skills(signal?: AbortSignal): Promise<RestSkills>;
109
+ /** A folder's pages and folders, or the pages a search finds. */
110
+ documents(filter?: DocumentFilter, signal?: AbortSignal): Promise<RestDocuments>;
111
+ /** One document, by its path: its latest version, its links both ways, its files. */
112
+ document(path: string, signal?: AbortSignal): Promise<RestDocument>;
113
+ /** Writes a document at its path, as a new version, or the first one. */
114
+ writeDocument(path: string, input: RestDocumentInput): Promise<RestDocument>;
115
+ /** Puts a document away: kept out of the folders and the search, readable, not written to. */
116
+ archiveDocument(path: string): Promise<RestDocument>;
117
+ /** Brings an archived document back. */
118
+ restoreDocument(path: string): Promise<RestDocument>;
119
+ /** The versions of a document, newest first, each with who wrote it and when. */
120
+ documentVersions(path: string, signal?: AbortSignal): Promise<RestVersions>;
121
+ /** One version of a document, with its body as it was. */
122
+ documentVersion(path: string, number: number, signal?: AbortSignal): Promise<RestVersion>;
123
+ /** Attaches a file to a document: the console keeps the bytes. */
124
+ attachFile(path: string, input: FileUpload): Promise<RestDocument>;
125
+ /** Where the bytes of a file attached to a document are read, by the file's id. */
126
+ documentFileUrl(path: string, fileId: string): string;
127
+ }
128
+ export interface ConsoleClient {
129
+ me(signal?: AbortSignal): Promise<RestMe>;
130
+ people(signal?: AbortSignal): Promise<RestPeople>;
131
+ /** Changes what a person is; for an administrator. */
132
+ updatePerson(id: string, patch: RestPersonPatch): Promise<RestPerson>;
133
+ /** The projects the asker may see, with what they are in each. */
134
+ projects(signal?: AbortSignal): Promise<RestProjects>;
135
+ /** Makes a project, whose owner the asker becomes. */
136
+ createProject(input: RestProjectInput): Promise<RestProject>;
137
+ /** The board of one project. */
138
+ project(key: string): ProjectClient;
139
+ /** The workspace's own events, the ones about no project, after event number `after`. */
140
+ events(after: number, signal?: AbortSignal): Promise<RestEvents>;
82
141
  /** The tokens of whoever asks. */
83
142
  tokens(signal?: AbortSignal): Promise<RestTokens>;
84
143
  /** Makes a token; the answer carries the secret, this once. */