@mindfoldhq/trellis 0.6.0-beta.11 → 0.6.0-beta.13

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 (91) hide show
  1. package/dist/commands/channel/context.d.ts +16 -0
  2. package/dist/commands/channel/context.d.ts.map +1 -0
  3. package/dist/commands/channel/context.js +83 -0
  4. package/dist/commands/channel/context.js.map +1 -0
  5. package/dist/commands/channel/create.d.ts +15 -8
  6. package/dist/commands/channel/create.d.ts.map +1 -1
  7. package/dist/commands/channel/create.js +26 -97
  8. package/dist/commands/channel/create.js.map +1 -1
  9. package/dist/commands/channel/index.d.ts.map +1 -1
  10. package/dist/commands/channel/index.js +195 -9
  11. package/dist/commands/channel/index.js.map +1 -1
  12. package/dist/commands/channel/kill.d.ts +1 -0
  13. package/dist/commands/channel/kill.d.ts.map +1 -1
  14. package/dist/commands/channel/kill.js +16 -13
  15. package/dist/commands/channel/kill.js.map +1 -1
  16. package/dist/commands/channel/list.d.ts +1 -0
  17. package/dist/commands/channel/list.d.ts.map +1 -1
  18. package/dist/commands/channel/list.js +27 -17
  19. package/dist/commands/channel/list.js.map +1 -1
  20. package/dist/commands/channel/messages.d.ts +3 -0
  21. package/dist/commands/channel/messages.d.ts.map +1 -1
  22. package/dist/commands/channel/messages.js +86 -58
  23. package/dist/commands/channel/messages.js.map +1 -1
  24. package/dist/commands/channel/rm.d.ts +2 -0
  25. package/dist/commands/channel/rm.d.ts.map +1 -1
  26. package/dist/commands/channel/rm.js +15 -5
  27. package/dist/commands/channel/rm.js.map +1 -1
  28. package/dist/commands/channel/run.js +1 -1
  29. package/dist/commands/channel/run.js.map +1 -1
  30. package/dist/commands/channel/send.d.ts +2 -0
  31. package/dist/commands/channel/send.d.ts.map +1 -1
  32. package/dist/commands/channel/send.js +18 -32
  33. package/dist/commands/channel/send.js.map +1 -1
  34. package/dist/commands/channel/spawn.d.ts +1 -0
  35. package/dist/commands/channel/spawn.d.ts.map +1 -1
  36. package/dist/commands/channel/spawn.js +14 -11
  37. package/dist/commands/channel/spawn.js.map +1 -1
  38. package/dist/commands/channel/store/events.d.ts +33 -14
  39. package/dist/commands/channel/store/events.d.ts.map +1 -1
  40. package/dist/commands/channel/store/events.js +56 -33
  41. package/dist/commands/channel/store/events.js.map +1 -1
  42. package/dist/commands/channel/store/filter.d.ts +3 -0
  43. package/dist/commands/channel/store/filter.d.ts.map +1 -0
  44. package/dist/commands/channel/store/filter.js +2 -0
  45. package/dist/commands/channel/store/filter.js.map +1 -0
  46. package/dist/commands/channel/store/paths.d.ts +7 -0
  47. package/dist/commands/channel/store/paths.d.ts.map +1 -1
  48. package/dist/commands/channel/store/paths.js +76 -17
  49. package/dist/commands/channel/store/paths.js.map +1 -1
  50. package/dist/commands/channel/store/schema.d.ts +27 -0
  51. package/dist/commands/channel/store/schema.d.ts.map +1 -0
  52. package/dist/commands/channel/store/schema.js +34 -0
  53. package/dist/commands/channel/store/schema.js.map +1 -0
  54. package/dist/commands/channel/store/thread-state.d.ts +5 -0
  55. package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
  56. package/dist/commands/channel/store/thread-state.js +16 -0
  57. package/dist/commands/channel/store/thread-state.js.map +1 -0
  58. package/dist/commands/channel/store/watch.d.ts +4 -21
  59. package/dist/commands/channel/store/watch.d.ts.map +1 -1
  60. package/dist/commands/channel/store/watch.js +8 -54
  61. package/dist/commands/channel/store/watch.js.map +1 -1
  62. package/dist/commands/channel/supervisor.d.ts +1 -1
  63. package/dist/commands/channel/supervisor.d.ts.map +1 -1
  64. package/dist/commands/channel/supervisor.js +11 -10
  65. package/dist/commands/channel/supervisor.js.map +1 -1
  66. package/dist/commands/channel/text-body.d.ts +13 -0
  67. package/dist/commands/channel/text-body.d.ts.map +1 -0
  68. package/dist/commands/channel/text-body.js +47 -0
  69. package/dist/commands/channel/text-body.js.map +1 -0
  70. package/dist/commands/channel/threads.d.ts +39 -0
  71. package/dist/commands/channel/threads.d.ts.map +1 -0
  72. package/dist/commands/channel/threads.js +106 -0
  73. package/dist/commands/channel/threads.js.map +1 -0
  74. package/dist/commands/channel/title.d.ts +12 -0
  75. package/dist/commands/channel/title.d.ts.map +1 -0
  76. package/dist/commands/channel/title.js +24 -0
  77. package/dist/commands/channel/title.js.map +1 -0
  78. package/dist/commands/channel/wait.d.ts +3 -0
  79. package/dist/commands/channel/wait.d.ts.map +1 -1
  80. package/dist/commands/channel/wait.js +9 -8
  81. package/dist/commands/channel/wait.js.map +1 -1
  82. package/dist/migrations/manifests/0.6.0-beta.12.json +9 -0
  83. package/dist/migrations/manifests/0.6.0-beta.13.json +9 -0
  84. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +127 -9
  85. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +62 -0
  86. package/dist/templates/markdown/spec/guides/index.md.txt +18 -0
  87. package/dist/utils/task-json.d.ts +9 -42
  88. package/dist/utils/task-json.d.ts.map +1 -1
  89. package/dist/utils/task-json.js +8 -45
  90. package/dist/utils/task-json.js.map +1 -1
  91. package/package.json +9 -8
