oh-my-codex 0.13.2 → 0.14.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 (296) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/dist/autoresearch/__tests__/skill-validation.test.d.ts +2 -0
  4. package/dist/autoresearch/__tests__/skill-validation.test.d.ts.map +1 -0
  5. package/dist/autoresearch/__tests__/skill-validation.test.js +91 -0
  6. package/dist/autoresearch/__tests__/skill-validation.test.js.map +1 -0
  7. package/dist/autoresearch/skill-validation.d.ts +13 -0
  8. package/dist/autoresearch/skill-validation.d.ts.map +1 -0
  9. package/dist/autoresearch/skill-validation.js +165 -0
  10. package/dist/autoresearch/skill-validation.js.map +1 -0
  11. package/dist/catalog/__tests__/schema.test.js +6 -0
  12. package/dist/catalog/__tests__/schema.test.js.map +1 -1
  13. package/dist/cli/__tests__/autoresearch-guided.test.js +236 -273
  14. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
  15. package/dist/cli/__tests__/autoresearch.test.js +64 -653
  16. package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
  17. package/dist/cli/__tests__/index.test.js +7 -0
  18. package/dist/cli/__tests__/index.test.js.map +1 -1
  19. package/dist/cli/__tests__/nested-help-routing.test.js +2 -1
  20. package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
  21. package/dist/cli/__tests__/question.test.d.ts +2 -0
  22. package/dist/cli/__tests__/question.test.d.ts.map +1 -0
  23. package/dist/cli/__tests__/question.test.js +113 -0
  24. package/dist/cli/__tests__/question.test.js.map +1 -0
  25. package/dist/cli/__tests__/session-search-help.test.js +1 -1
  26. package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
  27. package/dist/cli/__tests__/setup-skills-overwrite.test.js +2 -0
  28. package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
  29. package/dist/cli/autoresearch-guided.d.ts +24 -7
  30. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  31. package/dist/cli/autoresearch-guided.js +189 -130
  32. package/dist/cli/autoresearch-guided.js.map +1 -1
  33. package/dist/cli/autoresearch.d.ts +3 -2
  34. package/dist/cli/autoresearch.d.ts.map +1 -1
  35. package/dist/cli/autoresearch.js +29 -305
  36. package/dist/cli/autoresearch.js.map +1 -1
  37. package/dist/cli/doctor.d.ts.map +1 -1
  38. package/dist/cli/doctor.js +43 -0
  39. package/dist/cli/doctor.js.map +1 -1
  40. package/dist/cli/index.d.ts +1 -1
  41. package/dist/cli/index.d.ts.map +1 -1
  42. package/dist/cli/index.js +8 -1
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/cli/question.d.ts +3 -0
  45. package/dist/cli/question.d.ts.map +1 -0
  46. package/dist/cli/question.js +182 -0
  47. package/dist/cli/question.js.map +1 -0
  48. package/dist/hooks/__tests__/analyze-routing-contract.test.js +22 -13
  49. package/dist/hooks/__tests__/analyze-routing-contract.test.js.map +1 -1
  50. package/dist/hooks/__tests__/anti-slop-workflow.test.js +3 -3
  51. package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
  52. package/dist/hooks/__tests__/debugger-log-recency-contract.test.js +2 -2
  53. package/dist/hooks/__tests__/debugger-log-recency-contract.test.js.map +1 -1
  54. package/dist/hooks/__tests__/deep-interview-contract.test.js +22 -5
  55. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  56. package/dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js +2 -2
  57. package/dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js.map +1 -1
  58. package/dist/hooks/__tests__/keyword-detector.test.js +308 -17
  59. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  60. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +570 -2
  61. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  62. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +717 -16
  63. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  64. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +25 -0
  65. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  66. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +894 -1
  67. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
  68. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +34 -0
  69. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -1
  70. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +132 -0
  71. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  72. package/dist/hooks/__tests__/prompt-guidance-contract.test.js +22 -4
  73. package/dist/hooks/__tests__/prompt-guidance-contract.test.js.map +1 -1
  74. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js +4 -2
  75. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js.map +1 -1
  76. package/dist/hooks/__tests__/prompt-guidance-test-helpers.d.ts +1 -0
  77. package/dist/hooks/__tests__/prompt-guidance-test-helpers.d.ts.map +1 -1
  78. package/dist/hooks/__tests__/prompt-guidance-test-helpers.js +4 -1
  79. package/dist/hooks/__tests__/prompt-guidance-test-helpers.js.map +1 -1
  80. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +28 -0
  81. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
  82. package/dist/hooks/__tests__/prompt-orchestration-boundary.test.js +5 -4
  83. package/dist/hooks/__tests__/prompt-orchestration-boundary.test.js.map +1 -1
  84. package/dist/hooks/__tests__/prompt-team-routing.test.js +2 -2
  85. package/dist/hooks/__tests__/prompt-team-routing.test.js.map +1 -1
  86. package/dist/hooks/__tests__/triage-config.test.d.ts +2 -0
  87. package/dist/hooks/__tests__/triage-config.test.d.ts.map +1 -0
  88. package/dist/hooks/__tests__/triage-config.test.js +211 -0
  89. package/dist/hooks/__tests__/triage-config.test.js.map +1 -0
  90. package/dist/hooks/__tests__/triage-heuristic.test.d.ts +2 -0
  91. package/dist/hooks/__tests__/triage-heuristic.test.d.ts.map +1 -0
  92. package/dist/hooks/__tests__/triage-heuristic.test.js +230 -0
  93. package/dist/hooks/__tests__/triage-heuristic.test.js.map +1 -0
  94. package/dist/hooks/__tests__/triage-state.test.d.ts +2 -0
  95. package/dist/hooks/__tests__/triage-state.test.d.ts.map +1 -0
  96. package/dist/hooks/__tests__/triage-state.test.js +426 -0
  97. package/dist/hooks/__tests__/triage-state.test.js.map +1 -0
  98. package/dist/hooks/keyword-detector.d.ts +26 -7
  99. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  100. package/dist/hooks/keyword-detector.js +97 -26
  101. package/dist/hooks/keyword-detector.js.map +1 -1
  102. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  103. package/dist/hooks/keyword-registry.js +16 -9
  104. package/dist/hooks/keyword-registry.js.map +1 -1
  105. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  106. package/dist/hooks/prompt-guidance-contract.js +28 -1
  107. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  108. package/dist/hooks/triage-config.d.ts +33 -0
  109. package/dist/hooks/triage-config.d.ts.map +1 -0
  110. package/dist/hooks/triage-config.js +87 -0
  111. package/dist/hooks/triage-config.js.map +1 -0
  112. package/dist/hooks/triage-heuristic.d.ts +20 -0
  113. package/dist/hooks/triage-heuristic.d.ts.map +1 -0
  114. package/dist/hooks/triage-heuristic.js +210 -0
  115. package/dist/hooks/triage-heuristic.js.map +1 -0
  116. package/dist/hooks/triage-state.d.ts +63 -0
  117. package/dist/hooks/triage-state.d.ts.map +1 -0
  118. package/dist/hooks/triage-state.js +138 -0
  119. package/dist/hooks/triage-state.js.map +1 -0
  120. package/dist/hud/__tests__/reconcile.test.js +20 -0
  121. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  122. package/dist/hud/reconcile.d.ts +1 -0
  123. package/dist/hud/reconcile.d.ts.map +1 -1
  124. package/dist/hud/reconcile.js +2 -1
  125. package/dist/hud/reconcile.js.map +1 -1
  126. package/dist/mcp/__tests__/state-server.test.js +1 -0
  127. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  128. package/dist/mcp/state-server.d.ts +8 -0
  129. package/dist/mcp/state-server.d.ts.map +1 -1
  130. package/dist/mcp/state-server.js +4 -0
  131. package/dist/mcp/state-server.js.map +1 -1
  132. package/dist/modes/__tests__/base-ralph-contract.test.js +15 -0
  133. package/dist/modes/__tests__/base-ralph-contract.test.js.map +1 -1
  134. package/dist/modes/base.d.ts +1 -0
  135. package/dist/modes/base.d.ts.map +1 -1
  136. package/dist/modes/base.js +22 -6
  137. package/dist/modes/base.js.map +1 -1
  138. package/dist/notifications/__tests__/index.test.js +78 -0
  139. package/dist/notifications/__tests__/index.test.js.map +1 -1
  140. package/dist/notifications/index.d.ts.map +1 -1
  141. package/dist/notifications/index.js +39 -22
  142. package/dist/notifications/index.js.map +1 -1
  143. package/dist/openclaw/index.d.ts +5 -3
  144. package/dist/openclaw/index.d.ts.map +1 -1
  145. package/dist/openclaw/index.js +5 -3
  146. package/dist/openclaw/index.js.map +1 -1
  147. package/dist/question/__tests__/client.test.d.ts +2 -0
  148. package/dist/question/__tests__/client.test.d.ts.map +1 -0
  149. package/dist/question/__tests__/client.test.js +70 -0
  150. package/dist/question/__tests__/client.test.js.map +1 -0
  151. package/dist/question/__tests__/deep-interview.test.d.ts +2 -0
  152. package/dist/question/__tests__/deep-interview.test.d.ts.map +1 -0
  153. package/dist/question/__tests__/deep-interview.test.js +108 -0
  154. package/dist/question/__tests__/deep-interview.test.js.map +1 -0
  155. package/dist/question/__tests__/policy.test.d.ts +2 -0
  156. package/dist/question/__tests__/policy.test.d.ts.map +1 -0
  157. package/dist/question/__tests__/policy.test.js +107 -0
  158. package/dist/question/__tests__/policy.test.js.map +1 -0
  159. package/dist/question/__tests__/renderer.test.d.ts +2 -0
  160. package/dist/question/__tests__/renderer.test.d.ts.map +1 -0
  161. package/dist/question/__tests__/renderer.test.js +88 -0
  162. package/dist/question/__tests__/renderer.test.js.map +1 -0
  163. package/dist/question/__tests__/state.test.d.ts +2 -0
  164. package/dist/question/__tests__/state.test.d.ts.map +1 -0
  165. package/dist/question/__tests__/state.test.js +55 -0
  166. package/dist/question/__tests__/state.test.js.map +1 -0
  167. package/dist/question/__tests__/types.test.d.ts +2 -0
  168. package/dist/question/__tests__/types.test.d.ts.map +1 -0
  169. package/dist/question/__tests__/types.test.js +44 -0
  170. package/dist/question/__tests__/types.test.js.map +1 -0
  171. package/dist/question/__tests__/ui.test.d.ts +2 -0
  172. package/dist/question/__tests__/ui.test.d.ts.map +1 -0
  173. package/dist/question/__tests__/ui.test.js +169 -0
  174. package/dist/question/__tests__/ui.test.js.map +1 -0
  175. package/dist/question/client.d.ts +54 -0
  176. package/dist/question/client.d.ts.map +1 -0
  177. package/dist/question/client.js +77 -0
  178. package/dist/question/client.js.map +1 -0
  179. package/dist/question/deep-interview.d.ts +27 -0
  180. package/dist/question/deep-interview.d.ts.map +1 -0
  181. package/dist/question/deep-interview.js +101 -0
  182. package/dist/question/deep-interview.js.map +1 -0
  183. package/dist/question/policy.d.ts +18 -0
  184. package/dist/question/policy.d.ts.map +1 -0
  185. package/dist/question/policy.js +77 -0
  186. package/dist/question/policy.js.map +1 -0
  187. package/dist/question/renderer.d.ts +18 -0
  188. package/dist/question/renderer.d.ts.map +1 -0
  189. package/dist/question/renderer.js +128 -0
  190. package/dist/question/renderer.js.map +1 -0
  191. package/dist/question/state.d.ts +19 -0
  192. package/dist/question/state.d.ts.map +1 -0
  193. package/dist/question/state.js +108 -0
  194. package/dist/question/state.js.map +1 -0
  195. package/dist/question/types.d.ts +66 -0
  196. package/dist/question/types.d.ts.map +1 -0
  197. package/dist/question/types.js +82 -0
  198. package/dist/question/types.js.map +1 -0
  199. package/dist/question/ui.d.ts +38 -0
  200. package/dist/question/ui.d.ts.map +1 -0
  201. package/dist/question/ui.js +321 -0
  202. package/dist/question/ui.js.map +1 -0
  203. package/dist/ralph/contract.d.ts +1 -1
  204. package/dist/ralph/contract.d.ts.map +1 -1
  205. package/dist/ralph/contract.js +4 -1
  206. package/dist/ralph/contract.js.map +1 -1
  207. package/dist/ralplan/runtime.js +1 -1
  208. package/dist/ralplan/runtime.js.map +1 -1
  209. package/dist/runtime/__tests__/run-loop.test.d.ts +2 -0
  210. package/dist/runtime/__tests__/run-loop.test.d.ts.map +1 -0
  211. package/dist/runtime/__tests__/run-loop.test.js +35 -0
  212. package/dist/runtime/__tests__/run-loop.test.js.map +1 -0
  213. package/dist/runtime/__tests__/run-outcome.test.d.ts +2 -0
  214. package/dist/runtime/__tests__/run-outcome.test.d.ts.map +1 -0
  215. package/dist/runtime/__tests__/run-outcome.test.js +64 -0
  216. package/dist/runtime/__tests__/run-outcome.test.js.map +1 -0
  217. package/dist/runtime/run-loop.d.ts +41 -0
  218. package/dist/runtime/run-loop.d.ts.map +1 -0
  219. package/dist/runtime/run-loop.js +46 -0
  220. package/dist/runtime/run-loop.js.map +1 -0
  221. package/dist/runtime/run-outcome.d.ts +28 -0
  222. package/dist/runtime/run-outcome.d.ts.map +1 -0
  223. package/dist/runtime/run-outcome.js +136 -0
  224. package/dist/runtime/run-outcome.js.map +1 -0
  225. package/dist/runtime/run-state.d.ts +36 -0
  226. package/dist/runtime/run-state.d.ts.map +1 -0
  227. package/dist/runtime/run-state.js +110 -0
  228. package/dist/runtime/run-state.js.map +1 -0
  229. package/dist/scripts/__tests__/codex-native-hook.test.js +1128 -85
  230. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  231. package/dist/scripts/codex-native-hook.d.ts +2 -0
  232. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  233. package/dist/scripts/codex-native-hook.js +199 -11
  234. package/dist/scripts/codex-native-hook.js.map +1 -1
  235. package/dist/scripts/notify-fallback-watcher.js +81 -2
  236. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  237. package/dist/scripts/notify-hook/auto-nudge.d.ts +27 -0
  238. package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
  239. package/dist/scripts/notify-hook/auto-nudge.js +83 -20
  240. package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
  241. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
  242. package/dist/scripts/notify-hook/managed-tmux.js +64 -38
  243. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
  244. package/dist/scripts/notify-hook/ralph-session-resume.js +1 -1
  245. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
  246. package/dist/scripts/notify-hook.js +15 -5
  247. package/dist/scripts/notify-hook.js.map +1 -1
  248. package/dist/scripts/sync-prompt-guidance-fragments.js +5 -0
  249. package/dist/scripts/sync-prompt-guidance-fragments.js.map +1 -1
  250. package/dist/state/__tests__/operations-ralph-phase.test.js +21 -0
  251. package/dist/state/__tests__/operations-ralph-phase.test.js.map +1 -1
  252. package/dist/state/__tests__/workflow-transition.test.js +11 -0
  253. package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
  254. package/dist/state/operations.d.ts.map +1 -1
  255. package/dist/state/operations.js +15 -0
  256. package/dist/state/operations.js.map +1 -1
  257. package/dist/state/workflow-transition-reconcile.d.ts.map +1 -1
  258. package/dist/state/workflow-transition-reconcile.js +14 -1
  259. package/dist/state/workflow-transition-reconcile.js.map +1 -1
  260. package/dist/state/workflow-transition.d.ts.map +1 -1
  261. package/dist/state/workflow-transition.js +3 -1
  262. package/dist/state/workflow-transition.js.map +1 -1
  263. package/dist/team/__tests__/followup-planner.test.js +15 -0
  264. package/dist/team/__tests__/followup-planner.test.js.map +1 -1
  265. package/dist/team/__tests__/role-router.test.js +41 -0
  266. package/dist/team/__tests__/role-router.test.js.map +1 -1
  267. package/dist/team/followup-planner.d.ts.map +1 -1
  268. package/dist/team/followup-planner.js +31 -9
  269. package/dist/team/followup-planner.js.map +1 -1
  270. package/dist/team/role-router.d.ts.map +1 -1
  271. package/dist/team/role-router.js +73 -0
  272. package/dist/team/role-router.js.map +1 -1
  273. package/package.json +3 -2
  274. package/prompts/dependency-expert.md +3 -0
  275. package/prompts/executor.md +5 -0
  276. package/prompts/explore.md +2 -0
  277. package/prompts/planner.md +5 -0
  278. package/prompts/product-analyst.md +8 -8
  279. package/prompts/researcher.md +78 -30
  280. package/prompts/verifier.md +4 -0
  281. package/skills/autoresearch/SKILL.md +68 -0
  282. package/skills/deep-interview/SKILL.md +10 -9
  283. package/skills/help/SKILL.md +3 -1
  284. package/skills/ralplan/SKILL.md +1 -0
  285. package/skills/team/SKILL.md +1 -0
  286. package/skills/ultrawork/SKILL.md +1 -0
  287. package/src/scripts/__tests__/codex-native-hook.test.ts +1495 -188
  288. package/src/scripts/codex-native-hook.ts +235 -19
  289. package/src/scripts/notify-fallback-watcher.ts +92 -2
  290. package/src/scripts/notify-hook/auto-nudge.ts +89 -20
  291. package/src/scripts/notify-hook/managed-tmux.ts +70 -31
  292. package/src/scripts/notify-hook/ralph-session-resume.ts +1 -1
  293. package/src/scripts/notify-hook.ts +23 -5
  294. package/src/scripts/sync-prompt-guidance-fragments.ts +4 -0
  295. package/templates/AGENTS.md +48 -37
  296. package/templates/catalog-manifest.json +7 -0
