@mindfoldhq/trellis 0.6.0-beta.2 → 0.6.0-beta.21
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 +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +58 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/channel/adapters/claude.d.ts +29 -0
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
- package/dist/commands/channel/adapters/claude.js +203 -0
- package/dist/commands/channel/adapters/claude.js.map +1 -0
- package/dist/commands/channel/adapters/codex.d.ts +85 -0
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
- package/dist/commands/channel/adapters/codex.js +505 -0
- package/dist/commands/channel/adapters/codex.js.map +1 -0
- package/dist/commands/channel/adapters/index.d.ts +84 -0
- package/dist/commands/channel/adapters/index.d.ts.map +1 -0
- package/dist/commands/channel/adapters/index.js +115 -0
- package/dist/commands/channel/adapters/index.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +33 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -0
- package/dist/commands/channel/adapters/types.js +2 -0
- package/dist/commands/channel/adapters/types.js.map +1 -0
- package/dist/commands/channel/agent-loader.d.ts +32 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -0
- package/dist/commands/channel/agent-loader.js +154 -0
- package/dist/commands/channel/agent-loader.js.map +1 -0
- package/dist/commands/channel/context-loader.d.ts +26 -0
- package/dist/commands/channel/context-loader.d.ts.map +1 -0
- package/dist/commands/channel/context-loader.js +290 -0
- package/dist/commands/channel/context-loader.js.map +1 -0
- package/dist/commands/channel/context.d.ts +16 -0
- package/dist/commands/channel/context.d.ts.map +1 -0
- package/dist/commands/channel/context.js +83 -0
- package/dist/commands/channel/context.js.map +1 -0
- package/dist/commands/channel/create.d.ts +27 -0
- package/dist/commands/channel/create.d.ts.map +1 -0
- package/dist/commands/channel/create.js +39 -0
- package/dist/commands/channel/create.js.map +1 -0
- package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/channel/dev-parse-trace.js +70 -0
- package/dist/commands/channel/dev-parse-trace.js.map +1 -0
- package/dist/commands/channel/guard.d.ts +150 -0
- package/dist/commands/channel/guard.d.ts.map +1 -0
- package/dist/commands/channel/guard.js +474 -0
- package/dist/commands/channel/guard.js.map +1 -0
- package/dist/commands/channel/index.d.ts +3 -0
- package/dist/commands/channel/index.d.ts.map +1 -0
- package/dist/commands/channel/index.js +531 -0
- package/dist/commands/channel/index.js.map +1 -0
- package/dist/commands/channel/interrupt.d.ts +10 -0
- package/dist/commands/channel/interrupt.d.ts.map +1 -0
- package/dist/commands/channel/interrupt.js +22 -0
- package/dist/commands/channel/interrupt.js.map +1 -0
- package/dist/commands/channel/kill.d.ts +7 -0
- package/dist/commands/channel/kill.d.ts.map +1 -0
- package/dist/commands/channel/kill.js +121 -0
- package/dist/commands/channel/kill.js.map +1 -0
- package/dist/commands/channel/list.d.ts +17 -0
- package/dist/commands/channel/list.d.ts.map +1 -0
- package/dist/commands/channel/list.js +233 -0
- package/dist/commands/channel/list.js.map +1 -0
- package/dist/commands/channel/messages.d.ts +15 -0
- package/dist/commands/channel/messages.d.ts.map +1 -0
- package/dist/commands/channel/messages.js +245 -0
- package/dist/commands/channel/messages.js.map +1 -0
- package/dist/commands/channel/rm.d.ts +27 -0
- package/dist/commands/channel/rm.d.ts.map +1 -0
- package/dist/commands/channel/rm.js +216 -0
- package/dist/commands/channel/rm.js.map +1 -0
- package/dist/commands/channel/run.d.ts +30 -0
- package/dist/commands/channel/run.d.ts.map +1 -0
- package/dist/commands/channel/run.js +130 -0
- package/dist/commands/channel/run.js.map +1 -0
- package/dist/commands/channel/send.d.ts +11 -0
- package/dist/commands/channel/send.d.ts.map +1 -0
- package/dist/commands/channel/send.js +24 -0
- package/dist/commands/channel/send.js.map +1 -0
- package/dist/commands/channel/spawn.d.ts +40 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -0
- package/dist/commands/channel/spawn.js +244 -0
- package/dist/commands/channel/spawn.js.map +1 -0
- package/dist/commands/channel/store/events.d.ts +39 -0
- package/dist/commands/channel/store/events.d.ts.map +1 -0
- package/dist/commands/channel/store/events.js +87 -0
- package/dist/commands/channel/store/events.js.map +1 -0
- package/dist/commands/channel/store/filter.d.ts +3 -0
- package/dist/commands/channel/store/filter.d.ts.map +1 -0
- package/dist/commands/channel/store/filter.js +2 -0
- package/dist/commands/channel/store/filter.js.map +1 -0
- package/dist/commands/channel/store/lock.d.ts +23 -0
- package/dist/commands/channel/store/lock.d.ts.map +1 -0
- package/dist/commands/channel/store/lock.js +99 -0
- package/dist/commands/channel/store/lock.js.map +1 -0
- package/dist/commands/channel/store/paths.d.ts +63 -0
- package/dist/commands/channel/store/paths.d.ts.map +1 -0
- package/dist/commands/channel/store/paths.js +246 -0
- package/dist/commands/channel/store/paths.js.map +1 -0
- package/dist/commands/channel/store/schema.d.ts +27 -0
- package/dist/commands/channel/store/schema.d.ts.map +1 -0
- package/dist/commands/channel/store/schema.js +34 -0
- package/dist/commands/channel/store/schema.js.map +1 -0
- package/dist/commands/channel/store/thread-state.d.ts +5 -0
- package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
- package/dist/commands/channel/store/thread-state.js +16 -0
- package/dist/commands/channel/store/thread-state.js.map +1 -0
- package/dist/commands/channel/store/watch.d.ts +19 -0
- package/dist/commands/channel/store/watch.d.ts.map +1 -0
- package/dist/commands/channel/store/watch.js +146 -0
- package/dist/commands/channel/store/watch.js.map +1 -0
- package/dist/commands/channel/supervisor/idle.d.ts +46 -0
- package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/idle.js +72 -0
- package/dist/commands/channel/supervisor/idle.js.map +1 -0
- package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
- package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/inbox.js +160 -0
- package/dist/commands/channel/supervisor/inbox.js.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.js +146 -0
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
- package/dist/commands/channel/supervisor/stdout.d.ts +51 -0
- package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/stdout.js +121 -0
- package/dist/commands/channel/supervisor/stdout.js.map +1 -0
- package/dist/commands/channel/supervisor/turns.d.ts +31 -0
- package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/turns.js +45 -0
- package/dist/commands/channel/supervisor/turns.js.map +1 -0
- package/dist/commands/channel/supervisor/warning.d.ts +48 -0
- package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/warning.js +77 -0
- package/dist/commands/channel/supervisor/warning.js.map +1 -0
- package/dist/commands/channel/supervisor.d.ts +59 -0
- package/dist/commands/channel/supervisor.d.ts.map +1 -0
- package/dist/commands/channel/supervisor.js +344 -0
- package/dist/commands/channel/supervisor.js.map +1 -0
- package/dist/commands/channel/text-body.d.ts +13 -0
- package/dist/commands/channel/text-body.d.ts.map +1 -0
- package/dist/commands/channel/text-body.js +47 -0
- package/dist/commands/channel/text-body.js.map +1 -0
- package/dist/commands/channel/threads.d.ts +39 -0
- package/dist/commands/channel/threads.d.ts.map +1 -0
- package/dist/commands/channel/threads.js +106 -0
- package/dist/commands/channel/threads.js.map +1 -0
- package/dist/commands/channel/title.d.ts +12 -0
- package/dist/commands/channel/title.d.ts.map +1 -0
- package/dist/commands/channel/title.js +24 -0
- package/dist/commands/channel/title.js.map +1 -0
- package/dist/commands/channel/wait.d.ts +17 -0
- package/dist/commands/channel/wait.d.ts.map +1 -0
- package/dist/commands/channel/wait.js +75 -0
- package/dist/commands/channel/wait.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +97 -42
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mem.d.ts +13 -117
- package/dist/commands/mem.d.ts.map +1 -1
- package/dist/commands/mem.js +168 -1074
- package/dist/commands/mem.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +28 -2
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +31 -111
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts +28 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +84 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/workflow.d.ts +35 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +219 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/configurators/claude.d.ts.map +1 -1
- package/dist/configurators/claude.js +1 -0
- package/dist/configurators/claude.js.map +1 -1
- package/dist/configurators/codex.d.ts.map +1 -1
- package/dist/configurators/codex.js +5 -3
- package/dist/configurators/codex.js.map +1 -1
- package/dist/configurators/shared.js +4 -4
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts +8 -0
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +3 -2
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/migrations/manifests/0.5.10.json +9 -0
- package/dist/migrations/manifests/0.5.11.json +16 -0
- package/dist/migrations/manifests/0.5.12.json +9 -0
- package/dist/migrations/manifests/0.5.13.json +9 -0
- package/dist/migrations/manifests/0.5.14.json +9 -0
- package/dist/migrations/manifests/0.5.15.json +9 -0
- package/dist/migrations/manifests/0.5.16.json +9 -0
- package/dist/migrations/manifests/0.5.17.json +9 -0
- package/dist/migrations/manifests/0.5.18.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.18.json +16 -0
- package/dist/migrations/manifests/0.6.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.20.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.21.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.5.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.6.json +16 -0
- package/dist/migrations/manifests/0.6.0-beta.7.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.9.json +9 -0
- package/dist/templates/claude/agents/trellis-check.md +13 -7
- package/dist/templates/claude/agents/trellis-implement.md +8 -7
- package/dist/templates/claude/settings.json +4 -4
- package/dist/templates/codebuddy/agents/trellis-check.md +13 -7
- package/dist/templates/codebuddy/agents/trellis-implement.md +8 -7
- package/dist/templates/codebuddy/settings.json +4 -4
- package/dist/templates/codex/agents/trellis-check.toml +4 -4
- package/dist/templates/codex/agents/trellis-implement.toml +4 -4
- package/dist/templates/codex/config.toml +9 -16
- package/dist/templates/codex/hooks/session-start.py +205 -119
- package/dist/templates/codex/hooks.json +2 -2
- package/dist/templates/codex/skills/before-dev/SKILL.md +12 -6
- package/dist/templates/codex/skills/brainstorm/SKILL.md +69 -457
- package/dist/templates/codex/skills/check/SKILL.md +86 -18
- package/dist/templates/codex/skills/start/SKILL.md +33 -323
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +7 -4
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +3 -2
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +5 -5
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +35 -6
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +5 -4
- package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/SKILL.md +41 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/mcp-setup.md +90 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/repository-analysis.md +59 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/spec-task-planning.md +61 -0
- package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/spec-writing.md +70 -0
- package/dist/templates/common/commands/continue.md +6 -5
- package/dist/templates/common/commands/start.md +9 -6
- package/dist/templates/common/skills/before-dev.md +12 -6
- package/dist/templates/common/skills/brainstorm.md +68 -504
- package/dist/templates/common/skills/check.md +7 -1
- package/dist/templates/copilot/hooks/session-start.py +219 -101
- package/dist/templates/copilot/hooks.json +2 -2
- package/dist/templates/copilot/prompts/before-dev.prompt.md +12 -6
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +69 -457
- package/dist/templates/copilot/prompts/check.prompt.md +86 -18
- package/dist/templates/copilot/prompts/parallel.prompt.md +16 -8
- package/dist/templates/copilot/prompts/start.prompt.md +33 -367
- package/dist/templates/cursor/agents/trellis-check.md +13 -7
- package/dist/templates/cursor/agents/trellis-implement.md +8 -7
- package/dist/templates/cursor/hooks.json +1 -7
- package/dist/templates/droid/droids/trellis-check.md +13 -7
- package/dist/templates/droid/droids/trellis-implement.md +8 -7
- package/dist/templates/droid/settings.json +4 -4
- package/dist/templates/gemini/agents/trellis-check.md +11 -5
- package/dist/templates/gemini/agents/trellis-implement.md +7 -6
- package/dist/templates/gemini/settings.json +2 -2
- package/dist/templates/kiro/agents/trellis-check.json +1 -1
- package/dist/templates/kiro/agents/trellis-implement.json +1 -1
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +127 -9
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +171 -6
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +333 -43
- package/dist/templates/markdown/spec/guides/index.md.txt +18 -0
- package/dist/templates/opencode/agents/trellis-check.md +13 -7
- package/dist/templates/opencode/agents/trellis-implement.md +9 -8
- package/dist/templates/opencode/lib/session-utils.js +212 -123
- package/dist/templates/opencode/lib/trellis-context.js +73 -11
- package/dist/templates/opencode/plugins/inject-subagent-context.js +131 -29
- package/dist/templates/opencode/plugins/inject-workflow-state.js +9 -5
- package/dist/templates/opencode/plugins/session-start.js +9 -1
- package/dist/templates/pi/agents/trellis-check.md +5 -4
- package/dist/templates/pi/agents/trellis-implement.md +5 -4
- package/dist/templates/pi/extensions/trellis/index.ts.txt +1357 -754
- package/dist/templates/qoder/agents/trellis-check.md +11 -5
- package/dist/templates/qoder/agents/trellis-implement.md +7 -6
- package/dist/templates/qoder/settings.json +4 -4
- package/dist/templates/shared-hooks/index.d.ts.map +1 -1
- package/dist/templates/shared-hooks/index.js +0 -1
- package/dist/templates/shared-hooks/index.js.map +1 -1
- package/dist/templates/shared-hooks/inject-subagent-context.py +36 -14
- package/dist/templates/shared-hooks/inject-workflow-state.py +40 -42
- package/dist/templates/shared-hooks/session-start.py +222 -171
- package/dist/templates/trellis/config.yaml +38 -0
- package/dist/templates/trellis/index.d.ts +1 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +2 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/add_session.py +50 -24
- package/dist/templates/trellis/scripts/common/config.py +57 -1
- package/dist/templates/trellis/scripts/common/safe_commit.py +285 -0
- package/dist/templates/trellis/scripts/common/session_context.py +384 -137
- package/dist/templates/trellis/scripts/common/task_context.py +3 -3
- package/dist/templates/trellis/scripts/common/task_store.py +161 -15
- package/dist/templates/trellis/scripts/common/workflow_phase.py +7 -10
- package/dist/templates/trellis/scripts/task.py +3 -3
- package/dist/templates/trellis/workflow.md +119 -98
- package/dist/utils/cwd-guard.d.ts +38 -0
- package/dist/utils/cwd-guard.d.ts.map +1 -0
- package/dist/utils/cwd-guard.js +62 -0
- package/dist/utils/cwd-guard.js.map +1 -0
- package/dist/utils/file-writer.d.ts +13 -0
- package/dist/utils/file-writer.d.ts.map +1 -1
- package/dist/utils/file-writer.js +59 -1
- package/dist/utils/file-writer.js.map +1 -1
- package/dist/utils/manifest-prune.d.ts +61 -0
- package/dist/utils/manifest-prune.d.ts.map +1 -0
- package/dist/utils/manifest-prune.js +136 -0
- package/dist/utils/manifest-prune.js.map +1 -0
- package/dist/utils/task-json.d.ts +9 -42
- package/dist/utils/task-json.d.ts.map +1 -1
- package/dist/utils/task-json.js +8 -45
- package/dist/utils/task-json.js.map +1 -1
- package/dist/utils/template-hash.d.ts +32 -6
- package/dist/utils/template-hash.d.ts.map +1 -1
- package/dist/utils/template-hash.js +53 -31
- package/dist/utils/template-hash.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts +1 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +21 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/dist/utils/workflow-resolver.d.ts +86 -0
- package/dist/utils/workflow-resolver.d.ts.map +1 -0
- package/dist/utils/workflow-resolver.js +265 -0
- package/dist/utils/workflow-resolver.js.map +1 -0
- package/package.json +9 -8
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { InvalidArgumentError } from "commander";
|
|
3
|
+
import { isProvider, listProviders } from "./adapters/index.js";
|
|
4
|
+
import { channelContextAdd, channelContextDelete, channelContextList, } from "./context.js";
|
|
5
|
+
import { createChannel } from "./create.js";
|
|
6
|
+
import { parseTrace } from "./dev-parse-trace.js";
|
|
7
|
+
import { channelKill } from "./kill.js";
|
|
8
|
+
import { channelInterrupt } from "./interrupt.js";
|
|
9
|
+
import { channelList } from "./list.js";
|
|
10
|
+
import { channelMessages } from "./messages.js";
|
|
11
|
+
import { channelPrune, channelRm } from "./rm.js";
|
|
12
|
+
import { channelSend } from "./send.js";
|
|
13
|
+
import { channelRun } from "./run.js";
|
|
14
|
+
import { channelSpawn } from "./spawn.js";
|
|
15
|
+
import { channelThreadPost, channelThreadRename, channelThreadShow, channelForumList, } from "./threads.js";
|
|
16
|
+
import { channelTitleClear, channelTitleSet } from "./title.js";
|
|
17
|
+
import { runSupervisor } from "./supervisor.js";
|
|
18
|
+
import { channelWait, parseDuration } from "./wait.js";
|
|
19
|
+
import { parseCsv } from "./store/schema.js";
|
|
20
|
+
import { parseInboxPolicy } from "@mindfoldhq/trellis-core/channel";
|
|
21
|
+
function parseNonNegativeInteger(value) {
|
|
22
|
+
if (!/^\d+$/.test(value)) {
|
|
23
|
+
throw new InvalidArgumentError(`expected a non-negative integer, got '${value}'`);
|
|
24
|
+
}
|
|
25
|
+
return Number(value);
|
|
26
|
+
}
|
|
27
|
+
export function registerChannelCommand(program) {
|
|
28
|
+
const channel = program
|
|
29
|
+
.command("channel")
|
|
30
|
+
.description("Multi-agent collaboration runtime — spawn / coordinate / interrupt worker agents through a shared event log");
|
|
31
|
+
channel
|
|
32
|
+
.command("create <name>")
|
|
33
|
+
.description("Create a new channel (collaboration session)")
|
|
34
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
35
|
+
.option("--type <type>", "channel type: chat | forum", "chat")
|
|
36
|
+
.option("--task <path>", "associated Trellis task directory")
|
|
37
|
+
.option("--project <slug>", "project slug")
|
|
38
|
+
.option("--labels <csv>", "comma-separated labels")
|
|
39
|
+
.option("--description <text>", "stable channel description")
|
|
40
|
+
.option("--context-file <absolute-path>", "absolute file path attached as channel context (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
41
|
+
.option("--context-raw <text>", "raw channel context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
42
|
+
.option("--linked-context-file <absolute-path>", "[deprecated alias for --context-file] absolute file path (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
43
|
+
.option("--linked-context-raw <text>", "[deprecated alias for --context-raw] raw context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
44
|
+
.option("--cwd <path>", "working directory recorded in the create event")
|
|
45
|
+
.option("--by <agent>", "agent name recorded as the creator", "main")
|
|
46
|
+
.option("--force", "overwrite existing channel with the same name")
|
|
47
|
+
.option("--ephemeral", "mark as ephemeral — hidden from `channel list` by default and cleanable via `channel prune --ephemeral`")
|
|
48
|
+
.action(async (name, opts) => {
|
|
49
|
+
try {
|
|
50
|
+
await createChannel(name, opts);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
channel
|
|
58
|
+
.command("send <name>")
|
|
59
|
+
.description("Send a message into the channel")
|
|
60
|
+
.requiredOption("--as <agent>", "agent name sending")
|
|
61
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
62
|
+
.option("--to <agents>", "comma-separated target agents (default: broadcast)")
|
|
63
|
+
.option("--stdin", "read message body from stdin")
|
|
64
|
+
.option("--text-file <path>", "read message body from file")
|
|
65
|
+
.option("--delivery-mode <mode>", "targeted delivery validation: appendOnly | requireKnownWorker | requireRunningWorker")
|
|
66
|
+
.argument("[text]", "inline text body (otherwise use --stdin / --text-file)")
|
|
67
|
+
.action(async (name, text, raw) => {
|
|
68
|
+
const opts = raw;
|
|
69
|
+
try {
|
|
70
|
+
await channelSend(name, {
|
|
71
|
+
as: opts.as,
|
|
72
|
+
text,
|
|
73
|
+
stdin: opts.stdin,
|
|
74
|
+
textFile: opts.textFile,
|
|
75
|
+
scope: opts.scope,
|
|
76
|
+
to: opts.to,
|
|
77
|
+
deliveryMode: opts.deliveryMode,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
channel
|
|
86
|
+
.command("wait <name>")
|
|
87
|
+
.description("Block until an event matching the filter arrives, or timeout")
|
|
88
|
+
.requiredOption("--as <agent>", "agent name waiting")
|
|
89
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
90
|
+
.option("--timeout <duration>", "max wait (e.g. 30s, 2m, 1h)")
|
|
91
|
+
.option("--from <agents>", "only wake on events from these agents (CSV)")
|
|
92
|
+
.option("--kind <kind[,kind...]>", "only wake on these event kinds (CSV, OR semantics)")
|
|
93
|
+
.option("--thread <key>", "only wake on this thread key")
|
|
94
|
+
.option("--action <action>", "only wake on this thread action")
|
|
95
|
+
.option("--to <target>", "only wake on events targeted to this name (default: own agent)")
|
|
96
|
+
.option("--include-progress", "also wake on progress events")
|
|
97
|
+
.option("--all", "wait until each agent in --from has produced a matching event (default: first match wins)")
|
|
98
|
+
.action(async (name, raw) => {
|
|
99
|
+
const opts = raw;
|
|
100
|
+
try {
|
|
101
|
+
await channelWait(name, {
|
|
102
|
+
as: opts.as,
|
|
103
|
+
timeoutMs: parseDuration(opts.timeout),
|
|
104
|
+
from: opts.from,
|
|
105
|
+
kind: opts.kind,
|
|
106
|
+
scope: opts.scope,
|
|
107
|
+
thread: opts.thread,
|
|
108
|
+
action: opts.action,
|
|
109
|
+
to: opts.to,
|
|
110
|
+
includeProgress: opts.includeProgress,
|
|
111
|
+
all: opts.all,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
channel
|
|
120
|
+
.command("interrupt <name>")
|
|
121
|
+
.description("Interrupt a worker turn and send a replacement instruction")
|
|
122
|
+
.requiredOption("--as <agent>", "agent name requesting the interrupt")
|
|
123
|
+
.requiredOption("--to <agent>", "target worker name")
|
|
124
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
125
|
+
.option("--stdin", "read interrupt message body from stdin")
|
|
126
|
+
.option("--text-file <path>", "read interrupt message body from file")
|
|
127
|
+
.argument("[text]", "inline interrupt message (otherwise use --stdin / --text-file)")
|
|
128
|
+
.action(async (name, text, raw) => {
|
|
129
|
+
const opts = raw;
|
|
130
|
+
try {
|
|
131
|
+
await channelInterrupt(name, {
|
|
132
|
+
as: opts.as,
|
|
133
|
+
to: opts.to,
|
|
134
|
+
text,
|
|
135
|
+
stdin: opts.stdin,
|
|
136
|
+
textFile: opts.textFile,
|
|
137
|
+
scope: opts.scope,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
channel
|
|
146
|
+
.command("spawn <name>")
|
|
147
|
+
.description("Register a worker (claude/codex) into the channel — the worker stays idle until the first `channel send --to <worker>` arrives")
|
|
148
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
149
|
+
.option("--agent <agent-name>", "load .trellis/agents/<name>.md (sets default --provider / --model / system prompt)")
|
|
150
|
+
.option("--provider <provider>", "worker provider: claude | codex (overrides agent)")
|
|
151
|
+
.option("--as <name>", "worker name in the channel (default: <agent-name> if --agent is set)")
|
|
152
|
+
.option("--cwd <path>", "worker working directory (default: process cwd)")
|
|
153
|
+
.option("--model <id>", "model override")
|
|
154
|
+
.option("--resume <id>", "resume an existing session/thread id")
|
|
155
|
+
.option("--timeout <duration>", "auto-kill worker after this duration (e.g. 30m, 1h, 7200s)")
|
|
156
|
+
.option("--warn-before <duration>", "emit supervisor_warning before timeout (default 5m; 0ms disables)")
|
|
157
|
+
.option("--file <path>", "include a file's content as context in the worker's system prompt (glob supported, repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
158
|
+
.option("--jsonl <path>", "parse a Trellis jsonl manifest ({file, reason} per line) and include each referenced file (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
159
|
+
.option("--by <agent>", "identity recorded as the spawn author (defaults to TRELLIS_CHANNEL_AS env or 'main')")
|
|
160
|
+
.option("--inbox-policy <policy>", "worker inbox delivery policy: explicitOnly | broadcastAndExplicit (default explicitOnly)")
|
|
161
|
+
.option("--idle-timeout <duration>", "OOM-guard idle-cleanup TTL for this worker (default 5m; 0 disables)")
|
|
162
|
+
.option("--max-live-workers <n>", "spawn-time live-worker budget for this project/scope (default 6; 0 disables)", parseNonNegativeInteger)
|
|
163
|
+
.action(async (name, raw) => {
|
|
164
|
+
const opts = raw;
|
|
165
|
+
if (opts.provider !== undefined && !isProvider(opts.provider)) {
|
|
166
|
+
console.error(chalk.red("Error:"), `--provider must be one of: ${listProviders().join(", ")}`);
|
|
167
|
+
process.exit(1);
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
await channelSpawn(name, {
|
|
171
|
+
agent: opts.agent,
|
|
172
|
+
provider: opts.provider,
|
|
173
|
+
as: opts.as,
|
|
174
|
+
cwd: opts.cwd,
|
|
175
|
+
model: opts.model,
|
|
176
|
+
resume: opts.resume,
|
|
177
|
+
timeoutMs: parseDuration(opts.timeout),
|
|
178
|
+
warnBeforeMs: parseDuration(opts.warnBefore),
|
|
179
|
+
files: opts.file,
|
|
180
|
+
jsonls: opts.jsonl,
|
|
181
|
+
by: opts.by,
|
|
182
|
+
scope: opts.scope,
|
|
183
|
+
inboxPolicy: parseInboxPolicy(opts.inboxPolicy),
|
|
184
|
+
idleTimeoutMs: parseDuration(opts.idleTimeout),
|
|
185
|
+
maxLiveWorkers: opts.maxLiveWorkers,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
190
|
+
process.exit(1);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
channel
|
|
194
|
+
.command("run [name]")
|
|
195
|
+
.description("One-shot: create ephemeral channel, spawn worker, send prompt, wait done, print final answer, cleanup")
|
|
196
|
+
.option("--agent <agent-name>", "load .trellis/agents/<name>.md (sets default --provider / --as / system prompt)")
|
|
197
|
+
.option("--provider <provider>", "worker provider: claude | codex (overrides agent)")
|
|
198
|
+
.option("--as <name>", "worker name (default: agent name if --agent set)")
|
|
199
|
+
.option("--cwd <path>", "worker working directory")
|
|
200
|
+
.option("--model <id>", "model override")
|
|
201
|
+
.option("--file <path>", "include a file as context (glob supported, repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
202
|
+
.option("--jsonl <path>", "parse a Trellis jsonl manifest and include each referenced file (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
203
|
+
.option("--message <text>", "inline prompt text")
|
|
204
|
+
.option("--message-file <path>", "read prompt body from file")
|
|
205
|
+
.option("--stdin", "read prompt body from stdin")
|
|
206
|
+
.option("--timeout <duration>", "max time to wait for done (e.g. 30s, 5m, 1h; default 5m)")
|
|
207
|
+
.action(async (name, raw) => {
|
|
208
|
+
const opts = raw;
|
|
209
|
+
if (opts.provider !== undefined && !isProvider(opts.provider)) {
|
|
210
|
+
console.error(chalk.red("Error:"), `--provider must be one of: ${listProviders().join(", ")}`);
|
|
211
|
+
process.exit(1);
|
|
212
|
+
}
|
|
213
|
+
try {
|
|
214
|
+
await channelRun({
|
|
215
|
+
name,
|
|
216
|
+
agent: opts.agent,
|
|
217
|
+
provider: opts.provider,
|
|
218
|
+
as: opts.as,
|
|
219
|
+
cwd: opts.cwd,
|
|
220
|
+
model: opts.model,
|
|
221
|
+
files: opts.file,
|
|
222
|
+
jsonls: opts.jsonl,
|
|
223
|
+
message: opts.message,
|
|
224
|
+
textFile: opts.messageFile,
|
|
225
|
+
stdin: opts.stdin,
|
|
226
|
+
timeoutMs: parseDuration(opts.timeout),
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
catch (err) {
|
|
230
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
231
|
+
process.exit(1);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
channel
|
|
235
|
+
.command("rm <name>")
|
|
236
|
+
.description("Kill workers and delete a channel directory entirely")
|
|
237
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
238
|
+
.action(async (name, raw) => {
|
|
239
|
+
try {
|
|
240
|
+
await channelRm(name, raw);
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
244
|
+
process.exit(1);
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
channel
|
|
248
|
+
.command("prune")
|
|
249
|
+
.description("Bulk-remove channels by criteria (defaults to dry-run preview)")
|
|
250
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
251
|
+
.option("--all", "remove all channels (except live ones and --keep)")
|
|
252
|
+
.option("--empty", "remove channels with no activity (only create event)")
|
|
253
|
+
.option("--idle <duration>", "remove channels whose last event is older than this (e.g. 1h, 7d)")
|
|
254
|
+
.option("--ephemeral", "remove only channels marked `--ephemeral` at create time")
|
|
255
|
+
.option("--yes", "actually delete (default is dry-run)")
|
|
256
|
+
.option("--dry-run", "show what would be removed without deleting", true)
|
|
257
|
+
.option("--keep <names>", "comma-separated channel names to keep regardless")
|
|
258
|
+
.action(async (raw) => {
|
|
259
|
+
const opts = raw;
|
|
260
|
+
try {
|
|
261
|
+
await channelPrune({
|
|
262
|
+
all: opts.all,
|
|
263
|
+
empty: opts.empty,
|
|
264
|
+
idleMs: parseDuration(opts.idle),
|
|
265
|
+
ephemeral: opts.ephemeral,
|
|
266
|
+
yes: opts.yes,
|
|
267
|
+
dryRun: !opts.yes,
|
|
268
|
+
keep: parseCsv(opts.keep),
|
|
269
|
+
scope: opts.scope,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
catch (err) {
|
|
273
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
274
|
+
process.exit(1);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
channel
|
|
278
|
+
.command("list")
|
|
279
|
+
.description("List channels in ~/.trellis/channels/ with worker / activity summary")
|
|
280
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
281
|
+
.option("--json", "emit JSON instead of a formatted table")
|
|
282
|
+
.option("--project <slug>", "filter channels whose `task` field contains this substring")
|
|
283
|
+
.option("--all", "include ephemeral channels (default: hide channels marked ephemeral)")
|
|
284
|
+
.option("--all-projects", "scan every project bucket (default: only the current cwd's project)")
|
|
285
|
+
.action(async (raw) => {
|
|
286
|
+
const opts = raw;
|
|
287
|
+
try {
|
|
288
|
+
await channelList(opts);
|
|
289
|
+
}
|
|
290
|
+
catch (err) {
|
|
291
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
292
|
+
process.exit(1);
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
channel
|
|
296
|
+
.command("messages <name>")
|
|
297
|
+
.description("View messages and events in the channel")
|
|
298
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
299
|
+
.option("--raw", "print raw JSON (one event per line)")
|
|
300
|
+
.option("--follow", "stream new events as they arrive (Ctrl-C to stop)")
|
|
301
|
+
.option("--last <N>", "show only the last N matching events", (v) => Number.parseInt(v, 10))
|
|
302
|
+
.option("--since <seq>", "only events with seq > N", (v) => Number.parseInt(v, 10))
|
|
303
|
+
.option("--kind <kind>", "filter by event kind (e.g. message, done, killed)")
|
|
304
|
+
.option("--from <agents>", "filter by author (CSV)")
|
|
305
|
+
.option("--to <target>", "filter by routing target")
|
|
306
|
+
.option("--thread <key>", "filter by thread key")
|
|
307
|
+
.option("--action <action>", "filter by thread action")
|
|
308
|
+
.option("--no-progress", "hide progress events (tool calls, deltas)")
|
|
309
|
+
.action(async (name, raw) => {
|
|
310
|
+
const opts = raw;
|
|
311
|
+
try {
|
|
312
|
+
await channelMessages(name, {
|
|
313
|
+
raw: opts.raw,
|
|
314
|
+
follow: opts.follow,
|
|
315
|
+
last: opts.last,
|
|
316
|
+
since: opts.since,
|
|
317
|
+
kind: opts.kind,
|
|
318
|
+
from: opts.from,
|
|
319
|
+
to: opts.to,
|
|
320
|
+
scope: opts.scope,
|
|
321
|
+
thread: opts.thread,
|
|
322
|
+
action: opts.action,
|
|
323
|
+
noProgress: opts.progress === false,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
catch (err) {
|
|
327
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
328
|
+
process.exit(1);
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
channel
|
|
332
|
+
.command("kill <name>")
|
|
333
|
+
.description("Stop a worker in the channel (SIGTERM, or SIGKILL with --force)")
|
|
334
|
+
.requiredOption("--as <agent>", "worker agent name")
|
|
335
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
336
|
+
.option("--force", "skip graceful shutdown, send SIGKILL immediately")
|
|
337
|
+
.action(async (name, raw) => {
|
|
338
|
+
const opts = raw;
|
|
339
|
+
try {
|
|
340
|
+
await channelKill(name, opts);
|
|
341
|
+
}
|
|
342
|
+
catch (err) {
|
|
343
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
344
|
+
process.exit(1);
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
channel
|
|
348
|
+
.command("post <name> <action>")
|
|
349
|
+
.description("Append a structured thread event to a forum channel")
|
|
350
|
+
.requiredOption("--as <agent>", "agent name posting")
|
|
351
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
352
|
+
.option("--thread <key>", "thread key (required except opened)")
|
|
353
|
+
.option("--title <text>", "thread title")
|
|
354
|
+
.option("--text <text>", "event body")
|
|
355
|
+
.option("--stdin", "read event body from stdin")
|
|
356
|
+
.option("--text-file <path>", "read event body from file")
|
|
357
|
+
.option("--description <text>", "stable thread description")
|
|
358
|
+
.option("--status <status>", "thread status")
|
|
359
|
+
.option("--labels <csv>", "replace thread labels")
|
|
360
|
+
.option("--assignees <csv>", "replace thread assignees")
|
|
361
|
+
.option("--summary <text>", "thread summary")
|
|
362
|
+
.option("--context-file <absolute-path>", "absolute file path attached as thread context (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
363
|
+
.option("--context-raw <text>", "raw thread context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
364
|
+
.option("--linked-context-file <absolute-path>", "[deprecated alias for --context-file] absolute file path (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
365
|
+
.option("--linked-context-raw <text>", "[deprecated alias for --context-raw] raw context text (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
366
|
+
.action(async (name, action, raw) => {
|
|
367
|
+
try {
|
|
368
|
+
await channelThreadPost(name, {
|
|
369
|
+
...raw,
|
|
370
|
+
action,
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
catch (err) {
|
|
374
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
375
|
+
process.exit(1);
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
channel
|
|
379
|
+
.command("forum <name>")
|
|
380
|
+
.description("List threads in a forum channel")
|
|
381
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
382
|
+
.option("--status <status>", "filter by thread status")
|
|
383
|
+
.option("--raw", "print raw reduced thread JSON")
|
|
384
|
+
.action(async (name, raw) => {
|
|
385
|
+
try {
|
|
386
|
+
await channelForumList(name, raw);
|
|
387
|
+
}
|
|
388
|
+
catch (err) {
|
|
389
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
390
|
+
process.exit(1);
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
const thread = channel
|
|
394
|
+
.command("thread")
|
|
395
|
+
.description("Show or mutate one thread timeline");
|
|
396
|
+
thread
|
|
397
|
+
.argument("<name>", "channel name")
|
|
398
|
+
.argument("<thread>", "thread key")
|
|
399
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
400
|
+
.option("--raw", "print raw thread events")
|
|
401
|
+
.action(async (name, threadKey, raw) => {
|
|
402
|
+
try {
|
|
403
|
+
await channelThreadShow(name, threadKey, raw);
|
|
404
|
+
}
|
|
405
|
+
catch (err) {
|
|
406
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
407
|
+
process.exit(1);
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
thread
|
|
411
|
+
.command("rename <name> <oldThread> <newThread>")
|
|
412
|
+
.description("Rename a thread inside a forum channel")
|
|
413
|
+
.requiredOption("--as <agent>", "agent name")
|
|
414
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
415
|
+
.action(async (name, oldThread, newThread, raw) => {
|
|
416
|
+
const opts = raw;
|
|
417
|
+
try {
|
|
418
|
+
await channelThreadRename(name, oldThread, newThread, opts);
|
|
419
|
+
}
|
|
420
|
+
catch (err) {
|
|
421
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
422
|
+
process.exit(1);
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
const context = channel
|
|
426
|
+
.command("context")
|
|
427
|
+
.description("Manage channel-level or thread-level context entries");
|
|
428
|
+
const addContextOptions = (cmd) => cmd
|
|
429
|
+
.option("--as <agent>", "agent name", "main")
|
|
430
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
431
|
+
.option("--thread <key>", "mutate thread-level context instead of channel-level")
|
|
432
|
+
.option("--file <absolute-path>", "absolute file path (repeatable)", (val, prev) => [...(prev ?? []), val], [])
|
|
433
|
+
.option("--raw <text>", "raw text entry (repeatable)", (val, prev) => [...(prev ?? []), val], []);
|
|
434
|
+
addContextOptions(context.command("add <name>"))
|
|
435
|
+
.description("Add context entries")
|
|
436
|
+
.action(async (name, raw) => {
|
|
437
|
+
try {
|
|
438
|
+
await channelContextAdd(name, raw);
|
|
439
|
+
}
|
|
440
|
+
catch (err) {
|
|
441
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
442
|
+
process.exit(1);
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
addContextOptions(context.command("delete <name>"))
|
|
446
|
+
.description("Delete context entries")
|
|
447
|
+
.action(async (name, raw) => {
|
|
448
|
+
try {
|
|
449
|
+
await channelContextDelete(name, raw);
|
|
450
|
+
}
|
|
451
|
+
catch (err) {
|
|
452
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
453
|
+
process.exit(1);
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
context
|
|
457
|
+
.command("list <name>")
|
|
458
|
+
.description("List projected current context entries")
|
|
459
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
460
|
+
.option("--thread <key>", "show thread-level context instead of channel-level")
|
|
461
|
+
.option("--raw", "print one context entry JSON per line")
|
|
462
|
+
.action(async (name, raw) => {
|
|
463
|
+
try {
|
|
464
|
+
await channelContextList(name, raw);
|
|
465
|
+
}
|
|
466
|
+
catch (err) {
|
|
467
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
468
|
+
process.exit(1);
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
const title = channel
|
|
472
|
+
.command("title")
|
|
473
|
+
.description("Set or clear the channel display title");
|
|
474
|
+
title
|
|
475
|
+
.command("set <name>")
|
|
476
|
+
.description("Set the channel display title")
|
|
477
|
+
.option("--as <agent>", "agent name", "main")
|
|
478
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
479
|
+
.requiredOption("--title <text>", "display title")
|
|
480
|
+
.action(async (name, raw) => {
|
|
481
|
+
const opts = raw;
|
|
482
|
+
try {
|
|
483
|
+
await channelTitleSet(name, opts);
|
|
484
|
+
}
|
|
485
|
+
catch (err) {
|
|
486
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
487
|
+
process.exit(1);
|
|
488
|
+
}
|
|
489
|
+
});
|
|
490
|
+
title
|
|
491
|
+
.command("clear <name>")
|
|
492
|
+
.description("Clear the channel display title")
|
|
493
|
+
.option("--as <agent>", "agent name", "main")
|
|
494
|
+
.option("--scope <scope>", "channel scope: project | global")
|
|
495
|
+
.action(async (name, raw) => {
|
|
496
|
+
try {
|
|
497
|
+
await channelTitleClear(name, raw);
|
|
498
|
+
}
|
|
499
|
+
catch (err) {
|
|
500
|
+
console.error(chalk.red("Error:"), err instanceof Error ? err.message : err);
|
|
501
|
+
process.exit(1);
|
|
502
|
+
}
|
|
503
|
+
});
|
|
504
|
+
// Hidden: supervisor entry point invoked by `channel spawn` via fork.
|
|
505
|
+
channel
|
|
506
|
+
.command("__supervisor <channel> <worker> <config>")
|
|
507
|
+
.description("[internal] supervisor process entry point — do not invoke directly")
|
|
508
|
+
.action(async (channelName, worker, configPath) => {
|
|
509
|
+
try {
|
|
510
|
+
await runSupervisor(channelName, worker, configPath);
|
|
511
|
+
}
|
|
512
|
+
catch (err) {
|
|
513
|
+
console.error(chalk.red("Supervisor error:"), err instanceof Error ? err.message : err);
|
|
514
|
+
process.exit(1);
|
|
515
|
+
}
|
|
516
|
+
});
|
|
517
|
+
// Dev-only: feed a recorded stream-json / wire trace through the matching
|
|
518
|
+
// adapter and print the resulting channel events. Used during adapter
|
|
519
|
+
// development to verify against real-CLI fixtures.
|
|
520
|
+
channel
|
|
521
|
+
.command("__parse-trace <adapter> <file>")
|
|
522
|
+
.description("[dev] Run a recorded trace through the parser and print events")
|
|
523
|
+
.action((adapter, file) => {
|
|
524
|
+
if (!isProvider(adapter)) {
|
|
525
|
+
console.error(chalk.red("Error:"), `unknown adapter '${adapter}' (registered: ${listProviders().join(", ")})`);
|
|
526
|
+
process.exit(1);
|
|
527
|
+
}
|
|
528
|
+
parseTrace(adapter, file);
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface InterruptOptions {
|
|
2
|
+
as: string;
|
|
3
|
+
to: string;
|
|
4
|
+
text?: string;
|
|
5
|
+
stdin?: boolean;
|
|
6
|
+
textFile?: string;
|
|
7
|
+
scope?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function channelInterrupt(channelName: string, opts: InterruptOptions): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=interrupt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/interrupt.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { requestInterrupt, } from "@mindfoldhq/trellis-core/channel";
|
|
2
|
+
import { parseChannelScope } from "./store/schema.js";
|
|
3
|
+
import { resolveChannelTextBody } from "./text-body.js";
|
|
4
|
+
export async function channelInterrupt(channelName, opts) {
|
|
5
|
+
const message = await resolveChannelTextBody(opts, {
|
|
6
|
+
required: true,
|
|
7
|
+
missingMessage: "No interrupt message provided (use <text> arg, --stdin, or --text-file)",
|
|
8
|
+
emptyMessage: "Empty interrupt message",
|
|
9
|
+
});
|
|
10
|
+
const scope = parseChannelScope(opts.scope);
|
|
11
|
+
const event = await requestInterrupt({
|
|
12
|
+
channel: channelName,
|
|
13
|
+
by: opts.as,
|
|
14
|
+
workerId: opts.to,
|
|
15
|
+
message,
|
|
16
|
+
reason: "user",
|
|
17
|
+
...(scope !== undefined ? { scope } : {}),
|
|
18
|
+
origin: "cli",
|
|
19
|
+
});
|
|
20
|
+
console.log(JSON.stringify(event));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=interrupt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../../../src/commands/channel/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAEjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAWxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,IAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE;QACjD,QAAQ,EAAE,IAAI;QACd,cAAc,EACZ,yEAAyE;QAC3E,YAAY,EAAE,yBAAyB;KACxC,CAAC,CAAC;IACH,MAAM,KAAK,GAA6B,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACnC,OAAO,EAAE,WAAW;QACpB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,EAAE;QACjB,OAAO;QACP,MAAM,EAAE,MAAM;QACd,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|