@chinhae/atw-cli 0.6.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.
Files changed (241) hide show
  1. package/README.md +128 -451
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +24 -1
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/channel/adapters/claude.d.ts +44 -2
  6. package/dist/commands/channel/adapters/claude.d.ts.map +1 -1
  7. package/dist/commands/channel/adapters/claude.js +124 -23
  8. package/dist/commands/channel/adapters/claude.js.map +1 -1
  9. package/dist/commands/channel/adapters/codex.d.ts +36 -6
  10. package/dist/commands/channel/adapters/codex.d.ts.map +1 -1
  11. package/dist/commands/channel/adapters/codex.js +150 -10
  12. package/dist/commands/channel/adapters/codex.js.map +1 -1
  13. package/dist/commands/channel/adapters/index.d.ts +33 -4
  14. package/dist/commands/channel/adapters/index.d.ts.map +1 -1
  15. package/dist/commands/channel/adapters/index.js +159 -6
  16. package/dist/commands/channel/adapters/index.js.map +1 -1
  17. package/dist/commands/channel/adapters/omp.d.ts +106 -0
  18. package/dist/commands/channel/adapters/omp.d.ts.map +1 -0
  19. package/dist/commands/channel/adapters/omp.js +405 -0
  20. package/dist/commands/channel/adapters/omp.js.map +1 -0
  21. package/dist/commands/channel/adapters/pi.d.ts +123 -0
  22. package/dist/commands/channel/adapters/pi.d.ts.map +1 -0
  23. package/dist/commands/channel/adapters/pi.js +387 -0
  24. package/dist/commands/channel/adapters/pi.js.map +1 -0
  25. package/dist/commands/channel/adapters/types.d.ts +16 -0
  26. package/dist/commands/channel/adapters/types.d.ts.map +1 -1
  27. package/dist/commands/channel/agent-loader.d.ts +1 -0
  28. package/dist/commands/channel/agent-loader.d.ts.map +1 -1
  29. package/dist/commands/channel/agent-loader.js +45 -5
  30. package/dist/commands/channel/agent-loader.js.map +1 -1
  31. package/dist/commands/channel/dev-parse-trace.d.ts +1 -1
  32. package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -1
  33. package/dist/commands/channel/dev-parse-trace.js +25 -2
  34. package/dist/commands/channel/dev-parse-trace.js.map +1 -1
  35. package/dist/commands/channel/index.d.ts.map +1 -1
  36. package/dist/commands/channel/index.js +44 -12
  37. package/dist/commands/channel/index.js.map +1 -1
  38. package/dist/commands/channel/run.d.ts +39 -2
  39. package/dist/commands/channel/run.d.ts.map +1 -1
  40. package/dist/commands/channel/run.js +227 -68
  41. package/dist/commands/channel/run.js.map +1 -1
  42. package/dist/commands/channel/spawn.d.ts +7 -2
  43. package/dist/commands/channel/spawn.d.ts.map +1 -1
  44. package/dist/commands/channel/spawn.js +35 -1
  45. package/dist/commands/channel/spawn.js.map +1 -1
  46. package/dist/commands/channel/store/events.d.ts +2 -2
  47. package/dist/commands/channel/store/events.d.ts.map +1 -1
  48. package/dist/commands/channel/store/events.js +1 -1
  49. package/dist/commands/channel/store/events.js.map +1 -1
  50. package/dist/commands/channel/supervisor/shutdown.d.ts +2 -0
  51. package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -1
  52. package/dist/commands/channel/supervisor/shutdown.js +6 -1
  53. package/dist/commands/channel/supervisor/shutdown.js.map +1 -1
  54. package/dist/commands/channel/supervisor.d.ts +2 -2
  55. package/dist/commands/channel/supervisor.d.ts.map +1 -1
  56. package/dist/commands/channel/supervisor.js +26 -3
  57. package/dist/commands/channel/supervisor.js.map +1 -1
  58. package/dist/commands/init.d.ts.map +1 -1
  59. package/dist/commands/init.js +6 -1
  60. package/dist/commands/init.js.map +1 -1
  61. package/dist/commands/mem.d.ts +2 -1
  62. package/dist/commands/mem.d.ts.map +1 -1
  63. package/dist/commands/mem.js +162 -13
  64. package/dist/commands/mem.js.map +1 -1
  65. package/dist/commands/mode.d.ts.map +1 -1
  66. package/dist/commands/mode.js +5 -3
  67. package/dist/commands/mode.js.map +1 -1
  68. package/dist/commands/uninstall.d.ts +5 -3
  69. package/dist/commands/uninstall.d.ts.map +1 -1
  70. package/dist/commands/uninstall.js +40 -16
  71. package/dist/commands/uninstall.js.map +1 -1
  72. package/dist/commands/update.d.ts +34 -0
  73. package/dist/commands/update.d.ts.map +1 -1
  74. package/dist/commands/update.js +209 -11
  75. package/dist/commands/update.js.map +1 -1
  76. package/dist/commands/verify.d.ts +18 -0
  77. package/dist/commands/verify.d.ts.map +1 -0
  78. package/dist/commands/verify.js +75 -0
  79. package/dist/commands/verify.js.map +1 -0
  80. package/dist/configurators/index.d.ts.map +1 -1
  81. package/dist/configurators/index.js +3 -2
  82. package/dist/configurators/index.js.map +1 -1
  83. package/dist/configurators/omp.d.ts +22 -0
  84. package/dist/configurators/omp.d.ts.map +1 -1
  85. package/dist/configurators/omp.js +101 -2
  86. package/dist/configurators/omp.js.map +1 -1
  87. package/dist/configurators/shared.d.ts.map +1 -1
  88. package/dist/configurators/shared.js +39 -7
  89. package/dist/configurators/shared.js.map +1 -1
  90. package/dist/configurators/workflow.d.ts.map +1 -1
  91. package/dist/configurators/workflow.js +5 -1
  92. package/dist/configurators/workflow.js.map +1 -1
  93. package/dist/constants/paths.d.ts +4 -0
  94. package/dist/constants/paths.d.ts.map +1 -1
  95. package/dist/constants/paths.js +4 -0
  96. package/dist/constants/paths.js.map +1 -1
  97. package/dist/migrations/manifests/0.7.0.json +1378 -0
  98. package/dist/templates/atw/definition-of-done.md +65 -0
  99. package/dist/templates/atw/gitignore.txt +7 -0
  100. package/dist/templates/atw/index.d.ts +11 -0
  101. package/dist/templates/atw/index.d.ts.map +1 -1
  102. package/dist/templates/atw/index.js +22 -0
  103. package/dist/templates/atw/index.js.map +1 -1
  104. package/dist/templates/atw/scripts/common/active_task.py +2 -2
  105. package/dist/templates/atw/scripts/common/workflow_phase.py +33 -0
  106. package/dist/templates/atw/scripts/cross_model_review.py +3312 -0
  107. package/dist/templates/atw/scripts/decision_log.py +2002 -0
  108. package/dist/templates/atw/scripts/floor_guard.py +642 -0
  109. package/dist/templates/atw/scripts/task.py +25 -6
  110. package/dist/templates/atw/scripts/tickets.py +480 -10
  111. package/dist/templates/atw/workflow-general.md +6 -1
  112. package/dist/templates/atw/workflow.md +346 -26
  113. package/dist/templates/claude/settings.json +12 -0
  114. package/dist/templates/codex/hooks/session-start.py +2 -2
  115. package/dist/templates/common/bundled-skills/atw-askme/SKILL.md +1 -1
  116. package/dist/templates/common/bundled-skills/atw-askme-with-docs/SKILL.md +1 -1
  117. package/dist/templates/common/bundled-skills/atw-channel/SKILL.md +5 -2
  118. package/dist/templates/common/bundled-skills/atw-channel/references/command-reference.md +44 -5
  119. package/dist/templates/common/bundled-skills/atw-channel/references/progress-debugging.md +9 -0
  120. package/dist/templates/common/bundled-skills/atw-channel/references/workers.md +48 -4
  121. package/dist/templates/common/bundled-skills/atw-code-review/SKILL.md +78 -3
  122. package/dist/templates/common/bundled-skills/atw-codebase-design/SKILL.md +2 -2
  123. package/dist/templates/common/bundled-skills/atw-codebase-design/{DESIGN-IT-TWICE.md → design-it-twice.md} +3 -3
  124. package/dist/templates/common/bundled-skills/atw-cross-model-review/SKILL.md +361 -0
  125. package/dist/templates/common/bundled-skills/atw-cross-model-review/agents/openai.yaml +5 -0
  126. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/four-tiers.md +42 -0
  127. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/log-review-questions.md +38 -0
  128. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/questions.md +54 -0
  129. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/recheck-questions.md +42 -0
  130. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/report-format.md +22 -0
  131. package/dist/templates/common/bundled-skills/atw-diagnosing-bugs/SKILL.md +13 -2
  132. package/dist/templates/common/bundled-skills/atw-domain-modeling/SKILL.md +2 -2
  133. package/dist/templates/common/bundled-skills/atw-handoff/SKILL.md +1 -1
  134. package/dist/templates/common/bundled-skills/atw-implement/SKILL.md +37 -1
  135. package/dist/templates/common/bundled-skills/atw-implement-all/SKILL.md +219 -24
  136. package/dist/templates/common/bundled-skills/atw-implement-spec/SKILL.md +237 -18
  137. package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/SKILL.md +2 -2
  138. package/dist/templates/common/bundled-skills/atw-init-repo/SKILL.md +1 -1
  139. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw-local.md +7 -1
  140. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw.md +7 -1
  141. package/dist/templates/common/bundled-skills/atw-map/SKILL.md +1 -1
  142. package/dist/templates/common/bundled-skills/atw-meta/SKILL.md +1 -1
  143. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/add-project-local-conventions.md +4 -3
  144. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-skills-or-commands.md +21 -16
  145. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-task-lifecycle.md +1 -1
  146. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/overview.md +1 -0
  147. package/dist/templates/common/bundled-skills/atw-meta/references/local-architecture/task-system.md +2 -1
  148. package/dist/templates/common/bundled-skills/atw-meta/references/platform-files/hooks-and-settings.md +1 -0
  149. package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +1 -1
  150. package/dist/templates/common/bundled-skills/atw-performance/SKILL.md +134 -0
  151. package/dist/templates/common/bundled-skills/atw-performance/agents/openai.yaml +3 -0
  152. package/dist/templates/common/bundled-skills/atw-performance/references/optimization-patterns.md +250 -0
  153. package/dist/templates/common/bundled-skills/atw-performance/references/performance-checklist.md +238 -0
  154. package/dist/templates/common/bundled-skills/atw-performance/references/performance-optimization.md +264 -0
  155. package/dist/templates/common/bundled-skills/atw-prototype/SKILL.md +3 -3
  156. package/dist/templates/common/bundled-skills/atw-prototype/{LOGIC.md → logic.md} +1 -1
  157. package/dist/templates/common/bundled-skills/atw-prototype/references/design-direction.md +1 -1
  158. package/dist/templates/common/bundled-skills/atw-prototype/references/style-explorer.md +1 -1
  159. package/dist/templates/common/bundled-skills/atw-prototype/{UI.md → ui.md} +4 -4
  160. package/dist/templates/common/bundled-skills/atw-reflect/SKILL.md +77 -0
  161. package/dist/templates/common/bundled-skills/atw-reflect/agents/openai.yaml +5 -0
  162. package/dist/templates/common/bundled-skills/atw-reflect/references/divergent-reviewer.md +38 -0
  163. package/dist/templates/common/bundled-skills/atw-reflect/references/judgment-reviewer.md +37 -0
  164. package/dist/templates/common/bundled-skills/atw-reflect/references/synthesizer.md +63 -0
  165. package/dist/templates/common/bundled-skills/atw-reflect/references/tooling-reviewer.md +48 -0
  166. package/dist/templates/common/bundled-skills/atw-security/SKILL.md +248 -0
  167. package/dist/templates/common/bundled-skills/atw-security/agents/openai.yaml +3 -0
  168. package/dist/templates/common/bundled-skills/atw-security/references/hardening-patterns.md +324 -0
  169. package/dist/templates/common/bundled-skills/atw-security/references/security-checklist.md +248 -0
  170. package/dist/templates/common/bundled-skills/atw-session-insight/SKILL.md +1 -1
  171. package/dist/templates/common/bundled-skills/atw-session-insight/references/cli-quick-reference.md +11 -2
  172. package/dist/templates/common/bundled-skills/atw-spec/SKILL.md +1 -1
  173. package/dist/templates/common/bundled-skills/atw-tdd/SKILL.md +25 -0
  174. package/dist/templates/common/bundled-skills/atw-tickets/SKILL.md +1 -1
  175. package/dist/templates/common/bundled-skills/atw-triage/SKILL.md +5 -5
  176. package/dist/templates/common/bundled-skills/atw-ui/SKILL.md +54 -1
  177. package/dist/templates/common/bundled-skills/atw-ui/references/accessibility-checklist.md +160 -0
  178. package/dist/templates/common/bundled-skills/atw-verify-skill/SKILL.md +58 -0
  179. package/dist/templates/common/bundled-skills/atw-verify-skill/agents/openai.yaml +5 -0
  180. package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/README.md +47 -0
  181. package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/create-note.md +39 -0
  182. package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/search.md +45 -0
  183. package/dist/templates/common/bundled-skills/atw-verify-skill/references/generate.md +107 -0
  184. package/dist/templates/common/bundled-skills/atw-verify-skill/references/health-check.md +100 -0
  185. package/dist/templates/common/bundled-skills/atw-verify-skill/references/verify-skill-template.md +99 -0
  186. package/dist/templates/common/bundled-skills/atw-what-happened/SKILL.md +49 -0
  187. package/dist/templates/common/bundled-skills/atw-what-happened/agents/openai.yaml +5 -0
  188. package/dist/templates/common/commands/finish-work.md +10 -1
  189. package/dist/templates/common/commands/start.md +3 -1
  190. package/dist/templates/common/skills/update-spec.md +40 -4
  191. package/dist/templates/copilot/hooks/session-start.py +2 -2
  192. package/dist/templates/dsh/DSH.md +2 -2
  193. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +10 -0
  194. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +10 -0
  195. package/dist/templates/omp/config.yml +15 -0
  196. package/dist/templates/omp/extensions/atw/index.ts.txt +135 -18
  197. package/dist/templates/omp/index.d.ts +1 -0
  198. package/dist/templates/omp/index.d.ts.map +1 -1
  199. package/dist/templates/omp/index.js +3 -0
  200. package/dist/templates/omp/index.js.map +1 -1
  201. package/dist/templates/opencode/lib/session-utils.js +4 -2
  202. package/dist/templates/opencode/plugins/inject-workflow-state.js +5 -1
  203. package/dist/templates/pi/extensions/atw/index.ts.txt +80 -7
  204. package/dist/templates/shared-hooks/index.d.ts +8 -1
  205. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  206. package/dist/templates/shared-hooks/index.js +8 -0
  207. package/dist/templates/shared-hooks/index.js.map +1 -1
  208. package/dist/templates/shared-hooks/inject-workflow-state.py +131 -14
  209. package/dist/templates/shared-hooks/session-start.py +4 -2
  210. package/dist/templates/shared-hooks/show-notice.py +135 -0
  211. package/dist/templates/snow/SNOW.md +1 -1
  212. package/dist/utils/initialized.d.ts +9 -0
  213. package/dist/utils/initialized.d.ts.map +1 -0
  214. package/dist/utils/initialized.js +24 -0
  215. package/dist/utils/initialized.js.map +1 -0
  216. package/dist/utils/managed-removal.d.ts +2 -0
  217. package/dist/utils/managed-removal.d.ts.map +1 -1
  218. package/dist/utils/managed-removal.js +23 -3
  219. package/dist/utils/managed-removal.js.map +1 -1
  220. package/dist/utils/optional-skills.d.ts +2 -0
  221. package/dist/utils/optional-skills.d.ts.map +1 -1
  222. package/dist/utils/optional-skills.js +1 -1
  223. package/dist/utils/optional-skills.js.map +1 -1
  224. package/dist/utils/template-hash.d.ts.map +1 -1
  225. package/dist/utils/template-hash.js +3 -0
  226. package/dist/utils/template-hash.js.map +1 -1
  227. package/dist/utils/uninstall-scrubbers.d.ts +10 -0
  228. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  229. package/dist/utils/uninstall-scrubbers.js +50 -0
  230. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  231. package/dist/utils/verify-entries.d.ts +51 -0
  232. package/dist/utils/verify-entries.d.ts.map +1 -0
  233. package/dist/utils/verify-entries.js +399 -0
  234. package/dist/utils/verify-entries.js.map +1 -0
  235. package/package.json +2 -2
  236. /package/dist/templates/common/bundled-skills/atw-codebase-design/{DEEPENING.md → deepening.md} +0 -0
  237. /package/dist/templates/common/bundled-skills/atw-domain-modeling/{ADR-FORMAT.md → adr-format.md} +0 -0
  238. /package/dist/templates/common/bundled-skills/atw-domain-modeling/{GLOSSARY-FORMAT.md → glossary-format.md} +0 -0
  239. /package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/{HTML-REPORT.md → html-report.md} +0 -0
  240. /package/dist/templates/common/bundled-skills/atw-triage/{AGENT-BRIEF.md → agent-brief.md} +0 -0
  241. /package/dist/templates/common/bundled-skills/atw-triage/{OUT-OF-SCOPE.md → out-of-scope.md} +0 -0
