@evalops/maestro 0.10.51 → 0.10.53

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 (1502) hide show
  1. package/README.md +1 -3
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js.map +1 -1
  4. package/dist/agent/compaction.d.ts.map +1 -1
  5. package/dist/agent/compaction.js +1 -1
  6. package/dist/agent/compaction.js.map +1 -1
  7. package/dist/agent/context-handoff.d.ts.map +1 -1
  8. package/dist/agent/context-handoff.js +2 -1
  9. package/dist/agent/context-handoff.js.map +1 -1
  10. package/dist/agent/index.d.ts +8 -1
  11. package/dist/agent/index.d.ts.map +1 -1
  12. package/dist/agent/index.js +8 -1
  13. package/dist/agent/index.js.map +1 -1
  14. package/dist/agent/modes.d.ts +1 -1
  15. package/dist/agent/modes.d.ts.map +1 -1
  16. package/dist/agent/modes.js +56 -0
  17. package/dist/agent/modes.js.map +1 -1
  18. package/dist/agent/oracle-consultation-policy.d.ts +22 -0
  19. package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
  20. package/dist/agent/oracle-consultation-policy.js +72 -0
  21. package/dist/agent/oracle-consultation-policy.js.map +1 -0
  22. package/dist/agent/oracle-policy-experiment.d.ts +27 -0
  23. package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
  24. package/dist/agent/oracle-policy-experiment.js +59 -0
  25. package/dist/agent/oracle-policy-experiment.js.map +1 -0
  26. package/dist/agent/oracle-policy-rollout.d.ts +42 -0
  27. package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
  28. package/dist/agent/oracle-policy-rollout.js +80 -0
  29. package/dist/agent/oracle-policy-rollout.js.map +1 -0
  30. package/dist/agent/plugin-agent-api.d.ts +13 -0
  31. package/dist/agent/plugin-agent-api.d.ts.map +1 -0
  32. package/dist/agent/plugin-agent-api.js +11 -0
  33. package/dist/agent/plugin-agent-api.js.map +1 -0
  34. package/dist/agent/plugin-agent-loader.d.ts +17 -0
  35. package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
  36. package/dist/agent/plugin-agent-loader.js +81 -0
  37. package/dist/agent/plugin-agent-loader.js.map +1 -0
  38. package/dist/agent/plugin-agent-registry.d.ts +62 -0
  39. package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
  40. package/dist/agent/plugin-agent-registry.js +109 -0
  41. package/dist/agent/plugin-agent-registry.js.map +1 -0
  42. package/dist/agent/profile-loader.d.ts +7 -0
  43. package/dist/agent/profile-loader.d.ts.map +1 -0
  44. package/dist/agent/profile-loader.js +115 -0
  45. package/dist/agent/profile-loader.js.map +1 -0
  46. package/dist/agent/profiles.d.ts +30 -0
  47. package/dist/agent/profiles.d.ts.map +1 -0
  48. package/dist/agent/profiles.js +146 -0
  49. package/dist/agent/profiles.js.map +1 -0
  50. package/dist/agent/prompt-cache.d.ts +0 -4
  51. package/dist/agent/prompt-cache.d.ts.map +1 -1
  52. package/dist/agent/prompt-cache.js +1 -7
  53. package/dist/agent/prompt-cache.js.map +1 -1
  54. package/dist/agent/providers/google-gemini-cli.js +1 -0
  55. package/dist/agent/providers/google.js +1 -0
  56. package/dist/agent/providers/vertex.js +1 -0
  57. package/dist/agent/routing-receipt.d.ts +34 -0
  58. package/dist/agent/routing-receipt.d.ts.map +1 -0
  59. package/dist/agent/routing-receipt.js +55 -0
  60. package/dist/agent/routing-receipt.js.map +1 -0
  61. package/dist/{skills/artifact-metadata.d.ts → agent/skill-artifact-metadata.d.ts} +2 -4
  62. package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
  63. package/dist/{skills/artifact-metadata.js → agent/skill-artifact-metadata.js} +1 -38
  64. package/dist/agent/skill-artifact-metadata.js.map +1 -0
  65. package/dist/agent/subagent-specs.d.ts +1 -1
  66. package/dist/agent/subagent-specs.js +2 -2
  67. package/dist/agent/subagent-specs.js.map +1 -1
  68. package/dist/agent/token-counter.d.ts +40 -0
  69. package/dist/agent/token-counter.d.ts.map +1 -0
  70. package/dist/agent/token-counter.js +74 -0
  71. package/dist/agent/token-counter.js.map +1 -0
  72. package/dist/agent/transport/events.d.ts +1 -1
  73. package/dist/agent/transport/events.d.ts.map +1 -1
  74. package/dist/agent/transport/events.js +1 -1
  75. package/dist/agent/transport/events.js.map +1 -1
  76. package/dist/agent/types.d.ts +4 -2
  77. package/dist/agent/types.d.ts.map +1 -1
  78. package/dist/agent/types.js.map +1 -1
  79. package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
  80. package/dist/app-server/plugin-bundle-api.js +1 -0
  81. package/dist/app-server/plugin-bundle-api.js.map +1 -1
  82. package/dist/app-server/session-api.d.ts.map +1 -1
  83. package/dist/app-server/session-api.js +15 -2
  84. package/dist/app-server/session-api.js.map +1 -1
  85. package/dist/audit/logger.d.ts +5 -5
  86. package/dist/cli/args.d.ts +2 -0
  87. package/dist/cli/args.d.ts.map +1 -1
  88. package/dist/cli/args.js +18 -1
  89. package/dist/cli/args.js.map +1 -1
  90. package/dist/cli/direct-runtime-command.d.ts +1 -0
  91. package/dist/cli/direct-runtime-command.d.ts.map +1 -1
  92. package/dist/cli/direct-runtime-command.js +25 -3
  93. package/dist/cli/direct-runtime-command.js.map +1 -1
  94. package/dist/cli/headless.d.ts +3 -19
  95. package/dist/cli/headless.d.ts.map +1 -1
  96. package/dist/cli/headless.js +8 -619
  97. package/dist/cli/headless.js.map +1 -1
  98. package/dist/cli/help.d.ts.map +1 -1
  99. package/dist/cli/help.js +3 -0
  100. package/dist/cli/help.js.map +1 -1
  101. package/dist/cli/native-tui-launcher.d.ts +126 -0
  102. package/dist/cli/native-tui-launcher.d.ts.map +1 -0
  103. package/dist/cli/native-tui-launcher.js +425 -0
  104. package/dist/cli/native-tui-launcher.js.map +1 -0
  105. package/dist/cli/rpc-mode.d.ts +3 -27
  106. package/dist/cli/rpc-mode.d.ts.map +1 -1
  107. package/dist/cli/rpc-mode.js +8 -177
  108. package/dist/cli/rpc-mode.js.map +1 -1
  109. package/dist/cli/session.d.ts +11 -19
  110. package/dist/cli/session.d.ts.map +1 -1
  111. package/dist/cli/session.js +6 -64
  112. package/dist/cli/session.js.map +1 -1
  113. package/dist/cli-command-runtime.d.ts.map +1 -1
  114. package/dist/cli-command-runtime.js +26 -24
  115. package/dist/cli-command-runtime.js.map +1 -1
  116. package/dist/cli-runtime.js +52529 -137615
  117. package/dist/config/env-vars.d.ts +12 -0
  118. package/dist/config/env-vars.d.ts.map +1 -1
  119. package/dist/config/env-vars.js +12 -0
  120. package/dist/config/env-vars.js.map +1 -1
  121. package/dist/{cli-tui → config}/ui-state.d.ts +6 -1
  122. package/dist/config/ui-state.d.ts.map +1 -0
  123. package/dist/{cli-tui → config}/ui-state.js +1 -1
  124. package/dist/config/ui-state.js.map +1 -0
  125. package/dist/context/repo-map.d.ts.map +1 -1
  126. package/dist/context/repo-map.js +1 -7
  127. package/dist/context/repo-map.js.map +1 -1
  128. package/dist/context/token-optimizer.d.ts.map +1 -1
  129. package/dist/context/token-optimizer.js +1 -8
  130. package/dist/context/token-optimizer.js.map +1 -1
  131. package/dist/db/schema.d.ts +2 -2
  132. package/dist/hooks/notification-hooks.d.ts +1 -1
  133. package/dist/hooks/notification-hooks.d.ts.map +1 -1
  134. package/dist/hooks/notification-hooks.js.map +1 -1
  135. package/dist/hooks/tui-surface.d.ts +35 -0
  136. package/dist/hooks/tui-surface.d.ts.map +1 -0
  137. package/dist/hooks/tui-surface.js +11 -0
  138. package/dist/hooks/tui-surface.js.map +1 -0
  139. package/dist/hooks/types.d.ts +2 -1
  140. package/dist/hooks/types.d.ts.map +1 -1
  141. package/dist/hooks/types.js.map +1 -1
  142. package/dist/hooks/typescript-loader.d.ts.map +1 -1
  143. package/dist/hooks/typescript-loader.js.map +1 -1
  144. package/dist/hooks/ui-context.d.ts.map +1 -1
  145. package/dist/hooks/ui-context.js.map +1 -1
  146. package/dist/main.d.ts.map +1 -1
  147. package/dist/main.js +154 -882
  148. package/dist/main.js.map +1 -1
  149. package/dist/models/config-loader.d.ts +5 -5
  150. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +45 -0
  151. package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  152. package/dist/node_modules/@evalops/contracts/dist/index.js +2 -0
  153. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  154. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
  155. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
  156. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
  157. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
  158. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
  159. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
  160. package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
  161. package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
  162. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
  163. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
  164. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
  165. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
  166. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  167. package/dist/packages/discovery.d.ts.map +1 -1
  168. package/dist/packages/discovery.js +1 -0
  169. package/dist/packages/discovery.js.map +1 -1
  170. package/dist/packages/inspection.d.ts.map +1 -1
  171. package/dist/packages/inspection.js +7 -1
  172. package/dist/packages/inspection.js.map +1 -1
  173. package/dist/packages/loader.d.ts.map +1 -1
  174. package/dist/packages/loader.js +8 -1
  175. package/dist/packages/loader.js.map +1 -1
  176. package/dist/packages/runtime.d.ts +1 -0
  177. package/dist/packages/runtime.d.ts.map +1 -1
  178. package/dist/packages/runtime.js +9 -1
  179. package/dist/packages/runtime.js.map +1 -1
  180. package/dist/packages/types.d.ts +6 -0
  181. package/dist/packages/types.d.ts.map +1 -1
  182. package/dist/packages/types.js.map +1 -1
  183. package/dist/runtime/agent-runtime.d.ts +22 -6
  184. package/dist/runtime/agent-runtime.d.ts.map +1 -1
  185. package/dist/runtime/agent-runtime.js +1 -1
  186. package/dist/runtime/agent-runtime.js.map +1 -1
  187. package/dist/runtime/env.d.ts +1 -0
  188. package/dist/runtime/env.d.ts.map +1 -1
  189. package/dist/runtime/env.js +1 -0
  190. package/dist/runtime/env.js.map +1 -1
  191. package/dist/{cli-tui → runtime}/prompt-queue.d.ts.map +1 -1
  192. package/dist/{cli-tui → runtime}/prompt-queue.js.map +1 -1
  193. package/dist/server/handlers/chat-ws.d.ts +2 -1
  194. package/dist/server/handlers/chat-ws.d.ts.map +1 -1
  195. package/dist/server/handlers/chat-ws.js +150 -5
  196. package/dist/server/handlers/chat-ws.js.map +1 -1
  197. package/dist/server/handlers/chat.d.ts.map +1 -1
  198. package/dist/server/handlers/chat.js +78 -5
  199. package/dist/server/handlers/chat.js.map +1 -1
  200. package/dist/server/handlers/package.d.ts.map +1 -1
  201. package/dist/server/handlers/package.js +1 -0
  202. package/dist/server/handlers/package.js.map +1 -1
  203. package/dist/server/handlers/queue.js +1 -1
  204. package/dist/server/handlers/queue.js.map +1 -1
  205. package/dist/server/handlers/ui.js +1 -1
  206. package/dist/server/handlers/ui.js.map +1 -1
  207. package/dist/server/handlers/zen.js +1 -1
  208. package/dist/server/handlers/zen.js.map +1 -1
  209. package/dist/server/hosted-session-manager.d.ts +3 -0
  210. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  211. package/dist/server/hosted-session-manager.js +26 -0
  212. package/dist/server/hosted-session-manager.js.map +1 -1
  213. package/dist/server/model-selection.d.ts +1 -0
  214. package/dist/server/model-selection.d.ts.map +1 -1
  215. package/dist/server/model-selection.js +4 -0
  216. package/dist/server/model-selection.js.map +1 -1
  217. package/dist/server/session-serialization.d.ts.map +1 -1
  218. package/dist/server/session-serialization.js +3 -0
  219. package/dist/server/session-serialization.js.map +1 -1
  220. package/dist/server/session-timeline.d.ts.map +1 -1
  221. package/dist/server/session-timeline.js +1 -1
  222. package/dist/server/session-timeline.js.map +1 -1
  223. package/dist/server/sse-session.d.ts +2 -0
  224. package/dist/server/sse-session.d.ts.map +1 -1
  225. package/dist/server/sse-session.js +3 -0
  226. package/dist/server/sse-session.js.map +1 -1
  227. package/dist/server/stores/ui-store.d.ts +1 -1
  228. package/dist/server/stores/ui-store.d.ts.map +1 -1
  229. package/dist/server/stores/ui-store.js.map +1 -1
  230. package/dist/server/utils/token-estimator.d.ts +2 -2
  231. package/dist/server/utils/token-estimator.d.ts.map +1 -1
  232. package/dist/server/utils/token-estimator.js +2 -12
  233. package/dist/server/utils/token-estimator.js.map +1 -1
  234. package/dist/server/validation.d.ts +54 -0
  235. package/dist/server/validation.d.ts.map +1 -1
  236. package/dist/services/image-providers/cost.d.ts +70 -0
  237. package/dist/services/image-providers/cost.d.ts.map +1 -0
  238. package/dist/services/image-providers/cost.js +164 -0
  239. package/dist/services/image-providers/cost.js.map +1 -0
  240. package/dist/services/image-providers/flux.d.ts +40 -0
  241. package/dist/services/image-providers/flux.d.ts.map +1 -0
  242. package/dist/services/image-providers/flux.js +99 -0
  243. package/dist/services/image-providers/flux.js.map +1 -0
  244. package/dist/services/image-providers/index.d.ts +24 -0
  245. package/dist/services/image-providers/index.d.ts.map +1 -0
  246. package/dist/services/image-providers/index.js +27 -0
  247. package/dist/services/image-providers/index.js.map +1 -0
  248. package/dist/services/image-providers/masks.d.ts +51 -0
  249. package/dist/services/image-providers/masks.d.ts.map +1 -0
  250. package/dist/services/image-providers/masks.js +132 -0
  251. package/dist/services/image-providers/masks.js.map +1 -0
  252. package/dist/services/image-providers/openai.d.ts +35 -0
  253. package/dist/services/image-providers/openai.d.ts.map +1 -0
  254. package/dist/services/image-providers/openai.js +93 -0
  255. package/dist/services/image-providers/openai.js.map +1 -0
  256. package/dist/services/image-providers/types.d.ts +61 -0
  257. package/dist/services/image-providers/types.d.ts.map +1 -0
  258. package/dist/services/image-providers/types.js +17 -0
  259. package/dist/services/image-providers/types.js.map +1 -0
  260. package/dist/services/intelligent-router/index.d.ts +1 -0
  261. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  262. package/dist/services/intelligent-router/index.js +1 -0
  263. package/dist/services/intelligent-router/index.js.map +1 -1
  264. package/dist/services/intelligent-router/normalize.d.ts +1 -0
  265. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  266. package/dist/services/intelligent-router/normalize.js +17 -0
  267. package/dist/services/intelligent-router/normalize.js.map +1 -1
  268. package/dist/services/intelligent-router/outcome.d.ts +19 -0
  269. package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
  270. package/dist/services/intelligent-router/outcome.js +51 -0
  271. package/dist/services/intelligent-router/outcome.js.map +1 -0
  272. package/dist/services/intelligent-router/recorder.d.ts +2 -0
  273. package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
  274. package/dist/services/intelligent-router/recorder.js +72 -1
  275. package/dist/services/intelligent-router/recorder.js.map +1 -1
  276. package/dist/services/intelligent-router/service.d.ts +1 -0
  277. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  278. package/dist/services/intelligent-router/service.js +60 -11
  279. package/dist/services/intelligent-router/service.js.map +1 -1
  280. package/dist/services/intelligent-router/types.d.ts +18 -0
  281. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  282. package/dist/services/intelligent-router/types.js.map +1 -1
  283. package/dist/services/workspace-config/middleware.d.ts +2 -0
  284. package/dist/services/workspace-config/middleware.d.ts.map +1 -1
  285. package/dist/services/workspace-config/middleware.js +25 -28
  286. package/dist/services/workspace-config/middleware.js.map +1 -1
  287. package/dist/session/agent-lineage-projection.d.ts +30 -0
  288. package/dist/session/agent-lineage-projection.d.ts.map +1 -0
  289. package/dist/session/agent-lineage-projection.js +109 -0
  290. package/dist/session/agent-lineage-projection.js.map +1 -0
  291. package/dist/session/manager.d.ts +3 -0
  292. package/dist/session/manager.d.ts.map +1 -1
  293. package/dist/session/manager.js +24 -0
  294. package/dist/session/manager.js.map +1 -1
  295. package/dist/session/session-graph-projection.d.ts +11 -0
  296. package/dist/session/session-graph-projection.d.ts.map +1 -1
  297. package/dist/session/session-graph-projection.js +28 -0
  298. package/dist/session/session-graph-projection.js.map +1 -1
  299. package/dist/session/types.d.ts +2 -0
  300. package/dist/session/types.d.ts.map +1 -1
  301. package/dist/session/types.js.map +1 -1
  302. package/dist/telemetry/maestro-event-bus.d.ts +1 -1
  303. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  304. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  305. package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
  306. package/dist/telemetry/oracle-policy.d.ts +6 -0
  307. package/dist/telemetry/oracle-policy.d.ts.map +1 -0
  308. package/dist/telemetry/oracle-policy.js +17 -0
  309. package/dist/telemetry/oracle-policy.js.map +1 -0
  310. package/dist/telemetry/wide-events.d.ts +1 -1
  311. package/dist/telemetry/wide-events.d.ts.map +1 -1
  312. package/dist/telemetry/wide-events.js.map +1 -1
  313. package/dist/theme/theme.d.ts +2 -8
  314. package/dist/theme/theme.d.ts.map +1 -1
  315. package/dist/theme/theme.js +7 -0
  316. package/dist/theme/theme.js.map +1 -1
  317. package/dist/theme/tui-theme-helpers.d.ts +2 -1
  318. package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
  319. package/dist/theme/tui-theme-helpers.js.map +1 -1
  320. package/dist/theme/tui-theme-types.d.ts +39 -0
  321. package/dist/theme/tui-theme-types.d.ts.map +1 -0
  322. package/dist/theme/tui-theme-types.js +10 -0
  323. package/dist/theme/tui-theme-types.js.map +1 -0
  324. package/dist/tools/index.d.ts +199 -160
  325. package/dist/tools/index.d.ts.map +1 -1
  326. package/dist/tools/index.js +4 -0
  327. package/dist/tools/index.js.map +1 -1
  328. package/dist/tools/lazy-registry.d.ts.map +1 -1
  329. package/dist/tools/lazy-registry.js +1 -0
  330. package/dist/tools/lazy-registry.js.map +1 -1
  331. package/dist/tools/oracle.d.ts +9 -0
  332. package/dist/tools/oracle.d.ts.map +1 -1
  333. package/dist/tools/oracle.js +26 -24
  334. package/dist/tools/oracle.js.map +1 -1
  335. package/dist/tools/painter.d.ts +73 -0
  336. package/dist/tools/painter.d.ts.map +1 -0
  337. package/dist/tools/painter.js +283 -0
  338. package/dist/tools/painter.js.map +1 -0
  339. package/dist/tools/typebox-tool.d.ts.map +1 -1
  340. package/dist/tools/typebox-tool.js +1 -1
  341. package/dist/tools/typebox-tool.js.map +1 -1
  342. package/dist/utils/terminal-image.d.ts +52 -0
  343. package/dist/utils/terminal-image.d.ts.map +1 -0
  344. package/dist/utils/terminal-image.js +95 -0
  345. package/dist/utils/terminal-image.js.map +1 -0
  346. package/dist/utils/terminal-text.d.ts +11 -0
  347. package/dist/utils/terminal-text.d.ts.map +1 -0
  348. package/dist/utils/terminal-text.js +21 -0
  349. package/dist/utils/terminal-text.js.map +1 -0
  350. package/dist/version.json +2 -2
  351. package/dist/web-server.d.ts.map +1 -1
  352. package/dist/web-server.js +24 -2
  353. package/dist/web-server.js.map +1 -1
  354. package/package.json +13 -11
  355. package/skills/incident-triage/SKILL.md +4 -3
  356. package/dist/cli/commands/agents.d.ts +0 -24
  357. package/dist/cli/commands/agents.d.ts.map +0 -1
  358. package/dist/cli/commands/agents.js +0 -429
  359. package/dist/cli/commands/agents.js.map +0 -1
  360. package/dist/cli/commands/anthropic.d.ts +0 -2
  361. package/dist/cli/commands/anthropic.d.ts.map +0 -1
  362. package/dist/cli/commands/anthropic.js +0 -6
  363. package/dist/cli/commands/anthropic.js.map +0 -1
  364. package/dist/cli/commands/cost.d.ts +0 -13
  365. package/dist/cli/commands/cost.d.ts.map +0 -1
  366. package/dist/cli/commands/cost.js +0 -143
  367. package/dist/cli/commands/cost.js.map +0 -1
  368. package/dist/cli/commands/exec-constants.d.ts +0 -3
  369. package/dist/cli/commands/exec-constants.d.ts.map +0 -1
  370. package/dist/cli/commands/exec-constants.js +0 -3
  371. package/dist/cli/commands/exec-constants.js.map +0 -1
  372. package/dist/cli/commands/exec.d.ts +0 -19
  373. package/dist/cli/commands/exec.d.ts.map +0 -1
  374. package/dist/cli/commands/exec.js +0 -207
  375. package/dist/cli/commands/exec.js.map +0 -1
  376. package/dist/cli/commands/hooks.d.ts +0 -2
  377. package/dist/cli/commands/hooks.d.ts.map +0 -1
  378. package/dist/cli/commands/hooks.js +0 -25
  379. package/dist/cli/commands/hooks.js.map +0 -1
  380. package/dist/cli/commands/hosted-runner.d.ts +0 -25
  381. package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
  382. package/dist/cli/commands/hosted-runner.js +0 -278
  383. package/dist/cli/commands/hosted-runner.js.map +0 -1
  384. package/dist/cli/commands/memory.d.ts +0 -2
  385. package/dist/cli/commands/memory.d.ts.map +0 -1
  386. package/dist/cli/commands/memory.js +0 -208
  387. package/dist/cli/commands/memory.js.map +0 -1
  388. package/dist/cli/commands/models.d.ts +0 -3
  389. package/dist/cli/commands/models.d.ts.map +0 -1
  390. package/dist/cli/commands/models.js +0 -154
  391. package/dist/cli/commands/models.js.map +0 -1
  392. package/dist/cli/commands/modes.d.ts +0 -8
  393. package/dist/cli/commands/modes.d.ts.map +0 -1
  394. package/dist/cli/commands/modes.js +0 -151
  395. package/dist/cli/commands/modes.js.map +0 -1
  396. package/dist/cli/commands/openai.d.ts +0 -2
  397. package/dist/cli/commands/openai.d.ts.map +0 -1
  398. package/dist/cli/commands/openai.js +0 -116
  399. package/dist/cli/commands/openai.js.map +0 -1
  400. package/dist/cli/commands/session-transfer.d.ts +0 -5
  401. package/dist/cli/commands/session-transfer.d.ts.map +0 -1
  402. package/dist/cli/commands/session-transfer.js +0 -43
  403. package/dist/cli/commands/session-transfer.js.map +0 -1
  404. package/dist/cli/commands/sessions.d.ts +0 -8
  405. package/dist/cli/commands/sessions.d.ts.map +0 -1
  406. package/dist/cli/commands/sessions.js +0 -152
  407. package/dist/cli/commands/sessions.js.map +0 -1
  408. package/dist/cli/commands/skill.d.ts +0 -10
  409. package/dist/cli/commands/skill.d.ts.map +0 -1
  410. package/dist/cli/commands/skill.js +0 -303
  411. package/dist/cli/commands/skill.js.map +0 -1
  412. package/dist/cli/commands/stats.d.ts +0 -7
  413. package/dist/cli/commands/stats.d.ts.map +0 -1
  414. package/dist/cli/commands/stats.js +0 -167
  415. package/dist/cli/commands/stats.js.map +0 -1
  416. package/dist/cli/commands/status.d.ts +0 -2
  417. package/dist/cli/commands/status.d.ts.map +0 -1
  418. package/dist/cli/commands/status.js +0 -11
  419. package/dist/cli/commands/status.js.map +0 -1
  420. package/dist/cli/commands/update.d.ts +0 -12
  421. package/dist/cli/commands/update.d.ts.map +0 -1
  422. package/dist/cli/commands/update.js +0 -148
  423. package/dist/cli/commands/update.js.map +0 -1
  424. package/dist/cli-tui/about-view.d.ts +0 -48
  425. package/dist/cli-tui/about-view.d.ts.map +0 -1
  426. package/dist/cli-tui/about-view.js +0 -206
  427. package/dist/cli-tui/about-view.js.map +0 -1
  428. package/dist/cli-tui/agent-event-router.d.ts +0 -28
  429. package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
  430. package/dist/cli-tui/agent-event-router.js +0 -126
  431. package/dist/cli-tui/agent-event-router.js.map +0 -1
  432. package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
  433. package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
  434. package/dist/cli-tui/approval/approval-controller.js +0 -99
  435. package/dist/cli-tui/approval/approval-controller.js.map +0 -1
  436. package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
  437. package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
  438. package/dist/cli-tui/approval/approval-modal.js +0 -143
  439. package/dist/cli-tui/approval/approval-modal.js.map +0 -1
  440. package/dist/cli-tui/assistant-message.d.ts +0 -41
  441. package/dist/cli-tui/assistant-message.d.ts.map +0 -1
  442. package/dist/cli-tui/assistant-message.js +0 -236
  443. package/dist/cli-tui/assistant-message.js.map +0 -1
  444. package/dist/cli-tui/auth-state.d.ts +0 -7
  445. package/dist/cli-tui/auth-state.d.ts.map +0 -1
  446. package/dist/cli-tui/auth-state.js +0 -46
  447. package/dist/cli-tui/auth-state.js.map +0 -1
  448. package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
  449. package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
  450. package/dist/cli-tui/background/background-tasks-controller.js +0 -84
  451. package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
  452. package/dist/cli-tui/base-view.d.ts +0 -111
  453. package/dist/cli-tui/base-view.d.ts.map +0 -1
  454. package/dist/cli-tui/base-view.js +0 -145
  455. package/dist/cli-tui/base-view.js.map +0 -1
  456. package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
  457. package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
  458. package/dist/cli-tui/bash/background-launcher.js +0 -50
  459. package/dist/cli-tui/bash/background-launcher.js.map +0 -1
  460. package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
  461. package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
  462. package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
  463. package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
  464. package/dist/cli-tui/bash/bash-history.d.ts +0 -21
  465. package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
  466. package/dist/cli-tui/bash/bash-history.js +0 -72
  467. package/dist/cli-tui/bash/bash-history.js.map +0 -1
  468. package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
  469. package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
  470. package/dist/cli-tui/bash/bash-syntax.js +0 -176
  471. package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
  472. package/dist/cli-tui/bash/index.d.ts +0 -4
  473. package/dist/cli-tui/bash/index.d.ts.map +0 -1
  474. package/dist/cli-tui/bash/index.js +0 -4
  475. package/dist/cli-tui/bash/index.js.map +0 -1
  476. package/dist/cli-tui/bash-mode-view.d.ts +0 -86
  477. package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
  478. package/dist/cli-tui/bash-mode-view.js +0 -560
  479. package/dist/cli-tui/bash-mode-view.js.map +0 -1
  480. package/dist/cli-tui/bash-shell-block.d.ts +0 -50
  481. package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
  482. package/dist/cli-tui/bash-shell-block.js +0 -119
  483. package/dist/cli-tui/bash-shell-block.js.map +0 -1
  484. package/dist/cli-tui/changelog-view.d.ts +0 -13
  485. package/dist/cli-tui/changelog-view.d.ts.map +0 -1
  486. package/dist/cli-tui/changelog-view.js +0 -34
  487. package/dist/cli-tui/changelog-view.js.map +0 -1
  488. package/dist/cli-tui/clean-mode.d.ts +0 -13
  489. package/dist/cli-tui/clean-mode.d.ts.map +0 -1
  490. package/dist/cli-tui/clean-mode.js +0 -32
  491. package/dist/cli-tui/clean-mode.js.map +0 -1
  492. package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
  493. package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
  494. package/dist/cli-tui/client-tools/client-tool-controller.js +0 -860
  495. package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
  496. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
  497. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
  498. package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
  499. package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
  500. package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
  501. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
  502. package/dist/cli-tui/commands/a2a-handlers.js +0 -215
  503. package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
  504. package/dist/cli-tui/commands/access-command.d.ts +0 -3
  505. package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
  506. package/dist/cli-tui/commands/access-command.js +0 -89
  507. package/dist/cli-tui/commands/access-command.js.map +0 -1
  508. package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
  509. package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
  510. package/dist/cli-tui/commands/argument-parser.js +0 -135
  511. package/dist/cli-tui/commands/argument-parser.js.map +0 -1
  512. package/dist/cli-tui/commands/audit-command.d.ts +0 -5
  513. package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
  514. package/dist/cli-tui/commands/audit-command.js +0 -35
  515. package/dist/cli-tui/commands/audit-command.js.map +0 -1
  516. package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
  517. package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
  518. package/dist/cli-tui/commands/background-handlers.js +0 -115
  519. package/dist/cli-tui/commands/background-handlers.js.map +0 -1
  520. package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
  521. package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
  522. package/dist/cli-tui/commands/command-catalog.js +0 -666
  523. package/dist/cli-tui/commands/command-catalog.js.map +0 -1
  524. package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
  525. package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
  526. package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
  527. package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
  528. package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
  529. package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
  530. package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
  531. package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
  532. package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
  533. package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
  534. package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
  535. package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
  536. package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
  537. package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
  538. package/dist/cli-tui/commands/composer-handlers.js +0 -90
  539. package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
  540. package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
  541. package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
  542. package/dist/cli-tui/commands/framework-handlers.js +0 -57
  543. package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
  544. package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
  545. package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
  546. package/dist/cli-tui/commands/guardian-handlers.js +0 -48
  547. package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
  548. package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
  549. package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
  550. package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
  551. package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
  552. package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
  553. package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
  554. package/dist/cli-tui/commands/hotkeys-command.js +0 -61
  555. package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
  556. package/dist/cli-tui/commands/limits-command.d.ts +0 -3
  557. package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
  558. package/dist/cli-tui/commands/limits-command.js +0 -88
  559. package/dist/cli-tui/commands/limits-command.js.map +0 -1
  560. package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
  561. package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
  562. package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
  563. package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
  564. package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
  565. package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
  566. package/dist/cli-tui/commands/memory-handlers.js +0 -414
  567. package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
  568. package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
  569. package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
  570. package/dist/cli-tui/commands/otel-handlers.js +0 -20
  571. package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
  572. package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
  573. package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
  574. package/dist/cli-tui/commands/package-handlers.js +0 -499
  575. package/dist/cli-tui/commands/package-handlers.js.map +0 -1
  576. package/dist/cli-tui/commands/pii-command.d.ts +0 -3
  577. package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
  578. package/dist/cli-tui/commands/pii-command.js +0 -54
  579. package/dist/cli-tui/commands/pii-command.js.map +0 -1
  580. package/dist/cli-tui/commands/registry.d.ts +0 -3
  581. package/dist/cli-tui/commands/registry.d.ts.map +0 -1
  582. package/dist/cli-tui/commands/registry.js +0 -36
  583. package/dist/cli-tui/commands/registry.js.map +0 -1
  584. package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
  585. package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
  586. package/dist/cli-tui/commands/safety-handlers.js +0 -62
  587. package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
  588. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
  589. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
  590. package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
  591. package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
  592. package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
  593. package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
  594. package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
  595. package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
  596. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
  597. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
  598. package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
  599. package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
  600. package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
  601. package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
  602. package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
  603. package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
  604. package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
  605. package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
  606. package/dist/cli-tui/commands/subcommands/index.js +0 -18
  607. package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
  608. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
  609. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
  610. package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
  611. package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
  612. package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
  613. package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
  614. package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
  615. package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
  616. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
  617. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
  618. package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
  619. package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
  620. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
  621. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
  622. package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
  623. package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
  624. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
  625. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
  626. package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
  627. package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
  628. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
  629. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
  630. package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
  631. package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
  632. package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
  633. package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
  634. package/dist/cli-tui/commands/subcommands/utils.js +0 -395
  635. package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
  636. package/dist/cli-tui/commands/types.d.ts +0 -105
  637. package/dist/cli-tui/commands/types.d.ts.map +0 -1
  638. package/dist/cli-tui/commands/types.js +0 -2
  639. package/dist/cli-tui/commands/types.js.map +0 -1
  640. package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
  641. package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
  642. package/dist/cli-tui/commands/undo-handlers.js +0 -305
  643. package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
  644. package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
  645. package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
  646. package/dist/cli-tui/commands/utility-handlers.js +0 -137
  647. package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
  648. package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
  649. package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
  650. package/dist/cli-tui/commands/workflow-handlers.js +0 -227
  651. package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
  652. package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
  653. package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
  654. package/dist/cli-tui/compact-boundary-message.js +0 -18
  655. package/dist/cli-tui/compact-boundary-message.js.map +0 -1
  656. package/dist/cli-tui/compaction-recovery.d.ts +0 -6
  657. package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
  658. package/dist/cli-tui/compaction-recovery.js +0 -13
  659. package/dist/cli-tui/compaction-recovery.js.map +0 -1
  660. package/dist/cli-tui/config-view.d.ts +0 -30
  661. package/dist/cli-tui/config-view.d.ts.map +0 -1
  662. package/dist/cli-tui/config-view.js +0 -255
  663. package/dist/cli-tui/config-view.js.map +0 -1
  664. package/dist/cli-tui/context-view.d.ts +0 -20
  665. package/dist/cli-tui/context-view.d.ts.map +0 -1
  666. package/dist/cli-tui/context-view.js +0 -191
  667. package/dist/cli-tui/context-view.js.map +0 -1
  668. package/dist/cli-tui/custom-editor.d.ts +0 -25
  669. package/dist/cli-tui/custom-editor.d.ts.map +0 -1
  670. package/dist/cli-tui/custom-editor.js +0 -241
  671. package/dist/cli-tui/custom-editor.js.map +0 -1
  672. package/dist/cli-tui/editor-view.d.ts +0 -34
  673. package/dist/cli-tui/editor-view.d.ts.map +0 -1
  674. package/dist/cli-tui/editor-view.js +0 -102
  675. package/dist/cli-tui/editor-view.js.map +0 -1
  676. package/dist/cli-tui/feedback-view.d.ts +0 -35
  677. package/dist/cli-tui/feedback-view.d.ts.map +0 -1
  678. package/dist/cli-tui/feedback-view.js +0 -271
  679. package/dist/cli-tui/feedback-view.js.map +0 -1
  680. package/dist/cli-tui/footer.d.ts +0 -56
  681. package/dist/cli-tui/footer.d.ts.map +0 -1
  682. package/dist/cli-tui/footer.js +0 -228
  683. package/dist/cli-tui/footer.js.map +0 -1
  684. package/dist/cli-tui/git/commit-modal.d.ts +0 -14
  685. package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
  686. package/dist/cli-tui/git/commit-modal.js +0 -56
  687. package/dist/cli-tui/git/commit-modal.js.map +0 -1
  688. package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
  689. package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
  690. package/dist/cli-tui/git/git-preview-modal.js +0 -123
  691. package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
  692. package/dist/cli-tui/git/git-view.d.ts +0 -65
  693. package/dist/cli-tui/git/git-view.d.ts.map +0 -1
  694. package/dist/cli-tui/git/git-view.js +0 -529
  695. package/dist/cli-tui/git/git-view.js.map +0 -1
  696. package/dist/cli-tui/history/history-config.d.ts +0 -7
  697. package/dist/cli-tui/history/history-config.d.ts.map +0 -1
  698. package/dist/cli-tui/history/history-config.js +0 -49
  699. package/dist/cli-tui/history/history-config.js.map +0 -1
  700. package/dist/cli-tui/history/prompt-history.d.ts +0 -33
  701. package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
  702. package/dist/cli-tui/history/prompt-history.js +0 -185
  703. package/dist/cli-tui/history/prompt-history.js.map +0 -1
  704. package/dist/cli-tui/history/tool-history.d.ts +0 -50
  705. package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
  706. package/dist/cli-tui/history/tool-history.js +0 -253
  707. package/dist/cli-tui/history/tool-history.js.map +0 -1
  708. package/dist/cli-tui/hook-message.d.ts +0 -13
  709. package/dist/cli-tui/hook-message.d.ts.map +0 -1
  710. package/dist/cli-tui/hook-message.js +0 -56
  711. package/dist/cli-tui/hook-message.js.map +0 -1
  712. package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
  713. package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
  714. package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
  715. package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
  716. package/dist/cli-tui/hotkeys-view.d.ts +0 -13
  717. package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
  718. package/dist/cli-tui/hotkeys-view.js +0 -96
  719. package/dist/cli-tui/hotkeys-view.js.map +0 -1
  720. package/dist/cli-tui/import-view.d.ts +0 -28
  721. package/dist/cli-tui/import-view.d.ts.map +0 -1
  722. package/dist/cli-tui/import-view.js +0 -184
  723. package/dist/cli-tui/import-view.js.map +0 -1
  724. package/dist/cli-tui/info-view.d.ts +0 -18
  725. package/dist/cli-tui/info-view.d.ts.map +0 -1
  726. package/dist/cli-tui/info-view.js +0 -107
  727. package/dist/cli-tui/info-view.js.map +0 -1
  728. package/dist/cli-tui/instruction-panel.d.ts +0 -11
  729. package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
  730. package/dist/cli-tui/instruction-panel.js +0 -86
  731. package/dist/cli-tui/instruction-panel.js.map +0 -1
  732. package/dist/cli-tui/interrupt-controller.d.ts +0 -78
  733. package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
  734. package/dist/cli-tui/interrupt-controller.js +0 -104
  735. package/dist/cli-tui/interrupt-controller.js.map +0 -1
  736. package/dist/cli-tui/keybindings-config.d.ts +0 -27
  737. package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
  738. package/dist/cli-tui/keybindings-config.js +0 -372
  739. package/dist/cli-tui/keybindings-config.js.map +0 -1
  740. package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
  741. package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
  742. package/dist/cli-tui/keybindings-watcher.js +0 -56
  743. package/dist/cli-tui/keybindings-watcher.js.map +0 -1
  744. package/dist/cli-tui/keybindings.d.ts +0 -13
  745. package/dist/cli-tui/keybindings.d.ts.map +0 -1
  746. package/dist/cli-tui/keybindings.js +0 -223
  747. package/dist/cli-tui/keybindings.js.map +0 -1
  748. package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
  749. package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
  750. package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
  751. package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
  752. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
  753. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
  754. package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
  755. package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
  756. package/dist/cli-tui/loader/loader-view.d.ts +0 -41
  757. package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
  758. package/dist/cli-tui/loader/loader-view.js +0 -162
  759. package/dist/cli-tui/loader/loader-view.js.map +0 -1
  760. package/dist/cli-tui/lsp-view.d.ts +0 -21
  761. package/dist/cli-tui/lsp-view.d.ts.map +0 -1
  762. package/dist/cli-tui/lsp-view.js +0 -183
  763. package/dist/cli-tui/lsp-view.js.map +0 -1
  764. package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
  765. package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
  766. package/dist/cli-tui/mermaid-renderer.js +0 -391
  767. package/dist/cli-tui/mermaid-renderer.js.map +0 -1
  768. package/dist/cli-tui/message-view.d.ts +0 -27
  769. package/dist/cli-tui/message-view.d.ts.map +0 -1
  770. package/dist/cli-tui/message-view.js +0 -169
  771. package/dist/cli-tui/message-view.js.map +0 -1
  772. package/dist/cli-tui/modal-manager.d.ts +0 -77
  773. package/dist/cli-tui/modal-manager.d.ts.map +0 -1
  774. package/dist/cli-tui/modal-manager.js +0 -131
  775. package/dist/cli-tui/modal-manager.js.map +0 -1
  776. package/dist/cli-tui/notification-view.d.ts +0 -16
  777. package/dist/cli-tui/notification-view.d.ts.map +0 -1
  778. package/dist/cli-tui/notification-view.js +0 -53
  779. package/dist/cli-tui/notification-view.js.map +0 -1
  780. package/dist/cli-tui/oauth/index.d.ts +0 -2
  781. package/dist/cli-tui/oauth/index.d.ts.map +0 -1
  782. package/dist/cli-tui/oauth/index.js +0 -2
  783. package/dist/cli-tui/oauth/index.js.map +0 -1
  784. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
  785. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
  786. package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
  787. package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
  788. package/dist/cli-tui/ollama-view.d.ts +0 -38
  789. package/dist/cli-tui/ollama-view.d.ts.map +0 -1
  790. package/dist/cli-tui/ollama-view.js +0 -395
  791. package/dist/cli-tui/ollama-view.js.map +0 -1
  792. package/dist/cli-tui/paste/index.d.ts +0 -2
  793. package/dist/cli-tui/paste/index.d.ts.map +0 -1
  794. package/dist/cli-tui/paste/index.js +0 -2
  795. package/dist/cli-tui/paste/index.js.map +0 -1
  796. package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
  797. package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
  798. package/dist/cli-tui/paste/paste-handler.js +0 -128
  799. package/dist/cli-tui/paste/paste-handler.js.map +0 -1
  800. package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
  801. package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
  802. package/dist/cli-tui/plan/plan-controller.js +0 -66
  803. package/dist/cli-tui/plan/plan-controller.js.map +0 -1
  804. package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
  805. package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
  806. package/dist/cli-tui/plan-panel-modal.js +0 -193
  807. package/dist/cli-tui/plan-panel-modal.js.map +0 -1
  808. package/dist/cli-tui/plan-view.d.ts +0 -57
  809. package/dist/cli-tui/plan-view.d.ts.map +0 -1
  810. package/dist/cli-tui/plan-view.js +0 -404
  811. package/dist/cli-tui/plan-view.js.map +0 -1
  812. package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
  813. package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
  814. package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
  815. package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
  816. package/dist/cli-tui/queue/index.d.ts +0 -3
  817. package/dist/cli-tui/queue/index.d.ts.map +0 -1
  818. package/dist/cli-tui/queue/index.js +0 -3
  819. package/dist/cli-tui/queue/index.js.map +0 -1
  820. package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
  821. package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
  822. package/dist/cli-tui/queue/queue-controller.js +0 -327
  823. package/dist/cli-tui/queue/queue-controller.js.map +0 -1
  824. package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
  825. package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
  826. package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
  827. package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
  828. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
  829. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
  830. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
  831. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
  832. package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
  833. package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
  834. package/dist/cli-tui/queue-panel-modal.js +0 -159
  835. package/dist/cli-tui/queue-panel-modal.js.map +0 -1
  836. package/dist/cli-tui/run/run-command-view.d.ts +0 -17
  837. package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
  838. package/dist/cli-tui/run/run-command-view.js +0 -62
  839. package/dist/cli-tui/run/run-command-view.js.map +0 -1
  840. package/dist/cli-tui/run/run-controller.d.ts +0 -24
  841. package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
  842. package/dist/cli-tui/run/run-controller.js +0 -38
  843. package/dist/cli-tui/run/run-controller.js.map +0 -1
  844. package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
  845. package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
  846. package/dist/cli-tui/run/run-shell-command.js +0 -51
  847. package/dist/cli-tui/run/run-shell-command.js.map +0 -1
  848. package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
  849. package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
  850. package/dist/cli-tui/run/streaming-shell-command.js +0 -107
  851. package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
  852. package/dist/cli-tui/search/file-search-view.d.ts +0 -22
  853. package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
  854. package/dist/cli-tui/search/file-search-view.js +0 -68
  855. package/dist/cli-tui/search/file-search-view.js.map +0 -1
  856. package/dist/cli-tui/search/file-search.d.ts +0 -13
  857. package/dist/cli-tui/search/file-search.d.ts.map +0 -1
  858. package/dist/cli-tui/search/file-search.js +0 -52
  859. package/dist/cli-tui/search/file-search.js.map +0 -1
  860. package/dist/cli-tui/security-status.d.ts +0 -83
  861. package/dist/cli-tui/security-status.d.ts.map +0 -1
  862. package/dist/cli-tui/security-status.js +0 -214
  863. package/dist/cli-tui/security-status.js.map +0 -1
  864. package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
  865. package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
  866. package/dist/cli-tui/selectors/base-selector.js +0 -47
  867. package/dist/cli-tui/selectors/base-selector.js.map +0 -1
  868. package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
  869. package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
  870. package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
  871. package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
  872. package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
  873. package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
  874. package/dist/cli-tui/selectors/model-selector-view.js +0 -31
  875. package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
  876. package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
  877. package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
  878. package/dist/cli-tui/selectors/model-selector.js +0 -218
  879. package/dist/cli-tui/selectors/model-selector.js.map +0 -1
  880. package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
  881. package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
  882. package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
  883. package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
  884. package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
  885. package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
  886. package/dist/cli-tui/selectors/oauth-selector.js +0 -120
  887. package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
  888. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
  889. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
  890. package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
  891. package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
  892. package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
  893. package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
  894. package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
  895. package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
  896. package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
  897. package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
  898. package/dist/cli-tui/selectors/report-selector-view.js +0 -29
  899. package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
  900. package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
  901. package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
  902. package/dist/cli-tui/selectors/report-selector.js +0 -31
  903. package/dist/cli-tui/selectors/report-selector.js.map +0 -1
  904. package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
  905. package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
  906. package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
  907. package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
  908. package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
  909. package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
  910. package/dist/cli-tui/selectors/theme-selector.js +0 -46
  911. package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
  912. package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
  913. package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
  914. package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
  915. package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
  916. package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
  917. package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
  918. package/dist/cli-tui/selectors/thinking-selector.js +0 -47
  919. package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
  920. package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
  921. package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
  922. package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
  923. package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
  924. package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
  925. package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
  926. package/dist/cli-tui/selectors/tree-selector.js +0 -194
  927. package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
  928. package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
  929. package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
  930. package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
  931. package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
  932. package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
  933. package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
  934. package/dist/cli-tui/selectors/user-message-selector.js +0 -114
  935. package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
  936. package/dist/cli-tui/session/branch-controller.d.ts +0 -65
  937. package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
  938. package/dist/cli-tui/session/branch-controller.js +0 -125
  939. package/dist/cli-tui/session/branch-controller.js.map +0 -1
  940. package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
  941. package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
  942. package/dist/cli-tui/session/conversation-compactor.js +0 -77
  943. package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
  944. package/dist/cli-tui/session/session-context.d.ts +0 -59
  945. package/dist/cli-tui/session/session-context.d.ts.map +0 -1
  946. package/dist/cli-tui/session/session-context.js +0 -79
  947. package/dist/cli-tui/session/session-context.js.map +0 -1
  948. package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
  949. package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
  950. package/dist/cli-tui/session/session-data-provider.js +0 -22
  951. package/dist/cli-tui/session/session-data-provider.js.map +0 -1
  952. package/dist/cli-tui/session/session-list.d.ts +0 -18
  953. package/dist/cli-tui/session/session-list.d.ts.map +0 -1
  954. package/dist/cli-tui/session/session-list.js +0 -103
  955. package/dist/cli-tui/session/session-list.js.map +0 -1
  956. package/dist/cli-tui/session/session-selector.d.ts +0 -12
  957. package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
  958. package/dist/cli-tui/session/session-selector.js +0 -37
  959. package/dist/cli-tui/session/session-selector.js.map +0 -1
  960. package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
  961. package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
  962. package/dist/cli-tui/session/session-summary-controller.js +0 -96
  963. package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
  964. package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
  965. package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
  966. package/dist/cli-tui/session/session-switcher-view.js +0 -43
  967. package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
  968. package/dist/cli-tui/session/session-switcher.d.ts +0 -38
  969. package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
  970. package/dist/cli-tui/session/session-switcher.js +0 -204
  971. package/dist/cli-tui/session/session-switcher.js.map +0 -1
  972. package/dist/cli-tui/session/session-view.d.ts +0 -46
  973. package/dist/cli-tui/session/session-view.d.ts.map +0 -1
  974. package/dist/cli-tui/session/session-view.js +0 -311
  975. package/dist/cli-tui/session/session-view.js.map +0 -1
  976. package/dist/cli-tui/slash/index.d.ts +0 -2
  977. package/dist/cli-tui/slash/index.d.ts.map +0 -1
  978. package/dist/cli-tui/slash/index.js +0 -2
  979. package/dist/cli-tui/slash/index.js.map +0 -1
  980. package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
  981. package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
  982. package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
  983. package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
  984. package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
  985. package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
  986. package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
  987. package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
  988. package/dist/cli-tui/startup-announcements.d.ts +0 -15
  989. package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
  990. package/dist/cli-tui/startup-announcements.js +0 -75
  991. package/dist/cli-tui/startup-announcements.js.map +0 -1
  992. package/dist/cli-tui/status/cost-view.d.ts +0 -27
  993. package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
  994. package/dist/cli-tui/status/cost-view.js +0 -212
  995. package/dist/cli-tui/status/cost-view.js.map +0 -1
  996. package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
  997. package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
  998. package/dist/cli-tui/status/diagnostics-templates.js +0 -167
  999. package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
  1000. package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
  1001. package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
  1002. package/dist/cli-tui/status/diagnostics-view.js +0 -249
  1003. package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
  1004. package/dist/cli-tui/status/diagnostics.d.ts +0 -39
  1005. package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
  1006. package/dist/cli-tui/status/diagnostics.js +0 -286
  1007. package/dist/cli-tui/status/diagnostics.js.map +0 -1
  1008. package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
  1009. package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
  1010. package/dist/cli-tui/status/health-snapshot.js +0 -28
  1011. package/dist/cli-tui/status/health-snapshot.js.map +0 -1
  1012. package/dist/cli-tui/status/quota-view.d.ts +0 -37
  1013. package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
  1014. package/dist/cli-tui/status/quota-view.js +0 -309
  1015. package/dist/cli-tui/status/quota-view.js.map +0 -1
  1016. package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
  1017. package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
  1018. package/dist/cli-tui/status/telemetry-view.js +0 -77
  1019. package/dist/cli-tui/status/telemetry-view.js.map +0 -1
  1020. package/dist/cli-tui/status/training-view.d.ts +0 -23
  1021. package/dist/cli-tui/status/training-view.d.ts.map +0 -1
  1022. package/dist/cli-tui/status/training-view.js +0 -71
  1023. package/dist/cli-tui/status/training-view.js.map +0 -1
  1024. package/dist/cli-tui/streaming-view.d.ts +0 -43
  1025. package/dist/cli-tui/streaming-view.d.ts.map +0 -1
  1026. package/dist/cli-tui/streaming-view.js +0 -176
  1027. package/dist/cli-tui/streaming-view.js.map +0 -1
  1028. package/dist/cli-tui/terminal/index.d.ts +0 -2
  1029. package/dist/cli-tui/terminal/index.d.ts.map +0 -1
  1030. package/dist/cli-tui/terminal/index.js +0 -2
  1031. package/dist/cli-tui/terminal/index.js.map +0 -1
  1032. package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
  1033. package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
  1034. package/dist/cli-tui/terminal/terminal-utils.js +0 -145
  1035. package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
  1036. package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
  1037. package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
  1038. package/dist/cli-tui/tips/tip-scheduler.js +0 -135
  1039. package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
  1040. package/dist/cli-tui/tool-execution.d.ts +0 -76
  1041. package/dist/cli-tui/tool-execution.d.ts.map +0 -1
  1042. package/dist/cli-tui/tool-execution.js +0 -217
  1043. package/dist/cli-tui/tool-execution.js.map +0 -1
  1044. package/dist/cli-tui/tool-output-view.d.ts +0 -22
  1045. package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
  1046. package/dist/cli-tui/tool-output-view.js +0 -71
  1047. package/dist/cli-tui/tool-output-view.js.map +0 -1
  1048. package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
  1049. package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
  1050. package/dist/cli-tui/tool-renderers/index.js +0 -19
  1051. package/dist/cli-tui/tool-renderers/index.js.map +0 -1
  1052. package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
  1053. package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
  1054. package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
  1055. package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
  1056. package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
  1057. package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
  1058. package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
  1059. package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
  1060. package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
  1061. package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
  1062. package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
  1063. package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
  1064. package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
  1065. package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
  1066. package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
  1067. package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
  1068. package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
  1069. package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
  1070. package/dist/cli-tui/tool-renderers/render-read.js +0 -108
  1071. package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
  1072. package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
  1073. package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
  1074. package/dist/cli-tui/tool-renderers/render-style.js +0 -51
  1075. package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
  1076. package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
  1077. package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
  1078. package/dist/cli-tui/tool-renderers/render-write.js +0 -60
  1079. package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
  1080. package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
  1081. package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
  1082. package/dist/cli-tui/tool-renderers/types.js +0 -2
  1083. package/dist/cli-tui/tool-renderers/types.js.map +0 -1
  1084. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
  1085. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
  1086. package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
  1087. package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
  1088. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
  1089. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
  1090. package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
  1091. package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
  1092. package/dist/cli-tui/tool-status-view.d.ts +0 -32
  1093. package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
  1094. package/dist/cli-tui/tool-status-view.js +0 -86
  1095. package/dist/cli-tui/tool-status-view.js.map +0 -1
  1096. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
  1097. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
  1098. package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
  1099. package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
  1100. package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
  1101. package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
  1102. package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
  1103. package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
  1104. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
  1105. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
  1106. package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
  1107. package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
  1108. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
  1109. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
  1110. package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
  1111. package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
  1112. package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
  1113. package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
  1114. package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
  1115. package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
  1116. package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
  1117. package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
  1118. package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
  1119. package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
  1120. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
  1121. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
  1122. package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
  1123. package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
  1124. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
  1125. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
  1126. package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
  1127. package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
  1128. package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
  1129. package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
  1130. package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
  1131. package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
  1132. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
  1133. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
  1134. package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
  1135. package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
  1136. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
  1137. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
  1138. package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
  1139. package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
  1140. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
  1141. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
  1142. package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
  1143. package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
  1144. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
  1145. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
  1146. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
  1147. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
  1148. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
  1149. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
  1150. package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
  1151. package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
  1152. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
  1153. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
  1154. package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
  1155. package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
  1156. package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
  1157. package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
  1158. package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
  1159. package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
  1160. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
  1161. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
  1162. package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
  1163. package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
  1164. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
  1165. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
  1166. package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
  1167. package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
  1168. package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
  1169. package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
  1170. package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
  1171. package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
  1172. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
  1173. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
  1174. package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
  1175. package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
  1176. package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
  1177. package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
  1178. package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
  1179. package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
  1180. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
  1181. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
  1182. package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
  1183. package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
  1184. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
  1185. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
  1186. package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
  1187. package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
  1188. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
  1189. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
  1190. package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
  1191. package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
  1192. package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
  1193. package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
  1194. package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
  1195. package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
  1196. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
  1197. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
  1198. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
  1199. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
  1200. package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
  1201. package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
  1202. package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
  1203. package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
  1204. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
  1205. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
  1206. package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
  1207. package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
  1208. package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
  1209. package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
  1210. package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
  1211. package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
  1212. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
  1213. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
  1214. package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
  1215. package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
  1216. package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -73
  1217. package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
  1218. package/dist/cli-tui/tui-renderer/skills-controller.js +0 -455
  1219. package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
  1220. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
  1221. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
  1222. package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
  1223. package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
  1224. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
  1225. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
  1226. package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
  1227. package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
  1228. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
  1229. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
  1230. package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
  1231. package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
  1232. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
  1233. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
  1234. package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
  1235. package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
  1236. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
  1237. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
  1238. package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
  1239. package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
  1240. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
  1241. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
  1242. package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
  1243. package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
  1244. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
  1245. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
  1246. package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
  1247. package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
  1248. package/dist/cli-tui/tui-renderer.d.ts +0 -268
  1249. package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
  1250. package/dist/cli-tui/tui-renderer.js +0 -2131
  1251. package/dist/cli-tui/tui-renderer.js.map +0 -1
  1252. package/dist/cli-tui/ui-state.d.ts.map +0 -1
  1253. package/dist/cli-tui/ui-state.js.map +0 -1
  1254. package/dist/cli-tui/update-view.d.ts +0 -16
  1255. package/dist/cli-tui/update-view.d.ts.map +0 -1
  1256. package/dist/cli-tui/update-view.js +0 -45
  1257. package/dist/cli-tui/update-view.js.map +0 -1
  1258. package/dist/cli-tui/user-message.d.ts +0 -17
  1259. package/dist/cli-tui/user-message.d.ts.map +0 -1
  1260. package/dist/cli-tui/user-message.js +0 -83
  1261. package/dist/cli-tui/user-message.js.map +0 -1
  1262. package/dist/cli-tui/utils/borders.d.ts +0 -131
  1263. package/dist/cli-tui/utils/borders.d.ts.map +0 -1
  1264. package/dist/cli-tui/utils/borders.js +0 -254
  1265. package/dist/cli-tui/utils/borders.js.map +0 -1
  1266. package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
  1267. package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
  1268. package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
  1269. package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
  1270. package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
  1271. package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
  1272. package/dist/cli-tui/utils/commands/command-palette.js +0 -213
  1273. package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
  1274. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
  1275. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
  1276. package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
  1277. package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
  1278. package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
  1279. package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
  1280. package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
  1281. package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
  1282. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
  1283. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
  1284. package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
  1285. package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
  1286. package/dist/cli-tui/utils/env-detect.d.ts +0 -11
  1287. package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
  1288. package/dist/cli-tui/utils/env-detect.js +0 -107
  1289. package/dist/cli-tui/utils/env-detect.js.map +0 -1
  1290. package/dist/cli-tui/utils/external-editor.d.ts +0 -7
  1291. package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
  1292. package/dist/cli-tui/utils/external-editor.js +0 -53
  1293. package/dist/cli-tui/utils/external-editor.js.map +0 -1
  1294. package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
  1295. package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
  1296. package/dist/cli-tui/utils/footer-utils.js +0 -716
  1297. package/dist/cli-tui/utils/footer-utils.js.map +0 -1
  1298. package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
  1299. package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
  1300. package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
  1301. package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
  1302. package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
  1303. package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
  1304. package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
  1305. package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
  1306. package/dist/cli-tui/utils/glyphs.d.ts +0 -207
  1307. package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
  1308. package/dist/cli-tui/utils/glyphs.js +0 -249
  1309. package/dist/cli-tui/utils/glyphs.js.map +0 -1
  1310. package/dist/cli-tui/utils/layout.d.ts +0 -77
  1311. package/dist/cli-tui/utils/layout.d.ts.map +0 -1
  1312. package/dist/cli-tui/utils/layout.js +0 -83
  1313. package/dist/cli-tui/utils/layout.js.map +0 -1
  1314. package/dist/cli-tui/utils/links.d.ts +0 -2
  1315. package/dist/cli-tui/utils/links.d.ts.map +0 -1
  1316. package/dist/cli-tui/utils/links.js +0 -14
  1317. package/dist/cli-tui/utils/links.js.map +0 -1
  1318. package/dist/cli-tui/utils/motion.d.ts +0 -4
  1319. package/dist/cli-tui/utils/motion.d.ts.map +0 -1
  1320. package/dist/cli-tui/utils/motion.js +0 -28
  1321. package/dist/cli-tui/utils/motion.js.map +0 -1
  1322. package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
  1323. package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
  1324. package/dist/cli-tui/utils/runtime-badges.js +0 -178
  1325. package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
  1326. package/dist/cli-tui/utils/shimmer.d.ts +0 -12
  1327. package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
  1328. package/dist/cli-tui/utils/shimmer.js +0 -57
  1329. package/dist/cli-tui/utils/shimmer.js.map +0 -1
  1330. package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
  1331. package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
  1332. package/dist/cli-tui/utils/stage-labels.js +0 -65
  1333. package/dist/cli-tui/utils/stage-labels.js.map +0 -1
  1334. package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
  1335. package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
  1336. package/dist/cli-tui/utils/text-formatting.js +0 -109
  1337. package/dist/cli-tui/utils/text-formatting.js.map +0 -1
  1338. package/dist/cli-tui/utils/text-preview.d.ts +0 -10
  1339. package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
  1340. package/dist/cli-tui/utils/text-preview.js +0 -26
  1341. package/dist/cli-tui/utils/text-preview.js.map +0 -1
  1342. package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
  1343. package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
  1344. package/dist/cli-tui/utils/tool-text-utils.js +0 -361
  1345. package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
  1346. package/dist/cli-tui/welcome-animation.d.ts +0 -24
  1347. package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
  1348. package/dist/cli-tui/welcome-animation.js +0 -99
  1349. package/dist/cli-tui/welcome-animation.js.map +0 -1
  1350. package/dist/cli-tui/welcome-colors.d.ts +0 -3
  1351. package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
  1352. package/dist/cli-tui/welcome-colors.js +0 -39
  1353. package/dist/cli-tui/welcome-colors.js.map +0 -1
  1354. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
  1355. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
  1356. package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
  1357. package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
  1358. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
  1359. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
  1360. package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
  1361. package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
  1362. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
  1363. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
  1364. package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
  1365. package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
  1366. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
  1367. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
  1368. package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
  1369. package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
  1370. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
  1371. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
  1372. package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
  1373. package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
  1374. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
  1375. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
  1376. package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
  1377. package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
  1378. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
  1379. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
  1380. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
  1381. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
  1382. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
  1383. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
  1384. package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
  1385. package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
  1386. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
  1387. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
  1388. package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
  1389. package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
  1390. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
  1391. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
  1392. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
  1393. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
  1394. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
  1395. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
  1396. package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
  1397. package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
  1398. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
  1399. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
  1400. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
  1401. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
  1402. package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
  1403. package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
  1404. package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
  1405. package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
  1406. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
  1407. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
  1408. package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
  1409. package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
  1410. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
  1411. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
  1412. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
  1413. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
  1414. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
  1415. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
  1416. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
  1417. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
  1418. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
  1419. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
  1420. package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
  1421. package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
  1422. package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
  1423. package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
  1424. package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
  1425. package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
  1426. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
  1427. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
  1428. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
  1429. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
  1430. package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
  1431. package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
  1432. package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
  1433. package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
  1434. package/dist/node_modules/@evalops/tui/package.json +0 -58
  1435. package/dist/skills/artifact-metadata.d.ts.map +0 -1
  1436. package/dist/skills/artifact-metadata.js.map +0 -1
  1437. package/dist/skills/composer-diagnostics.d.ts +0 -69
  1438. package/dist/skills/composer-diagnostics.d.ts.map +0 -1
  1439. package/dist/skills/composer-diagnostics.js +0 -78
  1440. package/dist/skills/composer-diagnostics.js.map +0 -1
  1441. package/dist/skills/composer.d.ts +0 -19
  1442. package/dist/skills/composer.d.ts.map +0 -1
  1443. package/dist/skills/composer.js +0 -64
  1444. package/dist/skills/composer.js.map +0 -1
  1445. package/dist/skills/eval-harness.d.ts +0 -38
  1446. package/dist/skills/eval-harness.d.ts.map +0 -1
  1447. package/dist/skills/eval-harness.js +0 -112
  1448. package/dist/skills/eval-harness.js.map +0 -1
  1449. package/dist/skills/index.d.ts +0 -41
  1450. package/dist/skills/index.d.ts.map +0 -1
  1451. package/dist/skills/index.js +0 -41
  1452. package/dist/skills/index.js.map +0 -1
  1453. package/dist/skills/learned-guidelines.d.ts +0 -33
  1454. package/dist/skills/learned-guidelines.d.ts.map +0 -1
  1455. package/dist/skills/learned-guidelines.js +0 -291
  1456. package/dist/skills/learned-guidelines.js.map +0 -1
  1457. package/dist/skills/linter.d.ts +0 -36
  1458. package/dist/skills/linter.d.ts.map +0 -1
  1459. package/dist/skills/linter.js +0 -397
  1460. package/dist/skills/linter.js.map +0 -1
  1461. package/dist/skills/loader.d.ts +0 -252
  1462. package/dist/skills/loader.d.ts.map +0 -1
  1463. package/dist/skills/loader.js +0 -957
  1464. package/dist/skills/loader.js.map +0 -1
  1465. package/dist/skills/package-contract.d.ts +0 -45
  1466. package/dist/skills/package-contract.d.ts.map +0 -1
  1467. package/dist/skills/package-contract.js +0 -153
  1468. package/dist/skills/package-contract.js.map +0 -1
  1469. package/dist/skills/runtime-activation.d.ts +0 -69
  1470. package/dist/skills/runtime-activation.d.ts.map +0 -1
  1471. package/dist/skills/runtime-activation.js +0 -227
  1472. package/dist/skills/runtime-activation.js.map +0 -1
  1473. package/dist/skills/scaffold-from-template.d.ts +0 -58
  1474. package/dist/skills/scaffold-from-template.d.ts.map +0 -1
  1475. package/dist/skills/scaffold-from-template.js +0 -72
  1476. package/dist/skills/scaffold-from-template.js.map +0 -1
  1477. package/dist/skills/scaffolder.d.ts +0 -65
  1478. package/dist/skills/scaffolder.d.ts.map +0 -1
  1479. package/dist/skills/scaffolder.js +0 -167
  1480. package/dist/skills/scaffolder.js.map +0 -1
  1481. package/dist/skills/service-client.d.ts +0 -56
  1482. package/dist/skills/service-client.d.ts.map +0 -1
  1483. package/dist/skills/service-client.js +0 -266
  1484. package/dist/skills/service-client.js.map +0 -1
  1485. package/dist/skills/skill-templates.d.ts +0 -70
  1486. package/dist/skills/skill-templates.d.ts.map +0 -1
  1487. package/dist/skills/skill-templates.js +0 -154
  1488. package/dist/skills/skill-templates.js.map +0 -1
  1489. package/dist/skills/tool.d.ts +0 -21
  1490. package/dist/skills/tool.d.ts.map +0 -1
  1491. package/dist/skills/tool.js +0 -339
  1492. package/dist/skills/tool.js.map +0 -1
  1493. package/dist/skills/trust-cache.d.ts +0 -65
  1494. package/dist/skills/trust-cache.d.ts.map +0 -1
  1495. package/dist/skills/trust-cache.js +0 -146
  1496. package/dist/skills/trust-cache.js.map +0 -1
  1497. package/dist/skills/types.d.ts +0 -91
  1498. package/dist/skills/types.d.ts.map +0 -1
  1499. package/dist/skills/types.js +0 -8
  1500. package/dist/skills/types.js.map +0 -1
  1501. /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
  1502. /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * Inspired by Amp's thread handoff feature.
