maestro-flow 0.3.10 → 0.3.12

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 (311) hide show
  1. package/.claude/agents/conceptual-planning-agent.md +1 -0
  2. package/.claude/agents/workflow-analyzer.md +114 -114
  3. package/.claude/agents/workflow-collab-planner.md +144 -144
  4. package/.claude/agents/workflow-debugger.md +102 -103
  5. package/.claude/agents/workflow-executor.md +127 -128
  6. package/.claude/agents/workflow-integration-checker.md +82 -82
  7. package/.claude/agents/workflow-nyquist-auditor.md +85 -84
  8. package/.claude/agents/workflow-phase-researcher.md +85 -85
  9. package/.claude/agents/workflow-plan-checker.md +90 -90
  10. package/.claude/agents/workflow-planner.md +178 -178
  11. package/.claude/agents/workflow-roadmapper.md +81 -83
  12. package/.claude/agents/workflow-verifier.md +119 -119
  13. package/.claude/commands/learn-decompose.md +176 -176
  14. package/.claude/commands/learn-follow.md +167 -167
  15. package/.claude/commands/learn-retro.md +3 -3
  16. package/.claude/commands/learn-second-opinion.md +2 -2
  17. package/.claude/commands/maestro-brainstorm.md +1 -0
  18. package/.claude/commands/maestro-coordinate.md +1 -3
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-plan.md +88 -2
  22. package/.claude/commands/maestro-roadmap.md +113 -2
  23. package/.claude/commands/maestro.md +1 -0
  24. package/.claude/commands/manage-harvest.md +131 -131
  25. package/.claude/commands/manage-issue.md +2 -2
  26. package/.claude/commands/quality-business-test.md +5 -5
  27. package/.claude/commands/quality-debug.md +3 -2
  28. package/.claude/commands/quality-retrospective.md +6 -4
  29. package/.claude/commands/quality-review.md +1 -1
  30. package/.claude/commands/quality-test-gen.md +5 -4
  31. package/.claude/commands/spec-add.md +67 -56
  32. package/.claude/commands/spec-load.md +66 -64
  33. package/.claude/commands/spec-setup.md +5 -9
  34. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  35. package/.codex/skills/learn-follow/SKILL.md +83 -0
  36. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  37. package/.codex/skills/learn-retro/SKILL.md +83 -0
  38. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  39. package/.codex/skills/maestro/SKILL.md +151 -279
  40. package/.codex/skills/maestro-analyze/SKILL.md +59 -71
  41. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  42. package/.codex/skills/maestro-chain/SKILL.md +95 -110
  43. package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
  44. package/.codex/skills/maestro-execute/SKILL.md +435 -446
  45. package/.codex/skills/maestro-fork/SKILL.md +98 -0
  46. package/.codex/skills/maestro-init/SKILL.md +172 -167
  47. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  48. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  49. package/.codex/skills/maestro-merge/SKILL.md +69 -0
  50. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  51. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  52. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  53. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  54. package/.codex/skills/maestro-plan/SKILL.md +58 -69
  55. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  56. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  57. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  58. package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
  59. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  60. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  61. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  62. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  63. package/.codex/skills/manage-issue/SKILL.md +80 -65
  64. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  65. package/.codex/skills/manage-learn/SKILL.md +190 -186
  66. package/.codex/skills/manage-memory/SKILL.md +95 -72
  67. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  68. package/.codex/skills/manage-status/SKILL.md +102 -89
  69. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  70. package/.codex/skills/quality-debug/SKILL.md +54 -66
  71. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  72. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  73. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  74. package/.codex/skills/quality-review/SKILL.md +95 -107
  75. package/.codex/skills/quality-sync/SKILL.md +101 -89
  76. package/.codex/skills/quality-test/SKILL.md +202 -198
  77. package/.codex/skills/quality-test-gen/SKILL.md +94 -105
  78. package/.codex/skills/spec-add/SKILL.md +58 -39
  79. package/.codex/skills/spec-load/SKILL.md +45 -40
  80. package/.codex/skills/spec-map/SKILL.md +180 -182
  81. package/.codex/skills/spec-setup/SKILL.md +94 -76
  82. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  83. package/.codex/skills/team-executor/SKILL.md +70 -112
  84. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  85. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  86. package/.codex/skills/team-review/SKILL.md +232 -225
  87. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  88. package/.codex/skills/team-testing/SKILL.md +242 -235
  89. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  90. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  91. package/README.md +9 -4
  92. package/README.zh-CN.md +9 -4
  93. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  94. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  95. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  96. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  98. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  99. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  100. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  101. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  102. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  103. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  104. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  105. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  106. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  107. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  108. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  109. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  110. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  111. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  112. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  113. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  114. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  115. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  116. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  117. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  118. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  119. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  120. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  121. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  122. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  123. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  124. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  125. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  126. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  127. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  128. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  129. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  130. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  131. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  132. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  133. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  134. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  135. package/dashboard/dist/index.html +2 -2
  136. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  137. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  139. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  142. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  144. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  146. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  149. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  151. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  152. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  153. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  156. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  157. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  158. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  159. package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
  160. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  162. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  163. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  164. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  165. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
  166. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  167. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  169. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
  170. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  171. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  172. package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
  173. package/dashboard/dist-server/src/hooks/constants.js +4 -2
  174. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  175. package/dist/shared/agent-types.d.ts +4 -0
  176. package/dist/shared/agent-types.d.ts.map +1 -1
  177. package/dist/src/commands/collab.js +4 -4
  178. package/dist/src/commands/collab.js.map +1 -1
  179. package/dist/src/commands/hooks.d.ts.map +1 -1
  180. package/dist/src/commands/hooks.js +66 -1
  181. package/dist/src/commands/hooks.js.map +1 -1
  182. package/dist/src/commands/install-backend.d.ts.map +1 -1
  183. package/dist/src/commands/install-backend.js +29 -18
  184. package/dist/src/commands/install-backend.js.map +1 -1
  185. package/dist/src/commands/spec.d.ts.map +1 -1
  186. package/dist/src/commands/spec.js +7 -2
  187. package/dist/src/commands/spec.js.map +1 -1
  188. package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
  189. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  190. package/dist/src/hooks/constants.d.ts +3 -1
  191. package/dist/src/hooks/constants.d.ts.map +1 -1
  192. package/dist/src/hooks/constants.js +4 -2
  193. package/dist/src/hooks/constants.js.map +1 -1
  194. package/dist/src/hooks/guards/index.d.ts +1 -0
  195. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  196. package/dist/src/hooks/guards/index.js +1 -0
  197. package/dist/src/hooks/guards/index.js.map +1 -1
  198. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  199. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  200. package/dist/src/hooks/guards/spec-validator.js +66 -0
  201. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  202. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  203. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  204. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  205. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  206. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  207. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  208. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  209. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  210. package/dist/src/hooks/skill-context.d.ts +3 -0
  211. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  212. package/dist/src/hooks/skill-context.js +95 -9
  213. package/dist/src/hooks/skill-context.js.map +1 -1
  214. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  215. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  216. package/dist/src/hooks/spec-bridge.js +97 -0
  217. package/dist/src/hooks/spec-bridge.js.map +1 -0
  218. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  219. package/dist/src/hooks/spec-injector.js +18 -12
  220. package/dist/src/hooks/spec-injector.js.map +1 -1
  221. package/dist/src/hooks/statusline.d.ts.map +1 -1
  222. package/dist/src/hooks/statusline.js +6 -3
  223. package/dist/src/hooks/statusline.js.map +1 -1
  224. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  225. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  226. package/dist/src/team/phase-orchestrator.js +165 -0
  227. package/dist/src/team/phase-orchestrator.js.map +1 -0
  228. package/dist/src/team/phase-types.d.ts +51 -0
  229. package/dist/src/team/phase-types.d.ts.map +1 -0
  230. package/dist/src/team/phase-types.js +41 -0
  231. package/dist/src/team/phase-types.js.map +1 -0
  232. package/dist/src/tools/index.d.ts.map +1 -1
  233. package/dist/src/tools/index.js +6 -0
  234. package/dist/src/tools/index.js.map +1 -1
  235. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  236. package/dist/src/tools/merge-validator.js +114 -16
  237. package/dist/src/tools/merge-validator.js.map +1 -1
  238. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  239. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  240. package/dist/src/tools/spec-entry-parser.js +196 -0
  241. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  242. package/dist/src/tools/spec-init.d.ts.map +1 -1
  243. package/dist/src/tools/spec-init.js +66 -92
  244. package/dist/src/tools/spec-init.js.map +1 -1
  245. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  246. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  247. package/dist/src/tools/spec-keyword-index.js +101 -0
  248. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  249. package/dist/src/tools/spec-loader.d.ts +3 -3
  250. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  251. package/dist/src/tools/spec-loader.js +49 -23
  252. package/dist/src/tools/spec-loader.js.map +1 -1
  253. package/dist/src/tools/team-agents.d.ts +27 -0
  254. package/dist/src/tools/team-agents.d.ts.map +1 -0
  255. package/dist/src/tools/team-agents.js +362 -0
  256. package/dist/src/tools/team-agents.js.map +1 -0
  257. package/dist/src/tools/team-mailbox.d.ts +40 -0
  258. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  259. package/dist/src/tools/team-mailbox.js +384 -0
  260. package/dist/src/tools/team-mailbox.js.map +1 -0
  261. package/dist/src/tools/team-msg.d.ts +17 -8
  262. package/dist/src/tools/team-msg.d.ts.map +1 -1
  263. package/dist/src/tools/team-msg.js +110 -13
  264. package/dist/src/tools/team-msg.js.map +1 -1
  265. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  266. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  267. package/dist/src/tools/team-tasks-mcp.js +408 -0
  268. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  269. package/package.json +2 -1
  270. package/shared/agent-types.ts +4 -0
  271. package/templates/worktree-scope.json +9 -10
  272. package/templates/worktrees.json +26 -27
  273. package/workflows/analyze.md +816 -816
  274. package/workflows/brainstorm.md +480 -471
  275. package/workflows/codebase-rebuild.md +332 -332
  276. package/workflows/codebase-refresh.md +240 -240
  277. package/workflows/debug.md +16 -6
  278. package/workflows/execute.md +1 -1
  279. package/workflows/fork.md +100 -36
  280. package/workflows/harvest.md +420 -420
  281. package/workflows/integration-test.md +355 -343
  282. package/workflows/issue-discover.md +414 -414
  283. package/workflows/issue.md +14 -4
  284. package/workflows/learn.md +19 -5
  285. package/workflows/maestro.md +1 -0
  286. package/workflows/map.md +111 -111
  287. package/workflows/merge.md +113 -55
  288. package/workflows/milestone-complete.md +176 -176
  289. package/workflows/plan.md +1 -1
  290. package/workflows/quick.md +497 -497
  291. package/workflows/refactor.md +300 -300
  292. package/workflows/retrospective.md +61 -22
  293. package/workflows/review.md +17 -4
  294. package/workflows/roadmap.md +335 -335
  295. package/workflows/spec-generate.md +640 -640
  296. package/workflows/specs-add.md +46 -81
  297. package/workflows/specs-load.md +15 -17
  298. package/workflows/specs-setup.md +40 -161
  299. package/workflows/test.md +12 -2
  300. package/workflows/ui-style.md +9 -2
  301. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  302. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  303. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  304. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  305. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  306. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  307. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  308. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  309. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  310. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  311. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
package/README.md CHANGED
@@ -164,12 +164,14 @@ Maestro-Flow coordinates multiple AI agents in parallel:
164
164
 
165
165
  ### Hook System
166
166
 
167
- 9 context-aware hooks across 3 installation levels:
167
+ 11 context-aware hooks across 3 installation levels:
168
168
 
169
169
  | Hook | Purpose |
170
170
  |------|---------|
171
171
  | `context-monitor` | Monitors context usage, injects warnings when running low |
172
- | `spec-injector` | Auto-injects project specs into subagent prompts by agent type |
172
+ | `spec-injector` | Auto-injects project specs into subagent prompts by agent type + keyword |
173
+ | `keyword-spec-injector` | Scans user prompts for keywords, injects matching `<spec-entry>` entries |
174
+ | `spec-validator` | Validates `<spec-entry>` format on Write/Edit to `.workflow/specs/` |
173
175
  | `delegate-monitor` | Tracks async delegate task completion |
174
176
  | `team-monitor` | Collab heartbeat — reports activity to `.workflow/collab/activity.jsonl` for teammate awareness |
175
177
  | `telemetry` | Execution telemetry collection |
@@ -178,7 +180,7 @@ Maestro-Flow coordinates multiple AI agents in parallel:
178
180
  | `coordinator-tracker` | Tracks coordinator chain progress |
179
181
  | `workflow-guard` | Protects critical files and enforces workflow constraints |
180
182
 
181
- The `spec-injector` routes project specs to agents based on typeexecution agents get coding conventions, planning agents get architecture constraints. A 4-tier context budget (full > reduced > minimal > skip) adapts injection volume to remaining context.
183
+ The `spec-injector` routes project specs to agents based on categorycoding agents get coding conventions, planning agents get architecture constraints. The `keyword-spec-injector` provides entry-level precision — when a user prompt mentions "auth", only auth-related spec entries are injected. Session dedup prevents re-injection within the same session. A 4-tier context budget (full > reduced > minimal > skip) adapts injection volume to remaining context.
182
184
 
183
185
  ```bash
184
186
  maestro hooks install --level minimal # context-monitor + spec-injector
@@ -314,12 +316,15 @@ maestro/
314
316
  ## Documentation
315
317
 
316
318
  - **[Command Usage Guide](guide/command-usage-guide.md)** — All 51 commands with workflow diagrams, pipeline chaining, Issue closed-loop, and quick channels
319
+ - **[Spec System Guide](guide/spec-system-guide.md)** — Project specs with `<spec-entry>` closed-tag format, keyword-based loading, validation hooks, session dedup injection
317
320
  - **[Delegate Async Guide](guide/delegate-async-guide.md)** — Async task delegation: CLI & MCP usage, message injection, chaining, broker lifecycle
318
321
  - **[Overlay Guide](guide/overlay-guide.md)** — Non-invasive command extensions: overlay format, section injection, bundle/import, interactive TUI management
319
- - **[Hooks Guide](guide/hooks-guide.md)** — Hook system architecture, 9 hooks, spec injection, context budget, configuration
322
+ - **[Hooks Guide](guide/hooks-guide.md)** — Hook system architecture, 11 hooks, spec injection, context budget, configuration
320
323
  - **[Worktree Parallel Dev Guide](guide/worktree-guide.md)** — Milestone-level worktree parallelism: fork, sync, merge, scope enforcement, dashboard integration
321
324
  - **[Collab — User Guide](guide/team-lite-guide.md)** — Multi-person collaboration for 2-8 person teams: join, sync, activity awareness, conflict preflight, task management, namespace isolation
322
325
  - **[Collab — Design](guide/team-lite-design.md)** — Architecture, data model, namespace boundary between human-collab (`.workflow/collab/`) and agent-pipeline (`.workflow/.team/`) domains
326
+ - **[MCP Tools Reference](guide/mcp-tools-guide.en.md)** — All 9 MCP endpoint tools: file ops (edit/write/read), team collaboration (msg/mailbox/task/agent), and persistent memory
327
+ - **[CLI Commands Reference](guide/cli-commands-guide.en.md)** — All 21 terminal commands — install, delegate, coordinate, wiki, hooks, overlay, collab, and more
323
328
 
324
329
  ---
325
330
 
package/README.zh-CN.md CHANGED
@@ -164,12 +164,14 @@ Maestro-Flow 协调多个 AI 智能体并行工作:
164
164
 
165
165
  ### Hook 系统
166
166
 
167
- 9 个上下文感知 Hook,3 级安装:
167
+ 11 个上下文感知 Hook,3 级安装:
168
168
 
169
169
  | Hook | 用途 |
170
170
  |------|------|
171
171
  | `context-monitor` | 监控上下文用量,接近上限时注入警告 |
172
- | `spec-injector` | 按智能体类型自动注入项目规范到子 Agent 提示词 |
172
+ | `spec-injector` | category + keyword 自动注入项目规范到子 Agent 提示词 |
173
+ | `keyword-spec-injector` | 扫描用户输入关键词,注入匹配的 `<spec-entry>` 条目 |
174
+ | `spec-validator` | 写入 `.workflow/specs/` 时验证 `<spec-entry>` 格式 |
173
175
  | `delegate-monitor` | 跟踪异步 delegate 任务完成状态 |
174
176
  | `team-monitor` | Collab 心跳 -- 向 `.workflow/collab/activity.jsonl` 上报活动,供队友感知 |
175
177
  | `telemetry` | 执行遥测收集 |
@@ -178,7 +180,7 @@ Maestro-Flow 协调多个 AI 智能体并行工作:
178
180
  | `coordinator-tracker` | 跟踪协调器链进度 |
179
181
  | `workflow-guard` | 保护关键文件、约束工作流行为 |
180
182
 
181
- `spec-injector` 按类型路由项目规范 -- 执行 Agent 获取编码约定,规划 Agent 获取架构约束。4 级上下文预算(full > reduced > minimal > skip)自适应注入量。
183
+ `spec-injector` category 路由项目规范 -- coding Agent 获取编码约定,arch Agent 获取架构约束。`keyword-spec-injector` 提供条目级精度 -- 当用户提到 "auth" 时,只注入 auth 相关的 spec 条目。Session dedup 防止同一会话内重复注入。4 级上下文预算(full > reduced > minimal > skip)自适应注入量。
182
184
 
183
185
  ```bash
184
186
  maestro hooks install --level minimal # context-monitor + spec-injector
@@ -313,12 +315,15 @@ maestro/
313
315
  ## 文档
314
316
 
315
317
  - **[命令使用指南](guide/command-usage-guide.md)** -- 全部 49 个命令,含工作流图表、管线衔接、Issue 闭环、快速通道
318
+ - **[Spec 系统指南](guide/spec-system-guide.md)** -- `<spec-entry>` 闭合标签格式、keyword 加载、验证 Hook、session dedup 注入
316
319
  - **[Delegate 异步执行指南](guide/delegate-async-guide.md)** -- 异步任务委派: CLI & MCP 用法、消息注入、链式调用、Broker 生命周期
317
320
  - **[Overlay 系统指南](guide/overlay-guide.md)** -- 非侵入式命令扩展: overlay 格式、section 注入、bundle 打包/导入、交互式 TUI 管理
318
- - **[Hook 系统指南](guide/hooks-guide.md)** -- Hook 系统架构、9 个 Hook、Spec 注入、上下文预算、配置
321
+ - **[Hook 系统指南](guide/hooks-guide.md)** -- Hook 系统架构、11 个 Hook、Spec 注入、上下文预算、配置
319
322
  - **[Worktree 并行开发指南](guide/worktree-guide.md)** -- 里程碑级 worktree 并行: fork、sync、merge、scope 保护、Dashboard 集成
320
323
  - **[Collab 协作 -- 使用指南](guide/team-lite-guide.md)** -- 2-8 人小团队协作: 加入、同步、活动感知、冲突预检、任务管理、命名空间隔离
321
324
  - **[Collab 协作 -- 设计文档](guide/team-lite-design.md)** -- 架构、数据模型、人类协作域 (`.workflow/collab/`) 与智能体管线 (`.workflow/.team/`) 的命名空间边界
