@evalops/maestro 0.10.50 → 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 (1825) hide show
  1. package/README.md +1 -3
  2. package/dist/agent/agent-outcome.d.ts +54 -0
  3. package/dist/agent/agent-outcome.d.ts.map +1 -0
  4. package/dist/agent/agent-outcome.js +142 -0
  5. package/dist/agent/agent-outcome.js.map +1 -0
  6. package/dist/agent/agent-resume.d.ts.map +1 -1
  7. package/dist/agent/agent-resume.js +3 -3
  8. package/dist/agent/agent-resume.js.map +1 -1
  9. package/dist/agent/agent-run-summary.d.ts +37 -0
  10. package/dist/agent/agent-run-summary.d.ts.map +1 -0
  11. package/dist/agent/agent-run-summary.js +15 -0
  12. package/dist/agent/agent-run-summary.js.map +1 -0
  13. package/dist/agent/agent-work-board.d.ts +82 -0
  14. package/dist/agent/agent-work-board.d.ts.map +1 -0
  15. package/dist/agent/agent-work-board.js +312 -0
  16. package/dist/agent/agent-work-board.js.map +1 -0
  17. package/dist/agent/agent.d.ts.map +1 -1
  18. package/dist/agent/agent.js.map +1 -1
  19. package/dist/agent/auto-compaction.d.ts +7 -2
  20. package/dist/agent/auto-compaction.d.ts.map +1 -1
  21. package/dist/agent/auto-compaction.js +23 -10
  22. package/dist/agent/auto-compaction.js.map +1 -1
  23. package/dist/agent/compaction.d.ts.map +1 -1
  24. package/dist/agent/compaction.js +1 -1
  25. package/dist/agent/compaction.js.map +1 -1
  26. package/dist/agent/context-handoff.d.ts.map +1 -1
  27. package/dist/agent/context-handoff.js +2 -1
  28. package/dist/agent/context-handoff.js.map +1 -1
  29. package/dist/agent/index.d.ts +8 -1
  30. package/dist/agent/index.d.ts.map +1 -1
  31. package/dist/agent/index.js +8 -1
  32. package/dist/agent/index.js.map +1 -1
  33. package/dist/agent/mission-artifacts.d.ts +62 -0
  34. package/dist/agent/mission-artifacts.d.ts.map +1 -0
  35. package/dist/agent/mission-artifacts.js +438 -0
  36. package/dist/agent/mission-artifacts.js.map +1 -0
  37. package/dist/agent/mission-manifest.d.ts +139 -3
  38. package/dist/agent/mission-manifest.d.ts.map +1 -1
  39. package/dist/agent/mission-manifest.js +549 -3
  40. package/dist/agent/mission-manifest.js.map +1 -1
  41. package/dist/agent/mission-store.d.ts +80 -0
  42. package/dist/agent/mission-store.d.ts.map +1 -0
  43. package/dist/agent/mission-store.js +603 -0
  44. package/dist/agent/mission-store.js.map +1 -0
  45. package/dist/agent/modes.d.ts +3 -3
  46. package/dist/agent/modes.d.ts.map +1 -1
  47. package/dist/agent/modes.js +66 -3
  48. package/dist/agent/modes.js.map +1 -1
  49. package/dist/agent/oracle-consultation-policy.d.ts +22 -0
  50. package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
  51. package/dist/agent/oracle-consultation-policy.js +72 -0
  52. package/dist/agent/oracle-consultation-policy.js.map +1 -0
  53. package/dist/agent/oracle-policy-experiment.d.ts +27 -0
  54. package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
  55. package/dist/agent/oracle-policy-experiment.js +59 -0
  56. package/dist/agent/oracle-policy-experiment.js.map +1 -0
  57. package/dist/agent/oracle-policy-rollout.d.ts +42 -0
  58. package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
  59. package/dist/agent/oracle-policy-rollout.js +80 -0
  60. package/dist/agent/oracle-policy-rollout.js.map +1 -0
  61. package/dist/agent/plugin-agent-api.d.ts +13 -0
  62. package/dist/agent/plugin-agent-api.d.ts.map +1 -0
  63. package/dist/agent/plugin-agent-api.js +11 -0
  64. package/dist/agent/plugin-agent-api.js.map +1 -0
  65. package/dist/agent/plugin-agent-loader.d.ts +17 -0
  66. package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
  67. package/dist/agent/plugin-agent-loader.js +81 -0
  68. package/dist/agent/plugin-agent-loader.js.map +1 -0
  69. package/dist/agent/plugin-agent-registry.d.ts +62 -0
  70. package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
  71. package/dist/agent/plugin-agent-registry.js +109 -0
  72. package/dist/agent/plugin-agent-registry.js.map +1 -0
  73. package/dist/agent/profile-loader.d.ts +7 -0
  74. package/dist/agent/profile-loader.d.ts.map +1 -0
  75. package/dist/agent/profile-loader.js +115 -0
  76. package/dist/agent/profile-loader.js.map +1 -0
  77. package/dist/agent/profiles.d.ts +30 -0
  78. package/dist/agent/profiles.d.ts.map +1 -0
  79. package/dist/agent/profiles.js +146 -0
  80. package/dist/agent/profiles.js.map +1 -0
  81. package/dist/agent/prompt-cache.d.ts +0 -4
  82. package/dist/agent/prompt-cache.d.ts.map +1 -1
  83. package/dist/agent/prompt-cache.js +1 -7
  84. package/dist/agent/prompt-cache.js.map +1 -1
  85. package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
  86. package/dist/agent/providers/codex-app-server.js +1 -3
  87. package/dist/agent/providers/codex-app-server.js.map +1 -1
  88. package/dist/agent/providers/google-gemini-cli.js +204 -107
  89. package/dist/agent/providers/google.js +101 -41
  90. package/dist/agent/providers/scripted.d.ts.map +1 -1
  91. package/dist/agent/providers/scripted.js +1 -3
  92. package/dist/agent/providers/scripted.js.map +1 -1
  93. package/dist/agent/providers/validation.d.ts.map +1 -1
  94. package/dist/agent/providers/validation.js +1 -3
  95. package/dist/agent/providers/validation.js.map +1 -1
  96. package/dist/agent/providers/vertex.js +204 -107
  97. package/dist/agent/routing-receipt.d.ts +34 -0
  98. package/dist/agent/routing-receipt.d.ts.map +1 -0
  99. package/dist/agent/routing-receipt.js +55 -0
  100. package/dist/agent/routing-receipt.js.map +1 -0
  101. package/dist/agent/skill-artifact-metadata.d.ts +14 -0
  102. package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
  103. package/dist/agent/skill-artifact-metadata.js +49 -0
  104. package/dist/agent/skill-artifact-metadata.js.map +1 -0
  105. package/dist/agent/snapshot-store.d.ts +32 -0
  106. package/dist/agent/snapshot-store.d.ts.map +1 -0
  107. package/dist/agent/snapshot-store.js +195 -0
  108. package/dist/agent/snapshot-store.js.map +1 -0
  109. package/dist/agent/specialist-profiles.d.ts +36 -0
  110. package/dist/agent/specialist-profiles.d.ts.map +1 -0
  111. package/dist/agent/specialist-profiles.js +159 -0
  112. package/dist/agent/specialist-profiles.js.map +1 -0
  113. package/dist/agent/subagent-specs.d.ts +5 -2
  114. package/dist/agent/subagent-specs.d.ts.map +1 -1
  115. package/dist/agent/subagent-specs.js +83 -10
  116. package/dist/agent/subagent-specs.js.map +1 -1
  117. package/dist/agent/swarm/coverage-gate.d.ts +37 -0
  118. package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
  119. package/dist/agent/swarm/coverage-gate.js +48 -0
  120. package/dist/agent/swarm/coverage-gate.js.map +1 -0
  121. package/dist/agent/swarm/executor.d.ts +1 -0
  122. package/dist/agent/swarm/executor.d.ts.map +1 -1
  123. package/dist/agent/swarm/executor.js +151 -15
  124. package/dist/agent/swarm/executor.js.map +1 -1
  125. package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
  126. package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
  127. package/dist/agent/swarm/orchestrator-prompt.js +48 -0
  128. package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
  129. package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
  130. package/dist/agent/swarm/plan-parser.js +27 -2
  131. package/dist/agent/swarm/plan-parser.js.map +1 -1
  132. package/dist/agent/swarm/types.d.ts +17 -0
  133. package/dist/agent/swarm/types.d.ts.map +1 -1
  134. package/dist/agent/swarm/types.js.map +1 -1
  135. package/dist/agent/swarm/validation-directive.d.ts +21 -0
  136. package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
  137. package/dist/agent/swarm/validation-directive.js +25 -0
  138. package/dist/agent/swarm/validation-directive.js.map +1 -0
  139. package/dist/agent/token-counter.d.ts +40 -0
  140. package/dist/agent/token-counter.d.ts.map +1 -0
  141. package/dist/agent/token-counter.js +74 -0
  142. package/dist/agent/token-counter.js.map +1 -0
  143. package/dist/agent/transport/events.d.ts +1 -1
  144. package/dist/agent/transport/events.d.ts.map +1 -1
  145. package/dist/agent/transport/events.js +1 -1
  146. package/dist/agent/transport/events.js.map +1 -1
  147. package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
  148. package/dist/agent/transport/tool-execution-bridge.js +4 -1
  149. package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
  150. package/dist/agent/types.d.ts +4 -2
  151. package/dist/agent/types.d.ts.map +1 -1
  152. package/dist/agent/types.js.map +1 -1
  153. package/dist/api/enterprise-routes.d.ts.map +1 -1
  154. package/dist/api/enterprise-routes.js +87 -10
  155. package/dist/api/enterprise-routes.js.map +1 -1
  156. package/dist/api/org-settings-merge.d.ts +12 -0
  157. package/dist/api/org-settings-merge.d.ts.map +1 -0
  158. package/dist/api/org-settings-merge.js +38 -0
  159. package/dist/api/org-settings-merge.js.map +1 -0
  160. package/dist/api/user-settings-merge.d.ts +16 -0
  161. package/dist/api/user-settings-merge.d.ts.map +1 -0
  162. package/dist/api/user-settings-merge.js +37 -0
  163. package/dist/api/user-settings-merge.js.map +1 -0
  164. package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
  165. package/dist/app-server/daemon-lifecycle-api.js +1 -3
  166. package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
  167. package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
  168. package/dist/app-server/external-agent-import-api.js +1 -3
  169. package/dist/app-server/external-agent-import-api.js.map +1 -1
  170. package/dist/app-server/network-governance-api.d.ts.map +1 -1
  171. package/dist/app-server/network-governance-api.js +1 -3
  172. package/dist/app-server/network-governance-api.js.map +1 -1
  173. package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
  174. package/dist/app-server/plugin-bundle-api.js +2 -3
  175. package/dist/app-server/plugin-bundle-api.js.map +1 -1
  176. package/dist/app-server/policy-control-api.d.ts.map +1 -1
  177. package/dist/app-server/policy-control-api.js +1 -3
  178. package/dist/app-server/policy-control-api.js.map +1 -1
  179. package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
  180. package/dist/app-server/protocol-modes-api.js +1 -3
  181. package/dist/app-server/protocol-modes-api.js.map +1 -1
  182. package/dist/app-server/session-api.d.ts.map +1 -1
  183. package/dist/app-server/session-api.js +15 -2
  184. package/dist/app-server/session-api.js.map +1 -1
  185. package/dist/audit/logger.d.ts +5 -5
  186. package/dist/cli/args.d.ts +4 -0
  187. package/dist/cli/args.d.ts.map +1 -1
  188. package/dist/cli/args.js +33 -1
  189. package/dist/cli/args.js.map +1 -1
  190. package/dist/cli/commands/a2a.d.ts.map +1 -1
  191. package/dist/cli/commands/a2a.js +1 -3
  192. package/dist/cli/commands/a2a.js.map +1 -1
  193. package/dist/cli/commands/mission.d.ts +4 -0
  194. package/dist/cli/commands/mission.d.ts.map +1 -0
  195. package/dist/cli/commands/mission.js +196 -0
  196. package/dist/cli/commands/mission.js.map +1 -0
  197. package/dist/cli/commands/value.d.ts +10 -0
  198. package/dist/cli/commands/value.d.ts.map +1 -0
  199. package/dist/cli/commands/value.js +33 -0
  200. package/dist/cli/commands/value.js.map +1 -0
  201. package/dist/cli/direct-runtime-command.d.ts +1 -0
  202. package/dist/cli/direct-runtime-command.d.ts.map +1 -1
  203. package/dist/cli/direct-runtime-command.js +25 -3
  204. package/dist/cli/direct-runtime-command.js.map +1 -1
  205. package/dist/cli/headless-protocol.d.ts.map +1 -1
  206. package/dist/cli/headless-protocol.js +1 -3
  207. package/dist/cli/headless-protocol.js.map +1 -1
  208. package/dist/cli/headless.d.ts +3 -19
  209. package/dist/cli/headless.d.ts.map +1 -1
  210. package/dist/cli/headless.js +8 -619
  211. package/dist/cli/headless.js.map +1 -1
  212. package/dist/cli/help.d.ts.map +1 -1
  213. package/dist/cli/help.js +13 -0
  214. package/dist/cli/help.js.map +1 -1
  215. package/dist/cli/native-tui-launcher.d.ts +126 -0
  216. package/dist/cli/native-tui-launcher.d.ts.map +1 -0
  217. package/dist/cli/native-tui-launcher.js +425 -0
  218. package/dist/cli/native-tui-launcher.js.map +1 -0
  219. package/dist/cli/rpc-mode.d.ts +3 -27
  220. package/dist/cli/rpc-mode.d.ts.map +1 -1
  221. package/dist/cli/rpc-mode.js +8 -177
  222. package/dist/cli/rpc-mode.js.map +1 -1
  223. package/dist/cli/session.d.ts +11 -19
  224. package/dist/cli/session.d.ts.map +1 -1
  225. package/dist/cli/session.js +6 -64
  226. package/dist/cli/session.js.map +1 -1
  227. package/dist/cli/system-prompt.d.ts.map +1 -1
  228. package/dist/cli/system-prompt.js +38 -7
  229. package/dist/cli/system-prompt.js.map +1 -1
  230. package/dist/cli-command-runtime.d.ts.map +1 -1
  231. package/dist/cli-command-runtime.js +26 -24
  232. package/dist/cli-command-runtime.js.map +1 -1
  233. package/dist/cli-runtime.js +41729 -121859
  234. package/dist/codex/app-server-client.d.ts.map +1 -1
  235. package/dist/codex/app-server-client.js +1 -3
  236. package/dist/codex/app-server-client.js.map +1 -1
  237. package/dist/codex/compatibility.d.ts.map +1 -1
  238. package/dist/codex/compatibility.js +1 -3
  239. package/dist/codex/compatibility.js.map +1 -1
  240. package/dist/codex/subagent-dispatch-table.d.ts +8 -0
  241. package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
  242. package/dist/codex/subagent-dispatch-table.js +23 -0
  243. package/dist/codex/subagent-dispatch-table.js.map +1 -1
  244. package/dist/config/env-vars.d.ts +12 -0
  245. package/dist/config/env-vars.d.ts.map +1 -1
  246. package/dist/config/env-vars.js +12 -0
  247. package/dist/config/env-vars.js.map +1 -1
  248. package/dist/config/ui-state.d.ts +32 -0
  249. package/dist/config/ui-state.d.ts.map +1 -0
  250. package/dist/config/ui-state.js +88 -0
  251. package/dist/config/ui-state.js.map +1 -0
  252. package/dist/context/manifest.d.ts.map +1 -1
  253. package/dist/context/manifest.js +1 -3
  254. package/dist/context/manifest.js.map +1 -1
  255. package/dist/context/repo-map.d.ts.map +1 -1
  256. package/dist/context/repo-map.js +1 -7
  257. package/dist/context/repo-map.js.map +1 -1
  258. package/dist/context/token-optimizer.d.ts.map +1 -1
  259. package/dist/context/token-optimizer.js +1 -8
  260. package/dist/context/token-optimizer.js.map +1 -1
  261. package/dist/conversation/render-model.d.ts +0 -36
  262. package/dist/conversation/render-model.d.ts.map +1 -1
  263. package/dist/conversation/render-model.js +1 -3
  264. package/dist/conversation/render-model.js.map +1 -1
  265. package/dist/customer-value/ambient-learning.d.ts +75 -0
  266. package/dist/customer-value/ambient-learning.d.ts.map +1 -0
  267. package/dist/customer-value/ambient-learning.js +472 -0
  268. package/dist/customer-value/ambient-learning.js.map +1 -0
  269. package/dist/customer-value/internal-helpers.d.ts +13 -0
  270. package/dist/customer-value/internal-helpers.d.ts.map +1 -0
  271. package/dist/customer-value/internal-helpers.js +70 -0
  272. package/dist/customer-value/internal-helpers.js.map +1 -0
  273. package/dist/customer-value/report.d.ts +282 -0
  274. package/dist/customer-value/report.d.ts.map +1 -0
  275. package/dist/customer-value/report.js +2085 -0
  276. package/dist/customer-value/report.js.map +1 -0
  277. package/dist/db/schema.d.ts +7 -3
  278. package/dist/db/schema.d.ts.map +1 -1
  279. package/dist/db/schema.js.map +1 -1
  280. package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
  281. package/dist/evalops/agent-bootstrap.js +1 -3
  282. package/dist/evalops/agent-bootstrap.js.map +1 -1
  283. package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
  284. package/dist/evalops/agent-mcp-metadata.js +1 -3
  285. package/dist/evalops/agent-mcp-metadata.js.map +1 -1
  286. package/dist/hooks/notification-hooks.d.ts +1 -1
  287. package/dist/hooks/notification-hooks.d.ts.map +1 -1
  288. package/dist/hooks/notification-hooks.js.map +1 -1
  289. package/dist/hooks/tui-surface.d.ts +35 -0
  290. package/dist/hooks/tui-surface.d.ts.map +1 -0
  291. package/dist/hooks/tui-surface.js +11 -0
  292. package/dist/hooks/tui-surface.js.map +1 -0
  293. package/dist/hooks/types.d.ts +2 -1
  294. package/dist/hooks/types.d.ts.map +1 -1
  295. package/dist/hooks/types.js.map +1 -1
  296. package/dist/hooks/typescript-loader.d.ts.map +1 -1
  297. package/dist/hooks/typescript-loader.js.map +1 -1
  298. package/dist/hooks/ui-context.d.ts.map +1 -1
  299. package/dist/hooks/ui-context.js.map +1 -1
  300. package/dist/index.d.ts +1 -0
  301. package/dist/index.d.ts.map +1 -1
  302. package/dist/index.js +1 -0
  303. package/dist/index.js.map +1 -1
  304. package/dist/installers/maestro-review-workflow.d.ts +38 -0
  305. package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
  306. package/dist/installers/maestro-review-workflow.js +163 -0
  307. package/dist/installers/maestro-review-workflow.js.map +1 -0
  308. package/dist/load-env.d.ts.map +1 -1
  309. package/dist/load-env.js +2 -1
  310. package/dist/load-env.js.map +1 -1
  311. package/dist/main.d.ts.map +1 -1
  312. package/dist/main.js +201 -840
  313. package/dist/main.js.map +1 -1
  314. package/dist/mcp/config.d.ts.map +1 -1
  315. package/dist/mcp/config.js +1 -3
  316. package/dist/mcp/config.js.map +1 -1
  317. package/dist/mcp/elicitation.d.ts.map +1 -1
  318. package/dist/mcp/elicitation.js +1 -3
  319. package/dist/mcp/elicitation.js.map +1 -1
  320. package/dist/mcp/official-registry.d.ts.map +1 -1
  321. package/dist/mcp/official-registry.js +1 -3
  322. package/dist/mcp/official-registry.js.map +1 -1
  323. package/dist/mcp/workspace-trust.d.ts.map +1 -1
  324. package/dist/mcp/workspace-trust.js +1 -3
  325. package/dist/mcp/workspace-trust.js.map +1 -1
  326. package/dist/memory/service-client.d.ts.map +1 -1
  327. package/dist/memory/service-client.js +1 -3
  328. package/dist/memory/service-client.js.map +1 -1
  329. package/dist/models/config-loader.d.ts +5 -5
  330. package/dist/models/config-loader.d.ts.map +1 -1
  331. package/dist/models/config-loader.js +1 -3
  332. package/dist/models/config-loader.js.map +1 -1
  333. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +46 -0
  334. package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  335. package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
  336. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  337. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
  338. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
  339. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
  340. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
  341. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
  342. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
  343. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
  344. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
  345. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
  346. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
  347. package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
  348. package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
  349. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
  350. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
  351. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
  352. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
  353. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  354. package/dist/oauth/connectors.d.ts.map +1 -1
  355. package/dist/oauth/connectors.js +1 -3
  356. package/dist/oauth/connectors.js.map +1 -1
  357. package/dist/oauth/evalops.d.ts.map +1 -1
  358. package/dist/oauth/evalops.js +1 -3
  359. package/dist/oauth/evalops.js.map +1 -1
  360. package/dist/packages/discovery.d.ts.map +1 -1
  361. package/dist/packages/discovery.js +1 -0
  362. package/dist/packages/discovery.js.map +1 -1
  363. package/dist/packages/inspection.d.ts.map +1 -1
  364. package/dist/packages/inspection.js +7 -1
  365. package/dist/packages/inspection.js.map +1 -1
  366. package/dist/packages/loader.d.ts.map +1 -1
  367. package/dist/packages/loader.js +8 -1
  368. package/dist/packages/loader.js.map +1 -1
  369. package/dist/packages/runtime.d.ts +1 -0
  370. package/dist/packages/runtime.d.ts.map +1 -1
  371. package/dist/packages/runtime.js +9 -1
  372. package/dist/packages/runtime.js.map +1 -1
  373. package/dist/packages/types.d.ts +6 -0
  374. package/dist/packages/types.d.ts.map +1 -1
  375. package/dist/packages/types.js.map +1 -1
  376. package/dist/platform/a2a-client.d.ts.map +1 -1
  377. package/dist/platform/a2a-client.js +1 -3
  378. package/dist/platform/a2a-client.js.map +1 -1
  379. package/dist/platform/a2a-cockpit.d.ts +1 -0
  380. package/dist/platform/a2a-cockpit.d.ts.map +1 -1
  381. package/dist/platform/a2a-cockpit.js +42 -11
  382. package/dist/platform/a2a-cockpit.js.map +1 -1
  383. package/dist/platform/a2a-completion-audit.d.ts +1 -1
  384. package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
  385. package/dist/platform/a2a-completion-audit.js +7 -11
  386. package/dist/platform/a2a-completion-audit.js.map +1 -1
  387. package/dist/platform/a2a-maestro-peer.js +16 -0
  388. package/dist/platform/a2a-maestro-peer.js.map +1 -1
  389. package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
  390. package/dist/platform/a2a-peer-pairing.js +1 -3
  391. package/dist/platform/a2a-peer-pairing.js.map +1 -1
  392. package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
  393. package/dist/platform/a2a-peer-registry.js +1 -3
  394. package/dist/platform/a2a-peer-registry.js.map +1 -1
  395. package/dist/platform/a2a-task-ledger.d.ts +20 -0
  396. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  397. package/dist/platform/a2a-task-ledger.js +207 -11
  398. package/dist/platform/a2a-task-ledger.js.map +1 -1
  399. package/dist/platform/a2a-work-graph.d.ts.map +1 -1
  400. package/dist/platform/a2a-work-graph.js +1 -3
  401. package/dist/platform/a2a-work-graph.js.map +1 -1
  402. package/dist/platform/operating-layer.d.ts.map +1 -1
  403. package/dist/platform/operating-layer.js +14 -8
  404. package/dist/platform/operating-layer.js.map +1 -1
  405. package/dist/platform/tool-execution-client.d.ts.map +1 -1
  406. package/dist/platform/tool-execution-client.js +19 -2
  407. package/dist/platform/tool-execution-client.js.map +1 -1
  408. package/dist/providers/auth.d.ts.map +1 -1
  409. package/dist/providers/auth.js +1 -3
  410. package/dist/providers/auth.js.map +1 -1
  411. package/dist/runtime/agent-runtime.d.ts +22 -6
  412. package/dist/runtime/agent-runtime.d.ts.map +1 -1
  413. package/dist/runtime/agent-runtime.js +1 -1
  414. package/dist/runtime/agent-runtime.js.map +1 -1
  415. package/dist/runtime/env.d.ts +10 -1
  416. package/dist/runtime/env.d.ts.map +1 -1
  417. package/dist/runtime/env.js +64 -1
  418. package/dist/runtime/env.js.map +1 -1
  419. package/dist/runtime/prompt-queue.d.ts.map +1 -0
  420. package/dist/runtime/prompt-queue.js.map +1 -0
  421. package/dist/safety/policy.d.ts.map +1 -1
  422. package/dist/safety/policy.js +1 -4
  423. package/dist/safety/policy.js.map +1 -1
  424. package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
  425. package/dist/sandbox/docker-sandbox.js +6 -1
  426. package/dist/sandbox/docker-sandbox.js.map +1 -1
  427. package/dist/server/handlers/chat-ws.d.ts +2 -1
  428. package/dist/server/handlers/chat-ws.d.ts.map +1 -1
  429. package/dist/server/handlers/chat-ws.js +150 -5
  430. package/dist/server/handlers/chat-ws.js.map +1 -1
  431. package/dist/server/handlers/chat.d.ts.map +1 -1
  432. package/dist/server/handlers/chat.js +78 -5
  433. package/dist/server/handlers/chat.js.map +1 -1
  434. package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
  435. package/dist/server/handlers/hosted-runner-drain.js +1 -3
  436. package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
  437. package/dist/server/handlers/package.d.ts.map +1 -1
  438. package/dist/server/handlers/package.js +1 -0
  439. package/dist/server/handlers/package.js.map +1 -1
  440. package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
  441. package/dist/server/handlers/platform-a2a-push.js +53 -2
  442. package/dist/server/handlers/platform-a2a-push.js.map +1 -1
  443. package/dist/server/handlers/queue.js +1 -1
  444. package/dist/server/handlers/queue.js.map +1 -1
  445. package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
  446. package/dist/server/handlers/runtime-app-server-ws.js +1 -3
  447. package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
  448. package/dist/server/handlers/ui.js +1 -1
  449. package/dist/server/handlers/ui.js.map +1 -1
  450. package/dist/server/handlers/zen.js +1 -1
  451. package/dist/server/handlers/zen.js.map +1 -1
  452. package/dist/server/headless-runtime-service.d.ts +16 -0
  453. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  454. package/dist/server/headless-runtime-service.js +232 -206
  455. package/dist/server/headless-runtime-service.js.map +1 -1
  456. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  457. package/dist/server/hosted-agent-runtime-progress.js +12 -3
  458. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  459. package/dist/server/hosted-session-manager.d.ts +3 -0
  460. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  461. package/dist/server/hosted-session-manager.js +26 -0
  462. package/dist/server/hosted-session-manager.js.map +1 -1
  463. package/dist/server/model-selection.d.ts +1 -0
  464. package/dist/server/model-selection.d.ts.map +1 -1
  465. package/dist/server/model-selection.js +4 -0
  466. package/dist/server/model-selection.js.map +1 -1
  467. package/dist/server/pending-request-payload.d.ts.map +1 -1
  468. package/dist/server/pending-request-payload.js +1 -3
  469. package/dist/server/pending-request-payload.js.map +1 -1
  470. package/dist/server/route-auth.d.ts.map +1 -1
  471. package/dist/server/route-auth.js +2 -0
  472. package/dist/server/route-auth.js.map +1 -1
  473. package/dist/server/session-serialization.d.ts.map +1 -1
  474. package/dist/server/session-serialization.js +4 -3
  475. package/dist/server/session-serialization.js.map +1 -1
  476. package/dist/server/session-timeline.d.ts.map +1 -1
  477. package/dist/server/session-timeline.js +1 -1
  478. package/dist/server/session-timeline.js.map +1 -1
  479. package/dist/server/sse-session.d.ts +2 -0
  480. package/dist/server/sse-session.d.ts.map +1 -1
  481. package/dist/server/sse-session.js +3 -0
  482. package/dist/server/sse-session.js.map +1 -1
  483. package/dist/server/stores/ui-store.d.ts +1 -1
  484. package/dist/server/stores/ui-store.d.ts.map +1 -1
  485. package/dist/server/stores/ui-store.js.map +1 -1
  486. package/dist/server/utils/token-estimator.d.ts +2 -2
  487. package/dist/server/utils/token-estimator.d.ts.map +1 -1
  488. package/dist/server/utils/token-estimator.js +2 -12
  489. package/dist/server/utils/token-estimator.js.map +1 -1
  490. package/dist/server/validation.d.ts +54 -0
  491. package/dist/server/validation.d.ts.map +1 -1
  492. package/dist/services/compliance/normalize.d.ts.map +1 -1
  493. package/dist/services/compliance/normalize.js +1 -3
  494. package/dist/services/compliance/normalize.js.map +1 -1
  495. package/dist/services/image-providers/cost.d.ts +70 -0
  496. package/dist/services/image-providers/cost.d.ts.map +1 -0
  497. package/dist/services/image-providers/cost.js +164 -0
  498. package/dist/services/image-providers/cost.js.map +1 -0
  499. package/dist/services/image-providers/flux.d.ts +40 -0
  500. package/dist/services/image-providers/flux.d.ts.map +1 -0
  501. package/dist/services/image-providers/flux.js +99 -0
  502. package/dist/services/image-providers/flux.js.map +1 -0
  503. package/dist/services/image-providers/index.d.ts +24 -0
  504. package/dist/services/image-providers/index.d.ts.map +1 -0
  505. package/dist/services/image-providers/index.js +27 -0
  506. package/dist/services/image-providers/index.js.map +1 -0
  507. package/dist/services/image-providers/masks.d.ts +51 -0
  508. package/dist/services/image-providers/masks.d.ts.map +1 -0
  509. package/dist/services/image-providers/masks.js +132 -0
  510. package/dist/services/image-providers/masks.js.map +1 -0
  511. package/dist/services/image-providers/openai.d.ts +35 -0
  512. package/dist/services/image-providers/openai.d.ts.map +1 -0
  513. package/dist/services/image-providers/openai.js +93 -0
  514. package/dist/services/image-providers/openai.js.map +1 -0
  515. package/dist/services/image-providers/types.d.ts +61 -0
  516. package/dist/services/image-providers/types.d.ts.map +1 -0
  517. package/dist/services/image-providers/types.js +17 -0
  518. package/dist/services/image-providers/types.js.map +1 -0
  519. package/dist/services/intelligent-router/index.d.ts +1 -0
  520. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  521. package/dist/services/intelligent-router/index.js +1 -0
  522. package/dist/services/intelligent-router/index.js.map +1 -1
  523. package/dist/services/intelligent-router/normalize.d.ts +1 -0
  524. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  525. package/dist/services/intelligent-router/normalize.js +18 -3
  526. package/dist/services/intelligent-router/normalize.js.map +1 -1
  527. package/dist/services/intelligent-router/outcome.d.ts +19 -0
  528. package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
  529. package/dist/services/intelligent-router/outcome.js +51 -0
  530. package/dist/services/intelligent-router/outcome.js.map +1 -0
  531. package/dist/services/intelligent-router/recorder.d.ts +2 -0
  532. package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
  533. package/dist/services/intelligent-router/recorder.js +72 -1
  534. package/dist/services/intelligent-router/recorder.js.map +1 -1
  535. package/dist/services/intelligent-router/service.d.ts +1 -0
  536. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  537. package/dist/services/intelligent-router/service.js +60 -11
  538. package/dist/services/intelligent-router/service.js.map +1 -1
  539. package/dist/services/intelligent-router/types.d.ts +18 -0
  540. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  541. package/dist/services/intelligent-router/types.js.map +1 -1
  542. package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
  543. package/dist/services/revenue-attribution/normalize.js +1 -3
  544. package/dist/services/revenue-attribution/normalize.js.map +1 -1
  545. package/dist/services/traces/normalize.d.ts.map +1 -1
  546. package/dist/services/traces/normalize.js +1 -3
  547. package/dist/services/traces/normalize.js.map +1 -1
  548. package/dist/services/workspace-config/middleware.d.ts +2 -0
  549. package/dist/services/workspace-config/middleware.d.ts.map +1 -1
  550. package/dist/services/workspace-config/middleware.js +25 -28
  551. package/dist/services/workspace-config/middleware.js.map +1 -1
  552. package/dist/services/workspace-config/normalize.d.ts.map +1 -1
  553. package/dist/services/workspace-config/normalize.js +1 -3
  554. package/dist/services/workspace-config/normalize.js.map +1 -1
  555. package/dist/session/agent-lineage-projection.d.ts +30 -0
  556. package/dist/session/agent-lineage-projection.d.ts.map +1 -0
  557. package/dist/session/agent-lineage-projection.js +109 -0
  558. package/dist/session/agent-lineage-projection.js.map +1 -0
  559. package/dist/session/manager.d.ts +3 -0
  560. package/dist/session/manager.d.ts.map +1 -1
  561. package/dist/session/manager.js +24 -0
  562. package/dist/session/manager.js.map +1 -1
  563. package/dist/session/session-graph-projection.d.ts +11 -0
  564. package/dist/session/session-graph-projection.d.ts.map +1 -1
  565. package/dist/session/session-graph-projection.js +28 -0
  566. package/dist/session/session-graph-projection.js.map +1 -1
  567. package/dist/session/types.d.ts +2 -0
  568. package/dist/session/types.d.ts.map +1 -1
  569. package/dist/session/types.js.map +1 -1
  570. package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
  571. package/dist/telemetry/agent-workforce-native-event.js +1 -3
  572. package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
  573. package/dist/telemetry/maestro-event-bus.d.ts +1 -1
  574. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  575. package/dist/telemetry/maestro-event-bus.js +42 -81
  576. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  577. package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
  578. package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
  579. package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
  580. package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
  581. package/dist/telemetry/oracle-policy.d.ts +6 -0
  582. package/dist/telemetry/oracle-policy.d.ts.map +1 -0
  583. package/dist/telemetry/oracle-policy.js +17 -0
  584. package/dist/telemetry/oracle-policy.js.map +1 -0
  585. package/dist/telemetry/wide-events.d.ts +1 -1
  586. package/dist/telemetry/wide-events.d.ts.map +1 -1
  587. package/dist/telemetry/wide-events.js.map +1 -1
  588. package/dist/telemetry.d.ts.map +1 -1
  589. package/dist/telemetry.js +54 -43
  590. package/dist/telemetry.js.map +1 -1
  591. package/dist/theme/theme-loader.d.ts.map +1 -1
  592. package/dist/theme/theme-loader.js +1 -3
  593. package/dist/theme/theme-loader.js.map +1 -1
  594. package/dist/theme/theme.d.ts +2 -8
  595. package/dist/theme/theme.d.ts.map +1 -1
  596. package/dist/theme/theme.js +7 -0
  597. package/dist/theme/theme.js.map +1 -1
  598. package/dist/theme/tui-theme-helpers.d.ts +2 -1
  599. package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
  600. package/dist/theme/tui-theme-helpers.js.map +1 -1
  601. package/dist/theme/tui-theme-types.d.ts +39 -0
  602. package/dist/theme/tui-theme-types.d.ts.map +1 -0
  603. package/dist/theme/tui-theme-types.js +10 -0
  604. package/dist/theme/tui-theme-types.js.map +1 -0
  605. package/dist/tools/apply-patch.d.ts.map +1 -1
  606. package/dist/tools/apply-patch.js +76 -8
  607. package/dist/tools/apply-patch.js.map +1 -1
  608. package/dist/tools/diff-preview.d.ts.map +1 -1
  609. package/dist/tools/diff-preview.js +10 -1
  610. package/dist/tools/diff-preview.js.map +1 -1
  611. package/dist/tools/edit.d.ts.map +1 -1
  612. package/dist/tools/edit.js +17 -0
  613. package/dist/tools/edit.js.map +1 -1
  614. package/dist/tools/index.d.ts +199 -160
  615. package/dist/tools/index.d.ts.map +1 -1
  616. package/dist/tools/index.js +4 -0
  617. package/dist/tools/index.js.map +1 -1
  618. package/dist/tools/lazy-registry.d.ts.map +1 -1
  619. package/dist/tools/lazy-registry.js +1 -0
  620. package/dist/tools/lazy-registry.js.map +1 -1
  621. package/dist/tools/oracle.d.ts +9 -0
  622. package/dist/tools/oracle.d.ts.map +1 -1
  623. package/dist/tools/oracle.js +26 -24
  624. package/dist/tools/oracle.js.map +1 -1
  625. package/dist/tools/painter.d.ts +73 -0
  626. package/dist/tools/painter.d.ts.map +1 -0
  627. package/dist/tools/painter.js +283 -0
  628. package/dist/tools/painter.js.map +1 -0
  629. package/dist/tools/typebox-tool.d.ts.map +1 -1
  630. package/dist/tools/typebox-tool.js +1 -1
  631. package/dist/tools/typebox-tool.js.map +1 -1
  632. package/dist/tools/write.d.ts.map +1 -1
  633. package/dist/tools/write.js +9 -0
  634. package/dist/tools/write.js.map +1 -1
  635. package/dist/undo/tracker.d.ts +5 -0
  636. package/dist/undo/tracker.d.ts.map +1 -1
  637. package/dist/undo/tracker.js +13 -0
  638. package/dist/undo/tracker.js.map +1 -1
  639. package/dist/utils/fs.d.ts +1 -1
  640. package/dist/utils/fs.d.ts.map +1 -1
  641. package/dist/utils/fs.js +29 -2
  642. package/dist/utils/fs.js.map +1 -1
  643. package/dist/utils/git-stash.d.ts.map +1 -1
  644. package/dist/utils/git-stash.js +15 -8
  645. package/dist/utils/git-stash.js.map +1 -1
  646. package/dist/utils/json.d.ts +11 -0
  647. package/dist/utils/json.d.ts.map +1 -1
  648. package/dist/utils/json.js +9 -0
  649. package/dist/utils/json.js.map +1 -1
  650. package/dist/utils/shell-env.d.ts.map +1 -1
  651. package/dist/utils/shell-env.js +2 -0
  652. package/dist/utils/shell-env.js.map +1 -1
  653. package/dist/utils/terminal-image.d.ts +52 -0
  654. package/dist/utils/terminal-image.d.ts.map +1 -0
  655. package/dist/utils/terminal-image.js +95 -0
  656. package/dist/utils/terminal-image.js.map +1 -0
  657. package/dist/utils/terminal-text.d.ts +11 -0
  658. package/dist/utils/terminal-text.d.ts.map +1 -0
  659. package/dist/utils/terminal-text.js +21 -0
  660. package/dist/utils/terminal-text.js.map +1 -0
  661. package/dist/utils/url-extractor-git.d.ts +26 -0
  662. package/dist/utils/url-extractor-git.d.ts.map +1 -0
  663. package/dist/utils/url-extractor-git.js +259 -0
  664. package/dist/utils/url-extractor-git.js.map +1 -0
  665. package/dist/utils/url-extractor.d.ts.map +1 -1
  666. package/dist/utils/url-extractor.js +23 -251
  667. package/dist/utils/url-extractor.js.map +1 -1
  668. package/dist/version.json +2 -2
  669. package/dist/web-server.d.ts.map +1 -1
  670. package/dist/web-server.js +24 -2
  671. package/dist/web-server.js.map +1 -1
  672. package/package.json +312 -306
  673. package/skills/incident-triage/SKILL.md +20 -1
  674. package/skills/install-code-review/SKILL.md +69 -0
  675. package/skills/security-review/SKILL.md +68 -0
  676. package/skills/security-review/reference/rubric.md +85 -0
  677. package/dist/cli/commands/agents.d.ts +0 -20
  678. package/dist/cli/commands/agents.d.ts.map +0 -1
  679. package/dist/cli/commands/agents.js +0 -280
  680. package/dist/cli/commands/agents.js.map +0 -1
  681. package/dist/cli/commands/anthropic.d.ts +0 -2
  682. package/dist/cli/commands/anthropic.d.ts.map +0 -1
  683. package/dist/cli/commands/anthropic.js +0 -6
  684. package/dist/cli/commands/anthropic.js.map +0 -1
  685. package/dist/cli/commands/cost.d.ts +0 -13
  686. package/dist/cli/commands/cost.d.ts.map +0 -1
  687. package/dist/cli/commands/cost.js +0 -143
  688. package/dist/cli/commands/cost.js.map +0 -1
  689. package/dist/cli/commands/exec-constants.d.ts +0 -3
  690. package/dist/cli/commands/exec-constants.d.ts.map +0 -1
  691. package/dist/cli/commands/exec-constants.js +0 -3
  692. package/dist/cli/commands/exec-constants.js.map +0 -1
  693. package/dist/cli/commands/exec.d.ts +0 -19
  694. package/dist/cli/commands/exec.d.ts.map +0 -1
  695. package/dist/cli/commands/exec.js +0 -207
  696. package/dist/cli/commands/exec.js.map +0 -1
  697. package/dist/cli/commands/hooks.d.ts +0 -2
  698. package/dist/cli/commands/hooks.d.ts.map +0 -1
  699. package/dist/cli/commands/hooks.js +0 -25
  700. package/dist/cli/commands/hooks.js.map +0 -1
  701. package/dist/cli/commands/hosted-runner.d.ts +0 -25
  702. package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
  703. package/dist/cli/commands/hosted-runner.js +0 -278
  704. package/dist/cli/commands/hosted-runner.js.map +0 -1
  705. package/dist/cli/commands/memory.d.ts +0 -2
  706. package/dist/cli/commands/memory.d.ts.map +0 -1
  707. package/dist/cli/commands/memory.js +0 -208
  708. package/dist/cli/commands/memory.js.map +0 -1
  709. package/dist/cli/commands/models.d.ts +0 -3
  710. package/dist/cli/commands/models.d.ts.map +0 -1
  711. package/dist/cli/commands/models.js +0 -154
  712. package/dist/cli/commands/models.js.map +0 -1
  713. package/dist/cli/commands/modes.d.ts +0 -8
  714. package/dist/cli/commands/modes.d.ts.map +0 -1
  715. package/dist/cli/commands/modes.js +0 -151
  716. package/dist/cli/commands/modes.js.map +0 -1
  717. package/dist/cli/commands/openai.d.ts +0 -2
  718. package/dist/cli/commands/openai.d.ts.map +0 -1
  719. package/dist/cli/commands/openai.js +0 -116
  720. package/dist/cli/commands/openai.js.map +0 -1
  721. package/dist/cli/commands/session-transfer.d.ts +0 -5
  722. package/dist/cli/commands/session-transfer.d.ts.map +0 -1
  723. package/dist/cli/commands/session-transfer.js +0 -43
  724. package/dist/cli/commands/session-transfer.js.map +0 -1
  725. package/dist/cli/commands/sessions.d.ts +0 -8
  726. package/dist/cli/commands/sessions.d.ts.map +0 -1
  727. package/dist/cli/commands/sessions.js +0 -152
  728. package/dist/cli/commands/sessions.js.map +0 -1
  729. package/dist/cli/commands/skill.d.ts +0 -10
  730. package/dist/cli/commands/skill.d.ts.map +0 -1
  731. package/dist/cli/commands/skill.js +0 -303
  732. package/dist/cli/commands/skill.js.map +0 -1
  733. package/dist/cli/commands/stats.d.ts +0 -7
  734. package/dist/cli/commands/stats.d.ts.map +0 -1
  735. package/dist/cli/commands/stats.js +0 -167
  736. package/dist/cli/commands/stats.js.map +0 -1
  737. package/dist/cli/commands/status.d.ts +0 -2
  738. package/dist/cli/commands/status.d.ts.map +0 -1
  739. package/dist/cli/commands/status.js +0 -11
  740. package/dist/cli/commands/status.js.map +0 -1
  741. package/dist/cli/commands/update.d.ts +0 -12
  742. package/dist/cli/commands/update.d.ts.map +0 -1
  743. package/dist/cli/commands/update.js +0 -148
  744. package/dist/cli/commands/update.js.map +0 -1
  745. package/dist/cli-tui/about-view.d.ts +0 -48
  746. package/dist/cli-tui/about-view.d.ts.map +0 -1
  747. package/dist/cli-tui/about-view.js +0 -206
  748. package/dist/cli-tui/about-view.js.map +0 -1
  749. package/dist/cli-tui/agent-event-router.d.ts +0 -28
  750. package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
  751. package/dist/cli-tui/agent-event-router.js +0 -126
  752. package/dist/cli-tui/agent-event-router.js.map +0 -1
  753. package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
  754. package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
  755. package/dist/cli-tui/approval/approval-controller.js +0 -99
  756. package/dist/cli-tui/approval/approval-controller.js.map +0 -1
  757. package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
  758. package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
  759. package/dist/cli-tui/approval/approval-modal.js +0 -143
  760. package/dist/cli-tui/approval/approval-modal.js.map +0 -1
  761. package/dist/cli-tui/assistant-message.d.ts +0 -41
  762. package/dist/cli-tui/assistant-message.d.ts.map +0 -1
  763. package/dist/cli-tui/assistant-message.js +0 -236
  764. package/dist/cli-tui/assistant-message.js.map +0 -1
  765. package/dist/cli-tui/auth-state.d.ts +0 -7
  766. package/dist/cli-tui/auth-state.d.ts.map +0 -1
  767. package/dist/cli-tui/auth-state.js +0 -46
  768. package/dist/cli-tui/auth-state.js.map +0 -1
  769. package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
  770. package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
  771. package/dist/cli-tui/background/background-tasks-controller.js +0 -84
  772. package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
  773. package/dist/cli-tui/base-view.d.ts +0 -111
  774. package/dist/cli-tui/base-view.d.ts.map +0 -1
  775. package/dist/cli-tui/base-view.js +0 -145
  776. package/dist/cli-tui/base-view.js.map +0 -1
  777. package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
  778. package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
  779. package/dist/cli-tui/bash/background-launcher.js +0 -50
  780. package/dist/cli-tui/bash/background-launcher.js.map +0 -1
  781. package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
  782. package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
  783. package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
  784. package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
  785. package/dist/cli-tui/bash/bash-history.d.ts +0 -21
  786. package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
  787. package/dist/cli-tui/bash/bash-history.js +0 -72
  788. package/dist/cli-tui/bash/bash-history.js.map +0 -1
  789. package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
  790. package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
  791. package/dist/cli-tui/bash/bash-syntax.js +0 -176
  792. package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
  793. package/dist/cli-tui/bash/index.d.ts +0 -4
  794. package/dist/cli-tui/bash/index.d.ts.map +0 -1
  795. package/dist/cli-tui/bash/index.js +0 -4
  796. package/dist/cli-tui/bash/index.js.map +0 -1
  797. package/dist/cli-tui/bash-mode-view.d.ts +0 -86
  798. package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
  799. package/dist/cli-tui/bash-mode-view.js +0 -560
  800. package/dist/cli-tui/bash-mode-view.js.map +0 -1
  801. package/dist/cli-tui/bash-shell-block.d.ts +0 -50
  802. package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
  803. package/dist/cli-tui/bash-shell-block.js +0 -119
  804. package/dist/cli-tui/bash-shell-block.js.map +0 -1
  805. package/dist/cli-tui/changelog-view.d.ts +0 -13
  806. package/dist/cli-tui/changelog-view.d.ts.map +0 -1
  807. package/dist/cli-tui/changelog-view.js +0 -34
  808. package/dist/cli-tui/changelog-view.js.map +0 -1
  809. package/dist/cli-tui/clean-mode.d.ts +0 -13
  810. package/dist/cli-tui/clean-mode.d.ts.map +0 -1
  811. package/dist/cli-tui/clean-mode.js +0 -32
  812. package/dist/cli-tui/clean-mode.js.map +0 -1
  813. package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
  814. package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
  815. package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
  816. package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
  817. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
  818. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
  819. package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
  820. package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
  821. package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
  822. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
  823. package/dist/cli-tui/commands/a2a-handlers.js +0 -215
  824. package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
  825. package/dist/cli-tui/commands/access-command.d.ts +0 -3
  826. package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
  827. package/dist/cli-tui/commands/access-command.js +0 -89
  828. package/dist/cli-tui/commands/access-command.js.map +0 -1
  829. package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
  830. package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
  831. package/dist/cli-tui/commands/argument-parser.js +0 -135
  832. package/dist/cli-tui/commands/argument-parser.js.map +0 -1
  833. package/dist/cli-tui/commands/audit-command.d.ts +0 -5
  834. package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
  835. package/dist/cli-tui/commands/audit-command.js +0 -35
  836. package/dist/cli-tui/commands/audit-command.js.map +0 -1
  837. package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
  838. package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
  839. package/dist/cli-tui/commands/background-handlers.js +0 -115
  840. package/dist/cli-tui/commands/background-handlers.js.map +0 -1
  841. package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
  842. package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
  843. package/dist/cli-tui/commands/command-catalog.js +0 -666
  844. package/dist/cli-tui/commands/command-catalog.js.map +0 -1
  845. package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
  846. package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
  847. package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
  848. package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
  849. package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
  850. package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
  851. package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
  852. package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
  853. package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
  854. package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
  855. package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
  856. package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
  857. package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
  858. package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
  859. package/dist/cli-tui/commands/composer-handlers.js +0 -90
  860. package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
  861. package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
  862. package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
  863. package/dist/cli-tui/commands/framework-handlers.js +0 -57
  864. package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
  865. package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
  866. package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
  867. package/dist/cli-tui/commands/guardian-handlers.js +0 -48
  868. package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
  869. package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
  870. package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
  871. package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
  872. package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
  873. package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
  874. package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
  875. package/dist/cli-tui/commands/hotkeys-command.js +0 -61
  876. package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
  877. package/dist/cli-tui/commands/limits-command.d.ts +0 -3
  878. package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
  879. package/dist/cli-tui/commands/limits-command.js +0 -88
  880. package/dist/cli-tui/commands/limits-command.js.map +0 -1
  881. package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
  882. package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
  883. package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
  884. package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
  885. package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
  886. package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
  887. package/dist/cli-tui/commands/memory-handlers.js +0 -414
  888. package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
  889. package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
  890. package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
  891. package/dist/cli-tui/commands/otel-handlers.js +0 -20
  892. package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
  893. package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
  894. package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
  895. package/dist/cli-tui/commands/package-handlers.js +0 -499
  896. package/dist/cli-tui/commands/package-handlers.js.map +0 -1
  897. package/dist/cli-tui/commands/pii-command.d.ts +0 -3
  898. package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
  899. package/dist/cli-tui/commands/pii-command.js +0 -54
  900. package/dist/cli-tui/commands/pii-command.js.map +0 -1
  901. package/dist/cli-tui/commands/registry.d.ts +0 -3
  902. package/dist/cli-tui/commands/registry.d.ts.map +0 -1
  903. package/dist/cli-tui/commands/registry.js +0 -36
  904. package/dist/cli-tui/commands/registry.js.map +0 -1
  905. package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
  906. package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
  907. package/dist/cli-tui/commands/safety-handlers.js +0 -62
  908. package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
  909. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
  910. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
  911. package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
  912. package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
  913. package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
  914. package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
  915. package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
  916. package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
  917. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
  918. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
  919. package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
  920. package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
  921. package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
  922. package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
  923. package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
  924. package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
  925. package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
  926. package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
  927. package/dist/cli-tui/commands/subcommands/index.js +0 -18
  928. package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
  929. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
  930. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
  931. package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
  932. package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
  933. package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
  934. package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
  935. package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
  936. package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
  937. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
  938. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
  939. package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
  940. package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
  941. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
  942. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
  943. package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
  944. package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
  945. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
  946. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
  947. package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
  948. package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
  949. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
  950. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
  951. package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
  952. package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
  953. package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
  954. package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
  955. package/dist/cli-tui/commands/subcommands/utils.js +0 -395
  956. package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
  957. package/dist/cli-tui/commands/types.d.ts +0 -105
  958. package/dist/cli-tui/commands/types.d.ts.map +0 -1
  959. package/dist/cli-tui/commands/types.js +0 -2
  960. package/dist/cli-tui/commands/types.js.map +0 -1
  961. package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
  962. package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
  963. package/dist/cli-tui/commands/undo-handlers.js +0 -300
  964. package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
  965. package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
  966. package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
  967. package/dist/cli-tui/commands/utility-handlers.js +0 -137
  968. package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
  969. package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
  970. package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
  971. package/dist/cli-tui/commands/workflow-handlers.js +0 -227
  972. package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
  973. package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
  974. package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
  975. package/dist/cli-tui/compact-boundary-message.js +0 -18
  976. package/dist/cli-tui/compact-boundary-message.js.map +0 -1
  977. package/dist/cli-tui/compaction-recovery.d.ts +0 -6
  978. package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
  979. package/dist/cli-tui/compaction-recovery.js +0 -13
  980. package/dist/cli-tui/compaction-recovery.js.map +0 -1
  981. package/dist/cli-tui/config-view.d.ts +0 -30
  982. package/dist/cli-tui/config-view.d.ts.map +0 -1
  983. package/dist/cli-tui/config-view.js +0 -255
  984. package/dist/cli-tui/config-view.js.map +0 -1
  985. package/dist/cli-tui/context-view.d.ts +0 -20
  986. package/dist/cli-tui/context-view.d.ts.map +0 -1
  987. package/dist/cli-tui/context-view.js +0 -191
  988. package/dist/cli-tui/context-view.js.map +0 -1
  989. package/dist/cli-tui/custom-editor.d.ts +0 -25
  990. package/dist/cli-tui/custom-editor.d.ts.map +0 -1
  991. package/dist/cli-tui/custom-editor.js +0 -241
  992. package/dist/cli-tui/custom-editor.js.map +0 -1
  993. package/dist/cli-tui/editor-view.d.ts +0 -34
  994. package/dist/cli-tui/editor-view.d.ts.map +0 -1
  995. package/dist/cli-tui/editor-view.js +0 -102
  996. package/dist/cli-tui/editor-view.js.map +0 -1
  997. package/dist/cli-tui/feedback-view.d.ts +0 -35
  998. package/dist/cli-tui/feedback-view.d.ts.map +0 -1
  999. package/dist/cli-tui/feedback-view.js +0 -271
  1000. package/dist/cli-tui/feedback-view.js.map +0 -1
  1001. package/dist/cli-tui/footer.d.ts +0 -56
  1002. package/dist/cli-tui/footer.d.ts.map +0 -1
  1003. package/dist/cli-tui/footer.js +0 -228
  1004. package/dist/cli-tui/footer.js.map +0 -1
  1005. package/dist/cli-tui/git/commit-modal.d.ts +0 -14
  1006. package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
  1007. package/dist/cli-tui/git/commit-modal.js +0 -56
  1008. package/dist/cli-tui/git/commit-modal.js.map +0 -1
  1009. package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
  1010. package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
  1011. package/dist/cli-tui/git/git-preview-modal.js +0 -123
  1012. package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
  1013. package/dist/cli-tui/git/git-view.d.ts +0 -65
  1014. package/dist/cli-tui/git/git-view.d.ts.map +0 -1
  1015. package/dist/cli-tui/git/git-view.js +0 -529
  1016. package/dist/cli-tui/git/git-view.js.map +0 -1
  1017. package/dist/cli-tui/history/history-config.d.ts +0 -7
  1018. package/dist/cli-tui/history/history-config.d.ts.map +0 -1
  1019. package/dist/cli-tui/history/history-config.js +0 -49
  1020. package/dist/cli-tui/history/history-config.js.map +0 -1
  1021. package/dist/cli-tui/history/prompt-history.d.ts +0 -33
  1022. package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
  1023. package/dist/cli-tui/history/prompt-history.js +0 -185
  1024. package/dist/cli-tui/history/prompt-history.js.map +0 -1
  1025. package/dist/cli-tui/history/tool-history.d.ts +0 -50
  1026. package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
  1027. package/dist/cli-tui/history/tool-history.js +0 -253
  1028. package/dist/cli-tui/history/tool-history.js.map +0 -1
  1029. package/dist/cli-tui/hook-message.d.ts +0 -13
  1030. package/dist/cli-tui/hook-message.d.ts.map +0 -1
  1031. package/dist/cli-tui/hook-message.js +0 -56
  1032. package/dist/cli-tui/hook-message.js.map +0 -1
  1033. package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
  1034. package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
  1035. package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
  1036. package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
  1037. package/dist/cli-tui/hotkeys-view.d.ts +0 -13
  1038. package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
  1039. package/dist/cli-tui/hotkeys-view.js +0 -96
  1040. package/dist/cli-tui/hotkeys-view.js.map +0 -1
  1041. package/dist/cli-tui/import-view.d.ts +0 -28
  1042. package/dist/cli-tui/import-view.d.ts.map +0 -1
  1043. package/dist/cli-tui/import-view.js +0 -184
  1044. package/dist/cli-tui/import-view.js.map +0 -1
  1045. package/dist/cli-tui/info-view.d.ts +0 -18
  1046. package/dist/cli-tui/info-view.d.ts.map +0 -1
  1047. package/dist/cli-tui/info-view.js +0 -107
  1048. package/dist/cli-tui/info-view.js.map +0 -1
  1049. package/dist/cli-tui/instruction-panel.d.ts +0 -11
  1050. package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
  1051. package/dist/cli-tui/instruction-panel.js +0 -86
  1052. package/dist/cli-tui/instruction-panel.js.map +0 -1
  1053. package/dist/cli-tui/interrupt-controller.d.ts +0 -78
  1054. package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
  1055. package/dist/cli-tui/interrupt-controller.js +0 -104
  1056. package/dist/cli-tui/interrupt-controller.js.map +0 -1
  1057. package/dist/cli-tui/keybindings-config.d.ts +0 -27
  1058. package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
  1059. package/dist/cli-tui/keybindings-config.js +0 -372
  1060. package/dist/cli-tui/keybindings-config.js.map +0 -1
  1061. package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
  1062. package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
  1063. package/dist/cli-tui/keybindings-watcher.js +0 -56
  1064. package/dist/cli-tui/keybindings-watcher.js.map +0 -1
  1065. package/dist/cli-tui/keybindings.d.ts +0 -13
  1066. package/dist/cli-tui/keybindings.d.ts.map +0 -1
  1067. package/dist/cli-tui/keybindings.js +0 -223
  1068. package/dist/cli-tui/keybindings.js.map +0 -1
  1069. package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
  1070. package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
  1071. package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
  1072. package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
  1073. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
  1074. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
  1075. package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
  1076. package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
  1077. package/dist/cli-tui/loader/loader-view.d.ts +0 -41
  1078. package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
  1079. package/dist/cli-tui/loader/loader-view.js +0 -162
  1080. package/dist/cli-tui/loader/loader-view.js.map +0 -1
  1081. package/dist/cli-tui/lsp-view.d.ts +0 -21
  1082. package/dist/cli-tui/lsp-view.d.ts.map +0 -1
  1083. package/dist/cli-tui/lsp-view.js +0 -183
  1084. package/dist/cli-tui/lsp-view.js.map +0 -1
  1085. package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
  1086. package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
  1087. package/dist/cli-tui/mermaid-renderer.js +0 -391
  1088. package/dist/cli-tui/mermaid-renderer.js.map +0 -1
  1089. package/dist/cli-tui/message-view.d.ts +0 -27
  1090. package/dist/cli-tui/message-view.d.ts.map +0 -1
  1091. package/dist/cli-tui/message-view.js +0 -169
  1092. package/dist/cli-tui/message-view.js.map +0 -1
  1093. package/dist/cli-tui/modal-manager.d.ts +0 -77
  1094. package/dist/cli-tui/modal-manager.d.ts.map +0 -1
  1095. package/dist/cli-tui/modal-manager.js +0 -131
  1096. package/dist/cli-tui/modal-manager.js.map +0 -1
  1097. package/dist/cli-tui/notification-view.d.ts +0 -16
  1098. package/dist/cli-tui/notification-view.d.ts.map +0 -1
  1099. package/dist/cli-tui/notification-view.js +0 -53
  1100. package/dist/cli-tui/notification-view.js.map +0 -1
  1101. package/dist/cli-tui/oauth/index.d.ts +0 -2
  1102. package/dist/cli-tui/oauth/index.d.ts.map +0 -1
  1103. package/dist/cli-tui/oauth/index.js +0 -2
  1104. package/dist/cli-tui/oauth/index.js.map +0 -1
  1105. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
  1106. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
  1107. package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
  1108. package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
  1109. package/dist/cli-tui/ollama-view.d.ts +0 -38
  1110. package/dist/cli-tui/ollama-view.d.ts.map +0 -1
  1111. package/dist/cli-tui/ollama-view.js +0 -395
  1112. package/dist/cli-tui/ollama-view.js.map +0 -1
  1113. package/dist/cli-tui/paste/index.d.ts +0 -2
  1114. package/dist/cli-tui/paste/index.d.ts.map +0 -1
  1115. package/dist/cli-tui/paste/index.js +0 -2
  1116. package/dist/cli-tui/paste/index.js.map +0 -1
  1117. package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
  1118. package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
  1119. package/dist/cli-tui/paste/paste-handler.js +0 -128
  1120. package/dist/cli-tui/paste/paste-handler.js.map +0 -1
  1121. package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
  1122. package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
  1123. package/dist/cli-tui/plan/plan-controller.js +0 -66
  1124. package/dist/cli-tui/plan/plan-controller.js.map +0 -1
  1125. package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
  1126. package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
  1127. package/dist/cli-tui/plan-panel-modal.js +0 -193
  1128. package/dist/cli-tui/plan-panel-modal.js.map +0 -1
  1129. package/dist/cli-tui/plan-view.d.ts +0 -57
  1130. package/dist/cli-tui/plan-view.d.ts.map +0 -1
  1131. package/dist/cli-tui/plan-view.js +0 -404
  1132. package/dist/cli-tui/plan-view.js.map +0 -1
  1133. package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
  1134. package/dist/cli-tui/prompt-queue.js.map +0 -1
  1135. package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
  1136. package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
  1137. package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
  1138. package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
  1139. package/dist/cli-tui/queue/index.d.ts +0 -3
  1140. package/dist/cli-tui/queue/index.d.ts.map +0 -1
  1141. package/dist/cli-tui/queue/index.js +0 -3
  1142. package/dist/cli-tui/queue/index.js.map +0 -1
  1143. package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
  1144. package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
  1145. package/dist/cli-tui/queue/queue-controller.js +0 -327
  1146. package/dist/cli-tui/queue/queue-controller.js.map +0 -1
  1147. package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
  1148. package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
  1149. package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
  1150. package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
  1151. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
  1152. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
  1153. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
  1154. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
  1155. package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
  1156. package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
  1157. package/dist/cli-tui/queue-panel-modal.js +0 -159
  1158. package/dist/cli-tui/queue-panel-modal.js.map +0 -1
  1159. package/dist/cli-tui/run/run-command-view.d.ts +0 -17
  1160. package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
  1161. package/dist/cli-tui/run/run-command-view.js +0 -62
  1162. package/dist/cli-tui/run/run-command-view.js.map +0 -1
  1163. package/dist/cli-tui/run/run-controller.d.ts +0 -24
  1164. package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
  1165. package/dist/cli-tui/run/run-controller.js +0 -38
  1166. package/dist/cli-tui/run/run-controller.js.map +0 -1
  1167. package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
  1168. package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
  1169. package/dist/cli-tui/run/run-shell-command.js +0 -51
  1170. package/dist/cli-tui/run/run-shell-command.js.map +0 -1
  1171. package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
  1172. package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
  1173. package/dist/cli-tui/run/streaming-shell-command.js +0 -107
  1174. package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
  1175. package/dist/cli-tui/search/file-search-view.d.ts +0 -22
  1176. package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
  1177. package/dist/cli-tui/search/file-search-view.js +0 -68
  1178. package/dist/cli-tui/search/file-search-view.js.map +0 -1
  1179. package/dist/cli-tui/search/file-search.d.ts +0 -13
  1180. package/dist/cli-tui/search/file-search.d.ts.map +0 -1
  1181. package/dist/cli-tui/search/file-search.js +0 -52
  1182. package/dist/cli-tui/search/file-search.js.map +0 -1
  1183. package/dist/cli-tui/security-status.d.ts +0 -83
  1184. package/dist/cli-tui/security-status.d.ts.map +0 -1
  1185. package/dist/cli-tui/security-status.js +0 -214
  1186. package/dist/cli-tui/security-status.js.map +0 -1
  1187. package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
  1188. package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
  1189. package/dist/cli-tui/selectors/base-selector.js +0 -47
  1190. package/dist/cli-tui/selectors/base-selector.js.map +0 -1
  1191. package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
  1192. package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
  1193. package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
  1194. package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
  1195. package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
  1196. package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
  1197. package/dist/cli-tui/selectors/model-selector-view.js +0 -31
  1198. package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
  1199. package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
  1200. package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
  1201. package/dist/cli-tui/selectors/model-selector.js +0 -218
  1202. package/dist/cli-tui/selectors/model-selector.js.map +0 -1
  1203. package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
  1204. package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
  1205. package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
  1206. package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
  1207. package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
  1208. package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
  1209. package/dist/cli-tui/selectors/oauth-selector.js +0 -120
  1210. package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
  1211. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
  1212. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
  1213. package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
  1214. package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
  1215. package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
  1216. package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
  1217. package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
  1218. package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
  1219. package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
  1220. package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
  1221. package/dist/cli-tui/selectors/report-selector-view.js +0 -29
  1222. package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
  1223. package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
  1224. package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
  1225. package/dist/cli-tui/selectors/report-selector.js +0 -31
  1226. package/dist/cli-tui/selectors/report-selector.js.map +0 -1
  1227. package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
  1228. package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
  1229. package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
  1230. package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
  1231. package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
  1232. package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
  1233. package/dist/cli-tui/selectors/theme-selector.js +0 -46
  1234. package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
  1235. package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
  1236. package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
  1237. package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
  1238. package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
  1239. package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
  1240. package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
  1241. package/dist/cli-tui/selectors/thinking-selector.js +0 -47
  1242. package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
  1243. package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
  1244. package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
  1245. package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
  1246. package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
  1247. package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
  1248. package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
  1249. package/dist/cli-tui/selectors/tree-selector.js +0 -194
  1250. package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
  1251. package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
  1252. package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
  1253. package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
  1254. package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
  1255. package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
  1256. package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
  1257. package/dist/cli-tui/selectors/user-message-selector.js +0 -114
  1258. package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
  1259. package/dist/cli-tui/session/branch-controller.d.ts +0 -65
  1260. package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
  1261. package/dist/cli-tui/session/branch-controller.js +0 -125
  1262. package/dist/cli-tui/session/branch-controller.js.map +0 -1
  1263. package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
  1264. package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
  1265. package/dist/cli-tui/session/conversation-compactor.js +0 -77
  1266. package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
  1267. package/dist/cli-tui/session/session-context.d.ts +0 -59
  1268. package/dist/cli-tui/session/session-context.d.ts.map +0 -1
  1269. package/dist/cli-tui/session/session-context.js +0 -79
  1270. package/dist/cli-tui/session/session-context.js.map +0 -1
  1271. package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
  1272. package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
  1273. package/dist/cli-tui/session/session-data-provider.js +0 -22
  1274. package/dist/cli-tui/session/session-data-provider.js.map +0 -1
  1275. package/dist/cli-tui/session/session-list.d.ts +0 -18
  1276. package/dist/cli-tui/session/session-list.d.ts.map +0 -1
  1277. package/dist/cli-tui/session/session-list.js +0 -103
  1278. package/dist/cli-tui/session/session-list.js.map +0 -1
  1279. package/dist/cli-tui/session/session-selector.d.ts +0 -12
  1280. package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
  1281. package/dist/cli-tui/session/session-selector.js +0 -37
  1282. package/dist/cli-tui/session/session-selector.js.map +0 -1
  1283. package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
  1284. package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
  1285. package/dist/cli-tui/session/session-summary-controller.js +0 -96
  1286. package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
  1287. package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
  1288. package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
  1289. package/dist/cli-tui/session/session-switcher-view.js +0 -43
  1290. package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
  1291. package/dist/cli-tui/session/session-switcher.d.ts +0 -38
  1292. package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
  1293. package/dist/cli-tui/session/session-switcher.js +0 -204
  1294. package/dist/cli-tui/session/session-switcher.js.map +0 -1
  1295. package/dist/cli-tui/session/session-view.d.ts +0 -46
  1296. package/dist/cli-tui/session/session-view.d.ts.map +0 -1
  1297. package/dist/cli-tui/session/session-view.js +0 -311
  1298. package/dist/cli-tui/session/session-view.js.map +0 -1
  1299. package/dist/cli-tui/slash/index.d.ts +0 -2
  1300. package/dist/cli-tui/slash/index.d.ts.map +0 -1
  1301. package/dist/cli-tui/slash/index.js +0 -2
  1302. package/dist/cli-tui/slash/index.js.map +0 -1
  1303. package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
  1304. package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
  1305. package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
  1306. package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
  1307. package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
  1308. package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
  1309. package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
  1310. package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
  1311. package/dist/cli-tui/startup-announcements.d.ts +0 -15
  1312. package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
  1313. package/dist/cli-tui/startup-announcements.js +0 -75
  1314. package/dist/cli-tui/startup-announcements.js.map +0 -1
  1315. package/dist/cli-tui/status/cost-view.d.ts +0 -27
  1316. package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
  1317. package/dist/cli-tui/status/cost-view.js +0 -212
  1318. package/dist/cli-tui/status/cost-view.js.map +0 -1
  1319. package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
  1320. package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
  1321. package/dist/cli-tui/status/diagnostics-templates.js +0 -167
  1322. package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
  1323. package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
  1324. package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
  1325. package/dist/cli-tui/status/diagnostics-view.js +0 -249
  1326. package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
  1327. package/dist/cli-tui/status/diagnostics.d.ts +0 -39
  1328. package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
  1329. package/dist/cli-tui/status/diagnostics.js +0 -286
  1330. package/dist/cli-tui/status/diagnostics.js.map +0 -1
  1331. package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
  1332. package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
  1333. package/dist/cli-tui/status/health-snapshot.js +0 -28
  1334. package/dist/cli-tui/status/health-snapshot.js.map +0 -1
  1335. package/dist/cli-tui/status/quota-view.d.ts +0 -37
  1336. package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
  1337. package/dist/cli-tui/status/quota-view.js +0 -309
  1338. package/dist/cli-tui/status/quota-view.js.map +0 -1
  1339. package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
  1340. package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
  1341. package/dist/cli-tui/status/telemetry-view.js +0 -77
  1342. package/dist/cli-tui/status/telemetry-view.js.map +0 -1
  1343. package/dist/cli-tui/status/training-view.d.ts +0 -23
  1344. package/dist/cli-tui/status/training-view.d.ts.map +0 -1
  1345. package/dist/cli-tui/status/training-view.js +0 -71
  1346. package/dist/cli-tui/status/training-view.js.map +0 -1
  1347. package/dist/cli-tui/streaming-view.d.ts +0 -43
  1348. package/dist/cli-tui/streaming-view.d.ts.map +0 -1
  1349. package/dist/cli-tui/streaming-view.js +0 -176
  1350. package/dist/cli-tui/streaming-view.js.map +0 -1
  1351. package/dist/cli-tui/terminal/index.d.ts +0 -2
  1352. package/dist/cli-tui/terminal/index.d.ts.map +0 -1
  1353. package/dist/cli-tui/terminal/index.js +0 -2
  1354. package/dist/cli-tui/terminal/index.js.map +0 -1
  1355. package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
  1356. package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
  1357. package/dist/cli-tui/terminal/terminal-utils.js +0 -145
  1358. package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
  1359. package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
  1360. package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
  1361. package/dist/cli-tui/tips/tip-scheduler.js +0 -135
  1362. package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
  1363. package/dist/cli-tui/tool-execution.d.ts +0 -76
  1364. package/dist/cli-tui/tool-execution.d.ts.map +0 -1
  1365. package/dist/cli-tui/tool-execution.js +0 -217
  1366. package/dist/cli-tui/tool-execution.js.map +0 -1
  1367. package/dist/cli-tui/tool-output-view.d.ts +0 -22
  1368. package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
  1369. package/dist/cli-tui/tool-output-view.js +0 -71
  1370. package/dist/cli-tui/tool-output-view.js.map +0 -1
  1371. package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
  1372. package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
  1373. package/dist/cli-tui/tool-renderers/index.js +0 -19
  1374. package/dist/cli-tui/tool-renderers/index.js.map +0 -1
  1375. package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
  1376. package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
  1377. package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
  1378. package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
  1379. package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
  1380. package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
  1381. package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
  1382. package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
  1383. package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
  1384. package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
  1385. package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
  1386. package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
  1387. package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
  1388. package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
  1389. package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
  1390. package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
  1391. package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
  1392. package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
  1393. package/dist/cli-tui/tool-renderers/render-read.js +0 -108
  1394. package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
  1395. package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
  1396. package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
  1397. package/dist/cli-tui/tool-renderers/render-style.js +0 -51
  1398. package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
  1399. package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
  1400. package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
  1401. package/dist/cli-tui/tool-renderers/render-write.js +0 -60
  1402. package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
  1403. package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
  1404. package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
  1405. package/dist/cli-tui/tool-renderers/types.js +0 -2
  1406. package/dist/cli-tui/tool-renderers/types.js.map +0 -1
  1407. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
  1408. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
  1409. package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
  1410. package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
  1411. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
  1412. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
  1413. package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
  1414. package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
  1415. package/dist/cli-tui/tool-status-view.d.ts +0 -32
  1416. package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
  1417. package/dist/cli-tui/tool-status-view.js +0 -86
  1418. package/dist/cli-tui/tool-status-view.js.map +0 -1
  1419. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
  1420. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
  1421. package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
  1422. package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
  1423. package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
  1424. package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
  1425. package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
  1426. package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
  1427. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
  1428. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
  1429. package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
  1430. package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
  1431. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
  1432. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
  1433. package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
  1434. package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
  1435. package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
  1436. package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
  1437. package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
  1438. package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
  1439. package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
  1440. package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
  1441. package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
  1442. package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
  1443. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
  1444. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
  1445. package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
  1446. package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
  1447. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
  1448. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
  1449. package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
  1450. package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
  1451. package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
  1452. package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
  1453. package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
  1454. package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
  1455. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
  1456. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
  1457. package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
  1458. package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
  1459. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
  1460. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
  1461. package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
  1462. package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
  1463. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
  1464. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
  1465. package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
  1466. package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
  1467. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
  1468. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
  1469. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
  1470. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
  1471. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
  1472. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
  1473. package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
  1474. package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
  1475. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
  1476. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
  1477. package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
  1478. package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
  1479. package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
  1480. package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
  1481. package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
  1482. package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
  1483. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
  1484. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
  1485. package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
  1486. package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
  1487. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
  1488. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
  1489. package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
  1490. package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
  1491. package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
  1492. package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
  1493. package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
  1494. package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
  1495. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
  1496. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
  1497. package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
  1498. package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
  1499. package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
  1500. package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
  1501. package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
  1502. package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
  1503. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
  1504. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
  1505. package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
  1506. package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
  1507. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
  1508. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
  1509. package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
  1510. package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
  1511. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
  1512. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
  1513. package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
  1514. package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
  1515. package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
  1516. package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
  1517. package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
  1518. package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
  1519. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
  1520. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
  1521. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
  1522. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
  1523. package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
  1524. package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
  1525. package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
  1526. package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
  1527. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
  1528. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
  1529. package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
  1530. package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
  1531. package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
  1532. package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
  1533. package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
  1534. package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
  1535. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
  1536. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
  1537. package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
  1538. package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
  1539. package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
  1540. package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
  1541. package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
  1542. package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
  1543. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
  1544. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
  1545. package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
  1546. package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
  1547. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
  1548. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
  1549. package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
  1550. package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
  1551. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
  1552. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
  1553. package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
  1554. package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
  1555. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
  1556. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
  1557. package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
  1558. package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
  1559. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
  1560. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
  1561. package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
  1562. package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
  1563. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
  1564. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
  1565. package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
  1566. package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
  1567. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
  1568. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
  1569. package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
  1570. package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
  1571. package/dist/cli-tui/tui-renderer.d.ts +0 -268
  1572. package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
  1573. package/dist/cli-tui/tui-renderer.js +0 -2131
  1574. package/dist/cli-tui/tui-renderer.js.map +0 -1
  1575. package/dist/cli-tui/ui-state.d.ts +0 -27
  1576. package/dist/cli-tui/ui-state.d.ts.map +0 -1
  1577. package/dist/cli-tui/ui-state.js +0 -88
  1578. package/dist/cli-tui/ui-state.js.map +0 -1
  1579. package/dist/cli-tui/update-view.d.ts +0 -16
  1580. package/dist/cli-tui/update-view.d.ts.map +0 -1
  1581. package/dist/cli-tui/update-view.js +0 -45
  1582. package/dist/cli-tui/update-view.js.map +0 -1
  1583. package/dist/cli-tui/user-message.d.ts +0 -17
  1584. package/dist/cli-tui/user-message.d.ts.map +0 -1
  1585. package/dist/cli-tui/user-message.js +0 -83
  1586. package/dist/cli-tui/user-message.js.map +0 -1
  1587. package/dist/cli-tui/utils/borders.d.ts +0 -131
  1588. package/dist/cli-tui/utils/borders.d.ts.map +0 -1
  1589. package/dist/cli-tui/utils/borders.js +0 -254
  1590. package/dist/cli-tui/utils/borders.js.map +0 -1
  1591. package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
  1592. package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
  1593. package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
  1594. package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
  1595. package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
  1596. package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
  1597. package/dist/cli-tui/utils/commands/command-palette.js +0 -213
  1598. package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
  1599. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
  1600. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
  1601. package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
  1602. package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
  1603. package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
  1604. package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
  1605. package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
  1606. package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
  1607. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
  1608. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
  1609. package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
  1610. package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
  1611. package/dist/cli-tui/utils/env-detect.d.ts +0 -11
  1612. package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
  1613. package/dist/cli-tui/utils/env-detect.js +0 -107
  1614. package/dist/cli-tui/utils/env-detect.js.map +0 -1
  1615. package/dist/cli-tui/utils/external-editor.d.ts +0 -7
  1616. package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
  1617. package/dist/cli-tui/utils/external-editor.js +0 -53
  1618. package/dist/cli-tui/utils/external-editor.js.map +0 -1
  1619. package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
  1620. package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
  1621. package/dist/cli-tui/utils/footer-utils.js +0 -716
  1622. package/dist/cli-tui/utils/footer-utils.js.map +0 -1
  1623. package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
  1624. package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
  1625. package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
  1626. package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
  1627. package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
  1628. package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
  1629. package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
  1630. package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
  1631. package/dist/cli-tui/utils/glyphs.d.ts +0 -207
  1632. package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
  1633. package/dist/cli-tui/utils/glyphs.js +0 -249
  1634. package/dist/cli-tui/utils/glyphs.js.map +0 -1
  1635. package/dist/cli-tui/utils/layout.d.ts +0 -77
  1636. package/dist/cli-tui/utils/layout.d.ts.map +0 -1
  1637. package/dist/cli-tui/utils/layout.js +0 -83
  1638. package/dist/cli-tui/utils/layout.js.map +0 -1
  1639. package/dist/cli-tui/utils/links.d.ts +0 -2
  1640. package/dist/cli-tui/utils/links.d.ts.map +0 -1
  1641. package/dist/cli-tui/utils/links.js +0 -14
  1642. package/dist/cli-tui/utils/links.js.map +0 -1
  1643. package/dist/cli-tui/utils/motion.d.ts +0 -4
  1644. package/dist/cli-tui/utils/motion.d.ts.map +0 -1
  1645. package/dist/cli-tui/utils/motion.js +0 -28
  1646. package/dist/cli-tui/utils/motion.js.map +0 -1
  1647. package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
  1648. package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
  1649. package/dist/cli-tui/utils/runtime-badges.js +0 -178
  1650. package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
  1651. package/dist/cli-tui/utils/shimmer.d.ts +0 -12
  1652. package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
  1653. package/dist/cli-tui/utils/shimmer.js +0 -57
  1654. package/dist/cli-tui/utils/shimmer.js.map +0 -1
  1655. package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
  1656. package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
  1657. package/dist/cli-tui/utils/stage-labels.js +0 -65
  1658. package/dist/cli-tui/utils/stage-labels.js.map +0 -1
  1659. package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
  1660. package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
  1661. package/dist/cli-tui/utils/text-formatting.js +0 -109
  1662. package/dist/cli-tui/utils/text-formatting.js.map +0 -1
  1663. package/dist/cli-tui/utils/text-preview.d.ts +0 -10
  1664. package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
  1665. package/dist/cli-tui/utils/text-preview.js +0 -26
  1666. package/dist/cli-tui/utils/text-preview.js.map +0 -1
  1667. package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
  1668. package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
  1669. package/dist/cli-tui/utils/tool-text-utils.js +0 -361
  1670. package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
  1671. package/dist/cli-tui/welcome-animation.d.ts +0 -24
  1672. package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
  1673. package/dist/cli-tui/welcome-animation.js +0 -99
  1674. package/dist/cli-tui/welcome-animation.js.map +0 -1
  1675. package/dist/cli-tui/welcome-colors.d.ts +0 -3
  1676. package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
  1677. package/dist/cli-tui/welcome-colors.js +0 -39
  1678. package/dist/cli-tui/welcome-colors.js.map +0 -1
  1679. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
  1680. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
  1681. package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
  1682. package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
  1683. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
  1684. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
  1685. package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
  1686. package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
  1687. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
  1688. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
  1689. package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
  1690. package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
  1691. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
  1692. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
  1693. package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
  1694. package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
  1695. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
  1696. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
  1697. package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
  1698. package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
  1699. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
  1700. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
  1701. package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
  1702. package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
  1703. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
  1704. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
  1705. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
  1706. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
  1707. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
  1708. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
  1709. package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
  1710. package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
  1711. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
  1712. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
  1713. package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
  1714. package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
  1715. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
  1716. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
  1717. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
  1718. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
  1719. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
  1720. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
  1721. package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
  1722. package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
  1723. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
  1724. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
  1725. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
  1726. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
  1727. package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
  1728. package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
  1729. package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
  1730. package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
  1731. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
  1732. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
  1733. package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
  1734. package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
  1735. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
  1736. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
  1737. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
  1738. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
  1739. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
  1740. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
  1741. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
  1742. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
  1743. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
  1744. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
  1745. package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
  1746. package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
  1747. package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
  1748. package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
  1749. package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
  1750. package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
  1751. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
  1752. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
  1753. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
  1754. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
  1755. package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
  1756. package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
  1757. package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
  1758. package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
  1759. package/dist/node_modules/@evalops/tui/package.json +0 -58
  1760. package/dist/skills/artifact-metadata.d.ts +0 -16
  1761. package/dist/skills/artifact-metadata.d.ts.map +0 -1
  1762. package/dist/skills/artifact-metadata.js +0 -86
  1763. package/dist/skills/artifact-metadata.js.map +0 -1
  1764. package/dist/skills/composer-diagnostics.d.ts +0 -69
  1765. package/dist/skills/composer-diagnostics.d.ts.map +0 -1
  1766. package/dist/skills/composer-diagnostics.js +0 -78
  1767. package/dist/skills/composer-diagnostics.js.map +0 -1
  1768. package/dist/skills/composer.d.ts +0 -19
  1769. package/dist/skills/composer.d.ts.map +0 -1
  1770. package/dist/skills/composer.js +0 -52
  1771. package/dist/skills/composer.js.map +0 -1
  1772. package/dist/skills/eval-harness.d.ts +0 -38
  1773. package/dist/skills/eval-harness.d.ts.map +0 -1
  1774. package/dist/skills/eval-harness.js +0 -112
  1775. package/dist/skills/eval-harness.js.map +0 -1
  1776. package/dist/skills/index.d.ts +0 -40
  1777. package/dist/skills/index.d.ts.map +0 -1
  1778. package/dist/skills/index.js +0 -40
  1779. package/dist/skills/index.js.map +0 -1
  1780. package/dist/skills/linter.d.ts +0 -36
  1781. package/dist/skills/linter.d.ts.map +0 -1
  1782. package/dist/skills/linter.js +0 -399
  1783. package/dist/skills/linter.js.map +0 -1
  1784. package/dist/skills/loader.d.ts +0 -252
  1785. package/dist/skills/loader.d.ts.map +0 -1
  1786. package/dist/skills/loader.js +0 -957
  1787. package/dist/skills/loader.js.map +0 -1
  1788. package/dist/skills/package-contract.d.ts +0 -45
  1789. package/dist/skills/package-contract.d.ts.map +0 -1
  1790. package/dist/skills/package-contract.js +0 -153
  1791. package/dist/skills/package-contract.js.map +0 -1
  1792. package/dist/skills/runtime-activation.d.ts +0 -68
  1793. package/dist/skills/runtime-activation.d.ts.map +0 -1
  1794. package/dist/skills/runtime-activation.js +0 -228
  1795. package/dist/skills/runtime-activation.js.map +0 -1
  1796. package/dist/skills/scaffold-from-template.d.ts +0 -58
  1797. package/dist/skills/scaffold-from-template.d.ts.map +0 -1
  1798. package/dist/skills/scaffold-from-template.js +0 -72
  1799. package/dist/skills/scaffold-from-template.js.map +0 -1
  1800. package/dist/skills/scaffolder.d.ts +0 -65
  1801. package/dist/skills/scaffolder.d.ts.map +0 -1
  1802. package/dist/skills/scaffolder.js +0 -167
  1803. package/dist/skills/scaffolder.js.map +0 -1
  1804. package/dist/skills/service-client.d.ts +0 -56
  1805. package/dist/skills/service-client.d.ts.map +0 -1
  1806. package/dist/skills/service-client.js +0 -266
  1807. package/dist/skills/service-client.js.map +0 -1
  1808. package/dist/skills/skill-templates.d.ts +0 -70
  1809. package/dist/skills/skill-templates.d.ts.map +0 -1
  1810. package/dist/skills/skill-templates.js +0 -154
  1811. package/dist/skills/skill-templates.js.map +0 -1
  1812. package/dist/skills/tool.d.ts +0 -21
  1813. package/dist/skills/tool.d.ts.map +0 -1
  1814. package/dist/skills/tool.js +0 -334
  1815. package/dist/skills/tool.js.map +0 -1
  1816. package/dist/skills/trust-cache.d.ts +0 -58
  1817. package/dist/skills/trust-cache.d.ts.map +0 -1
  1818. package/dist/skills/trust-cache.js +0 -130
  1819. package/dist/skills/trust-cache.js.map +0 -1
  1820. package/dist/skills/types.d.ts +0 -91
  1821. package/dist/skills/types.d.ts.map +0 -1
  1822. package/dist/skills/types.js +0 -8
  1823. package/dist/skills/types.js.map +0 -1
  1824. /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
  1825. /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;
@@ -51,7 +53,9 @@ export interface Args {
51
53
  /** Agent profile to activate on startup */
52
54
  composer?: string;
53
55
  exportFormat?: string;
56
+ outputDir?: string;
54
57
  redactSecrets?: boolean;
58
+ valueWrite?: boolean;
55
59
  junitPath?: string;
56
60
  /** Open a real agent session backed by a scripted replay scenario. */
57
61
  replayScenarioPath?: string;