taskchef 5.6.0 → 5.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskchef",
3
- "version": "5.6.0",
3
+ "version": "5.7.0",
4
4
  "description": "Dispatch work from a data-only workspace to visible Codex project tasks.",
5
5
  "author": {
6
6
  "name": "Favo Yang",
package/README.md CHANGED
@@ -244,8 +244,9 @@ taskchef task summary
244
244
 
245
245
  Workspace resolution is deterministic: `--workspace <path>`, then the
246
246
  `TASKCHEF_WORKSPACE` environment variable, then `~/.agents/taskchef`. The
247
- current directory is never an implicit workspace. Data commands accept
248
- `--json` for machine-readable output. Run `taskchef help` for every option.
247
+ current directory is never an implicit workspace. Data commands use concise
248
+ human-readable output by default and accept `--json` for machine-readable
249
+ output. Run `taskchef help` for every option.
249
250
 
250
251
  `taskchef dispatch prepare --json` is the CLI equivalent of the MCP
251
252
  `prepare_dispatch` operation: it resolves the canonical workspace, loads and
@@ -371,6 +372,7 @@ Inspect the task history without querying Codex tasks:
371
372
 
372
373
  ```sh
373
374
  taskchef task show c0f010ff
375
+ taskchef task show c0f010ff --json
374
376
  taskchef task list
375
377
  taskchef task list --project payments
376
378
  taskchef task list --ascending
@@ -384,10 +386,30 @@ UUID-shaped IDs use their first eight-character section by default; pass
384
386
  with other empty table cells. Tasks are newest-first by default; pass
385
387
  `--ascending` to list them from oldest to newest. ID formatting does not alter
386
388
  the complete values in `--json` output, and the selected order applies to its
387
- `tasks` array. `task show` accepts either the full task ID or the exact
388
- eight-character task ID printed by the default human-readable list. A short ID
389
- must identify exactly one recorded task; use `task list --full-id` when a short
390
- ID is missing or ambiguous.
389
+ `tasks` array.
390
+
391
+ `task show` accepts either the full task ID or the exact eight-character task
392
+ ID printed by the default human-readable list. A short ID must identify exactly
393
+ one recorded task; use `task list --full-id` when a short ID is missing or
394
+ ambiguous. Its default output labels the title, project name and path, creation
395
+ time, full task and thread IDs, and instruction. A null thread ID appears as
396
+ `-`, and multiline instructions retain their original line breaks and
397
+ indentation. Pass `--json` to receive the unchanged complete task object.
398
+
399
+ ```text
400
+ Title: Add retry logs
401
+ Project: payments
402
+ Project path: /workspace/payments
403
+ Created: 2026-08-12T10:00:00.000Z
404
+ Task ID: c0f010ff-84f2-4838-a69d-0ff1f5d721d7
405
+ Thread ID: 019f9d46-f42c-7482-9707-3c107bf241ee
406
+ Instruction:
407
+ <!-- taskchef_id=c0f010ff-84f2-4838-a69d-0ff1f5d721d7 -->
408
+
409
+ Add structured logs for failed payment retries and test them.
410
+ ```
411
+
412
+ The list remains a compact table:
391
413
 
392
414
  ```text
393
415
  TITLE PROJECT CREATED ID THREAD ID
package/SPEC.md CHANGED
@@ -296,10 +296,15 @@ it was not recorded.
296
296
 
297
297
  The CLI reads persisted history without contacting Codex:
298
298
 
299
- - `task show <id-or-8-character-prefix>` returns one entry. The short form is
300
- the exact ID text printed by the default human-readable `task list` output
301
- and succeeds only when it identifies exactly one recorded task. Missing,
302
- ambiguous, malformed, and shorter prefixes fail without selecting a task.
299
+ - `task show <id-or-8-character-prefix>` returns one entry. By default it emits
300
+ labeled human-readable lines for title, project name and path, creation time,
301
+ full task ID, thread ID, and instruction. A null thread ID renders as `-`.
302
+ The instruction starts on the line after `Instruction:` and retains its
303
+ stored line breaks and indentation. `--json` returns the unchanged complete
304
+ task object. The short form is the exact ID text printed by the default
305
+ human-readable `task list` output and succeeds only when it identifies
306
+ exactly one recorded task. Missing, ambiguous, malformed, shorter, and
307
+ wrong-case prefixes fail without selecting a task.
303
308
  - `task list` returns entries newest-first by creation time, optionally filtered
304
309
  by historical project name or exact path. `--ascending` returns oldest-first.
305
310
  Human rows include task and thread ID columns, abbreviating UUID-shaped IDs
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskchef",
3
- "version": "5.6.0",
3
+ "version": "5.7.0",
4
4
  "description": "A non-blocking interactive dispatcher for visible Codex tasks.",
5
5
  "license": "MIT",
6
6
  "author": "Favo Yang",
package/src/cli.js CHANGED
@@ -161,6 +161,19 @@ function displayId(value, fullId) {
161
161
  return uuidSection ? uuidSection[0] : value;
162
162
  }
163
163
 
164
+ function taskDetails(task) {
165
+ return [
166
+ `Title: ${task.title}`,
167
+ `Project: ${task.project.name}`,
168
+ `Project path: ${task.project.path}`,
169
+ `Created: ${task.createdAt}`,
170
+ `Task ID: ${task.id}`,
171
+ `Thread ID: ${task.threadId ?? "-"}`,
172
+ "Instruction:",
173
+ task.instruction,
174
+ ].join("\n");
175
+ }
176
+
164
177
  async function readTaskForShow(workspace, taskId) {
165
178
  const id = requireSafeId(taskId, "taskId");
166
179
  const tasks = await listTasks(workspace);
@@ -348,7 +361,7 @@ async function taskResolve(args) {
348
361
 
349
362
  async function taskShow(args) {
350
363
  validateCommandArgs(args, 3, { values: ["--workspace"], switches: ["--json"] });
351
- print(await readTaskForShow(workspaceRoot(args), args[2]), args);
364
+ print(await readTaskForShow(workspaceRoot(args), args[2]), args, taskDetails);
352
365
  return 0;
353
366
  }
354
367
 
@@ -407,6 +420,7 @@ Usage:
407
420
 
408
421
  Task record reads one JSON value from closed, non-interactive standard input.
409
422
  Task show accepts a full task ID or the exact 8-character ID printed by task list.
423
+ Task show prints human-readable details by default; --json prints the complete task object.
410
424
  Project import reads a JSON
411
425
  array from a file, or from standard input when the source is '-' or omitted.
412
426
  Workspace resolution precedence is --workspace, TASKCHEF_WORKSPACE, then