@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,47 @@
1
+ import type { Provider } from "../core/orchestration/orchestrator.js";
2
+ import type { LLMAdapter } from "../core/adapter.js";
3
+ import type { ToolCallRequest } from "../core/orchestration/types.js";
4
+ import type { JsonRpcNotification } from "../ipc/events.js";
5
+ export type ConversationMsg = {
6
+ role: "user";
7
+ text: string;
8
+ attachments?: readonly string[];
9
+ } | {
10
+ role: "assistant";
11
+ text: string;
12
+ toolCalls: ToolCallRequest[];
13
+ };
14
+ export interface Tab {
15
+ name: string;
16
+ provider: Provider;
17
+ model: string;
18
+ adapter: LLMAdapter;
19
+ messages: ConversationMsg[];
20
+ events: JsonRpcNotification[];
21
+ sessionId: string | undefined;
22
+ tokensIn: number;
23
+ tokensOut: number;
24
+ toolCalls: number;
25
+ prevTokensIn?: number;
26
+ cacheReadTokens?: number;
27
+ freshTokens?: number;
28
+ lastRateLimitStatus?: string;
29
+ inFlight: boolean;
30
+ inFlightSince?: number;
31
+ queued?: string[];
32
+ cancel?: () => void;
33
+ hasUnreadCompletion: boolean;
34
+ autoNamed: boolean;
35
+ cwd: string;
36
+ continuumId?: string;
37
+ pendingContinuumInjection?: string;
38
+ autoCommit?: boolean;
39
+ touchedFiles?: Set<string>;
40
+ teamPhase?: string;
41
+ teamRoles?: import("./teamPipeline.js").RoleStateRow[];
42
+ teamInFlight?: boolean;
43
+ asking?: number;
44
+ pendingAsks?: JsonRpcNotification[];
45
+ predictCancel?: () => void;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,MAAM,eAAe,GAEvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAMtE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAKlB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAK7B,QAAQ,EAAE,OAAO,CAAC;IAKlB,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAIlB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAMpB,mBAAmB,EAAE,OAAO,CAAC;IAM7B,SAAS,EAAE,OAAO,CAAC;IAInB,GAAG,EAAE,MAAM,CAAC;IAKZ,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAMnC,UAAU,CAAC,EAAE,OAAO,CAAC;IAMrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAM3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,mBAAmB,EAAE,YAAY,EAAE,CAAC;IAOvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAOvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAMpC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,5 @@
1
+ // Shared CLI data types. Kept in their own module so the extracted
2
+ // dispatchers (slash.ts, turn.ts) can import them without a cycle back
3
+ // through cli.ts.
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,uEAAuE;AACvE,kBAAkB"}
@@ -0,0 +1,10 @@
1
+ import { JsonRpcClient } from "../ipc/rpc.js";
2
+ import { type JsonRpcNotification } from "../ipc/events.js";
3
+ export interface UiSession {
4
+ pushEvent: (msg: JsonRpcNotification) => Promise<void>;
5
+ rpcClient: JsonRpcClient | null;
6
+ quitPromise: Promise<void>;
7
+ cleanup: () => Promise<void>;
8
+ }
9
+ export declare function openUiSession(needsRpc: boolean): Promise<UiSession>;
10
+ //# sourceMappingURL=uiSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiSession.d.ts","sourceRoot":"","sources":["../../src/cli/uiSession.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CA6DzE"}
@@ -0,0 +1,66 @@
1
+ // omg — in-process Ink UI session, extracted from cli.ts (pure move).
2
+ // Bridges the Ink launcher's outbound channel into an async iterable so
3
+ // a JsonRpcClient can consume tool-gate responses, and surfaces a
4
+ // user/quit promise the run-modes race against.
5
+ import { JsonRpcClient } from "../ipc/rpc.js";
6
+ export async function openUiSession(needsRpc) {
7
+ const { launchInk } = await import("../ui/launcher.js");
8
+ const session = launchInk();
9
+ // Bridge outbound (UI → orchestrator) into an async iterable so the
10
+ // JsonRpcClient can consume responses; also surface user/quit.
11
+ let resolveQuit = null;
12
+ const quitPromise = new Promise((resolve) => {
13
+ resolveQuit = resolve;
14
+ });
15
+ const inbound = [];
16
+ const inboundWaiters = [];
17
+ const pushInbound = (msg) => {
18
+ const w = inboundWaiters.shift();
19
+ if (w)
20
+ w(msg);
21
+ else
22
+ inbound.push(msg);
23
+ };
24
+ session.onOutbound((msg) => {
25
+ if (msg.method === "user/quit") {
26
+ if (resolveQuit) {
27
+ resolveQuit();
28
+ resolveQuit = null;
29
+ }
30
+ return;
31
+ }
32
+ pushInbound(msg);
33
+ });
34
+ let rpcClient = null;
35
+ if (needsRpc) {
36
+ const inboundIter = (async function* () {
37
+ while (true) {
38
+ const next = inbound.length > 0
39
+ ? inbound.shift()
40
+ : await new Promise((resolve) => {
41
+ inboundWaiters.push(resolve);
42
+ });
43
+ if (next === null)
44
+ return;
45
+ yield next;
46
+ }
47
+ })();
48
+ rpcClient = new JsonRpcClient(async () => {
49
+ // No-op: requests are pushed via pushEvent below since the UI's
50
+ // inbound channel is shared between events and requests.
51
+ }, inboundIter);
52
+ }
53
+ return {
54
+ pushEvent: async (msg) => session.push(msg),
55
+ rpcClient,
56
+ quitPromise,
57
+ cleanup: async () => {
58
+ pushInbound(null);
59
+ if (rpcClient !== null)
60
+ await rpcClient.stop();
61
+ session.close();
62
+ await session.waitUntilExit();
63
+ },
64
+ };
65
+ }
66
+ //# sourceMappingURL=uiSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiSession.js","sourceRoot":"","sources":["../../src/cli/uiSession.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,wEAAwE;AACxE,kEAAkE;AAClE,gDAAgD;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAW9C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAiB;IACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,oEAAoE;IACpE,+DAA+D;IAC/D,IAAI,WAAW,GAAwB,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChD,WAAW,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,MAAM,cAAc,GAAuD,EAAE,CAAC;IAC9E,MAAM,WAAW,GAAG,CAAC,GAAmC,EAAQ,EAAE;QAChE,MAAM,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC;YAAE,CAAC,CAAC,GAAG,CAAC,CAAC;;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAK,GAA2B,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC;gBACd,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,OAAO;QACT,CAAC;QACD,WAAW,CAAC,GAAyC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAyB,IAAI,CAAC;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,CAAC,KAAK,SAAS,CAAC;YAClC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAG;oBAClB,CAAC,CAAC,MAAM,IAAI,OAAO,CAAiC,CAAC,OAAO,EAAE,EAAE;wBAC5D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACT,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO;gBAC1B,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,IAAI,EAAE;YACvC,gEAAgE;YAChE,yDAAyD;QAC3D,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAgC,CAAC;QACxE,SAAS;QACT,WAAW;QACX,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,SAAS,KAAK,IAAI;gBAAE,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,128 @@
1
+ #!/usr/bin/env node
2
+ // omg CLI — thin shell. Argument parsing lives in ./cli/args.ts; each
3
+ // scripting run-mode (mcp-serve / demo / orchestrator / team) lives under
4
+ // ./cli/modes/; the interactive Ink REPL lives in ./cli/interactive/.
5
+ // This file only wires argv → run-mode dispatch.
6
+ import { setPlanCapResolver } from "./core/context/usageWindow.js";
7
+ import { planCapResolved } from "./core/state/planConfig.js";
8
+ import { parseArgs } from "./cli/args.js";
9
+ import { runMcpServe } from "./cli/modes/mcpServe.js";
10
+ import { runDemoHeadless, runDemoUi } from "./cli/modes/demo.js";
11
+ import { runOrchestrator } from "./cli/modes/orchestrator.js";
12
+ import { runTeam } from "./cli/modes/team.js";
13
+ import { runLoginCli } from "./cli/modes/login.js";
14
+ import { runDoctorCli } from "./cli/modes/doctor.js";
15
+ import { runInteractive } from "./cli/interactive/index.js";
16
+ async function main(argv) {
17
+ // Phase 82: bind the plan-cap resolver before anything reads it.
18
+ // planCapFor → planCapResolved (env > ~/.omg/plan.json > undefined).
19
+ setPlanCapResolver(planCapResolved);
20
+ const { opts, toolsEnabled, writable, shell, adapterOpts } = parseArgs(argv);
21
+ if (opts.ask && opts.headless) {
22
+ process.stderr.write("--ask requires the UI; drop --headless or remove --ask.\n");
23
+ return 2;
24
+ }
25
+ // Phase 293: `omg login [provider]` — authenticate a provider CLI on
26
+ // the real terminal, then exit. Checked before every other mode since
27
+ // it's a standalone subcommand, not a chat/scripting run.
28
+ if (opts.login !== undefined) {
29
+ return await runLoginCli(opts.login);
30
+ }
31
+ // Phase 344: `omg doctor [--json]` — diagnose provider install/auth and
32
+ // exit. Standalone subcommand, checked before chat/scripting modes.
33
+ if (opts.doctor) {
34
+ return await runDoctorCli({ json: !!opts.doctorJson });
35
+ }
36
+ if (opts.mcpServe) {
37
+ return await runMcpServe({
38
+ writable: !!opts.writeTools,
39
+ shell: !!opts.shellTools,
40
+ mcpAllow: opts.mcpAllow
41
+ ? opts.mcpAllow
42
+ .split(",")
43
+ .map((s) => s.trim())
44
+ .filter(Boolean)
45
+ : undefined,
46
+ mcpProvider: opts.mcpProvider,
47
+ });
48
+ }
49
+ if (opts.teamRun !== undefined) {
50
+ const reviewers = opts.reviewers
51
+ .split(",")
52
+ .map((r) => r.trim())
53
+ .filter(Boolean);
54
+ if (reviewers.length === 0) {
55
+ process.stderr.write("--reviewers must contain at least one role.\n");
56
+ return 2;
57
+ }
58
+ return await runTeam({
59
+ prompt: opts.teamRun,
60
+ provider: opts.provider,
61
+ maxIterations: Number(opts.maxIterations),
62
+ headless: !!opts.headless,
63
+ tools: toolsEnabled,
64
+ writable,
65
+ shell,
66
+ ask: !!opts.ask,
67
+ reviewerRoles: reviewers,
68
+ strategy: opts.strategy,
69
+ adapterOpts,
70
+ });
71
+ }
72
+ if (opts.run !== undefined) {
73
+ return await runOrchestrator({
74
+ prompt: opts.run,
75
+ role: opts.role,
76
+ provider: opts.provider,
77
+ headless: !!opts.headless,
78
+ tools: toolsEnabled,
79
+ writable,
80
+ shell,
81
+ ask: !!opts.ask,
82
+ loop: !!opts.loop,
83
+ maxSteps: Number(opts.maxSteps),
84
+ adapterOpts,
85
+ });
86
+ }
87
+ if (opts.demo && opts.headless) {
88
+ return await runDemoHeadless({ tools: toolsEnabled, writable, shell });
89
+ }
90
+ if (opts.demo) {
91
+ return await runDemoUi({
92
+ tools: toolsEnabled,
93
+ writable,
94
+ shell,
95
+ ask: !!opts.ask,
96
+ });
97
+ }
98
+ if (opts.headless) {
99
+ process.stderr.write("--headless is waiting for a job spec; try --demo --headless or " +
100
+ "--run <PROMPT> --headless.\n");
101
+ return 2;
102
+ }
103
+ // No scripting flag → drop into interactive chat, just like
104
+ // `claude` or `codex` do without args. The user works in the TUI;
105
+ // --run / --team-run / --demo / --mcp-serve stay for scripting.
106
+ // Phase 264: the legacy `--chat` flag is gone — bare omg is the
107
+ // canonical chat entry. To pass a first message, type it after the
108
+ // TUI loads.
109
+ return await runInteractive({
110
+ role: opts.role,
111
+ provider: opts.provider,
112
+ initialPrompt: undefined,
113
+ adapterOpts,
114
+ ask: !!opts.ask,
115
+ });
116
+ }
117
+ // Phase 219 (distribution): top-level catch so a missing provider
118
+ // binary or other startup failure surfaces as a clean one-screen
119
+ // message rather than a Node stack trace that reads like the
120
+ // package itself is broken.
121
+ main(process.argv.slice(2))
122
+ .then((code) => process.exit(code))
123
+ .catch((err) => {
124
+ const msg = err instanceof Error ? err.message : String(err);
125
+ process.stderr.write(`omg: ${msg}\n`);
126
+ process.exit(1);
127
+ });
128
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { type AdapterInput, type Chunk } from "./orchestration/types.js";
2
+ export interface LLMAdapter {
3
+ readonly provider: string;
4
+ stream(input: AdapterInput): AsyncIterable<Chunk>;
5
+ /** Phase 21: optional cooperative cancel. CLI-spawning adapters
6
+ * send SIGTERM to their child; stub adapters can ignore it. */
7
+ cancel?(): void;
8
+ /** Phase 171: the session id captured for `--resume` (CLI adapters
9
+ * with enableSessionResume). Undefined until the first turn lands
10
+ * one, or on adapters that don't resume. */
11
+ readonly currentSessionId?: string;
12
+ /** Drop the captured session so the next stream() starts fresh
13
+ * (e.g. `/clear`). No-op on adapters without sessions. */
14
+ resetSession?(): void;
15
+ /** Arm `--fork-session` for the next call so the provider branches a
16
+ * new session id instead of reusing the current one (claude-cli). */
17
+ forkNext?(): void;
18
+ /** Restore a previously captured session id so the next stream()
19
+ * resumes it (the session picker). No-op without resume support. */
20
+ restoreSession?(sessionId: string): void;
21
+ /** Retarget the working directory the adapter spawns its child
22
+ * process in (the `/cwd` slash command + tab moves). No-op on
23
+ * adapters that don't spawn a child. */
24
+ setCwd?(cwd: string): void;
25
+ /** Switch the model used on subsequent stream() calls (the `/model`
26
+ * slash command). No-op on adapters with a fixed model. */
27
+ setModel?(model: string): void;
28
+ }
29
+ export declare class StubAdapter implements LLMAdapter {
30
+ readonly provider: string;
31
+ private readonly script;
32
+ constructor(script: readonly Chunk[], opts?: {
33
+ provider?: string;
34
+ });
35
+ stream(_input: AdapterInput): AsyncIterable<Chunk>;
36
+ }
37
+ export declare class MultiStepStubAdapter implements LLMAdapter {
38
+ readonly provider: string;
39
+ private readonly scripts;
40
+ private idx;
41
+ constructor(scripts: readonly (readonly Chunk[])[], opts?: {
42
+ provider?: string;
43
+ });
44
+ get stepCount(): number;
45
+ stream(_input: AdapterInput): AsyncIterable<Chunk>;
46
+ }
47
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,KAAK,EAIX,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD;oEACgE;IAChE,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB;;iDAE6C;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;+DAC2D;IAC3D,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB;0EACsE;IACtE,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB;yEACqE;IACrE,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC;;6CAEyC;IACzC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;gEAC4D;IAC5D,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAMD,qBAAa,WAAY,YAAW,UAAU;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAK/D,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;CAI1D;AAED,qBAAa,oBAAqB,YAAW,UAAU;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,GAAG,CAAK;gBAGd,OAAO,EAAE,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EACtC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAMlC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAEM,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;CAW1D"}
@@ -0,0 +1,48 @@
1
+ // LLMAdapter base + StubAdapter + MultiStepStubAdapter.
2
+ //
3
+ // Phase 16 extends the input from `string` to `string | Conversation`.
4
+ // Adapters that support structured multi-turn (real providers) consume
5
+ // the Conversation natively; stubs flatten it back to a string and
6
+ // ignore the content (their script is fixed).
7
+ import { flattenConversation, streamEnd, text as textChunk, } from "./orchestration/types.js";
8
+ function inputToString(input) {
9
+ return typeof input === "string" ? input : flattenConversation(input);
10
+ }
11
+ export class StubAdapter {
12
+ provider;
13
+ script;
14
+ constructor(script, opts = {}) {
15
+ this.provider = opts.provider ?? "stub";
16
+ this.script = [...script];
17
+ }
18
+ async *stream(_input) {
19
+ void inputToString(_input);
20
+ for (const chunk of this.script)
21
+ yield chunk;
22
+ }
23
+ }
24
+ export class MultiStepStubAdapter {
25
+ provider;
26
+ scripts;
27
+ idx = 0;
28
+ constructor(scripts, opts = {}) {
29
+ this.provider = opts.provider ?? "stub";
30
+ this.scripts = scripts.map((s) => [...s]);
31
+ }
32
+ get stepCount() {
33
+ return this.idx;
34
+ }
35
+ async *stream(_input) {
36
+ void inputToString(_input);
37
+ if (this.idx >= this.scripts.length) {
38
+ yield textChunk("(no more scripted steps)");
39
+ yield streamEnd("end_turn");
40
+ return;
41
+ }
42
+ const script = this.scripts[this.idx];
43
+ this.idx += 1;
44
+ for (const chunk of script)
45
+ yield chunk;
46
+ }
47
+ }
48
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,8CAA8C;AAE9C,OAAO,EAGL,mBAAmB,EACnB,SAAS,EACT,IAAI,IAAI,SAAS,GAClB,MAAM,0BAA0B,CAAC;AA8BlC,SAAS,aAAa,CAAC,KAAmB;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,WAAW;IACb,QAAQ,CAAS;IACT,MAAM,CAAmB;IAE1C,YAAY,MAAwB,EAAE,OAA8B,EAAE;QACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAAoB;QAChC,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,KAAK,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACtB,QAAQ,CAAS;IACT,OAAO,CAAgC;IAChD,GAAG,GAAG,CAAC,CAAC;IAEhB,YACE,OAAsC,EACtC,OAA8B,EAAE;QAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAAoB;QAChC,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,SAAS,CAAC,0BAA0B,CAAC,CAAC;YAC5C,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,MAAM,KAAK,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import { type AdapterInput, type Chunk, type ConversationMessage } from "../orchestration/types.js";
2
+ import type { LLMAdapter } from "../adapter.js";
3
+ export interface TranslateAnthropicEventsOpts {
4
+ /** When true (default), yields a StreamEnd on `message_stop` and
5
+ * stops consuming. SDK mode — one assistant message per stream.
6
+ *
7
+ * When false, `message_stop` is silently dropped and the caller is
8
+ * responsible for emitting the final StreamEnd. CLI mode — the Claude
9
+ * Code CLI streams multiple message_start / message_stop pairs when
10
+ * tools execute between turns inside a single `-p` call. */
11
+ endOnMessageStop?: boolean;
12
+ }
13
+ export declare function translateAnthropicEvents(events: AsyncIterable<unknown>, opts?: TranslateAnthropicEventsOpts): AsyncIterable<Chunk>;
14
+ export declare function inputTokenBreakdown(u: Record<string, unknown>): {
15
+ total: number;
16
+ cacheRead: number;
17
+ fresh: number;
18
+ };
19
+ export declare function anthropicMessage(msg: ConversationMessage): Record<string, unknown>;
20
+ export declare class AnthropicAdapter implements LLMAdapter {
21
+ private readonly opts;
22
+ readonly provider = "claude";
23
+ constructor(opts: {
24
+ model: string;
25
+ client?: unknown;
26
+ maxTokens?: number;
27
+ system?: string;
28
+ });
29
+ stream(input: AdapterInput): AsyncIterable<Chunk>;
30
+ /** Public for testing. Renders an AdapterInput into the args dict
31
+ * we hand to `client.messages.stream`. */
32
+ buildArgs(input: AdapterInput): Record<string, unknown>;
33
+ private lazyClient;
34
+ }
35
+ //# sourceMappingURL=anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/anthropic.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,mBAAmB,EAMzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,WAAW,4BAA4B;IAC3C;;;;;;gEAM4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAuB,wBAAwB,CAC7C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAC9B,IAAI,GAAE,4BAAiC,GACtC,aAAa,CAAC,KAAK,CAAC,CAwFtB;AAYD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAiBA;AAMD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,mBAAmB,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BzB;AAGD,qBAAa,gBAAiB,YAAW,UAAU;IAI/C,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,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAGI,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;IAgBxD;8CAC0C;IAC1C,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;YAkBzC,UAAU;CAuBzB"}
@@ -0,0 +1,203 @@
1
+ // Anthropic adapter — maps Anthropic streaming events to omg Chunks.
2
+ //
3
+ // Mirror of legacy/omg/core/adapters/anthropic.py. The translator is
4
+ // pure (no SDK dependency) so unit tests can feed plain mock objects.
5
+ import { streamEnd, text as textChunk, thinking as thinkingChunk, toolUseStart, usage, } from "../orchestration/types.js";
6
+ import { isObject, parseJsonOrEmpty } from "./utils.js";
7
+ export async function* translateAnthropicEvents(events, opts = {}) {
8
+ const pendingTools = new Map();
9
+ let stopReason = "end_turn";
10
+ for await (const ev of events) {
11
+ if (!isObject(ev))
12
+ continue;
13
+ const etype = ev.type;
14
+ if (etype === "content_block_start") {
15
+ const block = ev.content_block;
16
+ const index = ev.index ?? 0;
17
+ if (isObject(block) && block.type === "tool_use") {
18
+ const id = String(block.id ?? "");
19
+ const name = String(block.name ?? "");
20
+ pendingTools.set(index, { id, name, buf: "" });
21
+ }
22
+ }
23
+ else if (etype === "content_block_delta") {
24
+ const delta = ev.delta;
25
+ const index = ev.index ?? 0;
26
+ if (isObject(delta)) {
27
+ const dtype = delta.type;
28
+ if (dtype === "text_delta") {
29
+ const t = String(delta.text ?? "");
30
+ if (t)
31
+ yield textChunk(t);
32
+ }
33
+ else if (dtype === "thinking_delta") {
34
+ // Anthropic extended thinking: surfaced as its own delta
35
+ // type, separate from text_delta. We forward it as a
36
+ // ThinkingChunk so the UI can render it dimmed/collapsed.
37
+ const t = String(delta.thinking ?? "");
38
+ if (t)
39
+ yield thinkingChunk(t);
40
+ }
41
+ else if (dtype === "input_json_delta") {
42
+ const slot = pendingTools.get(index);
43
+ if (slot !== undefined) {
44
+ slot.buf += String(delta.partial_json ?? "");
45
+ }
46
+ }
47
+ }
48
+ }
49
+ else if (etype === "content_block_stop") {
50
+ const index = ev.index ?? 0;
51
+ const slot = pendingTools.get(index);
52
+ if (slot !== undefined) {
53
+ pendingTools.delete(index);
54
+ yield toolUseStart(slot.id, slot.name, parseJsonOrEmpty(slot.buf));
55
+ }
56
+ }
57
+ else if (etype === "message_delta") {
58
+ const delta = ev.delta;
59
+ if (isObject(delta)) {
60
+ const sr = delta.stop_reason;
61
+ if (typeof sr === "string" && sr.length > 0)
62
+ stopReason = sr;
63
+ }
64
+ // Anthropic stamps usage on message_delta (and earlier on
65
+ // message_start). Emit once we see token counts.
66
+ const u = ev.usage;
67
+ if (isObject(u)) {
68
+ const tb = inputTokenBreakdown(u);
69
+ const tout = Number(u.output_tokens ?? 0);
70
+ if (tb.total > 0 || tout > 0)
71
+ yield usage(tb.total, tout, tb.cacheRead, tb.fresh);
72
+ }
73
+ }
74
+ else if (etype === "message_start") {
75
+ const msg = ev.message;
76
+ if (isObject(msg)) {
77
+ const u = msg.usage;
78
+ if (isObject(u)) {
79
+ const tb = inputTokenBreakdown(u);
80
+ const tout = Number(u.output_tokens ?? 0);
81
+ if (tb.total > 0 || tout > 0)
82
+ yield usage(tb.total, tout, tb.cacheRead, tb.fresh);
83
+ }
84
+ }
85
+ }
86
+ else if (etype === "message_stop") {
87
+ if (opts.endOnMessageStop !== false) {
88
+ yield streamEnd(stopReason);
89
+ return;
90
+ }
91
+ // CLI mode: swallow. The outer wrapper emits StreamEnd when
92
+ // the envelope's `result` arrives (or stream ends).
93
+ }
94
+ }
95
+ }
96
+ // Phase 104: Anthropic splits input tokens across three fields when
97
+ // prompt caching is on — input_tokens (the uncached delta),
98
+ // cache_read_input_tokens, and cache_creation_input_tokens. The true
99
+ // context size is the sum; reading input_tokens alone made the status
100
+ // bar's ctx% read ~0% even on a near-full window (the bulk sits in
101
+ // cache_read).
102
+ // Phase 322: split the input tokens so the UI can show what's reused from
103
+ // the prompt cache (cheap) vs new this turn. total = base + cacheRead +
104
+ // cacheCreate (the true context size); fresh = base + cacheCreate (the
105
+ // uncached delta the model actually re-processed this turn).
106
+ export function inputTokenBreakdown(u) {
107
+ const n = (v) => {
108
+ const x = Number(v ?? 0);
109
+ return Number.isFinite(x) ? x : 0;
110
+ };
111
+ const base = n(u.input_tokens);
112
+ const cacheRead = n(u.cache_read_input_tokens);
113
+ const cacheCreate = n(u.cache_creation_input_tokens);
114
+ return {
115
+ total: base + cacheRead + cacheCreate,
116
+ cacheRead,
117
+ fresh: base + cacheCreate,
118
+ };
119
+ }
120
+ // Convert one ConversationMessage to Anthropic's message format.
121
+ // - user text → { role: "user", content: "text" }
122
+ // - assistant text + tool_use → { role: "assistant", content: [{type:"text"}, {type:"tool_use", id, name, input}] }
123
+ // - tool_result → { role: "user", content: [{type:"tool_result", tool_use_id, content: stringified}] }
124
+ export function anthropicMessage(msg) {
125
+ if (msg.role === "user") {
126
+ return { role: "user", content: msg.text };
127
+ }
128
+ if (msg.role === "assistant") {
129
+ const content = [];
130
+ if (msg.text)
131
+ content.push({ type: "text", text: msg.text });
132
+ for (const call of msg.toolCalls) {
133
+ content.push({
134
+ type: "tool_use",
135
+ id: call.toolId,
136
+ name: call.toolName,
137
+ input: { ...call.toolInput },
138
+ });
139
+ }
140
+ return { role: "assistant", content };
141
+ }
142
+ // tool_result rides in a user-role message with a structured content array.
143
+ const resultText = typeof msg.result === "string" ? msg.result : JSON.stringify(msg.result);
144
+ return {
145
+ role: "user",
146
+ content: [
147
+ {
148
+ type: "tool_result",
149
+ tool_use_id: msg.toolId,
150
+ content: resultText,
151
+ },
152
+ ],
153
+ };
154
+ }
155
+ export class AnthropicAdapter {
156
+ opts;
157
+ provider = "claude";
158
+ constructor(opts) {
159
+ this.opts = opts;
160
+ }
161
+ async *stream(input) {
162
+ const client = this.opts.client ?? (await this.lazyClient());
163
+ const args = this.buildArgs(input);
164
+ const events = (await client.messages.stream(args));
165
+ yield* translateAnthropicEvents(events);
166
+ }
167
+ /** Public for testing. Renders an AdapterInput into the args dict
168
+ * we hand to `client.messages.stream`. */
169
+ buildArgs(input) {
170
+ const messages = typeof input === "string"
171
+ ? [{ role: "user", content: input }]
172
+ : input.messages.map(anthropicMessage);
173
+ const args = {
174
+ model: this.opts.model,
175
+ max_tokens: this.opts.maxTokens ?? 1024,
176
+ messages,
177
+ };
178
+ const system = typeof input === "string"
179
+ ? this.opts.system
180
+ : (input.system ?? this.opts.system);
181
+ if (system !== undefined)
182
+ args.system = system;
183
+ return args;
184
+ }
185
+ async lazyClient() {
186
+ // Indirect via a variable so TS doesn't try to resolve the module
187
+ // statically — the SDK is an optional peer dependency.
188
+ const name = "@anthropic-ai/sdk";
189
+ let mod;
190
+ try {
191
+ mod = (await import(name));
192
+ }
193
+ catch (e) {
194
+ throw new Error("@anthropic-ai/sdk not installed; run `npm install @anthropic-ai/sdk`", { cause: e });
195
+ }
196
+ const Anthropic = mod.Anthropic ?? mod.default;
197
+ if (typeof Anthropic !== "function") {
198
+ throw new Error("@anthropic-ai/sdk does not export an Anthropic class");
199
+ }
200
+ return new Anthropic();
201
+ }
202
+ }
203
+ //# sourceMappingURL=anthropic.js.map