325
+ - **[MCP 工具参考](guide/mcp-tools-guide.md)** -- 全部 9 个 MCP 端点工具:文件操作 (edit/write/read)、团队协作 (msg/mailbox/task/agent)、持久记忆
326
+ - **[CLI 命令参考](guide/cli-commands-guide.md)** -- 全部 21 个终端命令 — 安装、委派、协调、Wiki、Hook、Overlay、协作等
322
327
 
323
328
  ---
324
329
 
@@ -1,4 +1,4 @@
1
- import{d as W,r as d,A as J,j as e,F as C,o as xe,W as j,p as pe,V as ue,X as fe,n as Z,B as he}from"./index-DWG-WrzT.js";import{C as me}from"./code-CFN2uX9V.js";import{S as X}from"./search-SieXnOgr.js";import{u as Q}from"./shallow-Bme1JY57.js";import{F as M,T as ge}from"./TreeBrowser-Q12qobZs.js";import{M as ve}from"./MarkdownRenderer-X4af_WNb.js";import{C as ee}from"./chevron-right-Csu22t58.js";import{D as te}from"./folder-CWq_lAnf.js";import{C as re}from"./circle-CMrkbRNg.js";import{C as $}from"./circle-check-gYxxSYuH.js";import{A as be}from"./index-Do71weNR.js";import{m as N}from"./proxy-BKxDAKTj.js";/**
1
+ import{d as W,r as d,A as J,j as e,F as C,o as xe,W as j,p as pe,V as ue,X as fe,n as Z,B as he}from"./index-C2Mcb4TJ.js";import{C as me}from"./code-Ble63Idz.js";import{S as X}from"./search-BS6fI6Bg.js";import{u as Q}from"./shallow-BXasQBvr.js";import{F as M,T as ge}from"./TreeBrowser-B9DHdULE.js";import{M as ve}from"./MarkdownRenderer-D7AehrnR.js";import{C as ee}from"./chevron-right-C7bVDreZ.js";import{D as te}from"./folder-B9ewx9LL.js";import{C as re}from"./circle-Qfgy4LB_.js";import{C as $}from"./circle-check-CEGgy3NV.js";import{A as be}from"./index-JTmGteaT.js";import{m as N}from"./proxy-D72Y8a4Y.js";/**
2
2
  * @license lucide-react v0.577.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1,49 @@
1
+ import{z as B,j as s,r as R,a2 as gn,d as Ae,a3 as vn,k as Pe,w as Ot,s as yt,p as bn,i as Be,c as yn,R as wn,P as Cn,O as kn,f as Tn,T as In,h as co,a4 as uo,a5 as Sn}from"./index-C2Mcb4TJ.js";import{Z as Bo}from"./zap-C3H0jVFA.js";import{M as jn}from"./MarkdownRenderer-D7AehrnR.js";import{C as $t}from"./chevron-right-C7bVDreZ.js";import{T as Nn}from"./terminal-BJic2yW-.js";import{C as Rn}from"./circle-alert-Na1vf6qQ.js";const It=0,Oe=1,qe=2,Lo=4;function po(e){return()=>e}function zn(e){e()}function Ao(e,t){return o=>e(t(o))}function mo(e,t){return()=>e(t)}function En(e,t){return o=>e(t,o)}function Gt(e){return e!==void 0}function Hn(...e){return()=>{e.map(zn)}}function Ze(){}function St(e,t){return t(e),e}function Mn(e,t){return t(e)}function oe(...e){return e}function Q(e,t){return e(Oe,t)}function $(e,t){e(It,t)}function Ut(e){e(qe)}function se(e){return e(Lo)}function L(e,t){return Q(e,En(t,It))}function Se(e,t){const o=e(Oe,n=>{o(),t(n)});return o}function fo(e){let t,o;return n=>r=>{t=r,o&&clearTimeout(o),o=setTimeout(()=>{n(t)},e)}}function Oo(e,t){return e===t}function te(e=Oo){let t;return o=>n=>{e(t,n)||(t=n,o(n))}}function W(e){return t=>o=>{e(o)&&t(o)}}function z(e){return t=>Ao(t,e)}function Re(e){return t=>()=>{t(e)}}function k(e,...t){const o=Bn(...t);return((n,r)=>{switch(n){case qe:Ut(e);return;case Oe:return Q(e,o(r))}})}function ze(e,t){return o=>n=>{o(t=e(t,n))}}function Ve(e){return t=>o=>{e>0?e--:t(o)}}function He(e){let t=null,o;return n=>r=>{t=r,!o&&(o=setTimeout(()=>{o=void 0,n(t)},e))}}function G(...e){const t=new Array(e.length);let o=0,n=null;const r=2**e.length-1;return e.forEach((l,i)=>{const c=2**i;Q(l,a=>{const u=o;o|=c,t[i]=a,u!==r&&o===r&&n&&(n(),n=null)})}),l=>i=>{const c=()=>{l([i].concat(t))};o===r?c():n=c}}function Bn(...e){return t=>e.reduceRight(Mn,t)}function Ln(e){let t,o;const n=()=>t==null?void 0:t();return function(r,l){switch(r){case Oe:return l?o===l?void 0:(n(),o=l,t=Q(e,l),t):(n(),Ze);case qe:n(),o=null;return}}}function I(e){let t=e;const o=K();return((n,r)=>{switch(n){case It:t=r;break;case Oe:{r(t);break}case Lo:return t}return o(n,r)})}function ve(e,t){return St(I(t),o=>L(e,o))}function K(){const e=[];return((t,o)=>{switch(t){case It:e.slice().forEach(n=>{n(o)});return;case qe:e.splice(0,e.length);return;case Oe:return e.push(o),()=>{const n=e.indexOf(o);n>-1&&e.splice(n,1)}}})}function ke(e){return St(K(),t=>L(e,t))}function Y(e,t=[],{singleton:o}={singleton:!0}){return{constructor:e,dependencies:t,id:An(),singleton:o}}const An=()=>Symbol();function On(e){const t=new Map,o=({constructor:n,dependencies:r,id:l,singleton:i})=>{if(i&&t.has(l))return t.get(l);const c=n(r.map(a=>o(a)));return i&&t.set(l,c),c};return o(e)}function ue(...e){const t=K(),o=new Array(e.length);let n=0;const r=2**e.length-1;return e.forEach((l,i)=>{const c=2**i;Q(l,a=>{o[i]=a,n|=c,n===r&&$(t,o)})}),function(l,i){switch(l){case qe:{Ut(t);return}case Oe:return n===r&&i(o),Q(t,i)}}}function _(e,t=Oo){return k(e,te(t))}function Dt(...e){return function(t,o){switch(t){case qe:return;case Oe:return Hn(...e.map(n=>Q(n,o)))}}}const fe={DEBUG:0,INFO:1,WARN:2,ERROR:3},Dn={[fe.DEBUG]:"debug",[fe.ERROR]:"error",[fe.INFO]:"log",[fe.WARN]:"warn"},_n=()=>typeof globalThis>"u"?window:globalThis,De=Y(()=>{const e=I(fe.ERROR);return{log:I((t,o,n=fe.INFO)=>{const r=_n().VIRTUOSO_LOG_LEVEL??se(e);n>=r&&console[Dn[n]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,o)}),logLevel:e}},[],{singleton:!0});function $e(e,t,o){return Kt(e,t,o).callbackRef}function Kt(e,t,o){const n=B.useRef(null);let r=i=>{};const l=B.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(i=>{const c=()=>{const a=i[0].target;a.offsetParent!==null&&e(a)};o?c():requestAnimationFrame(c)}):null,[e,o]);return r=i=>{i&&t?(l==null||l.observe(i),n.current=i):(n.current&&(l==null||l.unobserve(n.current)),n.current=null)},{callbackRef:r,ref:n}}function Wn(e,t,o,n,r,l,i,c,a){const u=B.useCallback(f=>{const v=Fn(f.children,t,c?"offsetWidth":"offsetHeight",r);let x=f.parentElement;for(;x.dataset.virtuosoScroller===void 0;)x=x.parentElement;const h=x.lastElementChild.dataset.viewportType==="window";let w;h&&(w=x.ownerDocument.defaultView);const b=i?c?i.scrollLeft:i.scrollTop:h?c?w.scrollX||w.document.documentElement.scrollLeft:w.scrollY||w.document.documentElement.scrollTop:c?x.scrollLeft:x.scrollTop,g=i?c?i.scrollWidth:i.scrollHeight:h?c?w.document.documentElement.scrollWidth:w.document.documentElement.scrollHeight:c?x.scrollWidth:x.scrollHeight,m=i?c?i.offsetWidth:i.offsetHeight:h?c?w.innerWidth:w.innerHeight:c?x.offsetWidth:x.offsetHeight;n({scrollHeight:g,scrollTop:Math.max(b,0),viewportHeight:m}),l==null||l(c?ho("column-gap",getComputedStyle(f).columnGap,r):ho("row-gap",getComputedStyle(f).rowGap,r)),v!==null&&e(v)},[e,t,r,l,i,n,c]);return Kt(u,o,a)}function Fn(e,t,o,n){const r=e.length;if(r===0)return null;const l=[];for(let i=0;i<r;i++){const c=e.item(i);if(c.dataset.index===void 0)continue;const a=parseInt(c.dataset.index),u=parseFloat(c.dataset.knownSize),f=t(c,o);if(f===0&&n("Zero-sized element, this should not happen",{child:c},fe.ERROR),f===u)continue;const v=l[l.length-1];l.length===0||v.size!==f||v.endIndex!==a-1?l.push({endIndex:a,size:f,startIndex:a}):l[l.length-1].endIndex++}return l}function ho(e,t,o){return t!=="normal"&&(t==null?void 0:t.endsWith("px"))!==!0&&o(`${e} was not resolved to pixel value correctly`,t,fe.WARN),t==="normal"?0:parseInt(t??"0",10)}function Do(e,t,o){const n=B.useRef(null),r=B.useCallback(a=>{if(!(a!=null&&a.offsetParent))return;const u=a.getBoundingClientRect(),f=u.width;let v,x;if(t){const h=t.getBoundingClientRect(),w=u.top-h.top;x=h.height-Math.max(0,w),v=w+t.scrollTop}else{const h=i.current.ownerDocument.defaultView;x=h.innerHeight-Math.max(0,u.top),v=u.top+h.scrollY}n.current={listHeight:u.height,offsetTop:v,visibleHeight:x,visibleWidth:f},e(n.current)},[e,t]),{callbackRef:l,ref:i}=Kt(r,!0,o),c=B.useCallback(()=>{r(i.current)},[r,i]);return B.useEffect(()=>{var u;if(t){t.addEventListener("scroll",c);const f=new ResizeObserver(()=>{requestAnimationFrame(c)});return f.observe(t),()=>{t.removeEventListener("scroll",c),f.unobserve(t)}}const a=(u=i.current)==null?void 0:u.ownerDocument.defaultView;return a==null||a.addEventListener("scroll",c),a==null||a.addEventListener("resize",c),()=>{a==null||a.removeEventListener("scroll",c),a==null||a.removeEventListener("resize",c)}},[c,t,i]),l}const ye=Y(()=>{const e=K(),t=K(),o=I(0),n=K(),r=I(0),l=K(),i=K(),c=I(0),a=I(0),u=I(0),f=I(0),v=K(),x=K(),h=I(!1),w=I(!1),b=I(!1);return L(k(e,z(({scrollTop:g})=>g)),t),L(k(e,z(({scrollHeight:g})=>g)),i),L(t,r),{deviation:o,fixedFooterHeight:u,fixedHeaderHeight:a,footerHeight:f,headerHeight:c,horizontalDirection:w,scrollBy:x,scrollContainerState:e,scrollHeight:i,scrollingInProgress:h,scrollTo:v,scrollTop:t,skipAnimationFrameInResizeObserver:b,smoothScrollTargetReached:n,statefulScrollTop:r,viewportHeight:l}},[],{singleton:!0}),rt={lvl:0};function _o(e,t){const o=e.length;if(o===0)return[];let{index:n,value:r}=t(e[0]);const l=[];for(let i=1;i<o;i++){const{index:c,value:a}=t(e[i]);l.push({end:c-1,start:n,value:r}),n=c,r=a}return l.push({end:1/0,start:n,value:r}),l}function q(e){return e===rt}function st(e,t){if(!q(e))return t===e.k?e.v:t<e.k?st(e.l,t):st(e.r,t)}function je(e,t,o="k"){if(q(e))return[-1/0,void 0];if(Number(e[o])===t)return[e.k,e.v];if(Number(e[o])<t){const n=je(e.r,t,o);return n[0]===-1/0?[e.k,e.v]:n}return je(e.l,t,o)}function Ce(e,t,o){return q(e)?Po(t,o,1):t===e.k?me(e,{k:t,v:o}):t<e.k?xo(me(e,{l:Ce(e.l,t,o)})):xo(me(e,{r:Ce(e.r,t,o)}))}function Ye(){return rt}function Xe(e,t,o){if(q(e))return[];const n=je(e,t)[0];return Pn(Wt(e,n,o))}function _t(e,t){if(q(e))return rt;const{k:o,l:n,r}=e;if(t===o){if(q(n))return r;if(q(r))return n;const[l,i]=Fo(n);return wt(me(e,{k:l,l:Wo(n),v:i}))}return t<o?wt(me(e,{l:_t(n,t)})):wt(me(e,{r:_t(r,t)}))}function Fe(e){return q(e)?[]:[...Fe(e.l),{k:e.k,v:e.v},...Fe(e.r)]}function Wt(e,t,o){if(q(e))return[];const{k:n,l:r,r:l,v:i}=e;let c=[];return n>t&&(c=c.concat(Wt(r,t,o))),n>=t&&n<=o&&c.push({k:n,v:i}),n<=o&&(c=c.concat(Wt(l,t,o))),c}function wt(e){const{l:t,lvl:o,r:n}=e;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(zt(t))return Vo(me(e,{lvl:o-1}));if(!q(t)&&!q(t.r))return me(t.r,{l:me(t,{r:t.r.l}),lvl:o,r:me(e,{l:t.r.r,lvl:o-1})});throw new Error("Unexpected empty nodes")}if(zt(e))return Ft(me(e,{lvl:o-1}));if(!q(n)&&!q(n.l)){const r=n.l,l=zt(r)?n.lvl-1:n.lvl;return me(r,{l:me(e,{lvl:o-1,r:r.l}),lvl:r.lvl+1,r:Ft(me(n,{l:r.r,lvl:l}))})}throw new Error("Unexpected empty nodes")}function me(e,t){return Po(t.k!==void 0?t.k:e.k,t.v!==void 0?t.v:e.v,t.lvl!==void 0?t.lvl:e.lvl,t.l!==void 0?t.l:e.l,t.r!==void 0?t.r:e.r)}function Wo(e){return q(e.r)?e.l:wt(me(e,{r:Wo(e.r)}))}function zt(e){return q(e)||e.lvl>e.r.lvl}function Fo(e){return q(e.r)?[e.k,e.v]:Fo(e.r)}function Po(e,t,o,n=rt,r=rt){return{k:e,l:n,lvl:o,r,v:t}}function xo(e){return Ft(Vo(e))}function Vo(e){const{l:t}=e;return!q(t)&&t.lvl===e.lvl?me(t,{r:me(e,{l:t.r})}):e}function Ft(e){const{lvl:t,r:o}=e;return!q(o)&&!q(o.r)&&o.lvl===t&&o.r.lvl===t?me(o,{l:me(e,{r:o.l}),lvl:t+1}):e}function Pn(e){return _o(e,({k:t,v:o})=>({index:t,value:o}))}function $o(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}function lt(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}const Yt=Y(()=>({recalcInProgress:I(!1)}),[],{singleton:!0});function Go(e,t,o){return e[kt(e,t,o)]}function kt(e,t,o,n=0){let r=e.length-1;for(;n<=r;){const l=Math.floor((n+r)/2),i=e[l],c=o(i,t);if(c===0)return l;if(c===-1){if(r-n<2)return l-1;r=l-1}else{if(r===n)return l;n=l+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function Vn(e,t,o,n){const r=kt(e,t,n),l=kt(e,o,n,r);return e.slice(r,l+1)}function Le(e,t){return Math.round(e.getBoundingClientRect()[t])}function jt(e){return!q(e.groupOffsetTree)}function Xt({index:e},t){return t===e?0:t<e?-1:1}function $n(){return{groupIndices:[],groupOffsetTree:Ye(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:Ye()}}function Gn(e,t){let o=q(e)?0:1/0;for(const n of t){const{endIndex:r,size:l,startIndex:i}=n;if(o=Math.min(o,i),q(e)){e=Ce(e,0,l);continue}const c=Xe(e,i-1,r+1);if(c.some(Zn(n)))continue;let a=!1,u=!1;for(const{end:f,start:v,value:x}of c)a?(r>=v||l===x)&&(e=_t(e,v)):(u=x!==l,a=!0),f>r&&r>=v&&x!==l&&(e=Ce(e,r+1,x));u&&(e=Ce(e,i,l))}return[e,o]}function Un(e){return typeof e.groupIndex<"u"}function Kn({offset:e},t){return t===e?0:t<e?-1:1}function it(e,t,o){if(t.length===0)return 0;const{index:n,offset:r,size:l}=Go(t,e,Xt),i=e-n,c=l*i+(i-1)*o+r;return c>0?c+o:c}function Uo(e,t){if(!jt(t))return e;let o=0;for(;t.groupIndices[o]<=e+o;)o++;return e+o}function Ko(e,t,o){if(Un(e))return t.groupIndices[e.groupIndex]+1;const n=e.index==="LAST"?o:e.index;let r=Uo(n,t);return r=Math.max(0,r,Math.min(o,r)),r}function Yn(e,t,o,n=0){return n>0&&(t=Math.max(t,Go(e,n,Xt).offset)),_o(Vn(e,t,o,Kn),qn)}function Xn(e,[t,o,n,r]){t.length>0&&n("received item sizes",t,fe.DEBUG);const l=e.sizeTree;let i=l,c=0;if(o.length>0&&q(l)&&t.length===2){const x=t[0].size,h=t[1].size;i=o.reduce((w,b)=>Ce(Ce(w,b,x),b+1,h),i)}else[i,c]=Gn(i,t);if(i===l)return e;const{lastIndex:a,lastOffset:u,lastSize:f,offsetTree:v}=Pt(e.offsetTree,c,i,r);return{groupIndices:o,groupOffsetTree:o.reduce((x,h)=>Ce(x,h,it(h,v,r)),Ye()),lastIndex:a,lastOffset:u,lastSize:f,offsetTree:v,sizeTree:i}}function Qn(e){return Fe(e).map(({k:t,v:o},n,r)=>{const l=r[n+1];return{endIndex:l!==void 0?l.k-1:1/0,size:o,startIndex:t}})}function go(e,t){let o=0,n=0;for(;o<e;)o+=t[n+1]-t[n]-1,n++;return n-(o===e?0:1)}function Pt(e,t,o,n){let r=e,l=0,i=0,c=0,a=0;if(t!==0){a=kt(r,t-1,Xt),c=r[a].offset;const u=je(o,t-1);l=u[0],i=u[1],r.length&&r[a].size===je(o,t)[1]&&(a-=1),r=r.slice(0,a+1)}else r=[];for(const{start:u,value:f}of Xe(o,t,1/0)){const v=u-l,x=v*i+c+v*n;r.push({index:u,offset:x,size:f}),l=u,c=x,i=f}return{lastIndex:l,lastOffset:c,lastSize:i,offsetTree:r}}function qn(e){return{index:e.index,value:e}}function Zn(e){const{endIndex:t,size:o,startIndex:n}=e;return r=>r.start===n&&(r.end===t||r.end===1/0)&&r.value===o}const Jn={offsetHeight:"height",offsetWidth:"width"},Ee=Y(([{log:e},{recalcInProgress:t}])=>{const o=K(),n=K(),r=ve(n,0),l=K(),i=K(),c=I(0),a=I([]),u=I(void 0),f=I(void 0),v=I(void 0),x=I(void 0),h=I((d,y)=>Le(d,Jn[y])),w=I(void 0),b=I(0),g=$n(),m=ve(k(o,G(a,e,b),ze(Xn,g),te()),g),p=ve(k(a,te(),ze((d,y)=>({current:y,prev:d.current}),{current:[],prev:[]}),z(({prev:d})=>d)),[]);L(k(a,W(d=>d.length>0),G(m,b),z(([d,y,S])=>{const M=d.reduce((H,P,V)=>Ce(H,P,it(P,y.offsetTree,S)||V),Ye());return{...y,groupIndices:d,groupOffsetTree:M}})),m),L(k(n,G(m),W(([d,{lastIndex:y}])=>d<y),z(([d,{lastIndex:y,lastSize:S}])=>[{endIndex:y,size:S,startIndex:d}])),o),L(u,f);const T=ve(k(u,z(d=>d===void 0)),!0);L(k(f,W(d=>d!==void 0&&q(se(m).sizeTree)),z(d=>{const y=se(v),S=se(a).length>0;return y!==void 0&&y!==0?S?[{endIndex:0,size:y,startIndex:0},{endIndex:1,size:d,startIndex:1}]:[]:[{endIndex:0,size:d,startIndex:0}]})),o),L(k(x,W(d=>d!==void 0&&d.length>0&&q(se(m).sizeTree)),z(d=>{const y=[];let S=d[0],M=0;for(let H=1;H<d.length;H++){const P=d[H];P!==S&&(y.push({endIndex:H-1,size:S,startIndex:M}),S=P,M=H)}return y.push({endIndex:d.length-1,size:S,startIndex:M}),y})),o),L(k(a,G(v,f),W(([,d,y])=>d!==void 0&&y!==void 0),z(([d,y,S])=>{const M=[];for(let H=0;H<d.length;H++){const P=d[H],V=d[H+1];M.push({startIndex:P,endIndex:P,size:y}),V!==void 0&&M.push({startIndex:P+1,endIndex:V-1,size:S})}return M})),o);const E=ke(k(o,G(m),ze(({sizes:d},[y,S])=>({changed:S!==d,sizes:S}),{changed:!1,sizes:g}),z(d=>d.changed)));Q(k(c,ze((d,y)=>({diff:d.prev-y,prev:y}),{diff:0,prev:0}),z(d=>d.diff)),d=>{const{groupIndices:y}=se(m);if(d>0)$(t,!0),$(l,d+go(d,y));else if(d<0){const S=se(p);S.length>0&&(d-=go(-d,S)),$(i,d)}}),Q(k(c,G(e)),([d,y])=>{d<0&&y("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:c},fe.ERROR)});const j=ke(l);L(k(l,G(m),z(([d,y])=>{const S=y.groupIndices.length>0,M=[],H=y.lastSize;if(S){const P=st(y.sizeTree,0);let V=0,D=0;for(;V<d;){const C=y.groupIndices[D],A=y.groupIndices.length===D+1?1/0:y.groupIndices[D+1]-C-1;M.push({endIndex:C,size:P,startIndex:C}),M.push({endIndex:C+1+A-1,size:H,startIndex:C+1}),D++,V+=A+1}const U=Fe(y.sizeTree);return V!==d&&U.shift(),U.reduce((C,{k:A,v:J})=>{let he=C.ranges;return C.prevSize!==0&&(he=[...C.ranges,{endIndex:A+d-1,size:C.prevSize,startIndex:C.prevIndex}]),{prevIndex:A+d,prevSize:J,ranges:he}},{prevIndex:d,prevSize:0,ranges:M}).ranges}return Fe(y.sizeTree).reduce((P,{k:V,v:D})=>({prevIndex:V+d,prevSize:D,ranges:[...P.ranges,{endIndex:V+d-1,size:P.prevSize,startIndex:P.prevIndex}]}),{prevIndex:0,prevSize:H,ranges:[]}).ranges})),o);const O=ke(k(i,G(m,b),z(([d,{offsetTree:y},S])=>{const M=-d;return it(M,y,S)})));return L(k(i,G(m,b),z(([d,y,S])=>{if(y.groupIndices.length>0){if(q(y.sizeTree))return y;let H=Ye();const P=se(p);let V=0,D=0,U=0;for(;V<-d;){U=P[D];const C=P[D+1]-U-1;D++,V+=C+1}if(H=Fe(y.sizeTree).reduce((C,{k:A,v:J})=>Ce(C,Math.max(0,A+d),J),H),V!==-d){const C=st(y.sizeTree,U);H=Ce(H,0,C);const A=je(y.sizeTree,-d+1)[1];H=Ce(H,1,A)}return{...y,sizeTree:H,...Pt(y.offsetTree,0,H,S)}}const M=Fe(y.sizeTree).reduce((H,{k:P,v:V})=>Ce(H,Math.max(0,P+d),V),Ye());return{...y,sizeTree:M,...Pt(y.offsetTree,0,M,S)}})),m),{beforeUnshiftWith:j,data:w,defaultItemSize:f,firstItemIndex:c,fixedItemSize:u,fixedGroupSize:v,gap:b,groupIndices:a,heightEstimates:x,itemSize:h,listRefresh:E,shiftWith:i,shiftWithOffset:O,sizeRanges:o,sizes:m,statefulTotalCount:r,totalCount:n,trackItemSizes:T,unshiftWith:l}},oe(De,Yt),{singleton:!0});function er(e){return e.reduce((t,o)=>(t.groupIndices.push(t.totalCount),t.totalCount+=o+1,t),{groupIndices:[],totalCount:0})}const Yo=Y(([{groupIndices:e,sizes:t,totalCount:o},{headerHeight:n,scrollTop:r}])=>{const l=K(),i=K(),c=ke(k(l,z(er)));return L(k(c,z(a=>a.totalCount)),o),L(k(c,z(a=>a.groupIndices)),e),L(k(ue(r,t,n),W(([a,u])=>jt(u)),z(([a,u,f])=>je(u.groupOffsetTree,Math.max(a-f,0),"v")[0]),te(),z(a=>[a])),i),{groupCounts:l,topItemsIndexes:i}},oe(Ee,ye)),_e=Y(([{log:e}])=>{const t=I(!1),o=ke(k(t,W(n=>n),te()));return Q(t,n=>{n&&se(e)("props updated",{},fe.DEBUG)}),{didMount:o,propsReady:t}},oe(De),{singleton:!0}),tr=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Xo(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!tr)&&(t.behavior="auto"),t.offset===void 0&&(t.offset=0),t}const dt=Y(([{gap:e,listRefresh:t,sizes:o,totalCount:n},{fixedFooterHeight:r,fixedHeaderHeight:l,footerHeight:i,headerHeight:c,scrollingInProgress:a,scrollTo:u,smoothScrollTargetReached:f,viewportHeight:v},{log:x}])=>{const h=K(),w=K(),b=I(0);let g=null,m=null,p=null;function T(){g!==null&&(g(),g=null),p!==null&&(p(),p=null),m&&(clearTimeout(m),m=null),$(a,!1)}return L(k(h,G(o,v,n,b,c,i,x),G(e,l,r),z(([[E,j,O,d,y,S,M,H],P,V,D])=>{const U=Xo(E),{align:C,behavior:A,offset:J}=U,he=d-1,ie=Ko(U,j,he);let we=it(ie,j.offsetTree,P)+S;C==="end"?(we+=V+je(j.sizeTree,ie)[1]-O+D,ie===he&&(we+=M)):C==="center"?we+=(V+je(j.sizeTree,ie)[1]-O+D)/2:we-=y,J!==void 0&&J!==0&&(we+=J);const Me=xe=>{T(),xe?(H("retrying to scroll to",{location:E},fe.DEBUG),$(h,E)):($(w,!0),H("list did not change, scroll successful",{},fe.DEBUG))};if(T(),A==="smooth"){let xe=!1;p=Q(t,Ue=>{xe=xe||Ue}),g=Se(f,()=>{Me(xe)})}else g=Se(k(t,or(150)),Me);return m=setTimeout(()=>{T()},1200),$(a,!0),H("scrolling from index to",{behavior:A,index:ie,top:we},fe.DEBUG),{behavior:A,top:we}})),u),{scrollTargetReached:w,scrollToIndex:h,topListHeight:b}},oe(Ee,ye,De),{singleton:!0});function or(e){return t=>{const o=setTimeout(()=>{t(!1)},e);return n=>{n&&(t(!0),clearTimeout(o))}}}function Qt(e,t){e===0?t():requestAnimationFrame(()=>{Qt(e-1,t)})}function qt(e,t){const o=t-1;return typeof e=="number"?e:e.index==="LAST"?o:e.index}const pt=Y(([{defaultItemSize:e,listRefresh:t,sizes:o},{scrollTop:n},{scrollTargetReached:r,scrollToIndex:l},{didMount:i}])=>{const c=I(!0),a=I(0),u=I(!0);return L(k(i,G(a),W(([f,v])=>v!==0),Re(!1)),c),L(k(i,G(a),W(([f,v])=>v!==0),Re(!1)),u),Q(k(ue(t,i),G(c,o,e,u),W(([[,f],v,{sizeTree:x},h,w])=>f&&(!q(x)||Gt(h))&&!v&&!w),G(a)),([,f])=>{Se(r,()=>{$(u,!0)}),Qt(4,()=>{Se(n,()=>{$(c,!0)}),$(l,f)})}),{initialItemFinalLocationReached:u,initialTopMostItemIndex:a,scrolledToInitialItem:c}},oe(Ee,ye,dt,_e),{singleton:!0});function Qo(e,t){return Math.abs(e-t)<1.01}const at="up",ot="down",nr="none",rr={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},sr=0,mt=Y(([{footerHeight:e,headerHeight:t,scrollBy:o,scrollContainerState:n,scrollTop:r,viewportHeight:l}])=>{const i=I(!1),c=I(!0),a=K(),u=K(),f=I(4),v=I(sr),x=ve(k(Dt(k(_(r),Ve(1),Re(!0)),k(_(r),Ve(1),Re(!1),fo(100))),te()),!1),h=ve(k(Dt(k(o,Re(!0)),k(o,Re(!1),fo(200))),te()),!1);L(k(ue(_(r),_(v)),z(([p,T])=>p<=T),te()),c),L(k(c,He(50)),u);const w=ke(k(ue(n,_(l),_(t),_(e),_(f)),ze((p,[{scrollHeight:T,scrollTop:E},j,O,d,y])=>{const S=E+j-T>-y,M={scrollHeight:T,scrollTop:E,viewportHeight:j};if(S){let P,V;return E>p.state.scrollTop?(P="SCROLLED_DOWN",V=p.state.scrollTop-E):(P="SIZE_DECREASED",V=p.state.scrollTop-E||p.scrollTopDelta),{atBottom:!0,atBottomBecause:P,scrollTopDelta:V,state:M}}let H;return M.scrollHeight>p.state.scrollHeight?H="SIZE_INCREASED":j<p.state.viewportHeight?H="VIEWPORT_HEIGHT_DECREASING":E<p.state.scrollTop?H="SCROLLING_UPWARDS":H="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:H,state:M}},rr),te((p,T)=>p!==void 0&&p.atBottom===T.atBottom))),b=ve(k(n,ze((p,{scrollHeight:T,scrollTop:E,viewportHeight:j})=>{if(!Qo(p.scrollHeight,T)){const O=T-(E+j)<1;return p.scrollTop!==E&&O?{changed:!0,jump:p.scrollTop-E,scrollHeight:T,scrollTop:E}:{changed:!0,jump:0,scrollHeight:T,scrollTop:E}}return{changed:!1,jump:0,scrollHeight:T,scrollTop:E}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),W(p=>p.changed),z(p=>p.jump)),0);L(k(w,z(p=>p.atBottom)),i),L(k(i,He(50)),a);const g=I(ot);L(k(n,z(({scrollTop:p})=>p),te(),ze((p,T)=>se(h)?{direction:p.direction,prevScrollTop:T}:{direction:T<p.prevScrollTop?at:ot,prevScrollTop:T},{direction:ot,prevScrollTop:0}),z(p=>p.direction)),g),L(k(n,He(50),Re(nr)),g);const m=I(0);return L(k(x,W(p=>!p),Re(0)),m),L(k(r,He(100),G(x),W(([p,T])=>T),ze(([p,T],[E])=>[T,E],[0,0]),z(([p,T])=>T-p)),m),{atBottomState:w,atBottomStateChange:a,atBottomThreshold:f,atTopStateChange:u,atTopThreshold:v,isAtBottom:i,isAtTop:c,isScrolling:x,lastJumpDueToItemResize:b,scrollDirection:g,scrollVelocity:m}},oe(ye)),ct="top",ut="bottom",vo="none";function bo(e,t,o){return typeof e=="number"?o===at&&t===ct||o===ot&&t===ut?e:0:o===at?t===ct?e.main:e.reverse:t===ut?e.main:e.reverse}function yo(e,t){return typeof e=="number"?e:e[t]??0}const Zt=Y(([{deviation:e,fixedHeaderHeight:t,headerHeight:o,scrollTop:n,viewportHeight:r}])=>{const l=K(),i=I(0),c=I(0),a=I(0),u=ve(k(ue(_(n),_(r),_(o),_(l,lt),_(a),_(i),_(t),_(e),_(c)),z(([f,v,x,[h,w],b,g,m,p,T])=>{const E=f-p,j=g+m,O=Math.max(x-E,0);let d=vo;const y=yo(T,ct),S=yo(T,ut);return h-=p,h+=x+m,w+=x+m,w-=p,h>f+j-y&&(d=at),w<f-O+v+S&&(d=ot),d!==vo?[Math.max(E-x-bo(b,ct,d)-y,0),E-O-m+v+bo(b,ut,d)+S]:null}),W(f=>f!==null),te(lt)),[0,0]);return{increaseViewportBy:c,listBoundary:l,overscan:a,topListHeight:i,visibleRange:u}},oe(ye),{singleton:!0});function lr(e,t,o){if(jt(t)){const n=Uo(e,t);return[{index:je(t.groupOffsetTree,n)[0],offset:0,size:0},{data:o==null?void 0:o[0],index:n,offset:0,size:0}]}return[{data:o==null?void 0:o[0],index:e,offset:0,size:0}]}const Et={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function Ct(e,t,o,n,r,l){const{lastIndex:i,lastOffset:c,lastSize:a}=r;let u=0,f=0;if(e.length>0){u=e[0].offset;const b=e[e.length-1];f=b.offset+b.size}const v=o-i,x=c+v*a+(v-1)*n,h=u,w=x-f;return{bottom:f,firstItemIndex:l,items:wo(e,r,l),offsetBottom:w,offsetTop:u,top:h,topItems:wo(t,r,l),topListHeight:t.reduce((b,g)=>g.size+b,0),totalCount:o}}function qo(e,t,o,n,r,l){let i=0;if(o.groupIndices.length>0)for(const f of o.groupIndices){if(f-i>=e)break;i++}const c=e+i,a=qt(t,c),u=Array.from({length:c}).map((f,v)=>({data:l[v+a],index:v+a,offset:0,size:0}));return Ct(u,[],c,r,o,n)}function wo(e,t,o){if(e.length===0)return[];if(!jt(t))return e.map(u=>({...u,index:u.index+o,originalIndex:u.index}));const n=e[0].index,r=e[e.length-1].index,l=[],i=Xe(t.groupOffsetTree,n,r);let c,a=0;for(const u of e){(!c||c.end<u.index)&&(c=i.shift(),a=t.groupIndices.indexOf(c.start));let f;u.index===c.start?f={index:a,type:"group"}:f={groupIndex:a,index:u.index-(a+1)+o},l.push({...f,data:u.data,offset:u.offset,originalIndex:u.index,size:u.size})}return l}function Co(e,t){return e===void 0?0:typeof e=="number"?e:e[t]??0}const Ge=Y(([{data:e,firstItemIndex:t,gap:o,sizes:n,totalCount:r},l,{listBoundary:i,topListHeight:c,visibleRange:a},{initialTopMostItemIndex:u,scrolledToInitialItem:f},{topListHeight:v},x,{didMount:h},{recalcInProgress:w}])=>{const b=I([]),g=I(0),m=K(),p=I(0);L(l.topItemsIndexes,b);const T=ve(k(ue(h,w,_(a,lt),_(r),_(n),_(u),f,_(b),_(t),_(o),_(p),e),W(([d,y,,S,,,,,,,,M])=>{const H=M!==void 0&&M.length!==S;return d&&!y&&!H}),z(([,,[d,y],S,M,H,P,V,D,U,C,A])=>{var X,de;const J=M,{offsetTree:he,sizeTree:ie}=J,we=se(g);if(S===0)return{...Et,totalCount:S};if(d===0&&y===0)return we===0?{...Et,totalCount:S}:qo(we,H,M,D,U,A||[]);if(q(ie))return we>0?null:Ct(lr(qt(H,S),J,A),[],S,U,J,D);const Me=[];if(V.length>0){const ee=V[0],ne=V[V.length-1];let pe=0;for(const ae of Xe(ie,ee,ne)){const Z=ae.value,le=Math.max(ae.start,ee),be=Math.min(ae.end,ne);for(let ce=le;ce<=be;ce++)Me.push({data:A==null?void 0:A[ce],index:ce,offset:pe,size:Z}),pe+=Z}}if(!P)return Ct([],Me,S,U,J,D);const xe=V.length>0?V[V.length-1]+1:0,Ue=Yn(he,d,y,xe);if(Ue.length===0)return null;const Je=S-1,Ne=St([],ee=>{for(const ne of Ue){const pe=ne.value;let ae=pe.offset,Z=ne.start;const le=pe.size;if(pe.offset<d){Z+=Math.floor((d-pe.offset+U)/(le+U));const ce=Z-ne.start;ae+=ce*le+ce*U}Z<xe&&(ae+=(xe-Z)*le,Z=xe);const be=Math.min(ne.end,Je);for(let ce=Z;ce<=be&&!(ae>=y);ce++)ee.push({data:A==null?void 0:A[ce],index:ce,offset:ae,size:le}),ae+=le+U}}),et=Co(C,ct),N=Co(C,ut);if(Ne.length>0&&(et>0||N>0)){const ee=Ne[0],ne=Ne[Ne.length-1];if(et>0&&ee.index>xe){const pe=Math.min(et,ee.index-xe),ae=[];let Z=ee.offset;for(let le=ee.index-1;le>=ee.index-pe;le--){const be=((X=Xe(ie,le,le)[0])==null?void 0:X.value)??ee.size;Z-=be+U,ae.unshift({data:A==null?void 0:A[le],index:le,offset:Z,size:be})}Ne.unshift(...ae)}if(N>0&&ne.index<Je){const pe=Math.min(N,Je-ne.index);let ae=ne.offset+ne.size+U;for(let Z=ne.index+1;Z<=ne.index+pe;Z++){const le=((de=Xe(ie,Z,Z)[0])==null?void 0:de.value)??ne.size;Ne.push({data:A==null?void 0:A[Z],index:Z,offset:ae,size:le}),ae+=le+U}}}return Ct(Ne,Me,S,U,J,D)}),W(d=>d!==null),te()),Et);L(k(e,W(Gt),z(d=>d==null?void 0:d.length)),r),L(k(T,z(d=>d.topListHeight)),v),L(v,c),L(k(T,z(d=>[d.top,d.bottom])),i),L(k(T,z(d=>d.items)),m);const E=ke(k(T,W(({items:d})=>d.length>0),G(r,e),W(([{items:d},y])=>d[d.length-1].originalIndex===y-1),z(([,d,y])=>[d-1,y]),te(lt),z(([d])=>d))),j=ke(k(T,He(200),W(({items:d,topItems:y})=>d.length>0&&d[0].originalIndex===y.length),z(({items:d})=>d[0].index),te())),O=ke(k(T,W(({items:d})=>d.length>0),z(({items:d})=>{let y=0,S=d.length-1;for(;d[y].type==="group"&&y<S;)y++;for(;d[S].type==="group"&&S>y;)S--;return{endIndex:d[S].index,startIndex:d[y].index}}),te($o)));return{endReached:E,initialItemCount:g,itemsRendered:m,listState:T,minOverscanItemCount:p,rangeChanged:O,startReached:j,topItemsIndexes:b,...x}},oe(Ee,Yo,Zt,pt,dt,mt,_e,Yt),{singleton:!0}),Zo=Y(([{fixedFooterHeight:e,fixedHeaderHeight:t,footerHeight:o,headerHeight:n},{listState:r}])=>{const l=K(),i=ve(k(ue(o,e,n,t,r),z(([c,a,u,f,v])=>c+a+u+f+v.offsetBottom+v.bottom)),0);return L(_(i),l),{totalListHeight:i,totalListHeightChanged:l}},oe(ye,Ge),{singleton:!0}),ir=Y(([{viewportHeight:e},{totalListHeight:t}])=>{const o=I(!1),n=ve(k(ue(o,e,t),W(([r])=>r),z(([,r,l])=>Math.max(0,r-l)),He(0),te()),0);return{alignToBottom:o,paddingTopAddition:n}},oe(ye,Zo),{singleton:!0}),Jo=Y(()=>({context:I(null)})),ar=({itemBottom:e,itemTop:t,locationParams:{align:o,behavior:n,...r},viewportBottom:l,viewportTop:i})=>t<i?{...r,align:o??"start",...n!==void 0?{behavior:n}:{}}:e>l?{...r,align:o??"end",...n!==void 0?{behavior:n}:{}}:null,en=Y(([{gap:e,sizes:t,totalCount:o},{fixedFooterHeight:n,fixedHeaderHeight:r,headerHeight:l,scrollingInProgress:i,scrollTop:c,viewportHeight:a},{scrollToIndex:u}])=>{const f=K();return L(k(f,G(t,a,o,l,r,n,c),G(e),z(([[v,x,h,w,b,g,m,p],T])=>{const{calculateViewLocation:E=ar,done:j,...O}=v,d=Ko(v,x,w-1),y=it(d,x.offsetTree,T)+b+g,S=y+je(x.sizeTree,d)[1],M=p+g,H=p+h-m,P=E({itemBottom:S,itemTop:y,locationParams:O,viewportBottom:H,viewportTop:M});return P!==null?j&&Se(k(i,W(V=>!V),Ve(se(i)?1:2)),j):j==null||j(),P}),W(v=>v!==null)),u),{scrollIntoView:f}},oe(Ee,ye,dt,Ge,De),{singleton:!0});function ko(e){return e===!1?!1:e==="smooth"?"smooth":"auto"}const cr=(e,t)=>typeof e=="function"?ko(e(t)):t&&ko(e),ur=Y(([{listRefresh:e,totalCount:t,fixedItemSize:o,data:n},{atBottomState:r,isAtBottom:l},{scrollToIndex:i},{scrolledToInitialItem:c},{didMount:a,propsReady:u},{log:f},{scrollingInProgress:v},{context:x},{scrollIntoView:h}])=>{const w=I(!1),b=K();let g=null;function m(j){$(i,{align:"end",behavior:j,index:"LAST"})}Q(k(ue(k(_(t),Ve(1)),a),G(_(w),l,c,v),z(([[j,O],d,y,S,M])=>{let H=O&&S,P="auto";return H&&(P=cr(d,y||M),H=H&&P!==!1),{followOutputBehavior:P,shouldFollow:H,totalCount:j}}),W(({shouldFollow:j})=>j)),({followOutputBehavior:j,totalCount:O})=>{g!==null&&(g(),g=null),se(o)!==void 0?requestAnimationFrame(()=>{se(f)("following output to ",{totalCount:O},fe.DEBUG),m(j)}):g=Se(e,()=>{se(f)("following output to ",{totalCount:O},fe.DEBUG),m(j),g=null})});function p(j){const O=Se(r,d=>{j&&!d.atBottom&&d.notAtBottomBecause==="SIZE_INCREASED"&&g===null&&(se(f)("scrolling to bottom due to increased size",{},fe.DEBUG),m("auto"))});setTimeout(O,100)}Q(k(ue(_(w),t,u),W(([j,,O])=>j!==!1&&O),ze(({value:j},[,O])=>({refreshed:j===O,value:O}),{refreshed:!1,value:0}),W(({refreshed:j})=>j),G(w,t)),([,j])=>{se(c)&&p(j!==!1)}),Q(b,()=>{p(se(w)!==!1)}),Q(ue(_(w),r),([j,O])=>{j!==!1&&!O.atBottom&&O.notAtBottomBecause==="VIEWPORT_HEIGHT_DECREASING"&&m("auto")});const T=I(null),E=K();return L(Dt(k(_(n),z(j=>(j==null?void 0:j.length)??0)),k(_(t))),E),Q(k(ue(k(E,Ve(1)),a),G(_(T),c,v,x),z(([[j,O],d,y,S,M])=>O&&y&&(d==null?void 0:d({context:M,totalCount:j,scrollingInProgress:S}))),W(j=>!!j),He(0)),j=>{g!==null&&(g(),g=null),se(o)!==void 0?requestAnimationFrame(()=>{se(f)("scrolling into view",{}),$(h,j)}):g=Se(e,()=>{se(f)("scrolling into view",{}),$(h,j),g=null})}),{autoscrollToBottom:b,followOutput:w,scrollIntoViewOnChange:T}},oe(Ee,mt,dt,pt,_e,De,ye,Jo,en)),dr=Y(([{data:e,firstItemIndex:t,gap:o,sizes:n},{initialTopMostItemIndex:r},{initialItemCount:l,listState:i},{didMount:c}])=>(L(k(c,G(l),W(([,a])=>a!==0),G(r,n,t,o,e),z(([[,a],u,f,v,x,h=[]])=>qo(a,u,f,v,x,h))),i),{}),oe(Ee,pt,Ge,_e),{singleton:!0}),pr=Y(([{didMount:e},{scrollTo:t},{listState:o}])=>{const n=I(0);return Q(k(e,G(n),W(([,r])=>r!==0),z(([,r])=>({top:r}))),r=>{Se(k(o,Ve(1),W(l=>l.items.length>1)),()=>{requestAnimationFrame(()=>{$(t,r)})})}),{initialScrollTop:n}},oe(_e,ye,Ge),{singleton:!0}),tn=Y(([{scrollVelocity:e}])=>{const t=I(!1),o=K(),n=I(!1);return L(k(e,G(n,t,o),W(([r,l])=>l!==!1&&l!==void 0),z(([r,l,i,c])=>{const{enter:a,exit:u}=l;if(i){if(u(r,c))return!1}else if(a(r,c))return!0;return i}),te()),t),Q(k(ue(t,e,o),G(n)),([[r,l,i],c])=>{r&&c!==!1&&c!==void 0&&c.change&&c.change(l,i)}),{isSeeking:t,scrollSeekConfiguration:n,scrollSeekRangeChanged:o,scrollVelocity:e}},oe(mt),{singleton:!0}),Jt=Y(([{scrollContainerState:e,scrollTo:t}])=>{const o=K(),n=K(),r=K(),l=I(!1),i=I(void 0);return L(k(ue(o,n),z(([{scrollTop:c,viewportHeight:a},{offsetTop:u,listHeight:f}])=>({scrollHeight:f,scrollTop:Math.max(0,c-u),viewportHeight:a}))),e),L(k(t,G(n),z(([c,{offsetTop:a}])=>({...c,top:c.top+a}))),r),{customScrollParent:i,useWindowScroll:l,windowScrollContainerState:o,windowScrollTo:r,windowViewportRect:n}},oe(ye)),mr=Y(([{sizeRanges:e,sizes:t},{headerHeight:o,scrollTop:n},{initialTopMostItemIndex:r},{didMount:l},{useWindowScroll:i,windowScrollContainerState:c,windowViewportRect:a}])=>{const u=K(),f=I(void 0),v=I(null),x=I(null);return L(c,v),L(a,x),Q(k(u,G(t,n,i,v,x,o)),([h,w,b,g,m,p,T])=>{const E=Qn(w.sizeTree);g&&m!==null&&p!==null&&(b=m.scrollTop-p.offsetTop),b-=T,h({ranges:E,scrollTop:b})}),L(k(f,W(Gt),z(fr)),r),L(k(l,G(f),W(([,h])=>h!==void 0),te(),z(([,h])=>h.ranges)),e),{getState:u,restoreStateFrom:f}},oe(Ee,ye,pt,_e,Jt));function fr(e){return{align:"start",index:0,offset:e.scrollTop}}const hr=Y(([{topItemsIndexes:e}])=>{const t=I(0);return L(k(t,W(o=>o>=0),z(o=>Array.from({length:o}).map((n,r)=>r))),e),{topItemCount:t}},oe(Ge));function on(e){let t=!1,o;return(()=>(t||(t=!0,o=e()),o))}const xr=on(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),gr=Y(([{deviation:e,scrollBy:t,scrollingInProgress:o,scrollTop:n},{isAtBottom:r,isScrolling:l,lastJumpDueToItemResize:i,scrollDirection:c},{listState:a},{beforeUnshiftWith:u,gap:f,shiftWithOffset:v,sizes:x},{log:h},{recalcInProgress:w}])=>{const b=ke(k(a,G(i),ze(([,m,p,T],[{bottom:E,items:j,offsetBottom:O,totalCount:d},y])=>{const S=E+O;let M=0;return p===d&&m.length>0&&j.length>0&&(j[0].originalIndex===0&&m[0].originalIndex===0||(M=S-T,M!==0&&(M+=y))),[M,j,d,S]},[0,[],0,0]),W(([m])=>m!==0),G(n,c,o,r,h,w),W(([,m,p,T,,,E])=>!E&&!T&&m!==0&&p===at),z(([[m],,,,,p])=>(p("Upward scrolling compensation",{amount:m},fe.DEBUG),m))));function g(m){m>0?($(t,{behavior:"auto",top:-m}),$(e,0)):($(e,0),$(t,{behavior:"auto",top:-m}))}return Q(k(b,G(e,l)),([m,p,T])=>{T&&xr()?$(e,p-m):g(-m)}),Q(k(ue(ve(l,!1),e,w),W(([m,p,T])=>!m&&!T&&p!==0),z(([m,p])=>p),He(1)),g),L(k(v,z(m=>({top:-m}))),t),Q(k(u,G(x,f),z(([m,{groupIndices:p,lastSize:T,sizeTree:E},j])=>{function O(H){return H*(T+j)}if(p.length===0)return O(m);let d=0;const y=st(E,0);let S=0,M=0;for(;S<m;){S++,d+=y;let H=p.length===M+1?1/0:p[M+1]-p[M]-1;S+H>m&&(d-=y,H=m-S+1),S+=H,d+=O(H),M++}return d})),m=>{$(e,m),requestAnimationFrame(()=>{$(t,{top:m}),requestAnimationFrame(()=>{$(e,0),$(w,!1)})})}),{deviation:e}},oe(ye,mt,Ge,Ee,De,Yt)),vr=Y(([e,t,o,n,r,l,i,c,a,u,f])=>({...e,...t,...o,...n,...r,...l,...i,...c,...a,...u,...f}),oe(Zt,dr,_e,tn,Zo,pr,ir,Jt,en,De,Jo)),nn=Y(([{data:e,defaultItemSize:t,firstItemIndex:o,fixedItemSize:n,fixedGroupSize:r,gap:l,groupIndices:i,heightEstimates:c,itemSize:a,sizeRanges:u,sizes:f,statefulTotalCount:v,totalCount:x,trackItemSizes:h},{initialItemFinalLocationReached:w,initialTopMostItemIndex:b,scrolledToInitialItem:g},m,p,T,E,{scrollToIndex:j},O,{topItemCount:d},{groupCounts:y},S])=>{const{listState:M,minOverscanItemCount:H,topItemsIndexes:P,rangeChanged:V,...D}=E;return L(V,S.scrollSeekRangeChanged),L(k(S.windowViewportRect,z(U=>U.visibleHeight)),m.viewportHeight),{data:e,defaultItemHeight:t,firstItemIndex:o,fixedItemHeight:n,fixedGroupHeight:r,gap:l,groupCounts:y,heightEstimates:c,initialItemFinalLocationReached:w,initialTopMostItemIndex:b,scrolledToInitialItem:g,sizeRanges:u,topItemCount:d,topItemsIndexes:P,totalCount:x,...T,groupIndices:i,itemSize:a,listState:M,minOverscanItemCount:H,scrollToIndex:j,statefulTotalCount:v,trackItemSizes:h,rangeChanged:V,...D,...S,...m,sizes:f,...p}},oe(Ee,pt,ye,mr,ur,Ge,dt,gr,hr,Yo,vr));function br(e,t){const o={},n={};let r=0;const l=e.length;for(;r<l;)n[e[r]]=1,r+=1;for(const i in t)Object.hasOwn(n,i)||(o[i]=t[i]);return o}const xt=typeof document<"u"?B.useLayoutEffect:B.useEffect;function rn(e,t,o){const n=Object.keys(t.required||{}),r=Object.keys(t.optional||{}),l=Object.keys(t.methods||{}),i=Object.keys(t.events||{}),c=B.createContext({});function a(g,m){g.propsReady!==void 0&&$(g.propsReady,!1);for(const p of n){const T=g[t.required[p]];$(T,m[p])}for(const p of r)if(p in m){const T=g[t.optional[p]];$(T,m[p])}g.propsReady!==void 0&&$(g.propsReady,!0)}function u(g){return l.reduce((m,p)=>(m[p]=T=>{const E=g[t.methods[p]];$(E,T)},m),{})}function f(g){return i.reduce((m,p)=>(m[p]=Ln(g[t.events[p]]),m),{})}const v=B.forwardRef(function(g,m){const{children:p,...T}=g,[E]=B.useState(()=>St(On(e),d=>{a(d,T)})),[j]=B.useState(mo(f,E));xt(()=>{for(const d of i)d in T&&Q(j[d],T[d]);return()=>{Object.values(j).map(Ut)}},[T,j,E]),xt(()=>{a(E,T)}),B.useImperativeHandle(m,po(u(E)));const O=o;return s.jsx(c.Provider,{value:E,children:o!==void 0?s.jsx(O,{...br([...n,...r,...i],T),children:p}):p})}),x=g=>{const m=B.useContext(c);return B.useCallback(p=>{$(m[g],p)},[m,g])},h=g=>{const m=B.useContext(c)[g],p=B.useCallback(T=>Q(m,T),[m]);return B.useSyncExternalStore(p,()=>se(m),()=>se(m))},w=g=>{const m=B.useContext(c)[g],[p,T]=B.useState(mo(se,m));return xt(()=>Q(m,E=>{E!==p&&T(po(E))}),[m,p]),p},b=B.version.startsWith("18")?h:w;return{Component:v,useEmitter:(g,m)=>{const p=B.useContext(c)[g];xt(()=>Q(p,m),[m,p])},useEmitterValue:b,usePublisher:x}}const sn=B.createContext(void 0),ln=B.createContext(void 0),Ht="-webkit-sticky",To="sticky",eo=on(()=>{if(typeof document>"u")return To;const e=document.createElement("div");return e.style.position=Ht,e.style.position===Ht?Ht:To}),an=typeof document<"u"?B.useLayoutEffect:B.useEffect;function Mt(e){return"self"in e}function yr(e){return"body"in e}function cn(e,t,o,n=Ze,r,l){const i=B.useRef(null),c=B.useRef(null),a=B.useRef(null),u=B.useCallback(x=>{let h,w,b;const g=x.target;if(yr(g)||Mt(g)){const p=Mt(g)?g:g.defaultView;b=l===!0?p.scrollX:p.scrollY,h=l===!0?p.document.documentElement.scrollWidth:p.document.documentElement.scrollHeight,w=l===!0?p.innerWidth:p.innerHeight}else b=l===!0?g.scrollLeft:g.scrollTop,h=l===!0?g.scrollWidth:g.scrollHeight,w=l===!0?g.offsetWidth:g.offsetHeight;const m=()=>{e({scrollHeight:h,scrollTop:Math.max(b,0),viewportHeight:w})};x.suppressFlushSync===!0?m():gn.flushSync(m),c.current!==null&&(b===c.current||b<=0||b===h-w)&&(c.current=null,t(!0),a.current&&(clearTimeout(a.current),a.current=null))},[e,t,l]);B.useEffect(()=>{const x=r||i.current;return n(r||i.current),u({suppressFlushSync:!0,target:x}),x.addEventListener("scroll",u,{passive:!0}),()=>{n(null),x.removeEventListener("scroll",u)}},[i,u,o,n,r]);function f(x){const h=i.current;if(!h||(l===!0?"offsetWidth"in h&&h.offsetWidth===0:"offsetHeight"in h&&h.offsetHeight===0))return;const w=x.behavior==="smooth";let b,g,m;Mt(h)?(g=Math.max(Le(h.document.documentElement,l===!0?"width":"height"),l===!0?h.document.documentElement.scrollWidth:h.document.documentElement.scrollHeight),b=l===!0?h.innerWidth:h.innerHeight,m=l===!0?window.scrollX:window.scrollY):(g=h[l===!0?"scrollWidth":"scrollHeight"],b=Le(h,l===!0?"width":"height"),m=h[l===!0?"scrollLeft":"scrollTop"]);const p=g-b;if(x.top=Math.ceil(Math.max(Math.min(p,x.top),0)),Qo(b,g)||x.top===m){e({scrollHeight:g,scrollTop:m,viewportHeight:b}),w&&t(!0);return}w?(c.current=x.top,a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{a.current=null,c.current=null,t(!0)},1e3)):c.current=null,l===!0&&(x={...x.behavior!==void 0?{behavior:x.behavior}:{},left:x.top}),h.scrollTo(x)}function v(x){l===!0&&(x={...x.behavior!==void 0?{behavior:x.behavior}:{},...x.top!==void 0?{left:x.top}:{}}),i.current.scrollBy(x)}return{scrollByCallback:v,scrollerRef:i,scrollToCallback:f}}function to(e){return e}const wr=Y(()=>{const e=I(c=>`Item ${c}`),t=I(c=>`Group ${c}`),o=I({}),n=I(to),r=I("div"),l=I(Ze),i=(c,a=null)=>ve(k(o,z(u=>u[c]),te()),a);return{components:o,computeItemKey:n,EmptyPlaceholder:i("EmptyPlaceholder"),FooterComponent:i("Footer"),GroupComponent:i("Group","div"),groupContent:t,HeaderComponent:i("Header"),HeaderFooterTag:r,ItemComponent:i("Item","div"),itemContent:e,ListComponent:i("List","div"),ScrollerComponent:i("Scroller","div"),scrollerRef:l,ScrollSeekPlaceholder:i("ScrollSeekPlaceholder"),TopItemListComponent:i("TopItemList")}}),Cr=Y(([e,t])=>({...e,...t}),oe(nn,wr)),kr=({height:e})=>s.jsx("div",{style:{height:e}}),Tr={overflowAnchor:"none",position:eo(),zIndex:1},un={overflowAnchor:"none"},Ir={...un,display:"inline-block",height:"100%"},Io=B.memo(function({showTopList:e=!1}){const t=F("listState"),o=Te("sizeRanges"),n=F("useWindowScroll"),r=F("customScrollParent"),l=Te("windowScrollContainerState"),i=Te("scrollContainerState"),c=r||n?l:i,a=F("itemContent"),u=F("context"),f=F("groupContent"),v=F("trackItemSizes"),x=F("itemSize"),h=F("log"),w=Te("gap"),b=F("horizontalDirection"),{callbackRef:g}=Wn(o,x,v,e?Ze:c,h,w,r,b,F("skipAnimationFrameInResizeObserver")),[m,p]=B.useState(0);oo("deviation",D=>{m!==D&&p(D)});const T=F("EmptyPlaceholder"),E=F("ScrollSeekPlaceholder")??kr,j=F("ListComponent"),O=F("ItemComponent"),d=F("GroupComponent"),y=F("computeItemKey"),S=F("isSeeking"),M=F("groupIndices").length>0,H=F("alignToBottom"),P=F("initialItemFinalLocationReached"),V=e?{}:{boxSizing:"border-box",...b?{display:"inline-block",height:"100%",marginLeft:m!==0?m:H?"auto":0,paddingLeft:t.offsetTop,paddingRight:t.offsetBottom,whiteSpace:"nowrap"}:{marginTop:m!==0?m:H?"auto":0,paddingBottom:t.offsetBottom,paddingTop:t.offsetTop},...P?{}:{visibility:"hidden"}};return!e&&t.totalCount===0&&T!==null&&T!==void 0?s.jsx(T,{...ge(T,u)}):s.jsx(j,{...ge(j,u),"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",ref:g,style:V,children:(e?t.topItems:t.items).map(D=>{const U=D.originalIndex,C=y(U+t.firstItemIndex,D.data,u);return S?R.createElement(E,{...ge(E,u),height:D.size,index:D.index,key:C,type:D.type||"item",...D.type==="group"?{}:{groupIndex:D.groupIndex}}):D.type==="group"?R.createElement(d,{...ge(d,u),"data-index":U,"data-item-index":D.index,"data-known-size":D.size,key:C,style:Tr},f(D.index,u)):R.createElement(O,{...ge(O,u),...Rr(O,D.data),"data-index":U,"data-item-group-index":D.groupIndex,"data-item-index":D.index,"data-known-size":D.size,key:C,style:b?Ir:un},M?a(D.index,D.groupIndex,D.data,u):a(D.index,D.data,u))})})}),Sr={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},jr={outline:"none",overflowX:"auto",position:"relative"},Nt=e=>({height:"100%",position:"absolute",top:0,width:"100%",...e?{display:"flex",flexDirection:"column"}:void 0}),Nr={position:eo(),top:0,width:"100%",zIndex:1};function ge(e,t){if(typeof e!="string")return{context:t}}function Rr(e,t){return{item:typeof e=="string"?void 0:t}}const zr=B.memo(function(){const e=F("HeaderComponent"),t=Te("headerHeight"),o=F("HeaderFooterTag"),n=$e(B.useMemo(()=>l=>{t(Le(l,"height"))},[t]),!0,F("skipAnimationFrameInResizeObserver")),r=F("context");return e!=null?s.jsx(o,{ref:n,children:s.jsx(e,{...ge(e,r)})}):null}),Er=B.memo(function(){const e=F("FooterComponent"),t=Te("footerHeight"),o=F("HeaderFooterTag"),n=$e(B.useMemo(()=>l=>{t(Le(l,"height"))},[t]),!0,F("skipAnimationFrameInResizeObserver")),r=F("context");return e!=null?s.jsx(o,{ref:n,children:s.jsx(e,{...ge(e,r)})}):null});function dn({useEmitter:e,useEmitterValue:t,usePublisher:o}){return B.memo(function({children:n,style:r,context:l,...i}){const c=o("scrollContainerState"),a=t("ScrollerComponent"),u=o("smoothScrollTargetReached"),f=t("scrollerRef"),v=t("horizontalDirection")||!1,{scrollByCallback:x,scrollerRef:h,scrollToCallback:w}=cn(c,u,a,f,void 0,v);return e("scrollTo",w),e("scrollBy",x),s.jsx(a,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:h,style:{...v?jr:Sr,...r},tabIndex:0,...i,...ge(a,l),children:n})})}function pn({useEmitter:e,useEmitterValue:t,usePublisher:o}){return B.memo(function({children:n,style:r,context:l,...i}){const c=o("windowScrollContainerState"),a=t("ScrollerComponent"),u=o("smoothScrollTargetReached"),f=t("totalListHeight"),v=t("deviation"),x=t("customScrollParent"),h=B.useRef(null),w=t("scrollerRef"),{scrollByCallback:b,scrollerRef:g,scrollToCallback:m}=cn(c,u,a,w,x);return an(()=>{var p;return g.current=x||((p=h.current)==null?void 0:p.ownerDocument.defaultView),()=>{g.current=null}},[g,x]),e("windowScrollTo",m),e("scrollBy",b),s.jsx(a,{ref:h,"data-virtuoso-scroller":!0,style:{position:"relative",...r,...f!==0?{height:f+v}:void 0},...i,...ge(a,l),children:n})})}const Hr=({children:e})=>{const t=B.useContext(sn),o=Te("viewportHeight"),n=Te("fixedItemHeight"),r=F("alignToBottom"),l=F("horizontalDirection"),i=B.useMemo(()=>Ao(o,a=>Le(a,l?"width":"height")),[o,l]),c=$e(i,!0,F("skipAnimationFrameInResizeObserver"));return B.useEffect(()=>{t&&(o(t.viewportHeight),n(t.itemHeight))},[t,o,n]),s.jsx("div",{"data-viewport-type":"element",ref:c,style:Nt(r),children:e})},Mr=({children:e})=>{const t=B.useContext(sn),o=Te("windowViewportRect"),n=Te("fixedItemHeight"),r=F("customScrollParent"),l=Do(o,r,F("skipAnimationFrameInResizeObserver")),i=F("alignToBottom");return B.useEffect(()=>{t&&(n(t.itemHeight),o({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,o,n]),s.jsx("div",{"data-viewport-type":"window",ref:l,style:Nt(i),children:e})},Br=({children:e})=>{const t=F("TopItemListComponent")??"div",o=F("headerHeight"),n={...Nr,marginTop:`${o}px`},r=F("context");return s.jsx(t,{style:n,...ge(t,r),children:e})},Lr=B.memo(function(e){const t=F("useWindowScroll"),o=F("topItemsIndexes").length>0,n=F("customScrollParent"),r=F("context");return s.jsxs(n||t?Dr:Or,{...e,context:r,children:[o&&s.jsx(Br,{children:s.jsx(Io,{showTopList:!0})}),s.jsxs(n||t?Mr:Hr,{children:[s.jsx(zr,{}),s.jsx(Io,{}),s.jsx(Er,{})]})]})}),{Component:Ar,useEmitter:oo,useEmitterValue:F,usePublisher:Te}=rn(Cr,{optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",scrollIntoViewOnChange:"scrollIntoViewOnChange",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",minOverscanItemCount:"minOverscanItemCount",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedGroupHeight:"fixedGroupHeight",fixedItemHeight:"fixedItemHeight",heightEstimates:"heightEstimates",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},Lr),Or=dn({useEmitter:oo,useEmitterValue:F,usePublisher:Te}),Dr=pn({useEmitter:oo,useEmitterValue:F,usePublisher:Te}),_r=Ar,Wr=Y(()=>{const e=I(u=>s.jsxs("td",{children:["Item $",u]})),t=I(null),o=I(u=>s.jsxs("td",{colSpan:1e3,children:["Group ",u]})),n=I(null),r=I(null),l=I({}),i=I(to),c=I(Ze),a=(u,f=null)=>ve(k(l,z(v=>v[u]),te()),f);return{components:l,computeItemKey:i,context:t,EmptyPlaceholder:a("EmptyPlaceholder"),FillerRow:a("FillerRow"),fixedFooterContent:r,fixedHeaderContent:n,itemContent:e,groupContent:o,ScrollerComponent:a("Scroller","div"),scrollerRef:c,ScrollSeekPlaceholder:a("ScrollSeekPlaceholder"),TableBodyComponent:a("TableBody","tbody"),TableComponent:a("Table","table"),TableFooterComponent:a("TableFoot","tfoot"),TableHeadComponent:a("TableHead","thead"),TableRowComponent:a("TableRow","tr"),GroupComponent:a("Group","tr")}});oe(nn,Wr);eo();const So={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},Fr={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:jo,floor:Tt,max:nt,min:Bt,round:No}=Math;function Ro(e,t,o){return Array.from({length:t-e+1}).map((n,r)=>({data:o===null?null:o[r+e],index:r+e}))}function Pr(e){return{...Fr,items:e}}function gt(e,t){return e!==void 0&&e.width===t.width&&e.height===t.height}function Vr(e,t){return e!==void 0&&e.column===t.column&&e.row===t.row}const $r=Y(([{increaseViewportBy:e,listBoundary:t,overscan:o,visibleRange:n},{footerHeight:r,headerHeight:l,scrollBy:i,scrollContainerState:c,scrollTo:a,scrollTop:u,smoothScrollTargetReached:f,viewportHeight:v},x,h,{didMount:w,propsReady:b},{customScrollParent:g,useWindowScroll:m,windowScrollContainerState:p,windowScrollTo:T,windowViewportRect:E},j])=>{const O=I(0),d=I(0),y=I(So),S=I({height:0,width:0}),M=I({height:0,width:0}),H=K(),P=K(),V=I(0),D=I(null),U=I({column:0,row:0}),C=K(),A=K(),J=I(!1),he=I(0),ie=I(!0),we=I(!1),Me=I(!1);Q(k(w,G(he),W(([N,X])=>X!==0)),()=>{$(ie,!1)}),Q(k(ue(w,ie,M,S,he,we),W(([N,X,de,ee,,ne])=>N&&!X&&de.height!==0&&ee.height!==0&&!ne)),([,,,,N])=>{$(we,!0),Qt(1,()=>{$(H,N)}),Se(k(u),()=>{$(t,[0,0]),$(ie,!0)})}),L(k(A,W(N=>N!=null&&N.scrollTop>0),Re(0)),d),Q(k(w,G(A),W(([,N])=>N!=null)),([,N])=>{N&&($(S,N.viewport),$(M,N.item),$(U,N.gap),N.scrollTop>0&&($(J,!0),Se(k(u,Ve(1)),X=>{$(J,!1)}),$(a,{top:N.scrollTop})))}),L(k(S,z(({height:N})=>N)),v),L(k(ue(_(S,gt),_(M,gt),_(U,(N,X)=>N!==void 0&&N.column===X.column&&N.row===X.row),_(u)),z(([N,X,de,ee])=>({gap:de,item:X,scrollTop:ee,viewport:N}))),C),L(k(ue(_(O),n,_(U,Vr),_(M,gt),_(S,gt),_(D),_(d),_(J),_(ie),_(he)),W(([,,,,,,,N])=>!N),z(([N,[X,de],ee,ne,pe,ae,Z,,le,be])=>{const{column:ce,row:tt}=ee,{height:ft,width:Rt}=ne,{width:no}=pe;if(Z===0&&(N===0||no===0))return So;if(Rt===0){const ao=qt(be,N),xn=ao+Math.max(Z-1,0);return Pr(Ro(ao,xn,ae))}const ht=mn(no,Rt,ce);let Ke,We;le?X===0&&de===0&&Z>0?(Ke=0,We=Z-1):(Ke=ht*Tt((X+tt)/(ft+tt)),We=ht*jo((de+tt)/(ft+tt))-1,We=Bt(N-1,nt(We,ht-1)),Ke=Bt(We,nt(0,Ke))):(Ke=0,We=-1);const ro=Ro(Ke,We,ae),{bottom:so,top:lo}=zo(pe,ee,ne,ro),io=jo(N/ht),hn=io*ft+(io-1)*tt-so;return{bottom:so,itemHeight:ft,items:ro,itemWidth:Rt,offsetBottom:hn,offsetTop:lo,top:lo}})),y),L(k(D,W(N=>N!==null),z(N=>N.length)),O),L(k(ue(S,M,y,U),W(([N,X,{items:de}])=>de.length>0&&X.height!==0&&N.height!==0),z(([N,X,{items:de},ee])=>{const{bottom:ne,top:pe}=zo(N,ee,X,de);return[pe,ne]}),te(lt)),t);const xe=I(!1);L(k(u,G(xe),z(([N,X])=>X||N!==0)),xe);const Ue=ke(k(ue(y,O),W(([{items:N}])=>N.length>0),G(xe),W(([[N,X],de])=>{const ee=N.items[N.items.length-1].index===X-1;return(de||N.bottom>0&&N.itemHeight>0&&N.offsetBottom===0&&N.items.length===X)&&ee}),z(([[,N]])=>N-1),te())),Je=ke(k(_(y),W(({items:N})=>N.length>0&&N[0].index===0),Re(0),te())),Ne=ke(k(_(y),G(J),W(([{items:N},X])=>N.length>0&&!X),z(([{items:N}])=>({endIndex:N[N.length-1].index,startIndex:N[0].index})),te($o),He(0)));L(Ne,h.scrollSeekRangeChanged),L(k(H,G(S,M,O,U),z(([N,X,de,ee,ne])=>{const pe=Xo(N),{align:ae,behavior:Z,offset:le}=pe;let be=pe.index;be==="LAST"&&(be=ee-1),be=nt(0,be,Bt(ee-1,be));let ce=Vt(X,ne,de,be);return ae==="end"?ce=No(ce-X.height+de.height):ae==="center"&&(ce=No(ce-X.height/2+de.height/2)),le!==void 0&&le!==0&&(ce+=le),{behavior:Z,top:ce}})),a);const et=ve(k(y,z(N=>N.offsetBottom+N.bottom)),0);return L(k(E,z(N=>({height:N.visibleHeight,width:N.visibleWidth}))),S),{customScrollParent:g,data:D,deviation:V,footerHeight:r,gap:U,headerHeight:l,increaseViewportBy:e,initialItemCount:d,itemDimensions:M,overscan:o,restoreStateFrom:A,scrollBy:i,scrollContainerState:c,scrollHeight:P,scrollTo:a,scrollToIndex:H,scrollTop:u,smoothScrollTargetReached:f,totalCount:O,useWindowScroll:m,viewportDimensions:S,windowScrollContainerState:p,windowScrollTo:T,windowViewportRect:E,...h,gridState:y,horizontalDirection:Me,initialTopMostItemIndex:he,totalListHeight:et,...x,endReached:Ue,propsReady:b,rangeChanged:Ne,startReached:Je,stateChanged:C,stateRestoreInProgress:J,...j}},oe(Zt,ye,mt,tn,_e,Jt,De));function mn(e,t,o){return nt(1,Tt((e+o)/(Tt(t)+o)))}function zo(e,t,o,n){const{height:r}=o;if(r===void 0||n.length===0)return{bottom:0,top:0};const l=Vt(e,t,o,n[0].index);return{bottom:Vt(e,t,o,n[n.length-1].index)+r,top:l}}function Vt(e,t,o,n){const r=mn(e.width,o.width,t.column),l=Tt(n/r),i=l*o.height+nt(0,l-1)*t.row;return i>0?i+t.row:i}const Gr=Y(()=>{const e=I(v=>`Item ${v}`),t=I({}),o=I(null),n=I("virtuoso-grid-item"),r=I("virtuoso-grid-list"),l=I(to),i=I("div"),c=I(Ze),a=(v,x=null)=>ve(k(t,z(h=>h[v]),te()),x),u=I(!1),f=I(!1);return L(_(f),u),{components:t,computeItemKey:l,context:o,FooterComponent:a("Footer"),HeaderComponent:a("Header"),headerFooterTag:i,itemClassName:n,ItemComponent:a("Item","div"),itemContent:e,listClassName:r,ListComponent:a("List","div"),readyStateChanged:u,reportReadyState:f,ScrollerComponent:a("Scroller","div"),scrollerRef:c,ScrollSeekPlaceholder:a("ScrollSeekPlaceholder","div")}}),Ur=Y(([e,t])=>({...e,...t}),oe($r,Gr)),Kr=B.memo(function(){const e=re("gridState"),t=re("listClassName"),o=re("itemClassName"),n=re("itemContent"),r=re("computeItemKey"),l=re("isSeeking"),i=Ie("scrollHeight"),c=re("ItemComponent"),a=re("ListComponent"),u=re("ScrollSeekPlaceholder"),f=re("context"),v=Ie("itemDimensions"),x=Ie("gap"),h=re("log"),w=re("stateRestoreInProgress"),b=Ie("reportReadyState"),g=$e(B.useMemo(()=>m=>{const p=m.parentElement.parentElement.scrollHeight;i(p);const T=m.firstChild;if(T!==null){const{height:E,width:j}=T.getBoundingClientRect();v({height:E,width:j})}x({column:Eo("column-gap",getComputedStyle(m).columnGap,h),row:Eo("row-gap",getComputedStyle(m).rowGap,h)})},[i,v,x,h]),!0,!1);return an(()=>{e.itemHeight>0&&e.itemWidth>0&&b(!0)},[e]),w?null:s.jsx(a,{className:t,ref:g,...ge(a,f),"data-testid":"virtuoso-item-list",style:{paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},children:e.items.map(m=>{const p=r(m.index,m.data,f);return l?s.jsx(u,{...ge(u,f),height:e.itemHeight,index:m.index,width:e.itemWidth},p):R.createElement(c,{...ge(c,f),className:o,"data-index":m.index,key:p},n(m.index,m.data,f))})})}),Yr=B.memo(function(){const e=re("HeaderComponent"),t=Ie("headerHeight"),o=re("headerFooterTag"),n=$e(B.useMemo(()=>l=>{t(Le(l,"height"))},[t]),!0,!1),r=re("context");return e!=null?s.jsx(o,{ref:n,children:s.jsx(e,{...ge(e,r)})}):null}),Xr=B.memo(function(){const e=re("FooterComponent"),t=Ie("footerHeight"),o=re("headerFooterTag"),n=$e(B.useMemo(()=>l=>{t(Le(l,"height"))},[t]),!0,!1),r=re("context");return e!=null?s.jsx(o,{ref:n,children:s.jsx(e,{...ge(e,r)})}):null}),Qr=({children:e})=>{const t=B.useContext(ln),o=Ie("itemDimensions"),n=Ie("viewportDimensions"),r=$e(B.useMemo(()=>l=>{n(l.getBoundingClientRect())},[n]),!0,!1);return B.useEffect(()=>{t&&(n({height:t.viewportHeight,width:t.viewportWidth}),o({height:t.itemHeight,width:t.itemWidth}))},[t,n,o]),s.jsx("div",{ref:r,style:Nt(!1),children:e})},qr=({children:e})=>{const t=B.useContext(ln),o=Ie("windowViewportRect"),n=Ie("itemDimensions"),r=re("customScrollParent"),l=Do(o,r,!1);return B.useEffect(()=>{t&&(n({height:t.itemHeight,width:t.itemWidth}),o({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,o,n]),s.jsx("div",{ref:l,style:Nt(!1),children:e})},Zr=B.memo(function({...e}){const t=re("useWindowScroll"),o=re("customScrollParent"),n=o||t?es:Jr,r=o||t?qr:Qr,l=re("context");return s.jsx(n,{...e,...ge(n,l),children:s.jsxs(r,{children:[s.jsx(Yr,{}),s.jsx(Kr,{}),s.jsx(Xr,{})]})})}),{useEmitter:fn,useEmitterValue:re,usePublisher:Ie}=rn(Ur,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},Zr),Jr=dn({useEmitter:fn,useEmitterValue:re,usePublisher:Ie}),es=pn({useEmitter:fn,useEmitterValue:re,usePublisher:Ie});function Eo(e,t,o){return t!=="normal"&&(t==null?void 0:t.endsWith("px"))!==!0&&o(`${e} was not resolved to pixel value correctly`,t,fe.WARN),t==="normal"?0:parseInt(t??"0",10)}const ts=150;function os({entries:e,itemCount:t}){const o=R.useRef(null),[n,r]=R.useState(!1),l=R.useRef(!1),i=R.useRef(0),c=R.useRef(e.length),a=R.useRef(0),u=R.useCallback((h="smooth")=>{o.current&&(a.current=Date.now(),o.current.scrollToIndex({index:t-1,behavior:h,align:"end"}))},[t]),f=R.useCallback(h=>l.current||!h?!1:"auto",[]),v=R.useCallback(h=>{r(!h),h&&(l.current=!1)},[]),x=R.useCallback(h=>{const b=h.target.scrollTop;if(Date.now()-a.current<ts){i.current=b;return}b-i.current<-10&&(l.current=!0),i.current=b},[]);return R.useEffect(()=>{const h=e.length,w=c.current,b=h>w;if(c.current=h,!b)return;const g=e[e.length-1];(g==null?void 0:g.type)==="user_message"&&(l.current=!1,requestAnimationFrame(()=>{requestAnimationFrame(()=>{o.current&&(a.current=Date.now(),o.current.scrollToIndex({index:"LAST",behavior:"auto",align:"end"}))})}))},[e]),{virtuosoRef:o,handleScroll:x,handleAtBottomStateChange:v,handleFollowOutput:f,showScrollButton:n,scrollToBottom:u}}/**
2
+ * @license lucide-react v0.577.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const ns=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],rs=Ae("chevron-up",ns);/**
7
+ * @license lucide-react v0.577.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const ss=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],ls=Ae("file-code",ss);/**
12
+ * @license lucide-react v0.577.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const is=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]],as=Ae("file-plus",is);/**
17
+ * @license lucide-react v0.577.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const cs=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]],us=Ae("file-x",cs);/**
22
+ * @license lucide-react v0.577.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const ds=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],ps=Ae("file",ds);/**
27
+ * @license lucide-react v0.577.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const ms=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],fs=Ae("shield-check",ms);/**
32
+ * @license lucide-react v0.577.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */const hs=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]],xs=Ae("shield-question-mark",hs);/**
37
+ * @license lucide-react v0.577.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */const gs=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]],vs=Ae("shield-x",gs),bs=/^(\/[a-zA-Z0-9_-]+)\s*/,ys=/@([\w./\\-]+\.\w+)/g;function ws(e){const t=new Date(e);return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}function Cs(e){const t=[];let o=0,n;const r=new RegExp(ys);for(;(n=r.exec(e))!==null;){n.index>o&&t.push(e.slice(o,n.index));const l=n[1];t.push(s.jsxs("span",{className:"inline-flex items-center gap-[3px] mx-[2px] px-[6px] py-[1px] rounded-[5px] text-[11px] font-mono align-middle",style:{backgroundColor:"var(--color-tint-exploring)",color:"var(--color-accent-blue)"},children:[s.jsx(ps,{size:10,strokeWidth:2}),l.split(/[\\/]/).pop()]},n.index)),o=r.lastIndex}return o<e.length&&t.push(e.slice(o)),t.length>0?t:e}function ks({entry:e}){const t=e.content.match(bs),o=t==null?void 0:t[1],n=t?e.content.slice(t[0].length):e.content;return s.jsxs("div",{className:"flex gap-[8px]",style:{paddingTop:10,paddingBottom:10},children:[s.jsx("div",{className:"shrink-0 w-6 h-6 rounded-[6px] flex items-center justify-center mt-[2px] text-[10px] font-bold",style:{backgroundColor:"var(--color-tint-exploring)",color:"var(--color-accent-blue)"},children:"U"}),s.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-1",children:[s.jsxs("div",{className:"flex items-center gap-[5px] mb-[2px]",children:[s.jsx("span",{className:"text-[11px] font-semibold",style:{color:"var(--color-text-primary)"},children:"You"}),s.jsx("span",{className:"text-[9px]",style:{color:"var(--color-text-placeholder)"},children:ws(e.timestamp)})]}),s.jsxs("div",{className:"text-[13px] leading-[1.6] whitespace-pre-wrap break-words",style:{color:"var(--color-text-primary)"},children:[o&&s.jsxs("span",{className:"inline-flex items-center gap-[4px] mr-[6px] px-[7px] py-[1px] rounded-[6px] text-[11px] font-semibold align-middle",style:{backgroundColor:"var(--color-tint-planning)",color:"var(--color-accent-purple)"},children:[s.jsx(Bo,{size:10,strokeWidth:2}),o]}),Cs(n)]})]})]})}function Ts({children:e,maxHeight:t=300,expandLabel:o="Show more",collapseLabel:n="Show less"}){var x;const r=R.useRef(null),[l,i]=R.useState(!1),[c,a]=R.useState(!1);R.useEffect(()=>{const h=r.current;if(!h)return;const w=()=>{const g=h.scrollHeight;i(g>t)};w();const b=new ResizeObserver(()=>{requestAnimationFrame(w)});return b.observe(h),()=>{b.disconnect()}},[t]);const u=R.useCallback(()=>a(h=>!h),[]),v=l&&!c?{maxHeight:`${t}px`,overflow:"hidden",maskImage:"linear-gradient(to bottom, black calc(100% - 60px), transparent)",WebkitMaskImage:"linear-gradient(to bottom, black calc(100% - 60px), transparent)",transition:"max-height 0.35s ease"}:{maxHeight:l?`${((x=r.current)==null?void 0:x.scrollHeight)??9999}px`:"none",overflow:"hidden",transition:"max-height 0.35s ease"};return s.jsxs("div",{children:[s.jsx("div",{ref:r,style:v,children:e}),l&&s.jsx("button",{type:"button",onClick:u,className:"flex items-center gap-1 mt-2 px-0 py-1 text-[12px] font-medium border-none bg-transparent cursor-pointer",style:{color:"color-mix(in srgb, var(--color-text-secondary) 80%, transparent)"},children:c?s.jsxs(s.Fragment,{children:[s.jsx(rs,{size:14}),n]}):s.jsxs(s.Fragment,{children:[s.jsx(vn,{size:14}),o]})})]})}const Qe={"claude-code":{label:"C",color:"var(--color-accent-purple)",tint:"var(--color-tint-planning)",className:"claude"},codex:{label:"Cx",color:"var(--color-accent-green)",tint:"var(--color-tint-completed)",className:"codex"},"codex-server":{label:"Cs",color:"var(--color-accent-green)",tint:"var(--color-tint-completed)",className:"codex"},gemini:{label:"G",color:"var(--color-accent-blue)",tint:"var(--color-tint-exploring)",className:"gemini"},"gemini-a2a":{label:"Ga",color:"var(--color-accent-blue)",tint:"var(--color-tint-exploring)",className:"gemini"},qwen:{label:"Q",color:"var(--color-accent-orange)",tint:"var(--color-tint-verifying)",className:"qwen"},opencode:{label:"O",color:"var(--color-text-tertiary)",tint:"var(--color-bg-secondary)",className:"opencode"},"agent-sdk":{label:"S",color:"var(--color-accent-purple)",tint:"var(--color-tint-planning)",className:"claude"}};function Is(e){const t=new Date(e);return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}function Ss({entry:e,isGroupContinuation:t}){const o=Pe(i=>i.processes[e.processId]),n=o==null?void 0:o.type,r=(o==null?void 0:o.status)==="running"||(o==null?void 0:o.status)==="spawning",l=Qe[n??"claude-code"]??Qe["claude-code"];return s.jsxs("div",{className:"flex gap-[8px]",style:{paddingTop:t?0:10,paddingBottom:10},children:[t?s.jsx("div",{className:"shrink-0 w-6"}):s.jsxs("div",{className:"relative shrink-0 w-6 h-6 rounded-[6px] flex items-center justify-center mt-[2px] text-[10px] font-bold",style:{backgroundColor:l.tint,color:l.color},children:[l.label,r&&s.jsx("span",{className:"absolute inset-[-3px] rounded-[8px] pointer-events-none",style:{border:"1.5px solid currentColor",color:l.color,opacity:.3,animation:"avatar-pulse 2.5s ease-in-out infinite"}})]}),s.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-1 contain-content",children:[!t&&s.jsxs("div",{className:"flex items-center gap-[5px] mb-[2px]",children:[s.jsx("span",{className:"text-[11px] font-semibold",style:{color:"var(--color-text-primary)"},children:Ot[n??"claude-code"]??"Maestro"}),s.jsx("span",{className:"text-[9px]",style:{color:"var(--color-text-placeholder)"},children:Is(e.timestamp)})]}),e.partial?s.jsxs("div",{className:"text-text-primary text-[13px] leading-[1.6] whitespace-pre-wrap break-words",children:[e.content,s.jsx("span",{className:"inline-block w-[2px] h-[1em] ml-[2px] align-text-bottom",style:{backgroundColor:"var(--color-accent-orange)",animation:"blink-cursor 1s step-end infinite"},"aria-label":"Typing"})]}):s.jsx(Ts,{maxHeight:300,children:s.jsx(jn,{content:e.content})})]})]})}function js({entry:e}){const[t,o]=R.useState(!1),n=Pe(i=>i.entries[e.processId]??[]),r=R.useMemo(()=>{const i=n.findIndex(a=>a.id===e.id);return i===-1||i===n.length-1||!n[i+1]},[n,e.id]),l=R.useMemo(()=>{if(r)return"Thinking...";const i=n.findIndex(v=>v.id===e.id),c=n[i+1];if(!c)return"Thinking...";const a=new Date(e.timestamp).getTime(),u=new Date(c.timestamp).getTime(),f=Math.round((u-a)/1e3);return f<1?"Thought for <1s":`Thought for ${f}s`},[n,e.id,e.timestamp,r]);return s.jsxs("div",{className:"contain-content",children:[s.jsxs("button",{type:"button",onClick:()=>o(i=>!i),className:"flex items-center gap-[5px] w-full rounded-[6px] cursor-pointer transition-opacity hover:opacity-80",style:{padding:"6px 10px",backgroundColor:"var(--color-tint-planning)",margin:"3px 0",fontSize:"10px",color:"var(--color-accent-purple)",fontWeight:500,border:"none",textAlign:"left",fontFamily:"inherit"},children:[r&&s.jsxs("span",{className:"flex gap-[2px]",children:[s.jsx("span",{className:"w-[3px] h-[3px] rounded-full animate-bounce",style:{backgroundColor:"var(--color-accent-purple)",animationDelay:"0ms",opacity:.7}}),s.jsx("span",{className:"w-[3px] h-[3px] rounded-full animate-bounce",style:{backgroundColor:"var(--color-accent-purple)",animationDelay:"200ms",opacity:.7}}),s.jsx("span",{className:"w-[3px] h-[3px] rounded-full animate-bounce",style:{backgroundColor:"var(--color-accent-purple)",animationDelay:"400ms",opacity:.7}})]}),s.jsx("span",{className:"truncate",children:r?e.content.slice(0,60)||"Thinking...":l})]}),t&&s.jsx("div",{className:"text-[11px] leading-[1.6] italic mt-[2px] pl-[10px] whitespace-pre-wrap break-words",style:{color:"var(--color-text-tertiary)"},children:e.content})]})}const Ns={pending:{color:"var(--color-text-tertiary)",label:"Pending"},running:{color:"var(--color-accent-yellow)",label:"Running"},completed:{color:"var(--color-accent-green)",label:"Done"},failed:{color:"var(--color-accent-red, #D05454)",label:"Failed"}};function Rs(e){if(!e)return null;const t=e.file_path??e.path??e.command;return typeof t=="string"?t:null}function zs({name:e}){const t={width:11,height:11,color:"var(--color-text-tertiary)",flexShrink:0};return e==="Read"||e==="Glob"||e==="Grep"?s.jsxs("svg",{style:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),s.jsx("polyline",{points:"14 2 14 8 20 8"})]}):e==="Edit"||e==="Write"||e==="NotebookEdit"?s.jsxs("svg",{style:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"})]}):e==="Bash"?s.jsxs("svg",{style:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("polyline",{points:"4 17 10 11 4 5"}),s.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]}):s.jsx("svg",{style:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})})}function Es({entry:e}){const[t,o]=R.useState(!1),n=Ns[e.status],r=Rs(e.input),l=e.name==="unknown"?"Tool Call":e.name;return s.jsxs("div",{className:"contain-content",children:[s.jsxs("button",{type:"button",onClick:()=>o(i=>!i),className:"flex items-center gap-[5px] w-full rounded-[5px] cursor-pointer transition-opacity hover:opacity-80",style:{padding:"4px 8px",backgroundColor:"var(--color-bg-secondary)",margin:"3px 0",fontSize:"10px",color:"var(--color-text-secondary)",border:"none",textAlign:"left",fontFamily:"inherit"},children:[s.jsx(zs,{name:l}),s.jsx("span",{className:"font-semibold",style:{color:"var(--color-text-primary)"},children:l}),r&&s.jsx("span",{className:"truncate font-mono text-[10px]",style:{color:"var(--color-text-tertiary)"},children:r}),s.jsx("span",{className:"ml-auto shrink-0 text-[9px] font-semibold",style:{color:n.color},children:n.label})]}),t&&s.jsxs("div",{className:"mt-[2px] space-y-[4px]",children:[e.input&&Object.keys(e.input).length>0&&s.jsx("pre",{className:"text-[11px] font-mono rounded-[6px] p-[6px_8px] overflow-x-auto max-h-[120px] overflow-y-auto whitespace-pre-wrap break-words leading-[1.5]",style:{background:"var(--color-bg-primary)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border-divider)"},children:JSON.stringify(e.input,null,2)}),e.result!=null&&e.result.length>0&&s.jsx("pre",{className:"text-[11px] font-mono rounded-[6px] p-[6px_8px] overflow-x-auto max-h-[120px] overflow-y-auto whitespace-pre-wrap break-words leading-[1.5]",style:{background:"var(--color-bg-primary)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border-divider)"},children:e.result})]})]})}const Hs={create:{icon:as,color:"var(--color-accent-green)",bg:"var(--color-status-bg-completed)",label:"Create"},modify:{icon:ls,color:"var(--color-accent-yellow)",bg:"var(--color-status-bg-executing)",label:"Modify"},delete:{icon:us,color:"var(--color-accent-red)",bg:"var(--color-status-bg-blocked)",label:"Delete"}};function Ms({entry:e}){const[t,o]=R.useState(!1),n=Hs[e.action],r=n.icon,l=e.diff!=null&&e.diff.length>0;return s.jsxs("div",{className:"rounded-[10px] border border-border overflow-hidden contain-content transition-shadow",style:{backgroundColor:"var(--color-bg-card)",transitionDuration:"var(--duration-slow)"},onMouseEnter:i=>{i.currentTarget.style.boxShadow="0 2px 12px rgba(45,42,38,0.06)"},onMouseLeave:i=>{i.currentTarget.style.boxShadow="none"},children:[s.jsxs("button",{type:"button",onClick:()=>l&&o(i=>!i),className:`flex items-center gap-[var(--spacing-2)] w-full px-[var(--spacing-3)] py-[var(--spacing-2)] text-left transition-colors ${l?"hover:bg-bg-hover cursor-pointer":"cursor-default"}`,style:{transitionDuration:"var(--duration-fast)"},children:[s.jsx(r,{size:14,className:"shrink-0",strokeWidth:1.8,style:{color:n.color}}),s.jsx("span",{className:"text-[11px] font-mono truncate",style:{color:"var(--color-text-secondary)"},children:e.path}),s.jsx("span",{className:"ml-auto shrink-0 rounded-[var(--radius-sm)] px-[7px] py-[2px] text-[10px] font-bold uppercase tracking-[0.03em]",style:{backgroundColor:n.bg,color:n.color},children:n.label}),l&&s.jsx($t,{size:14,className:"shrink-0 transition-transform text-text-tertiary",style:{transitionDuration:"var(--duration-fast)",transform:t?"rotate(90deg)":"rotate(0deg)"}})]}),t&&l&&s.jsx("div",{className:"border-t border-border-divider",children:s.jsx("pre",{className:"text-[length:var(--font-size-xs)] font-mono p-[var(--spacing-3)] overflow-x-auto max-h-[300px] overflow-y-auto",style:{background:"var(--code-bg)",color:"var(--code-t1)"},children:e.diff.split(`
42
+ `).map((i,c)=>{const a=i.startsWith("+"),u=i.startsWith("-");return s.jsx("div",{style:{background:a?"rgba(90, 158, 120, 0.1)":u?"rgba(196, 101, 85, 0.1)":void 0,color:a?"#5A9E78":u?"#C46555":void 0},children:i},c)})})})]})}function Bs({entry:e}){const[t,o]=R.useState(!1),n=e.output!=null&&e.output.length>0,r=e.exitCode!=null&&e.exitCode!==0;return s.jsxs("div",{className:"rounded-[10px] border overflow-hidden contain-content font-mono",style:{backgroundColor:"var(--code-bg)",borderColor:r?"var(--color-accent-red)":"var(--code-border)"},children:[s.jsxs("button",{type:"button",onClick:()=>n&&o(l=>!l),className:`flex items-center gap-[var(--spacing-2)] w-full px-[var(--spacing-3)] py-[var(--spacing-2)] text-left transition-colors ${n?"cursor-pointer":"cursor-default"}`,style:{transitionDuration:"var(--duration-fast)"},onMouseEnter:l=>{n&&(l.currentTarget.style.backgroundColor="rgba(255,255,255,0.03)")},onMouseLeave:l=>{l.currentTarget.style.backgroundColor="transparent"},children:[s.jsx(Nn,{size:14,className:"shrink-0",style:{color:"var(--code-t2)"}}),s.jsx("span",{className:"text-[12px] font-medium truncate",style:{color:"var(--code-t1)"},children:e.command}),e.exitCode!=null&&s.jsxs("span",{className:"ml-auto shrink-0 text-[10px] font-semibold px-[7px] py-[2px] rounded-[var(--radius-sm)]",style:{color:r?"#D4A07A":"#A3BE8C",backgroundColor:r?"rgba(196,101,85,0.15)":"rgba(90,158,120,0.15)"},children:["exit ",e.exitCode]}),n&&s.jsx($t,{size:14,className:"shrink-0 transition-transform",style:{color:"var(--code-t2)",transitionDuration:"var(--duration-fast)",transform:t?"rotate(90deg)":"rotate(0deg)"}})]}),t&&n&&s.jsx("div",{style:{borderTop:"1px solid var(--code-border)"},children:s.jsx("pre",{className:"text-[11px] leading-[1.5] p-[var(--spacing-3)] overflow-x-auto max-h-[300px] overflow-y-auto whitespace-pre-wrap break-words",style:{color:"var(--code-t2)"},children:e.output})})]})}function Lt({label:e,light:t}){return s.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:18,height:16,padding:"0 4px",borderRadius:3,fontSize:10,fontFamily:"monospace",fontWeight:600,lineHeight:1,backgroundColor:t?"rgba(255,255,255,0.2)":"var(--color-bg-hover)",color:t?"rgba(255,255,255,0.8)":"var(--color-text-tertiary)",border:t?"none":"1px solid var(--color-border-divider)"},children:e})}function Ls({entry:e}){function t(o){yt({action:"approve",processId:e.processId,requestId:e.requestId,allow:o})}return s.jsxs("div",{className:"rounded-[10px] overflow-hidden contain-content",style:{backgroundColor:"var(--color-tint-verifying)",border:"1.5px solid var(--color-accent-orange)"},children:[s.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] px-[var(--spacing-3)] py-[9px]",style:{borderBottom:"1px solid rgba(200,134,58,0.15)"},children:[s.jsx(xs,{size:15,className:"shrink-0",strokeWidth:1.8,style:{color:"var(--color-accent-orange)"}}),s.jsx("span",{className:"text-[12px] font-semibold text-text-primary",children:"Permission Required"}),s.jsx("span",{className:"ml-auto shrink-0 rounded-[var(--radius-full)] px-[var(--spacing-2)] py-[2px] text-[10px] font-semibold",style:{backgroundColor:"rgba(200,134,58,0.12)",color:"var(--color-accent-orange)"},children:e.toolName})]}),s.jsx("div",{className:"px-[var(--spacing-3)] py-[10px]",children:s.jsx("pre",{className:"text-[11px] font-mono rounded-[var(--radius-default)] p-[8px_10px] overflow-x-auto max-h-[100px] overflow-y-auto whitespace-pre-wrap break-words",style:{color:"var(--color-text-secondary)",backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border-divider)"},children:JSON.stringify(e.toolInput,null,2)})}),s.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] px-[var(--spacing-3)] py-[var(--spacing-2)]",style:{borderTop:"1px solid rgba(200,134,58,0.15)"},children:[s.jsxs("button",{type:"button",onClick:()=>t(!0),className:"rounded-[var(--radius-md)] px-[var(--spacing-4)] py-[5px] text-[12px] font-semibold transition-all hover:opacity-90 flex items-center gap-[6px]",style:{backgroundColor:"var(--color-accent-green)",color:"#fff"},children:["Allow",s.jsx(Lt,{label:"Y",light:!0})]}),s.jsxs("button",{type:"button",onClick:()=>t(!1),className:"rounded-[var(--radius-md)] px-[var(--spacing-4)] py-[5px] text-[12px] font-semibold border transition-all flex items-center gap-[6px]",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-card)",color:"var(--color-accent-red)"},onMouseEnter:o=>{const n=o.currentTarget;n.style.borderColor="var(--color-accent-red)",n.style.backgroundColor="var(--color-tint-blocked)"},onMouseLeave:o=>{const n=o.currentTarget;n.style.borderColor="var(--color-border)",n.style.backgroundColor="var(--color-bg-card)"},children:["Deny",s.jsx(Lt,{label:"Esc"})]}),s.jsxs("span",{className:"ml-auto text-[10px]",style:{color:"var(--color-text-placeholder)"},children:[s.jsx(Lt,{label:"A"})," Always"]})]})]})}function As({entry:e}){const t=e.allowed?fs:vs,o=e.allowed?"var(--color-accent-green)":"var(--color-accent-red)",n=e.allowed?"var(--color-status-bg-completed)":"var(--color-status-bg-blocked)",r=e.allowed?"Allowed":"Denied";return s.jsx("div",{className:"flex items-center justify-center",children:s.jsxs("span",{className:"inline-flex items-center gap-[var(--spacing-1-5)] rounded-[var(--radius-full)] px-[var(--spacing-3)] py-[var(--spacing-1)] text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)]",style:{backgroundColor:n,color:o},children:[s.jsx(t,{size:12}),r]})})}function Os(e){const t=e.split(`
43
+ `)[0],o=t.length>100?t.slice(0,100)+"...":t,n=e.includes(`
44
+ `)||t.length>100;return{summary:o,hasMore:n}}function Ds({entry:e}){const[t,o]=R.useState(!1),{summary:n,hasMore:r}=Os(e.message);return s.jsxs("div",{className:"contain-content",children:[s.jsxs("button",{type:"button",onClick:()=>r&&o(l=>!l),className:"flex items-center gap-[5px] w-full rounded-[5px] transition-opacity hover:opacity-80",style:{padding:"4px 8px",backgroundColor:"rgba(208, 84, 84, 0.06)",margin:"3px 0",fontSize:"10px",color:"var(--color-accent-red, #D05454)",border:"none",textAlign:"left",fontFamily:"inherit",cursor:r?"pointer":"default"},children:[r&&s.jsx($t,{size:10,className:"shrink-0 transition-transform duration-150",style:{transform:t?"rotate(90deg)":"none"}}),s.jsx(Rn,{size:11,className:"shrink-0",strokeWidth:1.8}),s.jsx("span",{className:"truncate flex-1 min-w-0",style:{color:"var(--color-accent-red, #D05454)"},children:n}),e.code&&s.jsx("code",{className:"ml-auto shrink-0 font-mono text-[9px] px-[4px] py-[1px] rounded-[3px]",style:{backgroundColor:"rgba(208, 84, 84, 0.08)",color:"var(--color-accent-red, #D05454)"},children:e.code})]}),t&&r&&s.jsx("pre",{className:"text-[11px] font-mono rounded-[6px] p-[6px_8px] overflow-x-auto max-h-[160px] overflow-y-auto whitespace-pre-wrap break-words leading-[1.5] mt-[2px]",style:{background:"rgba(208, 84, 84, 0.04)",color:"var(--color-accent-red, #D05454)",border:"1px solid rgba(208, 84, 84, 0.12)"},children:e.message})]})}const _s={spawning:"var(--color-status-exploring)",running:"var(--color-status-executing)",paused:"var(--color-status-pending)",stopping:"var(--color-accent-orange)",stopped:"var(--color-status-pending)",error:"var(--color-accent-red)"},Ws={spawning:"var(--color-status-bg-exploring)",running:"var(--color-status-bg-executing)",paused:"var(--color-status-bg-pending)",stopping:"var(--color-status-bg-verifying)",stopped:"var(--color-status-bg-pending)",error:"var(--color-status-bg-blocked)"};function Fs({entry:e}){const t=_s[e.status]??"var(--color-text-tertiary)",o=Ws[e.status]??"var(--color-bg-secondary)";return s.jsxs("div",{className:"flex items-center justify-center gap-[var(--spacing-2)] py-[var(--spacing-1-5)]",children:[s.jsx("span",{className:"flex-1 max-w-[80px] h-[1px]",style:{backgroundColor:"var(--color-border-divider)"}}),s.jsxs("span",{className:"inline-flex items-center gap-[5px] rounded-[var(--radius-full)] px-[10px] py-[2px] text-[10px] font-semibold",style:{backgroundColor:o,color:t},children:[s.jsx(bn,{size:10,strokeWidth:2}),e.status,e.reason&&s.jsxs("span",{className:"text-text-tertiary",children:["-- ",e.reason]})]}),s.jsx("span",{className:"flex-1 max-w-[80px] h-[1px]",style:{backgroundColor:"var(--color-border-divider)"}})]})}function Ho(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Ps({entry:e}){const t=e.inputTokens+e.outputTokens,n=Math.min(100,Math.round(t/2e5*100));return s.jsxs("div",{className:"flex items-center gap-[10px] px-3 py-[6px] rounded-[8px] border",style:{backgroundColor:"var(--color-bg-primary)",borderColor:"var(--color-border-divider)"},children:[s.jsx("span",{className:"text-[10px] font-medium",style:{color:"var(--color-text-tertiary)"},children:"Tokens"}),s.jsx("span",{className:"text-[11px] font-mono font-medium",style:{color:"var(--color-text-secondary)"},children:Ho(t)}),s.jsx("div",{className:"flex-1 max-w-[60px] h-1 rounded-[2px] overflow-hidden",style:{backgroundColor:"var(--color-bg-tertiary)"},children:s.jsx("div",{className:"h-full rounded-[2px]",style:{width:`${n}%`,backgroundColor:"var(--color-accent-orange)"}})}),s.jsx("span",{className:"w-px h-3",style:{backgroundColor:"var(--color-border-divider)"}}),e.cacheReadTokens!=null&&e.cacheReadTokens>0&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-[10px] font-medium",style:{color:"var(--color-text-tertiary)"},children:"Cache"}),s.jsx("span",{className:"text-[11px] font-mono font-medium",style:{color:"var(--color-text-secondary)"},children:Ho(e.cacheReadTokens)})]}),"cost"in e&&typeof e.cost=="number"&&s.jsxs("span",{className:"text-[10px] ml-auto",style:{color:"var(--color-text-tertiary)"},children:["$",e.cost.toFixed(3)]})]})}function Vs({entry:e,isGroupContinuation:t}){switch(e.type){case"user_message":return s.jsx(ks,{entry:e});case"assistant_message":return s.jsx(Ss,{entry:e,isGroupContinuation:t});case"thinking":return s.jsx(js,{entry:e});case"tool_use":return s.jsx(Es,{entry:e});case"file_change":return s.jsx(Ms,{entry:e});case"command_exec":return s.jsx(Bs,{entry:e});case"approval_request":return s.jsx(Ls,{entry:e});case"approval_response":return s.jsx(As,{entry:e});case"error":return s.jsx(Ds,{entry:e});case"status_change":return s.jsx(Fs,{entry:e});case"token_usage":return s.jsx(Ps,{entry:e});default:return null}}const $s=new Set(["assistant_message","error","command_exec","tool_use"]);function Gs(e){const t={source_entry_id:e.id,source_process_id:e.processId};switch(e.type){case"assistant_message":return{...t,title:"Issue from assistant message",description:e.content.slice(0,2e3)};case"error":return{...t,title:`Error: ${e.message.slice(0,100)}`,description:e.message+(e.code?`
45
+ Code: ${e.code}`:""),type:"bug",priority:"high"};case"command_exec":return{...t,title:`Issue from command: ${e.command.slice(0,80)}`,description:[`Command: ${e.command}`,e.exitCode!==void 0?`Exit code: ${e.exitCode}`:"",e.output?`Output:
46
+ ${e.output.slice(0,1500)}`:""].filter(Boolean).join(`
47
+ `),type:e.exitCode!==0?"bug":"task"};case"tool_use":return{...t,title:`Issue from tool: ${e.name}`,description:[`Tool: ${e.name}`,`Status: ${e.status}`,`Input: ${JSON.stringify(e.input,null,2).slice(0,500)}`,e.result?`Result: ${e.result.slice(0,1e3)}`:""].filter(Boolean).join(`
48
+ `),type:e.status==="failed"?"bug":"task"};default:return t}}function Us({entry:e,children:t,onCreateIssue:o}){const[n,r]=R.useState(null),l=R.useRef(null),i=$s.has(e.type),c=R.useCallback(u=>{i&&(u.preventDefault(),r({x:u.clientX,y:u.clientY}))},[i]);R.useEffect(()=>{if(!n)return;function u(){r(null)}function f(v){v.key==="Escape"&&r(null)}return document.addEventListener("click",u),document.addEventListener("keydown",f),()=>{document.removeEventListener("click",u),document.removeEventListener("keydown",f)}},[n]);const a=R.useCallback(()=>{r(null),o(Gs(e))},[e,o]);return s.jsxs("div",{onContextMenu:c,className:"relative",children:[t,n&&s.jsx("div",{ref:l,className:Be("fixed z-[100] min-w-[160px] rounded-[var(--radius-default)]","border border-border bg-bg-primary shadow-lg","py-[var(--spacing-1)]","animate-in fade-in-0 zoom-in-95"),style:{left:n.x,top:n.y},role:"menu",children:s.jsxs("button",{type:"button",role:"menuitem",onClick:a,className:Be("flex items-center gap-[var(--spacing-2)] w-full px-[var(--spacing-3)] py-[var(--spacing-1-5)]","text-left text-[length:var(--font-size-sm)] text-text-secondary","hover:bg-bg-hover hover:text-text-primary","transition-colors duration-[var(--duration-fast)]"),children:[s.jsxs("svg",{className:"w-4 h-4 shrink-0",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("circle",{cx:"12",cy:"12",r:"10"}),s.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"16"}),s.jsx("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]}),"Create Issue"]})})]})}const Ks=[{value:"bug",label:"Bug"},{value:"feature",label:"Feature"},{value:"improvement",label:"Improvement"},{value:"task",label:"Task"}],Ys=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"urgent",label:"Urgent"}],vt=Be("w-full px-[var(--spacing-3)] py-[var(--spacing-2)]","rounded-[var(--radius-default)] border border-border","bg-bg-secondary text-text-primary","text-[length:var(--font-size-sm)]","focus:outline-none focus:shadow-[var(--shadow-focus-ring)]","transition-shadow duration-[var(--duration-fast)]"),bt="block text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] text-text-secondary mb-[var(--spacing-1)]";function Xs({open:e,onOpenChange:t,prefill:o}){const n=yn(b=>b.createIssue),[r,l]=R.useState(""),[i,c]=R.useState(""),[a,u]=R.useState("task"),[f,v]=R.useState("medium"),[x,h]=R.useState(!1);R.useEffect(()=>{e&&o&&(l(o.title??""),c(o.description??""),u(o.type??"task"),v(o.priority??"medium")),e||(l(""),c(""),u("task"),v("medium"))},[e,o]);const w=R.useCallback(async()=>{if(!r.trim())return;h(!0);const b={title:r.trim(),description:i,type:a,priority:f};o!=null&&o.source_entry_id&&(b.source_entry_id=o.source_entry_id),o!=null&&o.source_process_id&&(b.source_process_id=o.source_process_id),await n(b),h(!1),t(!1)},[r,i,a,f,o,n,t]);return s.jsx(wn,{open:e,onOpenChange:t,children:s.jsxs(Cn,{children:[s.jsx(kn,{className:"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),s.jsxs(Tn,{className:Be("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2","w-[560px] max-w-[95vw] max-h-[85vh]","rounded-[var(--radius-lg)] border border-border bg-bg-primary shadow-lg","flex flex-col overflow-hidden","focus:outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"),children:[s.jsxs("div",{className:"flex items-center justify-between px-[var(--spacing-6)] py-[var(--spacing-4)] border-b border-border shrink-0",children:[s.jsx(In,{className:"text-[length:var(--font-size-lg)] font-[var(--font-weight-semibold)] text-text-primary",children:"Create Issue"}),s.jsx(co,{className:Be("w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)]","text-text-secondary hover:text-text-primary hover:bg-bg-hover","transition-colors duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]"),"aria-label":"Close",children:s.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),s.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto p-[var(--spacing-6)] space-y-[var(--spacing-4)]",children:[s.jsxs("div",{children:[s.jsx("label",{htmlFor:"issue-title",className:bt,children:"Title"}),s.jsx("input",{id:"issue-title",type:"text",value:r,onChange:b=>l(b.target.value),placeholder:"Brief summary of the issue",className:vt,autoFocus:!0})]}),s.jsxs("div",{children:[s.jsx("label",{htmlFor:"issue-desc",className:bt,children:"Description"}),s.jsx("textarea",{id:"issue-desc",value:i,onChange:b=>c(b.target.value),placeholder:"Detailed description...",rows:6,className:Be(vt,"resize-y min-h-[120px]")})]}),s.jsxs("div",{className:"flex gap-[var(--spacing-4)]",children:[s.jsxs("div",{className:"flex-1",children:[s.jsx("label",{htmlFor:"issue-type",className:bt,children:"Type"}),s.jsx("select",{id:"issue-type",value:a,onChange:b=>u(b.target.value),className:vt,children:Ks.map(b=>s.jsx("option",{value:b.value,children:b.label},b.value))})]}),s.jsxs("div",{className:"flex-1",children:[s.jsx("label",{htmlFor:"issue-priority",className:bt,children:"Priority"}),s.jsx("select",{id:"issue-priority",value:f,onChange:b=>v(b.target.value),className:vt,children:Ys.map(b=>s.jsx("option",{value:b.value,children:b.label},b.value))})]})]})]}),s.jsxs("div",{className:"flex items-center justify-end gap-[var(--spacing-3)] px-[var(--spacing-6)] py-[var(--spacing-4)] border-t border-border shrink-0",children:[s.jsx(co,{className:Be("px-[var(--spacing-4)] py-[var(--spacing-2)]","rounded-[var(--radius-default)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","text-text-secondary hover:text-text-primary hover:bg-bg-hover","transition-colors duration-[var(--duration-fast)]"),children:"Cancel"}),s.jsx("button",{type:"button",disabled:!r.trim()||x,onClick:w,className:Be("px-[var(--spacing-4)] py-[var(--spacing-2)]","rounded-[var(--radius-default)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","bg-[var(--color-accent-blue)] text-white","hover:opacity-90","disabled:opacity-50 disabled:cursor-not-allowed","transition-opacity duration-[var(--duration-fast)]"),children:x?"Creating...":"Create Issue"})]})]})]})})}const Mo=[];function Qs({agentType:e}){const t=Qe[e??"claude-code"]??Qe["claude-code"];return s.jsx("div",{className:"max-w-[700px] mx-auto px-4",children:s.jsxs("div",{className:"flex gap-[8px]",style:{paddingTop:10,paddingBottom:10},children:[s.jsxs("div",{className:"relative shrink-0 w-6 h-6 rounded-[6px] flex items-center justify-center mt-[2px] text-[10px] font-bold",style:{backgroundColor:t.tint,color:t.color},children:[t.label,s.jsx("span",{className:"absolute inset-[-3px] rounded-[8px] pointer-events-none",style:{border:"1.5px solid currentColor",color:t.color,opacity:.3,animation:"avatar-pulse 2.5s ease-in-out infinite"}})]}),s.jsxs("div",{className:"flex items-center gap-[3px] pt-[6px]",children:[s.jsx("span",{className:"w-[5px] h-[5px] rounded-full animate-bounce",style:{backgroundColor:t.color,animationDelay:"0ms",opacity:.7}}),s.jsx("span",{className:"w-[5px] h-[5px] rounded-full animate-bounce",style:{backgroundColor:t.color,animationDelay:"150ms",opacity:.7}}),s.jsx("span",{className:"w-[5px] h-[5px] rounded-full animate-bounce",style:{backgroundColor:t.color,animationDelay:"300ms",opacity:.7}})]})]})})}function gl({processId:e}){const t=Pe(p=>e?p.entries[e]??Mo:Mo),o=Pe(p=>e?p.processes[e]:void 0),{virtuosoRef:n,handleScroll:r,handleFollowOutput:l,handleAtBottomStateChange:i,showScrollButton:c,scrollToBottom:a}=os({entries:t,itemCount:t.length}),[u,f]=R.useState(!1),[v,x]=R.useState(),h=R.useCallback(p=>{x(p),f(!0)},[]),w=o==null?void 0:o.status,g=!((e==null?void 0:e.startsWith("cli-history-"))??!1)&&(w==="running"||w==="spawning"),m=R.useMemo(()=>{if(!g||t.length===0)return!1;const p=t[t.length-1];return!(p.type==="assistant_message"&&p.partial)},[g,t]);if(!e)return s.jsx("div",{className:"flex-1 flex items-center justify-center text-text-tertiary text-[length:var(--font-size-sm)]",children:"Select a session or start a new conversation"});if(t.length===0){if(g){const p=Qe[(o==null?void 0:o.type)??"claude-code"]??Qe["claude-code"];return s.jsx("div",{className:"flex-1 flex items-center justify-center",children:s.jsxs("div",{className:"flex flex-col items-center gap-3",children:[s.jsxs("div",{className:"relative w-8 h-8 rounded-[8px] flex items-center justify-center text-[12px] font-bold",style:{backgroundColor:p.tint,color:p.color},children:[p.label,s.jsx("span",{className:"absolute inset-[-3px] rounded-[10px] pointer-events-none",style:{border:"1.5px solid currentColor",color:p.color,opacity:.3,animation:"avatar-pulse 2.5s ease-in-out infinite"}})]}),s.jsxs("div",{className:"flex gap-1",children:[s.jsx("span",{className:"w-[5px] h-[5px] rounded-full animate-bounce",style:{backgroundColor:p.color,animationDelay:"0ms",opacity:.7}}),s.jsx("span",{className:"w-[5px] h-[5px] rounded-full animate-bounce",style:{backgroundColor:p.color,animationDelay:"150ms",opacity:.7}}),s.jsx("span",{className:"w-[5px] h-[5px] rounded-full animate-bounce",style:{backgroundColor:p.color,animationDelay:"300ms",opacity:.7}})]}),s.jsx("span",{className:"text-[12px]",style:{color:"var(--color-text-tertiary)"},children:w==="spawning"?"Starting agent...":"Thinking..."})]})})}return s.jsx("div",{className:"flex-1 flex items-center justify-center text-text-tertiary text-[length:var(--font-size-sm)]",children:"No messages yet"})}return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex-1 relative",style:{minHeight:0},children:[s.jsx(_r,{ref:n,data:t,followOutput:l,atBottomStateChange:i,onScroll:r,atBottomThreshold:60,className:"h-full",style:{height:"100%"},components:m?{Footer:()=>s.jsx(Qs,{agentType:o==null?void 0:o.type})}:{},itemContent:(p,T)=>{let E=!1;if(T.type==="assistant_message"&&p>0)for(let j=p-1;j>=0;j--){const O=t[j];if(O.type==="assistant_message"){E=!0;break}if(O.type==="user_message")break}return s.jsx("div",{className:"max-w-[700px] mx-auto px-4",children:s.jsx(Us,{entry:T,onCreateIssue:h,children:s.jsx(Vs,{entry:T,isGroupContinuation:E})})})}}),c&&s.jsx("button",{type:"button",onClick:()=>a("smooth"),style:{position:"absolute",bottom:"16px",right:"16px",width:"36px",height:"36px",borderRadius:"50%",border:"1px solid var(--color-border)",background:"var(--color-bg-secondary)",color:"var(--color-text-secondary)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",transition:"opacity 150ms ease",zIndex:10},"aria-label":"Scroll to bottom",children:s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M8 3v10M4 9l4 4 4-4"})})})]}),s.jsx(Xs,{open:u,onOpenChange:f,prefill:v})]})}const qs=()=>{const e=R.useRef(!1);return{isComposing:e,compositionHandlers:{onCompositionStartCapture:()=>{e.current=!0},onCompositionEndCapture:()=>{e.current=!1}},createKeyDownHandler:(n,r)=>l=>{e.current||r!=null&&r(l)||l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),n())}}},Zs=/^\/([a-zA-Z0-9_-]*)$/;function Js(e){const t=e.match(Zs);return t?t[1]:null}function el(e){const{input:t,commands:o,onSelect:n}=e,r=R.useMemo(()=>Js(t),[t]),[l,i]=R.useState(0),[c,a]=R.useState(!1);R.useEffect(()=>{i(0),a(!1)},[r]);const u=R.useMemo(()=>{if(r===null)return[];const h=r.trim().toLowerCase();return h?o.filter(w=>w.name.toLowerCase().startsWith("/"+h)||w.name.toLowerCase().startsWith(h)):o},[o,r]),f=r!==null&&!c&&u.length>0,v=R.useCallback(h=>{const w=u[h];return w?(n(w.name),a(!0),!0):!1},[u,n]),x=R.useCallback(h=>f?h.key==="Escape"?(h.preventDefault(),a(!0),!0):h.key==="ArrowDown"?(h.preventDefault(),i(w=>(w+1)%u.length),!0):h.key==="ArrowUp"?(h.preventDefault(),i(w=>(w-1+u.length)%u.length),!0):h.key==="Enter"&&!h.shiftKey?(h.preventDefault(),v(l)):!1:!1,[l,v,u.length,f]);return{isOpen:f,activeIndex:l,filteredCommands:u,onKeyDown:x,onSelectByIndex:v,setDismissed:a,setActiveIndex:i}}const tl=30,ol=800;function nl(e,t){const[o,n]=R.useState(!1),r=R.useRef(null),l=R.useRef(!1);return R.useEffect(()=>{if(e.includes(`
49
+ `)){l.current=!0,n(!0);return}if(e.length>=ol){l.current=!0,n(!0);return}if(!e){l.current=!1,n(!1);return}const i=t.current;if(!i)return;const c=requestAnimationFrame(()=>{r.current||(r.current=document.createElement("canvas"));const a=r.current.getContext("2d");if(!a)return;const u=i.querySelector("textarea");if(!u)return;const f=getComputedStyle(u);a.font=`${f.fontWeight} ${f.fontSize} ${f.fontFamily}`;const v=a.measureText(e).width,x=parseFloat(f.paddingLeft)||0,h=parseFloat(f.paddingRight)||0,w=u.clientWidth-x-h,b=l.current;let g;b?g=v>w-tl:g=v>w,l.current=g,n(g)});return()=>cancelAnimationFrame(c)},[e,t]),{isMultiline:o}}const rl=2e5;function At(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toString()}function sl(e){return e>=80?"var(--color-accent-red)":e>=50?"var(--color-accent-orange)":"var(--color-accent-green)"}function ll({processId:e,contextWindow:t=rl,size:o=24}){const n=Pe(x=>e?x.processTokenUsage[e]??null:null),[r,l]=R.useState(!1),{percentage:i,ringColor:c,strokeDashoffset:a,circumference:u}=R.useMemo(()=>{const x=n??{input:0,output:0},h=x.input+x.output,w=Math.min(h/t*100,100),g=(o-2.5)/2,m=2*Math.PI*g;return{percentage:w,ringColor:sl(w),strokeDashoffset:m-w/100*m,circumference:m}},[n,t,o]);if(!n)return null;const f=2.5,v=(o-f)/2;return s.jsxs("div",{className:"relative flex items-center justify-center cursor-default",style:{width:o,height:o},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[s.jsxs("svg",{width:o,height:o,viewBox:`0 0 ${o} ${o}`,style:{transform:"rotate(-90deg)"},children:[s.jsx("circle",{cx:o/2,cy:o/2,r:v,fill:"none",stroke:"var(--color-border-divider)",strokeWidth:f}),s.jsx("circle",{cx:o/2,cy:o/2,r:v,fill:"none",stroke:c,strokeWidth:f,strokeLinecap:"round",strokeDasharray:u,strokeDashoffset:a,style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.3s ease"}})]}),r&&s.jsxs("div",{className:"absolute bottom-[calc(100%+8px)] left-1/2 -translate-x-1/2 px-[10px] py-[6px] rounded-[8px] text-[11px] font-medium whitespace-nowrap z-50 pointer-events-none",style:{backgroundColor:"var(--color-text-primary)",color:"#fff",boxShadow:"0 4px 12px rgba(0,0,0,0.15)"},children:[s.jsxs("div",{style:{marginBottom:2},children:[i.toFixed(1),"% context used"]}),s.jsxs("div",{className:"flex flex-col gap-[2px] text-[10px]",style:{opacity:.85},children:[s.jsxs("span",{children:["Input: ",At(n.input)]}),s.jsxs("span",{children:["Output: ",At(n.output)]}),(n.cacheRead>0||n.cacheWrite>0)&&s.jsxs("span",{children:["Cache: ",At(n.cacheRead+n.cacheWrite)]})]})]})]})}const il=["claude-code","codex","gemini","qwen","opencode","agent-sdk"],al={"claude-code":"C",codex:"Cx","codex-server":"Cs",gemini:"G","gemini-a2a":"Ga",qwen:"Q",opencode:"O","agent-sdk":"S"},cl=[{name:"/maestro-plan",desc:"Create detailed phase plan",color:"var(--color-accent-purple)",bg:"var(--color-tint-planning)"},{name:"/quality-review",desc:"Tiered code review",color:"var(--color-accent-green)",bg:"var(--color-tint-completed)"},{name:"/maestro-execute",desc:"Execute phase with parallelization",color:"var(--color-accent-orange)",bg:"var(--color-tint-verifying)"},{name:"/quality-debug",desc:"Parallel hypothesis debugging",color:"var(--color-accent-blue)",bg:"var(--color-tint-exploring)"}],ul=new Set(["claude-code"]);function vl({processId:e,executor:t}={}){const[o,n]=R.useState(""),[r,l]=R.useState("claude-code"),[i,c]=R.useState("inject"),a=R.useRef(null),u=R.useRef(null),f=R.useRef(null),v=R.useRef(null),{isMultiline:x}=nl(o,u),h=Pe(C=>C.activeProcessId),w=Pe(C=>C.processes),b=e!==void 0?e:h,g=b?w[b]??null:null,m=!!(b&&b.startsWith("cli-history-")&&(g==null?void 0:g.interactive)===!0),p=g!=null?g.interactive===!1:t!=null&&!ul.has(t),T=e!=null&&!b||!m&&p,{compositionHandlers:E,createKeyDownHandler:j}=qs(),O=R.useCallback(C=>{var A;n(C+" "),(A=a.current)==null||A.focus()},[]),d=el({input:o,commands:cl,onSelect:O}),y=R.useCallback(()=>{const C=o.trim();C&&(b&&g?m?yt({action:"delegate:message",processId:b,content:C,delivery:i}):yt({action:"message",processId:b,content:C}):e==null&&yt({action:"spawn",config:{type:r,prompt:C,workDir:"."}}),n(""),d.setDismissed(!0),a.current&&(a.current.style.height="auto"))},[o,b,g,r,e,d,m,i]),S=j(y,d.onKeyDown),M=R.useCallback(()=>{const C=a.current;C&&(C.style.height="auto",C.style.height=`${Math.min(C.scrollHeight,200)}px`)},[]),H=R.useCallback(C=>{n(C.target.value)},[]),P=R.useCallback(C=>{var J,he;const A=(J=C.target.files)==null?void 0:J[0];A&&(n(ie=>ie+(ie?" ":"")+`@${A.name}`),(he=a.current)==null||he.focus()),C.target.value=""},[]),V=R.useCallback(C=>{var J,he;const A=(J=C.target.files)==null?void 0:J[0];A&&(n(ie=>ie+(ie?" ":"")+`@${A.name}`),(he=a.current)==null||he.focus()),C.target.value=""},[]),D=!b&&e==null,U=(g==null?void 0:g.type)??r;return s.jsxs("div",{className:"shrink-0 px-4 pb-[10px] pt-1",style:{backgroundColor:"var(--color-bg-primary)"},children:[s.jsx("input",{ref:f,type:"file",className:"hidden",onChange:P}),s.jsx("input",{ref:v,type:"file",accept:"image/*",className:"hidden",onChange:V}),s.jsxs("div",{className:"max-w-[700px] mx-auto relative",children:[d.isOpen&&s.jsx("div",{className:"absolute bottom-full left-0 right-0 mb-[6px] border rounded-[12px] p-[6px] max-h-[240px] overflow-y-auto z-50",style:{backgroundColor:"var(--color-bg-card)",borderColor:"var(--color-border)",boxShadow:"0 -4px 20px rgba(0,0,0,0.06)",backdropFilter:"blur(12px)"},children:d.filteredCommands.map((C,A)=>s.jsxs("button",{type:"button",onClick:()=>d.onSelectByIndex(A),onMouseEnter:()=>d.setActiveIndex(A),className:"flex items-center gap-[10px] w-full px-[10px] py-[7px] rounded-[8px] cursor-pointer transition-colors duration-100 text-left border-none",style:{backgroundColor:A===d.activeIndex?"var(--color-bg-hover)":"transparent"},children:[s.jsx("span",{className:"w-7 h-7 rounded-[6px] flex items-center justify-center shrink-0",style:{backgroundColor:C.bg},children:s.jsx(Bo,{size:14,strokeWidth:1.8,stroke:C.color})}),s.jsxs("div",{children:[s.jsx("div",{className:"text-[12px] font-semibold text-text-primary",children:C.name}),s.jsx("div",{className:"text-[11px]",style:{color:"var(--color-text-tertiary)"},children:C.desc})]})]},C.name))}),D&&s.jsxs("div",{className:"flex items-center justify-center gap-[3px] py-[4px]",children:[s.jsxs("div",{className:"flex items-center gap-[4px] px-[10px] py-[3px] rounded-full border text-[10px] font-semibold cursor-pointer transition-all duration-100",style:{borderColor:"var(--color-accent-orange)",backgroundColor:"var(--color-tint-verifying)",color:"var(--color-text-primary)"},children:[s.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),s.jsx("path",{d:"M2 17l10 5 10-5"}),s.jsx("path",{d:"M2 12l10 5 10-5"})]}),"Maestro"]}),s.jsx("div",{className:"flex gap-[1px] ml-[2px]",children:il.map(C=>s.jsx("button",{type:"button",onClick:()=>l(C),title:Ot[C],className:"w-6 h-6 rounded-[4px] border-none flex items-center justify-center cursor-pointer text-[9px] font-bold transition-all duration-100",style:{backgroundColor:r===C?"var(--color-bg-active)":"transparent",color:r===C?"var(--color-text-primary)":"var(--color-text-tertiary)"},onMouseEnter:A=>{r!==C&&(A.currentTarget.style.backgroundColor="var(--color-bg-hover)")},onMouseLeave:A=>{r!==C&&(A.currentTarget.style.backgroundColor="transparent")},children:s.jsx("span",{className:"w-[14px] h-[14px] rounded-[3px] flex items-center justify-center text-[8px] font-bold text-white",style:{backgroundColor:uo[C]},children:al[C]})},C))})]}),s.jsxs("div",{ref:u,className:"border transition-[border-color,box-shadow]",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-card)",borderRadius:"10px",transitionDuration:"var(--duration-normal)"},onFocusCapture:C=>{const A=C.currentTarget;A.style.borderColor="var(--color-accent-blue)",A.style.boxShadow="0 0 0 3px rgba(74,144,217,0.08)"},onBlurCapture:C=>{if(!C.relatedTarget||!(C.relatedTarget instanceof Node)||!C.currentTarget.contains(C.relatedTarget)){const A=C.currentTarget;A.style.borderColor="var(--color-border)",A.style.boxShadow="none"}},children:[s.jsx("textarea",{ref:a,value:o,onChange:H,onInput:M,onKeyDown:S,...E,disabled:T,placeholder:m?"Queue a follow-up for this async delegate...":b?"Send a message...":"Send a message, / for commands...",rows:x?3:1,className:`w-full resize-none border-none leading-[1.5] bg-transparent outline-none disabled:opacity-40 disabled:cursor-not-allowed ${x?"min-h-[72px] max-h-[140px]":"min-h-[36px] max-h-[36px]"}`,style:{color:"var(--color-text-primary)",fontSize:"13px",padding:"8px 12px",fontFamily:"inherit"}}),s.jsxs("div",{className:"flex items-center gap-[4px] px-[5px] py-[3px]",style:{borderTop:"1px solid var(--color-border-divider)"},children:[s.jsx("button",{type:"button",onClick:()=>{var C;return(C=f.current)==null?void 0:C.click()},className:"w-[26px] h-[26px] rounded-[5px] border-none bg-transparent flex items-center justify-center cursor-pointer transition-all duration-100",style:{color:"var(--color-text-tertiary)"},onMouseEnter:C=>{C.currentTarget.style.backgroundColor="var(--color-bg-hover)",C.currentTarget.style.color="var(--color-text-primary)"},onMouseLeave:C=>{C.currentTarget.style.backgroundColor="transparent",C.currentTarget.style.color="var(--color-text-tertiary)"},children:s.jsx(Sn,{size:13,strokeWidth:2})}),s.jsx("button",{type:"button",onClick:()=>{var C;d.isOpen?d.setDismissed(!0):(n("/"),(C=a.current)==null||C.focus())},className:"px-[7px] py-[2px] rounded-[4px] border-none bg-transparent text-[10px] font-medium cursor-pointer transition-all duration-100",style:{color:"var(--color-text-tertiary)",fontFamily:"inherit"},onMouseEnter:C=>{C.currentTarget.style.backgroundColor="var(--color-bg-hover)",C.currentTarget.style.color="var(--color-text-primary)"},onMouseLeave:C=>{C.currentTarget.style.backgroundColor="transparent",C.currentTarget.style.color="var(--color-text-tertiary)"},children:"Skills"}),s.jsx(ll,{processId:b}),m&&s.jsxs("div",{className:"flex items-center gap-[5px] px-[10px] py-[3px] text-[11px] font-medium",style:{border:"var(--style-btn-secondary-border)",backgroundColor:"var(--style-btn-secondary-bg)",borderRadius:"var(--style-btn-secondary-radius)",color:"var(--color-text-secondary)"},children:[s.jsx("span",{style:{color:"var(--color-text-tertiary)"},children:"Delivery"}),s.jsxs("select",{value:i,onChange:C=>c(C.target.value),className:"border-none bg-transparent cursor-pointer outline-none appearance-none text-[11px] font-medium",style:{color:"inherit"},children:[s.jsx("option",{value:"inject",children:"Inject"}),s.jsx("option",{value:"after_complete",children:"After Complete"})]})]}),!D&&s.jsxs("div",{className:"flex items-center gap-[5px] ml-auto px-[7px] py-[2px] text-[10px] font-medium",style:{color:"var(--color-text-tertiary)"},children:[s.jsx("span",{className:"w-[6px] h-[6px] rounded-full shrink-0",style:{backgroundColor:uo[U]}}),Ot[U]??U]}),s.jsx("div",{className:"flex-1"}),s.jsx("button",{type:"button",onClick:y,disabled:!o.trim()||T,className:"shrink-0 w-[28px] h-[28px] rounded-[7px] flex items-center justify-center transition-all disabled:opacity-40 disabled:cursor-not-allowed border-none cursor-pointer",style:{backgroundColor:"var(--color-accent-orange)",color:"#fff",transition:"all 150ms cubic-bezier(0.34,1.56,0.64,1)"},onMouseEnter:C=>{T||(C.currentTarget.style.transform="scale(1.06)")},onMouseLeave:C=>{C.currentTarget.style.transform="scale(1)"},"aria-label":"Send message",children:s.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),s.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]})]})]})]})}export{vl as C,gl as M};