@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":"session-api.js","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { resolve } from \"node:path\";\nimport {\n\ttype MaestroAppServerClientRequest,\n\ttype MaestroAppServerCommandExecResult,\n\ttype MaestroAppServerCommandProcessResult,\n\ttype MaestroAppServerDaemonStatusResult,\n\ttype MaestroAppServerEmptyResult,\n\ttype MaestroAppServerExternalAgentImportResult,\n\ttype MaestroAppServerFsMetadataResult,\n\ttype MaestroAppServerFsReadDirectoryResult,\n\ttype MaestroAppServerFsReadFileResult,\n\ttype MaestroAppServerFsWatchResult,\n\ttype MaestroAppServerModel,\n\ttype MaestroAppServerModelListResult,\n\ttype MaestroAppServerModelProviderCapabilities,\n\ttype MaestroAppServerModelProviderCapabilitiesReadResult,\n\ttype MaestroAppServerNetworkAuditListResult,\n\ttype MaestroAppServerNetworkFetchResult,\n\ttype MaestroAppServerPluginBundleListResult,\n\ttype MaestroAppServerPluginBundleMutationResult,\n\ttype MaestroAppServerPolicyCheckResult,\n\ttype MaestroAppServerPolicyReadResult,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\ttype MaestroAppServerRemoteControlDrainResult,\n\ttype MaestroAppServerRemoteControlLeaseResult,\n\ttype MaestroAppServerRemoteControlStatusResult,\n\ttype MaestroAppServerRequirementsListResult,\n\ttype MaestroAppServerResponse,\n\ttype MaestroAppServerSandboxCheckResult,\n\ttype MaestroAppServerSandboxProbeResult,\n\ttype MaestroAppServerServerNotification,\n\ttype MaestroAppServerThread,\n\ttype MaestroAppServerThreadArchiveResult,\n\ttype MaestroAppServerThreadDeleteResult,\n\ttype MaestroAppServerThreadForkResult,\n\ttype MaestroAppServerThreadGoal,\n\ttype MaestroAppServerThreadGoalResult,\n\ttype MaestroAppServerThreadGraph,\n\ttype MaestroAppServerThreadItem,\n\ttype MaestroAppServerThreadListResult,\n\ttype MaestroAppServerThreadMetadataUpdateResult,\n\ttype MaestroAppServerThreadStartResult,\n\ttype MaestroAppServerThreadSummary,\n\ttype MaestroAppServerTurn,\n\ttype MaestroAppServerTurnsListResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolVersion,\n\tmaestroAppServerSupportedProtocolVersions,\n} from \"@evalops/contracts\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { getRegisteredModels } from \"../models/registry.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { safeReadSessionEntries } from \"../session/session-context.js\";\nimport {\n\ttype SessionGraphProjection,\n\tbuildSessionGraphProjection,\n} from \"../session/session-graph-projection.js\";\nimport type {\n\tSessionEntry,\n\tSessionMessagesView,\n\tSessionMetadata,\n\tSessionSummary,\n\tSessionTreeEntry,\n} from \"../session/types.js\";\nimport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tMaestroAppServerDaemonLifecycleError,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nimport {\n\ttype MaestroAppServerExternalAgentImport,\n\tMaestroAppServerExternalAgentImportError,\n\tcreateMaestroAppServerExternalAgentImport,\n\tnormalizeExternalAgentImportParams,\n} from \"./external-agent-import-api.js\";\nimport {\n\ttype MaestroAppServerHostControl,\n\tMaestroAppServerHostControlError,\n\tcreateMaestroAppServerHostControl,\n} from \"./host-control-api.js\";\nimport {\n\ttype MaestroAppServerNetworkGovernance,\n\tMaestroAppServerNetworkGovernanceError,\n\tcreateMaestroAppServerNetworkGovernance,\n} from \"./network-governance-api.js\";\nimport {\n\ttype MaestroAppServerPluginBundleApi,\n\tMaestroAppServerPluginBundleError,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nimport {\n\ttype MaestroAppServerPolicyControl,\n\tMaestroAppServerPolicyControlError,\n\tcreateMaestroAppServerPolicyControl,\n} from \"./policy-control-api.js\";\nimport {\n\ttype MaestroAppServerProtocolModeDecision,\n\ttype MaestroAppServerProtocolModes,\n\tMaestroAppServerProtocolModesError,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nimport {\n\ttype MaestroAppServerSandboxCheck,\n\tMaestroAppServerSandboxCheckError,\n\tcreateMaestroAppServerSandboxCheck,\n\tnormalizeSandboxCheckParams,\n} from \"./sandbox-check-api.js\";\n\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\n\nexport type { MaestroAppServerServerNotification };\nexport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nexport {\n\ttype MaestroAppServerExternalAgentImport,\n\tcreateMaestroAppServerExternalAgentImport,\n} from \"./external-agent-import-api.js\";\nexport {\n\ttype MaestroAppServerPluginBundleApi,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nexport {\n\ttype MaestroAppServerProtocolModes,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nexport {\n\ttype MaestroAppServerSandboxCheck,\n\tcreateMaestroAppServerSandboxCheck,\n} from \"./sandbox-check-api.js\";\n\ntype JsonRpcId = string | number;\ntype MaybePromise<T> = T | Promise<T>;\n\ntype SessionStore = Pick<\n\tSessionManager,\n\t\"getSessionFileById\" | \"loadAllSessions\" | \"listSessions\" | \"loadSession\"\n> & {\n\tgetSessionFile?: () => string;\n\tloadEntries?: (sessionId: string) => Promise<SessionEntry[] | null>;\n\tflush?: () => Promise<void>;\n\tsaveSessionSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsaveSessionResumeSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsetSessionFavorite?: (\n\t\tsessionPath: string,\n\t\tfavorite: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionTitle?: (sessionPath: string, title: string) => MaybePromise<void>;\n\tsetSessionTags?: (sessionPath: string, tags: string[]) => MaybePromise<void>;\n\tsetSessionArchived?: (\n\t\tsessionPath: string,\n\t\tarchived: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionAppServerGoal?: (\n\t\tsessionPath: string,\n\t\tgoal: MaestroAppServerThreadGoal | null,\n\t) => MaybePromise<void>;\n\tcreateSession?: (options?: { title?: string }) => Promise<{\n\t\tid: string;\n\t\ttitle?: string;\n\t\tcreatedAt: string;\n\t\tupdatedAt: string;\n\t\tmessageCount: number;\n\t}>;\n\tcanCreateSession?: () => boolean;\n\tcreateBranchedSession?: (leafId: string) => string;\n\tsetSessionFile?: (path: string) => MaybePromise<void>;\n\tresumeSession?: (sessionId: string) => Promise<boolean>;\n\tgetLeafId?: () => string | null;\n\tgetCurrentLeafId?: () => string | null;\n\tbranch?: (branchFromId: string) => MaybePromise<void>;\n\tresetLeaf?: () => MaybePromise<void>;\n\tdeleteSession?: (sessionId: string) => MaybePromise<void>;\n\timportSessionEntries?: (entries: SessionEntry[]) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n\timportPortableSession?: (path: string) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n};\n\nexport interface MaestroAppServerSessionApiOptions {\n\thostControl?: MaestroAppServerHostControl | false;\n\tpolicyControl?: MaestroAppServerPolicyControl | false;\n\tnetworkGovernance?: MaestroAppServerNetworkGovernance | false;\n\tsandboxCheck?: MaestroAppServerSandboxCheck | false;\n\tprojectRoot?: string;\n\texternalAgentImport?: MaestroAppServerExternalAgentImport | false;\n\tpluginBundles?: MaestroAppServerPluginBundleApi | false;\n\tdaemonLifecycle?: MaestroAppServerDaemonLifecycle | false;\n\tprotocolModes?: MaestroAppServerProtocolModes | false;\n\treviewModeEscapeToken?: string;\n\tonNotification?: (notification: MaestroAppServerServerNotification) => void;\n}\n\nexport interface MaestroAppServerSessionApi {\n\tinitialize(): MaestroAppServerResponse[\"result\"];\n\treviewModeEscapeToken(): string | undefined;\n\tcheckProtocolMode(\n\t\tmethod: (typeof maestroAppServerClientMethods)[number],\n\t\tparams?: Record<string, unknown>,\n\t): MaestroAppServerProtocolModeDecision;\n\tlistProtocolModes(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeListResult>;\n\tsetProtocolMode(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeSetResult>;\n\tlistModels(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelListResult>;\n\treadModelProviderCapabilities(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelProviderCapabilitiesReadResult>;\n\treadPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyReadResult>;\n\tcheckPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRequirementsListResult>;\n\tfetchNetwork(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistNetworkAudit(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n\tprobeSandbox(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxProbeResult>;\n\trunSandboxCheck(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxCheckResult>;\n\timportExternalAgent(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerExternalAgentImportResult>;\n\tlistPluginBundles(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallPluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremovePluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\treadDaemonStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerDaemonStatusResult>;\n\treadRemoteControlStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlStatusResult>;\n\treadRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\theartbeatRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\tdrainRemoteControl(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlDrainResult>;\n\texecCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandExecResult>;\n\twriteCommandStdin(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\tterminateCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\treadFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadFileResult>;\n\twriteFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\treadDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadDirectoryResult>;\n\tgetMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsMetadataResult>;\n\tcreateDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tremove(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tcopy(params?: Record<string, unknown>): Promise<MaestroAppServerEmptyResult>;\n\twatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsWatchResult>;\n\tunwatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tlistThreads(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadListResult>;\n\treadThread(params?: Record<string, unknown>): Promise<MaestroAppServerThread>;\n\tupdateThreadMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tsetThreadName(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tgetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tsetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tclearThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tstartThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadStartResult>;\n\tforkThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadForkResult>;\n\tarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tunarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tdeleteThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadDeleteResult>;\n\tlistTurns(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerTurnsListResult>;\n}\n\nexport class MaestroAppServerError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerError\";\n\t}\n}\n\nfunction normalizeLimit(value: unknown): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_PAGE_LIMIT;\n\t}\n\treturn Math.min(MAX_PAGE_LIMIT, Math.max(1, Math.trunc(value)));\n}\n\nfunction encodeCursor(offset: number): string {\n\treturn Buffer.from(JSON.stringify({ offset }), \"utf8\").toString(\"base64url\");\n}\n\nfunction decodeCursor(value: unknown): number {\n\tif (value === undefined || value === null || value === \"\") {\n\t\treturn 0;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n\t}\n\ttry {\n\t\tconst decoded = JSON.parse(\n\t\t\tBuffer.from(value, \"base64url\").toString(\"utf8\"),\n\t\t);\n\t\tif (\n\t\t\ttypeof decoded === \"object\" &&\n\t\t\tdecoded !== null &&\n\t\t\ttypeof decoded.offset === \"number\" &&\n\t\t\tNumber.isFinite(decoded.offset) &&\n\t\t\tdecoded.offset >= 0\n\t\t) {\n\t\t\treturn Math.trunc(decoded.offset);\n\t\t}\n\t} catch {\n\t\t// Fall through to the normalized JSON-RPC error below.\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n}\n\nfunction requireThreadId(params?: Record<string, unknown>): string {\n\tconst threadId = params?.threadId;\n\tif (typeof threadId !== \"string\" || threadId.length === 0) {\n\t\tthrow new MaestroAppServerError(-32602, \"Missing threadId\");\n\t}\n\treturn threadId;\n}\n\nfunction toThreadSummary(\n\tmetadata: SessionMetadata,\n\tsummary?: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary?.archived ?? metadata.archived ?? false;\n\tconst archivedAt = archived\n\t\t? (summary?.archivedAt ?? metadata.archivedAt)\n\t\t: undefined;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: metadata.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary?.title ?? metadata.title ?? metadata.summary,\n\t\tsummary: metadata.summary,\n\t\tresumeSummary: summary?.resumeSummary ?? metadata.resumeSummary,\n\t\tmemoryExtractionHash:\n\t\t\tsummary?.memoryExtractionHash ?? metadata.memoryExtractionHash,\n\t\tsubject: metadata.subject,\n\t\tpath: metadata.path,\n\t\tcreatedAt: metadata.created.toISOString(),\n\t\tupdatedAt: metadata.modified.toISOString(),\n\t\tmessageCount: metadata.messageCount,\n\t\tfavorite: summary?.favorite ?? metadata.favorite,\n\t\ttags: summary?.tags ?? metadata.tags,\n\t\tarchived,\n\t};\n\tif (archivedAt) {\n\t\tthread.archivedAt = archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromSessionSummary(\n\tsummary: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: summary.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary.title ?? summary.subject,\n\t\tsummary: summary.summary ?? summary.title ?? summary.subject,\n\t\tresumeSummary: summary.resumeSummary,\n\t\tmemoryExtractionHash: summary.memoryExtractionHash,\n\t\tsubject: summary.subject,\n\t\tcreatedAt: summary.createdAt,\n\t\tupdatedAt: summary.updatedAt,\n\t\tmessageCount: summary.messageCount,\n\t\tfavorite: summary.favorite,\n\t\ttags: summary.tags,\n\t\tarchived,\n\t};\n\tif (archived && summary.archivedAt) {\n\t\tthread.archivedAt = summary.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromLoadedSession(loaded: {\n\tid: string;\n\tsubject?: string;\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tmemoryExtractionHash?: string;\n\tcreatedAt: string;\n\tupdatedAt: string;\n\tmessageCount: number;\n\tfavorite: boolean;\n\ttags?: string[];\n\tarchived?: boolean;\n\tarchivedAt?: string;\n}): MaestroAppServerThreadSummary {\n\tconst archived = loaded.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: loaded.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: loaded.title ?? loaded.subject,\n\t\tsummary: loaded.summary ?? loaded.title ?? loaded.subject,\n\t\tresumeSummary: loaded.resumeSummary,\n\t\tmemoryExtractionHash: loaded.memoryExtractionHash,\n\t\tsubject: loaded.subject,\n\t\tcreatedAt: loaded.createdAt,\n\t\tupdatedAt: loaded.updatedAt,\n\t\tmessageCount: loaded.messageCount,\n\t\tfavorite: loaded.favorite,\n\t\ttags: loaded.tags,\n\t\tarchived,\n\t};\n\tif (archived && loaded.archivedAt) {\n\t\tthread.archivedAt = loaded.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction appMessageContent(message: AppMessage): unknown {\n\treturn \"content\" in message ? message.content : message;\n}\n\nfunction treeEntryToItem(entry: SessionTreeEntry): MaestroAppServerThreadItem {\n\tif (entry.type === \"message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: \"message\",\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\trole: entry.message.role,\n\t\t\tcontent: appMessageContent(entry.message),\n\t\t};\n\t}\n\tif (entry.type === \"custom_message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: entry.customType,\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\tcontent: entry.content,\n\t\t\tdata: entry.details,\n\t\t};\n\t}\n\treturn {\n\t\tid: entry.id,\n\t\ttype: entry.type,\n\t\tparentId: entry.parentId,\n\t\ttimestamp: entry.timestamp,\n\t\tdata: entry,\n\t};\n}\n\nexport function buildTurnsFromSessionEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerTurn[] {\n\treturn turnsFromProjection(buildSessionGraphProjection(entries));\n}\n\nfunction turnsFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerTurn[] {\n\treturn projection.turns.map((turn) => ({\n\t\tid: turn.id,\n\t\tparentTurnId: turn.parentTurnId,\n\t\tstatus: turn.status,\n\t\tstartedAt: turn.startedAt,\n\t\tcompletedAt: turn.completedAt,\n\t\tsourceEntryIds: turn.sourceEntryIds,\n\t\ttoolCallIds: turn.toolCallIds,\n\t\titems: turn.entries.map(treeEntryToItem),\n\t}));\n}\n\nfunction graphFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerThreadGraph {\n\treturn {\n\t\tbranchId: projection.branchId,\n\t\tleafEntryId: projection.leafEntryId,\n\t\tactiveEntryIds: projection.activeEntryIds,\n\t\tcompactionSpans: projection.compactionSpans,\n\t};\n}\n\nfunction parseMessagesView(value: unknown): SessionMessagesView {\n\tif (value === undefined || value === null) {\n\t\treturn \"notLoaded\";\n\t}\n\tif (value === \"full\" || value === \"summary\" || value === \"notLoaded\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid messagesView\");\n}\n\nfunction optionalTrimmedString(\n\tvalue: unknown,\n\tfield: string,\n): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim() || undefined;\n}\n\nfunction optionalBoolean(value: unknown, field: string): boolean | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"boolean\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value;\n}\n\nfunction isAuthorizedSessionReviewModeEscape(\n\tprotocolModes: MaestroAppServerProtocolModes | undefined,\n\tmethod: (typeof maestroAppServerClientMethods)[number],\n\tparams: Record<string, unknown> | undefined,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (\n\t\t!protocolModes ||\n\t\t!reviewModeEscapeToken ||\n\t\tmethod !== \"protocol/mode/set\" ||\n\t\tprotocolModes.activeMode() !== \"review\"\n\t) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tparams?.mode !== \"review\" &&\n\t\tparams?.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction optionalStringArray(\n\tvalue: unknown,\n\tfield: string,\n): string[] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\t!Array.isArray(value) ||\n\t\tvalue.some((entry) => typeof entry !== \"string\")\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn Array.from(\n\t\tnew Set(value.map((entry) => entry.trim()).filter(Boolean)),\n\t);\n}\n\nfunction requireThreadReference(store: SessionStore, threadId: string): string {\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function requireExistingThreadReference(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<string> {\n\tconst sessionFile = requireThreadReference(store, threadId);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function flushSessionWrites(store: SessionStore): Promise<void> {\n\tawait store.flush?.();\n}\n\nasync function restoreSessionBinding(\n\tstore: SessionStore,\n\tsessionReference: string | undefined,\n\tleafId?: string | null,\n): Promise<void> {\n\tif (!sessionReference) {\n\t\treturn;\n\t}\n\tconst dbSessionId = sessionReference.startsWith(\"db:\")\n\t\t? sessionReference.slice(\"db:\".length)\n\t\t: undefined;\n\tlet restored = false;\n\tif (dbSessionId && store.resumeSession) {\n\t\trestored = await store.resumeSession(dbSessionId);\n\t}\n\tif (!restored) {\n\t\tawait store.setSessionFile?.(sessionReference);\n\t}\n\tif (leafId === null) {\n\t\tawait store.resetLeaf?.();\n\t} else if (leafId && store.branch) {\n\t\tawait store.branch(leafId);\n\t}\n}\n\nfunction getCurrentLeafId(store: SessionStore): string | null {\n\treturn store.getLeafId?.() ?? store.getCurrentLeafId?.() ?? null;\n}\n\nfunction isActiveThreadSessionFile(\n\tstore: SessionStore,\n\tsessionFile: string,\n): boolean {\n\tconst activeSessionFile = store.getSessionFile?.();\n\tif (!activeSessionFile) {\n\t\treturn false;\n\t}\n\treturn resolve(activeSessionFile) === resolve(sessionFile);\n}\n\ninterface ThreadMetadataExpectation {\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tfavorite?: boolean;\n\ttags?: string[];\n}\n\nasync function summarizeThreadAfterMutation(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadSummary> {\n\tawait flushSessionWrites(store);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tconst summary = toThreadSummaryFromLoadedSession(loaded);\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\tsummary.path = sessionFile;\n\t}\n\treturn summary;\n}\n\nfunction tagsEqual(left: string[] | undefined, right: string[] | undefined) {\n\tif (left === undefined || right === undefined) {\n\t\treturn left === right;\n\t}\n\treturn (\n\t\tleft.length === right.length &&\n\t\tleft.every((value, index) => value === right[index])\n\t);\n}\n\nfunction verifyThreadMetadataPersisted(\n\tthread: MaestroAppServerThreadSummary,\n\texpected: ThreadMetadataExpectation,\n): void {\n\tconst persisted =\n\t\t(expected.title === undefined || thread.title === expected.title) &&\n\t\t(expected.summary === undefined || thread.summary === expected.summary) &&\n\t\t(expected.resumeSummary === undefined ||\n\t\t\tthread.resumeSummary === expected.resumeSummary) &&\n\t\t(expected.favorite === undefined ||\n\t\t\tthread.favorite === expected.favorite) &&\n\t\t(expected.tags === undefined || tagsEqual(thread.tags, expected.tags));\n\tif (!persisted) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread metadata update was not persisted\",\n\t\t);\n\t}\n}\n\nfunction latestGoalFromEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerThreadGoal | null {\n\tlet goal: MaestroAppServerThreadGoal | null = null;\n\tfor (const entry of entries) {\n\t\tif (entry.type !== \"session_meta\" || entry.appServerGoal === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tgoal = entry.appServerGoal;\n\t}\n\treturn goal;\n}\n\nfunction goalsEqual(\n\tactual: MaestroAppServerThreadGoal | null,\n\texpected: MaestroAppServerThreadGoal | null,\n): boolean {\n\tif (actual === null || expected === null) {\n\t\treturn actual === expected;\n\t}\n\treturn (\n\t\tactual.objective === expected.objective &&\n\t\tactual.status === expected.status &&\n\t\tactual.tokenBudget === expected.tokenBudget &&\n\t\tactual.createdAt === expected.createdAt &&\n\t\tactual.updatedAt === expected.updatedAt\n\t);\n}\n\nasync function verifyThreadGoalPersisted(\n\tstore: SessionStore,\n\tthreadId: string,\n\texpected: MaestroAppServerThreadGoal | null,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tconst persisted = await loadThreadGoal(store, threadId);\n\tif (!goalsEqual(persisted, expected)) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread goal update was not persisted\",\n\t\t);\n\t}\n\treturn persisted;\n}\n\nfunction normalizeGoalStatus(\n\tvalue: unknown,\n): MaestroAppServerThreadGoal[\"status\"] {\n\tif (value === undefined || value === null) {\n\t\treturn \"active\";\n\t}\n\tif (value === \"active\" || value === \"complete\" || value === \"cancelled\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid status\");\n}\n\nfunction normalizeTokenBudget(value: unknown): number | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\ttypeof value !== \"number\" ||\n\t\t!Number.isFinite(value) ||\n\t\tvalue <= 0 ||\n\t\t!Number.isInteger(value)\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid tokenBudget\");\n\t}\n\treturn value;\n}\n\nfunction modelToAppServerModel(model: RegisteredModel): MaestroAppServerModel {\n\tconst responsesApi =\n\t\tmodel.api === \"openai-responses\" || model.api === \"openai-codex-responses\";\n\tconst codexBackend =\n\t\tmodel.api === \"openai-codex-responses\" ||\n\t\tmodel.api === \"openai-codex-app-server\";\n\treturn {\n\t\tid: model.id,\n\t\tprovider: model.provider,\n\t\tname: model.name || model.id,\n\t\tapi: model.api,\n\t\tcontextWindow: model.contextWindow,\n\t\tmaxTokens: model.maxTokens,\n\t\tcost: model.cost,\n\t\tsource: model.source,\n\t\tsupportedReasoningEfforts: model.reasoning\n\t\t\t? [\"minimal\", \"low\", \"medium\", \"high\", \"ultra\"]\n\t\t\t: undefined,\n\t\tdefaultReasoningEffort: model.reasoning ? \"medium\" : undefined,\n\t\tcapabilities: {\n\t\t\tstreaming: true,\n\t\t\ttools: model.toolUse === true,\n\t\t\tvision: model.input?.includes(\"image\") || false,\n\t\t\treasoning: model.reasoning || false,\n\t\t\tresponsesApi,\n\t\t\tcodexBackend,\n\t\t\tlocal: model.isLocal,\n\t\t},\n\t};\n}\n\nfunction mergeProviderCapabilities(\n\tcurrent: MaestroAppServerModelProviderCapabilities | undefined,\n\tmodel: MaestroAppServerModel,\n\tproviderName: string,\n): MaestroAppServerModelProviderCapabilities {\n\tconst capabilities = current?.capabilities ?? {\n\t\tstreaming: false,\n\t\ttools: false,\n\t\tvision: false,\n\t\treasoning: false,\n\t\tresponsesApi: false,\n\t\tcodexBackend: false,\n\t\tlocal: false,\n\t};\n\tconst apis = new Set(current?.apis ?? []);\n\tapis.add(model.api);\n\treturn {\n\t\tid: model.provider,\n\t\tname: current?.name ?? providerName,\n\t\tapis: Array.from(apis).sort(),\n\t\tmodelCount: (current?.modelCount ?? 0) + 1,\n\t\tcapabilities: {\n\t\t\tstreaming: capabilities.streaming || model.capabilities.streaming,\n\t\t\ttools: capabilities.tools || model.capabilities.tools,\n\t\t\tvision: capabilities.vision || model.capabilities.vision,\n\t\t\treasoning: capabilities.reasoning || model.capabilities.reasoning,\n\t\t\tresponsesApi:\n\t\t\t\tcapabilities.responsesApi || model.capabilities.responsesApi,\n\t\t\tcodexBackend:\n\t\t\t\tcapabilities.codexBackend || model.capabilities.codexBackend,\n\t\t\tlocal: capabilities.local || model.capabilities.local,\n\t\t},\n\t};\n}\n\nexport function createMaestroAppServerSessionApi(\n\tstore: SessionStore,\n\toptions: MaestroAppServerSessionApiOptions = {},\n): MaestroAppServerSessionApi {\n\tconst hostControl =\n\t\toptions.hostControl === false\n\t\t\t? undefined\n\t\t\t: (options.hostControl ??\n\t\t\t\tcreateMaestroAppServerHostControl({\n\t\t\t\t\tonNotification: options.onNotification,\n\t\t\t\t}));\n\tconst policyControl =\n\t\toptions.policyControl === false\n\t\t\t? undefined\n\t\t\t: (options.policyControl ?? createMaestroAppServerPolicyControl());\n\tconst networkGovernance =\n\t\toptions.networkGovernance === false\n\t\t\t? undefined\n\t\t\t: (options.networkGovernance ??\n\t\t\t\tcreateMaestroAppServerNetworkGovernance());\n\tconst sandboxCheck =\n\t\toptions.sandboxCheck === false\n\t\t\t? undefined\n\t\t\t: (options.sandboxCheck ?? createMaestroAppServerSandboxCheck());\n\tconst canMutateSessionPersistence = store.canCreateSession?.() ?? true;\n\tconst pluginBundles =\n\t\toptions.pluginBundles === false ||\n\t\t!canMutateSessionPersistence ||\n\t\t!hostControl\n\t\t\t? undefined\n\t\t\t: (options.pluginBundles ??\n\t\t\t\tcreateMaestroAppServerPluginBundleApi({\n\t\t\t\t\tprojectRoot: options.projectRoot,\n\t\t\t\t}));\n\tconst daemonLifecycle =\n\t\toptions.daemonLifecycle === false\n\t\t\t? undefined\n\t\t\t: (options.daemonLifecycle ?? createMaestroAppServerDaemonLifecycle());\n\tconst defaultReviewModeEscapeToken =\n\t\toptions.protocolModes === false || options.protocolModes\n\t\t\t? options.reviewModeEscapeToken\n\t\t\t: (options.reviewModeEscapeToken ?? randomUUID());\n\tconst protocolModes =\n\t\toptions.protocolModes === false\n\t\t\t? undefined\n\t\t\t: (options.protocolModes ??\n\t\t\t\tcreateMaestroAppServerProtocolModes({\n\t\t\t\t\treviewModeEscapeToken: defaultReviewModeEscapeToken,\n\t\t\t\t}));\n\tconst reviewModeEscapeToken = defaultReviewModeEscapeToken;\n\tconst daemonLifecycleCapabilities = daemonLifecycle?.capabilities() ?? {\n\t\tdaemonStatus: false,\n\t\tremoteControlStatus: false,\n\t\tremoteControlLease: false,\n\t\tremoteControlDrain: false,\n\t};\n\tconst canUpdateThreadMetadata = Boolean(\n\t\tstore.setSessionTitle &&\n\t\t\tstore.saveSessionSummary &&\n\t\t\tstore.saveSessionResumeSummary &&\n\t\t\tstore.setSessionFavorite &&\n\t\t\tstore.setSessionTags,\n\t);\n\tconst canSetThreadName = Boolean(store.setSessionTitle);\n\tconst canUseThreadGoals = Boolean(\n\t\tstore.setSessionAppServerGoal && store.loadEntries,\n\t);\n\tconst externalAgentImport =\n\t\toptions.externalAgentImport === false || !canMutateSessionPersistence\n\t\t\t? undefined\n\t\t\t: (options.externalAgentImport ??\n\t\t\t\tcreateMaestroAppServerExternalAgentImport({ store }));\n\tconst canStartThreads = Boolean(\n\t\tstore.createSession && canMutateSessionPersistence,\n\t);\n\tconst canForkThreads = Boolean(\n\t\tcanMutateSessionPersistence &&\n\t\t\tstore.createBranchedSession &&\n\t\t\tstore.setSessionFile,\n\t);\n\tconst canArchiveThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.setSessionArchived,\n\t);\n\tconst canDeleteThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.deleteSession,\n\t);\n\tconst canUseHostControl = Boolean(hostControl);\n\tconst canUseFilesystemWatch = Boolean(hostControl?.supportsWatch());\n\tconst canUsePolicyControl = Boolean(policyControl);\n\tconst canUseNetworkGovernance = Boolean(networkGovernance);\n\tconst canUseSandboxCheck = Boolean(sandboxCheck);\n\tconst canUseExternalAgentImport = Boolean(externalAgentImport);\n\tconst canUsePluginBundles = Boolean(pluginBundles);\n\n\treturn {\n\t\tinitialize() {\n\t\t\treturn {\n\t\t\t\tprotocolVersion: maestroAppServerProtocolVersion,\n\t\t\t\tsupportedProtocolVersions: [\n\t\t\t\t\t...maestroAppServerSupportedProtocolVersions,\n\t\t\t\t],\n\t\t\t\tserverInfo: {\n\t\t\t\t\tname: \"maestro\",\n\t\t\t\t},\n\t\t\t\tcapabilities: {\n\t\t\t\t\tsessions: true,\n\t\t\t\t\tprotocolModes: Boolean(protocolModes),\n\t\t\t\t\tmodelList: true,\n\t\t\t\t\tmodelProviderCapabilities: true,\n\t\t\t\t\tmanagedPolicy: canUsePolicyControl,\n\t\t\t\t\trequirements: canUsePolicyControl,\n\t\t\t\t\tnetworkProxy: canUseNetworkGovernance,\n\t\t\t\t\tnetworkAudit: canUseNetworkGovernance,\n\t\t\t\t\tsandboxProbe: canUseSandboxCheck,\n\t\t\t\t\tsandboxCheck: canUseSandboxCheck,\n\t\t\t\t\texternalAgentImport: canUseExternalAgentImport,\n\t\t\t\t\tpluginBundles: canUsePluginBundles,\n\t\t\t\t\tdaemonStatus: daemonLifecycleCapabilities.daemonStatus,\n\t\t\t\t\tremoteControlStatus: daemonLifecycleCapabilities.remoteControlStatus,\n\t\t\t\t\tremoteControlLease: daemonLifecycleCapabilities.remoteControlLease,\n\t\t\t\t\tremoteControlDrain: daemonLifecycleCapabilities.remoteControlDrain,\n\t\t\t\t\tcommandExec: canUseHostControl,\n\t\t\t\t\tcommandProcessControl: canUseHostControl,\n\t\t\t\t\tfilesystem: canUseHostControl,\n\t\t\t\t\tfilesystemWatch: canUseFilesystemWatch,\n\t\t\t\t\tthreadList: true,\n\t\t\t\t\tthreadRead: true,\n\t\t\t\t\tthreadMetadataUpdate: canUpdateThreadMetadata,\n\t\t\t\t\tthreadNameSet: canSetThreadName,\n\t\t\t\t\tthreadGoals: canUseThreadGoals,\n\t\t\t\t\tthreadStart: canStartThreads,\n\t\t\t\t\tthreadFork: canForkThreads,\n\t\t\t\t\tthreadArchive: canArchiveThreads,\n\t\t\t\t\tthreadDelete: canDeleteThreads,\n\t\t\t\t\tturnsList: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\treviewModeEscapeToken() {\n\t\t\treturn reviewModeEscapeToken;\n\t\t},\n\n\t\tcheckProtocolMode(method, params) {\n\t\t\tif (\n\t\t\t\tisAuthorizedSessionReviewModeEscape(\n\t\t\t\t\tprotocolModes,\n\t\t\t\t\tmethod,\n\t\t\t\t\tparams,\n\t\t\t\t\treviewModeEscapeToken,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn protocolModes?.checkMethod(method, params) ?? { allowed: true };\n\t\t},\n\n\t\tasync listProtocolModes(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.listModes(params);\n\t\t},\n\n\t\tasync setProtocolMode(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.setMode(params);\n\t\t},\n\n\t\tasync readPolicy() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.readPolicy();\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.checkPolicy(params);\n\t\t},\n\n\t\tasync listRequirements() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Requirements are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.listRequirements();\n\t\t},\n\n\t\tasync fetchNetwork(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network proxy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.fetch(params);\n\t\t},\n\n\t\tasync listNetworkAudit(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network audit is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.listAudit(params);\n\t\t},\n\n\t\tasync probeSandbox(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox probe is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tnormalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.probe();\n\t\t},\n\n\t\tasync runSandboxCheck(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox check is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.runCheck(normalizedParams);\n\t\t},\n\n\t\tasync importExternalAgent(params = {}) {\n\t\t\tif (!externalAgentImport) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"External agent import is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeExternalAgentImportParams(params);\n\t\t\treturn externalAgentImport.importBundle(normalizedParams);\n\t\t},\n\n\t\tasync listPluginBundles(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.listBundles(params);\n\t\t},\n\n\t\tasync installPluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.installBundle(params);\n\t\t},\n\n\t\tasync removePluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.removeBundle(params);\n\t\t},\n\n\t\tasync readDaemonStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Daemon lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.status(params);\n\t\t},\n\n\t\tasync readRemoteControlStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.remoteControlStatus(params);\n\t\t},\n\n\t\tasync readRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.readLease(params);\n\t\t},\n\n\t\tasync heartbeatRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.heartbeatLease(params);\n\t\t},\n\n\t\tasync drainRemoteControl(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control drain is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.drain(params);\n\t\t},\n\n\t\tasync execCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command exec is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.execCommand(params);\n\t\t},\n\n\t\tasync writeCommandStdin(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.writeCommandStdin(params);\n\t\t},\n\n\t\tasync terminateCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.terminateCommand(params);\n\t\t},\n\n\t\tasync readFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readFile(params);\n\t\t},\n\n\t\tasync writeFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.writeFile(params);\n\t\t},\n\n\t\tasync readDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readDirectory(params);\n\t\t},\n\n\t\tasync getMetadata(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.getMetadata(params);\n\t\t},\n\n\t\tasync createDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.createDirectory(params);\n\t\t},\n\n\t\tasync remove(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.remove(params);\n\t\t},\n\n\t\tasync copy(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.copy(params);\n\t\t},\n\n\t\tasync watch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.watch(params);\n\t\t},\n\n\t\tasync unwatch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.unwatch(params);\n\t\t},\n\n\t\tasync listModels(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst api = optionalTrimmedString(params.api, \"api\");\n\t\t\tconst models = getRegisteredModels()\n\t\t\t\t.filter((model) => !provider || model.provider === provider)\n\t\t\t\t.filter((model) => !api || model.api === api)\n\t\t\t\t.map(modelToAppServerModel)\n\t\t\t\t.sort((left, right) =>\n\t\t\t\t\t`${left.provider}/${left.id}`.localeCompare(\n\t\t\t\t\t\t`${right.provider}/${right.id}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\treturn { models };\n\t\t},\n\n\t\tasync readModelProviderCapabilities(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst providers = new Map<\n\t\t\t\tstring,\n\t\t\t\tMaestroAppServerModelProviderCapabilities\n\t\t\t>();\n\t\t\tfor (const model of getRegisteredModels()) {\n\t\t\t\tif (provider && model.provider !== provider) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst appServerModel = modelToAppServerModel(model);\n\t\t\t\tproviders.set(\n\t\t\t\t\tmodel.provider,\n\t\t\t\t\tmergeProviderCapabilities(\n\t\t\t\t\t\tproviders.get(model.provider),\n\t\t\t\t\t\tappServerModel,\n\t\t\t\t\t\tmodel.providerName || model.provider,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tproviders: Array.from(providers.values()).sort((left, right) =>\n\t\t\t\t\tleft.id.localeCompare(right.id),\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\n\t\tasync listThreads(params = {}) {\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst includeArchived =\n\t\t\t\toptionalBoolean(params.includeArchived, \"includeArchived\") ?? false;\n\t\t\tconst metadata = store.loadAllSessions();\n\t\t\tif (metadata.length === 0) {\n\t\t\t\tconst page: SessionSummary[] = [];\n\t\t\t\tlet rawOffset = offset;\n\t\t\t\tlet cursorAfterPage = offset;\n\t\t\t\tlet hasMoreVisible = false;\n\t\t\t\tlet exhausted = false;\n\t\t\t\twhile (!hasMoreVisible && !exhausted) {\n\t\t\t\t\tconst summaries = await store.listSessions({\n\t\t\t\t\t\tlimit: limit + 1,\n\t\t\t\t\t\toffset: rawOffset,\n\t\t\t\t\t});\n\t\t\t\t\texhausted = summaries.length <= limit;\n\t\t\t\t\tfor (const summary of summaries) {\n\t\t\t\t\t\trawOffset += 1;\n\t\t\t\t\t\tif (includeArchived || !summary.archived) {\n\t\t\t\t\t\t\tif (page.length < limit) {\n\t\t\t\t\t\t\t\tpage.push(summary);\n\t\t\t\t\t\t\t\tcursorAfterPage = rawOffset;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thasMoreVisible = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (summaries.length === 0) {\n\t\t\t\t\t\texhausted = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tthreads: page.map(toThreadSummaryFromSessionSummary),\n\t\t\t\t\tnextCursor: hasMoreVisible ? encodeCursor(cursorAfterPage) : null,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst visible = includeArchived\n\t\t\t\t? metadata\n\t\t\t\t: metadata.filter((session) => !session.archived);\n\t\t\tconst page = visible.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreads: page.map((session) => toThreadSummary(session)),\n\t\t\t\tnextCursor:\n\t\t\t\t\tnextOffset < visible.length ? encodeCursor(nextOffset) : null,\n\t\t\t};\n\t\t},\n\n\t\tasync readThread(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst includeTurns = params.includeTurns === true;\n\t\t\tconst messagesView = parseMessagesView(params.messagesView);\n\t\t\tconst loaded = await store.loadSession(threadId, { messagesView });\n\t\t\tif (!loaded) {\n\t\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t\t}\n\t\t\tconst thread: MaestroAppServerThread = {\n\t\t\t\t...toThreadSummaryFromLoadedSession(loaded),\n\t\t\t\tmessagesView: loaded.messagesView,\n\t\t\t};\n\t\t\tconst sessionFile = store.getSessionFileById(threadId);\n\t\t\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\t\t\tthread.path = sessionFile;\n\t\t\t}\n\t\t\tif (includeTurns) {\n\t\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\t\tthread.turns = turnsFromProjection(projection);\n\t\t\t\tthread.graph = graphFromProjection(projection);\n\t\t\t}\n\t\t\treturn thread;\n\t\t},\n\n\t\tasync updateThreadMetadata(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst summary = optionalTrimmedString(params.summary, \"summary\");\n\t\t\tconst resumeSummary = optionalTrimmedString(\n\t\t\t\tparams.resumeSummary,\n\t\t\t\t\"resumeSummary\",\n\t\t\t);\n\t\t\tconst favorite = optionalBoolean(params.favorite, \"favorite\");\n\t\t\tconst tags = optionalStringArray(params.tags, \"tags\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\n\t\t\tif (title !== undefined) {\n\t\t\t\tif (!store.setSessionTitle) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread title updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTitle(sessionFile, title);\n\t\t\t}\n\t\t\tif (summary !== undefined) {\n\t\t\t\tif (!store.saveSessionSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionSummary(summary, sessionFile);\n\t\t\t}\n\t\t\tif (resumeSummary !== undefined) {\n\t\t\t\tif (!store.saveSessionResumeSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread resume summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionResumeSummary(resumeSummary, sessionFile);\n\t\t\t}\n\t\t\tif (favorite !== undefined) {\n\t\t\t\tif (!store.setSessionFavorite) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread favorite updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionFavorite(sessionFile, favorite);\n\t\t\t}\n\t\t\tif (tags !== undefined) {\n\t\t\t\tif (!store.setSessionTags) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread tag updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTags(sessionFile, tags);\n\t\t\t}\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, {\n\t\t\t\ttitle,\n\t\t\t\tsummary,\n\t\t\t\tresumeSummary,\n\t\t\t\tfavorite,\n\t\t\t\ttags,\n\t\t\t});\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync setThreadName(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst name = optionalTrimmedString(params.name, \"name\");\n\t\t\tif (!name) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing name\");\n\t\t\t}\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionTitle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread name updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionTitle(sessionFile, name);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, { title: name });\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync getThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await loadThreadGoal(store, threadId),\n\t\t\t};\n\t\t},\n\n\t\tasync setThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst objective = optionalTrimmedString(params.objective, \"objective\");\n\t\t\tif (!objective) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing objective\");\n\t\t\t}\n\t\t\tconst existing = await loadThreadGoal(store, threadId);\n\t\t\tconst now = new Date().toISOString();\n\t\t\tconst goal: MaestroAppServerThreadGoal = {\n\t\t\t\tobjective,\n\t\t\t\tstatus: normalizeGoalStatus(params.status),\n\t\t\t\ttokenBudget: normalizeTokenBudget(params.tokenBudget),\n\t\t\t\tcreatedAt: existing?.createdAt ?? now,\n\t\t\t\tupdatedAt: now,\n\t\t\t};\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, goal);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await verifyThreadGoalPersisted(store, threadId, goal),\n\t\t\t};\n\t\t},\n\n\t\tasync clearThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, null);\n\t\t\tawait flushSessionWrites(store);\n\t\t\tawait verifyThreadGoalPersisted(store, threadId, null);\n\t\t\treturn { threadId, goal: null };\n\t\t},\n\n\t\tasync startThread(params = {}) {\n\t\t\tconst createThreadSession = store.createSession;\n\t\t\tif (!canStartThreads || !createThreadSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread start is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet created: Awaited<\n\t\t\t\tReturnType<NonNullable<SessionStore[\"createSession\"]>>\n\t\t\t>;\n\t\t\ttry {\n\t\t\t\tcreated = await createThreadSession.call(\n\t\t\t\t\tstore,\n\t\t\t\t\ttitle ? { title } : undefined,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, created.id),\n\t\t\t};\n\t\t},\n\n\t\tasync forkThread(params = {}) {\n\t\t\tconst createBranchedSession = store.createBranchedSession;\n\t\t\tif (!canForkThreads || !createBranchedSession) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Thread fork is not available\");\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst leafEntryId = optionalTrimmedString(\n\t\t\t\tparams.leafEntryId,\n\t\t\t\t\"leafEntryId\",\n\t\t\t);\n\t\t\tif (!leafEntryId) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing leafEntryId\");\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet forkedThreadId: string | undefined;\n\t\t\ttry {\n\t\t\t\tawait store.setSessionFile?.(sessionFile);\n\t\t\t\tlet forkedSessionFile: string;\n\t\t\t\ttry {\n\t\t\t\t\tforkedSessionFile = createBranchedSession.call(store, leafEntryId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (\n\t\t\t\t\t\terror instanceof Error &&\n\t\t\t\t\t\terror.message === `Entry ${leafEntryId} not found`\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new MaestroAppServerError(-32602, \"Unknown leafEntryId\");\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tconst forkedEntries = safeReadSessionEntries(forkedSessionFile);\n\t\t\t\tconst forkedHeader = forkedEntries.find(\n\t\t\t\t\t(entry) => entry.type === \"session\",\n\t\t\t\t);\n\t\t\t\tforkedThreadId =\n\t\t\t\t\tforkedHeader && \"id\" in forkedHeader ? forkedHeader.id : undefined;\n\t\t\t\tif (!forkedThreadId) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32000,\n\t\t\t\t\t\t\"Thread fork did not produce a readable session\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (title && store.setSessionTitle) {\n\t\t\t\t\tawait store.setSessionTitle(forkedSessionFile, title);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, forkedThreadId),\n\t\t\t\tparentThreadId: threadId,\n\t\t\t\tforkedFromEntryId: leafEntryId,\n\t\t\t};\n\t\t},\n\n\t\tasync archiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, true);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (!thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: true };\n\t\t},\n\n\t\tasync unarchiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, false);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: false };\n\t\t},\n\n\t\tasync deleteThread(params = {}) {\n\t\t\tconst deleteSession = store.deleteSession;\n\t\t\tif (!canDeleteThreads || !deleteSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread delete is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (isActiveThreadSessionFile(store, sessionFile)) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Cannot delete the currently active thread\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait deleteSession.call(store, threadId);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn { threadId, deleted: true };\n\t\t},\n\n\t\tasync listTurns(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\tconst turns = turnsFromProjection(projection);\n\t\t\tconst page = turns.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tturns: page,\n\t\t\t\tnextCursor: nextOffset < turns.length ? encodeCursor(nextOffset) : null,\n\t\t\t\tgraph: graphFromProjection(projection),\n\t\t\t};\n\t\t},\n\t};\n}\n\nasync function loadProjectionForThread(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<SessionGraphProjection> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn buildSessionGraphProjection(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile || sessionFile.startsWith(\"db:\")) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn buildSessionGraphProjection(safeReadSessionEntries(sessionFile));\n}\n\nasync function loadThreadGoal(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn latestGoalFromEntries(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tif (sessionFile.startsWith(\"db:\")) {\n\t\tconst loaded = await store.loadSession(threadId, {\n\t\t\tmessagesView: \"notLoaded\",\n\t\t});\n\t\tif (!loaded) {\n\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t}\n\t\treturn null;\n\t}\n\treturn latestGoalFromEntries(safeReadSessionEntries(sessionFile));\n}\n\nfunction isSupportedMethod(\n\tmethod: string,\n): method is (typeof maestroAppServerClientMethods)[number] {\n\treturn maestroAppServerClientMethods.includes(\n\t\tmethod as (typeof maestroAppServerClientMethods)[number],\n\t);\n}\n\nexport async function handleMaestroAppServerRequest(\n\tapi: MaestroAppServerSessionApi,\n\trequest: MaestroAppServerClientRequest,\n): Promise<MaestroAppServerResponse> {\n\tconst id = request.id as JsonRpcId;\n\ttry {\n\t\tif (!isSupportedMethod(request.method)) {\n\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t\tconst method = request.method;\n\t\tconst protocolModeDecision = api.checkProtocolMode?.(\n\t\t\tmethod,\n\t\t\trequest.params,\n\t\t) ?? {\n\t\t\tallowed: true,\n\t\t};\n\t\tif (!protocolModeDecision.allowed) {\n\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t-32003,\n\t\t\t\tprotocolModeDecision.reason ?? \"Method blocked by protocol mode\",\n\t\t\t);\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase \"initialize\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: api.initialize(),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listProtocolModes(request.params),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setProtocolMode(request.params),\n\t\t\t\t};\n\t\t\tcase \"model/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listModels(request.params),\n\t\t\t\t};\n\t\t\tcase \"modelProvider/capabilities/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readModelProviderCapabilities(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/check\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.checkPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"requirements/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listRequirements(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/fetch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.fetchNetwork(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/audit/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listNetworkAudit(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/probe\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.probeSandbox(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/check/run\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.runSandboxCheck(request.params),\n\t\t\t\t};\n\t\t\tcase \"externalAgent/import\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.importExternalAgent(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listPluginBundles(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/install\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.installPluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.removePluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"daemon/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDaemonStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/heartbeat\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.heartbeatRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/drain\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.drainRemoteControl(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.execCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/write\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeCommandStdin(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/terminate\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.terminateCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/writeFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/getMetadata\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/createDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.createDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.remove(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/copy\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.copy(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/watch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.watch(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/unwatch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unwatch(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listThreads(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tthread: await api.readThread(request.params),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tcase \"thread/metadata/update\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.updateThreadMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/name/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadName(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/get\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/clear\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.clearThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/start\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.startThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/fork\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.forkThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/archive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.archiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/unarchive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unarchiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/delete\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.deleteThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/turns/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listTurns(request.params),\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t} catch (error) {\n\t\tif (\n\t\t\terror instanceof MaestroAppServerError ||\n\t\t\terror instanceof MaestroAppServerHostControlError ||\n\t\t\terror instanceof MaestroAppServerNetworkGovernanceError ||\n\t\t\terror instanceof MaestroAppServerPolicyControlError ||\n\t\t\terror instanceof MaestroAppServerSandboxCheckError ||\n\t\t\terror instanceof MaestroAppServerExternalAgentImportError ||\n\t\t\terror instanceof MaestroAppServerPluginBundleError ||\n\t\t\terror instanceof MaestroAppServerDaemonLifecycleError ||\n\t\t\terror instanceof MaestroAppServerProtocolModesError\n\t\t) {\n\t\t\treturn {\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid,\n\t\t\t\terror: {\n\t\t\t\t\tcode: error.code,\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tid,\n\t\t\terror: {\n\t\t\t\tcode: -32603,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t},\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"session-api.js","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { resolve } from \"node:path\";\nimport {\n\ttype MaestroAppServerClientRequest,\n\ttype MaestroAppServerCommandExecResult,\n\ttype MaestroAppServerCommandProcessResult,\n\ttype MaestroAppServerDaemonStatusResult,\n\ttype MaestroAppServerEmptyResult,\n\ttype MaestroAppServerExternalAgentImportResult,\n\ttype MaestroAppServerFsMetadataResult,\n\ttype MaestroAppServerFsReadDirectoryResult,\n\ttype MaestroAppServerFsReadFileResult,\n\ttype MaestroAppServerFsWatchResult,\n\ttype MaestroAppServerModel,\n\ttype MaestroAppServerModelListResult,\n\ttype MaestroAppServerModelProviderCapabilities,\n\ttype MaestroAppServerModelProviderCapabilitiesReadResult,\n\ttype MaestroAppServerNetworkAuditListResult,\n\ttype MaestroAppServerNetworkFetchResult,\n\ttype MaestroAppServerPluginBundleListResult,\n\ttype MaestroAppServerPluginBundleMutationResult,\n\ttype MaestroAppServerPolicyCheckResult,\n\ttype MaestroAppServerPolicyReadResult,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\ttype MaestroAppServerRemoteControlDrainResult,\n\ttype MaestroAppServerRemoteControlLeaseResult,\n\ttype MaestroAppServerRemoteControlStatusResult,\n\ttype MaestroAppServerRequirementsListResult,\n\ttype MaestroAppServerResponse,\n\ttype MaestroAppServerSandboxCheckResult,\n\ttype MaestroAppServerSandboxProbeResult,\n\ttype MaestroAppServerServerNotification,\n\ttype MaestroAppServerThread,\n\ttype MaestroAppServerThreadArchiveResult,\n\ttype MaestroAppServerThreadDeleteResult,\n\ttype MaestroAppServerThreadForkResult,\n\ttype MaestroAppServerThreadGoal,\n\ttype MaestroAppServerThreadGoalResult,\n\ttype MaestroAppServerThreadGraph,\n\ttype MaestroAppServerThreadItem,\n\ttype MaestroAppServerThreadListResult,\n\ttype MaestroAppServerThreadMetadataUpdateResult,\n\ttype MaestroAppServerThreadStartResult,\n\ttype MaestroAppServerThreadSummary,\n\ttype MaestroAppServerTurn,\n\ttype MaestroAppServerTurnsListResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolVersion,\n\tmaestroAppServerSupportedProtocolVersions,\n} from \"@evalops/contracts\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { getRegisteredModels } from \"../models/registry.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { safeReadSessionEntries } from \"../session/session-context.js\";\nimport {\n\ttype SessionGraphProjection,\n\tbuildSessionGraphProjection,\n} from \"../session/session-graph-projection.js\";\nimport type {\n\tSessionEntry,\n\tSessionMessagesView,\n\tSessionMetadata,\n\tSessionSummary,\n\tSessionTreeEntry,\n} from \"../session/types.js\";\nimport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tMaestroAppServerDaemonLifecycleError,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nimport {\n\ttype MaestroAppServerExternalAgentImport,\n\tMaestroAppServerExternalAgentImportError,\n\tcreateMaestroAppServerExternalAgentImport,\n\tnormalizeExternalAgentImportParams,\n} from \"./external-agent-import-api.js\";\nimport {\n\ttype MaestroAppServerHostControl,\n\tMaestroAppServerHostControlError,\n\tcreateMaestroAppServerHostControl,\n} from \"./host-control-api.js\";\nimport {\n\ttype MaestroAppServerNetworkGovernance,\n\tMaestroAppServerNetworkGovernanceError,\n\tcreateMaestroAppServerNetworkGovernance,\n} from \"./network-governance-api.js\";\nimport {\n\ttype MaestroAppServerPluginBundleApi,\n\tMaestroAppServerPluginBundleError,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nimport {\n\ttype MaestroAppServerPolicyControl,\n\tMaestroAppServerPolicyControlError,\n\tcreateMaestroAppServerPolicyControl,\n} from \"./policy-control-api.js\";\nimport {\n\ttype MaestroAppServerProtocolModeDecision,\n\ttype MaestroAppServerProtocolModes,\n\tMaestroAppServerProtocolModesError,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nimport {\n\ttype MaestroAppServerSandboxCheck,\n\tMaestroAppServerSandboxCheckError,\n\tcreateMaestroAppServerSandboxCheck,\n\tnormalizeSandboxCheckParams,\n} from \"./sandbox-check-api.js\";\n\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\n\nexport type { MaestroAppServerServerNotification };\nexport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nexport {\n\ttype MaestroAppServerExternalAgentImport,\n\tcreateMaestroAppServerExternalAgentImport,\n} from \"./external-agent-import-api.js\";\nexport {\n\ttype MaestroAppServerPluginBundleApi,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nexport {\n\ttype MaestroAppServerProtocolModes,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nexport {\n\ttype MaestroAppServerSandboxCheck,\n\tcreateMaestroAppServerSandboxCheck,\n} from \"./sandbox-check-api.js\";\n\ntype JsonRpcId = string | number;\ntype MaybePromise<T> = T | Promise<T>;\n\ntype SessionStore = Pick<\n\tSessionManager,\n\t\"getSessionFileById\" | \"loadAllSessions\" | \"listSessions\" | \"loadSession\"\n> & {\n\tgetSessionFile?: () => string;\n\tloadEntries?: (sessionId: string) => Promise<SessionEntry[] | null>;\n\tflush?: () => Promise<void>;\n\tsaveSessionSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsaveSessionResumeSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsetSessionFavorite?: (\n\t\tsessionPath: string,\n\t\tfavorite: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionTitle?: (sessionPath: string, title: string) => MaybePromise<void>;\n\tsetSessionTags?: (sessionPath: string, tags: string[]) => MaybePromise<void>;\n\tsetSessionArchived?: (\n\t\tsessionPath: string,\n\t\tarchived: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionAppServerGoal?: (\n\t\tsessionPath: string,\n\t\tgoal: MaestroAppServerThreadGoal | null,\n\t) => MaybePromise<void>;\n\tcreateSession?: (options?: { title?: string }) => Promise<{\n\t\tid: string;\n\t\ttitle?: string;\n\t\tcreatedAt: string;\n\t\tupdatedAt: string;\n\t\tmessageCount: number;\n\t}>;\n\tcanCreateSession?: () => boolean;\n\tcreateBranchedSession?: (leafId: string) => string;\n\tsetSessionFile?: (path: string) => MaybePromise<void>;\n\tresumeSession?: (sessionId: string) => Promise<boolean>;\n\tgetLeafId?: () => string | null;\n\tgetCurrentLeafId?: () => string | null;\n\tbranch?: (branchFromId: string) => MaybePromise<void>;\n\tresetLeaf?: () => MaybePromise<void>;\n\tdeleteSession?: (sessionId: string) => MaybePromise<void>;\n\timportSessionEntries?: (entries: SessionEntry[]) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n\timportPortableSession?: (path: string) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n};\n\nexport interface MaestroAppServerSessionApiOptions {\n\thostControl?: MaestroAppServerHostControl | false;\n\tpolicyControl?: MaestroAppServerPolicyControl | false;\n\tnetworkGovernance?: MaestroAppServerNetworkGovernance | false;\n\tsandboxCheck?: MaestroAppServerSandboxCheck | false;\n\tprojectRoot?: string;\n\texternalAgentImport?: MaestroAppServerExternalAgentImport | false;\n\tpluginBundles?: MaestroAppServerPluginBundleApi | false;\n\tdaemonLifecycle?: MaestroAppServerDaemonLifecycle | false;\n\tprotocolModes?: MaestroAppServerProtocolModes | false;\n\treviewModeEscapeToken?: string;\n\tonNotification?: (notification: MaestroAppServerServerNotification) => void;\n}\n\nexport interface MaestroAppServerSessionApi {\n\tinitialize(): MaestroAppServerResponse[\"result\"];\n\treviewModeEscapeToken(): string | undefined;\n\tcheckProtocolMode(\n\t\tmethod: (typeof maestroAppServerClientMethods)[number],\n\t\tparams?: Record<string, unknown>,\n\t): MaestroAppServerProtocolModeDecision;\n\tlistProtocolModes(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeListResult>;\n\tsetProtocolMode(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeSetResult>;\n\tlistModels(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelListResult>;\n\treadModelProviderCapabilities(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelProviderCapabilitiesReadResult>;\n\treadPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyReadResult>;\n\tcheckPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRequirementsListResult>;\n\tfetchNetwork(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistNetworkAudit(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n\tprobeSandbox(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxProbeResult>;\n\trunSandboxCheck(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxCheckResult>;\n\timportExternalAgent(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerExternalAgentImportResult>;\n\tlistPluginBundles(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallPluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremovePluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\treadDaemonStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerDaemonStatusResult>;\n\treadRemoteControlStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlStatusResult>;\n\treadRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\theartbeatRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\tdrainRemoteControl(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlDrainResult>;\n\texecCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandExecResult>;\n\twriteCommandStdin(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\tterminateCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\treadFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadFileResult>;\n\twriteFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\treadDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadDirectoryResult>;\n\tgetMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsMetadataResult>;\n\tcreateDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tremove(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tcopy(params?: Record<string, unknown>): Promise<MaestroAppServerEmptyResult>;\n\twatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsWatchResult>;\n\tunwatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tlistThreads(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadListResult>;\n\treadThread(params?: Record<string, unknown>): Promise<MaestroAppServerThread>;\n\tupdateThreadMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tsetThreadName(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tgetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tsetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tclearThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tstartThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadStartResult>;\n\tforkThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadForkResult>;\n\tarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tunarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tdeleteThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadDeleteResult>;\n\tlistTurns(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerTurnsListResult>;\n}\n\nexport class MaestroAppServerError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerError\";\n\t}\n}\n\nfunction normalizeLimit(value: unknown): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_PAGE_LIMIT;\n\t}\n\treturn Math.min(MAX_PAGE_LIMIT, Math.max(1, Math.trunc(value)));\n}\n\nfunction encodeCursor(offset: number): string {\n\treturn Buffer.from(JSON.stringify({ offset }), \"utf8\").toString(\"base64url\");\n}\n\nfunction decodeCursor(value: unknown): number {\n\tif (value === undefined || value === null || value === \"\") {\n\t\treturn 0;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n\t}\n\ttry {\n\t\tconst decoded = JSON.parse(\n\t\t\tBuffer.from(value, \"base64url\").toString(\"utf8\"),\n\t\t);\n\t\tif (\n\t\t\ttypeof decoded === \"object\" &&\n\t\t\tdecoded !== null &&\n\t\t\ttypeof decoded.offset === \"number\" &&\n\t\t\tNumber.isFinite(decoded.offset) &&\n\t\t\tdecoded.offset >= 0\n\t\t) {\n\t\t\treturn Math.trunc(decoded.offset);\n\t\t}\n\t} catch {\n\t\t// Fall through to the normalized JSON-RPC error below.\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n}\n\nfunction requireThreadId(params?: Record<string, unknown>): string {\n\tconst threadId = params?.threadId;\n\tif (typeof threadId !== \"string\" || threadId.length === 0) {\n\t\tthrow new MaestroAppServerError(-32602, \"Missing threadId\");\n\t}\n\treturn threadId;\n}\n\nfunction toThreadSummary(\n\tmetadata: SessionMetadata,\n\tsummary?: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary?.archived ?? metadata.archived ?? false;\n\tconst archivedAt = archived\n\t\t? (summary?.archivedAt ?? metadata.archivedAt)\n\t\t: undefined;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: metadata.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary?.title ?? metadata.title ?? metadata.summary,\n\t\tsummary: metadata.summary,\n\t\tresumeSummary: summary?.resumeSummary ?? metadata.resumeSummary,\n\t\tmemoryExtractionHash:\n\t\t\tsummary?.memoryExtractionHash ?? metadata.memoryExtractionHash,\n\t\tsubject: metadata.subject,\n\t\tpath: metadata.path,\n\t\tcreatedAt: metadata.created.toISOString(),\n\t\tupdatedAt: metadata.modified.toISOString(),\n\t\tmessageCount: metadata.messageCount,\n\t\tfavorite: summary?.favorite ?? metadata.favorite,\n\t\ttags: summary?.tags ?? metadata.tags,\n\t\tarchived,\n\t};\n\tif (archivedAt) {\n\t\tthread.archivedAt = archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromSessionSummary(\n\tsummary: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: summary.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary.title ?? summary.subject,\n\t\tsummary: summary.summary ?? summary.title ?? summary.subject,\n\t\tresumeSummary: summary.resumeSummary,\n\t\tmemoryExtractionHash: summary.memoryExtractionHash,\n\t\tsubject: summary.subject,\n\t\tcreatedAt: summary.createdAt,\n\t\tupdatedAt: summary.updatedAt,\n\t\tmessageCount: summary.messageCount,\n\t\tfavorite: summary.favorite,\n\t\ttags: summary.tags,\n\t\tarchived,\n\t};\n\tif (archived && summary.archivedAt) {\n\t\tthread.archivedAt = summary.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromLoadedSession(loaded: {\n\tid: string;\n\tsubject?: string;\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tmemoryExtractionHash?: string;\n\tcreatedAt: string;\n\tupdatedAt: string;\n\tmessageCount: number;\n\tfavorite: boolean;\n\ttags?: string[];\n\tarchived?: boolean;\n\tarchivedAt?: string;\n}): MaestroAppServerThreadSummary {\n\tconst archived = loaded.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: loaded.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: loaded.title ?? loaded.subject,\n\t\tsummary: loaded.summary ?? loaded.title ?? loaded.subject,\n\t\tresumeSummary: loaded.resumeSummary,\n\t\tmemoryExtractionHash: loaded.memoryExtractionHash,\n\t\tsubject: loaded.subject,\n\t\tcreatedAt: loaded.createdAt,\n\t\tupdatedAt: loaded.updatedAt,\n\t\tmessageCount: loaded.messageCount,\n\t\tfavorite: loaded.favorite,\n\t\ttags: loaded.tags,\n\t\tarchived,\n\t};\n\tif (archived && loaded.archivedAt) {\n\t\tthread.archivedAt = loaded.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction appMessageContent(message: AppMessage): unknown {\n\treturn \"content\" in message ? message.content : message;\n}\n\nfunction treeEntryToItem(entry: SessionTreeEntry): MaestroAppServerThreadItem {\n\tif (entry.type === \"message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: \"message\",\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\trole: entry.message.role,\n\t\t\tcontent: appMessageContent(entry.message),\n\t\t};\n\t}\n\tif (entry.type === \"custom_message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: entry.customType,\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\tcontent: entry.content,\n\t\t\tdata: entry.details,\n\t\t};\n\t}\n\treturn {\n\t\tid: entry.id,\n\t\ttype: entry.type,\n\t\tparentId: entry.parentId,\n\t\ttimestamp: entry.timestamp,\n\t\tdata: entry,\n\t};\n}\n\nexport function buildTurnsFromSessionEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerTurn[] {\n\treturn turnsFromProjection(buildSessionGraphProjection(entries));\n}\n\nfunction turnsFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerTurn[] {\n\treturn projection.turns.map((turn) => ({\n\t\tid: turn.id,\n\t\tparentTurnId: turn.parentTurnId,\n\t\tstatus: turn.status,\n\t\tstartedAt: turn.startedAt,\n\t\tcompletedAt: turn.completedAt,\n\t\tsourceEntryIds: turn.sourceEntryIds,\n\t\ttoolCallIds: turn.toolCallIds,\n\t\titems: turn.entries.map(treeEntryToItem),\n\t}));\n}\n\nfunction graphFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerThreadGraph {\n\tconst agentLineage =\n\t\tprojection.agentLineage.edges.length > 0\n\t\t\t? projection.agentLineage\n\t\t\t: undefined;\n\treturn {\n\t\tbranchId: projection.branchId,\n\t\tleafEntryId: projection.leafEntryId,\n\t\tactiveEntryIds: projection.activeEntryIds,\n\t\tauthoritativeEntryIds: projection.authoritativeEntryIds,\n\t\tsupersededEntryIds: projection.supersededEntryIds,\n\t\trevisionGroups: projection.revisionGroups,\n\t\tagentLineage,\n\t\tcompactionSpans: projection.compactionSpans,\n\t};\n}\n\nfunction parseMessagesView(value: unknown): SessionMessagesView {\n\tif (value === undefined || value === null) {\n\t\treturn \"notLoaded\";\n\t}\n\tif (value === \"full\" || value === \"summary\" || value === \"notLoaded\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid messagesView\");\n}\n\nfunction optionalTrimmedString(\n\tvalue: unknown,\n\tfield: string,\n): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim() || undefined;\n}\n\nfunction optionalBoolean(value: unknown, field: string): boolean | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"boolean\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value;\n}\n\nfunction isAuthorizedSessionReviewModeEscape(\n\tprotocolModes: MaestroAppServerProtocolModes | undefined,\n\tmethod: (typeof maestroAppServerClientMethods)[number],\n\tparams: Record<string, unknown> | undefined,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (\n\t\t!protocolModes ||\n\t\t!reviewModeEscapeToken ||\n\t\tmethod !== \"protocol/mode/set\" ||\n\t\tprotocolModes.activeMode() !== \"review\"\n\t) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tparams?.mode !== \"review\" &&\n\t\tparams?.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction optionalStringArray(\n\tvalue: unknown,\n\tfield: string,\n): string[] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\t!Array.isArray(value) ||\n\t\tvalue.some((entry) => typeof entry !== \"string\")\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn Array.from(\n\t\tnew Set(value.map((entry) => entry.trim()).filter(Boolean)),\n\t);\n}\n\nfunction requireThreadReference(store: SessionStore, threadId: string): string {\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function requireExistingThreadReference(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<string> {\n\tconst sessionFile = requireThreadReference(store, threadId);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function flushSessionWrites(store: SessionStore): Promise<void> {\n\tawait store.flush?.();\n}\n\nasync function restoreSessionBinding(\n\tstore: SessionStore,\n\tsessionReference: string | undefined,\n\tleafId?: string | null,\n): Promise<void> {\n\tif (!sessionReference) {\n\t\treturn;\n\t}\n\tconst dbSessionId = sessionReference.startsWith(\"db:\")\n\t\t? sessionReference.slice(\"db:\".length)\n\t\t: undefined;\n\tlet restored = false;\n\tif (dbSessionId && store.resumeSession) {\n\t\trestored = await store.resumeSession(dbSessionId);\n\t}\n\tif (!restored) {\n\t\tawait store.setSessionFile?.(sessionReference);\n\t}\n\tif (leafId === null) {\n\t\tawait store.resetLeaf?.();\n\t} else if (leafId && store.branch) {\n\t\tawait store.branch(leafId);\n\t}\n}\n\nfunction getCurrentLeafId(store: SessionStore): string | null {\n\treturn store.getLeafId?.() ?? store.getCurrentLeafId?.() ?? null;\n}\n\nfunction isActiveThreadSessionFile(\n\tstore: SessionStore,\n\tsessionFile: string,\n): boolean {\n\tconst activeSessionFile = store.getSessionFile?.();\n\tif (!activeSessionFile) {\n\t\treturn false;\n\t}\n\treturn resolve(activeSessionFile) === resolve(sessionFile);\n}\n\ninterface ThreadMetadataExpectation {\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tfavorite?: boolean;\n\ttags?: string[];\n}\n\nasync function summarizeThreadAfterMutation(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadSummary> {\n\tawait flushSessionWrites(store);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tconst summary = toThreadSummaryFromLoadedSession(loaded);\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\tsummary.path = sessionFile;\n\t}\n\treturn summary;\n}\n\nfunction tagsEqual(left: string[] | undefined, right: string[] | undefined) {\n\tif (left === undefined || right === undefined) {\n\t\treturn left === right;\n\t}\n\treturn (\n\t\tleft.length === right.length &&\n\t\tleft.every((value, index) => value === right[index])\n\t);\n}\n\nfunction verifyThreadMetadataPersisted(\n\tthread: MaestroAppServerThreadSummary,\n\texpected: ThreadMetadataExpectation,\n): void {\n\tconst persisted =\n\t\t(expected.title === undefined || thread.title === expected.title) &&\n\t\t(expected.summary === undefined || thread.summary === expected.summary) &&\n\t\t(expected.resumeSummary === undefined ||\n\t\t\tthread.resumeSummary === expected.resumeSummary) &&\n\t\t(expected.favorite === undefined ||\n\t\t\tthread.favorite === expected.favorite) &&\n\t\t(expected.tags === undefined || tagsEqual(thread.tags, expected.tags));\n\tif (!persisted) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread metadata update was not persisted\",\n\t\t);\n\t}\n}\n\nfunction latestGoalFromEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerThreadGoal | null {\n\tlet goal: MaestroAppServerThreadGoal | null = null;\n\tfor (const entry of entries) {\n\t\tif (entry.type !== \"session_meta\" || entry.appServerGoal === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tgoal = entry.appServerGoal;\n\t}\n\treturn goal;\n}\n\nfunction goalsEqual(\n\tactual: MaestroAppServerThreadGoal | null,\n\texpected: MaestroAppServerThreadGoal | null,\n): boolean {\n\tif (actual === null || expected === null) {\n\t\treturn actual === expected;\n\t}\n\treturn (\n\t\tactual.objective === expected.objective &&\n\t\tactual.status === expected.status &&\n\t\tactual.tokenBudget === expected.tokenBudget &&\n\t\tactual.createdAt === expected.createdAt &&\n\t\tactual.updatedAt === expected.updatedAt\n\t);\n}\n\nasync function verifyThreadGoalPersisted(\n\tstore: SessionStore,\n\tthreadId: string,\n\texpected: MaestroAppServerThreadGoal | null,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tconst persisted = await loadThreadGoal(store, threadId);\n\tif (!goalsEqual(persisted, expected)) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread goal update was not persisted\",\n\t\t);\n\t}\n\treturn persisted;\n}\n\nfunction normalizeGoalStatus(\n\tvalue: unknown,\n): MaestroAppServerThreadGoal[\"status\"] {\n\tif (value === undefined || value === null) {\n\t\treturn \"active\";\n\t}\n\tif (value === \"active\" || value === \"complete\" || value === \"cancelled\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid status\");\n}\n\nfunction normalizeTokenBudget(value: unknown): number | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\ttypeof value !== \"number\" ||\n\t\t!Number.isFinite(value) ||\n\t\tvalue <= 0 ||\n\t\t!Number.isInteger(value)\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid tokenBudget\");\n\t}\n\treturn value;\n}\n\nfunction modelToAppServerModel(model: RegisteredModel): MaestroAppServerModel {\n\tconst responsesApi =\n\t\tmodel.api === \"openai-responses\" || model.api === \"openai-codex-responses\";\n\tconst codexBackend =\n\t\tmodel.api === \"openai-codex-responses\" ||\n\t\tmodel.api === \"openai-codex-app-server\";\n\treturn {\n\t\tid: model.id,\n\t\tprovider: model.provider,\n\t\tname: model.name || model.id,\n\t\tapi: model.api,\n\t\tcontextWindow: model.contextWindow,\n\t\tmaxTokens: model.maxTokens,\n\t\tcost: model.cost,\n\t\tsource: model.source,\n\t\tsupportedReasoningEfforts: model.reasoning\n\t\t\t? [\"minimal\", \"low\", \"medium\", \"high\", \"ultra\"]\n\t\t\t: undefined,\n\t\tdefaultReasoningEffort: model.reasoning ? \"medium\" : undefined,\n\t\tcapabilities: {\n\t\t\tstreaming: true,\n\t\t\ttools: model.toolUse === true,\n\t\t\tvision: model.input?.includes(\"image\") || false,\n\t\t\treasoning: model.reasoning || false,\n\t\t\tresponsesApi,\n\t\t\tcodexBackend,\n\t\t\tlocal: model.isLocal,\n\t\t},\n\t};\n}\n\nfunction mergeProviderCapabilities(\n\tcurrent: MaestroAppServerModelProviderCapabilities | undefined,\n\tmodel: MaestroAppServerModel,\n\tproviderName: string,\n): MaestroAppServerModelProviderCapabilities {\n\tconst capabilities = current?.capabilities ?? {\n\t\tstreaming: false,\n\t\ttools: false,\n\t\tvision: false,\n\t\treasoning: false,\n\t\tresponsesApi: false,\n\t\tcodexBackend: false,\n\t\tlocal: false,\n\t};\n\tconst apis = new Set(current?.apis ?? []);\n\tapis.add(model.api);\n\treturn {\n\t\tid: model.provider,\n\t\tname: current?.name ?? providerName,\n\t\tapis: Array.from(apis).sort(),\n\t\tmodelCount: (current?.modelCount ?? 0) + 1,\n\t\tcapabilities: {\n\t\t\tstreaming: capabilities.streaming || model.capabilities.streaming,\n\t\t\ttools: capabilities.tools || model.capabilities.tools,\n\t\t\tvision: capabilities.vision || model.capabilities.vision,\n\t\t\treasoning: capabilities.reasoning || model.capabilities.reasoning,\n\t\t\tresponsesApi:\n\t\t\t\tcapabilities.responsesApi || model.capabilities.responsesApi,\n\t\t\tcodexBackend:\n\t\t\t\tcapabilities.codexBackend || model.capabilities.codexBackend,\n\t\t\tlocal: capabilities.local || model.capabilities.local,\n\t\t},\n\t};\n}\n\nexport function createMaestroAppServerSessionApi(\n\tstore: SessionStore,\n\toptions: MaestroAppServerSessionApiOptions = {},\n): MaestroAppServerSessionApi {\n\tconst hostControl =\n\t\toptions.hostControl === false\n\t\t\t? undefined\n\t\t\t: (options.hostControl ??\n\t\t\t\tcreateMaestroAppServerHostControl({\n\t\t\t\t\tonNotification: options.onNotification,\n\t\t\t\t}));\n\tconst policyControl =\n\t\toptions.policyControl === false\n\t\t\t? undefined\n\t\t\t: (options.policyControl ?? createMaestroAppServerPolicyControl());\n\tconst networkGovernance =\n\t\toptions.networkGovernance === false\n\t\t\t? undefined\n\t\t\t: (options.networkGovernance ??\n\t\t\t\tcreateMaestroAppServerNetworkGovernance());\n\tconst sandboxCheck =\n\t\toptions.sandboxCheck === false\n\t\t\t? undefined\n\t\t\t: (options.sandboxCheck ?? createMaestroAppServerSandboxCheck());\n\tconst canMutateSessionPersistence = store.canCreateSession?.() ?? true;\n\tconst pluginBundles =\n\t\toptions.pluginBundles === false ||\n\t\t!canMutateSessionPersistence ||\n\t\t!hostControl\n\t\t\t? undefined\n\t\t\t: (options.pluginBundles ??\n\t\t\t\tcreateMaestroAppServerPluginBundleApi({\n\t\t\t\t\tprojectRoot: options.projectRoot,\n\t\t\t\t}));\n\tconst daemonLifecycle =\n\t\toptions.daemonLifecycle === false\n\t\t\t? undefined\n\t\t\t: (options.daemonLifecycle ?? createMaestroAppServerDaemonLifecycle());\n\tconst defaultReviewModeEscapeToken =\n\t\toptions.protocolModes === false || options.protocolModes\n\t\t\t? options.reviewModeEscapeToken\n\t\t\t: (options.reviewModeEscapeToken ?? randomUUID());\n\tconst protocolModes =\n\t\toptions.protocolModes === false\n\t\t\t? undefined\n\t\t\t: (options.protocolModes ??\n\t\t\t\tcreateMaestroAppServerProtocolModes({\n\t\t\t\t\treviewModeEscapeToken: defaultReviewModeEscapeToken,\n\t\t\t\t}));\n\tconst reviewModeEscapeToken = defaultReviewModeEscapeToken;\n\tconst daemonLifecycleCapabilities = daemonLifecycle?.capabilities() ?? {\n\t\tdaemonStatus: false,\n\t\tremoteControlStatus: false,\n\t\tremoteControlLease: false,\n\t\tremoteControlDrain: false,\n\t};\n\tconst canUpdateThreadMetadata = Boolean(\n\t\tstore.setSessionTitle &&\n\t\t\tstore.saveSessionSummary &&\n\t\t\tstore.saveSessionResumeSummary &&\n\t\t\tstore.setSessionFavorite &&\n\t\t\tstore.setSessionTags,\n\t);\n\tconst canSetThreadName = Boolean(store.setSessionTitle);\n\tconst canUseThreadGoals = Boolean(\n\t\tstore.setSessionAppServerGoal && store.loadEntries,\n\t);\n\tconst externalAgentImport =\n\t\toptions.externalAgentImport === false || !canMutateSessionPersistence\n\t\t\t? undefined\n\t\t\t: (options.externalAgentImport ??\n\t\t\t\tcreateMaestroAppServerExternalAgentImport({ store }));\n\tconst canStartThreads = Boolean(\n\t\tstore.createSession && canMutateSessionPersistence,\n\t);\n\tconst canForkThreads = Boolean(\n\t\tcanMutateSessionPersistence &&\n\t\t\tstore.createBranchedSession &&\n\t\t\tstore.setSessionFile,\n\t);\n\tconst canArchiveThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.setSessionArchived,\n\t);\n\tconst canDeleteThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.deleteSession,\n\t);\n\tconst canUseHostControl = Boolean(hostControl);\n\tconst canUseFilesystemWatch = Boolean(hostControl?.supportsWatch());\n\tconst canUsePolicyControl = Boolean(policyControl);\n\tconst canUseNetworkGovernance = Boolean(networkGovernance);\n\tconst canUseSandboxCheck = Boolean(sandboxCheck);\n\tconst canUseExternalAgentImport = Boolean(externalAgentImport);\n\tconst canUsePluginBundles = Boolean(pluginBundles);\n\n\treturn {\n\t\tinitialize() {\n\t\t\treturn {\n\t\t\t\tprotocolVersion: maestroAppServerProtocolVersion,\n\t\t\t\tsupportedProtocolVersions: [\n\t\t\t\t\t...maestroAppServerSupportedProtocolVersions,\n\t\t\t\t],\n\t\t\t\tserverInfo: {\n\t\t\t\t\tname: \"maestro\",\n\t\t\t\t},\n\t\t\t\tcapabilities: {\n\t\t\t\t\tsessions: true,\n\t\t\t\t\tprotocolModes: Boolean(protocolModes),\n\t\t\t\t\tmodelList: true,\n\t\t\t\t\tmodelProviderCapabilities: true,\n\t\t\t\t\tmanagedPolicy: canUsePolicyControl,\n\t\t\t\t\trequirements: canUsePolicyControl,\n\t\t\t\t\tnetworkProxy: canUseNetworkGovernance,\n\t\t\t\t\tnetworkAudit: canUseNetworkGovernance,\n\t\t\t\t\tsandboxProbe: canUseSandboxCheck,\n\t\t\t\t\tsandboxCheck: canUseSandboxCheck,\n\t\t\t\t\texternalAgentImport: canUseExternalAgentImport,\n\t\t\t\t\tpluginBundles: canUsePluginBundles,\n\t\t\t\t\tdaemonStatus: daemonLifecycleCapabilities.daemonStatus,\n\t\t\t\t\tremoteControlStatus: daemonLifecycleCapabilities.remoteControlStatus,\n\t\t\t\t\tremoteControlLease: daemonLifecycleCapabilities.remoteControlLease,\n\t\t\t\t\tremoteControlDrain: daemonLifecycleCapabilities.remoteControlDrain,\n\t\t\t\t\tcommandExec: canUseHostControl,\n\t\t\t\t\tcommandProcessControl: canUseHostControl,\n\t\t\t\t\tfilesystem: canUseHostControl,\n\t\t\t\t\tfilesystemWatch: canUseFilesystemWatch,\n\t\t\t\t\tthreadList: true,\n\t\t\t\t\tthreadRead: true,\n\t\t\t\t\tthreadMetadataUpdate: canUpdateThreadMetadata,\n\t\t\t\t\tthreadNameSet: canSetThreadName,\n\t\t\t\t\tthreadGoals: canUseThreadGoals,\n\t\t\t\t\tthreadStart: canStartThreads,\n\t\t\t\t\tthreadFork: canForkThreads,\n\t\t\t\t\tthreadArchive: canArchiveThreads,\n\t\t\t\t\tthreadDelete: canDeleteThreads,\n\t\t\t\t\tturnsList: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\treviewModeEscapeToken() {\n\t\t\treturn reviewModeEscapeToken;\n\t\t},\n\n\t\tcheckProtocolMode(method, params) {\n\t\t\tif (\n\t\t\t\tisAuthorizedSessionReviewModeEscape(\n\t\t\t\t\tprotocolModes,\n\t\t\t\t\tmethod,\n\t\t\t\t\tparams,\n\t\t\t\t\treviewModeEscapeToken,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn protocolModes?.checkMethod(method, params) ?? { allowed: true };\n\t\t},\n\n\t\tasync listProtocolModes(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.listModes(params);\n\t\t},\n\n\t\tasync setProtocolMode(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.setMode(params);\n\t\t},\n\n\t\tasync readPolicy() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.readPolicy();\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.checkPolicy(params);\n\t\t},\n\n\t\tasync listRequirements() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Requirements are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.listRequirements();\n\t\t},\n\n\t\tasync fetchNetwork(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network proxy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.fetch(params);\n\t\t},\n\n\t\tasync listNetworkAudit(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network audit is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.listAudit(params);\n\t\t},\n\n\t\tasync probeSandbox(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox probe is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tnormalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.probe();\n\t\t},\n\n\t\tasync runSandboxCheck(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox check is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.runCheck(normalizedParams);\n\t\t},\n\n\t\tasync importExternalAgent(params = {}) {\n\t\t\tif (!externalAgentImport) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"External agent import is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeExternalAgentImportParams(params);\n\t\t\treturn externalAgentImport.importBundle(normalizedParams);\n\t\t},\n\n\t\tasync listPluginBundles(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.listBundles(params);\n\t\t},\n\n\t\tasync installPluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.installBundle(params);\n\t\t},\n\n\t\tasync removePluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.removeBundle(params);\n\t\t},\n\n\t\tasync readDaemonStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Daemon lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.status(params);\n\t\t},\n\n\t\tasync readRemoteControlStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.remoteControlStatus(params);\n\t\t},\n\n\t\tasync readRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.readLease(params);\n\t\t},\n\n\t\tasync heartbeatRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.heartbeatLease(params);\n\t\t},\n\n\t\tasync drainRemoteControl(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control drain is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.drain(params);\n\t\t},\n\n\t\tasync execCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command exec is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.execCommand(params);\n\t\t},\n\n\t\tasync writeCommandStdin(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.writeCommandStdin(params);\n\t\t},\n\n\t\tasync terminateCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.terminateCommand(params);\n\t\t},\n\n\t\tasync readFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readFile(params);\n\t\t},\n\n\t\tasync writeFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.writeFile(params);\n\t\t},\n\n\t\tasync readDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readDirectory(params);\n\t\t},\n\n\t\tasync getMetadata(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.getMetadata(params);\n\t\t},\n\n\t\tasync createDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.createDirectory(params);\n\t\t},\n\n\t\tasync remove(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.remove(params);\n\t\t},\n\n\t\tasync copy(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.copy(params);\n\t\t},\n\n\t\tasync watch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.watch(params);\n\t\t},\n\n\t\tasync unwatch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.unwatch(params);\n\t\t},\n\n\t\tasync listModels(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst api = optionalTrimmedString(params.api, \"api\");\n\t\t\tconst models = getRegisteredModels()\n\t\t\t\t.filter((model) => !provider || model.provider === provider)\n\t\t\t\t.filter((model) => !api || model.api === api)\n\t\t\t\t.map(modelToAppServerModel)\n\t\t\t\t.sort((left, right) =>\n\t\t\t\t\t`${left.provider}/${left.id}`.localeCompare(\n\t\t\t\t\t\t`${right.provider}/${right.id}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\treturn { models };\n\t\t},\n\n\t\tasync readModelProviderCapabilities(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst providers = new Map<\n\t\t\t\tstring,\n\t\t\t\tMaestroAppServerModelProviderCapabilities\n\t\t\t>();\n\t\t\tfor (const model of getRegisteredModels()) {\n\t\t\t\tif (provider && model.provider !== provider) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst appServerModel = modelToAppServerModel(model);\n\t\t\t\tproviders.set(\n\t\t\t\t\tmodel.provider,\n\t\t\t\t\tmergeProviderCapabilities(\n\t\t\t\t\t\tproviders.get(model.provider),\n\t\t\t\t\t\tappServerModel,\n\t\t\t\t\t\tmodel.providerName || model.provider,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tproviders: Array.from(providers.values()).sort((left, right) =>\n\t\t\t\t\tleft.id.localeCompare(right.id),\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\n\t\tasync listThreads(params = {}) {\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst includeArchived =\n\t\t\t\toptionalBoolean(params.includeArchived, \"includeArchived\") ?? false;\n\t\t\tconst metadata = store.loadAllSessions();\n\t\t\tif (metadata.length === 0) {\n\t\t\t\tconst page: SessionSummary[] = [];\n\t\t\t\tlet rawOffset = offset;\n\t\t\t\tlet cursorAfterPage = offset;\n\t\t\t\tlet hasMoreVisible = false;\n\t\t\t\tlet exhausted = false;\n\t\t\t\twhile (!hasMoreVisible && !exhausted) {\n\t\t\t\t\tconst summaries = await store.listSessions({\n\t\t\t\t\t\tlimit: limit + 1,\n\t\t\t\t\t\toffset: rawOffset,\n\t\t\t\t\t});\n\t\t\t\t\texhausted = summaries.length <= limit;\n\t\t\t\t\tfor (const summary of summaries) {\n\t\t\t\t\t\trawOffset += 1;\n\t\t\t\t\t\tif (includeArchived || !summary.archived) {\n\t\t\t\t\t\t\tif (page.length < limit) {\n\t\t\t\t\t\t\t\tpage.push(summary);\n\t\t\t\t\t\t\t\tcursorAfterPage = rawOffset;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thasMoreVisible = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (summaries.length === 0) {\n\t\t\t\t\t\texhausted = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tthreads: page.map(toThreadSummaryFromSessionSummary),\n\t\t\t\t\tnextCursor: hasMoreVisible ? encodeCursor(cursorAfterPage) : null,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst visible = includeArchived\n\t\t\t\t? metadata\n\t\t\t\t: metadata.filter((session) => !session.archived);\n\t\t\tconst page = visible.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreads: page.map((session) => toThreadSummary(session)),\n\t\t\t\tnextCursor:\n\t\t\t\t\tnextOffset < visible.length ? encodeCursor(nextOffset) : null,\n\t\t\t};\n\t\t},\n\n\t\tasync readThread(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst includeTurns = params.includeTurns === true;\n\t\t\tconst includeHistory = params.includeHistory === true;\n\t\t\tconst messagesView = parseMessagesView(params.messagesView);\n\t\t\tconst loaded = await store.loadSession(threadId, { messagesView });\n\t\t\tif (!loaded) {\n\t\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t\t}\n\t\t\tconst thread: MaestroAppServerThread = {\n\t\t\t\t...toThreadSummaryFromLoadedSession(loaded),\n\t\t\t\tmessagesView: loaded.messagesView,\n\t\t\t};\n\t\t\tconst sessionFile = store.getSessionFileById(threadId);\n\t\t\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\t\t\tthread.path = sessionFile;\n\t\t\t}\n\t\t\tif (includeTurns || includeHistory) {\n\t\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\t\tif (includeTurns) {\n\t\t\t\t\tthread.turns = turnsFromProjection(projection);\n\t\t\t\t}\n\t\t\t\tif (includeHistory) {\n\t\t\t\t\tthread.history = projection.historyEntries.map(treeEntryToItem);\n\t\t\t\t}\n\t\t\t\tthread.graph = graphFromProjection(projection);\n\t\t\t}\n\t\t\treturn thread;\n\t\t},\n\n\t\tasync updateThreadMetadata(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst summary = optionalTrimmedString(params.summary, \"summary\");\n\t\t\tconst resumeSummary = optionalTrimmedString(\n\t\t\t\tparams.resumeSummary,\n\t\t\t\t\"resumeSummary\",\n\t\t\t);\n\t\t\tconst favorite = optionalBoolean(params.favorite, \"favorite\");\n\t\t\tconst tags = optionalStringArray(params.tags, \"tags\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\n\t\t\tif (title !== undefined) {\n\t\t\t\tif (!store.setSessionTitle) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread title updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTitle(sessionFile, title);\n\t\t\t}\n\t\t\tif (summary !== undefined) {\n\t\t\t\tif (!store.saveSessionSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionSummary(summary, sessionFile);\n\t\t\t}\n\t\t\tif (resumeSummary !== undefined) {\n\t\t\t\tif (!store.saveSessionResumeSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread resume summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionResumeSummary(resumeSummary, sessionFile);\n\t\t\t}\n\t\t\tif (favorite !== undefined) {\n\t\t\t\tif (!store.setSessionFavorite) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread favorite updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionFavorite(sessionFile, favorite);\n\t\t\t}\n\t\t\tif (tags !== undefined) {\n\t\t\t\tif (!store.setSessionTags) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread tag updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTags(sessionFile, tags);\n\t\t\t}\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, {\n\t\t\t\ttitle,\n\t\t\t\tsummary,\n\t\t\t\tresumeSummary,\n\t\t\t\tfavorite,\n\t\t\t\ttags,\n\t\t\t});\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync setThreadName(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst name = optionalTrimmedString(params.name, \"name\");\n\t\t\tif (!name) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing name\");\n\t\t\t}\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionTitle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread name updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionTitle(sessionFile, name);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, { title: name });\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync getThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await loadThreadGoal(store, threadId),\n\t\t\t};\n\t\t},\n\n\t\tasync setThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst objective = optionalTrimmedString(params.objective, \"objective\");\n\t\t\tif (!objective) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing objective\");\n\t\t\t}\n\t\t\tconst existing = await loadThreadGoal(store, threadId);\n\t\t\tconst now = new Date().toISOString();\n\t\t\tconst goal: MaestroAppServerThreadGoal = {\n\t\t\t\tobjective,\n\t\t\t\tstatus: normalizeGoalStatus(params.status),\n\t\t\t\ttokenBudget: normalizeTokenBudget(params.tokenBudget),\n\t\t\t\tcreatedAt: existing?.createdAt ?? now,\n\t\t\t\tupdatedAt: now,\n\t\t\t};\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, goal);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await verifyThreadGoalPersisted(store, threadId, goal),\n\t\t\t};\n\t\t},\n\n\t\tasync clearThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, null);\n\t\t\tawait flushSessionWrites(store);\n\t\t\tawait verifyThreadGoalPersisted(store, threadId, null);\n\t\t\treturn { threadId, goal: null };\n\t\t},\n\n\t\tasync startThread(params = {}) {\n\t\t\tconst createThreadSession = store.createSession;\n\t\t\tif (!canStartThreads || !createThreadSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread start is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet created: Awaited<\n\t\t\t\tReturnType<NonNullable<SessionStore[\"createSession\"]>>\n\t\t\t>;\n\t\t\ttry {\n\t\t\t\tcreated = await createThreadSession.call(\n\t\t\t\t\tstore,\n\t\t\t\t\ttitle ? { title } : undefined,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, created.id),\n\t\t\t};\n\t\t},\n\n\t\tasync forkThread(params = {}) {\n\t\t\tconst createBranchedSession = store.createBranchedSession;\n\t\t\tif (!canForkThreads || !createBranchedSession) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Thread fork is not available\");\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst leafEntryId = optionalTrimmedString(\n\t\t\t\tparams.leafEntryId,\n\t\t\t\t\"leafEntryId\",\n\t\t\t);\n\t\t\tif (!leafEntryId) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing leafEntryId\");\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet forkedThreadId: string | undefined;\n\t\t\ttry {\n\t\t\t\tawait store.setSessionFile?.(sessionFile);\n\t\t\t\tlet forkedSessionFile: string;\n\t\t\t\ttry {\n\t\t\t\t\tforkedSessionFile = createBranchedSession.call(store, leafEntryId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (\n\t\t\t\t\t\terror instanceof Error &&\n\t\t\t\t\t\terror.message === `Entry ${leafEntryId} not found`\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new MaestroAppServerError(-32602, \"Unknown leafEntryId\");\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tconst forkedEntries = safeReadSessionEntries(forkedSessionFile);\n\t\t\t\tconst forkedHeader = forkedEntries.find(\n\t\t\t\t\t(entry) => entry.type === \"session\",\n\t\t\t\t);\n\t\t\t\tforkedThreadId =\n\t\t\t\t\tforkedHeader && \"id\" in forkedHeader ? forkedHeader.id : undefined;\n\t\t\t\tif (!forkedThreadId) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32000,\n\t\t\t\t\t\t\"Thread fork did not produce a readable session\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (title && store.setSessionTitle) {\n\t\t\t\t\tawait store.setSessionTitle(forkedSessionFile, title);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, forkedThreadId),\n\t\t\t\tparentThreadId: threadId,\n\t\t\t\tforkedFromEntryId: leafEntryId,\n\t\t\t};\n\t\t},\n\n\t\tasync archiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, true);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (!thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: true };\n\t\t},\n\n\t\tasync unarchiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, false);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: false };\n\t\t},\n\n\t\tasync deleteThread(params = {}) {\n\t\t\tconst deleteSession = store.deleteSession;\n\t\t\tif (!canDeleteThreads || !deleteSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread delete is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (isActiveThreadSessionFile(store, sessionFile)) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Cannot delete the currently active thread\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait deleteSession.call(store, threadId);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn { threadId, deleted: true };\n\t\t},\n\n\t\tasync listTurns(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\tconst turns = turnsFromProjection(projection);\n\t\t\tconst page = turns.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tturns: page,\n\t\t\t\tnextCursor: nextOffset < turns.length ? encodeCursor(nextOffset) : null,\n\t\t\t\tgraph: graphFromProjection(projection),\n\t\t\t};\n\t\t},\n\t};\n}\n\nasync function loadProjectionForThread(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<SessionGraphProjection> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn buildSessionGraphProjection(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile || sessionFile.startsWith(\"db:\")) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn buildSessionGraphProjection(safeReadSessionEntries(sessionFile));\n}\n\nasync function loadThreadGoal(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn latestGoalFromEntries(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tif (sessionFile.startsWith(\"db:\")) {\n\t\tconst loaded = await store.loadSession(threadId, {\n\t\t\tmessagesView: \"notLoaded\",\n\t\t});\n\t\tif (!loaded) {\n\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t}\n\t\treturn null;\n\t}\n\treturn latestGoalFromEntries(safeReadSessionEntries(sessionFile));\n}\n\nfunction isSupportedMethod(\n\tmethod: string,\n): method is (typeof maestroAppServerClientMethods)[number] {\n\treturn maestroAppServerClientMethods.includes(\n\t\tmethod as (typeof maestroAppServerClientMethods)[number],\n\t);\n}\n\nexport async function handleMaestroAppServerRequest(\n\tapi: MaestroAppServerSessionApi,\n\trequest: MaestroAppServerClientRequest,\n): Promise<MaestroAppServerResponse> {\n\tconst id = request.id as JsonRpcId;\n\ttry {\n\t\tif (!isSupportedMethod(request.method)) {\n\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t\tconst method = request.method;\n\t\tconst protocolModeDecision = api.checkProtocolMode?.(\n\t\t\tmethod,\n\t\t\trequest.params,\n\t\t) ?? {\n\t\t\tallowed: true,\n\t\t};\n\t\tif (!protocolModeDecision.allowed) {\n\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t-32003,\n\t\t\t\tprotocolModeDecision.reason ?? \"Method blocked by protocol mode\",\n\t\t\t);\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase \"initialize\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: api.initialize(),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listProtocolModes(request.params),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setProtocolMode(request.params),\n\t\t\t\t};\n\t\t\tcase \"model/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listModels(request.params),\n\t\t\t\t};\n\t\t\tcase \"modelProvider/capabilities/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readModelProviderCapabilities(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/check\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.checkPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"requirements/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listRequirements(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/fetch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.fetchNetwork(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/audit/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listNetworkAudit(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/probe\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.probeSandbox(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/check/run\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.runSandboxCheck(request.params),\n\t\t\t\t};\n\t\t\tcase \"externalAgent/import\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.importExternalAgent(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listPluginBundles(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/install\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.installPluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.removePluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"daemon/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDaemonStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/heartbeat\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.heartbeatRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/drain\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.drainRemoteControl(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.execCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/write\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeCommandStdin(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/terminate\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.terminateCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/writeFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/getMetadata\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/createDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.createDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.remove(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/copy\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.copy(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/watch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.watch(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/unwatch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unwatch(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listThreads(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tthread: await api.readThread(request.params),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tcase \"thread/metadata/update\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.updateThreadMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/name/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadName(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/get\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/clear\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.clearThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/start\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.startThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/fork\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.forkThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/archive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.archiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/unarchive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unarchiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/delete\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.deleteThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/turns/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listTurns(request.params),\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t} catch (error) {\n\t\tif (\n\t\t\terror instanceof MaestroAppServerError ||\n\t\t\terror instanceof MaestroAppServerHostControlError ||\n\t\t\terror instanceof MaestroAppServerNetworkGovernanceError ||\n\t\t\terror instanceof MaestroAppServerPolicyControlError ||\n\t\t\terror instanceof MaestroAppServerSandboxCheckError ||\n\t\t\terror instanceof MaestroAppServerExternalAgentImportError ||\n\t\t\terror instanceof MaestroAppServerPluginBundleError ||\n\t\t\terror instanceof MaestroAppServerDaemonLifecycleError ||\n\t\t\terror instanceof MaestroAppServerProtocolModesError\n\t\t) {\n\t\t\treturn {\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid,\n\t\t\t\terror: {\n\t\t\t\t\tcode: error.code,\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tid,\n\t\t\terror: {\n\t\t\t\tcode: -32603,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t},\n\t\t};\n\t}\n}\n"]}
@@ -125,17 +125,17 @@ export declare function queryAuditLogs(filters: {
125
125
  limit?: number;
126
126
  offset?: number;
127
127
  }): Promise<{
128
- status: "error" | "denied" | "success" | "failure";
128
+ status: "error" | "success" | "denied" | "failure";
129
129
  id: string;
130
130
  metadata: AuditMetadata | null;
131
131
  action: string;
132
- userId: string | null;
133
- sessionId: string | null;
132
+ createdAt: Date;
134
133
  traceId: string | null;
135
134
  requestId: string | null;
136
- durationMs: number | null;
137
- createdAt: Date;
135
+ sessionId: string | null;
138
136
  orgId: string;
137
+ userId: string | null;
138
+ durationMs: number | null;
139
139
  resourceId: string | null;
140
140
  resourceType: string | null;
141
141
  ipAddress: string | null;
@@ -12,6 +12,8 @@ export interface Args {
12
12
  port?: number;
13
13
  continue?: boolean;
14
14
  resume?: boolean;
15
+ /** Create/reuse a git worktree for interactive native TUI (Grok-style). */
16
+ worktree?: boolean | string;
15
17
  help?: boolean;
16
18
  helpHidden?: boolean;
17
19
  version?: boolean;