@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
@@ -1 +1 @@
1
- {"version":3,"file":"notification-hooks.js","sourceRoot":"","sources":["../../src/hooks/notification-hooks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Notification hooks for agent events.\n *\n * Allows external programs to be notified when agent events occur,\n * enabling CI/automation integration and custom workflows.\n *\n * Configuration via environment variable or config file:\n * MAESTRO_NOTIFY_PROGRAM=/path/to/script\n * MAESTRO_NOTIFY_EVENTS=turn-complete,session-end (comma-separated, or \"all\")\n * MAESTRO_NOTIFY_TERMINAL=true (enables OSC 9 terminal notifications)\n * MAESTRO_NOTIFY_IDLE_MS=6000 (delay completion notifications until user idle)\n *\n * The program receives a JSON payload as its first argument with event details.\n *\n * Terminal notifications use OSC 9 escape sequences supported by:\n * - iTerm2\n * - Ghostty\n * - WezTerm\n * - Windows Terminal\n */\n\nimport { spawn } from \"node:child_process\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { AgentEvent, AppMessage } from \"../agent/types.js\";\nimport { PATHS } from \"../config/constants.js\";\nimport { getTimeSinceLastUserInteraction } from \"../interaction/user-interaction.js\";\nimport type { SkillArtifactMetadata } from \"../skills/artifact-metadata.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport type { SessionHookService } from \"./session-integration.js\";\n\nconst logger = createLogger(\"hooks:notify\");\nconst DEFAULT_IDLE_THRESHOLD_MS = 6_000;\n\nexport type NotificationEventType =\n\t| \"turn-complete\"\n\t| \"session-start\"\n\t| \"session-end\"\n\t| \"tool-execution\"\n\t| \"error\";\n\nexport interface NotificationPayload {\n\ttype: NotificationEventType;\n\ttimestamp: string;\n\tthreadId?: string;\n\tturnId?: string;\n\tcwd: string;\n\tinputMessages?: string[];\n\tlastAssistantMessage?: string;\n\ttoolName?: string;\n\ttoolResult?: string;\n\ttoolErrorCode?: string;\n\tapprovalRequestId?: string;\n\tgovernedOutcome?: string;\n\tskillMetadata?: SkillArtifactMetadata;\n\terror?: string;\n}\n\ntype NotificationDispatchLogger = {\n\twarn: (message: string, data?: Record<string, unknown>) => void;\n};\n\nexport interface NotificationHooksConfig {\n\tprogram?: string;\n\tevents?: NotificationEventType[];\n\ttimeout?: number;\n\tidleThresholdMs?: number;\n\t/** Enable OSC 9 terminal notifications (iTerm2, Ghostty, WezTerm, Windows Terminal) */\n\tterminalNotify?: boolean;\n}\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\n\nlet cachedConfig: NotificationHooksConfig | null = null;\n\n/**\n * Load notification hooks configuration from environment or config file.\n */\nexport function loadNotificationConfig(): NotificationHooksConfig {\n\tif (cachedConfig) return cachedConfig;\n\n\tconst config: NotificationHooksConfig = {\n\t\tevents: [],\n\t\ttimeout: DEFAULT_TIMEOUT_MS,\n\t\tidleThresholdMs: DEFAULT_IDLE_THRESHOLD_MS,\n\t};\n\n\t// Check environment variables first\n\tconst envProgram = process.env.MAESTRO_NOTIFY_PROGRAM;\n\tif (envProgram) {\n\t\tconfig.program = envProgram;\n\t}\n\n\tconst envEvents = process.env.MAESTRO_NOTIFY_EVENTS;\n\tif (envEvents) {\n\t\tif (envEvents === \"all\") {\n\t\t\tconfig.events = [\n\t\t\t\t\"turn-complete\",\n\t\t\t\t\"session-start\",\n\t\t\t\t\"session-end\",\n\t\t\t\t\"tool-execution\",\n\t\t\t\t\"error\",\n\t\t\t];\n\t\t} else {\n\t\t\tconfig.events = envEvents\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((e) => e.trim() as NotificationEventType)\n\t\t\t\t.filter((e) =>\n\t\t\t\t\t[\n\t\t\t\t\t\t\"turn-complete\",\n\t\t\t\t\t\t\"session-start\",\n\t\t\t\t\t\t\"session-end\",\n\t\t\t\t\t\t\"tool-execution\",\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t].includes(e),\n\t\t\t\t);\n\t\t}\n\t}\n\n\tconst envTimeout = process.env.MAESTRO_NOTIFY_TIMEOUT;\n\tif (envTimeout) {\n\t\tconst parsed = Number.parseInt(envTimeout, 10);\n\t\tif (!Number.isNaN(parsed) && parsed > 0) {\n\t\t\tconfig.timeout = parsed;\n\t\t}\n\t}\n\n\tconst envIdleThreshold = process.env.MAESTRO_NOTIFY_IDLE_MS;\n\tif (envIdleThreshold) {\n\t\tconst parsed = Number.parseInt(envIdleThreshold, 10);\n\t\tif (!Number.isNaN(parsed) && parsed >= 0) {\n\t\t\tconfig.idleThresholdMs = parsed;\n\t\t}\n\t}\n\n\t// Terminal notifications via OSC 9\n\tconst envTerminal = process.env.MAESTRO_NOTIFY_TERMINAL;\n\tif (envTerminal === \"true\" || envTerminal === \"1\") {\n\t\tconfig.terminalNotify = true;\n\t}\n\n\t// Check config file if no environment override\n\tif (!config.program) {\n\t\tconst configPath = join(PATHS.MAESTRO_HOME, \"hooks.json\");\n\t\tif (existsSync(configPath)) {\n\t\t\ttry {\n\t\t\t\tconst fileConfig = JSON.parse(readFileSync(configPath, \"utf-8\"));\n\t\t\t\tif (fileConfig.notify?.program) {\n\t\t\t\t\tconfig.program = fileConfig.notify.program;\n\t\t\t\t}\n\t\t\t\tif (fileConfig.notify?.events) {\n\t\t\t\t\tconfig.events = fileConfig.notify.events;\n\t\t\t\t}\n\t\t\t\tif (fileConfig.notify?.timeout) {\n\t\t\t\t\tconfig.timeout = fileConfig.notify.timeout;\n\t\t\t\t}\n\t\t\t\tif (fileConfig.notify?.idleThresholdMs !== undefined) {\n\t\t\t\t\tconfig.idleThresholdMs = fileConfig.notify.idleThresholdMs;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tfileConfig.notify?.terminalNotify !== undefined &&\n\t\t\t\t\tconfig.terminalNotify === undefined\n\t\t\t\t) {\n\t\t\t\t\tconfig.terminalNotify = Boolean(fileConfig.notify.terminalNotify);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to parse hooks.json\", { error });\n\t\t\t}\n\t\t}\n\t}\n\n\tcachedConfig = config;\n\treturn config;\n}\n\n/**\n * Clear cached configuration (useful for testing).\n */\nexport function clearNotificationConfigCache(): void {\n\tcachedConfig = null;\n}\n\n/**\n * Check if notifications are enabled for a given event type.\n */\nexport function isNotificationEnabled(\n\teventType: NotificationEventType,\n): boolean {\n\tconst config = loadNotificationConfig();\n\treturn Boolean(\n\t\t(config.program || config.terminalNotify) &&\n\t\t\tconfig.events &&\n\t\t\tconfig.events.includes(eventType),\n\t);\n}\n\n/**\n * Send a notification to the configured external program.\n * This runs asynchronously and does not block the main flow.\n */\nexport async function sendNotification(\n\tpayload: NotificationPayload,\n): Promise<void> {\n\tconst config = loadNotificationConfig();\n\n\tif (!config.events?.includes(payload.type)) {\n\t\treturn;\n\t}\n\n\tif (!config.program && !config.terminalNotify) {\n\t\treturn;\n\t}\n\n\tconst shouldSend = await waitForIdleWindow(payload, config.idleThresholdMs);\n\tif (!shouldSend) {\n\t\tlogger.debug(\"Skipped notification due to recent user interaction\", {\n\t\t\ttype: payload.type,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (config.terminalNotify) {\n\t\tsendTerminalNotification(\"Maestro\", summarizeNotificationPayload(payload));\n\t}\n\n\tif (!config.program) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tawait executeNotifyProgram(\n\t\t\tconfig.program,\n\t\t\tJSON.stringify(payload),\n\t\t\tconfig.timeout,\n\t\t);\n\t\tlogger.debug(\"Notification sent\", { type: payload.type });\n\t} catch (error) {\n\t\tlogger.warn(\"Notification hook failed\", {\n\t\t\tprogram: config.program,\n\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t),\n\t\t});\n\t}\n}\n\n/**\n * Send a terminal notification using OSC 9 escape sequence.\n * Supported by iTerm2, Ghostty, WezTerm, Windows Terminal, and others.\n *\n * @param title - Notification title\n * @param body - Notification body (optional)\n */\nexport function sendTerminalNotification(title: string, body?: string): void {\n\tconst config = loadNotificationConfig();\n\tif (!config.terminalNotify) {\n\t\treturn;\n\t}\n\n\tconst message = body ? `${title}: ${body}` : title;\n\t// OSC 9 is the escape sequence for desktop notifications\n\t// Format: ESC ] 9 ; message BEL\n\tconst osc9 = `\\x1b]9;${message}\\x07`;\n\tprocess.stdout.write(osc9);\n\tlogger.debug(\"Terminal notification sent\", { title });\n}\n\n/**\n * Send notification on turn complete.\n * Combines external program and terminal notifications.\n */\nexport function notifyTurnComplete(summary: string): void {\n\tconst config = loadNotificationConfig();\n\n\t// Send terminal notification\n\tif (config.terminalNotify) {\n\t\tsendTerminalNotification(\"Maestro\", summary);\n\t}\n\n\t// External program is handled by sendNotification with full payload\n}\n\nexport function summarizeNotificationPayload(\n\tpayload: NotificationPayload,\n): string | undefined {\n\tswitch (payload.type) {\n\t\tcase \"turn-complete\":\n\t\t\treturn payload.lastAssistantMessage ?? \"Turn complete\";\n\t\tcase \"session-start\":\n\t\t\treturn `Session started in ${payload.cwd}`;\n\t\tcase \"session-end\":\n\t\t\treturn payload.lastAssistantMessage ?? \"Session complete\";\n\t\tcase \"tool-execution\":\n\t\t\treturn payload.toolName\n\t\t\t\t? `${payload.toolName} finished`\n\t\t\t\t: \"Tool execution complete\";\n\t\tcase \"error\":\n\t\t\treturn payload.error ?? \"Agent error\";\n\t}\n}\n\nfunction requiresIdleWindow(type: NotificationEventType): boolean {\n\treturn type === \"turn-complete\" || type === \"session-end\";\n}\n\nasync function waitForIdleWindow(\n\tpayload: NotificationPayload,\n\tidleThresholdMs = DEFAULT_IDLE_THRESHOLD_MS,\n): Promise<boolean> {\n\tif (!requiresIdleWindow(payload.type) || idleThresholdMs <= 0) {\n\t\treturn true;\n\t}\n\n\tconst remainingDelay = idleThresholdMs - getTimeSinceLastUserInteraction();\n\tif (remainingDelay <= 0) {\n\t\treturn true;\n\t}\n\n\tawait new Promise((resolve) => setTimeout(resolve, remainingDelay));\n\treturn getTimeSinceLastUserInteraction() >= idleThresholdMs;\n}\n\n/**\n * Execute the notification program with the given payload.\n */\nfunction executeNotifyProgram(\n\tprogram: string,\n\tpayload: string,\n\ttimeout = DEFAULT_TIMEOUT_MS,\n): Promise<void> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst child = spawn(program, [payload], {\n\t\t\tstdio: [\"ignore\", \"ignore\", \"pipe\"],\n\t\t\ttimeout,\n\t\t\tshell: false,\n\t\t});\n\n\t\tlet stderr = \"\";\n\t\tchild.stderr?.on(\"data\", (data) => {\n\t\t\tstderr += data.toString();\n\t\t});\n\n\t\tchild.on(\"error\", (error) => {\n\t\t\tclearTimeout(safetyTimer);\n\t\t\treject(error);\n\t\t});\n\n\t\tchild.on(\"close\", (code) => {\n\t\t\tclearTimeout(safetyTimer);\n\t\t\tif (code === 0) {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\treject(new Error(`Notify program exited with code ${code}: ${stderr}`));\n\t\t\t}\n\t\t});\n\n\t\t// Safety timeout\n\t\tconst safetyTimer = setTimeout(() => {\n\t\t\tchild.kill(\"SIGTERM\");\n\t\t\treject(new Error(\"Notify program timed out\"));\n\t\t}, timeout + 1000);\n\t});\n}\n\n/**\n * Create notification payload from agent event.\n */\nexport function createNotificationFromAgentEvent(\n\tevent: AgentEvent,\n\tcontext: {\n\t\tcwd: string;\n\t\tsessionId?: string;\n\t\tmessages?: AppMessage[];\n\t},\n): NotificationPayload | null {\n\tconst base = {\n\t\ttimestamp: new Date().toISOString(),\n\t\tcwd: context.cwd,\n\t\tthreadId: context.sessionId,\n\t};\n\n\tswitch (event.type) {\n\t\tcase \"agent_start\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"session-start\",\n\t\t\t};\n\n\t\tcase \"agent_end\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"session-end\",\n\t\t\t\tinputMessages: extractUserMessages(context.messages ?? event.messages),\n\t\t\t\tlastAssistantMessage: extractLastAssistantMessage(event.messages),\n\t\t\t};\n\n\t\tcase \"turn_end\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"turn-complete\",\n\t\t\t\tinputMessages: extractUserMessages(context.messages ?? []),\n\t\t\t\tlastAssistantMessage: extractAssistantText(event.message),\n\t\t\t};\n\n\t\tcase \"tool_execution_end\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"tool-execution\",\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\ttoolResult: extractToolResultText(event.result),\n\t\t\t\ttoolErrorCode: event.errorCode,\n\t\t\t\tapprovalRequestId: event.approvalRequestId,\n\t\t\t\tgovernedOutcome: event.governedOutcome,\n\t\t\t\tskillMetadata: event.skillMetadata,\n\t\t\t};\n\n\t\tcase \"error\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: event.message,\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\nexport function dispatchAgentNotification(\n\tevent: AgentEvent,\n\tcontext: {\n\t\tcwd: string;\n\t\tsessionId?: string;\n\t\tmessages?: AppMessage[];\n\t},\n\toptions?: {\n\t\tsessionHookService?: Pick<\n\t\t\tSessionHookService,\n\t\t\t\"hasHooks\" | \"runNotificationHooks\"\n\t\t>;\n\t\tlogger?: NotificationDispatchLogger;\n\t},\n): NotificationPayload | null {\n\tconst payload = createNotificationFromAgentEvent(event, context);\n\tif (!payload) {\n\t\treturn null;\n\t}\n\n\tif (options?.sessionHookService?.hasHooks(\"Notification\")) {\n\t\tvoid options.sessionHookService\n\t\t\t.runNotificationHooks(\n\t\t\t\tpayload.type,\n\t\t\t\tsummarizeNotificationPayload(payload) ?? payload.type,\n\t\t\t)\n\t\t\t.catch((error) => {\n\t\t\t\toptions.logger?.warn(\"Notification hooks failed\", {\n\t\t\t\t\ttype: payload.type,\n\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tif (isNotificationEnabled(payload.type)) {\n\t\tvoid sendNotification(payload);\n\t}\n\n\treturn payload;\n}\n\nfunction extractUserMessages(messages: AppMessage[]): string[] {\n\treturn messages\n\t\t.filter((m) => m.role === \"user\")\n\t\t.map((m) => {\n\t\t\tif (typeof m.content === \"string\") return m.content;\n\t\t\tif (Array.isArray(m.content)) {\n\t\t\t\treturn m.content\n\t\t\t\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t\t\t\t.map((c) => c.text)\n\t\t\t\t\t.join(\"\\n\");\n\t\t\t}\n\t\t\treturn \"\";\n\t\t})\n\t\t.filter(Boolean);\n}\n\nfunction extractLastAssistantMessage(\n\tmessages: AppMessage[],\n): string | undefined {\n\tconst assistantMessages = messages.filter((m) => m.role === \"assistant\");\n\tconst lastMessage = assistantMessages[assistantMessages.length - 1];\n\tif (!lastMessage) return undefined;\n\treturn extractAssistantText(lastMessage);\n}\n\nfunction extractAssistantText(message: AppMessage): string | undefined {\n\tif (message.role !== \"assistant\") return undefined;\n\tconst textParts = message.content\n\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t.map((c) => c.text);\n\treturn textParts.join(\"\\n\") || undefined;\n}\n\nfunction extractToolResultText(\n\tresult: { content: Array<{ type: string; text?: string }> } | undefined,\n): string | undefined {\n\tif (!result?.content) return undefined;\n\treturn result.content\n\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t.map((c) => c.text)\n\t\t.join(\"\\n\")\n\t\t.slice(0, 1000); // Truncate for payload size\n}\n"]}
1
+ {"version":3,"file":"notification-hooks.js","sourceRoot":"","sources":["../../src/hooks/notification-hooks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Notification hooks for agent events.\n *\n * Allows external programs to be notified when agent events occur,\n * enabling CI/automation integration and custom workflows.\n *\n * Configuration via environment variable or config file:\n * MAESTRO_NOTIFY_PROGRAM=/path/to/script\n * MAESTRO_NOTIFY_EVENTS=turn-complete,session-end (comma-separated, or \"all\")\n * MAESTRO_NOTIFY_TERMINAL=true (enables OSC 9 terminal notifications)\n * MAESTRO_NOTIFY_IDLE_MS=6000 (delay completion notifications until user idle)\n *\n * The program receives a JSON payload as its first argument with event details.\n *\n * Terminal notifications use OSC 9 escape sequences supported by:\n * - iTerm2\n * - Ghostty\n * - WezTerm\n * - Windows Terminal\n */\n\nimport { spawn } from \"node:child_process\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { SkillArtifactMetadata } from \"../agent/skill-artifact-metadata.js\";\nimport type { AgentEvent, AppMessage } from \"../agent/types.js\";\nimport { PATHS } from \"../config/constants.js\";\nimport { getTimeSinceLastUserInteraction } from \"../interaction/user-interaction.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport type { SessionHookService } from \"./session-integration.js\";\n\nconst logger = createLogger(\"hooks:notify\");\nconst DEFAULT_IDLE_THRESHOLD_MS = 6_000;\n\nexport type NotificationEventType =\n\t| \"turn-complete\"\n\t| \"session-start\"\n\t| \"session-end\"\n\t| \"tool-execution\"\n\t| \"error\";\n\nexport interface NotificationPayload {\n\ttype: NotificationEventType;\n\ttimestamp: string;\n\tthreadId?: string;\n\tturnId?: string;\n\tcwd: string;\n\tinputMessages?: string[];\n\tlastAssistantMessage?: string;\n\ttoolName?: string;\n\ttoolResult?: string;\n\ttoolErrorCode?: string;\n\tapprovalRequestId?: string;\n\tgovernedOutcome?: string;\n\tskillMetadata?: SkillArtifactMetadata;\n\terror?: string;\n}\n\ntype NotificationDispatchLogger = {\n\twarn: (message: string, data?: Record<string, unknown>) => void;\n};\n\nexport interface NotificationHooksConfig {\n\tprogram?: string;\n\tevents?: NotificationEventType[];\n\ttimeout?: number;\n\tidleThresholdMs?: number;\n\t/** Enable OSC 9 terminal notifications (iTerm2, Ghostty, WezTerm, Windows Terminal) */\n\tterminalNotify?: boolean;\n}\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\n\nlet cachedConfig: NotificationHooksConfig | null = null;\n\n/**\n * Load notification hooks configuration from environment or config file.\n */\nexport function loadNotificationConfig(): NotificationHooksConfig {\n\tif (cachedConfig) return cachedConfig;\n\n\tconst config: NotificationHooksConfig = {\n\t\tevents: [],\n\t\ttimeout: DEFAULT_TIMEOUT_MS,\n\t\tidleThresholdMs: DEFAULT_IDLE_THRESHOLD_MS,\n\t};\n\n\t// Check environment variables first\n\tconst envProgram = process.env.MAESTRO_NOTIFY_PROGRAM;\n\tif (envProgram) {\n\t\tconfig.program = envProgram;\n\t}\n\n\tconst envEvents = process.env.MAESTRO_NOTIFY_EVENTS;\n\tif (envEvents) {\n\t\tif (envEvents === \"all\") {\n\t\t\tconfig.events = [\n\t\t\t\t\"turn-complete\",\n\t\t\t\t\"session-start\",\n\t\t\t\t\"session-end\",\n\t\t\t\t\"tool-execution\",\n\t\t\t\t\"error\",\n\t\t\t];\n\t\t} else {\n\t\t\tconfig.events = envEvents\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((e) => e.trim() as NotificationEventType)\n\t\t\t\t.filter((e) =>\n\t\t\t\t\t[\n\t\t\t\t\t\t\"turn-complete\",\n\t\t\t\t\t\t\"session-start\",\n\t\t\t\t\t\t\"session-end\",\n\t\t\t\t\t\t\"tool-execution\",\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t].includes(e),\n\t\t\t\t);\n\t\t}\n\t}\n\n\tconst envTimeout = process.env.MAESTRO_NOTIFY_TIMEOUT;\n\tif (envTimeout) {\n\t\tconst parsed = Number.parseInt(envTimeout, 10);\n\t\tif (!Number.isNaN(parsed) && parsed > 0) {\n\t\t\tconfig.timeout = parsed;\n\t\t}\n\t}\n\n\tconst envIdleThreshold = process.env.MAESTRO_NOTIFY_IDLE_MS;\n\tif (envIdleThreshold) {\n\t\tconst parsed = Number.parseInt(envIdleThreshold, 10);\n\t\tif (!Number.isNaN(parsed) && parsed >= 0) {\n\t\t\tconfig.idleThresholdMs = parsed;\n\t\t}\n\t}\n\n\t// Terminal notifications via OSC 9\n\tconst envTerminal = process.env.MAESTRO_NOTIFY_TERMINAL;\n\tif (envTerminal === \"true\" || envTerminal === \"1\") {\n\t\tconfig.terminalNotify = true;\n\t}\n\n\t// Check config file if no environment override\n\tif (!config.program) {\n\t\tconst configPath = join(PATHS.MAESTRO_HOME, \"hooks.json\");\n\t\tif (existsSync(configPath)) {\n\t\t\ttry {\n\t\t\t\tconst fileConfig = JSON.parse(readFileSync(configPath, \"utf-8\"));\n\t\t\t\tif (fileConfig.notify?.program) {\n\t\t\t\t\tconfig.program = fileConfig.notify.program;\n\t\t\t\t}\n\t\t\t\tif (fileConfig.notify?.events) {\n\t\t\t\t\tconfig.events = fileConfig.notify.events;\n\t\t\t\t}\n\t\t\t\tif (fileConfig.notify?.timeout) {\n\t\t\t\t\tconfig.timeout = fileConfig.notify.timeout;\n\t\t\t\t}\n\t\t\t\tif (fileConfig.notify?.idleThresholdMs !== undefined) {\n\t\t\t\t\tconfig.idleThresholdMs = fileConfig.notify.idleThresholdMs;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tfileConfig.notify?.terminalNotify !== undefined &&\n\t\t\t\t\tconfig.terminalNotify === undefined\n\t\t\t\t) {\n\t\t\t\t\tconfig.terminalNotify = Boolean(fileConfig.notify.terminalNotify);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to parse hooks.json\", { error });\n\t\t\t}\n\t\t}\n\t}\n\n\tcachedConfig = config;\n\treturn config;\n}\n\n/**\n * Clear cached configuration (useful for testing).\n */\nexport function clearNotificationConfigCache(): void {\n\tcachedConfig = null;\n}\n\n/**\n * Check if notifications are enabled for a given event type.\n */\nexport function isNotificationEnabled(\n\teventType: NotificationEventType,\n): boolean {\n\tconst config = loadNotificationConfig();\n\treturn Boolean(\n\t\t(config.program || config.terminalNotify) &&\n\t\t\tconfig.events &&\n\t\t\tconfig.events.includes(eventType),\n\t);\n}\n\n/**\n * Send a notification to the configured external program.\n * This runs asynchronously and does not block the main flow.\n */\nexport async function sendNotification(\n\tpayload: NotificationPayload,\n): Promise<void> {\n\tconst config = loadNotificationConfig();\n\n\tif (!config.events?.includes(payload.type)) {\n\t\treturn;\n\t}\n\n\tif (!config.program && !config.terminalNotify) {\n\t\treturn;\n\t}\n\n\tconst shouldSend = await waitForIdleWindow(payload, config.idleThresholdMs);\n\tif (!shouldSend) {\n\t\tlogger.debug(\"Skipped notification due to recent user interaction\", {\n\t\t\ttype: payload.type,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (config.terminalNotify) {\n\t\tsendTerminalNotification(\"Maestro\", summarizeNotificationPayload(payload));\n\t}\n\n\tif (!config.program) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tawait executeNotifyProgram(\n\t\t\tconfig.program,\n\t\t\tJSON.stringify(payload),\n\t\t\tconfig.timeout,\n\t\t);\n\t\tlogger.debug(\"Notification sent\", { type: payload.type });\n\t} catch (error) {\n\t\tlogger.warn(\"Notification hook failed\", {\n\t\t\tprogram: config.program,\n\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t),\n\t\t});\n\t}\n}\n\n/**\n * Send a terminal notification using OSC 9 escape sequence.\n * Supported by iTerm2, Ghostty, WezTerm, Windows Terminal, and others.\n *\n * @param title - Notification title\n * @param body - Notification body (optional)\n */\nexport function sendTerminalNotification(title: string, body?: string): void {\n\tconst config = loadNotificationConfig();\n\tif (!config.terminalNotify) {\n\t\treturn;\n\t}\n\n\tconst message = body ? `${title}: ${body}` : title;\n\t// OSC 9 is the escape sequence for desktop notifications\n\t// Format: ESC ] 9 ; message BEL\n\tconst osc9 = `\\x1b]9;${message}\\x07`;\n\tprocess.stdout.write(osc9);\n\tlogger.debug(\"Terminal notification sent\", { title });\n}\n\n/**\n * Send notification on turn complete.\n * Combines external program and terminal notifications.\n */\nexport function notifyTurnComplete(summary: string): void {\n\tconst config = loadNotificationConfig();\n\n\t// Send terminal notification\n\tif (config.terminalNotify) {\n\t\tsendTerminalNotification(\"Maestro\", summary);\n\t}\n\n\t// External program is handled by sendNotification with full payload\n}\n\nexport function summarizeNotificationPayload(\n\tpayload: NotificationPayload,\n): string | undefined {\n\tswitch (payload.type) {\n\t\tcase \"turn-complete\":\n\t\t\treturn payload.lastAssistantMessage ?? \"Turn complete\";\n\t\tcase \"session-start\":\n\t\t\treturn `Session started in ${payload.cwd}`;\n\t\tcase \"session-end\":\n\t\t\treturn payload.lastAssistantMessage ?? \"Session complete\";\n\t\tcase \"tool-execution\":\n\t\t\treturn payload.toolName\n\t\t\t\t? `${payload.toolName} finished`\n\t\t\t\t: \"Tool execution complete\";\n\t\tcase \"error\":\n\t\t\treturn payload.error ?? \"Agent error\";\n\t}\n}\n\nfunction requiresIdleWindow(type: NotificationEventType): boolean {\n\treturn type === \"turn-complete\" || type === \"session-end\";\n}\n\nasync function waitForIdleWindow(\n\tpayload: NotificationPayload,\n\tidleThresholdMs = DEFAULT_IDLE_THRESHOLD_MS,\n): Promise<boolean> {\n\tif (!requiresIdleWindow(payload.type) || idleThresholdMs <= 0) {\n\t\treturn true;\n\t}\n\n\tconst remainingDelay = idleThresholdMs - getTimeSinceLastUserInteraction();\n\tif (remainingDelay <= 0) {\n\t\treturn true;\n\t}\n\n\tawait new Promise((resolve) => setTimeout(resolve, remainingDelay));\n\treturn getTimeSinceLastUserInteraction() >= idleThresholdMs;\n}\n\n/**\n * Execute the notification program with the given payload.\n */\nfunction executeNotifyProgram(\n\tprogram: string,\n\tpayload: string,\n\ttimeout = DEFAULT_TIMEOUT_MS,\n): Promise<void> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst child = spawn(program, [payload], {\n\t\t\tstdio: [\"ignore\", \"ignore\", \"pipe\"],\n\t\t\ttimeout,\n\t\t\tshell: false,\n\t\t});\n\n\t\tlet stderr = \"\";\n\t\tchild.stderr?.on(\"data\", (data) => {\n\t\t\tstderr += data.toString();\n\t\t});\n\n\t\tchild.on(\"error\", (error) => {\n\t\t\tclearTimeout(safetyTimer);\n\t\t\treject(error);\n\t\t});\n\n\t\tchild.on(\"close\", (code) => {\n\t\t\tclearTimeout(safetyTimer);\n\t\t\tif (code === 0) {\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\treject(new Error(`Notify program exited with code ${code}: ${stderr}`));\n\t\t\t}\n\t\t});\n\n\t\t// Safety timeout\n\t\tconst safetyTimer = setTimeout(() => {\n\t\t\tchild.kill(\"SIGTERM\");\n\t\t\treject(new Error(\"Notify program timed out\"));\n\t\t}, timeout + 1000);\n\t});\n}\n\n/**\n * Create notification payload from agent event.\n */\nexport function createNotificationFromAgentEvent(\n\tevent: AgentEvent,\n\tcontext: {\n\t\tcwd: string;\n\t\tsessionId?: string;\n\t\tmessages?: AppMessage[];\n\t},\n): NotificationPayload | null {\n\tconst base = {\n\t\ttimestamp: new Date().toISOString(),\n\t\tcwd: context.cwd,\n\t\tthreadId: context.sessionId,\n\t};\n\n\tswitch (event.type) {\n\t\tcase \"agent_start\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"session-start\",\n\t\t\t};\n\n\t\tcase \"agent_end\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"session-end\",\n\t\t\t\tinputMessages: extractUserMessages(context.messages ?? event.messages),\n\t\t\t\tlastAssistantMessage: extractLastAssistantMessage(event.messages),\n\t\t\t};\n\n\t\tcase \"turn_end\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"turn-complete\",\n\t\t\t\tinputMessages: extractUserMessages(context.messages ?? []),\n\t\t\t\tlastAssistantMessage: extractAssistantText(event.message),\n\t\t\t};\n\n\t\tcase \"tool_execution_end\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"tool-execution\",\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\ttoolResult: extractToolResultText(event.result),\n\t\t\t\ttoolErrorCode: event.errorCode,\n\t\t\t\tapprovalRequestId: event.approvalRequestId,\n\t\t\t\tgovernedOutcome: event.governedOutcome,\n\t\t\t\tskillMetadata: event.skillMetadata,\n\t\t\t};\n\n\t\tcase \"error\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: event.message,\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\nexport function dispatchAgentNotification(\n\tevent: AgentEvent,\n\tcontext: {\n\t\tcwd: string;\n\t\tsessionId?: string;\n\t\tmessages?: AppMessage[];\n\t},\n\toptions?: {\n\t\tsessionHookService?: Pick<\n\t\t\tSessionHookService,\n\t\t\t\"hasHooks\" | \"runNotificationHooks\"\n\t\t>;\n\t\tlogger?: NotificationDispatchLogger;\n\t},\n): NotificationPayload | null {\n\tconst payload = createNotificationFromAgentEvent(event, context);\n\tif (!payload) {\n\t\treturn null;\n\t}\n\n\tif (options?.sessionHookService?.hasHooks(\"Notification\")) {\n\t\tvoid options.sessionHookService\n\t\t\t.runNotificationHooks(\n\t\t\t\tpayload.type,\n\t\t\t\tsummarizeNotificationPayload(payload) ?? payload.type,\n\t\t\t)\n\t\t\t.catch((error) => {\n\t\t\t\toptions.logger?.warn(\"Notification hooks failed\", {\n\t\t\t\t\ttype: payload.type,\n\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tif (isNotificationEnabled(payload.type)) {\n\t\tvoid sendNotification(payload);\n\t}\n\n\treturn payload;\n}\n\nfunction extractUserMessages(messages: AppMessage[]): string[] {\n\treturn messages\n\t\t.filter((m) => m.role === \"user\")\n\t\t.map((m) => {\n\t\t\tif (typeof m.content === \"string\") return m.content;\n\t\t\tif (Array.isArray(m.content)) {\n\t\t\t\treturn m.content\n\t\t\t\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t\t\t\t.map((c) => c.text)\n\t\t\t\t\t.join(\"\\n\");\n\t\t\t}\n\t\t\treturn \"\";\n\t\t})\n\t\t.filter(Boolean);\n}\n\nfunction extractLastAssistantMessage(\n\tmessages: AppMessage[],\n): string | undefined {\n\tconst assistantMessages = messages.filter((m) => m.role === \"assistant\");\n\tconst lastMessage = assistantMessages[assistantMessages.length - 1];\n\tif (!lastMessage) return undefined;\n\treturn extractAssistantText(lastMessage);\n}\n\nfunction extractAssistantText(message: AppMessage): string | undefined {\n\tif (message.role !== \"assistant\") return undefined;\n\tconst textParts = message.content\n\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t.map((c) => c.text);\n\treturn textParts.join(\"\\n\") || undefined;\n}\n\nfunction extractToolResultText(\n\tresult: { content: Array<{ type: string; text?: string }> } | undefined,\n): string | undefined {\n\tif (!result?.content) return undefined;\n\treturn result.content\n\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t.map((c) => c.text)\n\t\t.join(\"\\n\")\n\t\t.slice(0, 1000); // Truncate for payload size\n}\n"]}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Structural terminal-UI surface types for the public hooks API.
3
+ *
4
+ * User hook scripts may reference `Component` / `TUI` via the hooks types
5
+ * module. These are intentionally structural (not imported from the terminal
6
+ * UI package) so hooks types and non-interactive hook runners never take a
7
+ * hard dependency on that package. The interactive TUI implementation remains
8
+ * structurally assignable to these contracts.
9
+ */
10
+ /**
11
+ * Minimal renderable component surface (matches the terminal UI Component
12
+ * interface enough for hook custom UI factories and message renderers).
13
+ */
14
+ export interface Component {
15
+ render(width: number): string[];
16
+ handleInput?(data: string): void;
17
+ invalidate?(): void;
18
+ onMount?(): void;
19
+ onUnmount?(): void;
20
+ dispose?(): void;
21
+ }
22
+ /**
23
+ * Minimal TUI host surface passed to hook `ui.custom()` factories.
24
+ * Only the methods hooks commonly need are declared; extra methods on the
25
+ * real host are fine (structural typing).
26
+ */
27
+ export interface TUI {
28
+ addChild(component: Component): void;
29
+ removeChild?(component: Component): void;
30
+ setFocus(component: Component | null): void;
31
+ requestRender?(priority?: "normal" | "interactive"): void;
32
+ start?(): void;
33
+ stop?(): void;
34
+ }
35
+ //# sourceMappingURL=tui-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-surface.d.ts","sourceRoot":"","sources":["../../src/hooks/tui-surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,IAAI,IAAI,CAAC;IACpB,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG;IACnB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;IAC1D,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,IAAI,CAAC,IAAI,IAAI,CAAC;CACd"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Structural terminal-UI surface types for the public hooks API.
3
+ *
4
+ * User hook scripts may reference `Component` / `TUI` via the hooks types
5
+ * module. These are intentionally structural (not imported from the terminal
6
+ * UI package) so hooks types and non-interactive hook runners never take a
7
+ * hard dependency on that package. The interactive TUI implementation remains
8
+ * structurally assignable to these contracts.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=tui-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-surface.js","sourceRoot":"","sources":["../../src/hooks/tui-surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG","sourcesContent":["/**\n * Structural terminal-UI surface types for the public hooks API.\n *\n * User hook scripts may reference `Component` / `TUI` via the hooks types\n * module. These are intentionally structural (not imported from the terminal\n * UI package) so hooks types and non-interactive hook runners never take a\n * hard dependency on that package. The interactive TUI implementation remains\n * structurally assignable to these contracts.\n */\n\n/**\n * Minimal renderable component surface (matches the terminal UI Component\n * interface enough for hook custom UI factories and message renderers).\n */\nexport interface Component {\n\trender(width: number): string[];\n\thandleInput?(data: string): void;\n\tinvalidate?(): void;\n\tonMount?(): void;\n\tonUnmount?(): void;\n\tdispose?(): void;\n}\n\n/**\n * Minimal TUI host surface passed to hook `ui.custom()` factories.\n * Only the methods hooks commonly need are declared; extra methods on the\n * real host are fine (structural typing).\n */\nexport interface TUI {\n\taddChild(component: Component): void;\n\tremoveChild?(component: Component): void;\n\tsetFocus(component: Component | null): void;\n\trequestRender?(priority?: \"normal\" | \"interactive\"): void;\n\tstart?(): void;\n\tstop?(): void;\n}\n"]}
@@ -4,10 +4,11 @@
4
4
  * Hooks allow external programs to intercept, modify, or block agent operations
