@chinhae/atw-cli 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -451
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +24 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/channel/adapters/claude.d.ts +44 -2
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -1
- package/dist/commands/channel/adapters/claude.js +124 -23
- package/dist/commands/channel/adapters/claude.js.map +1 -1
- package/dist/commands/channel/adapters/codex.d.ts +36 -6
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -1
- package/dist/commands/channel/adapters/codex.js +150 -10
- package/dist/commands/channel/adapters/codex.js.map +1 -1
- package/dist/commands/channel/adapters/index.d.ts +33 -4
- package/dist/commands/channel/adapters/index.d.ts.map +1 -1
- package/dist/commands/channel/adapters/index.js +159 -6
- package/dist/commands/channel/adapters/index.js.map +1 -1
- package/dist/commands/channel/adapters/omp.d.ts +106 -0
- package/dist/commands/channel/adapters/omp.d.ts.map +1 -0
- package/dist/commands/channel/adapters/omp.js +405 -0
- package/dist/commands/channel/adapters/omp.js.map +1 -0
- package/dist/commands/channel/adapters/pi.d.ts +123 -0
- package/dist/commands/channel/adapters/pi.d.ts.map +1 -0
- package/dist/commands/channel/adapters/pi.js +387 -0
- package/dist/commands/channel/adapters/pi.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +16 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -1
- package/dist/commands/channel/agent-loader.d.ts +1 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -1
- package/dist/commands/channel/agent-loader.js +45 -5
- package/dist/commands/channel/agent-loader.js.map +1 -1
- package/dist/commands/channel/dev-parse-trace.d.ts +1 -1
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -1
- package/dist/commands/channel/dev-parse-trace.js +25 -2
- package/dist/commands/channel/dev-parse-trace.js.map +1 -1
- package/dist/commands/channel/index.d.ts.map +1 -1
- package/dist/commands/channel/index.js +44 -12
- package/dist/commands/channel/index.js.map +1 -1
- package/dist/commands/channel/run.d.ts +39 -2
- package/dist/commands/channel/run.d.ts.map +1 -1
- package/dist/commands/channel/run.js +227 -68
- package/dist/commands/channel/run.js.map +1 -1
- package/dist/commands/channel/spawn.d.ts +7 -2
- package/dist/commands/channel/spawn.d.ts.map +1 -1
- package/dist/commands/channel/spawn.js +35 -1
- package/dist/commands/channel/spawn.js.map +1 -1
- package/dist/commands/channel/store/events.d.ts +2 -2
- package/dist/commands/channel/store/events.d.ts.map +1 -1
- package/dist/commands/channel/store/events.js +1 -1
- package/dist/commands/channel/store/events.js.map +1 -1
- package/dist/commands/channel/supervisor/shutdown.d.ts +2 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -1
- package/dist/commands/channel/supervisor/shutdown.js +6 -1
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -1
- package/dist/commands/channel/supervisor.d.ts +2 -2
- package/dist/commands/channel/supervisor.d.ts.map +1 -1
- package/dist/commands/channel/supervisor.js +26 -3
- package/dist/commands/channel/supervisor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mem.d.ts +2 -1
- package/dist/commands/mem.d.ts.map +1 -1
- package/dist/commands/mem.js +162 -13
- package/dist/commands/mem.js.map +1 -1
- package/dist/commands/mode.d.ts.map +1 -1
- package/dist/commands/mode.js +5 -3
- package/dist/commands/mode.js.map +1 -1
- package/dist/commands/uninstall.d.ts +5 -3
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +40 -16
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +34 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +209 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/verify.d.ts +18 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +75 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +3 -2
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/omp.d.ts +22 -0
- package/dist/configurators/omp.d.ts.map +1 -1
- package/dist/configurators/omp.js +101 -2
- package/dist/configurators/omp.js.map +1 -1
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +39 -7
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +5 -1
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +4 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +4 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.6.0.json +442 -0
- package/dist/migrations/manifests/0.7.0.json +1378 -0
- package/dist/templates/atw/definition-of-done.md +65 -0
- package/dist/templates/atw/gitignore.txt +7 -0
- package/dist/templates/atw/index.d.ts +11 -0
- package/dist/templates/atw/index.d.ts.map +1 -1
- package/dist/templates/atw/index.js +22 -0
- package/dist/templates/atw/index.js.map +1 -1
- package/dist/templates/atw/scripts/common/active_task.py +2 -2
- package/dist/templates/atw/scripts/common/workflow_phase.py +33 -0
- package/dist/templates/atw/scripts/cross_model_review.py +3312 -0
- package/dist/templates/atw/scripts/decision_log.py +2002 -0
- package/dist/templates/atw/scripts/floor_guard.py +642 -0
- package/dist/templates/atw/scripts/task.py +25 -6
- package/dist/templates/atw/scripts/tickets.py +480 -10
- package/dist/templates/atw/workflow-general.md +6 -1
- package/dist/templates/atw/workflow.md +346 -26
- package/dist/templates/claude/settings.json +12 -0
- package/dist/templates/codex/hooks/session-start.py +2 -2
- package/dist/templates/common/bundled-skills/atw-askme/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-askme-with-docs/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-channel/SKILL.md +5 -2
- package/dist/templates/common/bundled-skills/atw-channel/references/command-reference.md +44 -5
- package/dist/templates/common/bundled-skills/atw-channel/references/progress-debugging.md +9 -0
- package/dist/templates/common/bundled-skills/atw-channel/references/workers.md +48 -4
- package/dist/templates/common/bundled-skills/atw-code-review/SKILL.md +78 -3
- package/dist/templates/common/bundled-skills/atw-codebase-design/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-codebase-design/{DESIGN-IT-TWICE.md → design-it-twice.md} +3 -3
- package/dist/templates/common/bundled-skills/atw-cross-model-review/SKILL.md +361 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/four-tiers.md +42 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/log-review-questions.md +38 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/questions.md +54 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/recheck-questions.md +42 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/report-format.md +22 -0
- package/dist/templates/common/bundled-skills/atw-diagnosing-bugs/SKILL.md +13 -2
- package/dist/templates/common/bundled-skills/atw-domain-modeling/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-handoff/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-implement/SKILL.md +37 -1
- package/dist/templates/common/bundled-skills/atw-implement-all/SKILL.md +219 -24
- package/dist/templates/common/bundled-skills/atw-implement-spec/SKILL.md +237 -18
- package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-init-repo/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw-local.md +7 -1
- package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw.md +7 -1
- package/dist/templates/common/bundled-skills/atw-map/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-meta/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/add-project-local-conventions.md +4 -3
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-skills-or-commands.md +21 -16
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-task-lifecycle.md +1 -1
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/overview.md +1 -0
- package/dist/templates/common/bundled-skills/atw-meta/references/local-architecture/task-system.md +2 -1
- package/dist/templates/common/bundled-skills/atw-meta/references/platform-files/hooks-and-settings.md +1 -0
- package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-performance/SKILL.md +134 -0
- package/dist/templates/common/bundled-skills/atw-performance/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/atw-performance/references/optimization-patterns.md +250 -0
- package/dist/templates/common/bundled-skills/atw-performance/references/performance-checklist.md +238 -0
- package/dist/templates/common/bundled-skills/atw-performance/references/performance-optimization.md +264 -0
- package/dist/templates/common/bundled-skills/atw-prototype/SKILL.md +3 -3
- package/dist/templates/common/bundled-skills/atw-prototype/{LOGIC.md → logic.md} +1 -1
- package/dist/templates/common/bundled-skills/atw-prototype/references/design-direction.md +91 -58
- package/dist/templates/common/bundled-skills/atw-prototype/references/direction-persuasion.md +25 -0
- package/dist/templates/common/bundled-skills/atw-prototype/references/style-explorer.md +1 -1
- package/dist/templates/common/bundled-skills/atw-prototype/ui.md +194 -0
- package/dist/templates/common/bundled-skills/atw-reflect/SKILL.md +77 -0
- package/dist/templates/common/bundled-skills/atw-reflect/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/divergent-reviewer.md +38 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/judgment-reviewer.md +37 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/synthesizer.md +63 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/tooling-reviewer.md +48 -0
- package/dist/templates/common/bundled-skills/atw-security/SKILL.md +248 -0
- package/dist/templates/common/bundled-skills/atw-security/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/atw-security/references/hardening-patterns.md +324 -0
- package/dist/templates/common/bundled-skills/atw-security/references/security-checklist.md +248 -0
- package/dist/templates/common/bundled-skills/atw-session-insight/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-session-insight/references/cli-quick-reference.md +11 -2
- package/dist/templates/common/bundled-skills/atw-spec/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-tdd/SKILL.md +25 -0
- package/dist/templates/common/bundled-skills/atw-tickets/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-triage/SKILL.md +5 -5
- package/dist/templates/common/bundled-skills/atw-ui/SKILL.md +99 -31
- package/dist/templates/common/bundled-skills/atw-ui/references/accessibility-checklist.md +160 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/layout-and-viewport.md +7 -5
- package/dist/templates/common/bundled-skills/atw-ui/references/media.md +117 -20
- package/dist/templates/common/bundled-skills/atw-ui/references/motion.md +47 -23
- package/dist/templates/common/bundled-skills/atw-ui/references/play.md +18 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/reviewer-manual.md +73 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/scroll-narrative.md +98 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/tools.md +46 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/visual-language.md +40 -24
- package/dist/templates/common/bundled-skills/atw-ui/references/visual-review.md +26 -82
- package/dist/templates/common/bundled-skills/atw-ui/scripts/shoot.mjs +1721 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/SKILL.md +58 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/README.md +47 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/create-note.md +39 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/search.md +45 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/generate.md +107 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/health-check.md +100 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/verify-skill-template.md +99 -0
- package/dist/templates/common/bundled-skills/atw-what-happened/SKILL.md +49 -0
- package/dist/templates/common/bundled-skills/atw-what-happened/agents/openai.yaml +5 -0
- package/dist/templates/common/commands/finish-work.md +10 -1
- package/dist/templates/common/commands/start.md +3 -1
- package/dist/templates/common/skills/update-spec.md +40 -4
- package/dist/templates/copilot/hooks/session-start.py +2 -2
- package/dist/templates/dsh/DSH.md +2 -2
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +10 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +10 -0
- package/dist/templates/omp/config.yml +15 -0
- package/dist/templates/omp/extensions/atw/index.ts.txt +135 -18
- package/dist/templates/omp/index.d.ts +1 -0
- package/dist/templates/omp/index.d.ts.map +1 -1
- package/dist/templates/omp/index.js +3 -0
- package/dist/templates/omp/index.js.map +1 -1
- package/dist/templates/opencode/lib/session-utils.js +4 -2
- package/dist/templates/opencode/plugins/inject-workflow-state.js +5 -1
- package/dist/templates/pi/extensions/atw/index.ts.txt +80 -7
- package/dist/templates/shared-hooks/index.d.ts +8 -1
- package/dist/templates/shared-hooks/index.d.ts.map +1 -1
- package/dist/templates/shared-hooks/index.js +8 -0
- package/dist/templates/shared-hooks/index.js.map +1 -1
- package/dist/templates/shared-hooks/inject-workflow-state.py +131 -14
- package/dist/templates/shared-hooks/session-start.py +4 -2
- package/dist/templates/shared-hooks/show-notice.py +135 -0
- package/dist/templates/snow/SNOW.md +1 -1
- package/dist/utils/initialized.d.ts +9 -0
- package/dist/utils/initialized.d.ts.map +1 -0
- package/dist/utils/initialized.js +24 -0
- package/dist/utils/initialized.js.map +1 -0
- package/dist/utils/managed-removal.d.ts +2 -0
- package/dist/utils/managed-removal.d.ts.map +1 -1
- package/dist/utils/managed-removal.js +23 -3
- package/dist/utils/managed-removal.js.map +1 -1
- package/dist/utils/optional-skills.d.ts +2 -0
- package/dist/utils/optional-skills.d.ts.map +1 -1
- package/dist/utils/optional-skills.js +1 -1
- package/dist/utils/optional-skills.js.map +1 -1
- package/dist/utils/template-hash.d.ts.map +1 -1
- package/dist/utils/template-hash.js +3 -0
- package/dist/utils/template-hash.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts +10 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +50 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/dist/utils/verify-entries.d.ts +51 -0
- package/dist/utils/verify-entries.d.ts.map +1 -0
- package/dist/utils/verify-entries.js +399 -0
- package/dist/utils/verify-entries.js.map +1 -0
- package/package.json +2 -2
- package/dist/templates/common/bundled-skills/atw-prototype/UI.md +0 -174
- package/dist/templates/common/bundled-skills/atw-prototype/references/visual-language.md +0 -88
- package/dist/templates/common/bundled-skills/atw-prototype/references/visual-review.md +0 -63
- package/dist/templates/common/bundled-skills/atw-ui/references/imagery.md +0 -69
- /package/dist/templates/common/bundled-skills/atw-codebase-design/{DEEPENING.md → deepening.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-domain-modeling/{ADR-FORMAT.md → adr-format.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-domain-modeling/{GLOSSARY-FORMAT.md → glossary-format.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/{HTML-REPORT.md → html-report.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-triage/{AGENT-BRIEF.md → agent-brief.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-triage/{OUT-OF-SCOPE.md → out-of-scope.md} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { InvalidArgumentError } from "commander";
|
|
3
|
-
import { isProvider, listProviders } from "./adapters/index.js";
|
|
3
|
+
import { isProvider, listProviders, } from "./adapters/index.js";
|
|
4
4
|
import { parseCodexSandboxMode } from "./adapters/codex.js";
|
|
5
5
|
import { channelContextAdd, channelContextDelete, channelContextList, } from "./context.js";
|
|
6
6
|
import { createChannel } from "./create.js";
|
|
@@ -11,7 +11,7 @@ import { channelList } from "./list.js";
|
|
|
11
11
|
import { channelMessages } from "./messages.js";
|
|
12
12
|
import { channelPrune, channelRm } from "./rm.js";
|
|
13
13
|
import { channelSend } from "./send.js";
|
|
14
|
-
import { channelRun } from "./run.js";
|
|
14
|
+
import { channelRun, notStartedResult, writeRunResult } from "./run.js";
|
|
15
15
|
import { channelSpawn } from "./spawn.js";
|
|
16
16
|
import { channelThreadPost, channelThreadRename, channelThreadShow, channelForumList, } from "./threads.js";
|
|
17
17
|
import { channelTitleClear, channelTitleSet } from "./title.js";
|
|
@@ -25,6 +25,25 @@ function parseNonNegativeInteger(value) {
|
|
|
25
25
|
}
|
|
26
26
|
return Number(value);
|
|
27
27
|
}
|
|
28
|
+
/** Reviewer-mode switches shared by `spawn` and `run` (none set = launch as before). */
|
|
29
|
+
function addWorkerModeOptions(cmd) {
|
|
30
|
+
return cmd
|
|
31
|
+
.option("--read-only", "worker may read but not write or run commands (claude: only Read/Grep/Glob, no Bash; codex: read-only sandbox; pi: only read/grep/find/ls tools; omp: only read/grep/glob tools, anything needing approval fails). Claude alone still honours the user's own allow rules and hooks; add --clean to drop them")
|
|
32
|
+
.option("--clean", "ignore the user's and project's settings, hooks, MCP servers, plugins, skills and project instruction files (claude: needs --read-only, file reads limited to --cwd; codex: the user-level ~/.codex/AGENTS.md still loads; pi: no extensions, MCP, skills, prompt templates, themes or context files, project not trusted; omp: no extensions, skills, rules, LSP, MCP, other tools' config or context files, and with --read-only needs --model)")
|
|
33
|
+
.option("--no-session", "leave no session record on disk (the worker cannot be resumed)")
|
|
34
|
+
.option("--effort <level>", "thinking effort in the tool's own levels (claude: low|medium|high|xhigh|max|ultracode; codex: none|minimal|low|medium|high|xhigh|max|ultra|persistent; pi: off|minimal|low|medium|high|xhigh|max; omp: off|minimal|low|medium|high|xhigh|max, no auto; pi and omp also refuse a level the model lacks)")
|
|
35
|
+
.option("--standard-speed", "do not use the fast tier the user set for this tool (claude: fastMode off; codex: service_tier default; pi: has no fast tier, nothing changes; omp: service tiers set to standard)");
|
|
36
|
+
}
|
|
37
|
+
/** Commander turns `--no-session` into `session: false`. */
|
|
38
|
+
function readWorkerModes(raw) {
|
|
39
|
+
return {
|
|
40
|
+
readOnly: raw.readOnly === true,
|
|
41
|
+
clean: raw.clean === true,
|
|
42
|
+
noSession: raw.session === false,
|
|
43
|
+
effort: typeof raw.effort === "string" ? raw.effort : undefined,
|
|
44
|
+
standardSpeed: raw.standardSpeed === true,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
28
47
|
export function registerChannelCommand(program) {
|
|
29
48
|
const channel = program
|
|
30
49
|
.command("channel")
|
|
@@ -143,12 +162,11 @@ export function registerChannelCommand(program) {
|
|
|
143
162
|
process.exit(1);
|
|
144
163
|
}
|
|
145
164
|
});
|
|
146
|
-
channel
|
|
147
|
-
.
|
|
148
|
-
.description("Register a worker (claude/codex) into the channel — the worker stays idle until the first `channel send --to <worker>` arrives")
|
|
165
|
+
addWorkerModeOptions(channel.command("spawn <name>"))
|
|
166
|
+
.description(`Register a worker (${listProviders().join("/")}) into the channel — the worker stays idle until the first \`channel send --to <worker>\` arrives`)
|
|
149
167
|
.option("--scope <scope>", "channel scope: project | global")
|
|
150
168
|
.option("--agent <agent-name>", "load .atw/agents/<name>.md (sets default --provider / --model / system prompt)")
|
|
151
|
-
.option("--provider <provider>",
|
|
169
|
+
.option("--provider <provider>", `worker provider: ${listProviders().join(" | ")} (overrides agent)`)
|
|
152
170
|
.option("--as <name>", "worker name in the channel (default: <agent-name> if --agent is set)")
|
|
153
171
|
.option("--cwd <path>", "worker working directory (default: process cwd)")
|
|
154
172
|
.option("--model <id>", "model override")
|
|
@@ -178,6 +196,7 @@ export function registerChannelCommand(program) {
|
|
|
178
196
|
model: opts.model,
|
|
179
197
|
resume: opts.resume,
|
|
180
198
|
sandbox,
|
|
199
|
+
...readWorkerModes(raw),
|
|
181
200
|
timeoutMs: parseDuration(opts.timeout),
|
|
182
201
|
warnBeforeMs: parseDuration(opts.warnBefore),
|
|
183
202
|
files: opts.file,
|
|
@@ -194,11 +213,10 @@ export function registerChannelCommand(program) {
|
|
|
194
213
|
process.exit(1);
|
|
195
214
|
}
|
|
196
215
|
});
|
|
197
|
-
channel
|
|
198
|
-
.command("run [name]")
|
|
216
|
+
addWorkerModeOptions(channel.command("run [name]"))
|
|
199
217
|
.description("One-shot: create ephemeral channel, spawn worker, send prompt, wait done, print final answer, cleanup")
|
|
200
218
|
.option("--agent <agent-name>", "load .atw/agents/<name>.md (sets default --provider / --as / system prompt)")
|
|
201
|
-
.option("--provider <provider>",
|
|
219
|
+
.option("--provider <provider>", `worker provider: ${listProviders().join(" | ")} (overrides agent)`)
|
|
202
220
|
.option("--as <name>", "worker name (default: agent name if --agent set)")
|
|
203
221
|
.option("--cwd <path>", "worker working directory")
|
|
204
222
|
.option("--model <id>", "model override")
|
|
@@ -208,10 +226,22 @@ export function registerChannelCommand(program) {
|
|
|
208
226
|
.option("--message-file <path>", "read prompt body from file")
|
|
209
227
|
.option("--stdin", "read prompt body from stdin")
|
|
210
228
|
.option("--timeout <duration>", "max time to wait for done (e.g. 30s, 5m, 1h; default 5m)")
|
|
229
|
+
.option("--json", "print one JSON result object (status done|timeout|error|not-started, text, partial, durationMs, costUsd, usage, model, instructionSources, error) instead of the bare answer")
|
|
211
230
|
.action(async (name, raw) => {
|
|
212
231
|
const opts = raw;
|
|
213
|
-
|
|
214
|
-
|
|
232
|
+
let timeoutMs;
|
|
233
|
+
try {
|
|
234
|
+
if (opts.provider !== undefined && !isProvider(opts.provider)) {
|
|
235
|
+
throw new Error(`--provider must be one of: ${listProviders().join(", ")}`);
|
|
236
|
+
}
|
|
237
|
+
timeoutMs = parseDuration(opts.timeout);
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
241
|
+
// --json 在参数被拒时也给出结果对象。
|
|
242
|
+
if (opts.json)
|
|
243
|
+
await writeRunResult(notStartedResult(message));
|
|
244
|
+
console.error(chalk.red("Error:"), message);
|
|
215
245
|
process.exit(1);
|
|
216
246
|
}
|
|
217
247
|
try {
|
|
@@ -227,7 +257,9 @@ export function registerChannelCommand(program) {
|
|
|
227
257
|
message: opts.message,
|
|
228
258
|
textFile: opts.messageFile,
|
|
229
259
|
stdin: opts.stdin,
|
|
230
|
-
timeoutMs
|
|
260
|
+
timeoutMs,
|
|
261
|
+
json: opts.json,
|
|
262
|
+
...readWorkerModes(raw),
|
|
231
263
|
});
|
|
232
264
|
}
|
|
233
265
|
catch (err) {
|
|
@@ -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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"}
|
|
@@ -3,14 +3,19 @@
|
|
|
3
3
|
* channel, spawn one worker, send a single prompt, wait for `done`,
|
|
4
4
|
* print the worker's final message, and clean up.
|
|
5
5
|
*
|
|
6
|
+
* `--json` prints one RunResult object instead (status, final or partial
|
|
7
|
+
* text, duration, cost / token usage, model, Codex instructionSources,
|
|
8
|
+
* raw error, the tool's own error kind and status); stdout, exit code and
|
|
9
|
+
* keep-on-failure are otherwise unchanged.
|
|
10
|
+
*
|
|
6
11
|
* Scope (decided in plan-r2):
|
|
7
12
|
* - single worker only (multi-worker scenarios use the manual
|
|
8
13
|
* `create --ephemeral` → N × spawn → wait --all → prune pattern)
|
|
9
14
|
* - failure preserves the channel and prints its path so the user can
|
|
10
15
|
* inspect; success removes it
|
|
11
16
|
*/
|
|
12
|
-
import type { Provider } from "./adapters/index.js";
|
|
13
|
-
export interface RunOptions {
|
|
17
|
+
import type { Provider, WorkerModes } from "./adapters/index.js";
|
|
18
|
+
export interface RunOptions extends WorkerModes {
|
|
14
19
|
/** Optional channel name; auto-generated if omitted. */
|
|
15
20
|
name?: string;
|
|
16
21
|
agent?: string;
|
|
@@ -25,6 +30,38 @@ export interface RunOptions {
|
|
|
25
30
|
stdin?: boolean;
|
|
26
31
|
/** Per-worker timeout (defaults to 5m if not specified). */
|
|
27
32
|
timeoutMs?: number;
|
|
33
|
+
/** Print one RunResult JSON object on stdout instead of the bare answer. */
|
|
34
|
+
json?: boolean;
|
|
28
35
|
}
|
|
29
36
|
export declare function channelRun(opts: RunOptions): Promise<void>;
|
|
37
|
+
export type RunStatus = "done" | "timeout" | "error" | "not-started";
|
|
38
|
+
/** `channel run --json` 的结果对象;工具没报的值为 null(与 0 分得开)。 */
|
|
39
|
+
export interface RunResult {
|
|
40
|
+
status: RunStatus;
|
|
41
|
+
/** 跑完时是最终回答;没跑完时是已产出的文字(partial 为 true),什么都没产出为 null。 */
|
|
42
|
+
text: string | null;
|
|
43
|
+
partial: boolean;
|
|
44
|
+
durationMs: number;
|
|
45
|
+
costUsd: number | null;
|
|
46
|
+
/**
|
|
47
|
+
* 工具没报出这一轮的花费:`costUsd` 为 null,或 pi 对被打断的那一轮报了 0
|
|
48
|
+
* (照实交出 0,并在这里标明)。
|
|
49
|
+
*/
|
|
50
|
+
costUnreported: boolean;
|
|
51
|
+
/** token 用量(Codex 的 `tokenUsage.total`,pi 的 `get_session_stats.tokens`)。 */
|
|
52
|
+
usage: Record<string, unknown> | null;
|
|
53
|
+
model: string | null;
|
|
54
|
+
instructionSources: unknown[] | null;
|
|
55
|
+
error: string | null;
|
|
56
|
+
/** 工具自己报的出错种类,原样(Claude 的 `model_not_found` 等、Codex 的 `codexErrorInfo`);没报为 null。 */
|
|
57
|
+
errorKind: string | null;
|
|
58
|
+
/** 工具随出错种类报的 HTTP 状态码;没报为 null。 */
|
|
59
|
+
errorStatus: number | null;
|
|
60
|
+
/** 出错种类下更细的种类,原样(Claude `rate_limit` 下的 `usage_limit_reached` 等,Claude 的 SDK 把它标为内部字段);没报为 null。 */
|
|
61
|
+
errorSubkind: string | null;
|
|
62
|
+
}
|
|
63
|
+
/** 还没建频道就被拒(参数不对、开关组合做不到)时的结果。 */
|
|
64
|
+
export declare function notStartedResult(error: string, durationMs?: number): RunResult;
|
|
65
|
+
/** 把结果对象写到标准输出,等写完再返回:调用方失败时紧接着 process.exit,管道输出可能被截断。 */
|
|
66
|
+
export declare function writeRunResult(result: RunResult): Promise<void>;
|
|
30
67
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/run.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAkBjE,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FhE;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAC;AAErE,wDAAwD;AACxD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,yDAAyD;IACzD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kBAAkB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qFAAqF;IACrF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mCAAmC;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oGAAoG;IACpG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAkCD,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,SAAS,CAEzE;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
* channel, spawn one worker, send a single prompt, wait for `done`,
|
|
4
4
|
* print the worker's final message, and clean up.
|
|
5
5
|
*
|
|
6
|
+
* `--json` prints one RunResult object instead (status, final or partial
|
|
7
|
+
* text, duration, cost / token usage, model, Codex instructionSources,
|
|
8
|
+
* raw error, the tool's own error kind and status); stdout, exit code and
|
|
9
|
+
* keep-on-failure are otherwise unchanged.
|
|
10
|
+
*
|
|
6
11
|
* Scope (decided in plan-r2):
|
|
7
12
|
* - single worker only (multi-worker scenarios use the manual
|
|
8
13
|
* `create --ephemeral` → N × spawn → wait --all → prune pattern)
|
|
@@ -10,66 +15,235 @@
|
|
|
10
15
|
* inspect; success removes it
|
|
11
16
|
*/
|
|
12
17
|
import crypto from "node:crypto";
|
|
13
|
-
import fs from "node:fs";
|
|
14
18
|
import { createChannel } from "./create.js";
|
|
15
19
|
import { channelRm } from "./rm.js";
|
|
16
20
|
import { channelSend } from "./send.js";
|
|
17
|
-
import { channelSpawn } from "./spawn.js";
|
|
18
|
-
import {
|
|
21
|
+
import { channelSpawn, checkSpawnModes } from "./spawn.js";
|
|
22
|
+
import { isWorkerFatalError, readChannelEvents, readReportedDetail, } from "./store/events.js";
|
|
23
|
+
import { channelDir } from "./store/paths.js";
|
|
19
24
|
import { watchEvents } from "./store/watch.js";
|
|
20
25
|
export async function channelRun(opts) {
|
|
26
|
+
const startedAt = Date.now();
|
|
21
27
|
const name = opts.name ?? `run-${crypto.randomBytes(4).toString("hex")}`;
|
|
22
28
|
const timeoutMs = opts.timeoutMs ?? 5 * 60 * 1000;
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
const spawnOpts = {
|
|
30
|
+
agent: opts.agent,
|
|
31
|
+
provider: opts.provider,
|
|
32
|
+
as: opts.as,
|
|
25
33
|
cwd: opts.cwd,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
model: opts.model,
|
|
35
|
+
timeoutMs,
|
|
36
|
+
files: opts.files,
|
|
37
|
+
jsonls: opts.jsonls,
|
|
38
|
+
readOnly: opts.readOnly,
|
|
39
|
+
clean: opts.clean,
|
|
40
|
+
noSession: opts.noSession,
|
|
41
|
+
effort: opts.effort,
|
|
42
|
+
standardSpeed: opts.standardSpeed,
|
|
43
|
+
};
|
|
44
|
+
// --json 时标准输出只留结果对象,建频道、起 worker 的提示改走标准错误。
|
|
45
|
+
const restoreLog = opts.json ? routeConsoleLogToStderr() : undefined;
|
|
46
|
+
let failure = null;
|
|
47
|
+
let events = [];
|
|
31
48
|
try {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
try {
|
|
50
|
+
// Impossible combinations fail here, before an ephemeral channel is made.
|
|
51
|
+
checkSpawnModes(spawnOpts);
|
|
52
|
+
await createChannel(name, {
|
|
53
|
+
by: "main",
|
|
54
|
+
cwd: opts.cwd,
|
|
55
|
+
ephemeral: true,
|
|
56
|
+
origin: "run",
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
failure = { status: "not-started", error: errorText(err) };
|
|
61
|
+
throw err;
|
|
62
|
+
}
|
|
63
|
+
let workerName = null;
|
|
64
|
+
let succeeded = false;
|
|
65
|
+
try {
|
|
66
|
+
const spawned = await channelSpawn(name, spawnOpts);
|
|
67
|
+
workerName = spawned.worker;
|
|
68
|
+
await channelSend(name, {
|
|
69
|
+
as: "main",
|
|
70
|
+
to: workerName,
|
|
71
|
+
text: opts.message,
|
|
72
|
+
textFile: opts.textFile,
|
|
73
|
+
stdin: opts.stdin,
|
|
74
|
+
});
|
|
75
|
+
await waitForDone(name, workerName, timeoutMs);
|
|
76
|
+
if (!opts.json)
|
|
77
|
+
await printFinalMessage(name, workerName);
|
|
78
|
+
succeeded = true;
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
failure =
|
|
82
|
+
err instanceof RunFailure
|
|
83
|
+
? { status: err.status, error: err.rawError }
|
|
84
|
+
: { status: "not-started", error: errorText(err) };
|
|
85
|
+
throw err;
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
// 删频道之前把结果要用的事件读出来。
|
|
89
|
+
if (opts.json && workerName) {
|
|
90
|
+
events = await readWorkerEvents(name, workerName);
|
|
91
|
+
}
|
|
92
|
+
if (succeeded) {
|
|
93
|
+
// Clean removal — the channel served its purpose.
|
|
94
|
+
await channelRm(name, { force: true });
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// Failure path: keep the channel so the user can inspect events.jsonl,
|
|
98
|
+
// logs, pid state etc. The ephemeral flag remains, so a later
|
|
99
|
+
// `channel prune --ephemeral` will still clean it.
|
|
100
|
+
const dir = channelDir(name);
|
|
101
|
+
process.stderr.write(`channel kept for inspection: ${dir}\n` +
|
|
102
|
+
`(ephemeral — will be removed by \`channel prune --ephemeral\`)\n`);
|
|
103
|
+
process.exitCode = 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
53
106
|
}
|
|
54
107
|
finally {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
await
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// Failure path: keep the channel so the user can inspect events.jsonl,
|
|
61
|
-
// logs, pid state etc. The ephemeral flag remains, so a later
|
|
62
|
-
// `channel prune --ephemeral` will still clean it.
|
|
63
|
-
const dir = channelDir(name);
|
|
64
|
-
process.stderr.write(`channel kept for inspection: ${dir}\n` +
|
|
65
|
-
`(ephemeral — will be removed by \`channel prune --ephemeral\`)\n`);
|
|
66
|
-
process.exitCode = 1;
|
|
108
|
+
restoreLog?.();
|
|
109
|
+
if (opts.json) {
|
|
110
|
+
await writeRunResult(buildRunResult(events, failure, Date.now() - startedAt));
|
|
67
111
|
}
|
|
68
112
|
}
|
|
69
113
|
}
|
|
114
|
+
class RunFailure extends Error {
|
|
115
|
+
status;
|
|
116
|
+
rawError;
|
|
117
|
+
constructor(message, status, rawError) {
|
|
118
|
+
super(message);
|
|
119
|
+
this.status = status;
|
|
120
|
+
this.rawError = rawError;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function errorText(err) {
|
|
124
|
+
return err instanceof Error ? err.message : String(err);
|
|
125
|
+
}
|
|
126
|
+
function routeConsoleLogToStderr() {
|
|
127
|
+
const original = console.log;
|
|
128
|
+
console.log = (...args) => console.error(...args);
|
|
129
|
+
return () => {
|
|
130
|
+
console.log = original;
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/** 该 worker 自己和它的 supervisor 写下的事件。 */
|
|
134
|
+
async function readWorkerEvents(channelName, workerName) {
|
|
135
|
+
return (await readChannelEvents(channelName)).filter((e) => e.by === workerName || e.by === `supervisor:${workerName}`);
|
|
136
|
+
}
|
|
137
|
+
/** 还没建频道就被拒(参数不对、开关组合做不到)时的结果。 */
|
|
138
|
+
export function notStartedResult(error, durationMs = 0) {
|
|
139
|
+
return buildRunResult([], { status: "not-started", error }, durationMs);
|
|
140
|
+
}
|
|
141
|
+
/** 把结果对象写到标准输出,等写完再返回:调用方失败时紧接着 process.exit,管道输出可能被截断。 */
|
|
142
|
+
export function writeRunResult(result) {
|
|
143
|
+
return new Promise((resolve) => process.stdout.write(JSON.stringify(result) + "\n", () => resolve()));
|
|
144
|
+
}
|
|
145
|
+
function buildRunResult(events, failure, durationMs) {
|
|
146
|
+
const details = events.flatMap((e) => readReportedDetail(e) ?? []);
|
|
147
|
+
let model = null;
|
|
148
|
+
let usage = null;
|
|
149
|
+
let instructionSources = null;
|
|
150
|
+
let turnCost = null;
|
|
151
|
+
for (const d of details) {
|
|
152
|
+
if (d.kind === "model")
|
|
153
|
+
model = d.model;
|
|
154
|
+
if (d.kind === "turn_cost")
|
|
155
|
+
turnCost = d;
|
|
156
|
+
if (d.kind === "token_usage")
|
|
157
|
+
usage = d.usage.total ?? null;
|
|
158
|
+
if (d.kind === "instruction_sources")
|
|
159
|
+
instructionSources = d.paths;
|
|
160
|
+
}
|
|
161
|
+
const done = events.filter(isDoneEvent).pop();
|
|
162
|
+
const toolError = events.filter(isToolErrorEvent).pop();
|
|
163
|
+
const errorKind = toolError?.error_kind ?? null;
|
|
164
|
+
let status = failure?.status ?? "done";
|
|
165
|
+
// 工具一句话都没说就出错(进程起不来、握手失败、请求被拒、没登录)算没起来,
|
|
166
|
+
// 不管报没报出错种类;模型名、用量、花费这类记账进度与那条出错本身不算说过话。
|
|
167
|
+
if (status === "error" && !events.some(isSpeech)) {
|
|
168
|
+
status = "not-started";
|
|
169
|
+
}
|
|
170
|
+
const text = status === "done" ? finalText(events) : producedText(details, events);
|
|
171
|
+
const costUsd = typeof done?.total_cost_usd === "number"
|
|
172
|
+
? done.total_cost_usd
|
|
173
|
+
: typeof toolError?.total_cost_usd === "number"
|
|
174
|
+
? toolError.total_cost_usd
|
|
175
|
+
: (turnCost?.cost_usd ?? null);
|
|
176
|
+
return {
|
|
177
|
+
status,
|
|
178
|
+
text,
|
|
179
|
+
partial: status !== "done" && text !== null,
|
|
180
|
+
durationMs,
|
|
181
|
+
costUsd,
|
|
182
|
+
costUnreported: costUsd === null || turnCost?.unreported === true,
|
|
183
|
+
usage,
|
|
184
|
+
model,
|
|
185
|
+
instructionSources,
|
|
186
|
+
error: failure?.error ?? null,
|
|
187
|
+
errorKind,
|
|
188
|
+
errorStatus: errorKind === null ? null : (toolError?.error_status ?? null),
|
|
189
|
+
errorSubkind: errorKind === null ? null : (toolError?.error_subkind ?? null),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* 工具自己报的出错:supervisor 的报错与进程退出时代写的那条(`synthesized`,by 是 worker 名)都不算。
|
|
194
|
+
* 代写的只在工具没出过结束事件时才写,所以两者不会同时出现;这里排除它只为不把它当成工具的话。
|
|
195
|
+
*/
|
|
196
|
+
function isToolErrorEvent(e) {
|
|
197
|
+
return (e.kind === "error" &&
|
|
198
|
+
!e.by.startsWith("supervisor:") &&
|
|
199
|
+
e.synthesized !== true);
|
|
200
|
+
}
|
|
201
|
+
/** 工具说出来的话:消息、回答增量、工具调用等进度;模型名、用量、花费、读了哪些说明文件不算。 */
|
|
202
|
+
function isSpeech(e) {
|
|
203
|
+
if (e.by.startsWith("supervisor:"))
|
|
204
|
+
return false;
|
|
205
|
+
if (e.kind === "message")
|
|
206
|
+
return true;
|
|
207
|
+
if (e.kind !== "progress")
|
|
208
|
+
return false;
|
|
209
|
+
const d = readReportedDetail(e);
|
|
210
|
+
return d === undefined || d.kind === "output";
|
|
211
|
+
}
|
|
212
|
+
function isDoneEvent(e) {
|
|
213
|
+
return e.kind === "done";
|
|
214
|
+
}
|
|
215
|
+
function isMessageEvent(e) {
|
|
216
|
+
return e.kind === "message";
|
|
217
|
+
}
|
|
218
|
+
/** 跑完时的回答:最后一条消息(与不加 --json 时打印的相同)。 */
|
|
219
|
+
function finalText(events) {
|
|
220
|
+
const last = events.filter(isMessageEvent).pop();
|
|
221
|
+
return last ? (last.text ?? "") : null;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* 没跑完时已产出的文字:有流式增量(Codex 的回答正文、Claude 的文字块)就按条拼起增量,
|
|
225
|
+
* 否则拼起已完成的消息块。
|
|
226
|
+
*/
|
|
227
|
+
function producedText(details, events) {
|
|
228
|
+
const streams = new Map();
|
|
229
|
+
for (const d of details) {
|
|
230
|
+
if (d.kind !== "output")
|
|
231
|
+
continue;
|
|
232
|
+
const id = d.stream_id ?? "";
|
|
233
|
+
streams.set(id, (streams.get(id) ?? "") + d.text_delta);
|
|
234
|
+
}
|
|
235
|
+
const parts = streams.size > 0
|
|
236
|
+
? [...streams.values()]
|
|
237
|
+
: events.filter(isMessageEvent).map((e) => e.text ?? "");
|
|
238
|
+
const nonEmpty = parts.filter((p) => p.length > 0);
|
|
239
|
+
return nonEmpty.length > 0 ? nonEmpty.join("\n\n") : null;
|
|
240
|
+
}
|
|
70
241
|
/**
|
|
71
242
|
* Block until the worker emits a `done` event, throwing on timeout or
|
|
72
243
|
* `error` event (so the run.ts caller takes the "keep on failure" path).
|
|
244
|
+
* The worker's supervisor is watched too: it reports launch, handshake and
|
|
245
|
+
* process failures and the timeout kill under `supervisor:<worker>`; its
|
|
246
|
+
* other errors (one stdout line failing) leave the worker running.
|
|
73
247
|
*/
|
|
74
248
|
async function waitForDone(channelName, workerName, timeoutMs) {
|
|
75
249
|
const abort = new AbortController();
|
|
@@ -77,20 +251,24 @@ async function waitForDone(channelName, workerName, timeoutMs) {
|
|
|
77
251
|
try {
|
|
78
252
|
for await (const ev of watchEvents(channelName, {
|
|
79
253
|
self: "main",
|
|
80
|
-
from: [workerName],
|
|
254
|
+
from: [workerName, `supervisor:${workerName}`],
|
|
81
255
|
}, { signal: abort.signal })) {
|
|
82
256
|
if (ev.kind === "done")
|
|
83
257
|
return;
|
|
84
258
|
if (ev.kind === "error") {
|
|
259
|
+
if (ev.by !== workerName && !isWorkerFatalError(ev))
|
|
260
|
+
continue;
|
|
85
261
|
const msg = ev.message ?? "(no message)";
|
|
86
|
-
throw new
|
|
262
|
+
throw new RunFailure(`worker ${workerName} reported error: ${msg}`, "error", ev.stderr_tail ? `${msg}\n${ev.stderr_tail}` : msg);
|
|
87
263
|
}
|
|
88
264
|
if (ev.kind === "killed") {
|
|
89
265
|
const reason = ev.reason ?? "(unknown)";
|
|
90
|
-
|
|
266
|
+
const message = `worker ${workerName} killed before done: ${reason}`;
|
|
267
|
+
throw new RunFailure(message, reason === "timeout" ? "timeout" : "error", message);
|
|
91
268
|
}
|
|
92
269
|
}
|
|
93
|
-
|
|
270
|
+
const message = `timeout waiting for ${workerName} done`;
|
|
271
|
+
throw new RunFailure(message, "timeout", message);
|
|
94
272
|
}
|
|
95
273
|
finally {
|
|
96
274
|
clearTimeout(timer);
|
|
@@ -101,28 +279,9 @@ async function waitForDone(channelName, workerName, timeoutMs) {
|
|
|
101
279
|
* the body so callers can pipe it.
|
|
102
280
|
*/
|
|
103
281
|
async function printFinalMessage(channelName, workerName) {
|
|
104
|
-
const
|
|
105
|
-
if (
|
|
106
|
-
return;
|
|
107
|
-
const lines = fs
|
|
108
|
-
.readFileSync(file, "utf-8")
|
|
109
|
-
.split("\n")
|
|
110
|
-
.filter((l) => l.trim());
|
|
111
|
-
const events = [];
|
|
112
|
-
for (const l of lines) {
|
|
113
|
-
try {
|
|
114
|
-
events.push(JSON.parse(l));
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
// ignore
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const candidate = events
|
|
121
|
-
.filter((e) => e.kind === "message" && e.by === workerName)
|
|
122
|
-
.pop();
|
|
123
|
-
if (!candidate)
|
|
282
|
+
const text = finalText((await readChannelEvents(channelName)).filter((e) => e.by === workerName));
|
|
283
|
+
if (text === null)
|
|
124
284
|
return;
|
|
125
|
-
const text = candidate.text ?? "";
|
|
126
285
|
process.stdout.write(text);
|
|
127
286
|
if (!text.endsWith("\n"))
|
|
128
287
|
process.stdout.write("\n");
|