8
8
  */
9
+ import { estimateTokens } from "@evalops/contracts";
9
10
  import { createLogger } from "../utils/logger.js";
10
11
  const log = createLogger("agent:context-handoff");
11
12
  /** Default thresholds */
@@ -221,7 +222,7 @@ export function createContextHandoffManager(thresholds) {
221
222
  * Uses ~4 characters per token as a rough estimate.
222
223
  */
223
224
  export function estimateTokenCount(text) {
224
- return Math.ceil(text.length / 4);
225
+ return estimateTokens(text);
225
226
  }
226
227
  /**
227
228
  * Format context usage for display.
@@ -1 +1 @@
1
- {"version":3,"file":"context-handoff.js","sourceRoot":"","sources":["../../src/agent/context-handoff.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Context Handoff System.\n *\n * Manages automatic context handoff when approaching context limits.\n * Creates summarized new sessions to continue work without losing progress.\n *\n * Inspired by Amp's thread handoff feature.\n */\n\nimport { createLogger } from \"../utils/logger.js\";\n\nconst log = createLogger(\"agent:context-handoff\");\n\n/** Context usage thresholds */\nexport interface ContextThresholds {\n\t/** Warn when context usage exceeds this percentage (0-1) */\n\twarnAt: number;\n\t/** Suggest handoff when context usage exceeds this percentage (0-1) */\n\tsuggestHandoffAt: number;\n\t/** Force handoff when context usage exceeds this percentage (0-1) */\n\tforceHandoffAt: number;\n}\n\n/** Default thresholds */\nexport const DEFAULT_THRESHOLDS: ContextThresholds = {\n\twarnAt: 0.7,\n\tsuggestHandoffAt: 0.85,\n\tforceHandoffAt: 0.95,\n};\n\n/** Context usage status */\nexport type ContextStatus =\n\t| \"ok\"\n\t| \"warning\"\n\t| \"suggest_handoff\"\n\t| \"force_handoff\";\n\n/** Handoff context for creating a new session */\nexport interface HandoffContext {\n\t/** Summary of what was accomplished */\n\tsummary: string;\n\t/** Current task/goal being worked on */\n\tcurrentTask: string | null;\n\t/** Key files that were modified */\n\tmodifiedFiles: string[];\n\t/** Key files that were read/referenced */\n\treferencedFiles: string[];\n\t/** Any pending work or todos */\n\tpendingWork: string[];\n\t/** Important context that should carry over */\n\timportantContext: string[];\n\t/** Timestamp of handoff */\n\ttimestamp: Date;\n\t/** Previous session ID if available */\n\tpreviousSessionId?: string;\n}\n\n/** Context usage tracking */\nexport interface ContextUsage {\n\t/** Current token count */\n\tcurrentTokens: number;\n\t/** Maximum context window */\n\tmaxTokens: number;\n\t/** Usage percentage (0-1) */\n\tusagePercent: number;\n\t/** Current status */\n\tstatus: ContextStatus;\n\t/** Estimated tokens remaining */\n\ttokensRemaining: number;\n}\n\n/**\n * Context Handoff Manager.\n *\n * Tracks context usage and manages handoff when limits are approached.\n */\nexport class ContextHandoffManager {\n\tprivate thresholds: ContextThresholds;\n\tprivate modifiedFiles: Set<string> = new Set();\n\tprivate referencedFiles: Set<string> = new Set();\n\tprivate pendingWork: string[] = [];\n\tprivate importantContext: string[] = [];\n\tprivate currentTask: string | null = null;\n\tprivate lastStatus: ContextStatus = \"ok\";\n\n\tconstructor(thresholds: ContextThresholds = DEFAULT_THRESHOLDS) {\n\t\tthis.thresholds = thresholds;\n\t}\n\n\t/**\n\t * Check context usage and return status.\n\t */\n\tcheckUsage(currentTokens: number, maxTokens: number): ContextUsage {\n\t\tconst usagePercent = currentTokens / maxTokens;\n\t\tconst tokensRemaining = maxTokens - currentTokens;\n\n\t\tlet status: ContextStatus = \"ok\";\n\t\tif (usagePercent >= this.thresholds.forceHandoffAt) {\n\t\t\tstatus = \"force_handoff\";\n\t\t} else if (usagePercent >= this.thresholds.suggestHandoffAt) {\n\t\t\tstatus = \"suggest_handoff\";\n\t\t} else if (usagePercent >= this.thresholds.warnAt) {\n\t\t\tstatus = \"warning\";\n\t\t}\n\n\t\t// Log status changes\n\t\tif (status !== this.lastStatus) {\n\t\t\tlog.info(\"Context status changed\", {\n\t\t\t\tfrom: this.lastStatus,\n\t\t\t\tto: status,\n\t\t\t\tusagePercent: Math.round(usagePercent * 100),\n\t\t\t\ttokensRemaining,\n\t\t\t});\n\t\t\tthis.lastStatus = status;\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentTokens,\n\t\t\tmaxTokens,\n\t\t\tusagePercent,\n\t\t\tstatus,\n\t\t\ttokensRemaining,\n\t\t};\n\t}\n\n\t/**\n\t * Record a file modification.\n\t */\n\trecordFileModification(path: string): void {\n\t\tthis.modifiedFiles.add(path);\n\t}\n\n\t/**\n\t * Record a file reference.\n\t */\n\trecordFileReference(path: string): void {\n\t\tthis.referencedFiles.add(path);\n\t}\n\n\t/**\n\t * Set the current task being worked on.\n\t */\n\tsetCurrentTask(task: string | null): void {\n\t\tthis.currentTask = task;\n\t}\n\n\t/**\n\t * Add pending work item.\n\t */\n\taddPendingWork(item: string): void {\n\t\tif (!this.pendingWork.includes(item)) {\n\t\t\tthis.pendingWork.push(item);\n\t\t}\n\t}\n\n\t/**\n\t * Remove completed work item.\n\t */\n\tcompletePendingWork(item: string): void {\n\t\tconst index = this.pendingWork.indexOf(item);\n\t\tif (index !== -1) {\n\t\t\tthis.pendingWork.splice(index, 1);\n\t\t}\n\t}\n\n\t/**\n\t * Add important context that should carry over to handoff.\n\t */\n\taddImportantContext(context: string): void {\n\t\tif (!this.importantContext.includes(context)) {\n\t\t\tthis.importantContext.push(context);\n\t\t}\n\t}\n\n\t/**\n\t * Clear important context.\n\t */\n\tclearImportantContext(): void {\n\t\tthis.importantContext = [];\n\t}\n\n\t/**\n\t * Generate handoff context for creating a new session.\n\t */\n\tgenerateHandoffContext(\n\t\tsummary: string,\n\t\tpreviousSessionId?: string,\n\t): HandoffContext {\n\t\treturn {\n\t\t\tsummary,\n\t\t\tcurrentTask: this.currentTask,\n\t\t\tmodifiedFiles: Array.from(this.modifiedFiles),\n\t\t\treferencedFiles: Array.from(this.referencedFiles),\n\t\t\tpendingWork: [...this.pendingWork],\n\t\t\timportantContext: [...this.importantContext],\n\t\t\ttimestamp: new Date(),\n\t\t\tpreviousSessionId,\n\t\t};\n\t}\n\n\t/**\n\t * Format handoff context as a prompt for the new session.\n\t */\n\tformatHandoffPrompt(context: HandoffContext): string {\n\t\tconst lines: string[] = [\n\t\t\t\"# Context Handoff\",\n\t\t\t\"\",\n\t\t\t\"This session continues from a previous conversation that reached its context limit.\",\n\t\t\t\"\",\n\t\t\t\"## Summary of Previous Work\",\n\t\t\tcontext.summary,\n\t\t\t\"\",\n\t\t];\n\n\t\tif (context.currentTask) {\n\t\t\tlines.push(\"## Current Task\", context.currentTask, \"\");\n\t\t}\n\n\t\tif (context.modifiedFiles.length > 0) {\n\t\t\tlines.push(\"## Modified Files\");\n\t\t\tfor (const file of context.modifiedFiles.slice(0, 20)) {\n\t\t\t\tlines.push(`- ${file}`);\n\t\t\t}\n\t\t\tif (context.modifiedFiles.length > 20) {\n\t\t\t\tlines.push(`- ... and ${context.modifiedFiles.length - 20} more`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tif (context.referencedFiles.length > 0) {\n\t\t\tlines.push(\"## Referenced Files\");\n\t\t\tfor (const file of context.referencedFiles.slice(0, 20)) {\n\t\t\t\tlines.push(`- ${file}`);\n\t\t\t}\n\t\t\tif (context.referencedFiles.length > 20) {\n\t\t\t\tlines.push(`- ... and ${context.referencedFiles.length - 20} more`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tif (context.pendingWork.length > 0) {\n\t\t\tlines.push(\"## Pending Work\");\n\t\t\tfor (const item of context.pendingWork) {\n\t\t\t\tlines.push(`- [ ] ${item}`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tif (context.importantContext.length > 0) {\n\t\t\tlines.push(\"## Important Context\");\n\t\t\tfor (const item of context.importantContext) {\n\t\t\t\tlines.push(`- ${item}`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tlines.push(\n\t\t\t\"---\",\n\t\t\t\"\",\n\t\t\t\"Please continue with the work described above. You can read the modified files to understand the current state.\",\n\t\t);\n\n\t\treturn lines.join(\"\\n\");\n\t}\n\n\t/**\n\t * Get status message for user display.\n\t */\n\tgetStatusMessage(usage: ContextUsage): string | null {\n\t\tswitch (usage.status) {\n\t\t\tcase \"warning\":\n\t\t\t\treturn `Context ${Math.round(usage.usagePercent * 100)}% used. Consider wrapping up soon.`;\n\t\t\tcase \"suggest_handoff\":\n\t\t\t\treturn `Context near full (${Math.round(usage.usagePercent * 100)}%). Use /handoff to continue in a new session.`;\n\t\t\tcase \"force_handoff\":\n\t\t\t\treturn `Context limit reached (${Math.round(usage.usagePercent * 100)}%). Handoff required to continue.`;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Reset tracking state (e.g., for a new session).\n\t */\n\treset(): void {\n\t\tthis.modifiedFiles.clear();\n\t\tthis.referencedFiles.clear();\n\t\tthis.pendingWork = [];\n\t\tthis.importantContext = [];\n\t\tthis.currentTask = null;\n\t\tthis.lastStatus = \"ok\";\n\t}\n}\n\n/**\n * Create a default context handoff manager.\n */\nexport function createContextHandoffManager(\n\tthresholds?: Partial<ContextThresholds>,\n): ContextHandoffManager {\n\treturn new ContextHandoffManager({\n\t\t...DEFAULT_THRESHOLDS,\n\t\t...thresholds,\n\t});\n}\n\n/**\n * Estimate token count from text (rough approximation).\n * Uses ~4 characters per token as a rough estimate.\n */\nexport function estimateTokenCount(text: string): number {\n\treturn Math.ceil(text.length / 4);\n}\n\n/**\n * Format context usage for display.\n */\nexport function formatContextUsage(usage: ContextUsage): string {\n\tconst percent = Math.round(usage.usagePercent * 100);\n\tconst remaining = Math.round(usage.tokensRemaining / 1000);\n\treturn `${percent}% (${remaining}K tokens remaining)`;\n}\n"]}
1
+ {"version":3,"file":"context-handoff.js","sourceRoot":"","sources":["../../src/agent/context-handoff.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Context Handoff System.\n *\n * Manages automatic context handoff when approaching context limits.\n * Creates summarized new sessions to continue work without losing progress.\n *\n * Inspired by Amp's thread handoff feature.\n */\n\nimport { estimateTokens } from \"@evalops/contracts\";\nimport { createLogger } from \"../utils/logger.js\";\n\nconst log = createLogger(\"agent:context-handoff\");\n\n/** Context usage thresholds */\nexport interface ContextThresholds {\n\t/** Warn when context usage exceeds this percentage (0-1) */\n\twarnAt: number;\n\t/** Suggest handoff when context usage exceeds this percentage (0-1) */\n\tsuggestHandoffAt: number;\n\t/** Force handoff when context usage exceeds this percentage (0-1) */\n\tforceHandoffAt: number;\n}\n\n/** Default thresholds */\nexport const DEFAULT_THRESHOLDS: ContextThresholds = {\n\twarnAt: 0.7,\n\tsuggestHandoffAt: 0.85,\n\tforceHandoffAt: 0.95,\n};\n\n/** Context usage status */\nexport type ContextStatus =\n\t| \"ok\"\n\t| \"warning\"\n\t| \"suggest_handoff\"\n\t| \"force_handoff\";\n\n/** Handoff context for creating a new session */\nexport interface HandoffContext {\n\t/** Summary of what was accomplished */\n\tsummary: string;\n\t/** Current task/goal being worked on */\n\tcurrentTask: string | null;\n\t/** Key files that were modified */\n\tmodifiedFiles: string[];\n\t/** Key files that were read/referenced */\n\treferencedFiles: string[];\n\t/** Any pending work or todos */\n\tpendingWork: string[];\n\t/** Important context that should carry over */\n\timportantContext: string[];\n\t/** Timestamp of handoff */\n\ttimestamp: Date;\n\t/** Previous session ID if available */\n\tpreviousSessionId?: string;\n}\n\n/** Context usage tracking */\nexport interface ContextUsage {\n\t/** Current token count */\n\tcurrentTokens: number;\n\t/** Maximum context window */\n\tmaxTokens: number;\n\t/** Usage percentage (0-1) */\n\tusagePercent: number;\n\t/** Current status */\n\tstatus: ContextStatus;\n\t/** Estimated tokens remaining */\n\ttokensRemaining: number;\n}\n\n/**\n * Context Handoff Manager.\n *\n * Tracks context usage and manages handoff when limits are approached.\n */\nexport class ContextHandoffManager {\n\tprivate thresholds: ContextThresholds;\n\tprivate modifiedFiles: Set<string> = new Set();\n\tprivate referencedFiles: Set<string> = new Set();\n\tprivate pendingWork: string[] = [];\n\tprivate importantContext: string[] = [];\n\tprivate currentTask: string | null = null;\n\tprivate lastStatus: ContextStatus = \"ok\";\n\n\tconstructor(thresholds: ContextThresholds = DEFAULT_THRESHOLDS) {\n\t\tthis.thresholds = thresholds;\n\t}\n\n\t/**\n\t * Check context usage and return status.\n\t */\n\tcheckUsage(currentTokens: number, maxTokens: number): ContextUsage {\n\t\tconst usagePercent = currentTokens / maxTokens;\n\t\tconst tokensRemaining = maxTokens - currentTokens;\n\n\t\tlet status: ContextStatus = \"ok\";\n\t\tif (usagePercent >= this.thresholds.forceHandoffAt) {\n\t\t\tstatus = \"force_handoff\";\n\t\t} else if (usagePercent >= this.thresholds.suggestHandoffAt) {\n\t\t\tstatus = \"suggest_handoff\";\n\t\t} else if (usagePercent >= this.thresholds.warnAt) {\n\t\t\tstatus = \"warning\";\n\t\t}\n\n\t\t// Log status changes\n\t\tif (status !== this.lastStatus) {\n\t\t\tlog.info(\"Context status changed\", {\n\t\t\t\tfrom: this.lastStatus,\n\t\t\t\tto: status,\n\t\t\t\tusagePercent: Math.round(usagePercent * 100),\n\t\t\t\ttokensRemaining,\n\t\t\t});\n\t\t\tthis.lastStatus = status;\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentTokens,\n\t\t\tmaxTokens,\n\t\t\tusagePercent,\n\t\t\tstatus,\n\t\t\ttokensRemaining,\n\t\t};\n\t}\n\n\t/**\n\t * Record a file modification.\n\t */\n\trecordFileModification(path: string): void {\n\t\tthis.modifiedFiles.add(path);\n\t}\n\n\t/**\n\t * Record a file reference.\n\t */\n\trecordFileReference(path: string): void {\n\t\tthis.referencedFiles.add(path);\n\t}\n\n\t/**\n\t * Set the current task being worked on.\n\t */\n\tsetCurrentTask(task: string | null): void {\n\t\tthis.currentTask = task;\n\t}\n\n\t/**\n\t * Add pending work item.\n\t */\n\taddPendingWork(item: string): void {\n\t\tif (!this.pendingWork.includes(item)) {\n\t\t\tthis.pendingWork.push(item);\n\t\t}\n\t}\n\n\t/**\n\t * Remove completed work item.\n\t */\n\tcompletePendingWork(item: string): void {\n\t\tconst index = this.pendingWork.indexOf(item);\n\t\tif (index !== -1) {\n\t\t\tthis.pendingWork.splice(index, 1);\n\t\t}\n\t}\n\n\t/**\n\t * Add important context that should carry over to handoff.\n\t */\n\taddImportantContext(context: string): void {\n\t\tif (!this.importantContext.includes(context)) {\n\t\t\tthis.importantContext.push(context);\n\t\t}\n\t}\n\n\t/**\n\t * Clear important context.\n\t */\n\tclearImportantContext(): void {\n\t\tthis.importantContext = [];\n\t}\n\n\t/**\n\t * Generate handoff context for creating a new session.\n\t */\n\tgenerateHandoffContext(\n\t\tsummary: string,\n\t\tpreviousSessionId?: string,\n\t): HandoffContext {\n\t\treturn {\n\t\t\tsummary,\n\t\t\tcurrentTask: this.currentTask,\n\t\t\tmodifiedFiles: Array.from(this.modifiedFiles),\n\t\t\treferencedFiles: Array.from(this.referencedFiles),\n\t\t\tpendingWork: [...this.pendingWork],\n\t\t\timportantContext: [...this.importantContext],\n\t\t\ttimestamp: new Date(),\n\t\t\tpreviousSessionId,\n\t\t};\n\t}\n\n\t/**\n\t * Format handoff context as a prompt for the new session.\n\t */\n\tformatHandoffPrompt(context: HandoffContext): string {\n\t\tconst lines: string[] = [\n\t\t\t\"# Context Handoff\",\n\t\t\t\"\",\n\t\t\t\"This session continues from a previous conversation that reached its context limit.\",\n\t\t\t\"\",\n\t\t\t\"## Summary of Previous Work\",\n\t\t\tcontext.summary,\n\t\t\t\"\",\n\t\t];\n\n\t\tif (context.currentTask) {\n\t\t\tlines.push(\"## Current Task\", context.currentTask, \"\");\n\t\t}\n\n\t\tif (context.modifiedFiles.length > 0) {\n\t\t\tlines.push(\"## Modified Files\");\n\t\t\tfor (const file of context.modifiedFiles.slice(0, 20)) {\n\t\t\t\tlines.push(`- ${file}`);\n\t\t\t}\n\t\t\tif (context.modifiedFiles.length > 20) {\n\t\t\t\tlines.push(`- ... and ${context.modifiedFiles.length - 20} more`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tif (context.referencedFiles.length > 0) {\n\t\t\tlines.push(\"## Referenced Files\");\n\t\t\tfor (const file of context.referencedFiles.slice(0, 20)) {\n\t\t\t\tlines.push(`- ${file}`);\n\t\t\t}\n\t\t\tif (context.referencedFiles.length > 20) {\n\t\t\t\tlines.push(`- ... and ${context.referencedFiles.length - 20} more`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tif (context.pendingWork.length > 0) {\n\t\t\tlines.push(\"## Pending Work\");\n\t\t\tfor (const item of context.pendingWork) {\n\t\t\t\tlines.push(`- [ ] ${item}`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tif (context.importantContext.length > 0) {\n\t\t\tlines.push(\"## Important Context\");\n\t\t\tfor (const item of context.importantContext) {\n\t\t\t\tlines.push(`- ${item}`);\n\t\t\t}\n\t\t\tlines.push(\"\");\n\t\t}\n\n\t\tlines.push(\n\t\t\t\"---\",\n\t\t\t\"\",\n\t\t\t\"Please continue with the work described above. You can read the modified files to understand the current state.\",\n\t\t);\n\n\t\treturn lines.join(\"\\n\");\n\t}\n\n\t/**\n\t * Get status message for user display.\n\t */\n\tgetStatusMessage(usage: ContextUsage): string | null {\n\t\tswitch (usage.status) {\n\t\t\tcase \"warning\":\n\t\t\t\treturn `Context ${Math.round(usage.usagePercent * 100)}% used. Consider wrapping up soon.`;\n\t\t\tcase \"suggest_handoff\":\n\t\t\t\treturn `Context near full (${Math.round(usage.usagePercent * 100)}%). Use /handoff to continue in a new session.`;\n\t\t\tcase \"force_handoff\":\n\t\t\t\treturn `Context limit reached (${Math.round(usage.usagePercent * 100)}%). Handoff required to continue.`;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Reset tracking state (e.g., for a new session).\n\t */\n\treset(): void {\n\t\tthis.modifiedFiles.clear();\n\t\tthis.referencedFiles.clear();\n\t\tthis.pendingWork = [];\n\t\tthis.importantContext = [];\n\t\tthis.currentTask = null;\n\t\tthis.lastStatus = \"ok\";\n\t}\n}\n\n/**\n * Create a default context handoff manager.\n */\nexport function createContextHandoffManager(\n\tthresholds?: Partial<ContextThresholds>,\n): ContextHandoffManager {\n\treturn new ContextHandoffManager({\n\t\t...DEFAULT_THRESHOLDS,\n\t\t...thresholds,\n\t});\n}\n\n/**\n * Estimate token count from text (rough approximation).\n * Uses ~4 characters per token as a rough estimate.\n */\nexport function estimateTokenCount(text: string): number {\n\treturn estimateTokens(text);\n}\n\n/**\n * Format context usage for display.\n */\nexport function formatContextUsage(usage: ContextUsage): string {\n\tconst percent = Math.round(usage.usagePercent * 100);\n\tconst remaining = Math.round(usage.tokensRemaining / 1000);\n\treturn `${percent}% (${remaining}K tokens remaining)`;\n}\n"]}
@@ -9,8 +9,15 @@ export { FileTranscriptStore, MemoryTranscriptStore, createTranscript, updateTra
9
9
  export { AutoCompactionMonitor, createAutoCompactionMonitor, getAutoCompactionConfig, calculateContextUsage, shouldAutoCompact, type AutoCompactionConfig, type CompactionStats, } from "./auto-compaction.js";
10
10
  export { enterPlanMode, exitPlanMode, isPlanModeActive, getCurrentPlanFilePath, readPlanFile, writePlanFile, appendToPlanFile, listPlanFiles, loadPlanModeState, savePlanModeState, clearPlanModeState, generatePlanFilePath, getPlanModeConfig, type PlanModeState, type PlanModeConfig, } from "./plan-mode.js";
11
11
  export { SessionRecoveryManager, createSessionRecoveryManager, saveSessionBackup, loadSessionBackup, listSessionBackups, cleanupExpiredBackups, deleteSessionBackups, getSessionRecoveryConfig, type SessionBackup, type SessionRecoveryConfig, } from "./session-recovery.js";
12
- export { PromptCacheManager, createPromptCacheManager, getPromptCacheConfig, estimateTokens, type CacheControl, type CacheableBlock, type CacheStats, type PromptCacheConfig, } from "./prompt-cache.js";
12
+ export { PromptCacheManager, createPromptCacheManager, getPromptCacheConfig, type CacheControl, type CacheableBlock, type CacheStats, type PromptCacheConfig, } from "./prompt-cache.js";
13
13
  export { MODE_CONFIGS, MODEL_BY_TIER, formatModeDisplay, getAllModes, getCurrentMode, getModeConfig, getModeFromEnv, getModelForMode, getModelForTier, parseMode, resolveSubagentDispatch, setCurrentMode, suggestMode, type AgentMode, type DispatchSource, type ModeConfig, type ModelMapping, type ModelProvider, type ModelTier, type ResolvedSubagentDispatch, type SubagentDispatch, } from "./modes.js";
14
+ export { AGENT_PROFILES, AGENT_PROFILE_LEVELS, type AgentProfile, type AgentProfileBudgets, type AgentProfileLevel, type ModelInvocationProfile, parseAgentProfileLevel, resolveAgentProfile, } from "./profiles.js";
15
+ export { createPluginAgentApi, type PluginAgentApi, type PluginAgentBudgets, type PluginAgentConfig, type PluginAgentHandle, type PluginAgentModeMetadata, type PluginAgentModeRegistration, type PluginAgentPolicy, type PluginAgentSandboxMode, type RegisteredPluginAgentMode, } from "./plugin-agent-api.js";
16
+ export { loadConfiguredPluginAgentMetadata, loadPluginAgentMetadataFromDirectories, type LoadedPluginAgentModeMetadata, type PluginAgentMetadataLoadResult, } from "./plugin-agent-loader.js";
17
+ export { createRoutingReceipt, resolveAgentProfileSelection, type AgentProfileSelection, type AgentProfileSelectionInput, type RoutingReceiptContext, type RoutingReceiptDecision, } from "./routing-receipt.js";
18
+ export { assignOraclePolicyExperiment, assignConfiguredOraclePolicyExperiment, getOraclePolicyExperimentConfig, type OraclePolicyExperimentArm, type OraclePolicyExperimentAssignment, type OraclePolicyExperimentConfig, type OraclePolicyExperimentInput, } from "./oracle-policy-experiment.js";
19
+ export { DEFAULT_ORACLE_ROLLOUT_MAX_SUCCESS_RATE_REGRESSION, DEFAULT_ORACLE_ROLLOUT_MIN_VERIFIED_SAMPLES, evaluateOraclePolicyRollout, type OraclePolicyRolloutDecision, type OraclePolicyRolloutInput, type OraclePolicyRolloutMetrics, type OraclePolicyRolloutStatus, type OraclePolicyVerifiedAggregate, } from "./oracle-policy-rollout.js";
20
+ export { loadAgentProfiles, loadAgentProfilesFromDirectory, } from "./profile-loader.js";
14
21
  export { ContextHandoffManager, createContextHandoffManager, estimateTokenCount, formatContextUsage, DEFAULT_THRESHOLDS, type ContextThresholds, type ContextStatus, type ContextUsage, type HandoffContext, } from "./context-handoff.js";
15
22
  export { SUBAGENT_SPECS, TOOL_CATEGORIES, createCustomSpec, filterToolsForSubagent, formatSubagentDisplay, getAllSubagentTypes, getAllowedTools, getCurrentSubagentType, getSubagentSpec, getSubagentTypeFromEnv, isToolAllowed, parseSubagentType, setCurrentSubagentType, validateSpec, type SubagentSpec, type SubagentType, } from "./subagent-specs.js";
16
23
  export type { AgentEvent, AgentMessage, AgentRunConfig, AgentState, AgentTool, AgentToolResult, AgentToolUpdateCallback, AgentTransport, Api, AppMessage, AssistantMessage, AssistantMessageEvent, Attachment, BranchSummaryMessage, CompactionSummaryMessage, Context, CustomAgentMessages, CustomMessages, HookMessage, ImageContent, Message, Model, Provider, QueuedMessage, ReasoningEffort, StopReason, StreamOptions, TextContent, ThinkingContent, ThinkingLevel, Tool, ToolCall, ToolResultMessage, Usage, UserMessage, UserMessageWithAttachments, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,15 @@ export { FileTranscriptStore, MemoryTranscriptStore, createTranscript, updateTra
9
9
  export { AutoCompactionMonitor, createAutoCompactionMonitor, getAutoCompactionConfig, calculateContextUsage, shouldAutoCompact, } from "./auto-compaction.js";
10
10
  export { enterPlanMode, exitPlanMode, isPlanModeActive, getCurrentPlanFilePath, readPlanFile, writePlanFile, appendToPlanFile, listPlanFiles, loadPlanModeState, savePlanModeState, clearPlanModeState, generatePlanFilePath, getPlanModeConfig, } from "./plan-mode.js";
11
11
  export { SessionRecoveryManager, createSessionRecoveryManager, saveSessionBackup, loadSessionBackup, listSessionBackups, cleanupExpiredBackups, deleteSessionBackups, getSessionRecoveryConfig, } from "./session-recovery.js";
12
- export { PromptCacheManager, createPromptCacheManager, getPromptCacheConfig, estimateTokens, } from "./prompt-cache.js";
12
+ export { PromptCacheManager, createPromptCacheManager, getPromptCacheConfig, } from "./prompt-cache.js";
13
13
  export { MODE_CONFIGS, MODEL_BY_TIER, formatModeDisplay, getAllModes, getCurrentMode, getModeConfig, getModeFromEnv, getModelForMode, getModelForTier, parseMode, resolveSubagentDispatch, setCurrentMode, suggestMode, } from "./modes.js";
14
+ export { AGENT_PROFILES, AGENT_PROFILE_LEVELS, parseAgentProfileLevel, resolveAgentProfile, } from "./profiles.js";
15
+ export { createPluginAgentApi, } from "./plugin-agent-api.js";
16
+ export { loadConfiguredPluginAgentMetadata, loadPluginAgentMetadataFromDirectories, } from "./plugin-agent-loader.js";
17
+ export { createRoutingReceipt, resolveAgentProfileSelection, } from "./routing-receipt.js";
18
+ export { assignOraclePolicyExperiment, assignConfiguredOraclePolicyExperiment, getOraclePolicyExperimentConfig, } from "./oracle-policy-experiment.js";
19
+ export { DEFAULT_ORACLE_ROLLOUT_MAX_SUCCESS_RATE_REGRESSION, DEFAULT_ORACLE_ROLLOUT_MIN_VERIFIED_SAMPLES, evaluateOraclePolicyRollout, } from "./oracle-policy-rollout.js";
20
+ export { loadAgentProfiles, loadAgentProfilesFromDirectory, } from "./profile-loader.js";
14
21
  export { ContextHandoffManager, createContextHandoffManager, estimateTokenCount, formatContextUsage, DEFAULT_THRESHOLDS, } from "./context-handoff.js";
15
22
  export { SUBAGENT_SPECS, TOOL_CATEGORIES, createCustomSpec, filterToolsForSubagent, formatSubagentDisplay, getAllSubagentTypes, getAllowedTools, getCurrentSubagentType, getSubagentSpec, getSubagentTypeFromEnv, isToolAllowed, parseSubagentType, setCurrentSubagentType, validateSpec, } from "./subagent-specs.js";
16
23
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAC;AACtD,OAAO,EACN,mBAAmB,GAInB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,iBAAiB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACN,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,GAKpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,GAGzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,GAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,GAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,GAKd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,WAAW,GASX,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAKlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,GAGZ,MAAM,qBAAqB,CAAC;AAuC7B,OAAO;AACN,sBAAsB;AACtB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,EACd,YAAY;AACZ,sBAAsB;AACtB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,UAAU;AACV,oBAAoB;AACpB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["export { Agent, type AgentOptions } from \"./agent.js\";\nexport {\n\tAgentContextManager,\n\ttype AgentContextSource,\n\ttype ContextLoadResult,\n\ttype SourceLoadStatus,\n} from \"./context-manager.js\";\nexport {\n\tProviderTransport,\n\ttype ProviderTransportOptions,\n} from \"./transport.js\";\nexport { sanitizeSurrogates } from \"./providers/sanitize-unicode.js\";\nexport { StringEnum } from \"./providers/typebox-helpers.js\";\nexport { validateToolArguments } from \"./providers/validation.js\";\nexport {\n\tSystemReminderManager,\n\tcreateDefaultReminderManager,\n\twrapInSystemReminder,\n\textractSystemReminders,\n\tstripSystemReminders,\n\ttodoReminderProvider,\n\tfileReadReminderProvider,\n\teditReminderProvider,\n\ttype SystemReminder,\n\ttype ReminderContext,\n\ttype ReminderProvider,\n\ttype ReminderManagerConfig,\n} from \"./system-reminders.js\";\nexport {\n\tFileTranscriptStore,\n\tMemoryTranscriptStore,\n\tcreateTranscript,\n\tupdateTranscript,\n\tcompleteTranscript,\n\tfailTranscript,\n\tgetTranscriptSummary,\n\tbuildResumePrompt,\n\tgetDefaultTranscriptStore,\n\tsetDefaultTranscriptStore,\n\ttype AgentTranscript,\n\ttype TranscriptStore,\n} from \"./agent-resume.js\";\nexport {\n\tAutoCompactionMonitor,\n\tcreateAutoCompactionMonitor,\n\tgetAutoCompactionConfig,\n\tcalculateContextUsage,\n\tshouldAutoCompact,\n\ttype AutoCompactionConfig,\n\ttype CompactionStats,\n} from \"./auto-compaction.js\";\nexport {\n\tenterPlanMode,\n\texitPlanMode,\n\tisPlanModeActive,\n\tgetCurrentPlanFilePath,\n\treadPlanFile,\n\twritePlanFile,\n\tappendToPlanFile,\n\tlistPlanFiles,\n\tloadPlanModeState,\n\tsavePlanModeState,\n\tclearPlanModeState,\n\tgeneratePlanFilePath,\n\tgetPlanModeConfig,\n\ttype PlanModeState,\n\ttype PlanModeConfig,\n} from \"./plan-mode.js\";\nexport {\n\tSessionRecoveryManager,\n\tcreateSessionRecoveryManager,\n\tsaveSessionBackup,\n\tloadSessionBackup,\n\tlistSessionBackups,\n\tcleanupExpiredBackups,\n\tdeleteSessionBackups,\n\tgetSessionRecoveryConfig,\n\ttype SessionBackup,\n\ttype SessionRecoveryConfig,\n} from \"./session-recovery.js\";\nexport {\n\tPromptCacheManager,\n\tcreatePromptCacheManager,\n\tgetPromptCacheConfig,\n\testimateTokens,\n\ttype CacheControl,\n\ttype CacheableBlock,\n\ttype CacheStats,\n\ttype PromptCacheConfig,\n} from \"./prompt-cache.js\";\nexport {\n\tMODE_CONFIGS,\n\tMODEL_BY_TIER,\n\tformatModeDisplay,\n\tgetAllModes,\n\tgetCurrentMode,\n\tgetModeConfig,\n\tgetModeFromEnv,\n\tgetModelForMode,\n\tgetModelForTier,\n\tparseMode,\n\tresolveSubagentDispatch,\n\tsetCurrentMode,\n\tsuggestMode,\n\ttype AgentMode,\n\ttype DispatchSource,\n\ttype ModeConfig,\n\ttype ModelMapping,\n\ttype ModelProvider,\n\ttype ModelTier,\n\ttype ResolvedSubagentDispatch,\n\ttype SubagentDispatch,\n} from \"./modes.js\";\nexport {\n\tContextHandoffManager,\n\tcreateContextHandoffManager,\n\testimateTokenCount,\n\tformatContextUsage,\n\tDEFAULT_THRESHOLDS,\n\ttype ContextThresholds,\n\ttype ContextStatus,\n\ttype ContextUsage,\n\ttype HandoffContext,\n} from \"./context-handoff.js\";\nexport {\n\tSUBAGENT_SPECS,\n\tTOOL_CATEGORIES,\n\tcreateCustomSpec,\n\tfilterToolsForSubagent,\n\tformatSubagentDisplay,\n\tgetAllSubagentTypes,\n\tgetAllowedTools,\n\tgetCurrentSubagentType,\n\tgetSubagentSpec,\n\tgetSubagentTypeFromEnv,\n\tisToolAllowed,\n\tparseSubagentType,\n\tsetCurrentSubagentType,\n\tvalidateSpec,\n\ttype SubagentSpec,\n\ttype SubagentType,\n} from \"./subagent-specs.js\";\nexport type {\n\tAgentEvent,\n\tAgentMessage,\n\tAgentRunConfig,\n\tAgentState,\n\tAgentTool,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAgentTransport,\n\tApi,\n\tAppMessage,\n\tAssistantMessage,\n\tAssistantMessageEvent,\n\tAttachment,\n\tBranchSummaryMessage,\n\tCompactionSummaryMessage,\n\tContext,\n\tCustomAgentMessages,\n\tCustomMessages,\n\tHookMessage,\n\tImageContent,\n\tMessage,\n\tModel,\n\tProvider,\n\tQueuedMessage,\n\tReasoningEffort,\n\tStopReason,\n\tStreamOptions,\n\tTextContent,\n\tThinkingContent,\n\tThinkingLevel,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n\tUsage,\n\tUserMessage,\n\tUserMessageWithAttachments,\n} from \"./types.js\";\nexport {\n\t// Message type guards\n\tisUserMessage,\n\tisAssistantMessage,\n\tisToolResultMessage,\n\tisHookMessage,\n\tisBranchSummaryMessage,\n\tisCompactionSummaryMessage,\n\tisUserMessageWithAttachments,\n\thasAttachments,\n\tisLLMMessage,\n\t// Content type guards\n\tisTextContent,\n\tisThinkingContent,\n\tisImageContent,\n\tisToolCall,\n\t// Utility functions\n\tgetToolCalls,\n\tgetTextContent,\n\tgetThinkingContent,\n\thasToolCalls,\n\tgetUserMessageText,\n\tgetFirstToolCall,\n\tisErrorResult,\n\tgetLastAssistantMessage,\n\tgetLastUserMessage,\n\tcountMessagesByRole,\n\tgetImageContent,\n} from \"./type-guards.js\";\nexport { convertToLlm, isLlmMessage } from \"./message-converter.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { Agent, type AgentOptions } from \"./agent.js\";\nexport {\n\tAgentContextManager,\n\ttype AgentContextSource,\n\ttype ContextLoadResult,\n\ttype SourceLoadStatus,\n} from \"./context-manager.js\";\nexport {\n\tProviderTransport,\n\ttype ProviderTransportOptions,\n} from \"./transport.js\";\nexport { sanitizeSurrogates } from \"./providers/sanitize-unicode.js\";\nexport { StringEnum } from \"./providers/typebox-helpers.js\";\nexport { validateToolArguments } from \"./providers/validation.js\";\nexport {\n\tSystemReminderManager,\n\tcreateDefaultReminderManager,\n\twrapInSystemReminder,\n\textractSystemReminders,\n\tstripSystemReminders,\n\ttodoReminderProvider,\n\tfileReadReminderProvider,\n\teditReminderProvider,\n\ttype SystemReminder,\n\ttype ReminderContext,\n\ttype ReminderProvider,\n\ttype ReminderManagerConfig,\n} from \"./system-reminders.js\";\nexport {\n\tFileTranscriptStore,\n\tMemoryTranscriptStore,\n\tcreateTranscript,\n\tupdateTranscript,\n\tcompleteTranscript,\n\tfailTranscript,\n\tgetTranscriptSummary,\n\tbuildResumePrompt,\n\tgetDefaultTranscriptStore,\n\tsetDefaultTranscriptStore,\n\ttype AgentTranscript,\n\ttype TranscriptStore,\n} from \"./agent-resume.js\";\nexport {\n\tAutoCompactionMonitor,\n\tcreateAutoCompactionMonitor,\n\tgetAutoCompactionConfig,\n\tcalculateContextUsage,\n\tshouldAutoCompact,\n\ttype AutoCompactionConfig,\n\ttype CompactionStats,\n} from \"./auto-compaction.js\";\nexport {\n\tenterPlanMode,\n\texitPlanMode,\n\tisPlanModeActive,\n\tgetCurrentPlanFilePath,\n\treadPlanFile,\n\twritePlanFile,\n\tappendToPlanFile,\n\tlistPlanFiles,\n\tloadPlanModeState,\n\tsavePlanModeState,\n\tclearPlanModeState,\n\tgeneratePlanFilePath,\n\tgetPlanModeConfig,\n\ttype PlanModeState,\n\ttype PlanModeConfig,\n} from \"./plan-mode.js\";\nexport {\n\tSessionRecoveryManager,\n\tcreateSessionRecoveryManager,\n\tsaveSessionBackup,\n\tloadSessionBackup,\n\tlistSessionBackups,\n\tcleanupExpiredBackups,\n\tdeleteSessionBackups,\n\tgetSessionRecoveryConfig,\n\ttype SessionBackup,\n\ttype SessionRecoveryConfig,\n} from \"./session-recovery.js\";\nexport {\n\tPromptCacheManager,\n\tcreatePromptCacheManager,\n\tgetPromptCacheConfig,\n\ttype CacheControl,\n\ttype CacheableBlock,\n\ttype CacheStats,\n\ttype PromptCacheConfig,\n} from \"./prompt-cache.js\";\nexport {\n\tMODE_CONFIGS,\n\tMODEL_BY_TIER,\n\tformatModeDisplay,\n\tgetAllModes,\n\tgetCurrentMode,\n\tgetModeConfig,\n\tgetModeFromEnv,\n\tgetModelForMode,\n\tgetModelForTier,\n\tparseMode,\n\tresolveSubagentDispatch,\n\tsetCurrentMode,\n\tsuggestMode,\n\ttype AgentMode,\n\ttype DispatchSource,\n\ttype ModeConfig,\n\ttype ModelMapping,\n\ttype ModelProvider,\n\ttype ModelTier,\n\ttype ResolvedSubagentDispatch,\n\ttype SubagentDispatch,\n} from \"./modes.js\";\nexport {\n\tAGENT_PROFILES,\n\tAGENT_PROFILE_LEVELS,\n\ttype AgentProfile,\n\ttype AgentProfileBudgets,\n\ttype AgentProfileLevel,\n\ttype ModelInvocationProfile,\n\tparseAgentProfileLevel,\n\tresolveAgentProfile,\n} from \"./profiles.js\";\nexport {\n\tcreatePluginAgentApi,\n\ttype PluginAgentApi,\n\ttype PluginAgentBudgets,\n\ttype PluginAgentConfig,\n\ttype PluginAgentHandle,\n\ttype PluginAgentModeMetadata,\n\ttype PluginAgentModeRegistration,\n\ttype PluginAgentPolicy,\n\ttype PluginAgentSandboxMode,\n\ttype RegisteredPluginAgentMode,\n} from \"./plugin-agent-api.js\";\nexport {\n\tloadConfiguredPluginAgentMetadata,\n\tloadPluginAgentMetadataFromDirectories,\n\ttype LoadedPluginAgentModeMetadata,\n\ttype PluginAgentMetadataLoadResult,\n} from \"./plugin-agent-loader.js\";\nexport {\n\tcreateRoutingReceipt,\n\tresolveAgentProfileSelection,\n\ttype AgentProfileSelection,\n\ttype AgentProfileSelectionInput,\n\ttype RoutingReceiptContext,\n\ttype RoutingReceiptDecision,\n} from \"./routing-receipt.js\";\nexport {\n\tassignOraclePolicyExperiment,\n\tassignConfiguredOraclePolicyExperiment,\n\tgetOraclePolicyExperimentConfig,\n\ttype OraclePolicyExperimentArm,\n\ttype OraclePolicyExperimentAssignment,\n\ttype OraclePolicyExperimentConfig,\n\ttype OraclePolicyExperimentInput,\n} from \"./oracle-policy-experiment.js\";\nexport {\n\tDEFAULT_ORACLE_ROLLOUT_MAX_SUCCESS_RATE_REGRESSION,\n\tDEFAULT_ORACLE_ROLLOUT_MIN_VERIFIED_SAMPLES,\n\tevaluateOraclePolicyRollout,\n\ttype OraclePolicyRolloutDecision,\n\ttype OraclePolicyRolloutInput,\n\ttype OraclePolicyRolloutMetrics,\n\ttype OraclePolicyRolloutStatus,\n\ttype OraclePolicyVerifiedAggregate,\n} from \"./oracle-policy-rollout.js\";\nexport {\n\tloadAgentProfiles,\n\tloadAgentProfilesFromDirectory,\n} from \"./profile-loader.js\";\nexport {\n\tContextHandoffManager,\n\tcreateContextHandoffManager,\n\testimateTokenCount,\n\tformatContextUsage,\n\tDEFAULT_THRESHOLDS,\n\ttype ContextThresholds,\n\ttype ContextStatus,\n\ttype ContextUsage,\n\ttype HandoffContext,\n} from \"./context-handoff.js\";\nexport {\n\tSUBAGENT_SPECS,\n\tTOOL_CATEGORIES,\n\tcreateCustomSpec,\n\tfilterToolsForSubagent,\n\tformatSubagentDisplay,\n\tgetAllSubagentTypes,\n\tgetAllowedTools,\n\tgetCurrentSubagentType,\n\tgetSubagentSpec,\n\tgetSubagentTypeFromEnv,\n\tisToolAllowed,\n\tparseSubagentType,\n\tsetCurrentSubagentType,\n\tvalidateSpec,\n\ttype SubagentSpec,\n\ttype SubagentType,\n} from \"./subagent-specs.js\";\nexport type {\n\tAgentEvent,\n\tAgentMessage,\n\tAgentRunConfig,\n\tAgentState,\n\tAgentTool,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAgentTransport,\n\tApi,\n\tAppMessage,\n\tAssistantMessage,\n\tAssistantMessageEvent,\n\tAttachment,\n\tBranchSummaryMessage,\n\tCompactionSummaryMessage,\n\tContext,\n\tCustomAgentMessages,\n\tCustomMessages,\n\tHookMessage,\n\tImageContent,\n\tMessage,\n\tModel,\n\tProvider,\n\tQueuedMessage,\n\tReasoningEffort,\n\tStopReason,\n\tStreamOptions,\n\tTextContent,\n\tThinkingContent,\n\tThinkingLevel,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n\tUsage,\n\tUserMessage,\n\tUserMessageWithAttachments,\n} from \"./types.js\";\nexport {\n\t// Message type guards\n\tisUserMessage,\n\tisAssistantMessage,\n\tisToolResultMessage,\n\tisHookMessage,\n\tisBranchSummaryMessage,\n\tisCompactionSummaryMessage,\n\tisUserMessageWithAttachments,\n\thasAttachments,\n\tisLLMMessage,\n\t// Content type guards\n\tisTextContent,\n\tisThinkingContent,\n\tisImageContent,\n\tisToolCall,\n\t// Utility functions\n\tgetToolCalls,\n\tgetTextContent,\n\tgetThinkingContent,\n\thasToolCalls,\n\tgetUserMessageText,\n\tgetFirstToolCall,\n\tisErrorResult,\n\tgetLastAssistantMessage,\n\tgetLastUserMessage,\n\tcountMessagesByRole,\n\tgetImageContent,\n} from \"./type-guards.js\";\nexport { convertToLlm, isLlmMessage } from \"./message-converter.js\";\n"]}
@@ -53,7 +53,7 @@ import { type SubagentType } from "./subagent-specs.js";
53
53
  * - "free": Cost-optimized, uses haiku-class models for simple operations
54
54
  * - "custom": User-defined settings for specialized workflows
55
55
  */
56
- export type AgentMode = "smart" | "rush" | "free" | "custom" | "frontier" | "replay";
56
+ export type AgentMode = "low" | "medium" | "high" | "ultra" | "smart" | "rush" | "free" | "custom" | "frontier" | "replay";
57
57
  /**
58
58
  * Model tier representing capability levels that map to provider-specific models.
59
59
  *
@@ -1 +1 @@
1
- {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/agent/modes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/agent/modes.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,62 @@ const PROVIDERS = [
68
68
  * - **custom**: Balanced defaults that users can override
69
69
  */
70
70
  export const MODE_CONFIGS = {
71
+ low: {
72
+ displayName: "Low",
73
+ description: "Bounded, obvious, and reversible work",
74
+ primaryTier: "haiku",
75
+ fallbackTier: "haiku",
76
+ enableThinking: false,
77
+ reasoningEffort: "low",
78
+ thinkingBudget: 2000,
79
+ useExtendedContext: false,
80
+ maxRetries: 1,
81
+ costMultiplier: 0.1,
82
+ speedHint: 10,
83
+ visible: true,
84
+ },
85
+ medium: {
86
+ displayName: "Medium",
87
+ description: "Ordinary repository work with moderate uncertainty",
88
+ primaryTier: "opus",
89
+ fallbackTier: "haiku",
90
+ enableThinking: true,
91
+ reasoningEffort: "medium",
92
+ thinkingBudget: 16000,
93
+ useExtendedContext: true,
94
+ maxRetries: 2,
95
+ costMultiplier: 1,
96
+ speedHint: 5,
97
+ visible: true,
98
+ },
99
+ high: {
100
+ displayName: "High",
101
+ description: "Ambiguous or cross-cutting work where misses are expensive",
102
+ primaryTier: "opus",
103
+ fallbackTier: "sonnet",
104
+ enableThinking: true,
105
+ reasoningEffort: "xhigh",
106
+ thinkingBudget: 20000,
107
+ useExtendedContext: true,
108
+ maxRetries: 2,
109
+ costMultiplier: 1.25,
110
+ speedHint: 4,
111
+ visible: true,
112
+ },
113
+ ultra: {
114
+ displayName: "Ultra",
115
+ description: "Migrations, architecture, and discovery-heavy work",
116
+ primaryTier: "opus",
117
+ fallbackTier: "opus",
118
+ enableThinking: true,
119
+ reasoningEffort: "xhigh",
120
+ thinkingBudget: 32000,
121
+ useExtendedContext: true,
122
+ maxRetries: 3,
123
+ costMultiplier: 1.5,
124
+ speedHint: 3,
125
+ visible: true,
126
+ },
71
127
  // Smart mode: Maximum capability for complex reasoning tasks
72
128
  smart: {
73
129
  displayName: "Smart",
@@ -1 +1 @@
1
- {"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/agent/modes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAqB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,8DAA8D;AAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAuH3C,MAAM,SAAS,GAAoB;IAClC,WAAW;IACX,QAAQ;IACR,cAAc;IACd,QAAQ;CACR,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAkC;IAC1D,6DAA6D;IAC7D,KAAK,EAAE;QACN,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,QAAQ;QACtB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,QAAQ;QACzB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,GAAG;QACnB,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE;YACnD,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,QAAQ,EAAE;YACnE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE;YACxD,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE;YAC1D,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE;YAC5D,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;SACnD;KACD;IACD,kDAAkD;IAClD,IAAI,EAAE;QACL,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,GAAG;QACnB,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE;YAClD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACtD,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE;YACzD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;SACnD;KACD;IACD,6CAA6C;IAC7C,IAAI,EAAE;QACL,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,GAAG;QACnB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACnD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACjD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACtD,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACxD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;SACnD;KACD;IACD,yEAAyE;IACzE,MAAM,EAAE;QACP,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,QAAQ;QACzB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,GAAG;QACnB,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACT,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,QAAQ;QACtB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,MAAM;QACvB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK;QACd,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE;YACxD,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE;YACpD,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,EAAE;YACjE,QAAQ,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,QAAQ,EAAE;YACtE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE;YAC1D,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE;YAC1D,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;SACnD;QACD,YAAY,EAAE,eAAe;KAC7B;IACD,MAAM,EAAE;QACP,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,CAAC;QACjB,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,KAAK;QACd,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACnD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACjD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACpD,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACtD,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;YACxD,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;SACnD;QACD,YAAY,EAAE,aAAa;KAC3B;CACD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoC;IAC7D,+DAA+D;IAC/D,IAAI,EAAE;QACL,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,SAAS;QACzB,MAAM,EAAE,+BAA+B;KACvC;IACD,2DAA2D;IAC3D,MAAM,EAAE;QACP,SAAS,EAAE,4BAA4B;QACvC,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,SAAS;QACzB,MAAM,EAAE,sBAAsB;KAC9B;IACD,sDAAsD;IACtD,KAAK,EAAE;QACN,SAAS,EAAE,2BAA2B;QACtC,MAAM,EAAE,aAAa;QACrB,cAAc,EAAE,cAAc;QAC9B,MAAM,EAAE,2BAA2B;KACnC;CACD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC9B,IAAe,EACf,WAA0B,cAAc;IAExC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IACjC,OAAO,KAAK,IAAI,aAAa,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACxC,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAyB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IAIxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,OAAO;QACN,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;KAClC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAkB;IACjD,OAAO,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACtC,IAAe,EACf,IAA2B,EAC3B,WAA0B,cAAc;IAExC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,MAAM,GAAmB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9D,MAAM,cAAc,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC;IAC7D,MAAM,eAAe,GACpB,QAAQ,EAAE,eAAe,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAG,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACxD,OAAO;YACN,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC;YACxD,SAAS,EAAE,cAAc;YACzB,eAAe;YACf,SAAS,EAAE,QAAQ,EAAE,SAAS;YAC9B,WAAW,EAAE,QAAQ,EAAE,WAAW;YAClC,SAAS,EAAE,QAAQ,EAAE,SAAS;YAC9B,cAAc,EAAE,QAAQ,EAAE,cAAc;YACxC,MAAM;SACN,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC7E,OAAO;QACN,IAAI;QACJ,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,eAAe;QACf,SAAS,EAAE,QAAQ,EAAE,SAAS;QAC9B,WAAW,EAAE,QAAQ,EAAE,WAAW;QAClC,SAAS,EAAE,QAAQ,EAAE,SAAS;QAC9B,cAAc,EAAE,QAAQ,EAAE,cAAc;QACxC,MAAM;KACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAe;IAC5C,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,IAAe,EACf,WAA0B,cAAc;IAExC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,IAAI,WAAW,GAAc,OAAO,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC7C,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,WAAW,GAAG,IAAI,CAAC;IACnB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,KAAK,+BAA+B,CAAC,kBAAkB,EAAE;YACxD,SAAS,EAAE,QAAQ,IAAI,EAAE;YACzB,WAAW,EAAE,MAAM;YACnB,KAAK,EAAE,MAAM,CAAC,YAAY;SAC1B,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAChC,OAAO,UAAuB,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;IACxD,IAAI,OAAO,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;QACxC,OAAO,OAAoB,CAAC;IAC7B,CAAC;IACD,4DAA4D;IAC5D,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAe;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,GAAG,MAAM,CAAC,WAAW,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAE3B;IACA,OAAQ,MAAM,CAAC,OAAO,CAAC,YAAY,CAA+B;SAChE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;SACzE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,IAAI;QACJ,MAAM;KACN,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CAAC,eAAuB;IAClD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAEhD,sDAAsD;IACtD,MAAM,iBAAiB,GAAG;QACzB,UAAU;QACV,WAAW;QACX,QAAQ;QACR,WAAW;QACX,QAAQ;QACR,OAAO;QACP,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,eAAe;KACf,CAAC;IAEF,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG;QACxB,KAAK;QACL,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;KACR,CAAC;IAEF,6DAA6D;IAC7D,MAAM,cAAc,GAAG;QACtB,MAAM;QACN,OAAO;QACP,SAAS;QACT,UAAU;QACV,MAAM;QACN,MAAM;QACN,MAAM;QACN,QAAQ;KACR,CAAC;IAEF,2CAA2C;IAC3C,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrB,CAAC,MAAM,CAAC;IACT,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrB,CAAC,MAAM,CAAC;IACT,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7E,mDAAmD;IACnD,IAAI,YAAY,GAAG,WAAW,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,uDAAuD;IACvD,2DAA2D;IAC3D,OAAO,OAAO,CAAC;AAChB,CAAC","sourcesContent":["/**\n * Agent Modes - Different operating modes for the agent.\n *\n * This module implements a tiered model selection system inspired by Amp's\n * smart/rush/free modes. Each mode represents a different balance between\n * response quality, speed, and cost:\n *\n * - **smart**: Uses the highest capability model (opus) for complex reasoning\n * tasks. Enables thinking/reasoning mode with extended context windows.\n * Best for: Architecture decisions, complex refactoring, debugging.\n *\n * - **rush**: Uses mid-tier models (sonnet) for faster responses. Disables\n * thinking mode to reduce latency. Best for: Quick fixes, simple edits,\n * straightforward code generation.\n *\n * - **free**: Uses the most cost-effective models (haiku) with minimal\n * features. Best for: Simple questions, file searches, documentation\n * lookups where speed and cost matter more than depth.\n *\n * - **custom**: User-defined configuration allowing fine-tuned control\n * over model selection and feature toggles.\n *\n * ## Architecture\n *\n * The mode system uses a two-level abstraction:\n * 1. **ModelTier** (opus/sonnet/haiku): Logical capability levels\n * 2. **ModelMapping**: Provider-specific model IDs for each tier\n *\n * This allows the same mode configuration to work across different\n * LLM providers (Anthropic, OpenAI, Google) by mapping tiers to\n * provider-specific model identifiers.\n *\n * ## Usage\n *\n * ```typescript\n * // Set mode based on task\n * setCurrentMode(suggestMode(\"refactor the auth module\")); // → \"smart\"\n *\n * // Get model for current provider\n * const model = getModelForMode(getCurrentMode(), \"anthropic\");\n * ```\n *\n * ## Environment Variables\n *\n * - `MAESTRO_MODE`: Override the default mode at startup\n */\n\nimport { recordStagedRolloutSurfaceUsage } from \"../telemetry.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { type SubagentType, parseSubagentType } from \"./subagent-specs.js\";\n\n// Logger scoped to agent modes for debugging mode transitions\nconst logger = createLogger(\"agent:modes\");\n\n/**\n * Available agent modes representing different quality/speed/cost tradeoffs.\n *\n * - \"smart\": Maximum capability, uses opus-class models with reasoning enabled\n * - \"rush\": Balanced speed, uses sonnet-class models without reasoning overhead\n * - \"free\": Cost-optimized, uses haiku-class models for simple operations\n * - \"custom\": User-defined settings for specialized workflows\n */\nexport type AgentMode =\n\t| \"smart\"\n\t| \"rush\"\n\t| \"free\"\n\t| \"custom\"\n\t| \"frontier\"\n\t| \"replay\";\n\n/**\n * Model tier representing capability levels that map to provider-specific models.\n *\n * The tier abstraction allows the same configuration to work across providers:\n * - \"opus\": Highest capability (claude-opus, gpt-5.2, gemini-thinking)\n * - \"sonnet\": Balanced capability (claude-sonnet, gpt-4o, gemini-flash)\n * - \"haiku\": Fast/efficient (claude-haiku, gpt-4o-mini, gemini-flash-lite)\n */\nexport type ModelTier = \"opus\" | \"sonnet\" | \"haiku\";\n\n/** Supported model providers for tier and subagent dispatch. */\nexport type ModelProvider = \"anthropic\" | \"openai\" | \"openai-codex\" | \"google\";\n\n/** Reasoning budget hint passed to subagents that support it. */\nexport type ReasoningEffort = \"low\" | \"medium\" | \"high\" | \"xhigh\";\n\n/** Where the resolved subagent dispatch came from. */\nexport type DispatchSource = \"mode\" | \"fallback\";\n\n/**\n * Per-subagent model routing override.\n *\n * `model` can be a logical model tier (`opus`, `sonnet`, `haiku`) or an\n * explicit model ID. Explicit model IDs may be provider-prefixed, for example\n * `openai-codex/gpt-5.5`.\n */\nexport interface SubagentDispatch {\n\tmodel: ModelTier | string;\n\tprovider?: ModelProvider;\n\treasoningEffort?: ReasoningEffort;\n\tmaxTokens?: number;\n\ttemperature?: number;\n\ttimeoutMs?: number;\n\tpromptTemplate?: string;\n}\n\n/** Fully resolved model routing for one subagent invocation. */\nexport interface ResolvedSubagentDispatch {\n\tmode: AgentMode;\n\ttype: SubagentType;\n\tprovider: ModelProvider;\n\tmodel: string;\n\tmodelTier?: ModelTier;\n\treasoningEffort: ReasoningEffort;\n\tmaxTokens?: number;\n\ttemperature?: number;\n\ttimeoutMs?: number;\n\tpromptTemplate?: string;\n\tsource: DispatchSource;\n}\n\n/**\n * Mode configuration that determines model selection and behavior.\n *\n * Each mode has a complete configuration that controls:\n * - Which model tier to use (primary and fallback)\n * - Whether to enable extended reasoning/thinking\n * - Context and retry limits\n * - UI hints for cost/speed display\n */\nexport interface ModeConfig {\n\t/** Display name for the mode */\n\tdisplayName: string;\n\t/** Description of what this mode does */\n\tdescription: string;\n\t/** Primary model tier to use */\n\tprimaryTier: ModelTier;\n\t/** Fallback model tier if primary is unavailable */\n\tfallbackTier: ModelTier;\n\t/** Whether to enable thinking/reasoning */\n\tenableThinking: boolean;\n\t/** Default reasoning effort for mode-level and fallback subagent routing. */\n\treasoningEffort?: ReasoningEffort;\n\t/** Maximum thinking budget (tokens) */\n\tthinkingBudget: number;\n\t/** Whether to use extended context */\n\tuseExtendedContext: boolean;\n\t/** Retry configuration */\n\tmaxRetries: number;\n\t/** Cost multiplier hint (for UI display) */\n\tcostMultiplier: number;\n\t/** Speed hint (1-10, higher is faster) */\n\tspeedHint: number;\n\t/** Whether this mode is shown in default user-facing mode lists. */\n\tvisible: boolean;\n\t/** Optional dispatch table for mode-specific subagent routing. */\n\tsubagents?: Partial<Record<SubagentType, SubagentDispatch>>;\n\t/** Owner responsible for promotion or removal when hidden. */\n\trolloutOwner?: string;\n}\n\n/**\n * Model mapping for different providers.\n */\nexport interface ModelMapping {\n\tanthropic: string;\n\topenai?: string;\n\t\"openai-codex\"?: string;\n\tgoogle?: string;\n}\n\nconst PROVIDERS: ModelProvider[] = [\n\t\"anthropic\",\n\t\"openai\",\n\t\"openai-codex\",\n\t\"google\",\n];\n\n/**\n * Default mode configurations defining the behavior of each agent mode.\n *\n * These configurations are the canonical source of truth for how each mode\n * behaves. The settings are carefully tuned based on model capabilities\n * and typical use case requirements:\n *\n * - **smart**: Full-featured for complex tasks (16k thinking budget, 3 retries)\n * - **rush**: Optimized for speed (no thinking, 2 retries, smaller context)\n * - **free**: Minimal resource usage (no thinking, 1 retry, no extended context)\n * - **custom**: Balanced defaults that users can override\n */\nexport const MODE_CONFIGS: Record<AgentMode, ModeConfig> = {\n\t// Smart mode: Maximum capability for complex reasoning tasks\n\tsmart: {\n\t\tdisplayName: \"Smart\",\n\t\tdescription: \"Best quality, uses opus for complex tasks\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"sonnet\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"medium\",\n\t\tthinkingBudget: 16000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 3,\n\t\tcostMultiplier: 1.0,\n\t\tspeedHint: 5,\n\t\tvisible: true,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"opus\", reasoningEffort: \"high\" },\n\t\t\tcoder: { model: \"openai-codex/gpt-5.5\", reasoningEffort: \"medium\" },\n\t\t\treviewer: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\tresearcher: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\t\"browser-qa\": { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t},\n\t// Rush mode: Speed-optimized for quick iterations\n\trush: {\n\t\tdisplayName: \"Rush\",\n\t\tdescription: \"Fast responses, uses sonnet for speed\",\n\t\tprimaryTier: \"sonnet\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 4000,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 2,\n\t\tcostMultiplier: 0.5,\n\t\tspeedHint: 8,\n\t\tvisible: true,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"sonnet\", reasoningEffort: \"low\" },\n\t\t\tcoder: { model: \"sonnet\", reasoningEffort: \"low\" },\n\t\t\treviewer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tresearcher: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\t\"browser-qa\": { model: \"sonnet\", reasoningEffort: \"low\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t},\n\t// Free mode: Cost-optimized for simple tasks\n\tfree: {\n\t\tdisplayName: \"Free\",\n\t\tdescription: \"Most cost-effective, uses haiku\",\n\t\tprimaryTier: \"haiku\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 2000,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 1,\n\t\tcostMultiplier: 0.1,\n\t\tspeedHint: 10,\n\t\tvisible: true,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tcoder: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\treviewer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tresearcher: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\t\"browser-qa\": { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t},\n\t// Custom mode: User-configurable defaults (can be overridden at runtime)\n\tcustom: {\n\t\tdisplayName: \"Custom\",\n\t\tdescription: \"User-defined configuration\",\n\t\tprimaryTier: \"sonnet\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"medium\",\n\t\tthinkingBudget: 8000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 2,\n\t\tcostMultiplier: 0.7,\n\t\tspeedHint: 6,\n\t\tvisible: true,\n\t},\n\tfrontier: {\n\t\tdisplayName: \"Frontier\",\n\t\tdescription: \"Experimental high-capability orchestration mode\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"sonnet\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"high\",\n\t\tthinkingBudget: 20000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 3,\n\t\tcostMultiplier: 1.25,\n\t\tspeedHint: 4,\n\t\tvisible: false,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\tplanner: { model: \"opus\", reasoningEffort: \"xhigh\" },\n\t\t\tcoder: { model: \"openai-codex/gpt-5.5\", reasoningEffort: \"high\" },\n\t\t\treviewer: { model: \"openai-codex/gpt-5.5\", reasoningEffort: \"medium\" },\n\t\t\tresearcher: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\t\"browser-qa\": { model: \"sonnet\", reasoningEffort: \"high\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t\trolloutOwner: \"agent-runtime\",\n\t},\n\treplay: {\n\t\tdisplayName: \"Replay\",\n\t\tdescription: \"Deterministic scripted scenario replay\",\n\t\tprimaryTier: \"haiku\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 0,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 0,\n\t\tcostMultiplier: 0,\n\t\tspeedHint: 10,\n\t\tvisible: false,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tcoder: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\treviewer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tresearcher: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\t\"browser-qa\": { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t\trolloutOwner: \"agent-evals\",\n\t},\n};\n\n/**\n * Model mappings by tier for each provider.\n *\n * This lookup table maps abstract capability tiers to concrete model IDs\n * for each supported LLM provider. When adding new providers or updating\n * model versions, update this table to maintain consistent tier behavior.\n *\n * Note: Model IDs include version dates to ensure reproducibility.\n * Update these periodically as providers release improved versions.\n */\nexport const MODEL_BY_TIER: Record<ModelTier, ModelMapping> = {\n\t// Opus tier: Highest capability models with advanced reasoning\n\topus: {\n\t\tanthropic: \"claude-opus-4-6\",\n\t\topenai: \"gpt-5.2\",\n\t\t\"openai-codex\": \"gpt-5.5\",\n\t\tgoogle: \"gemini-2.0-flash-thinking-exp\",\n\t},\n\t// Sonnet tier: Balanced performance models for general use\n\tsonnet: {\n\t\tanthropic: \"claude-sonnet-4-5-20250929\",\n\t\topenai: \"gpt-4o\",\n\t\t\"openai-codex\": \"gpt-5.4\",\n\t\tgoogle: \"gemini-2.0-flash-exp\",\n\t},\n\t// Haiku tier: Fast, efficient models for simple tasks\n\thaiku: {\n\t\tanthropic: \"claude-haiku-4-5-20251001\",\n\t\topenai: \"gpt-4o-mini\",\n\t\t\"openai-codex\": \"gpt-5.4-mini\",\n\t\tgoogle: \"gemini-2.0-flash-lite-exp\",\n\t},\n};\n\n/**\n * Get the model ID for a given tier and provider.\n *\n * @param tier - The capability tier (opus/sonnet/haiku)\n * @param provider - The LLM provider (defaults to openai-codex)\n * @returns The concrete model ID string for the provider\n *\n * Falls back to the OpenAI Codex model if the requested provider\n * doesn't have a mapping for the tier.\n */\nexport function getModelForTier(\n\ttier: ModelTier,\n\tprovider: ModelProvider = \"openai-codex\",\n): string {\n\tconst mapping = MODEL_BY_TIER[tier];\n\treturn mapping[provider] ?? mapping[\"openai-codex\"] ?? \"gpt-5.5\";\n}\n\nfunction isModelTier(model: string): model is ModelTier {\n\treturn model in MODEL_BY_TIER;\n}\n\nfunction isModelProvider(provider: string): provider is ModelProvider {\n\treturn PROVIDERS.includes(provider as ModelProvider);\n}\n\nfunction splitExplicitModel(model: string): {\n\tprovider?: ModelProvider;\n\tmodel: string;\n} {\n\tconst slashIndex = model.indexOf(\"/\");\n\tif (slashIndex <= 0) {\n\t\treturn { model };\n\t}\n\n\tconst provider = model.slice(0, slashIndex);\n\tif (!isModelProvider(provider)) {\n\t\treturn { model };\n\t}\n\n\treturn {\n\t\tprovider,\n\t\tmodel: model.slice(slashIndex + 1),\n\t};\n}\n\nfunction defaultReasoningEffort(config: ModeConfig): ReasoningEffort {\n\treturn config.reasoningEffort ?? (config.enableThinking ? \"medium\" : \"low\");\n}\n\n/**\n * Resolve the concrete model/provider a subagent should use in a mode.\n */\nexport function resolveSubagentDispatch(\n\tmode: AgentMode,\n\ttype: SubagentType | string,\n\tprovider: ModelProvider = \"openai-codex\",\n): ResolvedSubagentDispatch {\n\tconst config = getModeConfig(mode);\n\tconst resolvedType = parseSubagentType(type) ?? \"coder\";\n\tconst dispatch = config.subagents?.[resolvedType];\n\tconst source: DispatchSource = dispatch ? \"mode\" : \"fallback\";\n\tconst requestedModel = dispatch?.model ?? config.primaryTier;\n\tconst reasoningEffort =\n\t\tdispatch?.reasoningEffort ?? defaultReasoningEffort(config);\n\n\tif (isModelTier(requestedModel)) {\n\t\tconst resolvedProvider = dispatch?.provider ?? provider;\n\t\treturn {\n\t\t\tmode,\n\t\t\ttype: resolvedType,\n\t\t\tprovider: resolvedProvider,\n\t\t\tmodel: getModelForTier(requestedModel, resolvedProvider),\n\t\t\tmodelTier: requestedModel,\n\t\t\treasoningEffort,\n\t\t\tmaxTokens: dispatch?.maxTokens,\n\t\t\ttemperature: dispatch?.temperature,\n\t\t\ttimeoutMs: dispatch?.timeoutMs,\n\t\t\tpromptTemplate: dispatch?.promptTemplate,\n\t\t\tsource,\n\t\t};\n\t}\n\n\tconst explicit = splitExplicitModel(requestedModel);\n\tconst resolvedProvider = dispatch?.provider ?? explicit.provider ?? provider;\n\treturn {\n\t\tmode,\n\t\ttype: resolvedType,\n\t\tprovider: resolvedProvider,\n\t\tmodel: explicit.model,\n\t\treasoningEffort,\n\t\tmaxTokens: dispatch?.maxTokens,\n\t\ttemperature: dispatch?.temperature,\n\t\ttimeoutMs: dispatch?.timeoutMs,\n\t\tpromptTemplate: dispatch?.promptTemplate,\n\t\tsource,\n\t};\n}\n\n/**\n * Get the configuration for a mode.\n */\nexport function getModeConfig(mode: AgentMode): ModeConfig {\n\treturn MODE_CONFIGS[mode];\n}\n\n/**\n * Get the recommended model for a mode and provider.\n */\nexport function getModelForMode(\n\tmode: AgentMode,\n\tprovider: ModelProvider = \"openai-codex\",\n): string {\n\tconst config = getModeConfig(mode);\n\treturn getModelForTier(config.primaryTier, provider);\n}\n\n/**\n * Current agent mode state (module-level singleton).\n *\n * This tracks the active mode for the current process. In multi-session\n * scenarios, each session should manage its own mode state rather than\n * relying on this global.\n */\nlet currentMode: AgentMode = \"smart\";\n\n/**\n * Get the current agent mode.\n *\n * @returns The currently active agent mode\n */\nexport function getCurrentMode(): AgentMode {\n\treturn currentMode;\n}\n\n/**\n * Set the current agent mode.\n *\n * This updates the global mode state and logs the transition for debugging.\n * Mode changes take effect immediately for subsequent operations.\n *\n * @param mode - The new mode to activate\n */\nexport function setCurrentMode(mode: AgentMode): void {\n\tlogger.info(\"Setting agent mode\", { mode });\n\tcurrentMode = mode;\n\tconst config = getModeConfig(mode);\n\tif (config.visible === false) {\n\t\tvoid recordStagedRolloutSurfaceUsage(\"hidden_mode_used\", {\n\t\t\tsurfaceId: `mode:${mode}`,\n\t\t\tsurfaceType: \"mode\",\n\t\t\towner: config.rolloutOwner,\n\t\t});\n\t}\n}\n\n/**\n * Parse mode from string (case-insensitive).\n *\n * Validates user input and converts to a valid AgentMode type.\n *\n * @param modeStr - User-provided mode string (e.g., \"Smart\", \"RUSH\")\n * @returns The parsed AgentMode, or null if invalid\n */\nexport function parseMode(modeStr: string): AgentMode | null {\n\tconst normalized = modeStr.toLowerCase().trim();\n\tif (normalized in MODE_CONFIGS) {\n\t\treturn normalized as AgentMode;\n\t}\n\treturn null;\n}\n\n/**\n * Get mode from environment variable.\n *\n * Reads MAESTRO_MODE from environment and validates it.\n * Defaults to \"smart\" if not set or invalid.\n *\n * @returns The configured mode or \"smart\" as default\n */\nexport function getModeFromEnv(): AgentMode {\n\tconst envMode = process.env.MAESTRO_MODE?.toLowerCase();\n\tif (envMode && envMode in MODE_CONFIGS) {\n\t\treturn envMode as AgentMode;\n\t}\n\t// Default to smart mode for best quality when not specified\n\treturn \"smart\";\n}\n\n/**\n * Format mode for display.\n */\nexport function formatModeDisplay(mode: AgentMode): string {\n\tconst config = getModeConfig(mode);\n\treturn `${config.displayName} - ${config.description}`;\n}\n\n/**\n * Get all available modes with their descriptions.\n */\nexport function getAllModes(options?: {\n\tincludeHidden?: boolean;\n}): Array<{ mode: AgentMode; config: ModeConfig }> {\n\treturn (Object.entries(MODE_CONFIGS) as [AgentMode, ModeConfig][])\n\t\t.filter(([, config]) => options?.includeHidden === true || config.visible)\n\t\t.map(([mode, config]) => ({\n\t\t\tmode,\n\t\t\tconfig,\n\t\t}));\n}\n\n/**\n * Suggest a mode based on task complexity heuristics.\n *\n * This function analyzes the task description to recommend an appropriate\n * mode based on keyword matching. It uses a scoring system to determine\n * task complexity:\n *\n * **Scoring Algorithm:**\n * 1. Count matches against complex/simple/info indicator word lists\n * 2. Compare scores to determine dominant category\n * 3. Return mode matching the highest score\n *\n * **Keyword Categories:**\n * - Complex (→ smart): refactor, architect, design, implement, build...\n * - Simple (→ rush): fix, typo, rename, update, small changes...\n * - Info (→ free): what, where, explain, find, search queries...\n *\n * @param taskDescription - The user's task description to analyze\n * @returns The recommended AgentMode based on task complexity\n *\n * @example\n * suggestMode(\"refactor the authentication module\") // → \"smart\"\n * suggestMode(\"fix typo in README\") // → \"rush\"\n * suggestMode(\"what does this function do?\") // → \"free\"\n */\nexport function suggestMode(taskDescription: string): AgentMode {\n\tconst lowerTask = taskDescription.toLowerCase();\n\n\t// Complex tasks → smart mode (require deep reasoning)\n\tconst complexIndicators = [\n\t\t\"refactor\",\n\t\t\"architect\",\n\t\t\"design\",\n\t\t\"implement\",\n\t\t\"create\",\n\t\t\"build\",\n\t\t\"complex\",\n\t\t\"system\",\n\t\t\"full\",\n\t\t\"entire\",\n\t\t\"comprehensive\",\n\t];\n\n\t// Simple tasks → rush mode (straightforward modifications)\n\tconst simpleIndicators = [\n\t\t\"fix\",\n\t\t\"typo\",\n\t\t\"simple\",\n\t\t\"quick\",\n\t\t\"small\",\n\t\t\"minor\",\n\t\t\"rename\",\n\t\t\"update\",\n\t\t\"change\",\n\t];\n\n\t// Information tasks → free mode (queries, not modifications)\n\tconst infoIndicators = [\n\t\t\"what\",\n\t\t\"where\",\n\t\t\"explain\",\n\t\t\"describe\",\n\t\t\"list\",\n\t\t\"show\",\n\t\t\"find\",\n\t\t\"search\",\n\t];\n\n\t// Calculate match scores for each category\n\tconst complexScore = complexIndicators.filter((i) =>\n\t\tlowerTask.includes(i),\n\t).length;\n\tconst simpleScore = simpleIndicators.filter((i) =>\n\t\tlowerTask.includes(i),\n\t).length;\n\tconst infoScore = infoIndicators.filter((i) => lowerTask.includes(i)).length;\n\n\t// Determine mode based on highest scoring category\n\tif (complexScore > simpleScore && complexScore > infoScore) {\n\t\treturn \"smart\";\n\t}\n\tif (infoScore > simpleScore) {\n\t\treturn \"free\";\n\t}\n\tif (simpleScore > 0) {\n\t\treturn \"rush\";\n\t}\n\n\t// Default to smart mode when no clear indicators found\n\t// (better to over-estimate complexity than under-estimate)\n\treturn \"smart\";\n}\n"]}
1
+ {"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/agent/modes.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Modes - Different operating modes for the agent.\n *\n * This module implements a tiered model selection system inspired by Amp's\n * smart/rush/free modes. Each mode represents a different balance between\n * response quality, speed, and cost:\n *\n * - **smart**: Uses the highest capability model (opus) for complex reasoning\n * tasks. Enables thinking/reasoning mode with extended context windows.\n * Best for: Architecture decisions, complex refactoring, debugging.\n *\n * - **rush**: Uses mid-tier models (sonnet) for faster responses. Disables\n * thinking mode to reduce latency. Best for: Quick fixes, simple edits,\n * straightforward code generation.\n *\n * - **free**: Uses the most cost-effective models (haiku) with minimal\n * features. Best for: Simple questions, file searches, documentation\n * lookups where speed and cost matter more than depth.\n *\n * - **custom**: User-defined configuration allowing fine-tuned control\n * over model selection and feature toggles.\n *\n * ## Architecture\n *\n * The mode system uses a two-level abstraction:\n * 1. **ModelTier** (opus/sonnet/haiku): Logical capability levels\n * 2. **ModelMapping**: Provider-specific model IDs for each tier\n *\n * This allows the same mode configuration to work across different\n * LLM providers (Anthropic, OpenAI, Google) by mapping tiers to\n * provider-specific model identifiers.\n *\n * ## Usage\n *\n * ```typescript\n * // Set mode based on task\n * setCurrentMode(suggestMode(\"refactor the auth module\")); // → \"smart\"\n *\n * // Get model for current provider\n * const model = getModelForMode(getCurrentMode(), \"anthropic\");\n * ```\n *\n * ## Environment Variables\n *\n * - `MAESTRO_MODE`: Override the default mode at startup\n */\n\nimport { recordStagedRolloutSurfaceUsage } from \"../telemetry.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { type SubagentType, parseSubagentType } from \"./subagent-specs.js\";\n\n// Logger scoped to agent modes for debugging mode transitions\nconst logger = createLogger(\"agent:modes\");\n\n/**\n * Available agent modes representing different quality/speed/cost tradeoffs.\n *\n * - \"smart\": Maximum capability, uses opus-class models with reasoning enabled\n * - \"rush\": Balanced speed, uses sonnet-class models without reasoning overhead\n * - \"free\": Cost-optimized, uses haiku-class models for simple operations\n * - \"custom\": User-defined settings for specialized workflows\n */\nexport type AgentMode =\n\t| \"low\"\n\t| \"medium\"\n\t| \"high\"\n\t| \"ultra\"\n\t| \"smart\"\n\t| \"rush\"\n\t| \"free\"\n\t| \"custom\"\n\t| \"frontier\"\n\t| \"replay\";\n\n/**\n * Model tier representing capability levels that map to provider-specific models.\n *\n * The tier abstraction allows the same configuration to work across providers:\n * - \"opus\": Highest capability (claude-opus, gpt-5.2, gemini-thinking)\n * - \"sonnet\": Balanced capability (claude-sonnet, gpt-4o, gemini-flash)\n * - \"haiku\": Fast/efficient (claude-haiku, gpt-4o-mini, gemini-flash-lite)\n */\nexport type ModelTier = \"opus\" | \"sonnet\" | \"haiku\";\n\n/** Supported model providers for tier and subagent dispatch. */\nexport type ModelProvider = \"anthropic\" | \"openai\" | \"openai-codex\" | \"google\";\n\n/** Reasoning budget hint passed to subagents that support it. */\nexport type ReasoningEffort = \"low\" | \"medium\" | \"high\" | \"xhigh\";\n\n/** Where the resolved subagent dispatch came from. */\nexport type DispatchSource = \"mode\" | \"fallback\";\n\n/**\n * Per-subagent model routing override.\n *\n * `model` can be a logical model tier (`opus`, `sonnet`, `haiku`) or an\n * explicit model ID. Explicit model IDs may be provider-prefixed, for example\n * `openai-codex/gpt-5.5`.\n */\nexport interface SubagentDispatch {\n\tmodel: ModelTier | string;\n\tprovider?: ModelProvider;\n\treasoningEffort?: ReasoningEffort;\n\tmaxTokens?: number;\n\ttemperature?: number;\n\ttimeoutMs?: number;\n\tpromptTemplate?: string;\n}\n\n/** Fully resolved model routing for one subagent invocation. */\nexport interface ResolvedSubagentDispatch {\n\tmode: AgentMode;\n\ttype: SubagentType;\n\tprovider: ModelProvider;\n\tmodel: string;\n\tmodelTier?: ModelTier;\n\treasoningEffort: ReasoningEffort;\n\tmaxTokens?: number;\n\ttemperature?: number;\n\ttimeoutMs?: number;\n\tpromptTemplate?: string;\n\tsource: DispatchSource;\n}\n\n/**\n * Mode configuration that determines model selection and behavior.\n *\n * Each mode has a complete configuration that controls:\n * - Which model tier to use (primary and fallback)\n * - Whether to enable extended reasoning/thinking\n * - Context and retry limits\n * - UI hints for cost/speed display\n */\nexport interface ModeConfig {\n\t/** Display name for the mode */\n\tdisplayName: string;\n\t/** Description of what this mode does */\n\tdescription: string;\n\t/** Primary model tier to use */\n\tprimaryTier: ModelTier;\n\t/** Fallback model tier if primary is unavailable */\n\tfallbackTier: ModelTier;\n\t/** Whether to enable thinking/reasoning */\n\tenableThinking: boolean;\n\t/** Default reasoning effort for mode-level and fallback subagent routing. */\n\treasoningEffort?: ReasoningEffort;\n\t/** Maximum thinking budget (tokens) */\n\tthinkingBudget: number;\n\t/** Whether to use extended context */\n\tuseExtendedContext: boolean;\n\t/** Retry configuration */\n\tmaxRetries: number;\n\t/** Cost multiplier hint (for UI display) */\n\tcostMultiplier: number;\n\t/** Speed hint (1-10, higher is faster) */\n\tspeedHint: number;\n\t/** Whether this mode is shown in default user-facing mode lists. */\n\tvisible: boolean;\n\t/** Optional dispatch table for mode-specific subagent routing. */\n\tsubagents?: Partial<Record<SubagentType, SubagentDispatch>>;\n\t/** Owner responsible for promotion or removal when hidden. */\n\trolloutOwner?: string;\n}\n\n/**\n * Model mapping for different providers.\n */\nexport interface ModelMapping {\n\tanthropic: string;\n\topenai?: string;\n\t\"openai-codex\"?: string;\n\tgoogle?: string;\n}\n\nconst PROVIDERS: ModelProvider[] = [\n\t\"anthropic\",\n\t\"openai\",\n\t\"openai-codex\",\n\t\"google\",\n];\n\n/**\n * Default mode configurations defining the behavior of each agent mode.\n *\n * These configurations are the canonical source of truth for how each mode\n * behaves. The settings are carefully tuned based on model capabilities\n * and typical use case requirements:\n *\n * - **smart**: Full-featured for complex tasks (16k thinking budget, 3 retries)\n * - **rush**: Optimized for speed (no thinking, 2 retries, smaller context)\n * - **free**: Minimal resource usage (no thinking, 1 retry, no extended context)\n * - **custom**: Balanced defaults that users can override\n */\nexport const MODE_CONFIGS: Record<AgentMode, ModeConfig> = {\n\tlow: {\n\t\tdisplayName: \"Low\",\n\t\tdescription: \"Bounded, obvious, and reversible work\",\n\t\tprimaryTier: \"haiku\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 2000,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 1,\n\t\tcostMultiplier: 0.1,\n\t\tspeedHint: 10,\n\t\tvisible: true,\n\t},\n\tmedium: {\n\t\tdisplayName: \"Medium\",\n\t\tdescription: \"Ordinary repository work with moderate uncertainty\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"medium\",\n\t\tthinkingBudget: 16000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 2,\n\t\tcostMultiplier: 1,\n\t\tspeedHint: 5,\n\t\tvisible: true,\n\t},\n\thigh: {\n\t\tdisplayName: \"High\",\n\t\tdescription: \"Ambiguous or cross-cutting work where misses are expensive\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"sonnet\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"xhigh\",\n\t\tthinkingBudget: 20000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 2,\n\t\tcostMultiplier: 1.25,\n\t\tspeedHint: 4,\n\t\tvisible: true,\n\t},\n\tultra: {\n\t\tdisplayName: \"Ultra\",\n\t\tdescription: \"Migrations, architecture, and discovery-heavy work\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"opus\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"xhigh\",\n\t\tthinkingBudget: 32000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 3,\n\t\tcostMultiplier: 1.5,\n\t\tspeedHint: 3,\n\t\tvisible: true,\n\t},\n\t// Smart mode: Maximum capability for complex reasoning tasks\n\tsmart: {\n\t\tdisplayName: \"Smart\",\n\t\tdescription: \"Best quality, uses opus for complex tasks\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"sonnet\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"medium\",\n\t\tthinkingBudget: 16000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 3,\n\t\tcostMultiplier: 1.0,\n\t\tspeedHint: 5,\n\t\tvisible: true,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"opus\", reasoningEffort: \"high\" },\n\t\t\tcoder: { model: \"openai-codex/gpt-5.5\", reasoningEffort: \"medium\" },\n\t\t\treviewer: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\tresearcher: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\t\"browser-qa\": { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t},\n\t// Rush mode: Speed-optimized for quick iterations\n\trush: {\n\t\tdisplayName: \"Rush\",\n\t\tdescription: \"Fast responses, uses sonnet for speed\",\n\t\tprimaryTier: \"sonnet\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 4000,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 2,\n\t\tcostMultiplier: 0.5,\n\t\tspeedHint: 8,\n\t\tvisible: true,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"sonnet\", reasoningEffort: \"low\" },\n\t\t\tcoder: { model: \"sonnet\", reasoningEffort: \"low\" },\n\t\t\treviewer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tresearcher: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\t\"browser-qa\": { model: \"sonnet\", reasoningEffort: \"low\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t},\n\t// Free mode: Cost-optimized for simple tasks\n\tfree: {\n\t\tdisplayName: \"Free\",\n\t\tdescription: \"Most cost-effective, uses haiku\",\n\t\tprimaryTier: \"haiku\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 2000,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 1,\n\t\tcostMultiplier: 0.1,\n\t\tspeedHint: 10,\n\t\tvisible: true,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tcoder: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\treviewer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tresearcher: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\t\"browser-qa\": { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t},\n\t// Custom mode: User-configurable defaults (can be overridden at runtime)\n\tcustom: {\n\t\tdisplayName: \"Custom\",\n\t\tdescription: \"User-defined configuration\",\n\t\tprimaryTier: \"sonnet\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"medium\",\n\t\tthinkingBudget: 8000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 2,\n\t\tcostMultiplier: 0.7,\n\t\tspeedHint: 6,\n\t\tvisible: true,\n\t},\n\tfrontier: {\n\t\tdisplayName: \"Frontier\",\n\t\tdescription: \"Experimental high-capability orchestration mode\",\n\t\tprimaryTier: \"opus\",\n\t\tfallbackTier: \"sonnet\",\n\t\tenableThinking: true,\n\t\treasoningEffort: \"high\",\n\t\tthinkingBudget: 20000,\n\t\tuseExtendedContext: true,\n\t\tmaxRetries: 3,\n\t\tcostMultiplier: 1.25,\n\t\tspeedHint: 4,\n\t\tvisible: false,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\tplanner: { model: \"opus\", reasoningEffort: \"xhigh\" },\n\t\t\tcoder: { model: \"openai-codex/gpt-5.5\", reasoningEffort: \"high\" },\n\t\t\treviewer: { model: \"openai-codex/gpt-5.5\", reasoningEffort: \"medium\" },\n\t\t\tresearcher: { model: \"sonnet\", reasoningEffort: \"medium\" },\n\t\t\t\"browser-qa\": { model: \"sonnet\", reasoningEffort: \"high\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t\trolloutOwner: \"agent-runtime\",\n\t},\n\treplay: {\n\t\tdisplayName: \"Replay\",\n\t\tdescription: \"Deterministic scripted scenario replay\",\n\t\tprimaryTier: \"haiku\",\n\t\tfallbackTier: \"haiku\",\n\t\tenableThinking: false,\n\t\treasoningEffort: \"low\",\n\t\tthinkingBudget: 0,\n\t\tuseExtendedContext: false,\n\t\tmaxRetries: 0,\n\t\tcostMultiplier: 0,\n\t\tspeedHint: 10,\n\t\tvisible: false,\n\t\tsubagents: {\n\t\t\texplorer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tplanner: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tcoder: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\treviewer: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tresearcher: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\t\"browser-qa\": { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t\tminimal: { model: \"haiku\", reasoningEffort: \"low\" },\n\t\t},\n\t\trolloutOwner: \"agent-evals\",\n\t},\n};\n\n/**\n * Model mappings by tier for each provider.\n *\n * This lookup table maps abstract capability tiers to concrete model IDs\n * for each supported LLM provider. When adding new providers or updating\n * model versions, update this table to maintain consistent tier behavior.\n *\n * Note: Model IDs include version dates to ensure reproducibility.\n * Update these periodically as providers release improved versions.\n */\nexport const MODEL_BY_TIER: Record<ModelTier, ModelMapping> = {\n\t// Opus tier: Highest capability models with advanced reasoning\n\topus: {\n\t\tanthropic: \"claude-opus-4-6\",\n\t\topenai: \"gpt-5.2\",\n\t\t\"openai-codex\": \"gpt-5.5\",\n\t\tgoogle: \"gemini-2.0-flash-thinking-exp\",\n\t},\n\t// Sonnet tier: Balanced performance models for general use\n\tsonnet: {\n\t\tanthropic: \"claude-sonnet-4-5-20250929\",\n\t\topenai: \"gpt-4o\",\n\t\t\"openai-codex\": \"gpt-5.4\",\n\t\tgoogle: \"gemini-2.0-flash-exp\",\n\t},\n\t// Haiku tier: Fast, efficient models for simple tasks\n\thaiku: {\n\t\tanthropic: \"claude-haiku-4-5-20251001\",\n\t\topenai: \"gpt-4o-mini\",\n\t\t\"openai-codex\": \"gpt-5.4-mini\",\n\t\tgoogle: \"gemini-2.0-flash-lite-exp\",\n\t},\n};\n\n/**\n * Get the model ID for a given tier and provider.\n *\n * @param tier - The capability tier (opus/sonnet/haiku)\n * @param provider - The LLM provider (defaults to openai-codex)\n * @returns The concrete model ID string for the provider\n *\n * Falls back to the OpenAI Codex model if the requested provider\n * doesn't have a mapping for the tier.\n */\nexport function getModelForTier(\n\ttier: ModelTier,\n\tprovider: ModelProvider = \"openai-codex\",\n): string {\n\tconst mapping = MODEL_BY_TIER[tier];\n\treturn mapping[provider] ?? mapping[\"openai-codex\"] ?? \"gpt-5.5\";\n}\n\nfunction isModelTier(model: string): model is ModelTier {\n\treturn model in MODEL_BY_TIER;\n}\n\nfunction isModelProvider(provider: string): provider is ModelProvider {\n\treturn PROVIDERS.includes(provider as ModelProvider);\n}\n\nfunction splitExplicitModel(model: string): {\n\tprovider?: ModelProvider;\n\tmodel: string;\n} {\n\tconst slashIndex = model.indexOf(\"/\");\n\tif (slashIndex <= 0) {\n\t\treturn { model };\n\t}\n\n\tconst provider = model.slice(0, slashIndex);\n\tif (!isModelProvider(provider)) {\n\t\treturn { model };\n\t}\n\n\treturn {\n\t\tprovider,\n\t\tmodel: model.slice(slashIndex + 1),\n\t};\n}\n\nfunction defaultReasoningEffort(config: ModeConfig): ReasoningEffort {\n\treturn config.reasoningEffort ?? (config.enableThinking ? \"medium\" : \"low\");\n}\n\n/**\n * Resolve the concrete model/provider a subagent should use in a mode.\n */\nexport function resolveSubagentDispatch(\n\tmode: AgentMode,\n\ttype: SubagentType | string,\n\tprovider: ModelProvider = \"openai-codex\",\n): ResolvedSubagentDispatch {\n\tconst config = getModeConfig(mode);\n\tconst resolvedType = parseSubagentType(type) ?? \"coder\";\n\tconst dispatch = config.subagents?.[resolvedType];\n\tconst source: DispatchSource = dispatch ? \"mode\" : \"fallback\";\n\tconst requestedModel = dispatch?.model ?? config.primaryTier;\n\tconst reasoningEffort =\n\t\tdispatch?.reasoningEffort ?? defaultReasoningEffort(config);\n\n\tif (isModelTier(requestedModel)) {\n\t\tconst resolvedProvider = dispatch?.provider ?? provider;\n\t\treturn {\n\t\t\tmode,\n\t\t\ttype: resolvedType,\n\t\t\tprovider: resolvedProvider,\n\t\t\tmodel: getModelForTier(requestedModel, resolvedProvider),\n\t\t\tmodelTier: requestedModel,\n\t\t\treasoningEffort,\n\t\t\tmaxTokens: dispatch?.maxTokens,\n\t\t\ttemperature: dispatch?.temperature,\n\t\t\ttimeoutMs: dispatch?.timeoutMs,\n\t\t\tpromptTemplate: dispatch?.promptTemplate,\n\t\t\tsource,\n\t\t};\n\t}\n\n\tconst explicit = splitExplicitModel(requestedModel);\n\tconst resolvedProvider = dispatch?.provider ?? explicit.provider ?? provider;\n\treturn {\n\t\tmode,\n\t\ttype: resolvedType,\n\t\tprovider: resolvedProvider,\n\t\tmodel: explicit.model,\n\t\treasoningEffort,\n\t\tmaxTokens: dispatch?.maxTokens,\n\t\ttemperature: dispatch?.temperature,\n\t\ttimeoutMs: dispatch?.timeoutMs,\n\t\tpromptTemplate: dispatch?.promptTemplate,\n\t\tsource,\n\t};\n}\n\n/**\n * Get the configuration for a mode.\n */\nexport function getModeConfig(mode: AgentMode): ModeConfig {\n\treturn MODE_CONFIGS[mode];\n}\n\n/**\n * Get the recommended model for a mode and provider.\n */\nexport function getModelForMode(\n\tmode: AgentMode,\n\tprovider: ModelProvider = \"openai-codex\",\n): string {\n\tconst config = getModeConfig(mode);\n\treturn getModelForTier(config.primaryTier, provider);\n}\n\n/**\n * Current agent mode state (module-level singleton).\n *\n * This tracks the active mode for the current process. In multi-session\n * scenarios, each session should manage its own mode state rather than\n * relying on this global.\n */\nlet currentMode: AgentMode = \"smart\";\n\n/**\n * Get the current agent mode.\n *\n * @returns The currently active agent mode\n */\nexport function getCurrentMode(): AgentMode {\n\treturn currentMode;\n}\n\n/**\n * Set the current agent mode.\n *\n * This updates the global mode state and logs the transition for debugging.\n * Mode changes take effect immediately for subsequent operations.\n *\n * @param mode - The new mode to activate\n */\nexport function setCurrentMode(mode: AgentMode): void {\n\tlogger.info(\"Setting agent mode\", { mode });\n\tcurrentMode = mode;\n\tconst config = getModeConfig(mode);\n\tif (config.visible === false) {\n\t\tvoid recordStagedRolloutSurfaceUsage(\"hidden_mode_used\", {\n\t\t\tsurfaceId: `mode:${mode}`,\n\t\t\tsurfaceType: \"mode\",\n\t\t\towner: config.rolloutOwner,\n\t\t});\n\t}\n}\n\n/**\n * Parse mode from string (case-insensitive).\n *\n * Validates user input and converts to a valid AgentMode type.\n *\n * @param modeStr - User-provided mode string (e.g., \"Smart\", \"RUSH\")\n * @returns The parsed AgentMode, or null if invalid\n */\nexport function parseMode(modeStr: string): AgentMode | null {\n\tconst normalized = modeStr.toLowerCase().trim();\n\tif (normalized in MODE_CONFIGS) {\n\t\treturn normalized as AgentMode;\n\t}\n\treturn null;\n}\n\n/**\n * Get mode from environment variable.\n *\n * Reads MAESTRO_MODE from environment and validates it.\n * Defaults to \"smart\" if not set or invalid.\n *\n * @returns The configured mode or \"smart\" as default\n */\nexport function getModeFromEnv(): AgentMode {\n\tconst envMode = process.env.MAESTRO_MODE?.toLowerCase();\n\tif (envMode && envMode in MODE_CONFIGS) {\n\t\treturn envMode as AgentMode;\n\t}\n\t// Default to smart mode for best quality when not specified\n\treturn \"smart\";\n}\n\n/**\n * Format mode for display.\n */\nexport function formatModeDisplay(mode: AgentMode): string {\n\tconst config = getModeConfig(mode);\n\treturn `${config.displayName} - ${config.description}`;\n}\n\n/**\n * Get all available modes with their descriptions.\n */\nexport function getAllModes(options?: {\n\tincludeHidden?: boolean;\n}): Array<{ mode: AgentMode; config: ModeConfig }> {\n\treturn (Object.entries(MODE_CONFIGS) as [AgentMode, ModeConfig][])\n\t\t.filter(([, config]) => options?.includeHidden === true || config.visible)\n\t\t.map(([mode, config]) => ({\n\t\t\tmode,\n\t\t\tconfig,\n\t\t}));\n}\n\n/**\n * Suggest a mode based on task complexity heuristics.\n *\n * This function analyzes the task description to recommend an appropriate\n * mode based on keyword matching. It uses a scoring system to determine\n * task complexity:\n *\n * **Scoring Algorithm:**\n * 1. Count matches against complex/simple/info indicator word lists\n * 2. Compare scores to determine dominant category\n * 3. Return mode matching the highest score\n *\n * **Keyword Categories:**\n * - Complex (→ smart): refactor, architect, design, implement, build...\n * - Simple (→ rush): fix, typo, rename, update, small changes...\n * - Info (→ free): what, where, explain, find, search queries...\n *\n * @param taskDescription - The user's task description to analyze\n * @returns The recommended AgentMode based on task complexity\n *\n * @example\n * suggestMode(\"refactor the authentication module\") // → \"smart\"\n * suggestMode(\"fix typo in README\") // → \"rush\"\n * suggestMode(\"what does this function do?\") // → \"free\"\n */\nexport function suggestMode(taskDescription: string): AgentMode {\n\tconst lowerTask = taskDescription.toLowerCase();\n\n\t// Complex tasks → smart mode (require deep reasoning)\n\tconst complexIndicators = [\n\t\t\"refactor\",\n\t\t\"architect\",\n\t\t\"design\",\n\t\t\"implement\",\n\t\t\"create\",\n\t\t\"build\",\n\t\t\"complex\",\n\t\t\"system\",\n\t\t\"full\",\n\t\t\"entire\",\n\t\t\"comprehensive\",\n\t];\n\n\t// Simple tasks → rush mode (straightforward modifications)\n\tconst simpleIndicators = [\n\t\t\"fix\",\n\t\t\"typo\",\n\t\t\"simple\",\n\t\t\"quick\",\n\t\t\"small\",\n\t\t\"minor\",\n\t\t\"rename\",\n\t\t\"update\",\n\t\t\"change\",\n\t];\n\n\t// Information tasks → free mode (queries, not modifications)\n\tconst infoIndicators = [\n\t\t\"what\",\n\t\t\"where\",\n\t\t\"explain\",\n\t\t\"describe\",\n\t\t\"list\",\n\t\t\"show\",\n\t\t\"find\",\n\t\t\"search\",\n\t];\n\n\t// Calculate match scores for each category\n\tconst complexScore = complexIndicators.filter((i) =>\n\t\tlowerTask.includes(i),\n\t).length;\n\tconst simpleScore = simpleIndicators.filter((i) =>\n\t\tlowerTask.includes(i),\n\t).length;\n\tconst infoScore = infoIndicators.filter((i) => lowerTask.includes(i)).length;\n\n\t// Determine mode based on highest scoring category\n\tif (complexScore > simpleScore && complexScore > infoScore) {\n\t\treturn \"smart\";\n\t}\n\tif (infoScore > simpleScore) {\n\t\treturn \"free\";\n\t}\n\tif (simpleScore > 0) {\n\t\treturn \"rush\";\n\t}\n\n\t// Default to smart mode when no clear indicators found\n\t// (better to over-estimate complexity than under-estimate)\n\treturn \"smart\";\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import type { AgentProfileLevel } from "./profiles.js";
2
+ export declare const ORACLE_CONSULTATION_POLICY_VERSION = "evalops.maestro.oracle-consultation.v1";
3
+ export type OracleConsultationMode = "available" | "recommended" | "required";
4
+ export interface OracleConsultationPolicyInput {
5
+ policyVersion?: string;
6
+ profileLevel: AgentProfileLevel;
7
+ taskType: string;
8
+ taskSummary?: string;
9
+ priorFailures?: number;
10
+ }
11
+ export interface OracleConsultationDecision {
12
+ policyVersion: string;
13
+ evalSuite: "oracle-consultation-policy-v1";
14
+ mode: OracleConsultationMode;
15
+ reasons: string[];
16
+ }
17
+ export declare function recommendOracleConsultation(input: OracleConsultationPolicyInput): OracleConsultationDecision;
18
+ export declare function formatOracleConsultationDirective(decision: OracleConsultationDecision): string;
19
+ export declare function applyOracleConsultationDirective(agent: {
20
+ queueNextRunSystemPromptAddition(text: string): void;
21
+ }, decision: OracleConsultationDecision | undefined): boolean;
22
+ //# sourceMappingURL=oracle-consultation-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle-consultation-policy.d.ts","sourceRoot":"","sources":["../../src/agent/oracle-consultation-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,eAAO,MAAM,kCAAkC,2CACN,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAE9E,MAAM,WAAW,6BAA6B;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,+BAA+B,CAAC;IAC3C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAkBD,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,6BAA6B,GAClC,0BAA0B,CA4C5B;AAED,wBAAgB,iCAAiC,CAChD,QAAQ,EAAE,0BAA0B,GAClC,MAAM,CAYR;AAED,wBAAgB,gCAAgC,CAC/C,KAAK,EAAE;IAAE,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/D,QAAQ,EAAE,0BAA0B,GAAG,SAAS,GAC9C,OAAO,CAMT"}
@@ -0,0 +1,72 @@
1
+ export const ORACLE_CONSULTATION_POLICY_VERSION = "evalops.maestro.oracle-consultation.v1";
2
+ const CONSULTATION_TASK_TYPES = new Set([
3
+ "architecture",
4
+ "code_review",
5
+ "discovery",
6
+ "incident_response",
7
+ "migration",
8
+ "planning",
9
+ "security_review",
10
+ ]);
11
+ const UNCERTAINTY_PATTERN = /\b(?:ambiguous|unclear|uncertain|trade-?offs?|cross[- ]cutting|multiple approaches|data loss|irreversible|root cause unknown)\b/i;
12
+ const CONSULTATION_PROMPT_PATTERN = /\b(?:architect(?:ure|ural|ing)?|migrat(?:e|es|ed|ing|ion)|security|secure|threat model(?:ing)?|auth(?:entication|orization)?|schema (?:change|migration)|backfill)\b/i;
13
+ export function recommendOracleConsultation(input) {
14
+ const reasons = [];
15
+ const priorFailures = Math.max(0, Math.floor(input.priorFailures ?? 0));
16
+ let mode = "available";
17
+ if (input.profileLevel === "ultra") {
18
+ mode = "required";
19
+ reasons.push("ultra_profile");
20
+ }
21
+ else if (input.profileLevel === "high") {
22
+ mode = "recommended";
23
+ reasons.push("high_profile");
24
+ }
25
+ if (CONSULTATION_TASK_TYPES.has(input.taskType.trim().toLowerCase())) {
26
+ if (mode === "available")
27
+ mode = "recommended";
28
+ reasons.push("consultation_task_type");
29
+ }
30
+ if (input.taskSummary && UNCERTAINTY_PATTERN.test(input.taskSummary)) {
31
+ if (mode === "available")
32
+ mode = "recommended";
33
+ reasons.push("uncertainty_signal");
34
+ }
35
+ if (input.taskSummary &&
36
+ CONSULTATION_PROMPT_PATTERN.test(input.taskSummary)) {
37
+ if (mode === "available")
38
+ mode = "recommended";
39
+ reasons.push("consultation_prompt_signal");
40
+ }
41
+ if (priorFailures >= 2) {
42
+ mode = input.profileLevel === "low" ? "recommended" : "required";
43
+ reasons.push("repeated_failures");
44
+ }
45
+ if (reasons.length === 0)
46
+ reasons.push("oracle_available_on_demand");
47
+ return {
48
+ policyVersion: input.policyVersion?.trim() || ORACLE_CONSULTATION_POLICY_VERSION,
49
+ evalSuite: "oracle-consultation-policy-v1",
50
+ mode,
51
+ reasons,
52
+ };
53
+ }
54
+ export function formatOracleConsultationDirective(decision) {
55
+ const instruction = decision.mode === "required"
56
+ ? "You MUST consult the read-only Oracle once before committing to the plan or final answer. Incorporate or explicitly rebut its advice."
57
+ : decision.mode === "recommended"
58
+ ? "Consult the read-only Oracle once before committing to the plan or final answer unless the task has become clearly bounded; if you skip it, state the concrete reason."
59
+ : "The read-only Oracle is available on demand.";
60
+ return [
61
+ `Oracle consultation policy (${decision.policyVersion})`,
62
+ instruction,
63
+ `Triggers: ${decision.reasons.join(", ")}.`,
64
+ ].join("\n");
65
+ }
66
+ export function applyOracleConsultationDirective(agent, decision) {
67
+ if (!decision || decision.mode === "available")
68
+ return false;
69
+ agent.queueNextRunSystemPromptAddition(formatOracleConsultationDirective(decision));
70
+ return true;
71
+ }
72
+ //# sourceMappingURL=oracle-consultation-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle-consultation-policy.js","sourceRoot":"","sources":["../../src/agent/oracle-consultation-policy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentProfileLevel } from \"./profiles.js\";\n\nexport const ORACLE_CONSULTATION_POLICY_VERSION =\n\t\"evalops.maestro.oracle-consultation.v1\";\n\nexport type OracleConsultationMode = \"available\" | \"recommended\" | \"required\";\n\nexport interface OracleConsultationPolicyInput {\n\tpolicyVersion?: string;\n\tprofileLevel: AgentProfileLevel;\n\ttaskType: string;\n\ttaskSummary?: string;\n\tpriorFailures?: number;\n}\n\nexport interface OracleConsultationDecision {\n\tpolicyVersion: string;\n\tevalSuite: \"oracle-consultation-policy-v1\";\n\tmode: OracleConsultationMode;\n\treasons: string[];\n}\n\nconst CONSULTATION_TASK_TYPES = new Set([\n\t\"architecture\",\n\t\"code_review\",\n\t\"discovery\",\n\t\"incident_response\",\n\t\"migration\",\n\t\"planning\",\n\t\"security_review\",\n]);\n\nconst UNCERTAINTY_PATTERN =\n\t/\\b(?:ambiguous|unclear|uncertain|trade-?offs?|cross[- ]cutting|multiple approaches|data loss|irreversible|root cause unknown)\\b/i;\n\nconst CONSULTATION_PROMPT_PATTERN =\n\t/\\b(?:architect(?:ure|ural|ing)?|migrat(?:e|es|ed|ing|ion)|security|secure|threat model(?:ing)?|auth(?:entication|orization)?|schema (?:change|migration)|backfill)\\b/i;\n\nexport function recommendOracleConsultation(\n\tinput: OracleConsultationPolicyInput,\n): OracleConsultationDecision {\n\tconst reasons: string[] = [];\n\tconst priorFailures = Math.max(0, Math.floor(input.priorFailures ?? 0));\n\tlet mode: OracleConsultationMode = \"available\";\n\n\tif (input.profileLevel === \"ultra\") {\n\t\tmode = \"required\";\n\t\treasons.push(\"ultra_profile\");\n\t} else if (input.profileLevel === \"high\") {\n\t\tmode = \"recommended\";\n\t\treasons.push(\"high_profile\");\n\t}\n\n\tif (CONSULTATION_TASK_TYPES.has(input.taskType.trim().toLowerCase())) {\n\t\tif (mode === \"available\") mode = \"recommended\";\n\t\treasons.push(\"consultation_task_type\");\n\t}\n\n\tif (input.taskSummary && UNCERTAINTY_PATTERN.test(input.taskSummary)) {\n\t\tif (mode === \"available\") mode = \"recommended\";\n\t\treasons.push(\"uncertainty_signal\");\n\t}\n\n\tif (\n\t\tinput.taskSummary &&\n\t\tCONSULTATION_PROMPT_PATTERN.test(input.taskSummary)\n\t) {\n\t\tif (mode === \"available\") mode = \"recommended\";\n\t\treasons.push(\"consultation_prompt_signal\");\n\t}\n\n\tif (priorFailures >= 2) {\n\t\tmode = input.profileLevel === \"low\" ? \"recommended\" : \"required\";\n\t\treasons.push(\"repeated_failures\");\n\t}\n\n\tif (reasons.length === 0) reasons.push(\"oracle_available_on_demand\");\n\treturn {\n\t\tpolicyVersion:\n\t\t\tinput.policyVersion?.trim() || ORACLE_CONSULTATION_POLICY_VERSION,\n\t\tevalSuite: \"oracle-consultation-policy-v1\",\n\t\tmode,\n\t\treasons,\n\t};\n}\n\nexport function formatOracleConsultationDirective(\n\tdecision: OracleConsultationDecision,\n): string {\n\tconst instruction =\n\t\tdecision.mode === \"required\"\n\t\t\t? \"You MUST consult the read-only Oracle once before committing to the plan or final answer. Incorporate or explicitly rebut its advice.\"\n\t\t\t: decision.mode === \"recommended\"\n\t\t\t\t? \"Consult the read-only Oracle once before committing to the plan or final answer unless the task has become clearly bounded; if you skip it, state the concrete reason.\"\n\t\t\t\t: \"The read-only Oracle is available on demand.\";\n\treturn [\n\t\t`Oracle consultation policy (${decision.policyVersion})`,\n\t\tinstruction,\n\t\t`Triggers: ${decision.reasons.join(\", \")}.`,\n\t].join(\"\\n\");\n}\n\nexport function applyOracleConsultationDirective(\n\tagent: { queueNextRunSystemPromptAddition(text: string): void },\n\tdecision: OracleConsultationDecision | undefined,\n): boolean {\n\tif (!decision || decision.mode === \"available\") return false;\n\tagent.queueNextRunSystemPromptAddition(\n\t\tformatOracleConsultationDirective(decision),\n\t);\n\treturn true;\n}\n"]}
@@ -0,0 +1,27 @@
1
+ export type OraclePolicyExperimentArm = "control" | "treatment";
2
+ export interface OraclePolicyExperimentInput {
3
+ experimentId: string;
4
+ sessionId: string;
5
+ /** Fraction of sessions assigned to treatment, in the inclusive range 0..1. */
6
+ allocation: number;
7
+ controlVersion: string;
8
+ treatmentVersion: string;
9
+ }
10
+ export interface OraclePolicyExperimentAssignment {
11
+ readonly experimentId: string;
12
+ readonly arm: OraclePolicyExperimentArm;
13
+ readonly policyVersion: string;
14
+ readonly bucket: number;
15
+ }
16
+ export interface OraclePolicyExperimentConfig {
17
+ experimentId: string;
18
+ allocation: number;
19
+ controlVersion: string;
20
+ treatmentVersion: string;
21
+ }
22
+ /** Deterministically assign a session to one immutable Oracle policy arm. */
23
+ export declare function assignOraclePolicyExperiment(input: OraclePolicyExperimentInput): OraclePolicyExperimentAssignment;
24
+ /** Resolve the optional host-configured experiment. Partial configs fail closed. */
25
+ export declare function getOraclePolicyExperimentConfig(): OraclePolicyExperimentConfig | undefined;
26
+ export declare function assignConfiguredOraclePolicyExperiment(sessionId: string): OraclePolicyExperimentAssignment | undefined;
27
+ //# sourceMappingURL=oracle-policy-experiment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle-policy-experiment.d.ts","sourceRoot":"","sources":["../../src/agent/oracle-policy-experiment.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhE,MAAM,WAAW,2BAA2B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAKD,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,2BAA2B,GAChC,gCAAgC,CA8BlC;AAED,oFAAoF;AACpF,wBAAgB,+BAA+B,IAC5C,4BAA4B,GAC5B,SAAS,CA6BX;AAED,wBAAgB,sCAAsC,CACrD,SAAS,EAAE,MAAM,GACf,gCAAgC,GAAG,SAAS,CAK9C"}