@abe-ing/cli 0.4.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -67,6 +67,7 @@ abe task create "Fix login race" \
67
67
  # Update any field (send only what changes)
68
68
  abe task update 91 --priority P0 --labels auth,p0
69
69
  abe task update 91 --board other-board # move to another board
70
+ abe task update 91 --body-file spec.md # replace the task DOC from markdown (- = stdin); --body "..." inline
70
71
 
71
72
  abe task move 91 --column in_review
72
73
  abe task complete 91
@@ -75,9 +76,14 @@ abe task complete 91
75
76
  abe task list --board engineering # your OPEN tasks on that board
76
77
  abe task list --board engineering --all --include-done # full set (admin/full token)
77
78
  abe task board --board engineering # full board state incl. done — best for reconciliation
79
+ abe task board --board engineering --with-bodies # …plus every card's doc as body_markdown, in ONE call
78
80
  abe task show 91 # header + the task BODY (its worksheet doc, rendered as markdown)
79
81
  ```
80
82
 
83
+ **Writing the doc.** `--body <markdown>` / `--body-file <path>` (`-` reads stdin) **replace the whole task doc**: the markdown is converted server-side (headings, lists, code, tables, rules, bold/italic), the previous body is kept as a version in ABE, and the markdown source is mirrored into the task's `description`. `--description` on `update` means the same thing it does on `create` — it *is* the doc — so it also replaces the doc. You need edit permission on the doc itself (creator, admin, an edit share, or a workspace-editable doc) — exit 6 otherwise, and nothing else in the command is applied. Read the current body first (`abe task show`) if you mean to edit rather than rewrite. Saves are last-write-wins with the web editor: don't rewrite a doc someone has open.
84
+
85
+ Supported markdown: `#`–`######` headings, paragraphs, `**bold**` / `*italic*` / `` `code` `` / `[links](url)`, flat `-` and `1.` lists, `> quotes`, fenced code blocks, pipe tables, `---` rules. Nested lists flatten to one level and anything else lands as literal text — so on a read → edit → write round trip, check the result once for docs that use exotic formatting. A blank body is refused (exit 2 / 8) rather than emptying the doc.
86
+
81
87
  `task show` prints the task's `ref` (`ABE-91`, the form to cite in PRs), its `worksheet` id, and the task's body — the linked worksheet doc rendered to markdown — under the header block. `--json` carries the body as `task.body_markdown` (plus `task.description`, the create-time text, and `task.worksheet_id`). Prefer `body_markdown`: `description` stops tracking the doc once it has been edited in the editor. The CLI requests the body with `?render=markdown`; it is `null` when the doc is hidden from your token (e.g. a token without the `tasks` scope, or a private doc you can't see).
82
88
 
83
89
  Invalid `--priority/--type/--size/--status` fail fast (exit 2) before any network call. `--column` is **not** client-validated (columns are per-board) — an invalid column returns the server's `422` listing the valid set.
@@ -106,12 +112,30 @@ Worksheets are ABE's docs. Every task's body is a worksheet (`task.worksheet_id`
106
112
  ```bash
107
113
  abe worksheet show 6325 # "# <title>" then the body as markdown
108
114
  abe --json worksheet show 6325 | jq -r '.worksheet.bodyMarkdown'
115
+ abe worksheet update 6325 --body-file plan.md # replace the whole doc from markdown (- = stdin)
116
+ abe worksheet update 6325 --title "Q3 plan" --body "# Q3 plan\n\n..."
109
117
  ```
110
118
 
111
- The **server** renders the markdown (`GET /worksheets/:id?render=markdown`), so the CLI never carries its own Tiptap converter. Task docs need a token with the `tasks` scope (or `full`) — exit 6 otherwise. Private docs are readable only by their creator, people they're shared with, and workspace admins, exactly as in the web app (exit 7 when not visible). Read-only: edit docs in ABE.
119
+ The **server** renders the markdown (`GET /worksheets/:id?render=markdown`), so the CLI never carries its own Tiptap converter. Task docs need a token with the `tasks` scope (or `full`) — exit 6 otherwise. Private docs are readable only by their creator, people they're shared with, and workspace admins, exactly as in the web app (exit 7 when not visible). `update` replaces the whole body (previous version kept) and/or retitles; same edit permission and last-write-wins caveat as `task update --body-file`.
112
120
 
113
121
  `--json` emits a stable subset of the server's worksheet payload — `id`, `title`, `body` (Tiptap JSON), `bodyMarkdown`, `visibility`, `lastEditedAt`, `createdByName` — never the share token, owner email, or share/mention rosters the web editor receives.
114
122
 
123
+ ## Chat
124
+
125
+ Read channel messages and their threads (read-only). Paste the link exactly as copied from ABE — `https://www.abe.ing/<workspace>?chat=channel&sessionId=<uuid>&message=<id>` — or pass the channel's session id:
126
+
127
+ ```bash
128
+ abe chat show '<link>' # the message + every reply in its thread
129
+ abe chat show <session-uuid> --message 62630
130
+ abe chat messages '<link>' # the channel around that message (">>" marks it)
131
+ abe chat messages <session-uuid> --before 61608 # page back
132
+ abe --json chat show '<link>' | jq -r '.thread.replies[].content'
133
+ ```
134
+
135
+ A link to a **reply** shows the whole thread, with the reply marked `>>`. Only **channel** links work (DM and ABE-chat links exit 2). The token's user must be a **member of the channel** — otherwise the server answers 404 (exit 7); join the channel in ABE or mint the token for a member.
136
+
137
+ `--json` emits a projection of each message — `id`, `parent_message_id`, `role`, `author`, `author_id`, `content`, `created_at`, `edited_at`, `deleted`, `reply_count`, `attachments[]` (`filename`, `content_type`, `url`) — never author emails, avatars, reactions, internal metadata, or the channel's member roster.
138
+
115
139
  ## Members
116
140
 
117
141
  ```bash
package/dist/api.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CliError, EXIT } from './errors.js';
2
+ import { CHAT_NOT_FOUND, pickChannel, pickMessage } from './chat.js';
2
3
  // The worksheet fields the CLI exposes. The server's payload is the web
3
4
  // editor's — it also carries shareToken (a public-share secret),
4
5
  // createdByEmail, and the share/mention/customer rosters — none of which
@@ -58,8 +59,11 @@ export class ApiClient {
58
59
  const qs = q.toString();
59
60
  return this.request('GET', `/tasks${qs ? `?${qs}` : ''}`);
60
61
  }
61
- boardState(boardId) {
62
- return this.request('GET', `/tasks/board?board_id=${boardId}`);
62
+ // `withBodies` opts every card into its doc (`body_markdown`) in one call —
63
+ // the bulk read behind `abe task board --with-bodies`.
64
+ boardState(boardId, opts = {}) {
65
+ const render = opts.withBodies ? '&render=markdown' : '';
66
+ return this.request('GET', `/tasks/board?board_id=${boardId}${render}`);
63
67
  }
64
68
  // Opts in to the rendered body (`body_markdown`); the web app calls the
65
69
  // same route without it and gets the lean projection.
@@ -74,6 +78,13 @@ export class ApiClient {
74
78
  const { worksheet } = await this.request('GET', `/worksheets/${id}?render=markdown`);
75
79
  return { worksheet: pickWorksheet(worksheet ?? {}) };
76
80
  }
81
+ // Replace a doc's body with markdown (converted server-side) and/or retitle
82
+ // it. The endpoint reads a NESTED { worksheet: {...} } wrapper (unlike
83
+ // /tasks). Same edit permission as the web editor; last write wins.
84
+ async updateWorksheet(id, fields) {
85
+ const { worksheet } = await this.request('PUT', `/worksheets/${id}`, { worksheet: fields });
86
+ return { worksheet: pickWorksheet(worksheet ?? {}) };
87
+ }
77
88
  createTask(body) {
78
89
  return this.request('POST', '/tasks', body);
79
90
  }
@@ -113,6 +124,52 @@ export class ApiClient {
113
124
  listMembers() {
114
125
  return this.request('GET', '/members');
115
126
  }
127
+ // A channel message and its whole thread. A link can point at a REPLY;
128
+ // then we re-read from its parent so the reader always gets the full
129
+ // conversation (`requested_message_id` keeps what was asked for).
130
+ async getChatThread(sessionId, messageId) {
131
+ let res = await this.chatRequest(`/channels/${sessionId}/messages/${messageId}/replies`);
132
+ const parentId = res.parent?.parent_message_id;
133
+ if (typeof parentId === 'number') {
134
+ res = await this.chatRequest(`/channels/${sessionId}/messages/${parentId}/replies`);
135
+ }
136
+ return {
137
+ session_id: sessionId,
138
+ requested_message_id: messageId,
139
+ parent: pickMessage(res.parent ?? {}),
140
+ replies: (res.replies ?? []).map(pickMessage),
141
+ };
142
+ }
143
+ // A page of a channel's top-level messages: the latest page, a window
144
+ // centred on `around` (a permalink), or the page older than `before`.
145
+ async listChannelMessages(sessionId, opts = {}) {
146
+ const q = new URLSearchParams();
147
+ if (opts.around !== undefined)
148
+ q.set('around', String(opts.around));
149
+ if (opts.before !== undefined)
150
+ q.set('before', String(opts.before));
151
+ const qs = q.toString();
152
+ const res = await this.chatRequest(`/channels/${sessionId}${qs ? `?${qs}` : ''}`);
153
+ return {
154
+ channel: pickChannel(res.channel ?? {}),
155
+ messages: (res.messages ?? []).map(pickMessage),
156
+ has_more: !!res.has_more,
157
+ has_more_after: !!res.has_more_after,
158
+ ...(res.window ? { window: { found: !!res.window.found, target_message_id: res.window.target_message_id ?? null } } : {}),
159
+ };
160
+ }
161
+ // The channel endpoints answer 404 for a channel the token's user is not
162
+ // in — say so, because that (not a bad id) is the usual cause.
163
+ async chatRequest(p) {
164
+ try {
165
+ return await this.request('GET', p);
166
+ }
167
+ catch (e) {
168
+ if (e instanceof CliError && e.exitCode === EXIT.NOT_FOUND)
169
+ throw new CliError(CHAT_NOT_FOUND, EXIT.NOT_FOUND);
170
+ throw e;
171
+ }
172
+ }
116
173
  }
117
174
  function safeJson(t) {
118
175
  try {
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/chat.js ADDED
@@ -0,0 +1,77 @@
1
+ // Channel chat reads: turn whatever an agent was handed (a web chat link or a
2
+ // bare channel session id) into the ids the API wants, and project the
3
+ // server's message payload down to what a reader needs.
4
+ //
5
+ // Links look like https://www.abe.ing/<slug>?chat=channel&sessionId=<uuid>&message=<id>
6
+ // (the slug segment is optional). Only channel links resolve to a REST read
7
+ // today — DM and ABE-conversation links name other chat surfaces.
8
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
9
+ // Returns the parsed ref, or an error string the caller wraps in its own
10
+ // error type (the CLI exits with USAGE; the MCP server returns a tool error).
11
+ export function parseChatRef(input, messageOverride) {
12
+ const raw = input.trim();
13
+ let sessionId = null;
14
+ let messageParam = null;
15
+ if (UUID.test(raw)) {
16
+ sessionId = raw;
17
+ }
18
+ else {
19
+ let url;
20
+ try {
21
+ url = new URL(raw);
22
+ }
23
+ catch {
24
+ return { error: `Expected an ABE chat link or a channel session id, got "${input}".` };
25
+ }
26
+ const kind = url.searchParams.get('chat');
27
+ if (kind && kind !== 'channel') {
28
+ return { error: `Only channel chat links can be read for now — this link is a "${kind}" chat.` };
29
+ }
30
+ sessionId = url.searchParams.get('sessionId');
31
+ messageParam = url.searchParams.get('message');
32
+ if (!sessionId)
33
+ return { error: 'That link has no sessionId — copy the link from a channel message in ABE.' };
34
+ if (!UUID.test(sessionId))
35
+ return { error: `The link's sessionId "${sessionId}" is not a channel session id.` };
36
+ }
37
+ const rawMessage = messageOverride ?? messageParam;
38
+ if (rawMessage === null || rawMessage === undefined || rawMessage === '')
39
+ return { sessionId };
40
+ const messageId = Number(rawMessage);
41
+ if (!Number.isInteger(messageId) || messageId <= 0)
42
+ return { error: `Message id must be a positive integer, got "${rawMessage}".` };
43
+ return { sessionId, messageId };
44
+ }
45
+ // The server's payload is the web client's: it carries each author's email
46
+ // and avatar URL plus internal metadata and reactions. None of that belongs
47
+ // on an agent's stdout or in its transcript — keep the readable subset.
48
+ export function pickMessage(raw) {
49
+ const user = (raw.user ?? null);
50
+ const thread = (raw.thread ?? null);
51
+ const attachments = Array.isArray(raw.attachments) ? raw.attachments : [];
52
+ return {
53
+ id: raw.id,
54
+ parent_message_id: raw.parent_message_id ?? null,
55
+ role: String(raw.role ?? ''),
56
+ author: user?.name ?? null,
57
+ author_id: user?.id ?? null,
58
+ content: String(raw.content ?? ''),
59
+ created_at: String(raw.created_at ?? ''),
60
+ edited_at: raw.edited_at ?? null,
61
+ deleted: raw.deleted === true,
62
+ reply_count: Number(thread?.reply_count ?? 0),
63
+ attachments: attachments.map((a) => ({
64
+ filename: String(a.filename ?? ''),
65
+ content_type: a.content_type ?? null,
66
+ url: a.url ?? null,
67
+ })),
68
+ };
69
+ }
70
+ // The channel payload also carries the member roster (with emails); keep
71
+ // only what identifies the channel.
72
+ export function pickChannel(raw) {
73
+ return { session_id: String(raw.session_id ?? ''), name: raw.name ?? null };
74
+ }
75
+ export const CHAT_NOT_FOUND = "Channel or message not found — or this token's user is not a member of the channel. " +
76
+ 'Channels are readable only by their members: join the channel in ABE (or mint the token for a member), then retry.';
77
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { CliError, EXIT } from '../errors.js';
3
+ // Resolve the markdown for a doc write from `--body <markdown>` or
4
+ // `--body-file <path>` (`-` reads stdin, so `cat plan.md | abe task update 91
5
+ // --body-file -` works). Exactly one of the two; neither → undefined (no body
6
+ // write requested). Fails fast (exit 2) before any network call.
7
+ export function resolveBodyMarkdown(o) {
8
+ if (o.body !== undefined && o.bodyFile !== undefined) {
9
+ throw new CliError('Pass either --body or --body-file, not both.', EXIT.USAGE);
10
+ }
11
+ let body;
12
+ if (o.body !== undefined) {
13
+ body = o.body;
14
+ }
15
+ else if (o.bodyFile !== undefined) {
16
+ try {
17
+ body = readFileSync(o.bodyFile === '-' ? 0 : o.bodyFile, 'utf8');
18
+ }
19
+ catch (e) {
20
+ throw new CliError(`Could not read --body-file ${o.bodyFile}: ${e.message}`, EXIT.USAGE);
21
+ }
22
+ }
23
+ // A blank body is a mistake (empty file, wrong redirect), not a request to
24
+ // empty the doc — the server refuses it too (422); fail here before any call.
25
+ if (body !== undefined && body.trim() === '') {
26
+ throw new CliError('The body is empty — a doc can\'t be emptied from the CLI; edit it in ABE.', EXIT.USAGE);
27
+ }
28
+ return body;
29
+ }
30
+ //# sourceMappingURL=bodyInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bodyInput.js","sourceRoot":"","sources":["../../src/commands/bodyInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAO7C,mEAAmE;AACnE,8EAA8E;AAC9E,8EAA8E;AAC9E,iEAAiE;AACjE,MAAM,UAAU,mBAAmB,CAAC,CAAY;IAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,8CAA8C,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,IAAwB,CAAA;IAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;IACf,CAAC;SAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,KAAM,CAAW,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,QAAQ,CAAC,2EAA2E,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7G,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { CliError, EXIT } from '../errors.js';
2
+ import { buildContext } from '../context.js';
3
+ import { printChannelMessages, printChatThread } from '../output.js';
4
+ import { parseChatRef } from '../chat.js';
5
+ // Read-only channel chat. Both commands take what QA pastes — the web link
6
+ // (…?chat=channel&sessionId=<uuid>&message=<id>) — or a bare channel
7
+ // session id. The token's user must be a member of the channel.
8
+ function resolveRef(input, message) {
9
+ const ref = parseChatRef(input, message);
10
+ if ('error' in ref)
11
+ throw new CliError(ref.error, EXIT.USAGE);
12
+ return ref;
13
+ }
14
+ function positiveInt(flag, value) {
15
+ if (value === undefined)
16
+ return undefined;
17
+ const n = Number(value);
18
+ if (!Number.isInteger(n) || n <= 0)
19
+ throw new CliError(`${flag} must be a positive integer, got "${value}".`, EXIT.USAGE);
20
+ return n;
21
+ }
22
+ export function registerChatCommands(program) {
23
+ const chat = program.command('chat').description('Read channel messages and their threads (read-only)');
24
+ chat
25
+ .command('show <link-or-session-id>')
26
+ .description('Show a channel message and every reply in its thread (a link to a reply shows the whole thread)')
27
+ .option('--message <id>', 'message id (overrides the link\'s message=)')
28
+ .action(async (input, o, cmd) => {
29
+ const ref = resolveRef(input, o.message);
30
+ if (ref.messageId === undefined) {
31
+ throw new CliError('No message to show — pass a link to a message or --message <id>. To browse a channel use `abe chat messages`.', EXIT.USAGE);
32
+ }
33
+ const { client, json } = buildContext(cmd.optsWithGlobals());
34
+ printChatThread(await client.getChatThread(ref.sessionId, ref.messageId), { json });
35
+ });
36
+ chat
37
+ .command('messages <link-or-session-id>')
38
+ .description("List a channel's messages: the latest page, or a window around a message (a link's message= or --around)")
39
+ .option('--around <id>', 'centre the page on this message')
40
+ .option('--before <id>', 'the page of messages older than this one')
41
+ .action(async (input, o, cmd) => {
42
+ const ref = resolveRef(input);
43
+ const before = positiveInt('--before', o.before);
44
+ const around = positiveInt('--around', o.around) ?? (before === undefined ? ref.messageId : undefined);
45
+ const { client, json } = buildContext(cmd.optsWithGlobals());
46
+ printChannelMessages(await client.listChannelMessages(ref.sessionId, { around, before }), { json });
47
+ });
48
+ }
49
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { CliError, EXIT } from '../errors.js';
2
2
  import { buildContext } from '../context.js';