@@ -1,3 +1,5 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
1
3
  export function createCodexCtx() {
2
4
  return {
3
5
  pending: new Map(),
@@ -14,7 +16,6 @@ const SKIP_METHODS = new Set([
14
16
  "mcpServer/startupStatus/updated",
15
17
  "mcpServer/oauthLoginCompleted",
16
18
  "account/rateLimits/updated",
17
- "thread/tokenUsage/updated",
18
19
  "thread/status/changed",
19
20
  "thread/started",
20
21
  "turn/started",
@@ -115,6 +116,11 @@ function handleResponse(msg, ctx) {
115
116
  const side = {
116
117
  resolved: [{ id, result: msg.result, error: msg.error }],
117
118
  };
119
+ if (label === "config/read") {
120
+ ctx.configRead = msg.error
121
+ ? { error: msg.error.message ?? "unknown error" }
122
+ : { config: msg.result?.config };
123
+ }
118
124
  if (msg.error) {
119
125
  events.push({
120
126
  kind: "error",
@@ -137,6 +143,21 @@ function handleResponse(msg, ctx) {
137
143
  side.persistSessionId = threadId;
138
144
  }
139
145
  }
146
+ const model = msg.result.model;
147
+ if (typeof model === "string" && model) {
148
+ const detail = { kind: "model", model };
149
+ events.push({ kind: "progress", payload: { detail } });
150
+ }
151
+ // Which instruction files (AGENTS.md …) the thread actually loaded.
152
+ const sources = msg.result
153
+ .instructionSources;
154
+ if (Array.isArray(sources)) {
155
+ const detail = {
156
+ kind: "instruction_sources",
157
+ paths: sources,
158
+ };
159
+ events.push({ kind: "progress", payload: { detail } });
160
+ }
140
161
  }
141
162
  return { events, side };
142
163
  }
@@ -151,6 +172,13 @@ function handleNotification(msg, ctx) {
151
172
  return handleItemCompleted(msg, ctx);
152
173
  case "item/agentMessage/delta":
153
174
  return handleAgentMessageDelta(msg, ctx);
175
+ case "thread/tokenUsage/updated": {
176
+ const usage = msg.params?.tokenUsage;
177
+ if (!isObject(usage))
178
+ return { events: [] };
179
+ const detail = { kind: "token_usage", usage };
180
+ return { events: [{ kind: "progress", payload: { detail } }] };
181
+ }
154
182
  case "turn/completed": {
155
183
  const turn = isObject(msg.params?.turn) ? msg.params.turn : undefined;
156
184
  if (turn?.status === "failed") {
@@ -164,6 +192,7 @@ function handleNotification(msg, ctx) {
164
192
  kind: "error",
165
193
  payload: {
166
194
  message: errorMessage(turn.error, "Codex turn failed"),
195
+ ...errorKindOf(turn.error),
167
196
  },
168
197
  },
169
198
  ],
@@ -195,7 +224,14 @@ function handleNotification(msg, ctx) {
195
224
  return { events: [] };
196
225
  ctx.terminalErrorSeen = true;
197
226
  ctx.pendingDone = false;
198
- return { events: [{ kind: "error", payload: { message } }] };
227
+ return {
228
+ events: [
229
+ {
230
+ kind: "error",
231
+ payload: { message, ...errorKindOf(params.error) },
232
+ },
233
+ ],
234
+ };
199
235
  }
200
236
  case "turn/aborted":
201
237
  return {
@@ -503,6 +539,28 @@ function errorMessage(error, fallback) {
503
539
  }
504
540
  return fallback;
505
541
  }
542
+ /**
543
+ * `TurnError.codexErrorInfo`(app-server v2)原样交出种类:不带数据的是字符串(`usageLimitExceeded`),
544
+ * 带状态码的是 `{ <种类>: { httpStatusCode } }`。没有就不加这两个字段。
545
+ */
546
+ function errorKindOf(error) {
547
+ const info = isObject(error) ? error.codexErrorInfo : undefined;
548
+ if (typeof info === "string" && info) {
549
+ return { error_kind: info, error_status: null };
550
+ }
551
+ if (isObject(info)) {
552
+ const [kind] = Object.keys(info);
553
+ if (kind) {
554
+ const data = info[kind];
555
+ const status = isObject(data) ? data.httpStatusCode : undefined;
556
+ return {
557
+ error_kind: kind,
558
+ error_status: typeof status === "number" ? status : null,
559
+ };
560
+ }
561
+ }
562
+ return {};
563
+ }
506
564
  // ── Outbound helpers ──
507
565
  export function encodeCodexRequest(ctx, method, params, label = "other") {
508
566
  const id = ctx.nextId++;
@@ -547,27 +605,109 @@ export function parseCodexSandboxMode(v) {
547
605
  }
548
606
  return v;
549
607
  }
550
- export function buildCodexThreadStartParams(cwd, systemPrompt, sandbox) {
608
+ export function buildCodexThreadStartParams(cwd, systemPrompt, sandbox, modes = {}) {
609
+ const features = {
610
+ multi_agent: false,
611
+ multi_agent_v2: { enabled: false },
612
+ };
613
+ const config = { features };
551
614
  const params = {
552
615
  cwd,
553
616
  // MVP: aggressive permissive defaults to avoid getting stuck mid-turn.
554
617
  approvalPolicy: "never",
555
618
  // Default stays workspace-write; callers (channel spawn --sandbox) may
556
619
  // override to match the user's main-session Codex permissions.
557
- sandbox: sandbox ?? "workspace-write",
620
+ sandbox: modes.readOnly ? "read-only" : (sandbox ?? "workspace-write"),
558
621
  // Disable codex native multi-agent so spawned worker can't recurse into
559
622
  // its own sub-agents (would conflict with channel's collaboration layer
560
623
  // and reproduce the wait_agent-deadlock recursion).
561
- config: {
562
- features: {
563
- multi_agent: false,
564
- multi_agent_v2: { enabled: false },
565
- },
566
- },
624
+ config,
567
625
  };
626
+ if (modes.noSession)
627
+ params.ephemeral = true;
628
+ if (modes.clean) {
629
+ Object.assign(features, { hooks: false, plugins: false, apps: false });
630
+ // The user-level $CODEX_HOME/AGENTS.md cannot be switched off; this drops
631
+ // the project's AGENTS.md and its `.codex/config.toml` layer.
632
+ config.project_doc_max_bytes = 0;
633
+ // Codex gates the project `.codex/` config layer on the project root's
634
+ // key and project docs on the cwd's key, so both are marked.
635
+ config.projects = Object.fromEntries([modes.projectRoot ?? realPath(cwd), realPath(cwd)].map((dir) => [
636
+ dir,
637
+ { trust_level: "untrusted" },
638
+ ]));
639
+ config.mcp_servers = Object.fromEntries((modes.mcpServerNames ?? []).map((name) => [name, { enabled: false }]));
640
+ config.skills = {
641
+ include_instructions: false,
642
+ bundled: { enabled: false },
643
+ };
644
+ // Legacy `notify` programs run every turn regardless of features.hooks.
645
+ config.notify = [];
646
+ }
647
+ // "default" is Codex's explicit standard-routing value; it overrides the
648
+ // user's `service_tier = "fast"` and the model catalog's default tier.
649
+ if (modes.standardSpeed)
650
+ config.service_tier = "default";
651
+ if (modes.effort)
652
+ config.model_reasoning_effort = modes.effort;
568
653
  if (systemPrompt?.trim()) {
569
654
  params.developerInstructions = systemPrompt;
570
655
  }
571
656
  return params;
572
657
  }
658
+ /** MCP server names in a `config/read` result's `config.mcp_servers`. */
659
+ export function codexMcpServerNames(config) {
660
+ const servers = isObject(config) ? config.mcp_servers : undefined;
661
+ return isObject(servers) ? Object.keys(servers) : [];
662
+ }
663
+ /**
664
+ * The project root Codex keys trust on: the nearest directory at or above
665
+ * `cwd` holding one of `project_root_markers` (from `config/read`; Codex's
666
+ * default is `.git`). Falls back to `cwd` when there is none.
667
+ */
668
+ export function codexProjectRoot(cwd, config) {
669
+ const configured = isObject(config) ? config.project_root_markers : undefined;
670
+ const markers = Array.isArray(configured)
671
+ ? configured.filter((m) => typeof m === "string")
672
+ : [".git"];
673
+ const start = realPath(cwd);
674
+ for (let dir = start;; dir = path.dirname(dir)) {
675
+ if (markers.some((m) => fs.existsSync(path.join(dir, m))))
676
+ return dir;
677
+ if (path.dirname(dir) === dir)
678
+ return start;
679
+ }
680
+ }
681
+ function realPath(p) {
682
+ try {
683
+ return fs.realpathSync(p);
684
+ }
685
+ catch {
686
+ return p;
687
+ }
688
+ }
689
+ /**
690
+ * Codex's known reasoning-effort values (protocol `ReasoningEffort`). Codex
691
+ * itself forwards any string unchanged, so ATW refuses unknown ones here.
692
+ */
693
+ export const CODEX_EFFORT_LEVELS = [
694
+ "none",
695
+ "minimal",
696
+ "low",
697
+ "medium",
698
+ "high",
699
+ "xhigh",
700
+ "max",
701
+ "ultra",
702
+ "persistent",
703
+ ];
704
+ export function validateCodexModes(modes) {
705
+ if (modes.effort !== undefined &&
706
+ !CODEX_EFFORT_LEVELS.includes(modes.effort)) {
707
+ throw new Error(`Invalid --effort '${modes.effort}' for codex. Must be one of: ${CODEX_EFFORT_LEVELS.join(", ")}`);
708
+ }
709
+ if (modes.readOnly && modes.sandbox && modes.sandbox !== "read-only") {
710
+ throw new Error(`codex: --read-only conflicts with --sandbox ${modes.sandbox}`);
711
+ }
712
+ }
573
713
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/commands/channel/adapters/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/commands/channel/adapters/codex.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,16 @@
17
17
  */
18
18
  import type { ChildProcessByStdio } from "node:child_process";
19
19
  import type { Readable, Writable } from "node:stream";
20
+ import { type ClaudeCtx } from "./claude.js";
20
21
  import { type CodexCtx, type CodexSandboxMode } from "./codex.js";
21
- import type { ParseResult } from "./types.js";
22
+ import { type PiCtx } from "./pi.js";
23
+ import { type OmpCtx } from "./omp.js";
24
+ import type { ParseResult, WorkerModes } from "./types.js";
25
+ export type { WorkerModes } from "./types.js";
22
26
  export type WorkerChild = ChildProcessByStdio<Writable, Readable, Readable>;
23
27
  /** Per-worker handshake / RPC state. Each adapter owns its shape. */
24
28
  export type AdapterCtx = unknown;
25
- export interface SupervisorView {
29
+ export interface SupervisorView extends WorkerModes {
26
30
  /** Args passed to `buildArgs`. Adapters read what they need (model, resume, systemPrompt). */
27
31
  resume?: string;
28
32
  model?: string;
@@ -38,10 +42,28 @@ export interface SupervisorView {
38
42
  cwd: string;
39
43
  /** Codex-only: overrides the `thread/start` sandbox mode (default `workspace-write`). */
40
44
  sandbox?: CodexSandboxMode;
45
+ /** Path of the file the supervisor wrote from `configOverlay()` (omp: `--config`). */
46
+ configOverlayFile?: string;
41
47
  }
42
48
  export interface WorkerAdapter<Ctx = AdapterCtx> {
43
49
  /** Display + binary name. */
44
50
  readonly provider: Provider;
51
+ /**
52
+ * Throw when this tool cannot honour the requested modes (impossible
53
+ * combination, unknown effort level). Runs before anything is launched,
54
+ * so a request is refused rather than silently downgraded.
55
+ */
56
+ validateModes(modes: WorkerModes & {
57
+ sandbox?: CodexSandboxMode;
58
+ resume?: string;
59
+ model?: string;
60
+ }): void;
61
+ /**
62
+ * Optional per-run settings file the tool reads at launch. The supervisor
63
+ * writes the returned text into the worker dir before `buildArgs` and
64
+ * passes its path as `view.configOverlayFile`.
65
+ */
66
+ configOverlay?(view: SupervisorView): string | undefined;
45
67
  /** Build the CLI args used to spawn the worker process. */
46
68
  buildArgs(view: SupervisorView): string[];
47
69
  /** Fresh per-worker context (e.g. JSON-RPC pending map). */
@@ -82,13 +104,20 @@ export interface WorkerAdapter<Ctx = AdapterCtx> {
82
104
  * No other file in the runtime needs to change.
83
105
  */
84
106
  declare const REGISTRY: {
85
- readonly claude: WorkerAdapter<undefined>;
107
+ readonly claude: WorkerAdapter<ClaudeCtx>;
86
108
  readonly codex: WorkerAdapter<CodexCtx>;
109
+ readonly pi: WorkerAdapter<PiCtx>;
110
+ readonly omp: WorkerAdapter<OmpCtx>;
87
111
  };
88
112
  export type Provider = keyof typeof REGISTRY;
89
113
  /** Runtime list of registered providers — used by CLI validation. */
90
114
  export declare function listProviders(): Provider[];
91
115
  export declare function isProvider(value: string): value is Provider;
116
+ /** Refuse modes the provider cannot honour, before anything is launched. */
117
+ export declare function validateWorkerModes(provider: Provider, modes: WorkerModes & {
118
+ sandbox?: CodexSandboxMode;
119
+ resume?: string;
120
+ model?: string;
121
+ }): void;
92
122
  export declare function getAdapter(provider: Provider): WorkerAdapter<AdapterCtx>;
93
- export {};
94
123
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/channel/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQtD,OAAO,EAQL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE5E,qEAAqE;AACrE,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAEjC,MAAM,WAAW,cAAc;IAC7B,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,yFAAyF;IACzF,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa,CAAC,GAAG,GAAG,UAAU;IAC7C,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,2DAA2D;IAC3D,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAAC;IAC1C,4DAA4D;IAC5D,SAAS,IAAI,GAAG,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,WAAW,CAAC;QACnB,GAAG,EAAE,GAAG,CAAC;QACT,IAAI,EAAE,cAAc,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/C;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAClD;;;OAGG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;CACxD;AAqFD;;;;;GAKG;AACH,QAAA,MAAM,QAAQ;;;CAGJ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,QAAQ,CAAC;AAE7C,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAE1C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAQxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/channel/adapters/index.ts"],"names":[],"mappings":"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"}
@@ -15,27 +15,33 @@
15
15
  * stay provider-agnostic — adding a new provider means writing a new
16
16
  * `<name>.ts` adapter and registering it here.
17
17
  */
18
- import { buildClaudeArgs, encodeClaudeInterruptMessage, encodeClaudeUserMessage, parseClaudeLine, } from "./claude.js";
19
- import { buildCodexArgs, buildCodexThreadStartParams, createCodexCtx, encodeCodexInterruptMessage, encodeCodexRequest, encodeCodexUserMessage, parseCodexLine, } from "./codex.js";
18
+ import { buildClaudeArgs, createClaudeCtx, encodeClaudeInterruptMessage, encodeClaudeUserMessage, parseClaudeLine, validateClaudeModes, } from "./claude.js";
19
+ import { buildCodexArgs, buildCodexThreadStartParams, codexMcpServerNames, codexProjectRoot, createCodexCtx, encodeCodexInterruptMessage, encodeCodexRequest, encodeCodexUserMessage, parseCodexLine, validateCodexModes, } from "./codex.js";
20
+ import { buildPiArgs, checkPiEffortForModel, createPiCtx, encodePiInterruptMessage, encodePiLevelsRequest, encodePiBaseStatsRequest, encodePiStateRequest, encodePiUserMessage, parsePiLine, validatePiModes, } from "./pi.js";
21
+ import { buildOmpArgs, buildOmpConfigOverlay, createOmpCtx, encodeOmpBaseStatsRequest, encodeOmpEventFilter, encodeOmpInterruptMessage, encodeOmpLevelsRequest, encodeOmpStateRequest, encodeOmpUserMessage, parseOmpLine, renderOmpConfigOverlay, validateOmpModes, } from "./omp.js";
20
22
  /** Claude adapter — stream-json over stdio, no handshake. */
21
23
  const claudeAdapter = {
22
24
  provider: "claude",
25
+ validateModes(modes) {
26
+ validateClaudeModes(modes);
27
+ },
23
28
  buildArgs(view) {
24
29
  return buildClaudeArgs({
25
30
  resumeSessionId: view.resume,
26
31
  model: view.model,
27
32
  systemPrompt: view.systemPrompt,
28
33
  systemPromptFile: view.systemPromptFile,
34
+ modes: view,
29
35
  });
30
36
  },
31
37
  createCtx() {
32
- return undefined;
38
+ return createClaudeCtx();
33
39
  },
34
40
  isReady() {
35
41
  return true;
36
42
  },
37
- parseLine(line) {
38
- return parseClaudeLine(line);
43
+ parseLine(line, ctx) {
44
+ return parseClaudeLine(line, ctx);
39
45
  },
40
46
  encodeUserMessage(text) {
41
47
  return encodeClaudeUserMessage(text);
@@ -47,6 +53,9 @@ const claudeAdapter = {
47
53
  /** Codex adapter — JSON-RPC 2.0 via `app-server`, requires handshake. */
48
54
  const codexAdapter = {
49
55
  provider: "codex",
56
+ validateModes(modes) {
57
+ validateCodexModes(modes);
58
+ },
50
59
  buildArgs(view) {
51
60
  return buildCodexArgs({ model: view.model });
52
61
  },
@@ -62,7 +71,22 @@ const codexAdapter = {
62
71
  child.stdin.write(init.line);
63
72
  // 2. wait briefly so initialize lands first
64
73
  await sleep(150);
65
- const ts = encodeCodexRequest(ctx, "thread/start", buildCodexThreadStartParams(view.cwd, view.systemPrompt, view.sandbox), "thread/start");
74
+ // Clean mode disables every configured MCP server by name. `config/read`
75
+ // only reads config; `mcpServerStatus/list` would start the servers.
76
+ let mcpServerNames;
77
+ let projectRoot;
78
+ if (view.clean) {
79
+ child.stdin.write(encodeCodexRequest(ctx, "config/read", { cwd: view.cwd }, "config/read")
80
+ .line);
81
+ const config = await waitForConfigRead(ctx);
82
+ mcpServerNames = codexMcpServerNames(config);
83
+ projectRoot = codexProjectRoot(view.cwd, config);
84
+ }
85
+ const ts = encodeCodexRequest(ctx, "thread/start", buildCodexThreadStartParams(view.cwd, view.systemPrompt, view.sandbox, {
86
+ ...view,
87
+ mcpServerNames,
88
+ projectRoot,
89
+ }), "thread/start");
66
90
  child.stdin.write(ts.line);
67
91
  // 3. wait for thread/start response to populate threadId
68
92
  const deadline = Date.now() + 30_000;
@@ -86,6 +110,104 @@ const codexAdapter = {
86
110
  return encodeCodexInterruptMessage(ctx, text).line;
87
111
  },
88
112
  };
113
+ /** pi adapter — `--mode rpc` JSON lines; handshake reads the session id. */
114
+ const piAdapter = {
115
+ provider: "pi",
116
+ validateModes(modes) {
117
+ validatePiModes(modes);
118
+ },
119
+ buildArgs(view) {
120
+ return buildPiArgs({
121
+ resumeSessionId: view.resume,
122
+ model: view.model,
123
+ systemPrompt: view.systemPrompt,
124
+ systemPromptFile: view.systemPromptFile,
125
+ modes: view,
126
+ });
127
+ },
128
+ createCtx() {
129
+ return createPiCtx();
130
+ },
131
+ async handshake({ child, ctx, view }) {
132
+ // 先校验思考强度,不合格就在任何一条消息发出前停下。
133
+ if (view.effort !== undefined) {
134
+ child.stdin.write(encodePiLevelsRequest());
135
+ const levels = await waitFor(() => ctx.levels, "pi get_available_thinking_levels");
136
+ checkPiEffortForModel(view.effort, levels, view.model);
137
+ }
138
+ child.stdin.write(encodePiStateRequest());
139
+ await waitFor(() => (ctx.stateSeen ? true : undefined), "pi get_state");
140
+ // 花费基准:续接的会话起点不是 0。
141
+ child.stdin.write(encodePiBaseStatsRequest());
142
+ await waitFor(() => (ctx.baseSeen ? true : undefined), "pi get_session_stats");
143
+ ctx.ready = true;
144
+ },
145
+ isReady(ctx) {
146
+ return ctx.ready;
147
+ },
148
+ parseLine(line, ctx) {
149
+ return parsePiLine(line, ctx);
150
+ },
151
+ encodeUserMessage(text, ctx) {
152
+ return encodePiUserMessage(ctx, text);
153
+ },
154
+ encodeInterruptMessage(text, ctx) {
155
+ return encodePiInterruptMessage(ctx, text);
156
+ },
157
+ };
158
+ /** omp adapter — `--mode rpc --no-ui` JSON lines; waits for `ready`, per-run config overlay. */
159
+ const ompAdapter = {
160
+ provider: "omp",
161
+ validateModes(modes) {
162
+ validateOmpModes(modes);
163
+ },
164
+ configOverlay(view) {
165
+ const overlay = buildOmpConfigOverlay(view);
166
+ return overlay ? renderOmpConfigOverlay(overlay) : undefined;
167
+ },
168
+ buildArgs(view) {
169
+ return buildOmpArgs({
170
+ resumeSessionId: view.resume,
171
+ model: view.model,
172
+ systemPrompt: view.systemPrompt,
173
+ systemPromptFile: view.systemPromptFile,
174
+ configOverlayFile: view.configOverlayFile,
175
+ modes: view,
176
+ });
177
+ },
178
+ createCtx() {
179
+ return createOmpCtx();
180
+ },
181
+ async handshake({ child, ctx, view }) {
182
+ await waitFor(() => (ctx.started ? true : undefined), "omp ready");
183
+ child.stdin.write(encodeOmpEventFilter());
184
+ await waitFor(() => (ctx.filterSeen ? true : undefined), "omp set_event_filter");
185
+ // 先校验思考强度,不合格就在任何一条消息发出前停下。
186
+ if (view.effort !== undefined) {
187
+ child.stdin.write(encodeOmpLevelsRequest());
188
+ const levels = await waitFor(() => ctx.levels, "omp get_available_thinking_levels");
189
+ checkPiEffortForModel(view.effort, levels, view.model, "omp");
190
+ }
191
+ child.stdin.write(encodeOmpStateRequest());
192
+ await waitFor(() => (ctx.stateSeen ? true : undefined), "omp get_state");
193
+ // 花费基准:续接的会话起点不是 0。
194
+ child.stdin.write(encodeOmpBaseStatsRequest());
195
+ await waitFor(() => (ctx.baseSeen ? true : undefined), "omp get_session_stats");
196
+ ctx.ready = true;
197
+ },
198
+ isReady(ctx) {
199
+ return ctx.ready;
200
+ },
201
+ parseLine(line, ctx) {
202
+ return parseOmpLine(line, ctx);
203
+ },
204
+ encodeUserMessage(text, ctx) {
205
+ return encodeOmpUserMessage(ctx, text);
206
+ },
207
+ encodeInterruptMessage(text, ctx) {
208
+ return encodeOmpInterruptMessage(ctx, text);
209
+ },
210
+ };
89
211
  /**
90
212
  * Single source of truth for known providers. Adding a new adapter:
91
213
  * 1. write `adapters/<name>.ts`
@@ -95,6 +217,8 @@ const codexAdapter = {
95
217
  const REGISTRY = {
96
218
  claude: claudeAdapter,
97
219
  codex: codexAdapter,
220
+ pi: piAdapter,
221
+ omp: ompAdapter,
98
222
  };
99
223
  /** Runtime list of registered providers — used by CLI validation. */
100
224
  export function listProviders() {
@@ -103,6 +227,10 @@ export function listProviders() {
103
227
  export function isProvider(value) {
104
228
  return value in REGISTRY;
105
229
  }
230
+ /** Refuse modes the provider cannot honour, before anything is launched. */
231
+ export function validateWorkerModes(provider, modes) {
232
+ getAdapter(provider).validateModes(modes);
233
+ }
106
234
  export function getAdapter(provider) {
107
235
  const a = REGISTRY[provider];
108
236
  if (!a) {
@@ -110,6 +238,31 @@ export function getAdapter(provider) {
110
238
  }
111
239
  return a;
112
240
  }
241
+ async function waitForConfigRead(ctx) {
242
+ const deadline = Date.now() + 30_000;
243
+ while (ctx.configRead === undefined && Date.now() < deadline) {
244
+ await sleep(50);
245
+ }
246
+ if (ctx.configRead === undefined) {
247
+ throw new Error("Codex config/read did not answer within 30s");
248
+ }
249
+ if ("error" in ctx.configRead) {
250
+ throw new Error(`Codex config/read failed, cannot build a clean environment: ${ctx.configRead.error}`);
251
+ }
252
+ return ctx.configRead.config;
253
+ }
254
+ async function waitFor(probe, what) {
255
+ const deadline = Date.now() + 30_000;
256
+ for (;;) {
257
+ const v = probe();
258
+ if (v !== undefined)
259
+ return v;
260
+ if (Date.now() > deadline) {
261
+ throw new Error(`${what} did not answer within 30s`);
262
+ }
263
+ await sleep(50);
264
+ }
265
+ }
113
266
  function sleep(ms) {
114
267
  return new Promise((r) => setTimeout(r, ms));
115
268
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/channel/adapters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/channel/adapters/index.ts"],"names":[],"mappings":"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"}