@@ -1,5 +1,6 @@
1
1
  import chalk from "chalk";
2
2
  import { isProvider, listProviders } from "./adapters/index.js";
3
+ import { channelContextAdd, channelContextDelete, channelContextList, } from "./context.js";
3
4
  import { createChannel } from "./create.js";
4
5
  import { parseTrace } from "./dev-parse-trace.js";
5
6
  import { channelKill } from "./kill.js";
@@ -9,8 +10,11 @@ import { channelPrune, channelRm } from "./rm.js";
9
10
  import { channelSend } from "./send.js";
10
11
  import { channelRun } from "./run.js";
11
12
  import { channelSpawn } from "./spawn.js";
13
+ import { channelThreadPost, channelThreadRename, channelThreadShow, channelThreadsList, } from "./threads.js";
14
+ import { channelTitleClear, channelTitleSet } from "./title.js";
12
15
  import { runSupervisor } from "./supervisor.js";
13
16
  import { channelWait, parseDuration } from "./wait.js";
17
+ import { parseCsv } from "./store/schema.js";
14
18
  export function registerChannelCommand(program) {
15
19
  const channel = program
16
20
  .command("channel")
@@ -18,9 +22,16 @@ export function registerChannelCommand(program) {
18
22
  channel
19
23
  .command("create <name>")
20
24
  .description("Create a new channel (collaboration session)")
25
+ .option("--scope <scope>", "channel scope: project | global")
26
+ .option("--type <type>", "channel type: chat | threads", "chat")
21
27
  .option("--task <path>", "associated Trellis task directory")
22
28
  .option("--project <slug>", "project slug")
23
29
  .option("--labels <csv>", "comma-separated labels")
30
+ .option("--description <text>", "stable channel description")
31
+ .option("--context-file <absolute-path>", "absolute file path attached as channel context (repeatable)", (val, prev) => [...(prev ?? []), val], [])
32
+ .option("--context-raw <text>", "raw channel context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
33
+ .option("--linked-context-file <absolute-path>", "[deprecated alias for --context-file] absolute file path (repeatable)", (val, prev) => [...(prev ?? []), val], [])
34
+ .option("--linked-context-raw <text>", "[deprecated alias for --context-raw] raw context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
24
35
  .option("--cwd <path>", "working directory recorded in the create event")
25
36
  .option("--by <agent>", "agent name recorded as the creator", "main")
26
37
  .option("--force", "overwrite existing channel with the same name")
@@ -38,7 +49,9 @@ export function registerChannelCommand(program) {
38
49
  .command("send <name>")
39
50
  .description("Send a message into the channel")
40
51
  .requiredOption("--as <agent>", "agent name sending")
41
- .option("--kind <tag>", "tag (e.g. interrupt / phase_done / question)")
52
+ .option("--scope <scope>", "channel scope: project | global")
53
+ .option("--tag <tag>", "tag (e.g. interrupt / phase_done / question)")
54
+ .option("--kind <tag>", "legacy alias for --tag")
42
55
  .option("--to <agents>", "comma-separated target agents (default: broadcast)")
43
56
  .option("--stdin", "read message body from stdin")
44
57
  .option("--text-file <path>", "read message body from file")
@@ -51,6 +64,8 @@ export function registerChannelCommand(program) {
51
64
  text,
52
65
  stdin: opts.stdin,
53
66
  textFile: opts.textFile,
67
+ scope: opts.scope,
68
+ tag: opts.tag,
54
69
  kind: opts.kind,
55
70
  to: opts.to,
56
71
  });
@@ -64,10 +79,13 @@ export function registerChannelCommand(program) {
64
79
  .command("wait <name>")
65
80
  .description("Block until an event matching the filter arrives, or timeout")
66
81
  .requiredOption("--as <agent>", "agent name waiting")
82
+ .option("--scope <scope>", "channel scope: project | global")
67
83
  .option("--timeout <duration>", "max wait (e.g. 30s, 2m, 1h)")
68
84
  .option("--from <agents>", "only wake on events from these agents (CSV)")
69
85
  .option("--kind <kind>", "only wake on this event kind")
70
86
  .option("--tag <tag>", "only wake on this user tag")
87
+ .option("--thread <key>", "only wake on this thread key")
88
+ .option("--action <action>", "only wake on this thread action")
71
89
  .option("--to <target>", "only wake on events targeted to this name (default: own agent)")
72
90
  .option("--include-progress", "also wake on progress events")
73
91
  .option("--all", "wait until each agent in --from has produced a matching event (default: first match wins)")
@@ -80,6 +98,9 @@ export function registerChannelCommand(program) {
80
98
  from: opts.from,
81
99
  kind: opts.kind,
82
100
  tag: opts.tag,
101
+ scope: opts.scope,
102
+ thread: opts.thread,
103
+ action: opts.action,
83
104
  to: opts.to,
84
105
  includeProgress: opts.includeProgress,
85
106
  all: opts.all,
@@ -93,6 +114,7 @@ export function registerChannelCommand(program) {
93
114
  channel
94
115
  .command("spawn <name>")
95
116
  .description("Register a worker (claude/codex) into the channel — the worker stays idle until the first `channel send --to <worker>` arrives")
117
+ .option("--scope <scope>", "channel scope: project | global")
96
118
  .option("--agent <agent-name>", "load .trellis/agents/<name>.md (sets default --provider / --model / system prompt)")
97
119
  .option("--provider <provider>", "worker provider: claude | codex (overrides agent)")
98
120
  .option("--as <name>", "worker name in the channel (default: <agent-name> if --agent is set)")
@@ -121,6 +143,7 @@ export function registerChannelCommand(program) {
121
143
  files: opts.file,
122
144
  jsonls: opts.jsonl,
123
145
  by: opts.by,
146
+ scope: opts.scope,
124
147
  });
125
148
  }
126
149
  catch (err) {
@@ -174,9 +197,10 @@ export function registerChannelCommand(program) {
174
197
  channel
175
198
  .command("rm <name>")
176
199
  .description("Kill workers and delete a channel directory entirely")
177
- .action(async (name) => {
200
+ .option("--scope <scope>", "channel scope: project | global")
201
+ .action(async (name, raw) => {
178
202
  try {
179
- await channelRm(name);
203
+ await channelRm(name, raw);
180
204
  }
181
205
  catch (err) {
182
206
  console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
@@ -186,6 +210,7 @@ export function registerChannelCommand(program) {
186
210
  channel
187
211
  .command("prune")
188
212
  .description("Bulk-remove channels by criteria (defaults to dry-run preview)")
213
+ .option("--scope <scope>", "channel scope: project | global")
189
214
  .option("--all", "remove all channels (except live ones and --keep)")
190
215
  .option("--empty", "remove channels with no activity (only create event)")
191
216
  .option("--idle <duration>", "remove channels whose last event is older than this (e.g. 1h, 7d)")
@@ -203,12 +228,8 @@ export function registerChannelCommand(program) {
203
228
  ephemeral: opts.ephemeral,
204
229
  yes: opts.yes,
205
230
  dryRun: !opts.yes,
206
- keep: opts.keep
207
- ? opts.keep
208
- .split(",")
209
- .map((s) => s.trim())
210
- .filter(Boolean)
211
- : undefined,
231
+ keep: parseCsv(opts.keep),
232
+ scope: opts.scope,
212
233
  });
213
234
  }
214
235
  catch (err) {
@@ -219,6 +240,7 @@ export function registerChannelCommand(program) {
219
240
  channel
220
241
  .command("list")
221
242
  .description("List channels in ~/.trellis/channels/ with worker / activity summary")
243
+ .option("--scope <scope>", "channel scope: project | global")
222
244
  .option("--json", "emit JSON instead of a formatted table")
223
245
  .option("--project <slug>", "filter channels whose `task` field contains this substring")
224
246
  .option("--all", "include ephemeral channels (default: hide channels marked ephemeral)")
@@ -236,6 +258,7 @@ export function registerChannelCommand(program) {
236
258
  channel
237
259
  .command("messages <name>")
238
260
  .description("View messages and events in the channel")
261
+ .option("--scope <scope>", "channel scope: project | global")
239
262
  .option("--raw", "print raw JSON (one event per line)")
240
263
  .option("--follow", "stream new events as they arrive (Ctrl-C to stop)")
241
264
  .option("--last <N>", "show only the last N matching events", (v) => Number.parseInt(v, 10))
@@ -244,6 +267,8 @@ export function registerChannelCommand(program) {
244
267
  .option("--from <agents>", "filter by author (CSV)")
245
268
  .option("--to <target>", "filter by routing target")
246
269
  .option("--tag <tag>", "filter by user tag (e.g. interrupt, final_answer)")
270
+ .option("--thread <key>", "filter by thread key")
271
+ .option("--action <action>", "filter by thread action")
247
272
  .option("--no-progress", "hide progress events (tool calls, deltas)")
248
273
  .action(async (name, raw) => {
249
274
  const opts = raw;
@@ -257,6 +282,9 @@ export function registerChannelCommand(program) {
257
282
  from: opts.from,
258
283
  to: opts.to,
259
284
  tag: opts.tag,
285
+ scope: opts.scope,
286
+ thread: opts.thread,
287
+ action: opts.action,
260
288
  noProgress: opts.progress === false,
261
289
  });
262
290
  }
@@ -269,6 +297,7 @@ export function registerChannelCommand(program) {
269
297
  .command("kill <name>")
270
298
  .description("Stop a worker in the channel (SIGTERM, or SIGKILL with --force)")
271
299
  .requiredOption("--as <agent>", "worker agent name")
300
+ .option("--scope <scope>", "channel scope: project | global")
272
301
  .option("--force", "skip graceful shutdown, send SIGKILL immediately")
273
302
  .action(async (name, raw) => {
274
303
  const opts = raw;
@@ -280,6 +309,163 @@ export function registerChannelCommand(program) {
280
309
  process.exit(1);
281
310
  }
282
311
  });
312
+ channel
313
+ .command("post <name> <action>")
314
+ .description("Append a structured thread event to a threads channel")
315
+ .requiredOption("--as <agent>", "agent name posting")
316
+ .option("--scope <scope>", "channel scope: project | global")
317
+ .option("--thread <key>", "thread key (required except opened)")
318
+ .option("--title <text>", "thread title")
319
+ .option("--text <text>", "event body")
320
+ .option("--stdin", "read event body from stdin")
321
+ .option("--text-file <path>", "read event body from file")
322
+ .option("--description <text>", "stable thread description")
323
+ .option("--status <status>", "thread status")
324
+ .option("--labels <csv>", "replace thread labels")
325
+ .option("--assignees <csv>", "replace thread assignees")
326
+ .option("--summary <text>", "thread summary")
327
+ .option("--context-file <absolute-path>", "absolute file path attached as thread context (repeatable)", (val, prev) => [...(prev ?? []), val], [])
328
+ .option("--context-raw <text>", "raw thread context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
329
+ .option("--linked-context-file <absolute-path>", "[deprecated alias for --context-file] absolute file path (repeatable)", (val, prev) => [...(prev ?? []), val], [])
330
+ .option("--linked-context-raw <text>", "[deprecated alias for --context-raw] raw context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
331
+ .action(async (name, action, raw) => {
332
+ try {
333
+ await channelThreadPost(name, {
334
+ ...raw,
335
+ action,
336
+ });
337
+ }
338
+ catch (err) {
339
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
340
+ process.exit(1);
341
+ }
342
+ });
343
+ channel
344
+ .command("threads <name>")
345
+ .description("List threads in a thread channel")
346
+ .option("--scope <scope>", "channel scope: project | global")
347
+ .option("--status <status>", "filter by thread status")
348
+ .option("--raw", "print raw reduced thread JSON")
349
+ .action(async (name, raw) => {
350
+ try {
351
+ await channelThreadsList(name, raw);
352
+ }
353
+ catch (err) {
354
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
355
+ process.exit(1);
356
+ }
357
+ });
358
+ const thread = channel
359
+ .command("thread")
360
+ .description("Show or mutate one thread timeline");
361
+ thread
362
+ .argument("<name>", "channel name")
363
+ .argument("<thread>", "thread key")
364
+ .option("--scope <scope>", "channel scope: project | global")
365
+ .option("--raw", "print raw thread events")
366
+ .action(async (name, threadKey, raw) => {
367
+ try {
368
+ await channelThreadShow(name, threadKey, raw);
369
+ }
370
+ catch (err) {
371
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
372
+ process.exit(1);
373
+ }
374
+ });
375
+ thread
376
+ .command("rename <name> <oldThread> <newThread>")
377
+ .description("Rename a thread inside a threads channel")
378
+ .requiredOption("--as <agent>", "agent name")
379
+ .option("--scope <scope>", "channel scope: project | global")
380
+ .action(async (name, oldThread, newThread, raw) => {
381
+ const opts = raw;
382
+ try {
383
+ await channelThreadRename(name, oldThread, newThread, opts);
384
+ }
385
+ catch (err) {
386
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
387
+ process.exit(1);
388
+ }
389
+ });
390
+ const context = channel
391
+ .command("context")
392
+ .description("Manage channel-level or thread-level context entries");
393
+ const addContextOptions = (cmd) => cmd
394
+ .option("--as <agent>", "agent name", "main")
395
+ .option("--scope <scope>", "channel scope: project | global")
396
+ .option("--thread <key>", "mutate thread-level context instead of channel-level")
397
+ .option("--file <absolute-path>", "absolute file path (repeatable)", (val, prev) => [...(prev ?? []), val], [])
398
+ .option("--raw <text>", "raw text entry (repeatable)", (val, prev) => [...(prev ?? []), val], []);
399
+ addContextOptions(context.command("add <name>"))
400
+ .description("Add context entries")
401
+ .action(async (name, raw) => {
402
+ try {
403
+ await channelContextAdd(name, raw);
404
+ }
405
+ catch (err) {
406
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
407
+ process.exit(1);
408
+ }
409
+ });
410
+ addContextOptions(context.command("delete <name>"))
411
+ .description("Delete context entries")
412
+ .action(async (name, raw) => {
413
+ try {
414
+ await channelContextDelete(name, raw);
415
+ }
416
+ catch (err) {
417
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
418
+ process.exit(1);
419
+ }
420
+ });
421
+ context
422
+ .command("list <name>")
423
+ .description("List projected current context entries")
424
+ .option("--scope <scope>", "channel scope: project | global")
425
+ .option("--thread <key>", "show thread-level context instead of channel-level")
426
+ .option("--raw", "print one context entry JSON per line")
427
+ .action(async (name, raw) => {
428
+ try {
429
+ await channelContextList(name, raw);
430
+ }
431
+ catch (err) {
432
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
433
+ process.exit(1);
434
+ }
435
+ });
436
+ const title = channel
437
+ .command("title")
438
+ .description("Set or clear the channel display title");
439
+ title
440
+ .command("set <name>")
441
+ .description("Set the channel display title")
442
+ .option("--as <agent>", "agent name", "main")
443
+ .option("--scope <scope>", "channel scope: project | global")
444
+ .requiredOption("--title <text>", "display title")
445
+ .action(async (name, raw) => {
446
+ const opts = raw;
447
+ try {
448
+ await channelTitleSet(name, opts);
449
+ }
450
+ catch (err) {
451
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
452
+ process.exit(1);
453
+ }
454
+ });
455
+ title
456
+ .command("clear <name>")
457
+ .description("Clear the channel display title")
458
+ .option("--as <agent>", "agent name", "main")
459
+ .option("--scope <scope>", "channel scope: project | global")
460
+ .action(async (name, raw) => {
461
+ try {
462
+ await channelTitleClear(name, raw);
463
+ }
464
+ catch (err) {
465
+ console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
466
+ process.exit(1);
467
+ }
468
+ });
283
469
  // Hidden: supervisor entry point invoked by `channel spawn` via fork.
284
470
  channel
285
471
  .command("__supervisor <channel> <worker> <config>")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export interface KillOptions {
2
2
  as: string;
3
3
  force?: boolean;
4
+ scope?: string;
4
5
  }
5
6
  export declare function channelKill(channelName: string, opts: KillOptions): Promise<void>;
6
7
  //# sourceMappingURL=kill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kill.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/kill.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"kill.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/kill.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1,18 +1,21 @@
1
1
  import fs from "node:fs";
2
2
  import { appendEvent } from "./store/events.js";
3
3
  import { withLock } from "./store/lock.js";
4
- import { selectExistingChannelProject, workerFile, workerLockPath, } from "./store/paths.js";
4
+ import { resolveExistingChannelRef, workerFile, workerLockPath, } from "./store/paths.js";
5
+ import { parseChannelScope } from "./store/schema.js";
5
6
  const POLL_INTERVAL_MS = 100;
6
7
  const KILL_GRACE_MS = 8000; // generous: supervisor's own grace is ~6s
7
8
  export async function channelKill(channelName, opts) {
8
- selectExistingChannelProject(channelName);
9
+ const ref = resolveExistingChannelRef(channelName, {
10
+ scope: parseChannelScope(opts.scope),
11
+ });
9
12
  // Take the worker lock so kill ↔ spawn can't race: spawn won't claim a
10
13
  // stale pid file while we're tearing it down; we won't try to kill a
11
14
  // worker whose pid file is mid-creation.
12
- return withLock(workerLockPath(channelName, opts.as), () => killLocked(channelName, opts), { maxWaitMs: KILL_GRACE_MS + 2000 });
15
+ return withLock(workerLockPath(channelName, opts.as, ref.project), () => killLocked(channelName, opts, ref.project), { maxWaitMs: KILL_GRACE_MS + 2000 });
13
16
  }
14
- async function killLocked(channelName, opts) {
15
- const pidPath = workerFile(channelName, opts.as, "pid");
17
+ async function killLocked(channelName, opts, project) {
18
+ const pidPath = workerFile(channelName, opts.as, "pid", project);
16
19
  if (!fs.existsSync(pidPath)) {
17
20
  throw new Error(`Worker '${opts.as}' not running in channel '${channelName}'`);
18
21
  }
@@ -23,13 +26,13 @@ async function killLocked(channelName, opts) {
23
26
  by: `cli:kill`,
24
27
  message: `supervisor lost (pid ${supervisorPid})`,
25
28
  worker: opts.as,
26
- });
27
- cleanupFiles(channelName, opts.as);
29
+ }, project);
30
+ cleanupFiles(channelName, opts.as, project);
28
31
  return;
29
32
  }
30
33
  if (opts.force) {
31
34
  // Also kill the inner worker so it doesn't become an orphan.
32
- const workerPidPath = workerFile(channelName, opts.as, "worker-pid");
35
+ const workerPidPath = workerFile(channelName, opts.as, "worker-pid", project);
33
36
  if (fs.existsSync(workerPidPath)) {
34
37
  const wpid = Number(fs.readFileSync(workerPidPath, "utf-8").trim());
35
38
  if (wpid && alive(wpid)) {
@@ -56,7 +59,7 @@ async function killLocked(channelName, opts) {
56
59
  worker: opts.as,
57
60
  reason: "explicit-kill",
58
61
  signal: "SIGKILL",
59
- });
62
+ }, project);
60
63
  }
61
64
  else {
62
65
  try {
@@ -88,9 +91,9 @@ async function killLocked(channelName, opts) {
88
91
  reason: "explicit-kill",
89
92
  signal: "SIGKILL",
90
93
  detail: "grace expired, supervisor SIGKILL'd by CLI",
91
- });
94
+ }, project);
92
95
  }
93
- cleanupFiles(channelName, opts.as);
96
+ cleanupFiles(channelName, opts.as, project);
94
97
  }
95
98
  function alive(pid) {
96
99
  try {
@@ -101,11 +104,11 @@ function alive(pid) {
101
104
  return false;
102
105
  }
103
106
  }
104
- function cleanupFiles(channelName, worker) {
107
+ function cleanupFiles(channelName, worker, project) {
105
108
  // Keep `log` (forensic), `session-id` / `thread-id` (resume).
106
109
  for (const suffix of ["pid", "worker-pid", "config", "spawnlock"]) {
107
110
  try {
108
- fs.unlinkSync(workerFile(channelName, worker, suffix));
111
+ fs.unlinkSync(workerFile(channelName, worker, suffix, project));
109
112
  }
110
113
  catch {
111
114
  // already gone
@@ -1 +1 @@
1
- {"version":3,"file":"kill.js","sourceRoot":"","sources":["../../../src/commands/channel/kill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,4BAA4B,EAC5B,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAO1B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,0CAA0C;AAEtE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,IAAiB;IAEjB,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC1C,uEAAuE;IACvE,qEAAqE;IACrE,yCAAyC;IACzC,OAAO,QAAQ,CACb,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,EACnC,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,EAAE,CACpC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,WAAmB,EACnB,IAAiB;IAEjB,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,EAAE,6BAA6B,WAAW,GAAG,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,MAAM,WAAW,CAAC,WAAW,EAAE;YAC7B,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,wBAAwB,aAAa,GAAG;YACjD,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,6DAA6D;QAC7D,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,iEAAiE;QACjE,kEAAkE;QAClE,6CAA6C;QAC7C,MAAM,WAAW,CAAC,WAAW,EAAE;YAC7B,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;IAC5C,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QACrD,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,oEAAoE;QACpE,sEAAsE;QACtE,iDAAiD;QACjD,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,MAAM,WAAW,CAAC,WAAW,EAAE;YAC7B,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,4CAA4C;SACrD,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB,EAAE,MAAc;IACvD,8DAA8D;IAC9D,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"kill.js","sourceRoot":"","sources":["../../../src/commands/channel/kill.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface ListOptions {
11
11
  all?: boolean;
12
12
  /** Scan every project bucket, not just the current cwd's. */
13
13
  allProjects?: boolean;
14
+ scope?: string;
14
15
  }
15
16
  export declare function channelList(opts?: ListOptions): Promise<void>;
16
17
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/list.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,WAAW,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEvE"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/list.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuCH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EvE"}
@@ -7,12 +7,19 @@
7
7
  import fs from "node:fs";
8
8
  import path from "node:path";
9
9
  import chalk from "chalk";
10
+ import { isCreateEvent, reduceChannelMetadata, } from "./store/events.js";
10
11
  import { channelDir, currentProjectKey, listProjects, migrateLegacyChannels, projectDir, } from "./store/paths.js";
12
+ import { GLOBAL_PROJECT_KEY, parseChannelScope } from "./store/schema.js";
11
13
  export async function channelList(opts = {}) {
12
14
  // Move any pre-bucket flat channels into `_legacy/` before listing,
13
15
  // so the new layout is the authoritative view.
14
16
  migrateLegacyChannels();
15
- const projects = opts.allProjects ? listProjects() : [currentProjectKey()];
17
+ const scope = parseChannelScope(opts.scope);
18
+ const projects = scope === "global"
19
+ ? [GLOBAL_PROJECT_KEY]
20
+ : opts.allProjects
21
+ ? listProjects()
22
+ : [currentProjectKey()];
16
23
  const summaries = [];
17
24
  for (const project of projects) {
18
25
  const dir = projectDir(project);
@@ -86,27 +93,24 @@ function summarize(name, project) {
86
93
  let firstEvent = null;
87
94
  let lastEvent = null;
88
95
  let totalEvents = 0;
96
+ const events = [];
89
97
  try {
90
- // Single read — chop first / last lines out of one buffer. Avoids
91
- // the previous double-read (head 8KB + whole file) which doubled
92
- // syscall cost on every list call.
93
98
  const allText = fs.readFileSync(eventsFile, "utf-8");
94
99
  const lines = allText.split("\n").filter((l) => l.trim());
95
100
  totalEvents = lines.length;
96
- if (lines.length > 0) {
101
+ for (const line of lines) {
97
102
  try {
98
- firstEvent = JSON.parse(lines[0]);
103
+ events.push(JSON.parse(line));
99
104
  }
100
105
  catch {
101
- // ignore
102
- }
103
- try {
104
- lastEvent = JSON.parse(lines[lines.length - 1]);
105
- }
106
- catch {
107
- // ignore
106
+ // skip corrupted lines
108
107
  }
109
108
  }
109
+ if (events.length > 0) {
110
+ const first = events[0];
111
+ firstEvent = isCreateEvent(first) ? first : null;
112
+ lastEvent = events[events.length - 1];
113
+ }
110
114
  }
111
115
  catch {
112
116
  return null;
@@ -129,18 +133,22 @@ function summarize(name, project) {
129
133
  catch {
130
134
  // ignore
131
135
  }
136
+ // Use the full event-stream reducer so projected metadata reflects
137
+ // title set/clear, context add/delete, and legacy linkedContext.
138
+ const metadata = reduceChannelMetadata(events);
132
139
  return {
133
140
  name,
134
141
  project,
135
142
  createdAt: firstEvent?.ts,
136
- task: firstEvent ? firstEvent.task : undefined,
143
+ task: firstEvent?.task,
144
+ type: metadata.type,
145
+ description: metadata.title ?? metadata.description,
137
146
  workersAlive,
138
147
  workersTotal,
139
148
  lastEventTs: lastEvent?.ts,
140
149
  lastEventKind: lastEvent?.kind,
141
150
  totalEvents,
142
- ephemeral: firstEvent !== null &&
143
- firstEvent.ephemeral === true,
151
+ ephemeral: firstEvent?.ephemeral === true,
144
152
  };
145
153
  }
146
154
  function pidAlive(pid) {
@@ -159,6 +167,7 @@ function printTable(rows) {
159
167
  { key: "events", label: "EVENTS", width: 7 },
160
168
  { key: "last", label: "LAST", width: 19 },
161
169
  { key: "kind", label: "KIND", width: 9 },
170
+ { key: "type", label: "TYPE", width: 7 },
162
171
  { key: "task", label: "TASK", width: 0 }, // last column, no truncate
163
172
  ];
164
173
  // Header
@@ -177,7 +186,7 @@ function printTable(rows) {
177
186
  ? r.lastEventTs.slice(0, 19).replace("T", " ")
178
187
  : "-";
179
188
  const kind = colorKind(r.lastEventKind);
180
- const task = r.task ? trunc(r.task, 60) : "-";
189
+ const task = r.task ?? r.description ?? "-";
181
190
  console.log([
182
191
  name.padEnd(cols[0].width),
183
192
  // workers cell needs visible-width padding (chalk adds ANSI bytes)
@@ -185,6 +194,7 @@ function printTable(rows) {
185
194
  events.padEnd(cols[2].width),
186
195
  last.padEnd(cols[3].width),
187
196
  padVisible(kind, cols[4].width),
197
+ r.type.padEnd(cols[5].width),
188
198
  task,
189
199
  ].join(" "));
190
200
  }