5
5
  * at various points in the execution lifecycle.
6
6
  */
7
- import type { Component, TUI } from "@evalops/tui";
8
7
  import type { AgentTool, HookMessage } from "../agent/types.js";
9
8
  import type { BranchSummaryEntry, SessionTreeEntry } from "../session/types.js";
10
9
  import type { Theme } from "../theme/theme.js";
10
+ import type { Component, TUI } from "./tui-surface.js";
11
+ export type { Component, TUI } from "./tui-surface.js";
11
12
  /**
12
13
  * All supported hook event types.
13
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqdH,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CACjC,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,WAAW,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,CACN,KAAK,CAAC,SAAS,KAAK,MAAM;QAC1B,KAAK,CAAC,SAAS,KAAK,OAAO;QAC3B,KAAK,CAAC,SAAS,KAAK,MAAM,CAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACjE,CAAC;AAmZD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,QAAiB;IAEjB,OAAO,CACN,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAO,IAAI,QAAQ;QACnB,QAAQ,CAAC,KAAK,KAAK,IAAI,CACvB,CAAC;AACH,CAAC","sourcesContent":["/**\n * Comprehensive hook system for Claude Code-style lifecycle events.\n *\n * Hooks allow external programs to intercept, modify, or block agent operations\n * at various points in the execution lifecycle.\n */\n\nimport type { Component, TUI } from \"@evalops/tui\";\nimport type {\n\tAgentTool,\n\tHookMessage,\n\tToolCall,\n\tToolResultMessage,\n} from \"../agent/types.js\";\nimport type { BranchSummaryEntry, SessionTreeEntry } from \"../session/types.js\";\nimport type { Theme } from \"../theme/theme.js\";\n\n/**\n * All supported hook event types.\n */\nexport type HookEventType =\n\t| \"PreToolUse\"\n\t| \"PostToolUse\"\n\t| \"PostToolUseFailure\"\n\t| \"EvalGate\"\n\t| \"SessionStart\"\n\t| \"SessionEnd\"\n\t| \"SessionSwitch\"\n\t| \"SessionBeforeTree\"\n\t| \"SessionTree\"\n\t| \"SubagentStart\"\n\t| \"SubagentStop\"\n\t| \"UserPromptSubmit\"\n\t| \"Notification\"\n\t| \"PreCompact\"\n\t| \"PostCompact\"\n\t| \"PermissionRequest\"\n\t| \"Overflow\"\n\t| \"StopFailure\"\n\t| \"PreMessage\"\n\t| \"PostMessage\"\n\t| \"OnError\"\n\t| \"Branch\";\n\n/**\n * Base hook input shared across all hook types.\n */\nexport interface HookInputBase {\n\t/** Event type identifier */\n\thook_event_name: HookEventType;\n\t/** Session ID if available */\n\tsession_id?: string;\n\t/** Current working directory */\n\tcwd: string;\n\t/** Timestamp in ISO format */\n\ttimestamp: string;\n}\n\n/**\n * Optional human-facing tool presentation fields for hook consumers.\n *\n * Hooks can keep using `tool_name` for stable matching while reading these\n * fields for user-visible summaries.\n */\nexport interface ToolPresentationHookFields {\n\t/** Human-facing tool label */\n\ttool_display_name?: string;\n\t/** Compact summary of the specific tool call */\n\ttool_summary?: string;\n\t/** Present-tense description of the current tool activity */\n\ttool_action_description?: string;\n}\n\n/**\n * Input for PreToolUse hooks - called before a tool is executed.\n */\nexport interface PreToolUseHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PreToolUse\";\n\t/** Name of the tool about to be executed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments passed to the tool */\n\ttool_input: Record<string, unknown>;\n}\n\n/**\n * Input for PostToolUse hooks - called after successful tool execution.\n */\nexport interface PostToolUseHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PostToolUse\";\n\t/** Name of the tool that was executed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments that were passed to the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Result from tool execution (truncated if large) */\n\ttool_output: string;\n\t/** Whether the tool result was an error */\n\tis_error: boolean;\n}\n\n/**\n * Input for EvalGate hooks - called to score tool execution.\n */\nexport interface EvalGateHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"EvalGate\";\n\t/** Name of the tool that was executed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments that were passed to the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Result from tool execution (truncated if large) */\n\ttool_output: string;\n\t/** Whether the tool result was an error */\n\tis_error: boolean;\n}\n\n/**\n * Input for PostToolUseFailure hooks - called when tool execution fails.\n */\nexport interface PostToolUseFailureHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PostToolUseFailure\";\n\t/** Name of the tool that failed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments that were passed to the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Error message */\n\terror: string;\n}\n\n/**\n * Input for SessionStart hooks - called when a session begins.\n */\nexport interface SessionStartHookInput extends HookInputBase {\n\thook_event_name: \"SessionStart\";\n\t/** Source of the session (interactive, headless, api, etc.) */\n\tsource: string;\n\t/** User ID if available */\n\tuser_id?: string;\n\t/** Organization ID if available */\n\torg_id?: string;\n}\n\n/**\n * Input for SessionEnd hooks - called when a session ends.\n */\nexport interface SessionEndHookInput extends HookInputBase {\n\thook_event_name: \"SessionEnd\";\n\t/** Reason for session ending */\n\treason: \"user_exit\" | \"error\" | \"timeout\" | \"abort\" | \"complete\" | \"clear\";\n\t/** Duration in milliseconds */\n\tduration_ms: number;\n\t/** Number of turns in the session */\n\tturn_count: number;\n}\n\n/**\n * Input for SessionSwitch hooks - called when switching to a different session.\n */\nexport interface SessionSwitchHookInput extends HookInputBase {\n\thook_event_name: \"SessionSwitch\";\n\t/** Session ID being switched from (null if no previous session) */\n\tfrom_session_id?: string;\n\t/** Session ID being switched to */\n\tto_session_id: string;\n\t/** Number of messages in the target session */\n\tmessage_count: number;\n\t/** Whether this is a resume operation */\n\tis_resume: boolean;\n}\n\n/**\n * Input for SessionBeforeTree hooks - called before navigating session tree.\n */\nexport interface SessionBeforeTreeHookInput extends HookInputBase {\n\thook_event_name: \"SessionBeforeTree\";\n\tpreparation: {\n\t\t/** Target entry ID selected in the tree */\n\t\ttarget_id: string;\n\t\t/** Current leaf ID (null if root) */\n\t\told_leaf_id: string | null;\n\t\t/** Common ancestor between old leaf and target */\n\t\tcommon_ancestor_id: string | null;\n\t\t/** Entries that would be summarized */\n\t\tentries_to_summarize: SessionTreeEntry[];\n\t\t/** Whether the user opted into summarization */\n\t\tuser_wants_summary: boolean;\n\t};\n}\n\n/**\n * Input for SessionTree hooks - called after navigating session tree.\n */\nexport interface SessionTreeHookInput extends HookInputBase {\n\thook_event_name: \"SessionTree\";\n\t/** New leaf ID after navigation */\n\tnew_leaf_id: string | null;\n\t/** Previous leaf ID */\n\told_leaf_id: string | null;\n\t/** Branch summary entry if one was created */\n\tsummary_entry?: BranchSummaryEntry;\n\t/** Whether the summary came from a hook */\n\tfrom_hook?: boolean;\n}\n\n/**\n * Input for SubagentStart hooks - called before spawning a subagent.\n */\nexport interface SubagentStartHookInput extends HookInputBase {\n\thook_event_name: \"SubagentStart\";\n\t/** Type of agent being spawned */\n\tagent_type: string;\n\t/** Prompt being sent to the subagent */\n\tprompt: string;\n\t/** Parent session ID */\n\tparent_session_id?: string;\n}\n\n/**\n * Input for SubagentStop hooks - called when a subagent completes.\n */\nexport interface SubagentStopHookInput extends HookInputBase {\n\thook_event_name: \"SubagentStop\";\n\t/** Type of agent that completed */\n\tagent_type: string;\n\t/** Agent's unique ID */\n\tagent_id: string;\n\t/** Whether the agent completed successfully */\n\tsuccess: boolean;\n\t/** Error message if failed */\n\terror?: string;\n\t/** Duration of subagent execution in milliseconds */\n\tduration_ms: number;\n\t/** Number of turns the subagent took */\n\tturn_count: number;\n\t/** Path to the subagent transcript */\n\ttranscript_path?: string;\n\t/** Parent session ID */\n\tparent_session_id?: string;\n}\n\n/**\n * Input for UserPromptSubmit hooks - called when user submits a prompt.\n */\nexport interface UserPromptSubmitHookInput extends HookInputBase {\n\thook_event_name: \"UserPromptSubmit\";\n\t/** The user's prompt text */\n\tprompt: string;\n\t/** Number of attachments */\n\tattachment_count: number;\n}\n\n/**\n * Input for Notification hooks - called on various notifications.\n */\nexport interface NotificationHookInput extends HookInputBase {\n\thook_event_name: \"Notification\";\n\t/** Type of notification */\n\tnotification_type: string;\n\t/** Notification message */\n\tmessage: string;\n}\n\n/**\n * Input for PreCompact hooks - called before context compaction.\n */\nexport interface PreCompactHookInput extends HookInputBase {\n\thook_event_name: \"PreCompact\";\n\t/** What triggered the compaction */\n\ttrigger: \"auto\" | \"manual\" | \"token_limit\";\n\t/** Current token count */\n\ttoken_count: number;\n\t/** Target token count after compaction */\n\ttarget_token_count: number;\n}\n\n/**\n * Input for PostCompact hooks - called after context compaction succeeds.\n */\nexport interface PostCompactHookInput extends HookInputBase {\n\thook_event_name: \"PostCompact\";\n\t/** What triggered the compaction */\n\ttrigger: \"auto\" | \"manual\" | \"token_limit\";\n\t/** Summary that replaced the compacted history */\n\tcompact_summary: string;\n}\n\n/**\n * Input for PermissionRequest hooks - called when permission is required.\n */\nexport interface PermissionRequestHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PermissionRequest\";\n\t/** Tool requesting permission */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments for the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Reason permission is required */\n\treason: string;\n}\n\n/**\n * Input for Overflow hooks - called when context overflow is detected.\n */\nexport interface OverflowHookInput extends HookInputBase {\n\thook_event_name: \"Overflow\";\n\t/** Current token count */\n\ttoken_count: number;\n\t/** Maximum allowed tokens */\n\tmax_tokens: number;\n\t/** Model being used */\n\tmodel?: string;\n}\n\n/**\n * Input for StopFailure hooks - called when recovery cannot produce a valid completion.\n */\nexport interface StopFailureHookInput extends HookInputBase {\n\thook_event_name: \"StopFailure\";\n\t/** Stable failure code for matcher routing */\n\terror: string;\n\t/** Provider or runtime failure details */\n\terror_details?: string;\n\t/** Text content of the last assistant message before stopping */\n\tlast_assistant_message?: string;\n}\n\n/**\n * Input for PreMessage hooks - called before user message is sent to model.\n */\nexport interface PreMessageHookInput extends HookInputBase {\n\thook_event_name: \"PreMessage\";\n\t/** The user's message content */\n\tmessage: string;\n\t/** Attached files (paths) */\n\tattachments: string[];\n\t/** Current model being used */\n\tmodel?: string;\n}\n\n/**\n * Input for PostMessage hooks - called after assistant response is generated.\n */\nexport interface PostMessageHookInput extends HookInputBase {\n\thook_event_name: \"PostMessage\";\n\t/** The assistant's response (text content only) */\n\tresponse: string;\n\t/** Number of tokens used in input */\n\tinput_tokens: number;\n\t/** Number of tokens in output */\n\toutput_tokens: number;\n\t/** Total turn duration in milliseconds */\n\tduration_ms: number;\n\t/** Stop reason (if available) */\n\tstop_reason?: string;\n}\n\n/**\n * Input for OnError hooks - called when an error occurs.\n */\nexport interface OnErrorHookInput extends HookInputBase {\n\thook_event_name: \"OnError\";\n\t/** Error message */\n\terror: string;\n\t/** Error kind/type */\n\terror_kind: string;\n\t/** Context where error occurred (tool name, api call, etc.) */\n\tcontext?: string;\n\t/** Whether the error is recoverable */\n\trecoverable: boolean;\n}\n\n/**\n * Input for Branch hooks - called when a session branch is created.\n */\nexport interface BranchHookInput extends HookInputBase {\n\thook_event_name: \"Branch\";\n\t/** Session ID of the parent session */\n\tparent_session_id?: string;\n\t/** Index of the message being branched from */\n\tbranch_from_index: number;\n\t/** Number of messages being kept in the new branch */\n\tmessages_kept: number;\n\t/** The new session ID for the branched session */\n\tnew_session_id?: string;\n}\n\n/**\n * Union of all hook input types.\n */\nexport type HookInput =\n\t| PreToolUseHookInput\n\t| PostToolUseHookInput\n\t| PostToolUseFailureHookInput\n\t| EvalGateHookInput\n\t| SessionStartHookInput\n\t| SessionEndHookInput\n\t| SessionSwitchHookInput\n\t| SessionBeforeTreeHookInput\n\t| SessionTreeHookInput\n\t| SubagentStartHookInput\n\t| SubagentStopHookInput\n\t| UserPromptSubmitHookInput\n\t| NotificationHookInput\n\t| PreCompactHookInput\n\t| PostCompactHookInput\n\t| PermissionRequestHookInput\n\t| OverflowHookInput\n\t| StopFailureHookInput\n\t| PreMessageHookInput\n\t| PostMessageHookInput\n\t| OnErrorHookInput\n\t| BranchHookInput;\n\n// ============================================================================\n// Tool-Specific Hook Input Types\n// ============================================================================\n\n/**\n * PostToolUseHookInput narrowed to a specific tool.\n * Use the type guards below to narrow PostToolUseHookInput to these types.\n */\nexport interface BashToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Bash\";\n}\n\nexport interface ReadToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Read\";\n}\n\nexport interface WriteToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Write\";\n}\n\nexport interface EditToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Edit\";\n}\n\nexport interface GlobToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Glob\";\n}\n\nexport interface GrepToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Grep\";\n}\n\nexport interface TaskToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Task\";\n}\n\nexport interface WebFetchToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"WebFetch\";\n}\n\nexport interface WebSearchToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"WebSearch\";\n}\n\n// ============================================================================\n// Type Guards for Tool-Specific Hook Inputs\n// ============================================================================\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Bash tool.\n * @example\n * if (isBashToolHook(input)) {\n * // input.tool_name is \"Bash\"\n * console.log(\"Bash command executed\");\n * }\n */\nexport function isBashToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is BashToolHookInput {\n\treturn input.tool_name === \"Bash\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Read tool.\n */\nexport function isReadToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is ReadToolHookInput {\n\treturn input.tool_name === \"Read\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Write tool.\n */\nexport function isWriteToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is WriteToolHookInput {\n\treturn input.tool_name === \"Write\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Edit tool.\n */\nexport function isEditToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is EditToolHookInput {\n\treturn input.tool_name === \"Edit\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Glob tool.\n */\nexport function isGlobToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is GlobToolHookInput {\n\treturn input.tool_name === \"Glob\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Grep tool.\n */\nexport function isGrepToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is GrepToolHookInput {\n\treturn input.tool_name === \"Grep\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Task tool.\n */\nexport function isTaskToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is TaskToolHookInput {\n\treturn input.tool_name === \"Task\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to WebFetch tool.\n */\nexport function isWebFetchToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is WebFetchToolHookInput {\n\treturn input.tool_name === \"WebFetch\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to WebSearch tool.\n */\nexport function isWebSearchToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is WebSearchToolHookInput {\n\treturn input.tool_name === \"WebSearch\";\n}\n\n/**\n * Check if hook input is for a file operation tool (Read, Write, Edit).\n */\nexport function isFileToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is ReadToolHookInput | WriteToolHookInput | EditToolHookInput {\n\treturn (\n\t\tinput.tool_name === \"Read\" ||\n\t\tinput.tool_name === \"Write\" ||\n\t\tinput.tool_name === \"Edit\"\n\t);\n}\n\n/**\n * Check if hook input is for a search tool (Glob, Grep).\n */\nexport function isSearchToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is GlobToolHookInput | GrepToolHookInput {\n\treturn input.tool_name === \"Glob\" || input.tool_name === \"Grep\";\n}\n\n/**\n * Permission decision that hooks can return.\n */\nexport type HookPermissionDecision = \"allow\" | \"deny\" | \"ask\";\n\n/**\n * Hook-specific output for PreToolUse events.\n */\nexport interface PreToolUseHookOutput {\n\thookEventName: \"PreToolUse\";\n\t/** Permission decision for this tool call */\n\tpermissionDecision?: HookPermissionDecision;\n\t/** Reason for the permission decision */\n\tpermissionDecisionReason?: string;\n\t/** Modified tool input to use instead of original */\n\tupdatedInput?: Record<string, unknown>;\n}\n\n/**\n * Hook-specific output for PostToolUse events.\n */\nexport interface PostToolUseHookOutput {\n\thookEventName: \"PostToolUse\";\n\t/** Additional context to inject into conversation */\n\tadditionalContext?: string;\n\t/** Updated MCP tool output (for MCP tools only) */\n\tupdatedMCPToolOutput?: unknown;\n\t/** Structured assertions produced by the tool */\n\tassertions?: EvalAssertion[];\n}\n\n/**\n * Structured evaluation assertion.\n */\nexport interface EvalAssertion {\n\t/** Unique identifier for the assertion */\n\tid?: string;\n\t/** Human-friendly assertion name */\n\tname: string;\n\t/** Description or notes about the assertion */\n\tdescription?: string;\n\t/** Whether the assertion passed */\n\tpassed?: boolean;\n\t/** Numerical score for the assertion */\n\tscore?: number;\n\t/** Passing threshold */\n\tthreshold?: number;\n\t/** Severity if the assertion fails */\n\tseverity?: \"info\" | \"warn\" | \"error\";\n\t/** Evidence string supporting the assertion */\n\tevidence?: string;\n\t/** Additional metadata */\n\tmetadata?: Record<string, unknown>;\n}\n\n/**\n * Hook-specific output for EvalGate events.\n */\nexport interface EvalGateHookOutput {\n\thookEventName: \"EvalGate\";\n\t/** Assertions reported by the evaluation */\n\tassertions?: EvalAssertion[];\n\t/** Aggregate evaluation score */\n\tscore?: number;\n\t/** Required threshold */\n\tthreshold?: number;\n\t/** Whether the evaluation passed */\n\tpassed?: boolean;\n\t/** Optional rationale */\n\trationale?: string;\n}\n\n/**\n * Hook-specific output for PostToolUseFailure events.\n */\nexport interface PostToolUseFailureHookOutput {\n\thookEventName: \"PostToolUseFailure\";\n\t/** Additional context about the failure */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for SessionStart events.\n */\nexport interface SessionStartHookOutput {\n\thookEventName: \"SessionStart\";\n\t/** Additional context to inject at session start */\n\tadditionalContext?: string;\n\t/** Initial user message to queue for the first real run */\n\tinitialUserMessage?: string;\n}\n\n/**\n * Hook-specific output for SubagentStart events.\n */\nexport interface SubagentStartHookOutput {\n\thookEventName: \"SubagentStart\";\n\t/** Additional context for the subagent */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for SubagentStop events.\n */\nexport interface SubagentStopHookOutput {\n\thookEventName: \"SubagentStop\";\n\t/** Additional context about subagent completion */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for SessionSwitch events.\n */\nexport interface SessionSwitchHookOutput {\n\thookEventName: \"SessionSwitch\";\n\t/** Additional context to inject after session switch */\n\tadditionalContext?: string;\n\t/** If true, skip restoring the conversation view */\n\tskipConversationRestore?: boolean;\n\t/** Custom message to display after switch */\n\tmessage?: string;\n}\n\n/**\n * Hook-specific output for SessionBeforeTree events.\n */\nexport interface SessionBeforeTreeHookOutput {\n\thookEventName: \"SessionBeforeTree\";\n\t/** If true, cancel tree navigation */\n\tcancel?: boolean;\n\t/** Custom summary to use instead of default summarizer */\n\tsummary?: {\n\t\tsummary: string;\n\t\tdetails?: unknown;\n\t};\n}\n\n/**\n * Hook-specific output for UserPromptSubmit events.\n */\nexport interface UserPromptSubmitHookOutput {\n\thookEventName: \"UserPromptSubmit\";\n\t/** Additional context to inject with the prompt */\n\tadditionalContext: string;\n}\n\n/**\n * Hook-specific output for PreMessage events.\n */\nexport interface PreMessageHookOutput {\n\thookEventName: \"PreMessage\";\n\t/** Additional context to inject into the current model call */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for PostCompact events.\n */\nexport interface PostCompactHookOutput {\n\thookEventName: \"PostCompact\";\n}\n\n/**\n * Hook-specific output for PermissionRequest events.\n */\nexport interface PermissionRequestHookOutput {\n\thookEventName: \"PermissionRequest\";\n\t/** Decision from the hook */\n\tdecision?: {\n\t\tbehavior: \"allow\" | \"deny\";\n\t\tupdatedInput?: Record<string, unknown>;\n\t};\n}\n\n/**\n * Hook-specific output for Branch events.\n */\nexport interface BranchHookOutput {\n\thookEventName: \"Branch\";\n\t/** If true, skip the default conversation restore behavior */\n\tskipConversationRestore?: boolean;\n\t/** Optional git ref to checkout when branching */\n\tgitCheckout?: string;\n\t/** Custom message to display after branching */\n\tmessage?: string;\n}\n\n/**\n * Union of all hook-specific outputs.\n */\nexport type HookSpecificOutput =\n\t| PreToolUseHookOutput\n\t| PostToolUseHookOutput\n\t| PostToolUseFailureHookOutput\n\t| EvalGateHookOutput\n\t| SessionStartHookOutput\n\t| SubagentStartHookOutput\n\t| SubagentStopHookOutput\n\t| SessionSwitchHookOutput\n\t| SessionBeforeTreeHookOutput\n\t| UserPromptSubmitHookOutput\n\t| PreMessageHookOutput\n\t| PostCompactHookOutput\n\t| PermissionRequestHookOutput\n\t| BranchHookOutput;\n\n/**\n * JSON output format that hooks should return.\n */\nexport interface HookJsonOutput {\n\t/** If false, prevents the agent from continuing */\n\tcontinue?: boolean;\n\t/** If continue is false, this explains why */\n\tstopReason?: string;\n\t/** Suppress normal output display */\n\tsuppressOutput?: boolean;\n\t/** Legacy decision field (approve/block) */\n\tdecision?: \"approve\" | \"block\";\n\t/** Reason for the decision */\n\treason?: string;\n\t/** System message to inject */\n\tsystemMessage?: string;\n\t/** Legacy permission decision field */\n\tpermissionDecision?: HookPermissionDecision;\n\t/** Hook-specific output based on event type */\n\thookSpecificOutput?: HookSpecificOutput;\n}\n\n/**\n * Parsed result from hook execution.\n */\nexport interface HookExecutionResult {\n\t/** Whether to prevent continuation */\n\tpreventContinuation?: boolean;\n\t/** Reason for stopping */\n\tstopReason?: string;\n\t/** Permission behavior override */\n\tpermissionBehavior?: \"allow\" | \"deny\" | \"ask\";\n\t/** Reason for permission decision */\n\thookPermissionDecisionReason?: string;\n\t/** Blocking error details */\n\tblockingError?: {\n\t\tblockingError: string;\n\t\tcommand: string;\n\t};\n\t/** System message to inject */\n\tsystemMessage?: string;\n\t/** Additional context to add */\n\tadditionalContext?: string;\n\t/** Initial user message to queue for the next run */\n\tinitialUserMessage?: string;\n\t/** Updated tool input */\n\tupdatedInput?: Record<string, unknown>;\n\t/** Updated MCP tool output */\n\tupdatedMCPToolOutput?: unknown;\n\t/** Hook-specific output payload */\n\thookSpecificOutput?: HookSpecificOutput;\n\t/** Evaluation assertions */\n\tassertions?: EvalAssertion[];\n\t/** Evaluation summary */\n\tevaluation?: {\n\t\tscore?: number;\n\t\tthreshold?: number;\n\t\tpassed?: boolean;\n\t\trationale?: string;\n\t};\n\t/** Permission request result */\n\tpermissionRequestResult?: {\n\t\tbehavior: \"allow\" | \"deny\";\n\t\tupdatedInput?: Record<string, unknown>;\n\t};\n\t/** Message attachment for UI display */\n\tmessage: HookResultMessage;\n}\n\n/**\n * Types of hook result messages for UI display.\n */\nexport type HookResultMessageType =\n\t| \"hook_success\"\n\t| \"hook_blocking_error\"\n\t| \"hook_non_blocking_error\"\n\t| \"hook_error_during_execution\"\n\t| \"hook_cancelled\"\n\t| \"hook_system_message\"\n\t| \"hook_additional_context\"\n\t| \"hook_stopped_continuation\"\n\t| \"hook_evaluation\";\n\n/**\n * Message attachment from hook execution.\n */\nexport interface HookResultMessage {\n\ttype: HookResultMessageType;\n\thookName: string;\n\thookEvent: HookEventType;\n\ttoolUseID?: string;\n\tcontent?: string;\n\tblockingError?: {\n\t\tblockingError: string;\n\t\tcommand: string;\n\t};\n\tstdout?: string;\n\tstderr?: string;\n\texitCode?: number;\n}\n\n/**\n * Configuration for a single hook command.\n */\nexport interface HookCommandConfig {\n\ttype: \"command\";\n\t/** Shell command to execute */\n\tcommand: string;\n\t/** Timeout in seconds (default: 60) */\n\ttimeout?: number;\n}\n\n/**\n * Configuration for a hook that uses a prompt.\n */\nexport interface HookPromptConfig {\n\ttype: \"prompt\";\n\t/** Prompt template */\n\tprompt: string;\n}\n\n/**\n * Configuration for a hook that spawns an agent.\n */\nexport interface HookAgentConfig {\n\ttype: \"agent\";\n\t/** Function to generate the prompt */\n\tprompt: (context: unknown[]) => string;\n}\n\n/**\n * Configuration for a callback-based hook.\n */\nexport interface HookCallbackConfig {\n\ttype: \"callback\";\n\t/** Callback function */\n\tcallback: (input: HookInput) => Promise<HookJsonOutput | null>;\n}\n\n/**\n * Configuration for a TypeScript hook file.\n * TypeScript hooks are loaded via jiti and export a default function.\n */\nexport interface HookTypeScriptConfig {\n\ttype: \"typescript\";\n\t/** Path to the TypeScript file */\n\tpath: string;\n\t/** Resolved absolute path */\n\tresolvedPath?: string;\n}\n\n/**\n * Union of all hook configuration types.\n */\nexport type HookConfig =\n\t| HookCommandConfig\n\t| HookPromptConfig\n\t| HookAgentConfig\n\t| HookCallbackConfig\n\t| HookTypeScriptConfig;\n\n/**\n * A matcher with associated hooks.\n */\nexport interface HookMatcher {\n\t/** Pattern to match (tool name, source, etc.) - \"*\" or undefined matches all */\n\tmatcher?: string;\n\t/** Hooks to execute when matcher matches */\n\thooks: HookConfig[];\n}\n\n/**\n * Full hook configuration by event type.\n */\nexport type HookConfiguration = Partial<Record<HookEventType, HookMatcher[]>>;\n\n/**\n * Result of running a single hook command.\n */\nexport interface HookCommandResult {\n\tstdout: string;\n\tstderr: string;\n\tstatus: number;\n\taborted?: boolean;\n}\n\n/**\n * Async hook detection response.\n */\nexport interface AsyncHookResponse {\n\tasync: true;\n\tprocessId: string;\n\tmessage?: string;\n}\n\n/**\n * Check if a response indicates async execution.\n */\nexport function isAsyncHookResponse(\n\tresponse: unknown,\n): response is AsyncHookResponse {\n\treturn (\n\t\ttypeof response === \"object\" &&\n\t\tresponse !== null &&\n\t\t\"async\" in response &&\n\t\tresponse.async === true\n\t);\n}\n\n// ============================================================================\n// Hook API Types (for TypeScript hooks - pi-mono style)\n// ============================================================================\n\n/**\n * Attachment that can be sent with a message.\n */\nexport interface HookAttachment {\n\t/** Unique identifier */\n\tid: string;\n\t/** Type of attachment */\n\ttype: \"image\" | \"document\";\n\t/** Original file name */\n\tfileName: string;\n\t/** MIME type */\n\tmimeType: string;\n\t/** File size in bytes */\n\tsize: number;\n\t/** Base64 encoded content */\n\tcontent: string;\n}\n\n/**\n * Handler for sending messages from hooks.\n */\nexport type HookSendHandler = (\n\ttext: string,\n\tattachments?: HookAttachment[],\n) => void;\n\n/**\n * Handler for sending hook messages into the conversation.\n */\nexport type HookSendMessageHandler = <T = unknown>(\n\tmessage: Pick<\n\t\tHookMessage<T>,\n\t\t\"customType\" | \"content\" | \"display\" | \"details\"\n\t>,\n\ttriggerTurn?: boolean,\n) => void;\n\n/**\n * Handler for appending custom entries to the session.\n */\nexport type HookAppendEntryHandler = <T = unknown>(\n\tcustomType: string,\n\tdata?: T,\n) => void;\n\n/**\n * UI context available to hooks for interactive prompts.\n */\nexport interface HookUIContext {\n\t/**\n\t * Show a selection list and return the selected option.\n\t * Returns null if the user cancels.\n\t */\n\tselect(title: string, options: string[]): Promise<string | null>;\n\n\t/**\n\t * Show a confirmation dialog.\n\t * Returns true if confirmed, false otherwise.\n\t */\n\tconfirm(title: string, message: string): Promise<boolean>;\n\n\t/**\n\t * Show an input prompt for text entry.\n\t * Returns null if the user cancels.\n\t */\n\tinput(title: string, placeholder?: string): Promise<string | null>;\n\n\t/**\n\t * Show a notification message.\n\t */\n\tnotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n\n\t/**\n\t * Set status text in the footer/status bar.\n\t * Pass undefined as text to clear the status for this key.\n\t */\n\tsetStatus(key: string, text: string | undefined): void;\n\n\t/**\n\t * Show a custom component with keyboard focus.\n\t */\n\tcustom<T>(\n\t\tfactory: (\n\t\t\ttui: TUI,\n\t\t\ttheme: Theme,\n\t\t\tdone: (result: T) => void,\n\t\t) => Component | Promise<Component>,\n\t): Promise<T>;\n\n\t/**\n\t * Set the text in the core input editor.\n\t */\n\tsetEditorText(text: string): void;\n\n\t/**\n\t * Get the current text from the core input editor.\n\t */\n\tgetEditorText(): string;\n\n\t/**\n\t * Show a multi-line editor for text editing.\n\t * Returns null if cancelled.\n\t */\n\teditor(title: string, prefill?: string): Promise<string | null>;\n\n\t/**\n\t * Current theme for styling with ANSI codes.\n\t */\n\treadonly theme: Theme;\n}\n\n/**\n * Context passed to hook event handlers.\n */\nexport interface HookEventContext {\n\t/** Execute a command in the working directory */\n\texec(command: string, args: string[]): Promise<ExecResult>;\n\t/** UI methods for interactive hooks */\n\tui: HookUIContext;\n\t/** Whether interactive UI is available */\n\thasUI: boolean;\n\t/** Current working directory */\n\tcwd: string;\n\t/** Session file path or null */\n\tsessionFile: string | null;\n}\n\n/**\n * Context passed to hook command handlers.\n * Mirrors HookEventContext and is extended in interactive modes.\n */\nexport interface HookCommandContext extends HookEventContext {\n\t/** Whether the agent is idle (not streaming) */\n\tisIdle(): boolean;\n\t/** Abort the current agent operation */\n\tabort(): void;\n\t/** Whether there are queued messages waiting to be processed */\n\thasQueuedMessages(): boolean;\n\t/** Wait for the agent to finish streaming */\n\twaitForIdle(): Promise<void>;\n\t/** Start a new session (if supported by the mode) */\n\tnewSession?: (options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: unknown) => Promise<void>;\n\t}) => Promise<{ cancelled: boolean }>;\n\t/** Branch from a specific entry (if supported by the mode) */\n\tbranch?: (entryId: string) => Promise<{ cancelled: boolean }>;\n\t/** Navigate within the session tree (if supported by the mode) */\n\tnavigateTree?: (\n\t\ttargetId: string,\n\t\toptions?: { summarize?: boolean },\n\t) => Promise<{ cancelled: boolean }>;\n}\n\n/**\n * Result of executing a command.\n */\nexport interface ExecResult {\n\tstdout: string;\n\tstderr: string;\n\tcode: number;\n}\n\n/**\n * Handler type for hook events.\n */\nexport type HookHandler<E, R = void> = (\n\tevent: E,\n\tctx: HookEventContext,\n) => Promise<R>;\n\nexport interface HookMessageRenderOptions {\n\texpanded: boolean;\n}\n\n/**\n * Renderer for hook messages.\n */\nexport type HookMessageRenderer<T = unknown> = (\n\tmessage: HookMessage<T>,\n\toptions: HookMessageRenderOptions,\n\ttheme: Theme,\n) => Component | undefined;\n\n/**\n * Command registration options.\n */\nexport interface RegisteredCommand {\n\tname: string;\n\tdescription?: string;\n\thandler: (args: string, ctx: HookCommandContext) => Promise<void>;\n}\n\n/**\n * API provided to TypeScript hooks.\n * This is the \"pi\" object in pi-mono style hooks.\n */\nexport interface HookAPI {\n\t/**\n\t * Register a handler for an event.\n\t */\n\ton<E extends HookEventType>(\n\t\tevent: E,\n\t\thandler: HookHandler<HookInput, HookJsonOutput | undefined>,\n\t): void;\n\n\t/**\n\t * Send a message to the agent. (Legacy)\n\t * If the agent is streaming, the message is queued.\n\t * If the agent is idle, a new prompt cycle is started.\n\t */\n\tsend(text: string, attachments?: HookAttachment[]): void;\n\n\t/**\n\t * Send a custom hook message to the session (LLM-visible).\n\t */\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<\n\t\t\tHookMessage<T>,\n\t\t\t\"customType\" | \"content\" | \"display\" | \"details\"\n\t\t>,\n\t\ttriggerTurn?: boolean,\n\t): void;\n\n\t/**\n\t * Append a custom entry for hook state persistence (not LLM-visible).\n\t */\n\tappendEntry<T = unknown>(customType: string, data?: T): void;\n\n\t/**\n\t * Register a custom renderer for hook messages.\n\t */\n\tregisterMessageRenderer<T = unknown>(\n\t\tcustomType: string,\n\t\trenderer: HookMessageRenderer<T>,\n\t): void;\n\n\t/**\n\t * Register a custom slash command.\n\t */\n\tregisterCommand(\n\t\tname: string,\n\t\toptions: { description?: string; handler: RegisteredCommand[\"handler\"] },\n\t): void;\n\n\t/**\n\t * Register or replace a custom tool exposed to the agent at runtime.\n\t *\n\t * Tool names are automatically namespaced to avoid collisions with built-ins.\n\t */\n\tregisterTool(tool: AgentTool): void;\n\n\t/**\n\t * Restrict the active tool list for this extension.\n\t *\n\t * Pass `null` to clear the extension's restriction.\n\t */\n\tsetActiveTools(toolNames: string[] | null): void;\n}\n\n/**\n * Factory function exported by TypeScript hooks.\n */\nexport type HookFactory = (api: HookAPI) => void;\n\n/**\n * A loaded TypeScript hook with its registered handlers.\n */\nexport interface LoadedTypeScriptHook {\n\t/** Original path from config */\n\tpath: string;\n\t/** Resolved absolute path */\n\tresolvedPath: string;\n\t/** Registered event handlers */\n\thandlers: Map<\n\t\tHookEventType,\n\t\tArray<HookHandler<HookInput, HookJsonOutput | undefined>>\n\t>;\n\t/** Custom message renderers */\n\tmessageRenderers: Map<string, HookMessageRenderer>;\n\t/** Registered commands */\n\tcommands: Map<string, RegisteredCommand>;\n\t/** Registered extension tools keyed by their original, un-namespaced name */\n\tregisteredTools: Map<string, AgentTool>;\n\t/** Optional active-tool restriction patterns for this hook */\n\tactiveTools: string[] | null;\n\t/** Send handler setter */\n\tsetSendHandler: (handler: HookSendHandler) => void;\n\t/** Send message handler setter */\n\tsetSendMessageHandler: (handler: HookSendMessageHandler) => void;\n\t/** Append entry handler setter */\n\tsetAppendEntryHandler: (handler: HookAppendEntryHandler) => void;\n}\n\n/**\n * Result of executing a loaded TypeScript hook handler.\n */\nexport interface TypeScriptHookExecutionOutput {\n\t/** Absolute path of the hook file that produced the output */\n\thookPath: string;\n\t/** Raw hook output from the handler */\n\toutput: HookJsonOutput | undefined;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0dH,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CACjC,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,WAAW,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAiD;IAEjD,OAAO,CACN,KAAK,CAAC,SAAS,KAAK,MAAM;QAC1B,KAAK,CAAC,SAAS,KAAK,OAAO;QAC3B,KAAK,CAAC,SAAS,KAAK,MAAM,CAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC/B,KAAiD;IAEjD,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;AACjE,CAAC;AAmZD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,QAAiB;IAEjB,OAAO,CACN,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAO,IAAI,QAAQ;QACnB,QAAQ,CAAC,KAAK,KAAK,IAAI,CACvB,CAAC;AACH,CAAC","sourcesContent":["/**\n * Comprehensive hook system for Claude Code-style lifecycle events.\n *\n * Hooks allow external programs to intercept, modify, or block agent operations\n * at various points in the execution lifecycle.\n */\n\nimport type {\n\tAgentTool,\n\tHookMessage,\n\tToolCall,\n\tToolResultMessage,\n} from \"../agent/types.js\";\nimport type { BranchSummaryEntry, SessionTreeEntry } from \"../session/types.js\";\nimport type { Theme } from \"../theme/theme.js\";\nimport type { Component, TUI } from \"./tui-surface.js\";\n\n// Re-export structural terminal-UI surface types so user hook scripts can\n// import Component/TUI from the public hooks types module without depending\n// on the interactive terminal UI package.\nexport type { Component, TUI } from \"./tui-surface.js\";\n\n/**\n * All supported hook event types.\n */\nexport type HookEventType =\n\t| \"PreToolUse\"\n\t| \"PostToolUse\"\n\t| \"PostToolUseFailure\"\n\t| \"EvalGate\"\n\t| \"SessionStart\"\n\t| \"SessionEnd\"\n\t| \"SessionSwitch\"\n\t| \"SessionBeforeTree\"\n\t| \"SessionTree\"\n\t| \"SubagentStart\"\n\t| \"SubagentStop\"\n\t| \"UserPromptSubmit\"\n\t| \"Notification\"\n\t| \"PreCompact\"\n\t| \"PostCompact\"\n\t| \"PermissionRequest\"\n\t| \"Overflow\"\n\t| \"StopFailure\"\n\t| \"PreMessage\"\n\t| \"PostMessage\"\n\t| \"OnError\"\n\t| \"Branch\";\n\n/**\n * Base hook input shared across all hook types.\n */\nexport interface HookInputBase {\n\t/** Event type identifier */\n\thook_event_name: HookEventType;\n\t/** Session ID if available */\n\tsession_id?: string;\n\t/** Current working directory */\n\tcwd: string;\n\t/** Timestamp in ISO format */\n\ttimestamp: string;\n}\n\n/**\n * Optional human-facing tool presentation fields for hook consumers.\n *\n * Hooks can keep using `tool_name` for stable matching while reading these\n * fields for user-visible summaries.\n */\nexport interface ToolPresentationHookFields {\n\t/** Human-facing tool label */\n\ttool_display_name?: string;\n\t/** Compact summary of the specific tool call */\n\ttool_summary?: string;\n\t/** Present-tense description of the current tool activity */\n\ttool_action_description?: string;\n}\n\n/**\n * Input for PreToolUse hooks - called before a tool is executed.\n */\nexport interface PreToolUseHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PreToolUse\";\n\t/** Name of the tool about to be executed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments passed to the tool */\n\ttool_input: Record<string, unknown>;\n}\n\n/**\n * Input for PostToolUse hooks - called after successful tool execution.\n */\nexport interface PostToolUseHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PostToolUse\";\n\t/** Name of the tool that was executed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments that were passed to the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Result from tool execution (truncated if large) */\n\ttool_output: string;\n\t/** Whether the tool result was an error */\n\tis_error: boolean;\n}\n\n/**\n * Input for EvalGate hooks - called to score tool execution.\n */\nexport interface EvalGateHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"EvalGate\";\n\t/** Name of the tool that was executed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments that were passed to the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Result from tool execution (truncated if large) */\n\ttool_output: string;\n\t/** Whether the tool result was an error */\n\tis_error: boolean;\n}\n\n/**\n * Input for PostToolUseFailure hooks - called when tool execution fails.\n */\nexport interface PostToolUseFailureHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PostToolUseFailure\";\n\t/** Name of the tool that failed */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments that were passed to the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Error message */\n\terror: string;\n}\n\n/**\n * Input for SessionStart hooks - called when a session begins.\n */\nexport interface SessionStartHookInput extends HookInputBase {\n\thook_event_name: \"SessionStart\";\n\t/** Source of the session (interactive, headless, api, etc.) */\n\tsource: string;\n\t/** User ID if available */\n\tuser_id?: string;\n\t/** Organization ID if available */\n\torg_id?: string;\n}\n\n/**\n * Input for SessionEnd hooks - called when a session ends.\n */\nexport interface SessionEndHookInput extends HookInputBase {\n\thook_event_name: \"SessionEnd\";\n\t/** Reason for session ending */\n\treason: \"user_exit\" | \"error\" | \"timeout\" | \"abort\" | \"complete\" | \"clear\";\n\t/** Duration in milliseconds */\n\tduration_ms: number;\n\t/** Number of turns in the session */\n\tturn_count: number;\n}\n\n/**\n * Input for SessionSwitch hooks - called when switching to a different session.\n */\nexport interface SessionSwitchHookInput extends HookInputBase {\n\thook_event_name: \"SessionSwitch\";\n\t/** Session ID being switched from (null if no previous session) */\n\tfrom_session_id?: string;\n\t/** Session ID being switched to */\n\tto_session_id: string;\n\t/** Number of messages in the target session */\n\tmessage_count: number;\n\t/** Whether this is a resume operation */\n\tis_resume: boolean;\n}\n\n/**\n * Input for SessionBeforeTree hooks - called before navigating session tree.\n */\nexport interface SessionBeforeTreeHookInput extends HookInputBase {\n\thook_event_name: \"SessionBeforeTree\";\n\tpreparation: {\n\t\t/** Target entry ID selected in the tree */\n\t\ttarget_id: string;\n\t\t/** Current leaf ID (null if root) */\n\t\told_leaf_id: string | null;\n\t\t/** Common ancestor between old leaf and target */\n\t\tcommon_ancestor_id: string | null;\n\t\t/** Entries that would be summarized */\n\t\tentries_to_summarize: SessionTreeEntry[];\n\t\t/** Whether the user opted into summarization */\n\t\tuser_wants_summary: boolean;\n\t};\n}\n\n/**\n * Input for SessionTree hooks - called after navigating session tree.\n */\nexport interface SessionTreeHookInput extends HookInputBase {\n\thook_event_name: \"SessionTree\";\n\t/** New leaf ID after navigation */\n\tnew_leaf_id: string | null;\n\t/** Previous leaf ID */\n\told_leaf_id: string | null;\n\t/** Branch summary entry if one was created */\n\tsummary_entry?: BranchSummaryEntry;\n\t/** Whether the summary came from a hook */\n\tfrom_hook?: boolean;\n}\n\n/**\n * Input for SubagentStart hooks - called before spawning a subagent.\n */\nexport interface SubagentStartHookInput extends HookInputBase {\n\thook_event_name: \"SubagentStart\";\n\t/** Type of agent being spawned */\n\tagent_type: string;\n\t/** Prompt being sent to the subagent */\n\tprompt: string;\n\t/** Parent session ID */\n\tparent_session_id?: string;\n}\n\n/**\n * Input for SubagentStop hooks - called when a subagent completes.\n */\nexport interface SubagentStopHookInput extends HookInputBase {\n\thook_event_name: \"SubagentStop\";\n\t/** Type of agent that completed */\n\tagent_type: string;\n\t/** Agent's unique ID */\n\tagent_id: string;\n\t/** Whether the agent completed successfully */\n\tsuccess: boolean;\n\t/** Error message if failed */\n\terror?: string;\n\t/** Duration of subagent execution in milliseconds */\n\tduration_ms: number;\n\t/** Number of turns the subagent took */\n\tturn_count: number;\n\t/** Path to the subagent transcript */\n\ttranscript_path?: string;\n\t/** Parent session ID */\n\tparent_session_id?: string;\n}\n\n/**\n * Input for UserPromptSubmit hooks - called when user submits a prompt.\n */\nexport interface UserPromptSubmitHookInput extends HookInputBase {\n\thook_event_name: \"UserPromptSubmit\";\n\t/** The user's prompt text */\n\tprompt: string;\n\t/** Number of attachments */\n\tattachment_count: number;\n}\n\n/**\n * Input for Notification hooks - called on various notifications.\n */\nexport interface NotificationHookInput extends HookInputBase {\n\thook_event_name: \"Notification\";\n\t/** Type of notification */\n\tnotification_type: string;\n\t/** Notification message */\n\tmessage: string;\n}\n\n/**\n * Input for PreCompact hooks - called before context compaction.\n */\nexport interface PreCompactHookInput extends HookInputBase {\n\thook_event_name: \"PreCompact\";\n\t/** What triggered the compaction */\n\ttrigger: \"auto\" | \"manual\" | \"token_limit\";\n\t/** Current token count */\n\ttoken_count: number;\n\t/** Target token count after compaction */\n\ttarget_token_count: number;\n}\n\n/**\n * Input for PostCompact hooks - called after context compaction succeeds.\n */\nexport interface PostCompactHookInput extends HookInputBase {\n\thook_event_name: \"PostCompact\";\n\t/** What triggered the compaction */\n\ttrigger: \"auto\" | \"manual\" | \"token_limit\";\n\t/** Summary that replaced the compacted history */\n\tcompact_summary: string;\n}\n\n/**\n * Input for PermissionRequest hooks - called when permission is required.\n */\nexport interface PermissionRequestHookInput\n\textends HookInputBase,\n\t\tToolPresentationHookFields {\n\thook_event_name: \"PermissionRequest\";\n\t/** Tool requesting permission */\n\ttool_name: string;\n\t/** Tool call ID */\n\ttool_call_id: string;\n\t/** Arguments for the tool */\n\ttool_input: Record<string, unknown>;\n\t/** Reason permission is required */\n\treason: string;\n}\n\n/**\n * Input for Overflow hooks - called when context overflow is detected.\n */\nexport interface OverflowHookInput extends HookInputBase {\n\thook_event_name: \"Overflow\";\n\t/** Current token count */\n\ttoken_count: number;\n\t/** Maximum allowed tokens */\n\tmax_tokens: number;\n\t/** Model being used */\n\tmodel?: string;\n}\n\n/**\n * Input for StopFailure hooks - called when recovery cannot produce a valid completion.\n */\nexport interface StopFailureHookInput extends HookInputBase {\n\thook_event_name: \"StopFailure\";\n\t/** Stable failure code for matcher routing */\n\terror: string;\n\t/** Provider or runtime failure details */\n\terror_details?: string;\n\t/** Text content of the last assistant message before stopping */\n\tlast_assistant_message?: string;\n}\n\n/**\n * Input for PreMessage hooks - called before user message is sent to model.\n */\nexport interface PreMessageHookInput extends HookInputBase {\n\thook_event_name: \"PreMessage\";\n\t/** The user's message content */\n\tmessage: string;\n\t/** Attached files (paths) */\n\tattachments: string[];\n\t/** Current model being used */\n\tmodel?: string;\n}\n\n/**\n * Input for PostMessage hooks - called after assistant response is generated.\n */\nexport interface PostMessageHookInput extends HookInputBase {\n\thook_event_name: \"PostMessage\";\n\t/** The assistant's response (text content only) */\n\tresponse: string;\n\t/** Number of tokens used in input */\n\tinput_tokens: number;\n\t/** Number of tokens in output */\n\toutput_tokens: number;\n\t/** Total turn duration in milliseconds */\n\tduration_ms: number;\n\t/** Stop reason (if available) */\n\tstop_reason?: string;\n}\n\n/**\n * Input for OnError hooks - called when an error occurs.\n */\nexport interface OnErrorHookInput extends HookInputBase {\n\thook_event_name: \"OnError\";\n\t/** Error message */\n\terror: string;\n\t/** Error kind/type */\n\terror_kind: string;\n\t/** Context where error occurred (tool name, api call, etc.) */\n\tcontext?: string;\n\t/** Whether the error is recoverable */\n\trecoverable: boolean;\n}\n\n/**\n * Input for Branch hooks - called when a session branch is created.\n */\nexport interface BranchHookInput extends HookInputBase {\n\thook_event_name: \"Branch\";\n\t/** Session ID of the parent session */\n\tparent_session_id?: string;\n\t/** Index of the message being branched from */\n\tbranch_from_index: number;\n\t/** Number of messages being kept in the new branch */\n\tmessages_kept: number;\n\t/** The new session ID for the branched session */\n\tnew_session_id?: string;\n}\n\n/**\n * Union of all hook input types.\n */\nexport type HookInput =\n\t| PreToolUseHookInput\n\t| PostToolUseHookInput\n\t| PostToolUseFailureHookInput\n\t| EvalGateHookInput\n\t| SessionStartHookInput\n\t| SessionEndHookInput\n\t| SessionSwitchHookInput\n\t| SessionBeforeTreeHookInput\n\t| SessionTreeHookInput\n\t| SubagentStartHookInput\n\t| SubagentStopHookInput\n\t| UserPromptSubmitHookInput\n\t| NotificationHookInput\n\t| PreCompactHookInput\n\t| PostCompactHookInput\n\t| PermissionRequestHookInput\n\t| OverflowHookInput\n\t| StopFailureHookInput\n\t| PreMessageHookInput\n\t| PostMessageHookInput\n\t| OnErrorHookInput\n\t| BranchHookInput;\n\n// ============================================================================\n// Tool-Specific Hook Input Types\n// ============================================================================\n\n/**\n * PostToolUseHookInput narrowed to a specific tool.\n * Use the type guards below to narrow PostToolUseHookInput to these types.\n */\nexport interface BashToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Bash\";\n}\n\nexport interface ReadToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Read\";\n}\n\nexport interface WriteToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Write\";\n}\n\nexport interface EditToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Edit\";\n}\n\nexport interface GlobToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Glob\";\n}\n\nexport interface GrepToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Grep\";\n}\n\nexport interface TaskToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"Task\";\n}\n\nexport interface WebFetchToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"WebFetch\";\n}\n\nexport interface WebSearchToolHookInput extends PostToolUseHookInput {\n\ttool_name: \"WebSearch\";\n}\n\n// ============================================================================\n// Type Guards for Tool-Specific Hook Inputs\n// ============================================================================\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Bash tool.\n * @example\n * if (isBashToolHook(input)) {\n * // input.tool_name is \"Bash\"\n * console.log(\"Bash command executed\");\n * }\n */\nexport function isBashToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is BashToolHookInput {\n\treturn input.tool_name === \"Bash\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Read tool.\n */\nexport function isReadToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is ReadToolHookInput {\n\treturn input.tool_name === \"Read\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Write tool.\n */\nexport function isWriteToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is WriteToolHookInput {\n\treturn input.tool_name === \"Write\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Edit tool.\n */\nexport function isEditToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is EditToolHookInput {\n\treturn input.tool_name === \"Edit\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Glob tool.\n */\nexport function isGlobToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is GlobToolHookInput {\n\treturn input.tool_name === \"Glob\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Grep tool.\n */\nexport function isGrepToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is GrepToolHookInput {\n\treturn input.tool_name === \"Grep\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to Task tool.\n */\nexport function isTaskToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is TaskToolHookInput {\n\treturn input.tool_name === \"Task\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to WebFetch tool.\n */\nexport function isWebFetchToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is WebFetchToolHookInput {\n\treturn input.tool_name === \"WebFetch\";\n}\n\n/**\n * Type guard to narrow PostToolUseHookInput or PreToolUseHookInput to WebSearch tool.\n */\nexport function isWebSearchToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is WebSearchToolHookInput {\n\treturn input.tool_name === \"WebSearch\";\n}\n\n/**\n * Check if hook input is for a file operation tool (Read, Write, Edit).\n */\nexport function isFileToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is ReadToolHookInput | WriteToolHookInput | EditToolHookInput {\n\treturn (\n\t\tinput.tool_name === \"Read\" ||\n\t\tinput.tool_name === \"Write\" ||\n\t\tinput.tool_name === \"Edit\"\n\t);\n}\n\n/**\n * Check if hook input is for a search tool (Glob, Grep).\n */\nexport function isSearchToolHook(\n\tinput: PostToolUseHookInput | PreToolUseHookInput,\n): input is GlobToolHookInput | GrepToolHookInput {\n\treturn input.tool_name === \"Glob\" || input.tool_name === \"Grep\";\n}\n\n/**\n * Permission decision that hooks can return.\n */\nexport type HookPermissionDecision = \"allow\" | \"deny\" | \"ask\";\n\n/**\n * Hook-specific output for PreToolUse events.\n */\nexport interface PreToolUseHookOutput {\n\thookEventName: \"PreToolUse\";\n\t/** Permission decision for this tool call */\n\tpermissionDecision?: HookPermissionDecision;\n\t/** Reason for the permission decision */\n\tpermissionDecisionReason?: string;\n\t/** Modified tool input to use instead of original */\n\tupdatedInput?: Record<string, unknown>;\n}\n\n/**\n * Hook-specific output for PostToolUse events.\n */\nexport interface PostToolUseHookOutput {\n\thookEventName: \"PostToolUse\";\n\t/** Additional context to inject into conversation */\n\tadditionalContext?: string;\n\t/** Updated MCP tool output (for MCP tools only) */\n\tupdatedMCPToolOutput?: unknown;\n\t/** Structured assertions produced by the tool */\n\tassertions?: EvalAssertion[];\n}\n\n/**\n * Structured evaluation assertion.\n */\nexport interface EvalAssertion {\n\t/** Unique identifier for the assertion */\n\tid?: string;\n\t/** Human-friendly assertion name */\n\tname: string;\n\t/** Description or notes about the assertion */\n\tdescription?: string;\n\t/** Whether the assertion passed */\n\tpassed?: boolean;\n\t/** Numerical score for the assertion */\n\tscore?: number;\n\t/** Passing threshold */\n\tthreshold?: number;\n\t/** Severity if the assertion fails */\n\tseverity?: \"info\" | \"warn\" | \"error\";\n\t/** Evidence string supporting the assertion */\n\tevidence?: string;\n\t/** Additional metadata */\n\tmetadata?: Record<string, unknown>;\n}\n\n/**\n * Hook-specific output for EvalGate events.\n */\nexport interface EvalGateHookOutput {\n\thookEventName: \"EvalGate\";\n\t/** Assertions reported by the evaluation */\n\tassertions?: EvalAssertion[];\n\t/** Aggregate evaluation score */\n\tscore?: number;\n\t/** Required threshold */\n\tthreshold?: number;\n\t/** Whether the evaluation passed */\n\tpassed?: boolean;\n\t/** Optional rationale */\n\trationale?: string;\n}\n\n/**\n * Hook-specific output for PostToolUseFailure events.\n */\nexport interface PostToolUseFailureHookOutput {\n\thookEventName: \"PostToolUseFailure\";\n\t/** Additional context about the failure */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for SessionStart events.\n */\nexport interface SessionStartHookOutput {\n\thookEventName: \"SessionStart\";\n\t/** Additional context to inject at session start */\n\tadditionalContext?: string;\n\t/** Initial user message to queue for the first real run */\n\tinitialUserMessage?: string;\n}\n\n/**\n * Hook-specific output for SubagentStart events.\n */\nexport interface SubagentStartHookOutput {\n\thookEventName: \"SubagentStart\";\n\t/** Additional context for the subagent */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for SubagentStop events.\n */\nexport interface SubagentStopHookOutput {\n\thookEventName: \"SubagentStop\";\n\t/** Additional context about subagent completion */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for SessionSwitch events.\n */\nexport interface SessionSwitchHookOutput {\n\thookEventName: \"SessionSwitch\";\n\t/** Additional context to inject after session switch */\n\tadditionalContext?: string;\n\t/** If true, skip restoring the conversation view */\n\tskipConversationRestore?: boolean;\n\t/** Custom message to display after switch */\n\tmessage?: string;\n}\n\n/**\n * Hook-specific output for SessionBeforeTree events.\n */\nexport interface SessionBeforeTreeHookOutput {\n\thookEventName: \"SessionBeforeTree\";\n\t/** If true, cancel tree navigation */\n\tcancel?: boolean;\n\t/** Custom summary to use instead of default summarizer */\n\tsummary?: {\n\t\tsummary: string;\n\t\tdetails?: unknown;\n\t};\n}\n\n/**\n * Hook-specific output for UserPromptSubmit events.\n */\nexport interface UserPromptSubmitHookOutput {\n\thookEventName: \"UserPromptSubmit\";\n\t/** Additional context to inject with the prompt */\n\tadditionalContext: string;\n}\n\n/**\n * Hook-specific output for PreMessage events.\n */\nexport interface PreMessageHookOutput {\n\thookEventName: \"PreMessage\";\n\t/** Additional context to inject into the current model call */\n\tadditionalContext?: string;\n}\n\n/**\n * Hook-specific output for PostCompact events.\n */\nexport interface PostCompactHookOutput {\n\thookEventName: \"PostCompact\";\n}\n\n/**\n * Hook-specific output for PermissionRequest events.\n */\nexport interface PermissionRequestHookOutput {\n\thookEventName: \"PermissionRequest\";\n\t/** Decision from the hook */\n\tdecision?: {\n\t\tbehavior: \"allow\" | \"deny\";\n\t\tupdatedInput?: Record<string, unknown>;\n\t};\n}\n\n/**\n * Hook-specific output for Branch events.\n */\nexport interface BranchHookOutput {\n\thookEventName: \"Branch\";\n\t/** If true, skip the default conversation restore behavior */\n\tskipConversationRestore?: boolean;\n\t/** Optional git ref to checkout when branching */\n\tgitCheckout?: string;\n\t/** Custom message to display after branching */\n\tmessage?: string;\n}\n\n/**\n * Union of all hook-specific outputs.\n */\nexport type HookSpecificOutput =\n\t| PreToolUseHookOutput\n\t| PostToolUseHookOutput\n\t| PostToolUseFailureHookOutput\n\t| EvalGateHookOutput\n\t| SessionStartHookOutput\n\t| SubagentStartHookOutput\n\t| SubagentStopHookOutput\n\t| SessionSwitchHookOutput\n\t| SessionBeforeTreeHookOutput\n\t| UserPromptSubmitHookOutput\n\t| PreMessageHookOutput\n\t| PostCompactHookOutput\n\t| PermissionRequestHookOutput\n\t| BranchHookOutput;\n\n/**\n * JSON output format that hooks should return.\n */\nexport interface HookJsonOutput {\n\t/** If false, prevents the agent from continuing */\n\tcontinue?: boolean;\n\t/** If continue is false, this explains why */\n\tstopReason?: string;\n\t/** Suppress normal output display */\n\tsuppressOutput?: boolean;\n\t/** Legacy decision field (approve/block) */\n\tdecision?: \"approve\" | \"block\";\n\t/** Reason for the decision */\n\treason?: string;\n\t/** System message to inject */\n\tsystemMessage?: string;\n\t/** Legacy permission decision field */\n\tpermissionDecision?: HookPermissionDecision;\n\t/** Hook-specific output based on event type */\n\thookSpecificOutput?: HookSpecificOutput;\n}\n\n/**\n * Parsed result from hook execution.\n */\nexport interface HookExecutionResult {\n\t/** Whether to prevent continuation */\n\tpreventContinuation?: boolean;\n\t/** Reason for stopping */\n\tstopReason?: string;\n\t/** Permission behavior override */\n\tpermissionBehavior?: \"allow\" | \"deny\" | \"ask\";\n\t/** Reason for permission decision */\n\thookPermissionDecisionReason?: string;\n\t/** Blocking error details */\n\tblockingError?: {\n\t\tblockingError: string;\n\t\tcommand: string;\n\t};\n\t/** System message to inject */\n\tsystemMessage?: string;\n\t/** Additional context to add */\n\tadditionalContext?: string;\n\t/** Initial user message to queue for the next run */\n\tinitialUserMessage?: string;\n\t/** Updated tool input */\n\tupdatedInput?: Record<string, unknown>;\n\t/** Updated MCP tool output */\n\tupdatedMCPToolOutput?: unknown;\n\t/** Hook-specific output payload */\n\thookSpecificOutput?: HookSpecificOutput;\n\t/** Evaluation assertions */\n\tassertions?: EvalAssertion[];\n\t/** Evaluation summary */\n\tevaluation?: {\n\t\tscore?: number;\n\t\tthreshold?: number;\n\t\tpassed?: boolean;\n\t\trationale?: string;\n\t};\n\t/** Permission request result */\n\tpermissionRequestResult?: {\n\t\tbehavior: \"allow\" | \"deny\";\n\t\tupdatedInput?: Record<string, unknown>;\n\t};\n\t/** Message attachment for UI display */\n\tmessage: HookResultMessage;\n}\n\n/**\n * Types of hook result messages for UI display.\n */\nexport type HookResultMessageType =\n\t| \"hook_success\"\n\t| \"hook_blocking_error\"\n\t| \"hook_non_blocking_error\"\n\t| \"hook_error_during_execution\"\n\t| \"hook_cancelled\"\n\t| \"hook_system_message\"\n\t| \"hook_additional_context\"\n\t| \"hook_stopped_continuation\"\n\t| \"hook_evaluation\";\n\n/**\n * Message attachment from hook execution.\n */\nexport interface HookResultMessage {\n\ttype: HookResultMessageType;\n\thookName: string;\n\thookEvent: HookEventType;\n\ttoolUseID?: string;\n\tcontent?: string;\n\tblockingError?: {\n\t\tblockingError: string;\n\t\tcommand: string;\n\t};\n\tstdout?: string;\n\tstderr?: string;\n\texitCode?: number;\n}\n\n/**\n * Configuration for a single hook command.\n */\nexport interface HookCommandConfig {\n\ttype: \"command\";\n\t/** Shell command to execute */\n\tcommand: string;\n\t/** Timeout in seconds (default: 60) */\n\ttimeout?: number;\n}\n\n/**\n * Configuration for a hook that uses a prompt.\n */\nexport interface HookPromptConfig {\n\ttype: \"prompt\";\n\t/** Prompt template */\n\tprompt: string;\n}\n\n/**\n * Configuration for a hook that spawns an agent.\n */\nexport interface HookAgentConfig {\n\ttype: \"agent\";\n\t/** Function to generate the prompt */\n\tprompt: (context: unknown[]) => string;\n}\n\n/**\n * Configuration for a callback-based hook.\n */\nexport interface HookCallbackConfig {\n\ttype: \"callback\";\n\t/** Callback function */\n\tcallback: (input: HookInput) => Promise<HookJsonOutput | null>;\n}\n\n/**\n * Configuration for a TypeScript hook file.\n * TypeScript hooks are loaded via jiti and export a default function.\n */\nexport interface HookTypeScriptConfig {\n\ttype: \"typescript\";\n\t/** Path to the TypeScript file */\n\tpath: string;\n\t/** Resolved absolute path */\n\tresolvedPath?: string;\n}\n\n/**\n * Union of all hook configuration types.\n */\nexport type HookConfig =\n\t| HookCommandConfig\n\t| HookPromptConfig\n\t| HookAgentConfig\n\t| HookCallbackConfig\n\t| HookTypeScriptConfig;\n\n/**\n * A matcher with associated hooks.\n */\nexport interface HookMatcher {\n\t/** Pattern to match (tool name, source, etc.) - \"*\" or undefined matches all */\n\tmatcher?: string;\n\t/** Hooks to execute when matcher matches */\n\thooks: HookConfig[];\n}\n\n/**\n * Full hook configuration by event type.\n */\nexport type HookConfiguration = Partial<Record<HookEventType, HookMatcher[]>>;\n\n/**\n * Result of running a single hook command.\n */\nexport interface HookCommandResult {\n\tstdout: string;\n\tstderr: string;\n\tstatus: number;\n\taborted?: boolean;\n}\n\n/**\n * Async hook detection response.\n */\nexport interface AsyncHookResponse {\n\tasync: true;\n\tprocessId: string;\n\tmessage?: string;\n}\n\n/**\n * Check if a response indicates async execution.\n */\nexport function isAsyncHookResponse(\n\tresponse: unknown,\n): response is AsyncHookResponse {\n\treturn (\n\t\ttypeof response === \"object\" &&\n\t\tresponse !== null &&\n\t\t\"async\" in response &&\n\t\tresponse.async === true\n\t);\n}\n\n// ============================================================================\n// Hook API Types (for TypeScript hooks - pi-mono style)\n// ============================================================================\n\n/**\n * Attachment that can be sent with a message.\n */\nexport interface HookAttachment {\n\t/** Unique identifier */\n\tid: string;\n\t/** Type of attachment */\n\ttype: \"image\" | \"document\";\n\t/** Original file name */\n\tfileName: string;\n\t/** MIME type */\n\tmimeType: string;\n\t/** File size in bytes */\n\tsize: number;\n\t/** Base64 encoded content */\n\tcontent: string;\n}\n\n/**\n * Handler for sending messages from hooks.\n */\nexport type HookSendHandler = (\n\ttext: string,\n\tattachments?: HookAttachment[],\n) => void;\n\n/**\n * Handler for sending hook messages into the conversation.\n */\nexport type HookSendMessageHandler = <T = unknown>(\n\tmessage: Pick<\n\t\tHookMessage<T>,\n\t\t\"customType\" | \"content\" | \"display\" | \"details\"\n\t>,\n\ttriggerTurn?: boolean,\n) => void;\n\n/**\n * Handler for appending custom entries to the session.\n */\nexport type HookAppendEntryHandler = <T = unknown>(\n\tcustomType: string,\n\tdata?: T,\n) => void;\n\n/**\n * UI context available to hooks for interactive prompts.\n */\nexport interface HookUIContext {\n\t/**\n\t * Show a selection list and return the selected option.\n\t * Returns null if the user cancels.\n\t */\n\tselect(title: string, options: string[]): Promise<string | null>;\n\n\t/**\n\t * Show a confirmation dialog.\n\t * Returns true if confirmed, false otherwise.\n\t */\n\tconfirm(title: string, message: string): Promise<boolean>;\n\n\t/**\n\t * Show an input prompt for text entry.\n\t * Returns null if the user cancels.\n\t */\n\tinput(title: string, placeholder?: string): Promise<string | null>;\n\n\t/**\n\t * Show a notification message.\n\t */\n\tnotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n\n\t/**\n\t * Set status text in the footer/status bar.\n\t * Pass undefined as text to clear the status for this key.\n\t */\n\tsetStatus(key: string, text: string | undefined): void;\n\n\t/**\n\t * Show a custom component with keyboard focus.\n\t */\n\tcustom<T>(\n\t\tfactory: (\n\t\t\ttui: TUI,\n\t\t\ttheme: Theme,\n\t\t\tdone: (result: T) => void,\n\t\t) => Component | Promise<Component>,\n\t): Promise<T>;\n\n\t/**\n\t * Set the text in the core input editor.\n\t */\n\tsetEditorText(text: string): void;\n\n\t/**\n\t * Get the current text from the core input editor.\n\t */\n\tgetEditorText(): string;\n\n\t/**\n\t * Show a multi-line editor for text editing.\n\t * Returns null if cancelled.\n\t */\n\teditor(title: string, prefill?: string): Promise<string | null>;\n\n\t/**\n\t * Current theme for styling with ANSI codes.\n\t */\n\treadonly theme: Theme;\n}\n\n/**\n * Context passed to hook event handlers.\n */\nexport interface HookEventContext {\n\t/** Execute a command in the working directory */\n\texec(command: string, args: string[]): Promise<ExecResult>;\n\t/** UI methods for interactive hooks */\n\tui: HookUIContext;\n\t/** Whether interactive UI is available */\n\thasUI: boolean;\n\t/** Current working directory */\n\tcwd: string;\n\t/** Session file path or null */\n\tsessionFile: string | null;\n}\n\n/**\n * Context passed to hook command handlers.\n * Mirrors HookEventContext and is extended in interactive modes.\n */\nexport interface HookCommandContext extends HookEventContext {\n\t/** Whether the agent is idle (not streaming) */\n\tisIdle(): boolean;\n\t/** Abort the current agent operation */\n\tabort(): void;\n\t/** Whether there are queued messages waiting to be processed */\n\thasQueuedMessages(): boolean;\n\t/** Wait for the agent to finish streaming */\n\twaitForIdle(): Promise<void>;\n\t/** Start a new session (if supported by the mode) */\n\tnewSession?: (options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: unknown) => Promise<void>;\n\t}) => Promise<{ cancelled: boolean }>;\n\t/** Branch from a specific entry (if supported by the mode) */\n\tbranch?: (entryId: string) => Promise<{ cancelled: boolean }>;\n\t/** Navigate within the session tree (if supported by the mode) */\n\tnavigateTree?: (\n\t\ttargetId: string,\n\t\toptions?: { summarize?: boolean },\n\t) => Promise<{ cancelled: boolean }>;\n}\n\n/**\n * Result of executing a command.\n */\nexport interface ExecResult {\n\tstdout: string;\n\tstderr: string;\n\tcode: number;\n}\n\n/**\n * Handler type for hook events.\n */\nexport type HookHandler<E, R = void> = (\n\tevent: E,\n\tctx: HookEventContext,\n) => Promise<R>;\n\nexport interface HookMessageRenderOptions {\n\texpanded: boolean;\n}\n\n/**\n * Renderer for hook messages.\n */\nexport type HookMessageRenderer<T = unknown> = (\n\tmessage: HookMessage<T>,\n\toptions: HookMessageRenderOptions,\n\ttheme: Theme,\n) => Component | undefined;\n\n/**\n * Command registration options.\n */\nexport interface RegisteredCommand {\n\tname: string;\n\tdescription?: string;\n\thandler: (args: string, ctx: HookCommandContext) => Promise<void>;\n}\n\n/**\n * API provided to TypeScript hooks.\n * This is the \"pi\" object in pi-mono style hooks.\n */\nexport interface HookAPI {\n\t/**\n\t * Register a handler for an event.\n\t */\n\ton<E extends HookEventType>(\n\t\tevent: E,\n\t\thandler: HookHandler<HookInput, HookJsonOutput | undefined>,\n\t): void;\n\n\t/**\n\t * Send a message to the agent. (Legacy)\n\t * If the agent is streaming, the message is queued.\n\t * If the agent is idle, a new prompt cycle is started.\n\t */\n\tsend(text: string, attachments?: HookAttachment[]): void;\n\n\t/**\n\t * Send a custom hook message to the session (LLM-visible).\n\t */\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<\n\t\t\tHookMessage<T>,\n\t\t\t\"customType\" | \"content\" | \"display\" | \"details\"\n\t\t>,\n\t\ttriggerTurn?: boolean,\n\t): void;\n\n\t/**\n\t * Append a custom entry for hook state persistence (not LLM-visible).\n\t */\n\tappendEntry<T = unknown>(customType: string, data?: T): void;\n\n\t/**\n\t * Register a custom renderer for hook messages.\n\t */\n\tregisterMessageRenderer<T = unknown>(\n\t\tcustomType: string,\n\t\trenderer: HookMessageRenderer<T>,\n\t): void;\n\n\t/**\n\t * Register a custom slash command.\n\t */\n\tregisterCommand(\n\t\tname: string,\n\t\toptions: { description?: string; handler: RegisteredCommand[\"handler\"] },\n\t): void;\n\n\t/**\n\t * Register or replace a custom tool exposed to the agent at runtime.\n\t *\n\t * Tool names are automatically namespaced to avoid collisions with built-ins.\n\t */\n\tregisterTool(tool: AgentTool): void;\n\n\t/**\n\t * Restrict the active tool list for this extension.\n\t *\n\t * Pass `null` to clear the extension's restriction.\n\t */\n\tsetActiveTools(toolNames: string[] | null): void;\n}\n\n/**\n * Factory function exported by TypeScript hooks.\n */\nexport type HookFactory = (api: HookAPI) => void;\n\n/**\n * A loaded TypeScript hook with its registered handlers.\n */\nexport interface LoadedTypeScriptHook {\n\t/** Original path from config */\n\tpath: string;\n\t/** Resolved absolute path */\n\tresolvedPath: string;\n\t/** Registered event handlers */\n\thandlers: Map<\n\t\tHookEventType,\n\t\tArray<HookHandler<HookInput, HookJsonOutput | undefined>>\n\t>;\n\t/** Custom message renderers */\n\tmessageRenderers: Map<string, HookMessageRenderer>;\n\t/** Registered commands */\n\tcommands: Map<string, RegisteredCommand>;\n\t/** Registered extension tools keyed by their original, un-namespaced name */\n\tregisteredTools: Map<string, AgentTool>;\n\t/** Optional active-tool restriction patterns for this hook */\n\tactiveTools: string[] | null;\n\t/** Send handler setter */\n\tsetSendHandler: (handler: HookSendHandler) => void;\n\t/** Send message handler setter */\n\tsetSendMessageHandler: (handler: HookSendMessageHandler) => void;\n\t/** Append entry handler setter */\n\tsetAppendEntryHandler: (handler: HookAppendEntryHandler) => void;\n}\n\n/**\n * Result of executing a loaded TypeScript hook handler.\n */\nexport interface TypeScriptHookExecutionOutput {\n\t/** Absolute path of the hook file that produced the output */\n\thookPath: string;\n\t/** Raw hook output from the handler */\n\toutput: HookJsonOutput | undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-loader.d.ts","sourceRoot":"","sources":["../../src/hooks/typescript-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAOnD,OAAO,KAAK,EAGX,sBAAsB,EAGtB,aAAa,EAGb,SAAS,EAET,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,MAAM,YAAY,CAAC;AA2WpB;;GAEG;AACH,wBAAsB,8BAA8B,CACnD,eAAe,EAAE,MAAM,EAAE,EACzB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8D9D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,oBAAoB,EAAE,CAEjE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC/C,UAAU,EAAE,MAAM,GAChB,mBAAmB,GAAG,SAAS,CAQjC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,iBAAiB,EAAE,CAQ/D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,MAAM,GACV,iBAAiB,GAAG,SAAS,CAQ/B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAKvE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,SAAS,EAChB,OAAO,SAAQ,GACb,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAuC1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,sBAAsB,GAAG,IAAI,GACpC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,sBAAsB,GAAG,IAAI,GACpC,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAC1B,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,KAAK,EAAE,OAAO,GACZ,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,SAAS,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAuC3E"}
1
+ {"version":3,"file":"typescript-loader.d.ts","sourceRoot":"","sources":["../../src/hooks/typescript-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AASnD,OAAO,KAAK,EAGX,sBAAsB,EAGtB,aAAa,EAGb,SAAS,EAET,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,MAAM,YAAY,CAAC;AAyWpB;;GAEG;AACH,wBAAsB,8BAA8B,CACnD,eAAe,EAAE,MAAM,EAAE,EACzB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8D9D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,oBAAoB,EAAE,CAEjE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC/C,UAAU,EAAE,MAAM,GAChB,mBAAmB,GAAG,SAAS,CAQjC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,iBAAiB,EAAE,CAQ/D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,MAAM,GACV,iBAAiB,GAAG,SAAS,CAQ/B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAKvE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,SAAS,EAChB,OAAO,SAAQ,GACb,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAuC1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,sBAAsB,GAAG,IAAI,GACpC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,sBAAsB,GAAG,IAAI,GACpC,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAC1B,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,KAAK,EAAE,OAAO,GACZ,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,SAAS,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAuC3E"}