3
3
  import { printTasks, printTask, emit, status } from '../output.js';
4
4
  import { PRIORITIES, TASK_TYPES, SIZES, STATUSES, assertEnum } from '../enums.js';
5
+ import { resolveBodyMarkdown } from './bodyInput.js';
5
6
  // Resolve a board reference (numeric id or slug/name) to a numeric id.
6
7
  async function resolveBoardId(client, ref) {
7
8
  if (/^\d+$/.test(ref))
@@ -91,17 +92,26 @@ export function registerTaskCommands(program) {
91
92
  const { task: created } = await client.createTask(body);
92
93
  if (json)
93
94
  emit({ task: created }, { json });
94
- else
95
+ else {
95
96
  status(`Created task #${created.id} "${created.title}" on board ${boardId}.`);
97
+ // The link goes to stdout on its own line so scripts and agents can
98
+ // capture it (`url=$(abe task create ...)`) and hand it to a person.
99
+ if (created.url)
100
+ process.stdout.write(`${created.url}\n`);
101
+ }
96
102
  });
97
103
  addTaskFlags(task
98
104
  .command('update <id>')
99
- .description('Update any task property')
105
+ .description('Update any task property, or replace its doc (--body / --body-file; --description does the same)')
100
106
  .option('--title <text>', 'new title')
101
107
  .option('--board <slugOrId>', 'move to another board')
102
108
  .option('--status <status>', `status (${STATUSES.join('|')})`)
103
- .option('--display-order <n>', 'sort order', (v) => Number(v))).action(async (id, o, cmd) => {
109
+ .option('--display-order <n>', 'sort order', (v) => Number(v))
110
+ .option('--body <markdown>', 'replace the task doc with this markdown')
111
+ .option('--body-file <path>', 'replace the task doc with this markdown file (- = stdin)')).action(async (id, o, cmd) => {
104
112
  validateEnums(o);
113
+ // Resolve before auth/network so a bad flag combo or unreadable file exits 2 fast.
114
+ const bodyMarkdown = resolveBodyMarkdown(o);
105
115
  const { client, json } = buildContext(cmd.optsWithGlobals());
106
116
  const extra = {};
107
117
  if (o.board !== undefined)
@@ -111,6 +121,8 @@ export function registerTaskCommands(program) {
111
121
  const titleOpt = o.title;
112
122
  if (titleOpt !== undefined)
113
123
  extra.title = titleOpt;
124
+ if (bodyMarkdown !== undefined)
125
+ extra.body_markdown = bodyMarkdown;
114
126
  const { task: updated } = await client.updateTask(Number(id), buildBody(o, extra));
115
127
  if (json)
116
128
  emit({ task: updated }, { json });
@@ -173,10 +185,11 @@ export function registerTaskCommands(program) {
173
185
  .command('board')
174
186
  .description('Full board state (all columns incl. done) — the truest source for reconciliation')
175
187
  .requiredOption('--board <slugOrId>')
188
+ .option('--with-bodies', 'include each task\'s doc as body_markdown (one call instead of one `task show` per task)')
176
189
  .action(async (o, cmd) => {
177
190
  const { client, json } = buildContext(cmd.optsWithGlobals());
178
191
  const boardId = await resolveBoardId(client, o.board);
179
- const state = await client.boardState(boardId);
192
+ const state = await client.boardState(boardId, { withBodies: !!o.withBodies });
180
193
  emit(state, { json });
181
194
  if (!json)
182
195
  status(JSON.stringify(state, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/commands/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/commands/tasks.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
+ import { CliError, EXIT } from '../errors.js';
1
2
  import { buildContext } from '../context.js';
2
- import { printWorksheet } from '../output.js';
3
+ import { printWorksheet, emit, status } from '../output.js';
4
+ import { resolveBodyMarkdown } from './bodyInput.js';
3
5
  // Worksheets are ABE's docs. Every task's body lives in its linked worksheet
4
- // (`abe task show` prints it inline); other pages/specs/plans are worksheets
5
- // too. Read-only here — the doc editor owns writes.
6
+ // (`abe task show` prints it; `abe task update --body-file` replaces it);
7
+ // other pages/specs/plans are worksheets too. `show` reads, `update` replaces
8
+ // the whole doc from markdown (converted server-side) and/or retitles it.
6
9
  export function registerWorksheetCommands(program) {
7
- const worksheet = program.command('worksheet').description('Read worksheets (the docs behind tasks and other pages)');
10
+ const worksheet = program.command('worksheet').description('Read and update worksheets (the docs behind tasks and other pages)');
8
11
  worksheet
9
12
  .command('show <id>')
10
13
  .description('Show a worksheet with its body rendered as markdown')
@@ -13,5 +16,28 @@ export function registerWorksheetCommands(program) {
13
16
  const { worksheet: found } = await client.getWorksheet(Number(id));
14
17
  printWorksheet(found, { json });
15
18
  });
19
+ worksheet
20
+ .command('update <id>')
21
+ .description('Replace a worksheet\'s body from markdown (--body / --body-file, - = stdin) and/or set its title')
22
+ .option('--title <text>', 'new title')
23
+ .option('--body <markdown>', 'replace the doc with this markdown')
24
+ .option('--body-file <path>', 'replace the doc with this markdown file (- = stdin)')
25
+ .action(async (id, o, cmd) => {
26
+ const bodyMarkdown = resolveBodyMarkdown(o);
27
+ if (bodyMarkdown === undefined && o.title === undefined) {
28
+ throw new CliError('Nothing to update — pass --title, --body, or --body-file.', EXIT.USAGE);
29
+ }
30
+ const { client, json } = buildContext(cmd.optsWithGlobals());
31
+ const fields = {};
32
+ if (o.title !== undefined)
33
+ fields.title = o.title;
34
+ if (bodyMarkdown !== undefined)
35
+ fields.bodyMarkdown = bodyMarkdown;
36
+ const { worksheet: updated } = await client.updateWorksheet(Number(id), fields);
37
+ if (json)
38
+ emit({ worksheet: updated }, { json });
39
+ else
40
+ status(`Updated worksheet #${updated.id} "${updated.title}"${bodyMarkdown !== undefined ? ' (body replaced)' : ''}.`);
41
+ });
16
42
  }
17
43
  //# sourceMappingURL=worksheets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worksheets.js","sourceRoot":"","sources":["../../src/commands/worksheets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,6EAA6E;AAC7E,6EAA6E;AAC7E,oDAAoD;AACpD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,yDAAyD,CAAC,CAAA;IAErH,SAAS;SACN,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAW,EAAE,GAAY,EAAE,EAAE;QACtD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,EAAgB,CAAC,CAAA;QAC1E,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAClE,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"worksheets.js","sourceRoot":"","sources":["../../src/commands/worksheets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAa,MAAM,gBAAgB,CAAA;AAE/D,6EAA6E;AAC7E,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,oEAAoE,CAAC,CAAA;IAEhI,SAAS;SACN,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAW,EAAE,GAAY,EAAE,EAAE;QACtD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,EAAgB,CAAC,CAAA;QAC1E,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAClE,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEJ,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,kGAAkG,CAAC;SAC/G,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACrC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;SACjE,MAAM,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;SACnF,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,CAAiC,EAAE,GAAY,EAAE,EAAE;QAC5E,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,2DAA2D,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7F,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,EAAgB,CAAC,CAAA;QAC1E,MAAM,MAAM,GAA8C,EAAE,CAAA;QAC5D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QACjD,IAAI,YAAY,KAAK,SAAS;YAAE,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;QAClE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QAC/E,IAAI,IAAI;YAAE,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;;YAC3C,MAAM,CAAC,sBAAsB,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5H,CAAC,CAAC,CAAA;AACN,CAAC"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ import { registerBoardCommands } from './commands/boards.js';
6
6
  import { registerTaskCommands } from './commands/tasks.js';
7
7
  import { registerMembersCommands } from './commands/members.js';
8
8
  import { registerWorksheetCommands } from './commands/worksheets.js';
9
+ import { registerChatCommands } from './commands/chat.js';
9
10
  // Read the version from package.json so `abe --version` never drifts from the
10
11
  // published package (package.json ships alongside dist/ in the npm tarball).
11
12
  function packageVersion() {
@@ -20,7 +21,7 @@ function packageVersion() {
20
21
  export function buildProgram() {
21
22
  const program = new Command('abe');
22
23
  program
23
- .description('Drive ABE project boards, tasks, and worksheets from the command line.')
24
+ .description('Drive ABE project boards, tasks, and worksheets, and read channel chat, from the command line.')
24
25
  .version(packageVersion())
25
26
  .option('--json', 'machine-readable JSON output on stdout (status text goes to stderr)')
26
27
  .option('--api-url <url>', 'ABE API base URL (env: ABE_API_URL)')
@@ -34,6 +35,7 @@ export function buildProgram() {
34
35
  registerTaskCommands(program);
35
36
  registerWorksheetCommands(program);
36
37
  registerMembersCommands(program);
38
+ registerChatCommands(program);
37
39
  return program;
38
40
  }
39
41
  // Run the CLI and translate any thrown error into a stable exit code. Returns
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/output.js CHANGED
@@ -67,6 +67,7 @@ export function printTask(task, opts) {
67
67
  `assignee: ${task.assignee_name ?? '(unassigned)'}`,
68
68
  `labels: ${(task.labels ?? []).join(', ') || '(none)'}`,
69
69
  `worksheet: ${task.worksheet_id ?? '(none)'}`,
70
+ ...(task.url ? [`url: ${task.url}`] : []),
70
71
  ];
71
72
  // The body: the rendered worksheet doc when the server sent a non-empty
72
73
  // one (a doc can legitimately render to nothing), else the create-time
@@ -100,4 +101,45 @@ export function printWorksheet(ws, opts) {
100
101
  status('(empty)');
101
102
  }
102
103
  }
104
+ // One message as a plain block: a greppable header line, then the text. ABE's
105
+ // own messages have no user, so they read as "ABE".
106
+ function chatBlock(m, marker = '') {
107
+ const who = m.author ?? (m.role === 'assistant' ? 'ABE' : m.role || 'unknown');
108
+ const extras = [
109
+ m.reply_count ? `(${m.reply_count} ${m.reply_count === 1 ? 'reply' : 'replies'})` : '',
110
+ m.edited_at ? '(edited)' : '',
111
+ ].filter(Boolean);
112
+ const header = [`${marker}#${m.id}`, who, m.created_at, ...extras].join(' ');
113
+ const body = m.deleted ? '(deleted)' : m.content.trim();
114
+ const files = m.attachments.map((a) => `[attachment] ${a.filename}${a.url ? ` ${a.url}` : ''}`);
115
+ return [header, ...(body ? [body] : []), ...files].join('\n');
116
+ }
117
+ export function printChatThread(thread, opts) {
118
+ if (opts.json)
119
+ return emit({ thread }, opts);
120
+ const parts = [chatBlock(thread.parent)];
121
+ if (thread.replies.length) {
122
+ parts.push(`--- ${thread.replies.length} ${thread.replies.length === 1 ? 'reply' : 'replies'} ---`);
123
+ parts.push(...thread.replies.map((r) => chatBlock(r, r.id === thread.requested_message_id ? '>> ' : '')));
124
+ }
125
+ process.stdout.write(`${parts.join('\n\n')}\n`);
126
+ if (!thread.replies.length)
127
+ status('(no replies)');
128
+ }
129
+ export function printChannelMessages(page, opts) {
130
+ if (opts.json)
131
+ return emit(page, opts);
132
+ if (page.window && !page.window.found)
133
+ status('That message was not found in this channel — showing the latest messages instead.');
134
+ if (!page.messages.length) {
135
+ status('No messages.');
136
+ return;
137
+ }
138
+ const target = page.window?.found ? page.window.target_message_id : null;
139
+ process.stdout.write(`# ${page.channel.name ?? page.channel.session_id}\n\n`);
140
+ const blocks = page.messages.map((m) => chatBlock(m, m.id === target ? '>> ' : ''));
141
+ process.stdout.write(`${blocks.join('\n\n')}\n`);
142
+ if (page.has_more)
143
+ status(`(older messages exist — pass --before ${page.messages[0].id})`);
144
+ }
103
145
  //# sourceMappingURL=output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abe-ing/cli",
3
- "version": "0.4.0",
3
+ "version": "0.7.0",
4
4
  "description": "Command-line interface for driving ABE project boards and tasks, and reading the worksheets behind them.",
5
5
  "type": "module",
6
6
  "bin": {