@yjjeong/omg 0.1.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 (702) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/LICENSE +21 -0
  3. package/README.md +153 -0
  4. package/dist/cli/args.d.ts +39 -0
  5. package/dist/cli/args.d.ts.map +1 -0
  6. package/dist/cli/args.js +129 -0
  7. package/dist/cli/args.js.map +1 -0
  8. package/dist/cli/autoCommit.d.ts +20 -0
  9. package/dist/cli/autoCommit.d.ts.map +1 -0
  10. package/dist/cli/autoCommit.js +121 -0
  11. package/dist/cli/autoCommit.js.map +1 -0
  12. package/dist/cli/bgTasks.d.ts +57 -0
  13. package/dist/cli/bgTasks.d.ts.map +1 -0
  14. package/dist/cli/bgTasks.js +193 -0
  15. package/dist/cli/bgTasks.js.map +1 -0
  16. package/dist/cli/compactor.d.ts +48 -0
  17. package/dist/cli/compactor.d.ts.map +1 -0
  18. package/dist/cli/compactor.js +73 -0
  19. package/dist/cli/compactor.js.map +1 -0
  20. package/dist/cli/doctor.d.ts +77 -0
  21. package/dist/cli/doctor.d.ts.map +1 -0
  22. package/dist/cli/doctor.js +279 -0
  23. package/dist/cli/doctor.js.map +1 -0
  24. package/dist/cli/gitStatus.d.ts +7 -0
  25. package/dist/cli/gitStatus.d.ts.map +1 -0
  26. package/dist/cli/gitStatus.js +70 -0
  27. package/dist/cli/gitStatus.js.map +1 -0
  28. package/dist/cli/handoff.d.ts +36 -0
  29. package/dist/cli/handoff.d.ts.map +1 -0
  30. package/dist/cli/handoff.js +60 -0
  31. package/dist/cli/handoff.js.map +1 -0
  32. package/dist/cli/interactive/brokers.d.ts +31 -0
  33. package/dist/cli/interactive/brokers.d.ts.map +1 -0
  34. package/dist/cli/interactive/brokers.js +259 -0
  35. package/dist/cli/interactive/brokers.js.map +1 -0
  36. package/dist/cli/interactive/index.d.ts +8 -0
  37. package/dist/cli/interactive/index.d.ts.map +1 -0
  38. package/dist/cli/interactive/index.js +731 -0
  39. package/dist/cli/interactive/index.js.map +1 -0
  40. package/dist/cli/interactive/proxyQuestions.d.ts +15 -0
  41. package/dist/cli/interactive/proxyQuestions.d.ts.map +1 -0
  42. package/dist/cli/interactive/proxyQuestions.js +48 -0
  43. package/dist/cli/interactive/proxyQuestions.js.map +1 -0
  44. package/dist/cli/interactive/tabManager.d.ts +32 -0
  45. package/dist/cli/interactive/tabManager.d.ts.map +1 -0
  46. package/dist/cli/interactive/tabManager.js +244 -0
  47. package/dist/cli/interactive/tabManager.js.map +1 -0
  48. package/dist/cli/interactive/teamHint.d.ts +2 -0
  49. package/dist/cli/interactive/teamHint.d.ts.map +1 -0
  50. package/dist/cli/interactive/teamHint.js +14 -0
  51. package/dist/cli/interactive/teamHint.js.map +1 -0
  52. package/dist/cli/login.d.ts +13 -0
  53. package/dist/cli/login.d.ts.map +1 -0
  54. package/dist/cli/login.js +53 -0
  55. package/dist/cli/login.js.map +1 -0
  56. package/dist/cli/modes/demo.d.ts +12 -0
  57. package/dist/cli/modes/demo.d.ts.map +1 -0
  58. package/dist/cli/modes/demo.js +48 -0
  59. package/dist/cli/modes/demo.js.map +1 -0
  60. package/dist/cli/modes/doctor.d.ts +28 -0
  61. package/dist/cli/modes/doctor.d.ts.map +1 -0
  62. package/dist/cli/modes/doctor.js +79 -0
  63. package/dist/cli/modes/doctor.js.map +1 -0
  64. package/dist/cli/modes/login.d.ts +5 -0
  65. package/dist/cli/modes/login.d.ts.map +1 -0
  66. package/dist/cli/modes/login.js +40 -0
  67. package/dist/cli/modes/login.js.map +1 -0
  68. package/dist/cli/modes/mcpServe.d.ts +9 -0
  69. package/dist/cli/modes/mcpServe.d.ts.map +1 -0
  70. package/dist/cli/modes/mcpServe.js +112 -0
  71. package/dist/cli/modes/mcpServe.js.map +1 -0
  72. package/dist/cli/modes/orchestrator.d.ts +14 -0
  73. package/dist/cli/modes/orchestrator.d.ts.map +1 -0
  74. package/dist/cli/modes/orchestrator.js +64 -0
  75. package/dist/cli/modes/orchestrator.js.map +1 -0
  76. package/dist/cli/modes/team.d.ts +14 -0
  77. package/dist/cli/modes/team.d.ts.map +1 -0
  78. package/dist/cli/modes/team.js +87 -0
  79. package/dist/cli/modes/team.js.map +1 -0
  80. package/dist/cli/registry.d.ts +3 -0
  81. package/dist/cli/registry.d.ts.map +1 -0
  82. package/dist/cli/registry.js +15 -0
  83. package/dist/cli/registry.js.map +1 -0
  84. package/dist/cli/slash/core.d.ts +3 -0
  85. package/dist/cli/slash/core.d.ts.map +1 -0
  86. package/dist/cli/slash/core.js +509 -0
  87. package/dist/cli/slash/core.js.map +1 -0
  88. package/dist/cli/slash/index.d.ts +3 -0
  89. package/dist/cli/slash/index.d.ts.map +1 -0
  90. package/dist/cli/slash/index.js +28 -0
  91. package/dist/cli/slash/index.js.map +1 -0
  92. package/dist/cli/slash/modes.d.ts +3 -0
  93. package/dist/cli/slash/modes.d.ts.map +1 -0
  94. package/dist/cli/slash/modes.js +530 -0
  95. package/dist/cli/slash/modes.js.map +1 -0
  96. package/dist/cli/slash/session.d.ts +3 -0
  97. package/dist/cli/slash/session.d.ts.map +1 -0
  98. package/dist/cli/slash/session.js +376 -0
  99. package/dist/cli/slash/session.js.map +1 -0
  100. package/dist/cli/slash/shared.d.ts +43 -0
  101. package/dist/cli/slash/shared.d.ts.map +1 -0
  102. package/dist/cli/slash/shared.js +6 -0
  103. package/dist/cli/slash/shared.js.map +1 -0
  104. package/dist/cli/slash/tabs.d.ts +3 -0
  105. package/dist/cli/slash/tabs.d.ts.map +1 -0
  106. package/dist/cli/slash/tabs.js +497 -0
  107. package/dist/cli/slash/tabs.js.map +1 -0
  108. package/dist/cli/slash/team.d.ts +3 -0
  109. package/dist/cli/slash/team.d.ts.map +1 -0
  110. package/dist/cli/slash/team.js +85 -0
  111. package/dist/cli/slash/team.js.map +1 -0
  112. package/dist/cli/slash.d.ts +3 -0
  113. package/dist/cli/slash.d.ts.map +1 -0
  114. package/dist/cli/slash.js +8 -0
  115. package/dist/cli/slash.js.map +1 -0
  116. package/dist/cli/teamPipeline.d.ts +42 -0
  117. package/dist/cli/teamPipeline.d.ts.map +1 -0
  118. package/dist/cli/teamPipeline.js +406 -0
  119. package/dist/cli/teamPipeline.js.map +1 -0
  120. package/dist/cli/touchedFiles.d.ts +14 -0
  121. package/dist/cli/touchedFiles.d.ts.map +1 -0
  122. package/dist/cli/touchedFiles.js +66 -0
  123. package/dist/cli/touchedFiles.js.map +1 -0
  124. package/dist/cli/turn.d.ts +47 -0
  125. package/dist/cli/turn.d.ts.map +1 -0
  126. package/dist/cli/turn.js +626 -0
  127. package/dist/cli/turn.js.map +1 -0
  128. package/dist/cli/types.d.ts +47 -0
  129. package/dist/cli/types.d.ts.map +1 -0
  130. package/dist/cli/types.js +5 -0
  131. package/dist/cli/types.js.map +1 -0
  132. package/dist/cli/uiSession.d.ts +10 -0
  133. package/dist/cli/uiSession.d.ts.map +1 -0
  134. package/dist/cli/uiSession.js +66 -0
  135. package/dist/cli/uiSession.js.map +1 -0
  136. package/dist/cli.d.ts +3 -0
  137. package/dist/cli.d.ts.map +1 -0
  138. package/dist/cli.js +128 -0
  139. package/dist/cli.js.map +1 -0
  140. package/dist/core/adapter.d.ts +47 -0
  141. package/dist/core/adapter.d.ts.map +1 -0
  142. package/dist/core/adapter.js +48 -0
  143. package/dist/core/adapter.js.map +1 -0
  144. package/dist/core/adapters/anthropic.d.ts +35 -0
  145. package/dist/core/adapters/anthropic.d.ts.map +1 -0
  146. package/dist/core/adapters/anthropic.js +203 -0
  147. package/dist/core/adapters/anthropic.js.map +1 -0
  148. package/dist/core/adapters/claudeCli.d.ts +126 -0
  149. package/dist/core/adapters/claudeCli.d.ts.map +1 -0
  150. package/dist/core/adapters/claudeCli.js +584 -0
  151. package/dist/core/adapters/claudeCli.js.map +1 -0
  152. package/dist/core/adapters/cliAdapterBase.d.ts +48 -0
  153. package/dist/core/adapters/cliAdapterBase.d.ts.map +1 -0
  154. package/dist/core/adapters/cliAdapterBase.js +105 -0
  155. package/dist/core/adapters/cliAdapterBase.js.map +1 -0
  156. package/dist/core/adapters/cliStderr.d.ts +35 -0
  157. package/dist/core/adapters/cliStderr.d.ts.map +1 -0
  158. package/dist/core/adapters/cliStderr.js +87 -0
  159. package/dist/core/adapters/cliStderr.js.map +1 -0
  160. package/dist/core/adapters/codexCli.d.ts +113 -0
  161. package/dist/core/adapters/codexCli.d.ts.map +1 -0
  162. package/dist/core/adapters/codexCli.js +424 -0
  163. package/dist/core/adapters/codexCli.js.map +1 -0
  164. package/dist/core/adapters/gemini.d.ts +17 -0
  165. package/dist/core/adapters/gemini.d.ts.map +1 -0
  166. package/dist/core/adapters/gemini.js +133 -0
  167. package/dist/core/adapters/gemini.js.map +1 -0
  168. package/dist/core/adapters/geminiCli.d.ts +91 -0
  169. package/dist/core/adapters/geminiCli.d.ts.map +1 -0
  170. package/dist/core/adapters/geminiCli.js +276 -0
  171. package/dist/core/adapters/geminiCli.js.map +1 -0
  172. package/dist/core/adapters/nudges.d.ts +21 -0
  173. package/dist/core/adapters/nudges.d.ts.map +1 -0
  174. package/dist/core/adapters/nudges.js +75 -0
  175. package/dist/core/adapters/nudges.js.map +1 -0
  176. package/dist/core/adapters/openai.d.ts +17 -0
  177. package/dist/core/adapters/openai.d.ts.map +1 -0
  178. package/dist/core/adapters/openai.js +138 -0
  179. package/dist/core/adapters/openai.js.map +1 -0
  180. package/dist/core/adapters/parseFailures.d.ts +10 -0
  181. package/dist/core/adapters/parseFailures.d.ts.map +1 -0
  182. package/dist/core/adapters/parseFailures.js +35 -0
  183. package/dist/core/adapters/parseFailures.js.map +1 -0
  184. package/dist/core/adapters/utils.d.ts +11 -0
  185. package/dist/core/adapters/utils.d.ts.map +1 -0
  186. package/dist/core/adapters/utils.js +33 -0
  187. package/dist/core/adapters/utils.js.map +1 -0
  188. package/dist/core/askBroker.d.ts +11 -0
  189. package/dist/core/askBroker.d.ts.map +1 -0
  190. package/dist/core/askBroker.js +78 -0
  191. package/dist/core/askBroker.js.map +1 -0
  192. package/dist/core/atomicWrite.d.ts +5 -0
  193. package/dist/core/atomicWrite.d.ts.map +1 -0
  194. package/dist/core/atomicWrite.js +18 -0
  195. package/dist/core/atomicWrite.js.map +1 -0
  196. package/dist/core/brokers/askBroker.d.ts +11 -0
  197. package/dist/core/brokers/askBroker.d.ts.map +1 -0
  198. package/dist/core/brokers/askBroker.js +78 -0
  199. package/dist/core/brokers/askBroker.js.map +1 -0
  200. package/dist/core/brokers/permissionBroker.d.ts +7 -0
  201. package/dist/core/brokers/permissionBroker.d.ts.map +1 -0
  202. package/dist/core/brokers/permissionBroker.js +63 -0
  203. package/dist/core/brokers/permissionBroker.js.map +1 -0
  204. package/dist/core/brokers/socketBroker.d.ts +35 -0
  205. package/dist/core/brokers/socketBroker.d.ts.map +1 -0
  206. package/dist/core/brokers/socketBroker.js +74 -0
  207. package/dist/core/brokers/socketBroker.js.map +1 -0
  208. package/dist/core/clipboard.d.ts +4 -0
  209. package/dist/core/clipboard.d.ts.map +1 -0
  210. package/dist/core/clipboard.js +46 -0
  211. package/dist/core/clipboard.js.map +1 -0
  212. package/dist/core/compactor.d.ts +32 -0
  213. package/dist/core/compactor.d.ts.map +1 -0
  214. package/dist/core/compactor.js +91 -0
  215. package/dist/core/compactor.js.map +1 -0
  216. package/dist/core/consensusEngine.d.ts +21 -0
  217. package/dist/core/consensusEngine.d.ts.map +1 -0
  218. package/dist/core/consensusEngine.js +116 -0
  219. package/dist/core/consensusEngine.js.map +1 -0
  220. package/dist/core/context/contextCompressor.d.ts +10 -0
  221. package/dist/core/context/contextCompressor.d.ts.map +1 -0
  222. package/dist/core/context/contextCompressor.js +54 -0
  223. package/dist/core/context/contextCompressor.js.map +1 -0
  224. package/dist/core/context/contextWindows.d.ts +25 -0
  225. package/dist/core/context/contextWindows.d.ts.map +1 -0
  226. package/dist/core/context/contextWindows.js +101 -0
  227. package/dist/core/context/contextWindows.js.map +1 -0
  228. package/dist/core/context/summarizer.d.ts +65 -0
  229. package/dist/core/context/summarizer.d.ts.map +1 -0
  230. package/dist/core/context/summarizer.js +184 -0
  231. package/dist/core/context/summarizer.js.map +1 -0
  232. package/dist/core/context/usageCache.d.ts +19 -0
  233. package/dist/core/context/usageCache.d.ts.map +1 -0
  234. package/dist/core/context/usageCache.js +157 -0
  235. package/dist/core/context/usageCache.js.map +1 -0
  236. package/dist/core/context/usageWindow.d.ts +19 -0
  237. package/dist/core/context/usageWindow.d.ts.map +1 -0
  238. package/dist/core/context/usageWindow.js +73 -0
  239. package/dist/core/context/usageWindow.js.map +1 -0
  240. package/dist/core/contextCompressor.d.ts +10 -0
  241. package/dist/core/contextCompressor.d.ts.map +1 -0
  242. package/dist/core/contextCompressor.js +54 -0
  243. package/dist/core/contextCompressor.js.map +1 -0
  244. package/dist/core/contextWindows.d.ts +5 -0
  245. package/dist/core/contextWindows.d.ts.map +1 -0
  246. package/dist/core/contextWindows.js +60 -0
  247. package/dist/core/contextWindows.js.map +1 -0
  248. package/dist/core/continuum/digest.d.ts +35 -0
  249. package/dist/core/continuum/digest.d.ts.map +1 -0
  250. package/dist/core/continuum/digest.js +91 -0
  251. package/dist/core/continuum/digest.js.map +1 -0
  252. package/dist/core/continuum/index.d.ts +6 -0
  253. package/dist/core/continuum/index.d.ts.map +1 -0
  254. package/dist/core/continuum/index.js +7 -0
  255. package/dist/core/continuum/index.js.map +1 -0
  256. package/dist/core/continuum/inject.d.ts +9 -0
  257. package/dist/core/continuum/inject.d.ts.map +1 -0
  258. package/dist/core/continuum/inject.js +78 -0
  259. package/dist/core/continuum/inject.js.map +1 -0
  260. package/dist/core/continuum/projectId.d.ts +10 -0
  261. package/dist/core/continuum/projectId.d.ts.map +1 -0
  262. package/dist/core/continuum/projectId.js +60 -0
  263. package/dist/core/continuum/projectId.js.map +1 -0
  264. package/dist/core/continuum/store.d.ts +24 -0
  265. package/dist/core/continuum/store.d.ts.map +1 -0
  266. package/dist/core/continuum/store.js +144 -0
  267. package/dist/core/continuum/store.js.map +1 -0
  268. package/dist/core/continuum/types.d.ts +87 -0
  269. package/dist/core/continuum/types.d.ts.map +1 -0
  270. package/dist/core/continuum/types.js +9 -0
  271. package/dist/core/continuum/types.js.map +1 -0
  272. package/dist/core/dag.d.ts +21 -0
  273. package/dist/core/dag.d.ts.map +1 -0
  274. package/dist/core/dag.js +71 -0
  275. package/dist/core/dag.js.map +1 -0
  276. package/dist/core/director.d.ts +11 -0
  277. package/dist/core/director.d.ts.map +1 -0
  278. package/dist/core/director.js +37 -0
  279. package/dist/core/director.js.map +1 -0
  280. package/dist/core/hookedToolBroker.d.ts +25 -0
  281. package/dist/core/hookedToolBroker.d.ts.map +1 -0
  282. package/dist/core/hookedToolBroker.js +95 -0
  283. package/dist/core/hookedToolBroker.js.map +1 -0
  284. package/dist/core/langHint.d.ts +9 -0
  285. package/dist/core/langHint.d.ts.map +1 -0
  286. package/dist/core/langHint.js +33 -0
  287. package/dist/core/langHint.js.map +1 -0
  288. package/dist/core/mcp/mcpClient.d.ts +42 -0
  289. package/dist/core/mcp/mcpClient.d.ts.map +1 -0
  290. package/dist/core/mcp/mcpClient.js +134 -0
  291. package/dist/core/mcp/mcpClient.js.map +1 -0
  292. package/dist/core/mcp/mcpConfig.d.ts +58 -0
  293. package/dist/core/mcp/mcpConfig.d.ts.map +1 -0
  294. package/dist/core/mcp/mcpConfig.js +148 -0
  295. package/dist/core/mcp/mcpConfig.js.map +1 -0
  296. package/dist/core/mcp/mcpManager.d.ts +31 -0
  297. package/dist/core/mcp/mcpManager.d.ts.map +1 -0
  298. package/dist/core/mcp/mcpManager.js +83 -0
  299. package/dist/core/mcp/mcpManager.js.map +1 -0
  300. package/dist/core/mcpClient.d.ts +42 -0
  301. package/dist/core/mcpClient.d.ts.map +1 -0
  302. package/dist/core/mcpClient.js +134 -0
  303. package/dist/core/mcpClient.js.map +1 -0
  304. package/dist/core/mcpConfig.d.ts +24 -0
  305. package/dist/core/mcpConfig.d.ts.map +1 -0
  306. package/dist/core/mcpConfig.js +74 -0
  307. package/dist/core/mcpConfig.js.map +1 -0
  308. package/dist/core/mcpManager.d.ts +31 -0
  309. package/dist/core/mcpManager.d.ts.map +1 -0
  310. package/dist/core/mcpManager.js +83 -0
  311. package/dist/core/mcpManager.js.map +1 -0
  312. package/dist/core/memory.d.ts +22 -0
  313. package/dist/core/memory.d.ts.map +1 -0
  314. package/dist/core/memory.js +102 -0
  315. package/dist/core/memory.js.map +1 -0
  316. package/dist/core/omgToolManifest.d.ts +34 -0
  317. package/dist/core/omgToolManifest.d.ts.map +1 -0
  318. package/dist/core/omgToolManifest.js +59 -0
  319. package/dist/core/omgToolManifest.js.map +1 -0
  320. package/dist/core/orchestration/consensusEngine.d.ts +21 -0
  321. package/dist/core/orchestration/consensusEngine.d.ts.map +1 -0
  322. package/dist/core/orchestration/consensusEngine.js +116 -0
  323. package/dist/core/orchestration/consensusEngine.js.map +1 -0
  324. package/dist/core/orchestration/dag.d.ts +21 -0
  325. package/dist/core/orchestration/dag.d.ts.map +1 -0
  326. package/dist/core/orchestration/dag.js +71 -0
  327. package/dist/core/orchestration/dag.js.map +1 -0
  328. package/dist/core/orchestration/director.d.ts +11 -0
  329. package/dist/core/orchestration/director.d.ts.map +1 -0
  330. package/dist/core/orchestration/director.js +37 -0
  331. package/dist/core/orchestration/director.js.map +1 -0
  332. package/dist/core/orchestration/orchestrator.d.ts +32 -0
  333. package/dist/core/orchestration/orchestrator.d.ts.map +1 -0
  334. package/dist/core/orchestration/orchestrator.js +214 -0
  335. package/dist/core/orchestration/orchestrator.js.map +1 -0
  336. package/dist/core/orchestration/roleRouter.d.ts +28 -0
  337. package/dist/core/orchestration/roleRouter.d.ts.map +1 -0
  338. package/dist/core/orchestration/roleRouter.js +64 -0
  339. package/dist/core/orchestration/roleRouter.js.map +1 -0
  340. package/dist/core/orchestration/teamRunner.d.ts +69 -0
  341. package/dist/core/orchestration/teamRunner.d.ts.map +1 -0
  342. package/dist/core/orchestration/teamRunner.js +477 -0
  343. package/dist/core/orchestration/teamRunner.js.map +1 -0
  344. package/dist/core/orchestration/types.d.ts +115 -0
  345. package/dist/core/orchestration/types.d.ts.map +1 -0
  346. package/dist/core/orchestration/types.js +71 -0
  347. package/dist/core/orchestration/types.js.map +1 -0
  348. package/dist/core/orchestrator.d.ts +32 -0
  349. package/dist/core/orchestrator.d.ts.map +1 -0
  350. package/dist/core/orchestrator.js +214 -0
  351. package/dist/core/orchestrator.js.map +1 -0
  352. package/dist/core/permissionBroker.d.ts +7 -0
  353. package/dist/core/permissionBroker.d.ts.map +1 -0
  354. package/dist/core/permissionBroker.js +63 -0
  355. package/dist/core/permissionBroker.js.map +1 -0
  356. package/dist/core/planConfig.d.ts +15 -0
  357. package/dist/core/planConfig.d.ts.map +1 -0
  358. package/dist/core/planConfig.js +98 -0
  359. package/dist/core/planConfig.js.map +1 -0
  360. package/dist/core/presetPersistence.d.ts +4 -0
  361. package/dist/core/presetPersistence.d.ts.map +1 -0
  362. package/dist/core/presetPersistence.js +64 -0
  363. package/dist/core/presetPersistence.js.map +1 -0
  364. package/dist/core/roleRouter.d.ts +26 -0
  365. package/dist/core/roleRouter.d.ts.map +1 -0
  366. package/dist/core/roleRouter.js +62 -0
  367. package/dist/core/roleRouter.js.map +1 -0
  368. package/dist/core/sessionList.d.ts +26 -0
  369. package/dist/core/sessionList.d.ts.map +1 -0
  370. package/dist/core/sessionList.js +278 -0
  371. package/dist/core/sessionList.js.map +1 -0
  372. package/dist/core/slugify.d.ts +2 -0
  373. package/dist/core/slugify.d.ts.map +1 -0
  374. package/dist/core/slugify.js +17 -0
  375. package/dist/core/slugify.js.map +1 -0
  376. package/dist/core/socketBroker.d.ts +19 -0
  377. package/dist/core/socketBroker.d.ts.map +1 -0
  378. package/dist/core/socketBroker.js +48 -0
  379. package/dist/core/socketBroker.js.map +1 -0
  380. package/dist/core/state/agentsMdScaffold.d.ts +15 -0
  381. package/dist/core/state/agentsMdScaffold.d.ts.map +1 -0
  382. package/dist/core/state/agentsMdScaffold.js +118 -0
  383. package/dist/core/state/agentsMdScaffold.js.map +1 -0
  384. package/dist/core/state/atomicWrite.d.ts +5 -0
  385. package/dist/core/state/atomicWrite.d.ts.map +1 -0
  386. package/dist/core/state/atomicWrite.js +18 -0
  387. package/dist/core/state/atomicWrite.js.map +1 -0
  388. package/dist/core/state/handoff.d.ts +20 -0
  389. package/dist/core/state/handoff.d.ts.map +1 -0
  390. package/dist/core/state/handoff.js +71 -0
  391. package/dist/core/state/handoff.js.map +1 -0
  392. package/dist/core/state/mcpCatalog.d.ts +11 -0
  393. package/dist/core/state/mcpCatalog.d.ts.map +1 -0
  394. package/dist/core/state/mcpCatalog.js +51 -0
  395. package/dist/core/state/mcpCatalog.js.map +1 -0
  396. package/dist/core/state/mcpRecommendations.d.ts +7 -0
  397. package/dist/core/state/mcpRecommendations.d.ts.map +1 -0
  398. package/dist/core/state/mcpRecommendations.js +57 -0
  399. package/dist/core/state/mcpRecommendations.js.map +1 -0
  400. package/dist/core/state/memory.d.ts +22 -0
  401. package/dist/core/state/memory.d.ts.map +1 -0
  402. package/dist/core/state/memory.js +102 -0
  403. package/dist/core/state/memory.js.map +1 -0
  404. package/dist/core/state/planConfig.d.ts +15 -0
  405. package/dist/core/state/planConfig.d.ts.map +1 -0
  406. package/dist/core/state/planConfig.js +98 -0
  407. package/dist/core/state/planConfig.js.map +1 -0
  408. package/dist/core/state/presetPersistence.d.ts +4 -0
  409. package/dist/core/state/presetPersistence.d.ts.map +1 -0
  410. package/dist/core/state/presetPersistence.js +67 -0
  411. package/dist/core/state/presetPersistence.js.map +1 -0
  412. package/dist/core/state/sessionList.d.ts +26 -0
  413. package/dist/core/state/sessionList.d.ts.map +1 -0
  414. package/dist/core/state/sessionList.js +278 -0
  415. package/dist/core/state/sessionList.js.map +1 -0
  416. package/dist/core/state/stackDetect.d.ts +8 -0
  417. package/dist/core/state/stackDetect.d.ts.map +1 -0
  418. package/dist/core/state/stackDetect.js +40 -0
  419. package/dist/core/state/stackDetect.js.map +1 -0
  420. package/dist/core/state/tabPersistence.d.ts +29 -0
  421. package/dist/core/state/tabPersistence.d.ts.map +1 -0
  422. package/dist/core/state/tabPersistence.js +65 -0
  423. package/dist/core/state/tabPersistence.js.map +1 -0
  424. package/dist/core/tabPersistence.d.ts +29 -0
  425. package/dist/core/tabPersistence.d.ts.map +1 -0
  426. package/dist/core/tabPersistence.js +65 -0
  427. package/dist/core/tabPersistence.js.map +1 -0
  428. package/dist/core/teamRunner.d.ts +42 -0
  429. package/dist/core/teamRunner.d.ts.map +1 -0
  430. package/dist/core/teamRunner.js +248 -0
  431. package/dist/core/teamRunner.js.map +1 -0
  432. package/dist/core/toolGate.d.ts +23 -0
  433. package/dist/core/toolGate.d.ts.map +1 -0
  434. package/dist/core/toolGate.js +51 -0
  435. package/dist/core/toolGate.js.map +1 -0
  436. package/dist/core/toolInterceptor.d.ts +7 -0
  437. package/dist/core/toolInterceptor.d.ts.map +1 -0
  438. package/dist/core/toolInterceptor.js +108 -0
  439. package/dist/core/toolInterceptor.js.map +1 -0
  440. package/dist/core/tools/hookedToolBroker.d.ts +25 -0
  441. package/dist/core/tools/hookedToolBroker.d.ts.map +1 -0
  442. package/dist/core/tools/hookedToolBroker.js +95 -0
  443. package/dist/core/tools/hookedToolBroker.js.map +1 -0
  444. package/dist/core/tools/omgToolManifest.d.ts +42 -0
  445. package/dist/core/tools/omgToolManifest.d.ts.map +1 -0
  446. package/dist/core/tools/omgToolManifest.js +66 -0
  447. package/dist/core/tools/omgToolManifest.js.map +1 -0
  448. package/dist/core/tools/toolGate.d.ts +23 -0
  449. package/dist/core/tools/toolGate.d.ts.map +1 -0
  450. package/dist/core/tools/toolGate.js +51 -0
  451. package/dist/core/tools/toolGate.js.map +1 -0
  452. package/dist/core/tools/toolInterceptor.d.ts +7 -0
  453. package/dist/core/tools/toolInterceptor.d.ts.map +1 -0
  454. package/dist/core/tools/toolInterceptor.js +108 -0
  455. package/dist/core/tools/toolInterceptor.js.map +1 -0
  456. package/dist/core/tools/tools.d.ts +34 -0
  457. package/dist/core/tools/tools.d.ts.map +1 -0
  458. package/dist/core/tools/tools.js +328 -0
  459. package/dist/core/tools/tools.js.map +1 -0
  460. package/dist/core/tools.d.ts +34 -0
  461. package/dist/core/tools.d.ts.map +1 -0
  462. package/dist/core/tools.js +300 -0
  463. package/dist/core/tools.js.map +1 -0
  464. package/dist/core/types.d.ts +107 -0
  465. package/dist/core/types.d.ts.map +1 -0
  466. package/dist/core/types.js +55 -0
  467. package/dist/core/types.js.map +1 -0
  468. package/dist/core/usageCache.d.ts +19 -0
  469. package/dist/core/usageCache.d.ts.map +1 -0
  470. package/dist/core/usageCache.js +157 -0
  471. package/dist/core/usageCache.js.map +1 -0
  472. package/dist/core/usageWindow.d.ts +19 -0
  473. package/dist/core/usageWindow.d.ts.map +1 -0
  474. package/dist/core/usageWindow.js +73 -0
  475. package/dist/core/usageWindow.js.map +1 -0
  476. package/dist/core/util/bgProtocol.d.ts +5 -0
  477. package/dist/core/util/bgProtocol.d.ts.map +1 -0
  478. package/dist/core/util/bgProtocol.js +20 -0
  479. package/dist/core/util/bgProtocol.js.map +1 -0
  480. package/dist/core/util/clipboard.d.ts +4 -0
  481. package/dist/core/util/clipboard.d.ts.map +1 -0
  482. package/dist/core/util/clipboard.js +46 -0
  483. package/dist/core/util/clipboard.js.map +1 -0
  484. package/dist/core/util/clipboardImage.d.ts +3 -0
  485. package/dist/core/util/clipboardImage.d.ts.map +1 -0
  486. package/dist/core/util/clipboardImage.js +58 -0
  487. package/dist/core/util/clipboardImage.js.map +1 -0
  488. package/dist/core/util/langHint.d.ts +9 -0
  489. package/dist/core/util/langHint.d.ts.map +1 -0
  490. package/dist/core/util/langHint.js +33 -0
  491. package/dist/core/util/langHint.js.map +1 -0
  492. package/dist/core/util/slugify.d.ts +2 -0
  493. package/dist/core/util/slugify.d.ts.map +1 -0
  494. package/dist/core/util/slugify.js +28 -0
  495. package/dist/core/util/slugify.js.map +1 -0
  496. package/dist/hooks/hookedToolProxy.mjs +118 -0
  497. package/dist/index.d.ts +2 -0
  498. package/dist/index.d.ts.map +1 -0
  499. package/dist/index.js +8 -0
  500. package/dist/index.js.map +1 -0
  501. package/dist/ipc/dispatcher.d.ts +21 -0
  502. package/dist/ipc/dispatcher.d.ts.map +1 -0
  503. package/dist/ipc/dispatcher.js +160 -0
  504. package/dist/ipc/dispatcher.js.map +1 -0
  505. package/dist/ipc/events.d.ts +33 -0
  506. package/dist/ipc/events.d.ts.map +1 -0
  507. package/dist/ipc/events.js +42 -0
  508. package/dist/ipc/events.js.map +1 -0
  509. package/dist/ipc/rpc.d.ts +31 -0
  510. package/dist/ipc/rpc.d.ts.map +1 -0
  511. package/dist/ipc/rpc.js +110 -0
  512. package/dist/ipc/rpc.js.map +1 -0
  513. package/dist/ipc/stdio.d.ts +11 -0
  514. package/dist/ipc/stdio.d.ts.map +1 -0
  515. package/dist/ipc/stdio.js +52 -0
  516. package/dist/ipc/stdio.js.map +1 -0
  517. package/dist/mcp/askClient.d.ts +9 -0
  518. package/dist/mcp/askClient.d.ts.map +1 -0
  519. package/dist/mcp/askClient.js +70 -0
  520. package/dist/mcp/askClient.js.map +1 -0
  521. package/dist/mcp/constants.d.ts +6 -0
  522. package/dist/mcp/constants.d.ts.map +1 -0
  523. package/dist/mcp/constants.js +8 -0
  524. package/dist/mcp/constants.js.map +1 -0
  525. package/dist/mcp/permissionClient.d.ts +5 -0
  526. package/dist/mcp/permissionClient.d.ts.map +1 -0
  527. package/dist/mcp/permissionClient.js +71 -0
  528. package/dist/mcp/permissionClient.js.map +1 -0
  529. package/dist/mcp/schemas.d.ts +9 -0
  530. package/dist/mcp/schemas.d.ts.map +1 -0
  531. package/dist/mcp/schemas.js +121 -0
  532. package/dist/mcp/schemas.js.map +1 -0
  533. package/dist/mcp/server.d.ts +41 -0
  534. package/dist/mcp/server.d.ts.map +1 -0
  535. package/dist/mcp/server.js +204 -0
  536. package/dist/mcp/server.js.map +1 -0
  537. package/dist/policy/loader.d.ts +27 -0
  538. package/dist/policy/loader.d.ts.map +1 -0
  539. package/dist/policy/loader.js +89 -0
  540. package/dist/policy/loader.js.map +1 -0
  541. package/dist/policy/team-claude-only.yaml +46 -0
  542. package/dist/policy/team-codex-only.yaml +46 -0
  543. package/dist/policy/team-codex.yaml +54 -0
  544. package/dist/policy/team.yaml +104 -0
  545. package/dist/toolhook/hookedToolProxy.mjs +118 -0
  546. package/dist/ui/components/App.d.ts +14 -0
  547. package/dist/ui/components/App.d.ts.map +1 -0
  548. package/dist/ui/components/App.js +803 -0
  549. package/dist/ui/components/App.js.map +1 -0
  550. package/dist/ui/components/AskPicker.d.ts +8 -0
  551. package/dist/ui/components/AskPicker.d.ts.map +1 -0
  552. package/dist/ui/components/AskPicker.js +202 -0
  553. package/dist/ui/components/AskPicker.js.map +1 -0
  554. package/dist/ui/components/CommandInput.d.ts +63 -0
  555. package/dist/ui/components/CommandInput.d.ts.map +1 -0
  556. package/dist/ui/components/CommandInput.js +994 -0
  557. package/dist/ui/components/CommandInput.js.map +1 -0
  558. package/dist/ui/components/DiffView.d.ts +19 -0
  559. package/dist/ui/components/DiffView.d.ts.map +1 -0
  560. package/dist/ui/components/DiffView.js +93 -0
  561. package/dist/ui/components/DiffView.js.map +1 -0
  562. package/dist/ui/components/Dock.d.ts +49 -0
  563. package/dist/ui/components/Dock.d.ts.map +1 -0
  564. package/dist/ui/components/Dock.js +52 -0
  565. package/dist/ui/components/Dock.js.map +1 -0
  566. package/dist/ui/components/EventLog.d.ts +42 -0
  567. package/dist/ui/components/EventLog.d.ts.map +1 -0
  568. package/dist/ui/components/EventLog.js +450 -0
  569. package/dist/ui/components/EventLog.js.map +1 -0
  570. package/dist/ui/components/FileSuggest.d.ts +8 -0
  571. package/dist/ui/components/FileSuggest.d.ts.map +1 -0
  572. package/dist/ui/components/FileSuggest.js +19 -0
  573. package/dist/ui/components/FileSuggest.js.map +1 -0
  574. package/dist/ui/components/HRule.d.ts +27 -0
  575. package/dist/ui/components/HRule.d.ts.map +1 -0
  576. package/dist/ui/components/HRule.js +75 -0
  577. package/dist/ui/components/HRule.js.map +1 -0
  578. package/dist/ui/components/HintBar.d.ts +2 -0
  579. package/dist/ui/components/HintBar.d.ts.map +1 -0
  580. package/dist/ui/components/HintBar.js +19 -0
  581. package/dist/ui/components/HintBar.js.map +1 -0
  582. package/dist/ui/components/MarkdownText.d.ts +13 -0
  583. package/dist/ui/components/MarkdownText.d.ts.map +1 -0
  584. package/dist/ui/components/MarkdownText.js +255 -0
  585. package/dist/ui/components/MarkdownText.js.map +1 -0
  586. package/dist/ui/components/PermissionPrompt.d.ts +8 -0
  587. package/dist/ui/components/PermissionPrompt.d.ts.map +1 -0
  588. package/dist/ui/components/PermissionPrompt.js +37 -0
  589. package/dist/ui/components/PermissionPrompt.js.map +1 -0
  590. package/dist/ui/components/SessionPicker.d.ts +16 -0
  591. package/dist/ui/components/SessionPicker.d.ts.map +1 -0
  592. package/dist/ui/components/SessionPicker.js +116 -0
  593. package/dist/ui/components/SessionPicker.js.map +1 -0
  594. package/dist/ui/components/SlashPalette.d.ts +8 -0
  595. package/dist/ui/components/SlashPalette.d.ts.map +1 -0
  596. package/dist/ui/components/SlashPalette.js +41 -0
  597. package/dist/ui/components/SlashPalette.js.map +1 -0
  598. package/dist/ui/components/Spinner.d.ts +37 -0
  599. package/dist/ui/components/Spinner.d.ts.map +1 -0
  600. package/dist/ui/components/Spinner.js +139 -0
  601. package/dist/ui/components/Spinner.js.map +1 -0
  602. package/dist/ui/components/StatusBar.d.ts +92 -0
  603. package/dist/ui/components/StatusBar.d.ts.map +1 -0
  604. package/dist/ui/components/StatusBar.js +268 -0
  605. package/dist/ui/components/StatusBar.js.map +1 -0
  606. package/dist/ui/components/TabChip.d.ts +11 -0
  607. package/dist/ui/components/TabChip.d.ts.map +1 -0
  608. package/dist/ui/components/TabChip.js +23 -0
  609. package/dist/ui/components/TabChip.js.map +1 -0
  610. package/dist/ui/components/TeamIndicator.d.ts +6 -0
  611. package/dist/ui/components/TeamIndicator.d.ts.map +1 -0
  612. package/dist/ui/components/TeamIndicator.js +17 -0
  613. package/dist/ui/components/TeamIndicator.js.map +1 -0
  614. package/dist/ui/components/TeamStatusPanel.d.ts +14 -0
  615. package/dist/ui/components/TeamStatusPanel.d.ts.map +1 -0
  616. package/dist/ui/components/TeamStatusPanel.js +65 -0
  617. package/dist/ui/components/TeamStatusPanel.js.map +1 -0
  618. package/dist/ui/components/ThinkingBlock.d.ts +10 -0
  619. package/dist/ui/components/ThinkingBlock.d.ts.map +1 -0
  620. package/dist/ui/components/ThinkingBlock.js +21 -0
  621. package/dist/ui/components/ThinkingBlock.js.map +1 -0
  622. package/dist/ui/components/TodoIndicator.d.ts +11 -0
  623. package/dist/ui/components/TodoIndicator.d.ts.map +1 -0
  624. package/dist/ui/components/TodoIndicator.js +37 -0
  625. package/dist/ui/components/TodoIndicator.js.map +1 -0
  626. package/dist/ui/components/ToolCallCard.d.ts +16 -0
  627. package/dist/ui/components/ToolCallCard.d.ts.map +1 -0
  628. package/dist/ui/components/ToolCallCard.js +195 -0
  629. package/dist/ui/components/ToolCallCard.js.map +1 -0
  630. package/dist/ui/components/Welcome.d.ts +8 -0
  631. package/dist/ui/components/Welcome.d.ts.map +1 -0
  632. package/dist/ui/components/Welcome.js +53 -0
  633. package/dist/ui/components/Welcome.js.map +1 -0
  634. package/dist/ui/cursorState.d.ts +29 -0
  635. package/dist/ui/cursorState.d.ts.map +1 -0
  636. package/dist/ui/cursorState.js +49 -0
  637. package/dist/ui/cursorState.js.map +1 -0
  638. package/dist/ui/diff.d.ts +34 -0
  639. package/dist/ui/diff.d.ts.map +1 -0
  640. package/dist/ui/diff.js +184 -0
  641. package/dist/ui/diff.js.map +1 -0
  642. package/dist/ui/diffLang.d.ts +2 -0
  643. package/dist/ui/diffLang.d.ts.map +1 -0
  644. package/dist/ui/diffLang.js +36 -0
  645. package/dist/ui/diffLang.js.map +1 -0
  646. package/dist/ui/emoji.d.ts +4 -0
  647. package/dist/ui/emoji.d.ts.map +1 -0
  648. package/dist/ui/emoji.js +73 -0
  649. package/dist/ui/emoji.js.map +1 -0
  650. package/dist/ui/fileMentions.d.ts +41 -0
  651. package/dist/ui/fileMentions.d.ts.map +1 -0
  652. package/dist/ui/fileMentions.js +135 -0
  653. package/dist/ui/fileMentions.js.map +1 -0
  654. package/dist/ui/hooks/useLineEditor.d.ts +44 -0
  655. package/dist/ui/hooks/useLineEditor.d.ts.map +1 -0
  656. package/dist/ui/hooks/useLineEditor.js +142 -0
  657. package/dist/ui/hooks/useLineEditor.js.map +1 -0
  658. package/dist/ui/inputHistory.d.ts +8 -0
  659. package/dist/ui/inputHistory.d.ts.map +1 -0
  660. package/dist/ui/inputHistory.js +56 -0
  661. package/dist/ui/inputHistory.js.map +1 -0
  662. package/dist/ui/jsonrpc.d.ts +17 -0
  663. package/dist/ui/jsonrpc.d.ts.map +1 -0
  664. package/dist/ui/jsonrpc.js +41 -0
  665. package/dist/ui/jsonrpc.js.map +1 -0
  666. package/dist/ui/launcher.d.ts +20 -0
  667. package/dist/ui/launcher.d.ts.map +1 -0
  668. package/dist/ui/launcher.js +185 -0
  669. package/dist/ui/launcher.js.map +1 -0
  670. package/dist/ui/markdown.d.ts +104 -0
  671. package/dist/ui/markdown.d.ts.map +1 -0
  672. package/dist/ui/markdown.js +449 -0
  673. package/dist/ui/markdown.js.map +1 -0
  674. package/dist/ui/mouse.d.ts +22 -0
  675. package/dist/ui/mouse.d.ts.map +1 -0
  676. package/dist/ui/mouse.js +31 -0
  677. package/dist/ui/mouse.js.map +1 -0
  678. package/dist/ui/outbound.d.ts +20 -0
  679. package/dist/ui/outbound.d.ts.map +1 -0
  680. package/dist/ui/outbound.js +49 -0
  681. package/dist/ui/outbound.js.map +1 -0
  682. package/dist/ui/screenMode.d.ts +25 -0
  683. package/dist/ui/screenMode.d.ts.map +1 -0
  684. package/dist/ui/screenMode.js +43 -0
  685. package/dist/ui/screenMode.js.map +1 -0
  686. package/dist/ui/slashCatalog.d.ts +18 -0
  687. package/dist/ui/slashCatalog.d.ts.map +1 -0
  688. package/dist/ui/slashCatalog.js +243 -0
  689. package/dist/ui/slashCatalog.js.map +1 -0
  690. package/dist/ui/syntax.d.ts +11 -0
  691. package/dist/ui/syntax.d.ts.map +1 -0
  692. package/dist/ui/syntax.js +78 -0
  693. package/dist/ui/syntax.js.map +1 -0
  694. package/dist/ui/theme.d.ts +165 -0
  695. package/dist/ui/theme.d.ts.map +1 -0
  696. package/dist/ui/theme.js +394 -0
  697. package/dist/ui/theme.js.map +1 -0
  698. package/dist/ui/types.d.ts +203 -0
  699. package/dist/ui/types.d.ts.map +1 -0
  700. package/dist/ui/types.js +53 -0
  701. package/dist/ui/types.js.map +1 -0
  702. package/package.json +104 -0