@@ -1,9 +1,11 @@
1
1
  import { type SkillActiveState } from "../hooks/keyword-detector.js";
2
+ import { reconcileHudForPromptSubmit } from "../hud/reconcile.js";
2
3
  type CodexHookEventName = "SessionStart" | "PreToolUse" | "PostToolUse" | "UserPromptSubmit" | "Stop";
3
4
  type CodexHookPayload = Record<string, unknown>;
4
5
  interface NativeHookDispatchOptions {
5
6
  cwd?: string;
6
7
  sessionOwnerPid?: number;
8
+ reconcileHudForPromptSubmitFn?: typeof reconcileHudForPromptSubmit;
7
9
  }
8
10
  export interface NativeHookDispatchResult {
9
11
  hookEventName: CodexHookEventName | null;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-native-hook.d.ts","sourceRoot":"","sources":["../../src/scripts/codex-native-hook.ts"],"names":[],"mappings":"AAsBA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AAoBtC,KAAK,kBAAkB,GACnB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,MAAM,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,UAAU,yBAAyB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAoDD,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,kBAAkB,GAAG,IAAI,GACvC,MAAM,GAAG,IAAI,CAef;AAmKD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,GACL,MAAM,GAAG,IAAI,CAuBf;AA2kCD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CA4FnC;AA8BD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB3D"}
1
+ {"version":3,"file":"codex-native-hook.d.ts","sourceRoot":"","sources":["../../src/scripts/codex-native-hook.ts"],"names":[],"mappings":"AAsBA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AAiBtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAelE,KAAK,kBAAkB,GACnB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,MAAM,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,UAAU,yBAAyB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,OAAO,2BAA2B,CAAC;CACpE;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AA2FD,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,kBAAkB,GAAG,IAAI,GACvC,MAAM,GAAG,IAAI,CAef;AAqKD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,GACL,MAAM,GAAG,IAAI,CAuBf;AAwqCD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CAiKnC;AA8BD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB3D"}
@@ -17,7 +17,12 @@ import { buildNativeHookEvent, } from "../hooks/extensibility/events.js";
17
17
  import { dispatchHookEvent } from "../hooks/extensibility/dispatcher.js";
18
18
  import { reconcileHudForPromptSubmit } from "../hud/reconcile.js";
19
19
  import { onSessionStart as buildWikiSessionStartContext } from "../wiki/lifecycle.js";
20
- const TERMINAL_RALPH_PHASES = new Set(["complete", "failed", "cancelled"]);
20
+ import { readAutoresearchCompletionStatus, readAutoresearchModeState } from "../autoresearch/skill-validation.js";
21
+ import { shouldContinueRun } from "../runtime/run-loop.js";
22
+ import { triagePrompt } from "../hooks/triage-heuristic.js";
23
+ import { readTriageConfig } from "../hooks/triage-config.js";
24
+ import { readTriageState, writeTriageState, shouldSuppressFollowup, promptSignature, } from "../hooks/triage-state.js";
25
+ import { isPendingDeepInterviewQuestionEnforcement } from "../question/deep-interview.js";
21
26
  const TERMINAL_MODE_PHASES = new Set(["complete", "failed", "cancelled"]);
22
27
  const SKILL_STOP_BLOCKERS = new Set(["ralplan"]);
23
28
  const TEAM_TERMINAL_TASK_STATUSES = new Set(["completed", "failed"]);
@@ -29,6 +34,18 @@ const STABLE_FINAL_RECOMMENDATION_PATTERNS = [
29
34
  /^\s*decision\s*:\s*(?:yes|no|ship|hold|release|do not release|proceed|do not proceed)\b[^\n\r]*/im,
30
35
  ];
31
36
  const RELEASE_READINESS_FINALIZE_SYSTEM_MESSAGE = "OMX release-readiness detected a stable final recommendation with no active worker tasks; emit one concise final decision summary and finalize.";
37
+ const EXECUTION_HANDOFF_PATTERNS = [
38
+ /^(?:好|好的|行|可以|那就|那现在)?[,,\s]*(?:开始|继续|直接)\s*(?:执行|优化|实现|修改|修复)(?=$|\s|[,,。.!!??])/u,
39
+ /(?:按照|按|基于)(?:这个|上述|当前)?\s*(?:plan|计划|方案).{0,16}(?:开始|继续|直接)?\s*(?:执行|优化|实现|修改|修复)/u,
40
+ /(?:不用|别|不要).{0,6}讨论/u,
41
+ /\b(?:start|begin|go ahead(?: and)?|proceed(?: now)?)\s+(?:to\s+)?(?:implement|execute|apply|fix)\b/i,
42
+ /\b(?:according to|based on)\s+(?:the|this|that)\s+plan\b.{0,20}\b(?:start|begin|proceed(?: now)?|go ahead(?: and)?)\b/i,
43
+ ];
44
+ const SHORT_FOLLOWUP_PRIORITY_PATTERNS = [
45
+ /^(?:继续|接着|然后|那就|那现在|还有(?:一个)?问题|这些优化都做了么|这些都做了么|现在呢|本轮|当前轮|这一轮)/u,
46
+ /(?:按照|按|基于)(?:这个|上述|当前)?(?:plan|计划|方案)/u,
47
+ /\b(?:follow up|latest request|this turn|current turn|newest request)\b/i,
48
+ ];
32
49
  function safeString(value) {
33
50
  return typeof value === "string" ? value : "";
34
51
  }
@@ -45,6 +62,34 @@ function safePositiveInteger(value) {
45
62
  }
46
63
  return null;
47
64
  }
