@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,32 @@
1
+ import { type Provider } from "./orchestrator.js";
2
+ /** Below this fraction of the window we don't bother. 0.8 leaves room
3
+ * for the next turn's input + response before we hit the hard cap. */
4
+ export declare const DEFAULT_COMPACT_THRESHOLD = 0.8;
5
+ /** Decide whether the running tokensIn warrants an auto-compact. */
6
+ export declare function shouldAutoCompact(tokensIn: number, contextWindow: number | undefined, threshold?: number): boolean;
7
+ /** Pick the cheapest model the provider is known to expose for a
8
+ * one-shot summary task. Falls back to the tab's current model when
9
+ * there's no known cheap alias (an empty model would crash adapters
10
+ * that require one). Mirrors predictNext's choice. */
11
+ export declare function cheapestSummaryModel(provider: string, currentModel: string): string;
12
+ /** Phase 259: a cancel handle the caller can stash on `tab.cancel`
13
+ * so Esc cancels an in-flight compact (which is otherwise opaque
14
+ * to the user — they only see "compacting…" with no way out). The
15
+ * callback is fired exactly once; subsequent calls are no-ops. */
16
+ export interface SummarizeCancel {
17
+ cancel: () => void;
18
+ }
19
+ /** Run the cheap model over `messages` and return the summary text.
20
+ * Empty string on failure or empty output.
21
+ *
22
+ * Phase 259: caller may pass `onCancel` to receive a cancel handle
23
+ * that SIGTERMs the spawned summarizer child. Used by compactTab
24
+ * to wire Esc → cancel.
25
+ */
26
+ export declare function summarizeMessages(messages: ReadonlyArray<{
27
+ role: "user" | "assistant";
28
+ text: string;
29
+ }>, provider: Provider, model: string, baseOpts: Record<string, unknown>, opts?: {
30
+ onCancel?: (handle: SummarizeCancel) => void;
31
+ }): Promise<string>;
32
+ //# sourceMappingURL=compactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../src/core/compactor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG/D;uEACuE;AACvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,GAAE,MAAkC,GAC5C,OAAO,CAIT;AAED;;;uDAGuD;AACvD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CAGR;AAUD;;;mEAGmE;AACnE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;CAAO,GAC1D,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
@@ -0,0 +1,91 @@
1
+ // Phase 182: auto-compact — summarize earlier messages so the next
2
+ // turn fits under the model's context window. The expensive bit
3
+ // (running a cheap LLM to write the summary) lives here as a pure
4
+ // helper; the tab/session manipulation that consumes the summary lives
5
+ // in cli/compactor.ts so this module stays free of CLI types.
6
+ import { makeAdapter } from "./orchestrator.js";
7
+ /** Below this fraction of the window we don't bother. 0.8 leaves room
8
+ * for the next turn's input + response before we hit the hard cap. */
9
+ export const DEFAULT_COMPACT_THRESHOLD = 0.8;
10
+ /** Decide whether the running tokensIn warrants an auto-compact. */
11
+ export function shouldAutoCompact(tokensIn, contextWindow, threshold = DEFAULT_COMPACT_THRESHOLD) {
12
+ if (!contextWindow || contextWindow <= 0)
13
+ return false;
14
+ if (tokensIn <= 0)
15
+ return false;
16
+ return tokensIn / contextWindow >= threshold;
17
+ }
18
+ /** Pick the cheapest model the provider is known to expose for a
19
+ * one-shot summary task. Falls back to the tab's current model when
20
+ * there's no known cheap alias (an empty model would crash adapters
21
+ * that require one). Mirrors predictNext's choice. */
22
+ export function cheapestSummaryModel(provider, currentModel) {
23
+ if (provider === "claude-cli" || provider === "claude")
24
+ return "haiku";
25
+ return currentModel || "";
26
+ }
27
+ const SUMMARY_PROMPT = "You are summarizing the conversation so far so it can be replaced by " +
28
+ "a single condensed turn. Preserve: file paths touched, key decisions, " +
29
+ "outstanding TODOs, error messages, and any code being iterated on. Drop " +
30
+ "small talk and chunks of tool output that aren't load-bearing. Output " +
31
+ "ONLY the summary — no headings, no preamble, no closing remarks. " +
32
+ "Match the user's language.";
33
+ /** Run the cheap model over `messages` and return the summary text.
34
+ * Empty string on failure or empty output.
35
+ *
36
+ * Phase 259: caller may pass `onCancel` to receive a cancel handle
37
+ * that SIGTERMs the spawned summarizer child. Used by compactTab
38
+ * to wire Esc → cancel.
39
+ */
40
+ export async function summarizeMessages(messages, provider, model, baseOpts, opts = {}) {
41
+ if (messages.length === 0)
42
+ return "";
43
+ const cheap = cheapestSummaryModel(provider, model);
44
+ let adapter;
45
+ try {
46
+ adapter = await makeAdapter(provider, cheap, {
47
+ ...baseOpts,
48
+ disableTools: true,
49
+ enableSessionResume: false,
50
+ });
51
+ }
52
+ catch {
53
+ return "";
54
+ }
55
+ // Phase 259: expose the adapter's cancel through the caller's
56
+ // callback. The adapter object exists now (post-makeAdapter), so
57
+ // a cancel landing during the actual stream() will SIGTERM the
58
+ // child immediately. We use a flag to swallow late cancels.
59
+ let cancelled = false;
60
+ opts.onCancel?.({
61
+ cancel: () => {
62
+ cancelled = true;
63
+ adapter?.cancel?.();
64
+ },
65
+ });
66
+ const conv = {
67
+ system: SUMMARY_PROMPT,
68
+ messages: messages.map((m) => m.role === "assistant"
69
+ ? { role: "assistant", text: m.text, toolCalls: [] }
70
+ : { role: "user", text: m.text }),
71
+ };
72
+ const parts = [];
73
+ try {
74
+ const stream = adapter.stream(conv);
75
+ for await (const c of stream) {
76
+ if (cancelled)
77
+ return "";
78
+ if (c.type === "text" && typeof c.text === "string")
79
+ parts.push(c.text);
80
+ if (c.type === "stream_end")
81
+ break;
82
+ }
83
+ }
84
+ catch {
85
+ return "";
86
+ }
87
+ if (cancelled)
88
+ return "";
89
+ return parts.join("").trim();
90
+ }
91
+ //# sourceMappingURL=compactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/core/compactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ConsensusOutcome, LaneVerdict } from "./types.js";
2
+ export interface ConsensusStrategy {
3
+ readonly name: string;
4
+ decide(lanes: readonly LaneVerdict[]): ConsensusOutcome;
5
+ }
6
+ export declare class HierarchyStrategy implements ConsensusStrategy {
7
+ readonly name = "hierarchy";
8
+ private readonly priority;
9
+ constructor(priority: readonly string[]);
10
+ decide(lanes: readonly LaneVerdict[]): ConsensusOutcome;
11
+ }
12
+ export declare class VotingStrategy implements ConsensusStrategy {
13
+ readonly name = "voting";
14
+ decide(lanes: readonly LaneVerdict[]): ConsensusOutcome;
15
+ }
16
+ export declare class DirectorEscalateStrategy implements ConsensusStrategy {
17
+ readonly name = "director_escalate";
18
+ private static readonly SEVERITY;
19
+ decide(lanes: readonly LaneVerdict[]): ConsensusOutcome;
20
+ }
21
+ //# sourceMappingURL=consensusEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensusEngine.d.ts","sourceRoot":"","sources":["../../src/core/consensusEngine.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAW,MAAM,YAAY,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,gBAAgB,CAAC;CACzD;AAED,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAOvC,MAAM,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,gBAAgB;CAsBxD;AAED,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,IAAI,YAAY;IAEzB,MAAM,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,gBAAgB;CAoCxD;AAED,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,QAAQ,CAAC,IAAI,uBAAuB;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAK9B;IAEF,MAAM,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,gBAAgB;CA0BxD"}
@@ -0,0 +1,116 @@
1
+ // Consensus strategies — turn lane verdicts into one outcome (G3).
2
+ //
3
+ // Mirror of legacy/omg/core/consensus_engine.py. Strategies never
4
+ // return null/undefined; an unparseable input yields "escalate".
5
+ export class HierarchyStrategy {
6
+ name = "hierarchy";
7
+ priority;
8
+ constructor(priority) {
9
+ if (priority.length === 0) {
10
+ throw new Error("HierarchyStrategy requires a non-empty priority list");
11
+ }
12
+ this.priority = [...priority];
13
+ }
14
+ decide(lanes) {
15
+ const byLane = new Map();
16
+ for (const lv of lanes)
17
+ byLane.set(lv.lane, lv);
18
+ for (const laneName of this.priority) {
19
+ const lv = byLane.get(laneName);
20
+ if (lv !== undefined) {
21
+ return {
22
+ final: lv.verdict,
23
+ strategy: this.name,
24
+ lanes,
25
+ rationale: `${laneName} ranked highest, voted ${lv.verdict}`,
26
+ };
27
+ }
28
+ }
29
+ const saw = [...byLane.keys()].sort();
30
+ return {
31
+ final: "escalate",
32
+ strategy: this.name,
33
+ lanes,
34
+ rationale: `no priority lane voted (priority=[${this.priority.join(", ")}], saw=[${saw.join(", ")}])`,
35
+ };
36
+ }
37
+ }
38
+ export class VotingStrategy {
39
+ name = "voting";
40
+ decide(lanes) {
41
+ if (lanes.length === 0) {
42
+ return {
43
+ final: "escalate",
44
+ strategy: this.name,
45
+ lanes,
46
+ rationale: "no lane verdicts to count",
47
+ };
48
+ }
49
+ const tally = new Map();
50
+ for (const lv of lanes) {
51
+ tally.set(lv.verdict, (tally.get(lv.verdict) ?? 0) + 1);
52
+ }
53
+ let topCount = 0;
54
+ for (const c of tally.values())
55
+ if (c > topCount)
56
+ topCount = c;
57
+ const winners = [];
58
+ for (const [v, c] of tally)
59
+ if (c === topCount)
60
+ winners.push(v);
61
+ if (winners.length === 1) {
62
+ return {
63
+ final: winners[0],
64
+ strategy: this.name,
65
+ lanes,
66
+ rationale: `plurality ${topCount}/${lanes.length} for ${winners[0]}`,
67
+ };
68
+ }
69
+ const tieList = winners
70
+ .map((v) => `'${v}'`)
71
+ .sort()
72
+ .join(", ");
73
+ return {
74
+ final: "escalate",
75
+ strategy: this.name,
76
+ lanes,
77
+ rationale: `tie at ${topCount} votes among [${tieList}]`,
78
+ };
79
+ }
80
+ }
81
+ export class DirectorEscalateStrategy {
82
+ name = "director_escalate";
83
+ static SEVERITY = [
84
+ "reject",
85
+ "request_rework",
86
+ "escalate",
87
+ "approve",
88
+ ];
89
+ decide(lanes) {
90
+ if (lanes.length === 0) {
91
+ return {
92
+ final: "escalate",
93
+ strategy: this.name,
94
+ lanes,
95
+ rationale: "no lane verdicts; escalating by default",
96
+ };
97
+ }
98
+ const present = new Set(lanes.map((lv) => lv.verdict));
99
+ for (const v of DirectorEscalateStrategy.SEVERITY) {
100
+ if (present.has(v)) {
101
+ const voters = lanes
102
+ .filter((lv) => lv.verdict === v)
103
+ .map((lv) => lv.lane);
104
+ return {
105
+ final: v,
106
+ strategy: this.name,
107
+ lanes,
108
+ rationale: `${v} raised by [${voters.map((s) => `'${s}'`).join(", ")}]`,
109
+ };
110
+ }
111
+ }
112
+ // Unreachable: SEVERITY covers every Verdict.
113
+ throw new Error("Verdict domain drifted; SEVERITY must cover all members");
114
+ }
115
+ }
116
+ //# sourceMappingURL=consensusEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensusEngine.js","sourceRoot":"","sources":["../../src/core/consensusEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type Bundle, type PackResult } from "../orchestration/types.js";
2
+ import type { RoleRouter } from "../orchestration/roleRouter.js";
3
+ export declare function renderBundle(b: Bundle): string;
4
+ export declare function renderElision(b: Bundle, reason: string): string;
5
+ export declare class ContextCompressor {
6
+ private readonly router;
7
+ constructor(router: RoleRouter);
8
+ pack(bundles: readonly Bundle[], role: string): PackResult;
9
+ }
10
+ //# sourceMappingURL=contextCompressor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextCompressor.d.ts","sourceRoot":"","sources":["../../../src/core/context/contextCompressor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAkB,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,IAAI,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;CAmC3D"}
@@ -0,0 +1,54 @@
1
+ // ContextCompressor — bundle-aware packing (G2).
2
+ //
3
+ // Mirror of legacy/omg/core/context_compressor.py. Marker format kept
4
+ // byte-identical so wire dumps and elision detection in tests carry over.
5
+ import { bundleByteSize } from "../orchestration/types.js";
6
+ export function renderBundle(b) {
7
+ const header = `<<< bundle kind=${b.kind} source=${b.source} bytes=${bundleByteSize(b)} >>>`;
8
+ const footer = `<<< end ${b.source} >>>`;
9
+ return `${header}\n${b.body}\n${footer}`;
10
+ }
11
+ export function renderElision(b, reason) {
12
+ return (`<<< elided kind=${b.kind} source=${b.source} ` +
13
+ `bytes=${bundleByteSize(b)} reason=${reason} >>>`);
14
+ }
15
+ export class ContextCompressor {
16
+ router;
17
+ constructor(router) {
18
+ this.router = router;
19
+ }
20
+ pack(bundles, role) {
21
+ const budget = this.router.budgetFor(role);
22
+ const chunks = [];
23
+ const included = [];
24
+ const elided = [];
25
+ let used = 0;
26
+ for (const b of bundles) {
27
+ const rendered = renderBundle(b);
28
+ const sepCost = chunks.length > 0 ? 1 : 0;
29
+ const cost = Buffer.byteLength(rendered, "utf8") + sepCost;
30
+ if (used + cost <= budget) {
31
+ chunks.push(rendered);
32
+ included.push(b);
33
+ used += cost;
34
+ continue;
35
+ }
36
+ const marker = renderElision(b, "budget");
37
+ chunks.push(marker);
38
+ elided.push(b);
39
+ used += Buffer.byteLength(marker, "utf8") + sepCost;
40
+ }
41
+ const text = chunks.join("\n");
42
+ const utf8Used = Buffer.byteLength(text, "utf8");
43
+ return {
44
+ role,
45
+ budget,
46
+ text,
47
+ included,
48
+ elided,
49
+ used: utf8Used,
50
+ overBudget: utf8Used > budget,
51
+ };
52
+ }
53
+ }
54
+ //# sourceMappingURL=contextCompressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextCompressor.js","sourceRoot":"","sources":["../../../src/core/context/contextCompressor.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAE1E,OAAO,EAAgC,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGzF,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,MAAM,UAAU,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7F,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,MAAM,MAAM,CAAC;IACzC,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,MAAc;IACrD,OAAO,CACL,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,MAAM,GAAG;QAC/C,SAAS,cAAc,CAAC,CAAC,CAAC,WAAW,MAAM,MAAM,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,IAAI,CAAC,OAA0B,EAAE,IAAY;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;YAC3D,IAAI,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,IAAI,IAAI,CAAC;gBACb,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO;YACL,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,QAAQ;YACR,MAAM;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,QAAQ,GAAG,MAAM;SAC9B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ /** Context window resolved with a provider fallback: the model's own
2
+ * window when known, else the provider's default (so an empty --model,
3
+ * as `/model codex` uses, still tracks context + triggers auto-compact). */
4
+ export declare function contextWindowForProvider(provider: string, model: string | undefined): number | undefined;
5
+ /** Phase 334: ~4 chars/token estimate of the tokens held by omg's own
6
+ * conversation (tab.messages). Used as the context-occupancy gauge for
7
+ * providers whose usage envelope is cumulative-per-turn (codex) rather
8
+ * than instantaneous. */
9
+ export declare function estimateHistoryTokens(messages: ReadonlyArray<{
10
+ text: string;
11
+ }>): number;
12
+ /** Phase 334: providers whose per-turn `usage.input_tokens` is the SUM
13
+ * across every internal model call in an agentic turn — NOT the
14
+ * instantaneous context size. codex `exec` reports cumulative totals: a
15
+ * 31-tool turn summed to 910K against a 256K window, which omg read as a
16
+ * false "ctx 100%+" and then tried (futilely) to auto-compact every turn.
17
+ * For these providers we gauge context from the carried conversation
18
+ * (estimateHistoryTokens) instead of the reported usage. claude-cli
19
+ * reports the instantaneous input per message, so it stays as-is. */
20
+ export declare function usageIsCumulative(provider: string): boolean;
21
+ /** Return the input-token capacity for a model alias, or undefined
22
+ * when the alias isn't recognized. Suffixes like `[1m]` are honored
23
+ * before the exact-table lookup. */
24
+ export declare function contextWindowFor(model: string | undefined): number | undefined;
25
+ //# sourceMappingURL=contextWindows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextWindows.d.ts","sourceRoot":"","sources":["../../../src/core/context/contextWindows.ts"],"names":[],"mappings":"AAkDA;;6EAE6E;AAC7E,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAEpB;AAED;;;0BAG0B;AAC1B,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACxC,MAAM,CAIR;AAED;;;;;;;sEAOsE;AACtE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;qCAEqC;AACrC,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAepB"}
@@ -0,0 +1,101 @@
1
+ // Phase 36: model-name → context window (input tokens cap).
2
+ //
3
+ // Used by the status bar to show how much of the model's input
4
+ // capacity the running conversation has filled up. Each provider's
5
+ // usage envelope reports input_tokens for the most recent request,
6
+ // which equals "history packed into this turn" — i.e. context-window
7
+ // occupancy.
8
+ //
9
+ // Adding a model: drop a literal in the map, or extend `inferWindow`
10
+ // when the alias deserves substring matching (the major families
11
+ // each carry a stable prefix).
12
+ const EXACT = {
13
+ // Claude — Anthropic publishes 200K context for the 3.5/4.x families.
14
+ // The 1M variant is opt-in (`claude-opus-4-7[1m]` etc.); detected by
15
+ // the "[1m]" suffix below.
16
+ haiku: 200_000,
17
+ sonnet: 200_000,
18
+ opus: 200_000,
19
+ // Codex — `gpt-5-codex` is the current default; older models keep
20
+ // 128K-200K. Codex's config.toml lets users widen via
21
+ // `model_context_window`, so this is a conservative default.
22
+ "gpt-5-codex": 256_000,
23
+ "gpt-5": 256_000,
24
+ o3: 200_000,
25
+ "o3-mini": 200_000,
26
+ o4: 200_000,
27
+ // Gemini — 1M-context flash/pro models are the headline.
28
+ "gemini-3-flash-preview": 1_000_000,
29
+ "gemini-3-flash": 1_000_000,
30
+ "gemini-2-flash": 1_000_000,
31
+ "gemini-2-pro": 1_000_000,
32
+ "gemini-2.5-pro": 1_000_000,
33
+ };
34
+ // Phase 307: per-provider fallback windows. `/model codex` (and gemini)
35
+ // run with an empty --model string (the host CLI picks its own default to
36
+ // dodge alias drift), so contextWindowFor("") is undefined — which
37
+ // silently disabled auto-compact (shouldAutoCompact returns false on an
38
+ // unknown window) AND blanked the ctx% chip for codex tabs, letting them
39
+ // grow until codex-cli itself errors. These defaults restore both.
40
+ const PROVIDER_DEFAULT_WINDOW = {
41
+ "claude-cli": 200_000,
42
+ claude: 200_000,
43
+ "codex-cli": 256_000,
44
+ codex: 256_000,
45
+ "gemini-cli": 1_000_000,
46
+ gemini: 1_000_000,
47
+ };
48
+ /** Context window resolved with a provider fallback: the model's own
49
+ * window when known, else the provider's default (so an empty --model,
50
+ * as `/model codex` uses, still tracks context + triggers auto-compact). */
51
+ export function contextWindowForProvider(provider, model) {
52
+ return contextWindowFor(model) ?? PROVIDER_DEFAULT_WINDOW[provider];
53
+ }
54
+ /** Phase 334: ~4 chars/token estimate of the tokens held by omg's own
55
+ * conversation (tab.messages). Used as the context-occupancy gauge for
56
+ * providers whose usage envelope is cumulative-per-turn (codex) rather
57
+ * than instantaneous. */
58
+ export function estimateHistoryTokens(messages) {
59
+ let chars = 0;
60
+ for (const m of messages)
61
+ chars += m.text.length;
62
+ return Math.round(chars / 4);
63
+ }
64
+ /** Phase 334: providers whose per-turn `usage.input_tokens` is the SUM
65
+ * across every internal model call in an agentic turn — NOT the
66
+ * instantaneous context size. codex `exec` reports cumulative totals: a
67
+ * 31-tool turn summed to 910K against a 256K window, which omg read as a
68
+ * false "ctx 100%+" and then tried (futilely) to auto-compact every turn.
69
+ * For these providers we gauge context from the carried conversation
70
+ * (estimateHistoryTokens) instead of the reported usage. claude-cli
71
+ * reports the instantaneous input per message, so it stays as-is. */
72
+ export function usageIsCumulative(provider) {
73
+ return provider === "codex-cli" || provider === "codex";
74
+ }
75
+ /** Return the input-token capacity for a model alias, or undefined
76
+ * when the alias isn't recognized. Suffixes like `[1m]` are honored
77
+ * before the exact-table lookup. */
78
+ export function contextWindowFor(model) {
79
+ if (!model)
80
+ return undefined;
81
+ // 1M opt-in suffix (Anthropic).
82
+ if (/\[1m\]$/i.test(model))
83
+ return 1_000_000;
84
+ // Strip a trailing variant tag (e.g. claude-opus-4-7-20250101) and
85
+ // peel toward the family name.
86
+ const lower = model.toLowerCase();
87
+ if (EXACT[lower] !== undefined)
88
+ return EXACT[lower];
89
+ // Phase 165: match longest key first, and prefer a prefix match over a
90
+ // looser substring match — otherwise a short key (e.g. "gpt-5") could
91
+ // win over a more specific one ("gpt-5-codex") just by appearing first.
92
+ const keys = Object.keys(EXACT).sort((a, b) => b.length - a.length);
93
+ for (const key of keys)
94
+ if (lower.startsWith(key))
95
+ return EXACT[key];
96
+ for (const key of keys)
97
+ if (lower.includes(key))
98
+ return EXACT[key];
99
+ return undefined;
100
+ }
101
+ //# sourceMappingURL=contextWindows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextWindows.js","sourceRoot":"","sources":["../../../src/core/context/contextWindows.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,+DAA+D;AAC/D,mEAAmE;AACnE,mEAAmE;AACnE,qEAAqE;AACrE,aAAa;AACb,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,+BAA+B;AAE/B,MAAM,KAAK,GAA2B;IACpC,sEAAsE;IACtE,qEAAqE;IACrE,2BAA2B;IAC3B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,OAAO;IACb,kEAAkE;IAClE,sDAAsD;IACtD,6DAA6D;IAC7D,aAAa,EAAE,OAAO;IACtB,OAAO,EAAE,OAAO;IAChB,EAAE,EAAE,OAAO;IACX,SAAS,EAAE,OAAO;IAClB,EAAE,EAAE,OAAO;IACX,yDAAyD;IACzD,wBAAwB,EAAE,SAAS;IACnC,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;CAC5B,CAAC;AAEF,wEAAwE;AACxE,0EAA0E;AAC1E,mEAAmE;AACnE,wEAAwE;AACxE,yEAAyE;AACzE,mEAAmE;AACnE,MAAM,uBAAuB,GAA2B;IACtD,YAAY,EAAE,OAAO;IACrB,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF;;6EAE6E;AAC7E,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,KAAyB;IAEzB,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED;;;0BAG0B;AAC1B,MAAM,UAAU,qBAAqB,CACnC,QAAyC;IAEzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;sEAOsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,OAAO,CAAC;AAC1D,CAAC;AAED;;qCAEqC;AACrC,MAAM,UAAU,gBAAgB,CAC9B,KAAyB;IAEzB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,gCAAgC;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,mEAAmE;IACnE,+BAA+B;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { type Provider } from "../orchestration/orchestrator.js";
2
+ /** Below this fraction of the window we don't bother. 0.8 leaves room
3
+ * for the next turn's input + response before we hit the hard cap. */
4
+ export declare const DEFAULT_COMPACT_THRESHOLD = 0.8;
5
+ /** Phase 333 (W5): codex compacts earlier than claude. GPT-family context
6
+ * degrades noticeably in the back half of the window (opencode triggers
7
+ * ~latest, but Gemini at 50% and the research consensus is that GPT/codex
8
+ * benefits from earlier condensing), and codex `exec` can't recover once
9
+ * it overflows (#16033) — so leave more headroom. */
10
+ export declare const CODEX_COMPACT_THRESHOLD = 0.7;
11
+ /** Phase 322 (T2) → 333 (W5): the auto-compact threshold. Overridable via
12
+ * OMG_AUTOCOMPACT_PCT (a percent, 5–98); the env value wins for every
13
+ * provider. Absent an override, codex gets the earlier CODEX threshold
14
+ * and everything else the default. Invalid values fall back to default. */
15
+ export declare function compactThreshold(provider?: string): number;
16
+ /** Decide whether the running tokensIn warrants an auto-compact. */
17
+ export declare function shouldAutoCompact(tokensIn: number, contextWindow: number | undefined, threshold?: number): boolean;
18
+ /** Worst-case auto-compact budget. A 200K-token history through
19
+ * claude-cli/haiku has been observed taking ~5 min, so the normal cap
20
+ * is generous. */
21
+ export declare const COMPACT_TIMEOUT_MS = 300000;
22
+ /** Phase 313: a compact spawns a *second* CLI that shares the provider's
23
+ * quota. While the provider is rate-limited that call gets throttled to
24
+ * a crawl (observed: ~26 output tokens in 4.5 min) and would otherwise
25
+ * burn the full COMPACT_TIMEOUT_MS before falling through. Cap it far
26
+ * lower so the user waits seconds, not minutes, for the inevitable
27
+ * fall-through to full context. */
28
+ export declare const RATE_LIMITED_COMPACT_TIMEOUT_MS = 45000;
29
+ /** Auto-compact timeout for the current tab. Shortened when the provider
30
+ * last reported a non-normal rate-limit status (any non-empty string —
31
+ * "allowed_warning" / "rejected" / …); undefined means normal. */
32
+ export declare function compactTimeoutMs(rateLimitStatus: string | undefined): number;
33
+ /** Pick the cheapest model the provider is known to expose for a
34
+ * one-shot summary task. Falls back to the tab's current model when
35
+ * there's no known cheap alias (an empty model would crash adapters
36
+ * that require one). Mirrors predictNext's choice. */
37
+ export declare function cheapestSummaryModel(provider: string, currentModel: string): string;
38
+ export declare function summaryTarget(provider: Provider, currentModel: string): {
39
+ provider: Provider;
40
+ model: string;
41
+ };
42
+ /** Phase 259: a cancel handle the caller can stash on `tab.cancel`
43
+ * so Esc cancels an in-flight compact (which is otherwise opaque
44
+ * to the user — they only see "compacting…" with no way out). The
45
+ * callback is fired exactly once; subsequent calls are no-ops. */
46
+ export interface SummarizeCancel {
47
+ cancel: () => void;
48
+ }
49
+ /** Run the cheap model over `messages` and return the summary text.
50
+ * Empty string on failure or empty output.
51
+ *
52
+ * Phase 259: caller may pass `onCancel` to receive a cancel handle
53
+ * that SIGTERMs the spawned summarizer child. Used by compactTab
54
+ * to wire Esc → cancel.
55
+ */
56
+ export declare function summarizeMessages(messages: ReadonlyArray<{
57
+ role: "user" | "assistant";
58
+ text: string;
59
+ }>, provider: Provider, model: string, baseOpts: Record<string, unknown>, opts?: {
60
+ onCancel?: (handle: SummarizeCancel) => void;
61
+ systemPrompt?: string;
62
+ onProgress?: (chars: number) => void;
63
+ focus?: string;
64
+ }): Promise<string>;
65
+ //# sourceMappingURL=summarizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../../src/core/context/summarizer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAG9E;uEACuE;AACvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;sDAIsD;AACtD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAM3C;;;4EAG4E;AAC5E,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,GAAE,MAA2B,GACrC,OAAO,CAIT;AAED;;mBAEmB;AACnB,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C;;;;;oCAKoC;AACpC,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD;;mEAEmE;AACnE,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI5E;AAED;;;uDAGuD;AACvD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CAGR;AAUD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,GACnB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmBvC;AAyBD;;;mEAGmE;AACnE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAG7C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGrC,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,OAAO,CAAC,MAAM,CAAC,CA8DjB"}