@mindfoldhq/trellis 0.6.0-beta.11 → 0.6.0-beta.12
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/dist/commands/channel/create.d.ts +5 -0
- package/dist/commands/channel/create.d.ts.map +1 -1
- package/dist/commands/channel/create.js +19 -15
- package/dist/commands/channel/create.js.map +1 -1
- package/dist/commands/channel/index.d.ts.map +1 -1
- package/dist/commands/channel/index.js +90 -9
- package/dist/commands/channel/index.js.map +1 -1
- package/dist/commands/channel/kill.d.ts +1 -0
- package/dist/commands/channel/kill.d.ts.map +1 -1
- package/dist/commands/channel/kill.js +16 -13
- package/dist/commands/channel/kill.js.map +1 -1
- package/dist/commands/channel/list.d.ts +1 -0
- package/dist/commands/channel/list.d.ts.map +1 -1
- package/dist/commands/channel/list.js +18 -6
- package/dist/commands/channel/list.js.map +1 -1
- package/dist/commands/channel/messages.d.ts +3 -0
- package/dist/commands/channel/messages.d.ts.map +1 -1
- package/dist/commands/channel/messages.js +88 -58
- package/dist/commands/channel/messages.js.map +1 -1
- package/dist/commands/channel/rm.d.ts +2 -0
- package/dist/commands/channel/rm.d.ts.map +1 -1
- package/dist/commands/channel/rm.js +15 -5
- package/dist/commands/channel/rm.js.map +1 -1
- package/dist/commands/channel/run.js +1 -1
- package/dist/commands/channel/run.js.map +1 -1
- package/dist/commands/channel/send.d.ts +2 -0
- package/dist/commands/channel/send.d.ts.map +1 -1
- package/dist/commands/channel/send.js +9 -10
- package/dist/commands/channel/send.js.map +1 -1
- package/dist/commands/channel/spawn.d.ts +1 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -1
- package/dist/commands/channel/spawn.js +14 -11
- package/dist/commands/channel/spawn.js.map +1 -1
- package/dist/commands/channel/store/events.d.ts +61 -6
- package/dist/commands/channel/store/events.d.ts.map +1 -1
- package/dist/commands/channel/store/events.js +53 -9
- package/dist/commands/channel/store/events.js.map +1 -1
- package/dist/commands/channel/store/filter.d.ts +33 -0
- package/dist/commands/channel/store/filter.d.ts.map +1 -0
- package/dist/commands/channel/store/filter.js +63 -0
- package/dist/commands/channel/store/filter.js.map +1 -0
- package/dist/commands/channel/store/paths.d.ts +7 -0
- package/dist/commands/channel/store/paths.d.ts.map +1 -1
- package/dist/commands/channel/store/paths.js +76 -17
- package/dist/commands/channel/store/paths.js.map +1 -1
- package/dist/commands/channel/store/schema.d.ts +36 -0
- package/dist/commands/channel/store/schema.d.ts.map +1 -0
- package/dist/commands/channel/store/schema.js +91 -0
- package/dist/commands/channel/store/schema.js.map +1 -0
- package/dist/commands/channel/store/thread-state.d.ts +19 -0
- package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
- package/dist/commands/channel/store/thread-state.js +81 -0
- package/dist/commands/channel/store/thread-state.js.map +1 -0
- package/dist/commands/channel/store/watch.d.ts +4 -21
- package/dist/commands/channel/store/watch.d.ts.map +1 -1
- package/dist/commands/channel/store/watch.js +8 -54
- package/dist/commands/channel/store/watch.js.map +1 -1
- package/dist/commands/channel/supervisor.d.ts +1 -1
- package/dist/commands/channel/supervisor.d.ts.map +1 -1
- package/dist/commands/channel/supervisor.js +11 -10
- package/dist/commands/channel/supervisor.js.map +1 -1
- package/dist/commands/channel/threads.d.ts +28 -0
- package/dist/commands/channel/threads.d.ts.map +1 -0
- package/dist/commands/channel/threads.js +96 -0
- package/dist/commands/channel/threads.js.map +1 -0
- package/dist/commands/channel/wait.d.ts +3 -0
- package/dist/commands/channel/wait.d.ts.map +1 -1
- package/dist/commands/channel/wait.js +9 -8
- package/dist/commands/channel/wait.js.map +1 -1
- package/dist/migrations/manifests/0.6.0-beta.12.json +9 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +128 -9
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +62 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +18 -0
- package/package.json +1 -1
|
@@ -3,6 +3,11 @@ export interface CreateOptions {
|
|
|
3
3
|
project?: string;
|
|
4
4
|
labels?: string;
|
|
5
5
|
cwd?: string;
|
|
6
|
+
scope?: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
linkedContextFile?: string[];
|
|
10
|
+
linkedContextRaw?: string[];
|
|
6
11
|
by?: string;
|
|
7
12
|
force?: boolean;
|
|
8
13
|
/** Mark this channel as ephemeral — `channel list` hides it by default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/create.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;8DAG0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;iCAG6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAqDf"}
|
|
@@ -1,37 +1,41 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { appendEvent } from "./store/events.js";
|
|
4
|
-
import { channelDir,
|
|
4
|
+
import { channelDir, ensureBucketMarker, eventsPath, resolveChannelProjectForCreate, } from "./store/paths.js";
|
|
5
|
+
import { parseCsv, parseChannelScope, parseChannelType, parseLinkedContext, } from "./store/schema.js";
|
|
5
6
|
export async function createChannel(name, opts) {
|
|
6
|
-
const
|
|
7
|
-
const
|
|
7
|
+
const scope = parseChannelScope(opts.scope) ?? "project";
|
|
8
|
+
const ref = resolveChannelProjectForCreate(name, { scope, cwd: opts.cwd });
|
|
9
|
+
const channelType = parseChannelType(opts.type);
|
|
10
|
+
const linkedContext = parseLinkedContext(opts.linkedContextFile, opts.linkedContextRaw);
|
|
11
|
+
const events = eventsPath(name, ref.project);
|
|
12
|
+
const dir = ref.dir;
|
|
8
13
|
if (fs.existsSync(events) && !opts.force) {
|
|
9
14
|
throw new Error(`Channel '${name}' already exists at ${dir}. Use --force to overwrite.`);
|
|
10
15
|
}
|
|
11
16
|
if (opts.force && fs.existsSync(dir)) {
|
|
12
|
-
await forceCleanChannel(name);
|
|
17
|
+
await forceCleanChannel(name, ref.project);
|
|
13
18
|
}
|
|
14
19
|
// Stamp the project bucket so future migrations and `listProjects`
|
|
15
20
|
// recognise it (project key derives from the cwd at create time).
|
|
16
|
-
ensureBucketMarker(
|
|
21
|
+
ensureBucketMarker(ref.project);
|
|
17
22
|
const cwd = opts.cwd ?? process.cwd();
|
|
18
|
-
const labels = opts.labels
|
|
19
|
-
? opts.labels
|
|
20
|
-
.split(",")
|
|
21
|
-
.map((l) => l.trim())
|
|
22
|
-
.filter((l) => l.length > 0)
|
|
23
|
-
: undefined;
|
|
23
|
+
const labels = parseCsv(opts.labels);
|
|
24
24
|
await appendEvent(name, {
|
|
25
25
|
kind: "create",
|
|
26
26
|
by: opts.by ?? "main",
|
|
27
27
|
cwd,
|
|
28
|
+
scope: ref.scope,
|
|
29
|
+
type: channelType,
|
|
28
30
|
...(opts.task ? { task: opts.task } : {}),
|
|
29
31
|
...(opts.project ? { project: opts.project } : {}),
|
|
30
32
|
...(labels ? { labels } : {}),
|
|
33
|
+
...(opts.description ? { description: opts.description } : {}),
|
|
34
|
+
...(linkedContext ? { linkedContext } : {}),
|
|
31
35
|
...(opts.ephemeral ? { ephemeral: true } : {}),
|
|
32
36
|
...(opts.origin ? { origin: opts.origin } : {}),
|
|
33
|
-
});
|
|
34
|
-
console.log(`Created channel '${name}' at ${dir}`);
|
|
37
|
+
}, ref.project);
|
|
38
|
+
console.log(`Created channel '${name}' (${channelType}) at ${dir}`);
|
|
35
39
|
if (opts.ephemeral) {
|
|
36
40
|
process.stderr.write("ephemeral channel is hidden from `channel list`; use `channel list --all` or `channel prune --ephemeral`\n");
|
|
37
41
|
}
|
|
@@ -45,8 +49,8 @@ export async function createChannel(name, opts) {
|
|
|
45
49
|
* SECURITY: only operates within `~/.trellis/channels/<name>/`. Resolves
|
|
46
50
|
* `name` to an absolute path and refuses to descend outside that root.
|
|
47
51
|
*/
|
|
48
|
-
async function forceCleanChannel(name) {
|
|
49
|
-
const dir = channelDir(name);
|
|
52
|
+
async function forceCleanChannel(name, project) {
|
|
53
|
+
const dir = channelDir(name, project);
|
|
50
54
|
// Kill any live workers first (signal supervisor by pid; on failure,
|
|
51
55
|
// still proceed — the worst case is an orphan process which won't see
|
|
52
56
|
// the new channel anyway because pid files will be gone).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/channel/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/channel/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8oB7D"}
|
|
@@ -9,8 +9,10 @@ import { channelPrune, channelRm } from "./rm.js";
|
|
|
9
9
|
import { channelSend } from "./send.js";
|
|
10
10
|
import { channelRun } from "./run.js";
|
|
11
11
|
import { channelSpawn } from "./spawn.js";
|
|
12
|
+
import { channelThreadPost, channelThreadShow, channelThreadsList, } from "./threads.js";
|
|
12
13
|
import { runSupervisor } from "./supervisor.js";
|
|
13
14
|
import { channelWait, parseDuration } from "./wait.js";
|
|
15
|
+
import { parseCsv } from "./store/schema.js";
|
|
14
16
|
export function registerChannelCommand(program) {
|
|
15
17
|
const channel = program
|
|
16
18
|
.command("channel")
|
|
@@ -18,9 +20,14 @@ export function registerChannelCommand(program) {
|
|
|
18
20
|
channel
|
|
19
21
|
.command("create <name>")
|
|
20
22
|
.description("Create a new channel (collaboration session)")
|
|
23
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
24
|
+
.option("--type <type>", "channel type: chat | thread", "chat")
|
|
21
25
|
.option("--task <path>", "associated Trellis task directory")
|
|
22
26
|
.option("--project <slug>", "project slug")
|
|
23
27
|
.option("--labels <csv>", "comma-separated labels")
|
|
28
|
+
.option("--description <text>", "stable channel description")
|
|
29
|
+
.option("--linked-context-file <absolute-path>", "absolute file path attached as linked context (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
30
|
+
.option("--linked-context-raw <text>", "raw linked context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
24
31
|
.option("--cwd <path>", "working directory recorded in the create event")
|
|
25
32
|
.option("--by <agent>", "agent name recorded as the creator", "main")
|
|
26
33
|
.option("--force", "overwrite existing channel with the same name")
|
|
@@ -38,7 +45,9 @@ export function registerChannelCommand(program) {
|
|
|
38
45
|
.command("send <name>")
|
|
39
46
|
.description("Send a message into the channel")
|
|
40
47
|
.requiredOption("--as <agent>", "agent name sending")
|
|
41
|
-
.option("--
|
|
48
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
49
|
+
.option("--tag <tag>", "tag (e.g. interrupt / phase_done / question)")
|
|
50
|
+
.option("--kind <tag>", "legacy alias for --tag")
|
|
42
51
|
.option("--to <agents>", "comma-separated target agents (default: broadcast)")
|
|
43
52
|
.option("--stdin", "read message body from stdin")
|
|
44
53
|
.option("--text-file <path>", "read message body from file")
|
|
@@ -51,6 +60,8 @@ export function registerChannelCommand(program) {
|
|
|
51
60
|
text,
|
|
52
61
|
stdin: opts.stdin,
|
|
53
62
|
textFile: opts.textFile,
|
|
63
|
+
scope: opts.scope,
|
|
64
|
+
tag: opts.tag,
|
|
54
65
|
kind: opts.kind,
|
|
55
66
|
to: opts.to,
|
|
56
67
|
});
|
|
@@ -64,10 +75,13 @@ export function registerChannelCommand(program) {
|
|
|
64
75
|
.command("wait <name>")
|
|
65
76
|
.description("Block until an event matching the filter arrives, or timeout")
|
|
66
77
|
.requiredOption("--as <agent>", "agent name waiting")
|
|
78
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
67
79
|
.option("--timeout <duration>", "max wait (e.g. 30s, 2m, 1h)")
|
|
68
80
|
.option("--from <agents>", "only wake on events from these agents (CSV)")
|
|
69
81
|
.option("--kind <kind>", "only wake on this event kind")
|
|
70
82
|
.option("--tag <tag>", "only wake on this user tag")
|
|
83
|
+
.option("--thread <key>", "only wake on this thread key")
|
|
84
|
+
.option("--action <action>", "only wake on this thread action")
|
|
71
85
|
.option("--to <target>", "only wake on events targeted to this name (default: own agent)")
|
|
72
86
|
.option("--include-progress", "also wake on progress events")
|
|
73
87
|
.option("--all", "wait until each agent in --from has produced a matching event (default: first match wins)")
|
|
@@ -80,6 +94,9 @@ export function registerChannelCommand(program) {
|
|
|
80
94
|
from: opts.from,
|
|
81
95
|
kind: opts.kind,
|
|
82
96
|
tag: opts.tag,
|
|
97
|
+
scope: opts.scope,
|
|
98
|
+
thread: opts.thread,
|
|
99
|
+
action: opts.action,
|
|
83
100
|
to: opts.to,
|
|
84
101
|
includeProgress: opts.includeProgress,
|
|
85
102
|
all: opts.all,
|
|
@@ -93,6 +110,7 @@ export function registerChannelCommand(program) {
|
|
|
93
110
|
channel
|
|
94
111
|
.command("spawn <name>")
|
|
95
112
|
.description("Register a worker (claude/codex) into the channel — the worker stays idle until the first `channel send --to <worker>` arrives")
|
|
113
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
96
114
|
.option("--agent <agent-name>", "load .trellis/agents/<name>.md (sets default --provider / --model / system prompt)")
|
|
97
115
|
.option("--provider <provider>", "worker provider: claude | codex (overrides agent)")
|
|
98
116
|
.option("--as <name>", "worker name in the channel (default: <agent-name> if --agent is set)")
|
|
@@ -121,6 +139,7 @@ export function registerChannelCommand(program) {
|
|
|
121
139
|
files: opts.file,
|
|
122
140
|
jsonls: opts.jsonl,
|
|
123
141
|
by: opts.by,
|
|
142
|
+
scope: opts.scope,
|
|
124
143
|
});
|
|
125
144
|
}
|
|
126
145
|
catch (err) {
|
|
@@ -174,9 +193,10 @@ export function registerChannelCommand(program) {
|
|
|
174
193
|
channel
|
|
175
194
|
.command("rm <name>")
|
|
176
195
|
.description("Kill workers and delete a channel directory entirely")
|
|
177
|
-
.
|
|
196
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
197
|
+
.action(async (name, raw) => {
|
|
178
198
|
try {
|
|
179
|
-
await channelRm(name);
|
|
199
|
+
await channelRm(name, raw);
|
|
180
200
|
}
|
|
181
201
|
catch (err) {
|
|
182
202
|
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
@@ -186,6 +206,7 @@ export function registerChannelCommand(program) {
|
|
|
186
206
|
channel
|
|
187
207
|
.command("prune")
|
|
188
208
|
.description("Bulk-remove channels by criteria (defaults to dry-run preview)")
|
|
209
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
189
210
|
.option("--all", "remove all channels (except live ones and --keep)")
|
|
190
211
|
.option("--empty", "remove channels with no activity (only create event)")
|
|
191
212
|
.option("--idle <duration>", "remove channels whose last event is older than this (e.g. 1h, 7d)")
|
|
@@ -203,12 +224,8 @@ export function registerChannelCommand(program) {
|
|
|
203
224
|
ephemeral: opts.ephemeral,
|
|
204
225
|
yes: opts.yes,
|
|
205
226
|
dryRun: !opts.yes,
|
|
206
|
-
keep: opts.keep
|
|
207
|
-
|
|
208
|
-
.split(",")
|
|
209
|
-
.map((s) => s.trim())
|
|
210
|
-
.filter(Boolean)
|
|
211
|
-
: undefined,
|
|
227
|
+
keep: parseCsv(opts.keep),
|
|
228
|
+
scope: opts.scope,
|
|
212
229
|
});
|
|
213
230
|
}
|
|
214
231
|
catch (err) {
|
|
@@ -219,6 +236,7 @@ export function registerChannelCommand(program) {
|
|
|
219
236
|
channel
|
|
220
237
|
.command("list")
|
|
221
238
|
.description("List channels in ~/.trellis/channels/ with worker / activity summary")
|
|
239
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
222
240
|
.option("--json", "emit JSON instead of a formatted table")
|
|
223
241
|
.option("--project <slug>", "filter channels whose `task` field contains this substring")
|
|
224
242
|
.option("--all", "include ephemeral channels (default: hide channels marked ephemeral)")
|
|
@@ -236,6 +254,7 @@ export function registerChannelCommand(program) {
|
|
|
236
254
|
channel
|
|
237
255
|
.command("messages <name>")
|
|
238
256
|
.description("View messages and events in the channel")
|
|
257
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
239
258
|
.option("--raw", "print raw JSON (one event per line)")
|
|
240
259
|
.option("--follow", "stream new events as they arrive (Ctrl-C to stop)")
|
|
241
260
|
.option("--last <N>", "show only the last N matching events", (v) => Number.parseInt(v, 10))
|
|
@@ -244,6 +263,8 @@ export function registerChannelCommand(program) {
|
|
|
244
263
|
.option("--from <agents>", "filter by author (CSV)")
|
|
245
264
|
.option("--to <target>", "filter by routing target")
|
|
246
265
|
.option("--tag <tag>", "filter by user tag (e.g. interrupt, final_answer)")
|
|
266
|
+
.option("--thread <key>", "filter by thread key")
|
|
267
|
+
.option("--action <action>", "filter by thread action")
|
|
247
268
|
.option("--no-progress", "hide progress events (tool calls, deltas)")
|
|
248
269
|
.action(async (name, raw) => {
|
|
249
270
|
const opts = raw;
|
|
@@ -257,6 +278,9 @@ export function registerChannelCommand(program) {
|
|
|
257
278
|
from: opts.from,
|
|
258
279
|
to: opts.to,
|
|
259
280
|
tag: opts.tag,
|
|
281
|
+
scope: opts.scope,
|
|
282
|
+
thread: opts.thread,
|
|
283
|
+
action: opts.action,
|
|
260
284
|
noProgress: opts.progress === false,
|
|
261
285
|
});
|
|
262
286
|
}
|
|
@@ -269,6 +293,7 @@ export function registerChannelCommand(program) {
|
|
|
269
293
|
.command("kill <name>")
|
|
270
294
|
.description("Stop a worker in the channel (SIGTERM, or SIGKILL with --force)")
|
|
271
295
|
.requiredOption("--as <agent>", "worker agent name")
|
|
296
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
272
297
|
.option("--force", "skip graceful shutdown, send SIGKILL immediately")
|
|
273
298
|
.action(async (name, raw) => {
|
|
274
299
|
const opts = raw;
|
|
@@ -280,6 +305,62 @@ export function registerChannelCommand(program) {
|
|
|
280
305
|
process.exit(1);
|
|
281
306
|
}
|
|
282
307
|
});
|
|
308
|
+
channel
|
|
309
|
+
.command("post <name> <action>")
|
|
310
|
+
.description("Append a structured thread event to a thread channel")
|
|
311
|
+
.requiredOption("--as <agent>", "agent name posting")
|
|
312
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
313
|
+
.option("--thread <key>", "thread key (required except opened)")
|
|
314
|
+
.option("--title <text>", "thread title")
|
|
315
|
+
.option("--text <text>", "event body")
|
|
316
|
+
.option("--description <text>", "stable thread description")
|
|
317
|
+
.option("--status <status>", "thread status")
|
|
318
|
+
.option("--labels <csv>", "replace thread labels")
|
|
319
|
+
.option("--assignees <csv>", "replace thread assignees")
|
|
320
|
+
.option("--summary <text>", "thread summary")
|
|
321
|
+
.option("--linked-context-file <absolute-path>", "absolute file path attached as linked context (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
322
|
+
.option("--linked-context-raw <text>", "raw linked context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
323
|
+
.action(async (name, action, raw) => {
|
|
324
|
+
try {
|
|
325
|
+
await channelThreadPost(name, {
|
|
326
|
+
...raw,
|
|
327
|
+
action,
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
catch (err) {
|
|
331
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
332
|
+
process.exit(1);
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
channel
|
|
336
|
+
.command("threads <name>")
|
|
337
|
+
.description("List threads in a thread channel")
|
|
338
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
339
|
+
.option("--status <status>", "filter by thread status")
|
|
340
|
+
.option("--raw", "print raw reduced thread JSON")
|
|
341
|
+
.action(async (name, raw) => {
|
|
342
|
+
try {
|
|
343
|
+
await channelThreadsList(name, raw);
|
|
344
|
+
}
|
|
345
|
+
catch (err) {
|
|
346
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
347
|
+
process.exit(1);
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
channel
|
|
351
|
+
.command("thread <name> <thread>")
|
|
352
|
+
.description("Show one thread timeline")
|
|
353
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
354
|
+
.option("--raw", "print raw thread events")
|
|
355
|
+
.action(async (name, thread, raw) => {
|
|
356
|
+
try {
|
|
357
|
+
await channelThreadShow(name, thread, raw);
|
|
358
|
+
}
|
|
359
|
+
catch (err) {
|
|
360
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
361
|
+
process.exit(1);
|
|
362
|
+
}
|
|
363
|
+
});
|
|
283
364
|
// Hidden: supervisor entry point invoked by `channel spawn` via fork.
|
|
284
365
|
channel
|
|
285
366
|
.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kill.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/kill.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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
|
-
|
|
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,
|
|
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;
|
|
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, metadataFromCreateEvent, } 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
|
|
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);
|
|
@@ -95,7 +102,8 @@ function summarize(name, project) {
|
|
|
95
102
|
totalEvents = lines.length;
|
|
96
103
|
if (lines.length > 0) {
|
|
97
104
|
try {
|
|
98
|
-
|
|
105
|
+
const parsed = JSON.parse(lines[0]);
|
|
106
|
+
firstEvent = isCreateEvent(parsed) ? parsed : null;
|
|
99
107
|
}
|
|
100
108
|
catch {
|
|
101
109
|
// ignore
|
|
@@ -129,18 +137,20 @@ function summarize(name, project) {
|
|
|
129
137
|
catch {
|
|
130
138
|
// ignore
|
|
131
139
|
}
|
|
140
|
+
const metadata = metadataFromCreateEvent(firstEvent ?? undefined);
|
|
132
141
|
return {
|
|
133
142
|
name,
|
|
134
143
|
project,
|
|
135
144
|
createdAt: firstEvent?.ts,
|
|
136
|
-
task: firstEvent
|
|
145
|
+
task: firstEvent?.task,
|
|
146
|
+
type: metadata.type,
|
|
147
|
+
description: metadata.description,
|
|
137
148
|
workersAlive,
|
|
138
149
|
workersTotal,
|
|
139
150
|
lastEventTs: lastEvent?.ts,
|
|
140
151
|
lastEventKind: lastEvent?.kind,
|
|
141
152
|
totalEvents,
|
|
142
|
-
ephemeral: firstEvent
|
|
143
|
-
firstEvent.ephemeral === true,
|
|
153
|
+
ephemeral: firstEvent?.ephemeral === true,
|
|
144
154
|
};
|
|
145
155
|
}
|
|
146
156
|
function pidAlive(pid) {
|
|
@@ -159,6 +169,7 @@ function printTable(rows) {
|
|
|
159
169
|
{ key: "events", label: "EVENTS", width: 7 },
|
|
160
170
|
{ key: "last", label: "LAST", width: 19 },
|
|
161
171
|
{ key: "kind", label: "KIND", width: 9 },
|
|
172
|
+
{ key: "type", label: "TYPE", width: 7 },
|
|
162
173
|
{ key: "task", label: "TASK", width: 0 }, // last column, no truncate
|
|
163
174
|
];
|
|
164
175
|
// Header
|
|
@@ -177,7 +188,7 @@ function printTable(rows) {
|
|
|
177
188
|
? r.lastEventTs.slice(0, 19).replace("T", " ")
|
|
178
189
|
: "-";
|
|
179
190
|
const kind = colorKind(r.lastEventKind);
|
|
180
|
-
const task = r.task
|
|
191
|
+
const task = r.task ?? r.description ?? "-";
|
|
181
192
|
console.log([
|
|
182
193
|
name.padEnd(cols[0].width),
|
|
183
194
|
// workers cell needs visible-width padding (chalk adds ANSI bytes)
|
|
@@ -185,6 +196,7 @@ function printTable(rows) {
|
|
|
185
196
|
events.padEnd(cols[2].width),
|
|
186
197
|
last.padEnd(cols[3].width),
|
|
187
198
|
padVisible(kind, cols[4].width),
|
|
199
|
+
r.type.padEnd(cols[5].width),
|
|
188
200
|
task,
|
|
189
201
|
].join(" "));
|
|
190
202
|
}
|