@@ -0,0 +1,424 @@
1
+ // Codex CLI adapter (Phase 17-b).
2
+ //
3
+ // Spawns `codex exec --json [prompt]` and parses the JSONL envelope.
4
+ // Auth: the CLI's own OAuth session (ChatGPT Plus/Pro subscription).
5
+ // No API key, no per-request credit.
6
+ //
7
+ // Codex's stream envelope is *not* incremental — agent_message arrives
8
+ // as a single completed item. We emit one TextChunk on item.completed
9
+ // and a StreamEnd on turn.completed. Tool calls (separate item types)
10
+ // are out of scope for 17-b; phase 17-d adds the mapping.
11
+ import { CODEX_NOISE_PATTERNS } from "./cliStderr.js";
12
+ import { recordParseFailure, } from "./parseFailures.js";
13
+ import { runCliAdapterStream } from "./cliAdapterBase.js";
14
+ import { ASK_USER_NUDGE_CODEX, BACKGROUND_TASK_NUDGE_CODEX, RECORD_DECISION_NUDGE, } from "./nudges.js";
15
+ import { buildOmgServerSpec, toCodexTomlInline, } from "../tools/omgToolManifest.js";
16
+ import { flattenConversation, lastUserAttachments, streamEnd, text as textChunk, thinking as thinkingChunk, usage, } from "../orchestration/types.js";
17
+ import { isObject } from "./utils.js";
18
+ export class CodexCliAdapter {
19
+ opts;
20
+ provider = "codex-cli";
21
+ /** Phase 19: captured from the first response's thread.started
22
+ * envelope when enableSessionResume is on. */
23
+ sessionId = undefined;
24
+ /** Phase 21: live child handle for cancel(). */
25
+ currentChild = null;
26
+ constructor(opts = {}) {
27
+ this.opts = opts;
28
+ }
29
+ get currentSessionId() {
30
+ return this.sessionId;
31
+ }
32
+ setCwd(cwd) {
33
+ this.opts.cwd = cwd;
34
+ }
35
+ restoreSession(sessionId) {
36
+ this.sessionId = sessionId;
37
+ }
38
+ setModel(model) {
39
+ this.opts.model = model;
40
+ }
41
+ resetSession() {
42
+ this.sessionId = undefined;
43
+ }
44
+ cancel() {
45
+ if (this.currentChild && !this.currentChild.killed) {
46
+ this.currentChild.kill("SIGTERM");
47
+ }
48
+ }
49
+ /** Pick the prompt sent to the CLI. With resume active and a session
50
+ * id captured, send only the last user message — `codex exec resume`
51
+ * rehydrates prior turns from the saved session. Otherwise flatten
52
+ * the entire Conversation. */
53
+ promptFor(input) {
54
+ if (this.opts.enableSessionResume &&
55
+ this.sessionId !== undefined &&
56
+ typeof input !== "string") {
57
+ const messages = input.messages;
58
+ for (let i = messages.length - 1; i >= 0; i--) {
59
+ const m = messages[i];
60
+ if (m.role === "user")
61
+ return m.text;
62
+ }
63
+ }
64
+ return inputToPrompt(input);
65
+ }
66
+ async *stream(input) {
67
+ const prompt = this.promptFor(input);
68
+ // Phase 340: image attachments on this turn's last user message →
69
+ // codex `-i <file>`. promptFor/buildArgs only see text, so pull the
70
+ // paths here from the full input.
71
+ const args = this.buildArgs(prompt, lastUserAttachments(input));
72
+ const childEnv = this.opts.cwd
73
+ ? { ...process.env, OMG_TAB_CWD: this.opts.cwd }
74
+ : process.env;
75
+ yield* runCliAdapterStream({
76
+ command: this.opts.command ?? "codex",
77
+ args,
78
+ cwd: this.opts.cwd,
79
+ env: childEnv,
80
+ noisePatterns: CODEX_NOISE_PATTERNS,
81
+ verboseStderr: this.opts.verboseStderr === true,
82
+ onThrottle: this.opts.onThrottle,
83
+ provider: "codex-cli",
84
+ translate: (rl, sh, pf) => translateCodexCliLines(rl, sh, pf),
85
+ setChild: (c) => {
86
+ this.currentChild = c;
87
+ },
88
+ onSession: (sid) => {
89
+ if (this.opts.enableSessionResume && sid)
90
+ this.sessionId = sid;
91
+ },
92
+ });
93
+ }
94
+ /** Public for testing.
95
+ *
96
+ * Two shapes:
97
+ * first call: codex exec --json --skip-git-repo-check [flags] <prompt>
98
+ * resumed call: codex exec resume --json --skip-git-repo-check [flags] <id> <prompt>
99
+ *
100
+ * `--sandbox` is a flag on `codex exec` only; resume inherits the
101
+ * original session's sandbox so we omit it on the resume path.
102
+ */
103
+ buildArgs(prompt, attachments = []) {
104
+ const omgFlags = this.opts.omgTools
105
+ ? buildOmgFlags(this.opts.omgTools)
106
+ : [];
107
+ if (this.opts.enableSessionResume && this.sessionId !== undefined) {
108
+ const args = [
109
+ "exec",
110
+ "resume",
111
+ "--json",
112
+ "--skip-git-repo-check",
113
+ ];
114
+ if (this.opts.model)
115
+ args.push("--model", this.opts.model);
116
+ args.push(...this.reasoningFlags());
117
+ args.push(...omgFlags);
118
+ if (this.opts.extraArgs)
119
+ args.push(...this.opts.extraArgs);
120
+ args.push(this.sessionId, prompt);
121
+ pushImageFlags(args, attachments);
122
+ return args;
123
+ }
124
+ const args = ["exec", "--json", "--skip-git-repo-check"];
125
+ if (this.opts.model)
126
+ args.push("--model", this.opts.model);
127
+ args.push(...this.reasoningFlags());
128
+ if (this.opts.cliTools)
129
+ args.push("--sandbox", this.opts.cliTools);
130
+ args.push(...omgFlags);
131
+ if (this.opts.extraArgs)
132
+ args.push(...this.opts.extraArgs);
133
+ // Phase 330 → 333: codex has no system-prompt flag — seed it by
134
+ // prepending to the first turn's prompt. (Resume reuses the started
135
+ // thread, which already carries it, so we only prepend on the fresh
136
+ // path.) Phase 333 (W1): composeSystem() folds in the behavioral
137
+ // nudges `via claude` gets, so codex stops bailing on interactive
138
+ // steps / capping long builds / dropping decisions.
139
+ const sys = this.composeSystem();
140
+ args.push(sys ? `${sys}\n\n${prompt}` : prompt);
141
+ // Phase 340: image attachments go AFTER the prompt — `-i/--image` is
142
+ // variadic and would otherwise swallow the positional prompt
143
+ // ("No prompt provided via stdin"). Verified on codex 0.135.
144
+ pushImageFlags(args, attachments);
145
+ return args;
146
+ }
147
+ /** Phase 333 (W1): codex reasoning-effort flag. Defaults to "high" to
148
+ * lift codex quality toward `via claude`; OMG_CODEX_REASONING overrides,
149
+ * and "default"/empty lets codex choose its own. Applied on both the
150
+ * fresh and resume paths (a cheap per-invocation `-c` override). */
151
+ reasoningFlags() {
152
+ const v = (this.opts.reasoningEffort ??
153
+ process.env.OMG_CODEX_REASONING ??
154
+ "high").trim();
155
+ if (!v || v === "default")
156
+ return [];
157
+ return ["-c", `model_reasoning_effort=${v}`];
158
+ }
159
+ /** Phase 333 (W1): compose the fresh-turn system text. Starts with any
160
+ * caller system (team role directive + language, Phase 330), then —
161
+ * when omg's MCP tools are mounted so the tools are actually callable —
162
+ * appends the behavioral nudges: ask_user (don't bail on decisions),
163
+ * run_shell for long builds (shell tier only; codex's native shell is
164
+ * capped at ~30s upstream), and record_decision. */
165
+ composeSystem() {
166
+ const parts = [];
167
+ const base = this.opts.system?.trim();
168
+ if (base)
169
+ parts.push(base);
170
+ if (this.opts.omgTools) {
171
+ parts.push(ASK_USER_NUDGE_CODEX);
172
+ if (this.opts.omgTools.shell)
173
+ parts.push(BACKGROUND_TASK_NUDGE_CODEX);
174
+ parts.push(RECORD_DECISION_NUDGE);
175
+ }
176
+ return parts.join("\n\n");
177
+ }
178
+ }
179
+ /** Phase 210: codex flags that register omg's MCP server. The TOML
180
+ * serialization comes from the shared manifest; this adapter only
181
+ * owns the `-c <key>=<value>` wrapping + the approval-bypass flag. */
182
+ function buildOmgFlags(omg) {
183
+ const spec = buildOmgServerSpec(omg);
184
+ return [
185
+ "-c",
186
+ `mcp_servers.omg=${toCodexTomlInline(spec)}`,
187
+ "--dangerously-bypass-approvals-and-sandbox",
188
+ ];
189
+ }
190
+ function inputToPrompt(input) {
191
+ return typeof input === "string" ? input : flattenConversation(input);
192
+ }
193
+ /** Phase 340: append one `-i <path>` per image. MUST be called after the
194
+ * positional prompt is pushed — `-i/--image <FILE>...` is variadic and
195
+ * would consume the prompt as another image otherwise. */
196
+ function pushImageFlags(args, attachments) {
197
+ for (const p of attachments) {
198
+ if (p)
199
+ args.push("-i", p);
200
+ }
201
+ }
202
+ /** Phase 335: pull the human-readable line out of a codex error /
203
+ * turn.failed envelope. The message is usually a nested JSON string
204
+ * (`{"type":"error","status":400,"error":{"message":"…"}}`); peel to
205
+ * `error.message`, falling back to the raw string when it isn't JSON. */
206
+ function extractCodexError(msg) {
207
+ const m = msg.message;
208
+ const errObj = msg.error;
209
+ const raw = typeof m === "string"
210
+ ? m
211
+ : isObject(errObj)
212
+ ? String(errObj.message ?? "")
213
+ : "";
214
+ if (!raw)
215
+ return "";
216
+ try {
217
+ const parsed = JSON.parse(raw);
218
+ const inner = (isObject(parsed.error) ? parsed.error.message : undefined) ??
219
+ parsed.message;
220
+ if (typeof inner === "string" && inner)
221
+ return inner;
222
+ }
223
+ catch {
224
+ /* not JSON — fall through to the raw string */
225
+ }
226
+ return raw;
227
+ }
228
+ /** Transform Codex CLI envelope lines into omg Chunks.
229
+ *
230
+ * Envelope variants we care about:
231
+ * thread.started / turn.started — informational
232
+ * item.completed agent_message — TextChunk
233
+ * item.started command_execution — ToolUseStart (shell)
234
+ * item.completed command_execution — ToolUseEnd with stdout + exit
235
+ * turn.completed — StreamEnd
236
+ *
237
+ * Codex's only tool is shell, surfaced as toolName="shell" with input
238
+ * { command } and result { ok, value: aggregated_output, error }.
239
+ */
240
+ export async function* translateCodexCliLines(lines, sessionHolder, parseFailures) {
241
+ const stopReason = "stop";
242
+ for await (const line of lines) {
243
+ const trimmed = line.trim();
244
+ if (!trimmed)
245
+ continue;
246
+ let msg;
247
+ try {
248
+ msg = JSON.parse(trimmed);
249
+ }
250
+ catch {
251
+ recordParseFailure(parseFailures, trimmed);
252
+ continue;
253
+ }
254
+ const type = msg.type;
255
+ if (type === "thread.started") {
256
+ const tid = msg.thread_id;
257
+ if (sessionHolder && typeof tid === "string" && tid) {
258
+ sessionHolder.value = tid;
259
+ }
260
+ continue;
261
+ }
262
+ // Phase 335: codex reports failures as `{type:"error", message}` and
263
+ // `{type:"turn.failed", error:{message}}` — both were dropped, so a bad
264
+ // model alias / auth / quota surfaced only as omg's generic "turn ended
265
+ // with no output" guess. Surface codex's actual message (e.g. "The
266
+ // 'gpt-5' model is not supported when using Codex with a ChatGPT
267
+ // account.") and end the turn. The `message` is often a nested JSON
268
+ // string; extractCodexError peels it to the human line.
269
+ if (type === "error" || type === "turn.failed") {
270
+ const detail = extractCodexError(msg);
271
+ if (detail)
272
+ yield textChunk(`\n[codex error: ${detail}]\n`);
273
+ yield streamEnd(stopReason);
274
+ return;
275
+ }
276
+ if (type === "item.started") {
277
+ const item = msg.item;
278
+ if (isObject(item) && item.type === "command_execution") {
279
+ const id = String(item.id ?? "");
280
+ const command = item.command;
281
+ yield {
282
+ type: "tool_use_start",
283
+ toolId: id,
284
+ toolName: "shell",
285
+ toolInput: { command: typeof command === "string" ? command : "" },
286
+ };
287
+ }
288
+ else if (isObject(item) && item.type === "mcp_tool_call") {
289
+ // Codex routes omg-MCP calls through this item type. Surface
290
+ // them so omg's UI shows the same tool card it does for the
291
+ // CLI's native shell tool.
292
+ const id = String(item.id ?? "");
293
+ const server = String(item.server ?? "");
294
+ const tool = String(item.tool ?? "");
295
+ const params = item.arguments;
296
+ yield {
297
+ type: "tool_use_start",
298
+ toolId: id,
299
+ toolName: server ? `${server}.${tool}` : tool,
300
+ toolInput: isObject(params)
301
+ ? { ...params }
302
+ : {},
303
+ };
304
+ }
305
+ continue;
306
+ }
307
+ if (type === "item.completed") {
308
+ const item = msg.item;
309
+ if (!isObject(item))
310
+ continue;
311
+ if (item.type === "agent_message") {
312
+ const text = item.text;
313
+ if (typeof text === "string" && text)
314
+ yield textChunk(text);
315
+ }
316
+ else if (item.type === "reasoning") {
317
+ // Codex's chain-of-thought. Surfaced as a separate item type
318
+ // so callers can dim/collapse it; without this branch it
319
+ // would silently disappear.
320
+ const text = item.text;
321
+ if (typeof text === "string" && text)
322
+ yield thinkingChunk(text);
323
+ }
324
+ else if (item.type === "command_execution") {
325
+ const id = String(item.id ?? "");
326
+ const exitCode = item.exit_code;
327
+ const output = item
328
+ .aggregated_output;
329
+ const ok = exitCode === 0;
330
+ yield {
331
+ type: "tool_use_end",
332
+ toolId: id,
333
+ result: {
334
+ ok,
335
+ // Phase 170: codex normally emits aggregated_output as a
336
+ // string; stringify any structured value so it isn't lost
337
+ // (mirrors the gemini fix in Phase 163).
338
+ value: typeof output === "string"
339
+ ? output
340
+ : output == null
341
+ ? ""
342
+ : JSON.stringify(output),
343
+ error: ok ? "" : `exit_code: ${exitCode ?? "unknown"}`,
344
+ },
345
+ };
346
+ }
347
+ else if (item.type === "mcp_tool_call") {
348
+ const id = String(item.id ?? "");
349
+ const status = item.status;
350
+ const ok = status === "completed";
351
+ const result = item.result;
352
+ const errInfo = item.error;
353
+ // MCP responses come as `{ content: [{type:"text", text}], ... }`.
354
+ // Flatten the text parts so the UI's tool card shows the body.
355
+ let value = "";
356
+ if (isObject(result)) {
357
+ const content = result.content;
358
+ if (Array.isArray(content)) {
359
+ value = content
360
+ .map((c) => {
361
+ const part = c;
362
+ return part.type === "text" && typeof part.text === "string"
363
+ ? part.text
364
+ : "";
365
+ })
366
+ .filter(Boolean)
367
+ .join("\n");
368
+ }
369
+ // Phase 170: an MCP result with no text parts (structured-only
370
+ // content, or a non-standard shape) would otherwise vanish;
371
+ // stringify it so the tool card still shows the body.
372
+ if (!value)
373
+ value = JSON.stringify(result);
374
+ }
375
+ else if (typeof result === "string") {
376
+ value = result;
377
+ }
378
+ const errorMsg = isObject(errInfo)
379
+ ? String(errInfo.message ?? "")
380
+ : "";
381
+ yield {
382
+ type: "tool_use_end",
383
+ toolId: id,
384
+ result: {
385
+ ok,
386
+ value,
387
+ error: ok ? "" : errorMsg || `status: ${status ?? "unknown"}`,
388
+ },
389
+ };
390
+ }
391
+ continue;
392
+ }
393
+ if (type === "turn.completed") {
394
+ const u = msg.usage;
395
+ if (isObject(u)) {
396
+ const tin = Number(u.input_tokens ?? 0);
397
+ const tout = Number(u.output_tokens ?? 0);
398
+ // Phase 333 (W4): codex reports cached_input_tokens (the prompt-cache
399
+ // read portion of input_tokens). Surface the reused/fresh split the
400
+ // same way anthropic.ts does so codex tabs get cache visibility in
401
+ // /context + the status bar — it was dropped before (usage(tin,tout)).
402
+ const cached = Number(u.cached_input_tokens ?? 0);
403
+ if (tin > 0 || tout > 0) {
404
+ yield cached > 0
405
+ ? usage(tin, tout, cached, Math.max(0, tin - cached))
406
+ : usage(tin, tout);
407
+ }
408
+ }
409
+ yield streamEnd(stopReason);
410
+ // Phase 307: return on the logical turn end instead of looping to
411
+ // stdout EOF — mirrors claudeCli's Phase 154 early return on
412
+ // `result`. codex can keep stdout open after a turn (it manages the
413
+ // omg MCP-server child via `-c mcp_servers.omg`), so waiting for EOF
414
+ // would hang the turn (no stream_end → the interactive REPL blocks,
415
+ // the team/compact paths burn their whole timeout).
416
+ return;
417
+ }
418
+ }
419
+ // EOF fallback: codex closed stdout without a `turn.completed` (e.g. a
420
+ // short/variant turn). turn.completed returns early above, so reaching
421
+ // here means no stream_end was emitted yet.
422
+ yield streamEnd(stopReason);
423
+ }
424
+ //# sourceMappingURL=codexCli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexCli.js","sourceRoot":"","sources":["../../../src/core/adapters/codexCli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type AdapterInput, type Chunk, type ConversationMessage } from "../orchestration/types.js";
2
+ import type { LLMAdapter } from "../adapter.js";
3
+ export declare function translateGeminiEvents(events: AsyncIterable<unknown>): AsyncIterable<Chunk>;
4
+ export declare function geminiContent(msg: ConversationMessage): Record<string, unknown>;
5
+ export declare class GeminiAdapter implements LLMAdapter {
6
+ private readonly opts;
7
+ readonly provider = "gemini";
8
+ constructor(opts: {
9
+ model: string;
10
+ client?: unknown;
11
+ system?: string;
12
+ });
13
+ stream(input: AdapterInput): AsyncIterable<Chunk>;
14
+ buildArgs(input: AdapterInput): Record<string, unknown>;
15
+ private lazyClient;
16
+ }
17
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/gemini.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,mBAAmB,EAIzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,wBAAuB,qBAAqB,CAC1C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,KAAK,CAAC,CA+CtB;AAaD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB;AAGD,qBAAa,aAAc,YAAW,UAAU;IAI5C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHvB,QAAQ,CAAC,QAAQ,YAAY;gBAGV,IAAI,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAGI,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;IAiBxD,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;YAczC,UAAU;CAqBzB"}
@@ -0,0 +1,133 @@
1
+ // Gemini adapter — Google genai streaming chunks → omg Chunks.
2
+ //
3
+ // Mirror of legacy/omg/core/adapters/gemini.py. function_call parts
4
+ // are atomic (no piecewise argument streaming), so a ToolUseStart is
5
+ // emitted immediately per call. tool_id is synthesized from name+
6
+ // counter when the SDK omits one.
7
+ import { streamEnd, text as textChunk, toolUseStart, } from "../orchestration/types.js";
8
+ import { isObject } from "./utils.js";
9
+ export async function* translateGeminiEvents(events) {
10
+ let finishReason = null;
11
+ let toolIndex = 0;
12
+ for await (const ev of events) {
13
+ if (!isObject(ev))
14
+ continue;
15
+ const candidates = ev.candidates;
16
+ if (!Array.isArray(candidates)) {
17
+ yield* maybeEmitText(ev);
18
+ continue;
19
+ }
20
+ for (const cand of candidates) {
21
+ if (!isObject(cand))
22
+ continue;
23
+ const content = cand.content;
24
+ const parts = isObject(content) &&
25
+ Array.isArray(content.parts)
26
+ ? content.parts
27
+ : [];
28
+ for (const part of parts) {
29
+ if (!isObject(part))
30
+ continue;
31
+ const t = part.text;
32
+ if (typeof t === "string" && t.length > 0) {
33
+ yield textChunk(t);
34
+ continue;
35
+ }
36
+ const fc = part.function_call;
37
+ if (isObject(fc)) {
38
+ const name = String(fc.name ?? "");
39
+ const rawArgs = fc.args;
40
+ const args = isObject(rawArgs)
41
+ ? rawArgs
42
+ : {};
43
+ const fcId = fc.id;
44
+ const id = typeof fcId === "string" && fcId.length > 0
45
+ ? fcId
46
+ : `${name}-${toolIndex}`;
47
+ toolIndex += 1;
48
+ yield toolUseStart(id, name, args);
49
+ }
50
+ }
51
+ const fr = cand.finish_reason;
52
+ if (fr !== undefined && fr !== null)
53
+ finishReason = String(fr);
54
+ }
55
+ }
56
+ yield streamEnd(finishReason ?? "stop");
57
+ }
58
+ async function* maybeEmitText(ev) {
59
+ // Some Gemini events expose a flat `text` getter at the top level.
60
+ const t = ev.text;
61
+ if (typeof t === "string" && t.length > 0)
62
+ yield textChunk(t);
63
+ }
64
+ // Render a ConversationMessage into a Gemini "content" entry. Gemini
65
+ // uses role "model" for the assistant; tool_results ride as a user role
66
+ // with function_response parts.
67
+ export function geminiContent(msg) {
68
+ if (msg.role === "user") {
69
+ return { role: "user", parts: [{ text: msg.text }] };
70
+ }
71
+ if (msg.role === "assistant") {
72
+ const parts = [];
73
+ if (msg.text)
74
+ parts.push({ text: msg.text });
75
+ for (const call of msg.toolCalls) {
76
+ parts.push({
77
+ function_call: {
78
+ name: call.toolName,
79
+ args: { ...call.toolInput },
80
+ },
81
+ });
82
+ }
83
+ return { role: "model", parts };
84
+ }
85
+ return {
86
+ role: "user",
87
+ parts: [
88
+ {
89
+ function_response: {
90
+ name: msg.toolName,
91
+ response: { result: msg.result },
92
+ },
93
+ },
94
+ ],
95
+ };
96
+ }
97
+ export class GeminiAdapter {
98
+ opts;
99
+ provider = "gemini";
100
+ constructor(opts) {
101
+ this.opts = opts;
102
+ }
103
+ async *stream(input) {
104
+ const client = this.opts.client ?? (await this.lazyClient());
105
+ const events = (await client.models.generateContentStream(this.buildArgs(input)));
106
+ yield* translateGeminiEvents(events);
107
+ }
108
+ buildArgs(input) {
109
+ const system = typeof input === "string"
110
+ ? this.opts.system
111
+ : (input.system ?? this.opts.system);
112
+ const cfg = {
113
+ model: this.opts.model,
114
+ contents: typeof input === "string" ? input : input.messages.map(geminiContent),
115
+ };
116
+ if (system !== undefined)
117
+ cfg.config = { system_instruction: system };
118
+ return cfg;
119
+ }
120
+ async lazyClient() {
121
+ const name = "@google/genai";
122
+ let mod;
123
+ try {
124
+ mod = (await import(name));
125
+ }
126
+ catch {
127
+ throw new Error("@google/genai not installed; run `npm install @google/genai`");
128
+ }
129
+ const GoogleGenAI = mod.GoogleGenAI;
130
+ return new GoogleGenAI();
131
+ }
132
+ }
133
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/core/adapters/gemini.ts"],"names":[],"mappings":"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"}