65
+ function normalizePromptSignalText(text) {
66
+ return text.trim().replace(/\s+/g, " ");
67
+ }
68
+ function looksLikeExecutionHandoffPrompt(prompt) {
69
+ const normalized = normalizePromptSignalText(prompt);
70
+ if (!normalized)
71
+ return false;
72
+ return EXECUTION_HANDOFF_PATTERNS.some((pattern) => pattern.test(normalized));
73
+ }
74
+ function looksLikeShortFollowupPrompt(prompt) {
75
+ const normalized = normalizePromptSignalText(prompt);
76
+ if (!normalized)
77
+ return false;
78
+ if (looksLikeExecutionHandoffPrompt(normalized))
79
+ return true;
80
+ if (normalized.length > 240)
81
+ return false;
82
+ return SHORT_FOLLOWUP_PRIORITY_PATTERNS.some((pattern) => pattern.test(normalized));
83
+ }
84
+ function buildPromptPriorityMessage(prompt) {
85
+ if (looksLikeExecutionHandoffPrompt(prompt)) {
86
+ return "Newest user input is an execution handoff for the current task. Treat it as authorization to act now against the latest approved plan/request. Do not restate the prior plan unless the user explicitly asks for a recap or status update.";
87
+ }
88
+ if (looksLikeShortFollowupPrompt(prompt)) {
89
+ return "Newest user input is a same-thread follow-up. Answer that latest follow-up directly and prefer it over older unresolved prompts when choosing what to do next.";
90
+ }
91
+ return null;
92
+ }
48
93
  function readHookEventName(payload) {
49
94
  const raw = safeString(payload.hook_event_name
50
95
  ?? payload.hookEventName
@@ -126,6 +171,17 @@ function formatPhase(value, fallback = "active") {
126
171
  const phase = safeString(value).trim();
127
172
  return phase || fallback;
128
173
  }
174
+ async function readActiveAutoresearchState(cwd, sessionId) {
175
+ const normalizedSessionId = sessionId?.trim() || undefined;
176
+ if (!normalizedSessionId)
177
+ return null;
178
+ const state = await readAutoresearchModeState(cwd, normalizedSessionId);
179
+ if (state?.active !== true)
180
+ return null;
181
+ if (!isNonTerminalPhase(state.current_phase ?? state.currentPhase ?? 'executing'))
182
+ return null;
183
+ return state;
184
+ }
129
185
  async function readActiveRalphState(stateDir, preferredSessionId) {
130
186
  const sessionInfo = await readUsableSessionState(resolve(stateDir, "..", ".."));
131
187
  const currentOmxSessionId = safeString(sessionInfo?.session_id).trim();
@@ -135,15 +191,14 @@ async function readActiveRalphState(stateDir, preferredSessionId) {
135
191
  ].filter(Boolean))];
136
192
  for (const sessionId of sessionCandidates) {
137
193
  const sessionScoped = await readJsonIfExists(join(stateDir, "sessions", sessionId, "ralph-state.json"));
138
- if (sessionScoped?.active === true
139
- && !TERMINAL_RALPH_PHASES.has(safeString(sessionScoped.current_phase).trim().toLowerCase())) {
194
+ if (sessionScoped?.active === true && shouldContinueRun(sessionScoped)) {
140
195
  return sessionScoped;
141
196
  }
142
197
  }
143
198
  if (sessionCandidates.length > 0)
144
199
  return null;
145
200
  const direct = await readJsonIfExists(join(stateDir, "ralph-state.json"));
146
- if (direct?.active === true && !TERMINAL_RALPH_PHASES.has(safeString(direct.current_phase).trim().toLowerCase())) {
201
+ if (direct?.active === true && shouldContinueRun(direct)) {
147
202
  return direct;
148
203
  }
149
204
  const sessionsRoot = join(stateDir, "sessions");
@@ -154,8 +209,7 @@ async function readActiveRalphState(stateDir, preferredSessionId) {
154
209
  if (!entry.isDirectory())
155
210
  continue;
156
211
  const candidate = await readJsonIfExists(join(sessionsRoot, entry.name, "ralph-state.json"));
157
- if (candidate?.active === true
158
- && !TERMINAL_RALPH_PHASES.has(safeString(candidate.current_phase).trim().toLowerCase())) {
212
+ if (candidate?.active === true && shouldContinueRun(candidate)) {
159
213
  return candidate;
160
214
  }
161
215
  }
@@ -369,10 +423,11 @@ async function buildSessionStartContext(cwd, sessionId) {
369
423
  function buildAdditionalContextMessage(prompt, skillState) {
370
424
  if (!prompt)
371
425
  return null;
426
+ const promptPriorityMessage = buildPromptPriorityMessage(prompt);
372
427
  const matches = detectKeywords(prompt);
373
428
  const match = detectPrimaryKeyword(prompt);
374
429
  if (!match)
375
- return null;
430
+ return promptPriorityMessage;
376
431
  const detectedKeywordMessage = matches.length > 1
377
432
  ? `OMX native UserPromptSubmit detected workflow keywords ${matches.map((entry) => `"${entry.keyword}" -> ${entry.skill}`).join(", ")}.`
378
433
  : `OMX native UserPromptSubmit detected workflow keyword "${match.keyword}" -> ${match.skill}.`;
@@ -386,6 +441,9 @@ function buildAdditionalContextMessage(prompt, skillState) {
386
441
  const ralphPromptActivationNote = skillState?.initialized_mode === "ralph"
387
442
  ? "Prompt-side `$ralph` activation seeds Ralph workflow state only; it does not invoke `omx ralph`. Use `omx ralph --prd ...` only when you explicitly want the PRD-gated CLI startup path."
388
443
  : null;
444
+ const deepInterviewPromptActivationNote = skillState?.initialized_mode === "deep-interview"
445
+ ? "Deep-interview must ask each interview round via `omx question`; do not fall back to `request_user_input` or plain-text questioning. Stop remains blocked while a deep-interview question obligation is pending."
446
+ : null;
389
447
  const combinedTransitionMessage = (() => {
390
448
  if (!skillState?.transition_message)
391
449
  return null;
@@ -400,6 +458,7 @@ function buildAdditionalContextMessage(prompt, skillState) {
400
458
  return [
401
459
  `OMX native UserPromptSubmit denied workflow keyword "${match.keyword}" -> ${match.skill}.`,
402
460
  skillState.transition_error,
461
+ promptPriorityMessage,
403
462
  'Follow AGENTS.md routing and preserve workflow transition and planning-safety rules.',
404
463
  ].join(' ');
405
464
  }
@@ -411,6 +470,7 @@ function buildAdditionalContextMessage(prompt, skillState) {
411
470
  deferredSkills.length > 0
412
471
  ? `planning preserved over simultaneous execution follow-up; deferred skills: ${deferredSkills.join(", ")}.`
413
472
  : null,
473
+ promptPriorityMessage,
414
474
  skillState.initialized_mode && skillState.initialized_state_path
415
475
  ? `skill: ${skillState.initialized_mode} activated and initial state initialized at ${skillState.initialized_state_path}; write subsequent updates via omx_state MCP.`
416
476
  : null,
@@ -431,7 +491,9 @@ function buildAdditionalContextMessage(prompt, skillState) {
431
491
  deferredSkills.length > 0
432
492
  ? `planning preserved over simultaneous execution follow-up; deferred skills: ${deferredSkills.join(", ")}.`
433
493
  : null,
494
+ promptPriorityMessage,
434
495
  initializedStateMessage,
496
+ deepInterviewPromptActivationNote,
435
497
  "Use the durable OMX team runtime via `omx team ...` for coordinated execution; do not replace it with in-process fanout.",
436
498
  "If you need runtime syntax, run `omx team --help` yourself.",
437
499
  "Follow AGENTS.md routing and preserve workflow transition and planning-safety rules.",
@@ -444,12 +506,14 @@ function buildAdditionalContextMessage(prompt, skillState) {
444
506
  deferredSkills.length > 0
445
507
  ? `planning preserved over simultaneous execution follow-up; deferred skills: ${deferredSkills.join(", ")}.`
446
508
  : null,
509
+ promptPriorityMessage,
447
510
  `skill: ${skillState.initialized_mode} activated and initial state initialized at ${skillState.initialized_state_path}; write subsequent updates via omx_state MCP.`,
511
+ deepInterviewPromptActivationNote,
448
512
  ralphPromptActivationNote,
449
513
  "Follow AGENTS.md routing and preserve workflow transition and planning-safety rules.",
450
514
  ].join(" ");
451
515
  }
452
- return `${detectedKeywordMessage} Follow AGENTS.md routing and preserve workflow transition and planning-safety rules.`;
516
+ return [detectedKeywordMessage, promptPriorityMessage, "Follow AGENTS.md routing and preserve workflow transition and planning-safety rules."].filter(Boolean).join(" ");
453
517
  }
454
518
  function parseTeamWorkerEnv(rawValue) {
455
519
  const match = /^([a-z0-9][a-z0-9-]{0,29})\/(worker-\d+)$/.exec(rawValue.trim());
@@ -549,7 +613,7 @@ async function buildModeBasedStopOutput(mode, cwd, sessionId) {
549
613
  const state = sessionId
550
614
  ? await readModeStateForSession(mode, sessionId, cwd)
551
615
  : await readModeState(mode, cwd);
552
- if (state?.active !== true || !isNonTerminalPhase(state.current_phase))
616
+ if (!state || !shouldContinueRun(state))
553
617
  return null;
554
618
  const phase = formatPhase(state.current_phase);
555
619
  return {
@@ -737,6 +801,39 @@ async function readStopAutoNudgePhase(cwd, sessionId, threadId) {
737
801
  const modePhase = safeString(modeState.current_phase).trim().toLowerCase();
738
802
  return modePhase === "intent-first" ? "planning" : "";
739
803
  }
804
+ async function buildDeepInterviewQuestionStopOutput(cwd, sessionId, threadId) {
805
+ const modeState = await readStopSessionPinnedState("deep-interview-state.json", cwd, sessionId);
806
+ if (!modeState || modeState.active !== true)
807
+ return null;
808
+ const phase = formatPhase(modeState.current_phase, "planning");
809
+ if (TERMINAL_MODE_PHASES.has(phase.toLowerCase()) || phase === "completing") {
810
+ return null;
811
+ }
812
+ const canonicalState = await readVisibleSkillActiveState(cwd, sessionId);
813
+ if (canonicalState) {
814
+ const blocker = listActiveSkills(canonicalState).find((entry) => (entry.skill === "deep-interview"
815
+ && matchesSkillStopContext(entry, canonicalState, sessionId, threadId)));
816
+ if (!blocker)
817
+ return null;
818
+ }
819
+ const questionEnforcement = safeObject(modeState.question_enforcement);
820
+ if (!isPendingDeepInterviewQuestionEnforcement(questionEnforcement)) {
821
+ return null;
822
+ }
823
+ const obligationId = safeString(questionEnforcement.obligation_id).trim();
824
+ if (!obligationId)
825
+ return null;
826
+ const systemMessage = `OMX deep-interview is still active (phase: ${phase}) and requires a structured question via omx question before stopping.`;
827
+ return {
828
+ obligationId,
829
+ output: {
830
+ decision: "block",
831
+ reason: `Deep interview is still active (phase: ${phase}) and has a pending structured question obligation; use \`omx question\` before stopping.`,
832
+ stopReason: "deep_interview_question_required",
833
+ systemMessage,
834
+ },
835
+ };
836
+ }
740
837
  function resolveRepeatableStopSessionId(payload, canonicalSessionId) {
741
838
  return canonicalSessionId?.trim() || readPayloadSessionId(payload) || "";
742
839
  }
@@ -979,6 +1076,20 @@ async function buildStopHookOutput(payload, cwd, stateDir) {
979
1076
  const threadId = readPayloadThreadId(payload);
980
1077
  const ralphState = await readActiveRalphState(stateDir, canonicalSessionId);
981
1078
  if (!ralphState) {
1079
+ const autoresearchState = await readActiveAutoresearchState(cwd, canonicalSessionId);
1080
+ if (autoresearchState) {
1081
+ const completion = await readAutoresearchCompletionStatus(cwd, canonicalSessionId.trim());
1082
+ if (!completion.complete) {
1083
+ const currentPhase = safeString(autoresearchState.current_phase ?? autoresearchState.currentPhase).trim() || 'executing';
1084
+ const systemMessage = `OMX autoresearch is still active (phase: ${currentPhase}); continue until validator evidence is complete before stopping.`;
1085
+ return await maybeReturnRepeatableStopOutput(payload, stateDir, buildRepeatableStopSignature(payload, 'autoresearch-stop', `${currentPhase}|${completion.reason}`, canonicalSessionId), {
1086
+ decision: 'block',
1087
+ reason: systemMessage,
1088
+ stopReason: `autoresearch_${currentPhase}`,
1089
+ systemMessage,
1090
+ }, canonicalSessionId, { allowRepeatDuringStopHook: true });
1091
+ }
1092
+ }
982
1093
  const teamWorkerOutput = await buildTeamWorkerStopOutput(cwd);
983
1094
  if (hasTeamWorkerContext() && teamWorkerOutput)
984
1095
  return teamWorkerOutput;
@@ -1002,6 +1113,10 @@ async function buildStopHookOutput(payload, cwd, stateDir) {
1002
1113
  return await returnPersistentStopBlock(payload, stateDir, "team-stop", safeString(teamOutput.stopReason), teamOutput, canonicalSessionId);
1003
1114
  }
1004
1115
  if (canonicalSessionId) {
1116
+ const deepInterviewQuestionOutput = await buildDeepInterviewQuestionStopOutput(cwd, canonicalSessionId, threadId);
1117
+ if (deepInterviewQuestionOutput) {
1118
+ return await returnPersistentStopBlock(payload, stateDir, "deep-interview-question-stop", deepInterviewQuestionOutput.obligationId, deepInterviewQuestionOutput.output, canonicalSessionId);
1119
+ }
1005
1120
  const canonicalTeam = await findCanonicalActiveTeamForSession(cwd, canonicalSessionId);
1006
1121
  if (canonicalTeam) {
1007
1122
  const canonicalTeamOutput = buildTeamStopOutputForPhase(canonicalTeam.teamName, canonicalTeam.phase);
@@ -1046,6 +1161,7 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
1046
1161
  await mkdir(stateDir, { recursive: true });
1047
1162
  const omxEventName = mapCodexHookEventToOmxEvent(hookEventName);
1048
1163
  let skillState = null;
1164
+ let triageAdditionalContext = null;
1049
1165
  const nativeSessionId = safeString(payload.session_id ?? payload.sessionId).trim();
1050
1166
  const threadId = safeString(payload.thread_id ?? payload.threadId).trim();
1051
1167
  const turnId = safeString(payload.turn_id ?? payload.turnId).trim();
@@ -1072,7 +1188,79 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
1072
1188
  turnId,
1073
1189
  });
1074
1190
  }
1075
- await reconcileHudForPromptSubmit(cwd).catch(() => { });
1191
+ // --- Triage classifier (advisory-only, non-keyword prompts) ---
1192
+ if (prompt && skillState === null) {
1193
+ try {
1194
+ if (readTriageConfig().enabled) {
1195
+ const normalized = prompt.trim().toLowerCase();
1196
+ const previous = readTriageState({ cwd, sessionId: sessionIdForState || null });
1197
+ const suppress = shouldSuppressFollowup({
1198
+ previous,
1199
+ currentPrompt: normalized,
1200
+ currentHasKeyword: false,
1201
+ });
1202
+ if (!suppress) {
1203
+ const decision = triagePrompt(prompt);
1204
+ const nowIso = new Date().toISOString();
1205
+ const effectiveTurnId = turnId || nowIso;
1206
+ if (decision.lane === "HEAVY") {
1207
+ triageAdditionalContext =
1208
+ "OMX native UserPromptSubmit triage detected a multi-step goal with no workflow keyword. This is advisory prompt-routing context only; it did not activate autopilot or initialize workflow state. Prefer the existing autopilot-style workflow if AGENTS.md/runtime conditions allow it, unless newer user context narrows or opts out.";
1209
+ const newState = {
1210
+ version: 1,
1211
+ last_triage: {
1212
+ lane: "HEAVY",
1213
+ destination: "autopilot",
1214
+ reason: decision.reason,
1215
+ prompt_signature: promptSignature(normalized),
1216
+ turn_id: effectiveTurnId,
1217
+ created_at: nowIso,
1218
+ },
1219
+ suppress_followup: true,
1220
+ };
1221
+ writeTriageState({ cwd, sessionId: sessionIdForState || null, state: newState });
1222
+ }
1223
+ else if (decision.lane === "LIGHT") {
1224
+ if (decision.destination === "explore") {
1225
+ triageAdditionalContext =
1226
+ "OMX native UserPromptSubmit triage detected a read-only/question-shaped request with no workflow keyword. This is advisory prompt-routing context only. Prefer the explore role surface rather than escalating to autopilot.";
1227
+ }
1228
+ else if (decision.destination === "executor") {
1229
+ triageAdditionalContext =
1230
+ "OMX native UserPromptSubmit triage detected a narrow edit-shaped request with no workflow keyword. This is advisory prompt-routing context only. Prefer the executor role surface rather than autopilot.";
1231
+ }
1232
+ else if (decision.destination === "designer") {
1233
+ triageAdditionalContext =
1234
+ "OMX native UserPromptSubmit triage detected a visual/style request with no workflow keyword. This is advisory prompt-routing context only. Prefer the designer role surface.";
1235
+ }
1236
+ if (triageAdditionalContext !== null) {
1237
+ const dest = decision.destination;
1238
+ const newState = {
1239
+ version: 1,
1240
+ last_triage: {
1241
+ lane: "LIGHT",
1242
+ destination: dest,
1243
+ reason: decision.reason,
1244
+ prompt_signature: promptSignature(normalized),
1245
+ turn_id: effectiveTurnId,
1246
+ created_at: nowIso,
1247
+ },
1248
+ suppress_followup: true,
1249
+ };
1250
+ writeTriageState({ cwd, sessionId: sessionIdForState || null, state: newState });
1251
+ }
1252
+ }
1253
+ // lane === "PASS": no context, no state write
1254
+ }
1255
+ }
1256
+ }
1257
+ catch {
1258
+ // Swallow all triage errors; never break the hook
1259
+ triageAdditionalContext = null;
1260
+ }
1261
+ }
1262
+ const reconcileHudForPromptSubmitFn = options.reconcileHudForPromptSubmitFn ?? reconcileHudForPromptSubmit;
1263
+ await reconcileHudForPromptSubmitFn(cwd, { sessionId: canonicalSessionId || sessionIdForState || undefined }).catch(() => { });
1076
1264
  }
1077
1265
  if (omxEventName) {
1078
1266
  const baseContext = buildBaseContext(cwd, payload, hookEventName);
@@ -1095,7 +1283,7 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
1095
1283
  if (hookEventName === "SessionStart" || hookEventName === "UserPromptSubmit") {
1096
1284
  const additionalContext = hookEventName === "SessionStart"
1097
1285
  ? await buildSessionStartContext(cwd, canonicalSessionId || nativeSessionId)
1098
- : buildAdditionalContextMessage(readPromptText(payload), skillState);
1286
+ : (buildAdditionalContextMessage(readPromptText(payload), skillState) ?? triageAdditionalContext);
1099
1287
  if (additionalContext) {
1100
1288
  outputJson = {
1101
1289
  hookSpecificOutput: {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-native-hook.js","sourceRoot":"","sources":["../../src/scripts/codex-native-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-native-hook.js","sourceRoot":"","sources":["../../src/scripts/codex-native-hook.ts"],"names":[],"mappings":"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"}