@surething/cockpit 1.0.209 → 1.0.211

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 (551) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +5 -1
  3. package/.next-prod/build-manifest.json +3 -3
  4. package/.next-prod/diagnostics/framework.json +1 -1
  5. package/.next-prod/next-server.js.nft.json +1 -1
  6. package/.next-prod/prerender-manifest.json +3 -3
  7. package/.next-prod/routes-manifest.json +24 -0
  8. package/.next-prod/server/app/_global-error/page.js +3 -3
  9. package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next-prod/server/app/_global-error.html +1 -1
  12. package/.next-prod/server/app/_global-error.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next-prod/server/app/_not-found/page.js +2 -2
  20. package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
  21. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next-prod/server/app/_not-found.html +1 -1
  23. package/.next-prod/server/app/_not-found.rsc +3 -3
  24. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
  25. package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
  26. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
  27. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  28. package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  29. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  30. package/.next-prod/server/app/api/agent/test/route.js +1 -1
  31. package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
  32. package/.next-prod/server/app/api/bash/route.js +1 -1
  33. package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
  34. package/.next-prod/server/app/api/chat/codex/route.js +78 -4
  35. package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
  36. package/.next-prod/server/app/api/chat/deepseek/route.js +78 -4
  37. package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
  38. package/.next-prod/server/app/api/chat/kimi/route.js +87 -13
  39. package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
  40. package/.next-prod/server/app/api/chat/ollama/route.js +89 -15
  41. package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
  42. package/.next-prod/server/app/api/chat/route.js +78 -4
  43. package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
  44. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  45. package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
  46. package/.next-prod/server/app/api/commands/route.js +1 -1
  47. package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
  48. package/.next-prod/server/app/api/comments/route.js +1 -1
  49. package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
  50. package/.next-prod/server/app/api/db/columns/route.js +2 -2
  51. package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
  52. package/.next-prod/server/app/api/db/connect/route.js +1 -1
  53. package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
  54. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  55. package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
  56. package/.next-prod/server/app/api/db/export/route.js +1 -1
  57. package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
  58. package/.next-prod/server/app/api/db/query/route.js +1 -1
  59. package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
  60. package/.next-prod/server/app/api/db/schemas/route.js +1 -1
  61. package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
  62. package/.next-prod/server/app/api/dev/spans/route.js +1 -1
  63. package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
  64. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  65. package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
  66. package/.next-prod/server/app/api/file/route.js +1 -1
  67. package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
  68. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  69. package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
  70. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  71. package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
  72. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  73. package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
  74. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  75. package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
  76. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  77. package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
  78. package/.next-prod/server/app/api/files/index/route.js +1 -1
  79. package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
  80. package/.next-prod/server/app/api/files/init/route.js +1 -1
  81. package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
  82. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  83. package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
  84. package/.next-prod/server/app/api/files/read/route.js +1 -1
  85. package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
  86. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  87. package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
  88. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  89. package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
  90. package/.next-prod/server/app/api/files/save/route.js +1 -1
  91. package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
  92. package/.next-prod/server/app/api/files/search/route.js +1 -1
  93. package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
  94. package/.next-prod/server/app/api/files/stat/route.js +1 -1
  95. package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
  96. package/.next-prod/server/app/api/files/text/route.js +1 -1
  97. package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
  98. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  99. package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
  100. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  101. package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
  102. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  103. package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
  104. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  105. package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
  106. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  107. package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
  108. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  109. package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
  110. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  111. package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
  112. package/.next-prod/server/app/api/git/status/route.js +1 -1
  113. package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
  114. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  115. package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
  116. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  117. package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
  118. package/.next-prod/server/app/api/global-state/route.js +1 -1
  119. package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
  120. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  121. package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
  122. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  123. package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
  124. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  125. package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
  126. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  127. package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
  128. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  129. package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
  130. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  131. package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
  132. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  133. package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
  134. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  135. package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
  136. package/.next-prod/server/app/api/mysql/columns/route.js +1 -1
  137. package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
  138. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  139. package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
  140. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  141. package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
  142. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  143. package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
  144. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  145. package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
  146. package/.next-prod/server/app/api/mysql/schemas/route.js +1 -1
  147. package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
  148. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  149. package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
  150. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  151. package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
  152. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  153. package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
  154. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  155. package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
  156. package/.next-prod/server/app/api/note/route.js +1 -1
  157. package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
  158. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  159. package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
  160. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  161. package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
  162. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  163. package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
  164. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  165. package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
  166. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  167. package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
  168. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  169. package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
  170. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  171. package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
  172. package/.next-prod/server/app/api/project-state/route.js +1 -1
  173. package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
  174. package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -0
  175. package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -0
  176. package/.next-prod/server/app/api/projectGraph/callees/route_client-reference-manifest.js +1 -0
  177. package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -0
  178. package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -0
  179. package/.next-prod/server/app/api/projectGraph/callers/route_client-reference-manifest.js +1 -0
  180. package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -0
  181. package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -0
  182. package/.next-prod/server/app/api/projectGraph/coedit/route_client-reference-manifest.js +1 -0
  183. package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
  184. package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
  185. package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
  186. package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
  187. package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -0
  188. package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -0
  189. package/.next-prod/server/app/api/projectGraph/impact/route_client-reference-manifest.js +1 -0
  190. package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
  191. package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
  192. package/.next-prod/server/app/api/projects/route.js +1 -1
  193. package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
  194. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  195. package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
  196. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  197. package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
  198. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  199. package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
  200. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  201. package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
  202. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  203. package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
  204. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  205. package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
  206. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  207. package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
  208. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  209. package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
  210. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  211. package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
  212. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  213. package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
  214. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  215. package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
  216. package/.next-prod/server/app/api/review/order/route.js +1 -1
  217. package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
  218. package/.next-prod/server/app/api/review/route.js +1 -1
  219. package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
  220. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  221. package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
  222. package/.next-prod/server/app/api/review/users/route.js +1 -1
  223. package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
  224. package/.next-prod/server/app/api/scheduled-tasks/route.js +1 -1
  225. package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
  226. package/.next-prod/server/app/api/services/config/route.js +1 -1
  227. package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
  228. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  229. package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
  230. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  231. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
  232. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  233. package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
  234. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  235. package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
  236. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  237. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
  238. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  239. package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
  240. package/.next-prod/server/app/api/sessions/route.js +1 -1
  241. package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
  242. package/.next-prod/server/app/api/settings/route.js +1 -1
  243. package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
  244. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  245. package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
  246. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  247. package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
  248. package/.next-prod/server/app/api/skills/route.js +1 -1
  249. package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
  250. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  251. package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
  252. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  253. package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
  254. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  255. package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
  256. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  257. package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
  258. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  259. package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
  260. package/.next-prod/server/app/api/version/route.js +1 -1
  261. package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
  262. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  263. package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
  264. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  265. package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  266. package/.next-prod/server/app/page.js +2 -2
  267. package/.next-prod/server/app/page.js.nft.json +1 -1
  268. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  269. package/.next-prod/server/app/project/page.js +2 -2
  270. package/.next-prod/server/app/project/page.js.nft.json +1 -1
  271. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  272. package/.next-prod/server/app/review/[id]/page.js +2 -2
  273. package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
  274. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  275. package/.next-prod/server/app-paths-manifest.json +5 -1
  276. package/.next-prod/server/chunks/2939.js +1 -0
  277. package/.next-prod/server/chunks/4034.js +1 -1
  278. package/.next-prod/server/chunks/4741.js +2 -2
  279. package/.next-prod/server/chunks/5616.js +1 -1
  280. package/.next-prod/server/chunks/6955.js +1 -1
  281. package/.next-prod/server/chunks/7973.js +15 -0
  282. package/.next-prod/server/chunks/8916.js +1 -1
  283. package/.next-prod/server/chunks/9658.js +6 -6
  284. package/.next-prod/server/middleware-build-manifest.js +1 -1
  285. package/.next-prod/server/pages/404.html +1 -1
  286. package/.next-prod/server/pages/500.html +1 -1
  287. package/.next-prod/server/server-reference-manifest.json +1 -1
  288. package/.next-prod/static/chunks/{3794-3fb4e6ee851037bb.js → 3794-ba2500baa4c52d55.js} +3 -3
  289. package/.next-prod/static/chunks/5188-6ad3d686c5e9fb28.js +29 -0
  290. package/.next-prod/static/chunks/6345-3da1914a1a74c1fb.js +14 -0
  291. package/.next-prod/static/chunks/app/_global-error/page-994734ef0d317687.js +1 -0
  292. package/.next-prod/static/chunks/app/api/agent/test/route-994734ef0d317687.js +1 -0
  293. package/.next-prod/static/chunks/app/api/bash/route-994734ef0d317687.js +1 -0
  294. package/.next-prod/static/chunks/app/api/chat/codex/route-994734ef0d317687.js +1 -0
  295. package/.next-prod/static/chunks/app/api/chat/deepseek/route-994734ef0d317687.js +1 -0
  296. package/.next-prod/static/chunks/app/api/chat/kimi/route-994734ef0d317687.js +1 -0
  297. package/.next-prod/static/chunks/app/api/chat/ollama/route-994734ef0d317687.js +1 -0
  298. package/.next-prod/static/chunks/app/api/chat/route-994734ef0d317687.js +1 -0
  299. package/.next-prod/static/chunks/app/api/claude-stats/route-994734ef0d317687.js +1 -0
  300. package/.next-prod/static/chunks/app/api/commands/route-994734ef0d317687.js +1 -0
  301. package/.next-prod/static/chunks/app/api/comments/route-994734ef0d317687.js +1 -0
  302. package/.next-prod/static/chunks/app/api/db/columns/route-994734ef0d317687.js +1 -0
  303. package/.next-prod/static/chunks/app/api/db/connect/route-994734ef0d317687.js +1 -0
  304. package/.next-prod/static/chunks/app/api/db/disconnect/route-994734ef0d317687.js +1 -0
  305. package/.next-prod/static/chunks/app/api/db/export/route-994734ef0d317687.js +1 -0
  306. package/.next-prod/static/chunks/app/api/db/query/route-994734ef0d317687.js +1 -0
  307. package/.next-prod/static/chunks/app/api/db/schemas/route-994734ef0d317687.js +1 -0
  308. package/.next-prod/static/chunks/app/api/dev/spans/route-994734ef0d317687.js +1 -0
  309. package/.next-prod/static/chunks/app/api/extension/version/route-994734ef0d317687.js +1 -0
  310. package/.next-prod/static/chunks/app/api/file/route-994734ef0d317687.js +1 -0
  311. package/.next-prod/static/chunks/app/api/files/blame/route-994734ef0d317687.js +1 -0
  312. package/.next-prod/static/chunks/app/api/files/clipboard/route-994734ef0d317687.js +1 -0
  313. package/.next-prod/static/chunks/app/api/files/copy/route-994734ef0d317687.js +1 -0
  314. package/.next-prod/static/chunks/app/api/files/delete/route-994734ef0d317687.js +1 -0
  315. package/.next-prod/static/chunks/app/api/files/expanded/route-994734ef0d317687.js +1 -0
  316. package/.next-prod/static/chunks/app/api/files/index/route-994734ef0d317687.js +1 -0
  317. package/.next-prod/static/chunks/app/api/files/init/route-994734ef0d317687.js +1 -0
  318. package/.next-prod/static/chunks/app/api/files/paste/route-994734ef0d317687.js +1 -0
  319. package/.next-prod/static/chunks/app/api/files/read/route-994734ef0d317687.js +1 -0
  320. package/.next-prod/static/chunks/app/api/files/readdir/route-994734ef0d317687.js +1 -0
  321. package/.next-prod/static/chunks/app/api/files/recent/route-994734ef0d317687.js +1 -0
  322. package/.next-prod/static/chunks/app/api/files/save/route-994734ef0d317687.js +1 -0
  323. package/.next-prod/static/chunks/app/api/files/search/route-994734ef0d317687.js +1 -0
  324. package/.next-prod/static/chunks/app/api/files/stat/route-994734ef0d317687.js +1 -0
  325. package/.next-prod/static/chunks/app/api/files/text/route-994734ef0d317687.js +1 -0
  326. package/.next-prod/static/chunks/app/api/git/branch-diff/route-994734ef0d317687.js +1 -0
  327. package/.next-prod/static/chunks/app/api/git/branches/route-994734ef0d317687.js +1 -0
  328. package/.next-prod/static/chunks/app/api/git/commit-diff/route-994734ef0d317687.js +1 -0
  329. package/.next-prod/static/chunks/app/api/git/commits/route-994734ef0d317687.js +1 -0
  330. package/.next-prod/static/chunks/app/api/git/diff/route-994734ef0d317687.js +1 -0
  331. package/.next-prod/static/chunks/app/api/git/discard/route-994734ef0d317687.js +1 -0
  332. package/.next-prod/static/chunks/app/api/git/stage/route-994734ef0d317687.js +1 -0
  333. package/.next-prod/static/chunks/app/api/git/status/route-994734ef0d317687.js +1 -0
  334. package/.next-prod/static/chunks/app/api/git/unstage/route-994734ef0d317687.js +1 -0
  335. package/.next-prod/static/chunks/app/api/git/worktree/route-994734ef0d317687.js +1 -0
  336. package/.next-prod/static/chunks/app/api/global-state/route-994734ef0d317687.js +1 -0
  337. package/.next-prod/static/chunks/app/api/jupyter/load/route-994734ef0d317687.js +1 -0
  338. package/.next-prod/static/chunks/app/api/jupyter/save/route-994734ef0d317687.js +1 -0
  339. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-994734ef0d317687.js +1 -0
  340. package/.next-prod/static/chunks/app/api/lsp/definition/route-994734ef0d317687.js +1 -0
  341. package/.next-prod/static/chunks/app/api/lsp/hover/route-994734ef0d317687.js +1 -0
  342. package/.next-prod/static/chunks/app/api/lsp/references/route-994734ef0d317687.js +1 -0
  343. package/.next-prod/static/chunks/app/api/lsp/status/route-994734ef0d317687.js +1 -0
  344. package/.next-prod/static/chunks/app/api/lsp/warmup/route-994734ef0d317687.js +1 -0
  345. package/.next-prod/static/chunks/app/api/mysql/columns/route-994734ef0d317687.js +1 -0
  346. package/.next-prod/static/chunks/app/api/mysql/connect/route-994734ef0d317687.js +1 -0
  347. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-994734ef0d317687.js +1 -0
  348. package/.next-prod/static/chunks/app/api/mysql/export/route-994734ef0d317687.js +1 -0
  349. package/.next-prod/static/chunks/app/api/mysql/query/route-994734ef0d317687.js +1 -0
  350. package/.next-prod/static/chunks/app/api/mysql/schemas/route-994734ef0d317687.js +1 -0
  351. package/.next-prod/static/chunks/app/api/neo4j/connect/route-994734ef0d317687.js +1 -0
  352. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-994734ef0d317687.js +1 -0
  353. package/.next-prod/static/chunks/app/api/neo4j/query/route-994734ef0d317687.js +1 -0
  354. package/.next-prod/static/chunks/app/api/neo4j/schema/route-994734ef0d317687.js +1 -0
  355. package/.next-prod/static/chunks/app/api/note/route-994734ef0d317687.js +1 -0
  356. package/.next-prod/static/chunks/app/api/ollama/models/route-994734ef0d317687.js +1 -0
  357. package/.next-prod/static/chunks/app/api/ollama/start/route-994734ef0d317687.js +1 -0
  358. package/.next-prod/static/chunks/app/api/open-cursor/route-994734ef0d317687.js +1 -0
  359. package/.next-prod/static/chunks/app/api/open-vscode/route-994734ef0d317687.js +1 -0
  360. package/.next-prod/static/chunks/app/api/pick-folder/route-994734ef0d317687.js +1 -0
  361. package/.next-prod/static/chunks/app/api/pinned-sessions/route-994734ef0d317687.js +1 -0
  362. package/.next-prod/static/chunks/app/api/project-settings/route-994734ef0d317687.js +1 -0
  363. package/.next-prod/static/chunks/app/api/project-state/route-994734ef0d317687.js +1 -0
  364. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-994734ef0d317687.js +1 -0
  365. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-994734ef0d317687.js +1 -0
  366. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-994734ef0d317687.js +1 -0
  367. package/.next-prod/static/chunks/app/api/projectGraph/file/route-994734ef0d317687.js +1 -0
  368. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-994734ef0d317687.js +1 -0
  369. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-994734ef0d317687.js +1 -0
  370. package/.next-prod/static/chunks/app/api/projectGraph/search/route-994734ef0d317687.js +1 -0
  371. package/.next-prod/static/chunks/app/api/projects/route-994734ef0d317687.js +1 -0
  372. package/.next-prod/static/chunks/app/api/redis/command/route-994734ef0d317687.js +1 -0
  373. package/.next-prod/static/chunks/app/api/redis/connect/route-994734ef0d317687.js +1 -0
  374. package/.next-prod/static/chunks/app/api/redis/delete/route-994734ef0d317687.js +1 -0
  375. package/.next-prod/static/chunks/app/api/redis/disconnect/route-994734ef0d317687.js +1 -0
  376. package/.next-prod/static/chunks/app/api/redis/get/route-994734ef0d317687.js +1 -0
  377. package/.next-prod/static/chunks/app/api/redis/keys/route-994734ef0d317687.js +1 -0
  378. package/.next-prod/static/chunks/app/api/redis/set/route-994734ef0d317687.js +1 -0
  379. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-994734ef0d317687.js +1 -0
  380. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-994734ef0d317687.js +1 -0
  381. package/.next-prod/static/chunks/app/api/review/[id]/route-994734ef0d317687.js +1 -0
  382. package/.next-prod/static/chunks/app/api/review/identify/route-994734ef0d317687.js +1 -0
  383. package/.next-prod/static/chunks/app/api/review/order/route-994734ef0d317687.js +1 -0
  384. package/.next-prod/static/chunks/app/api/review/route-994734ef0d317687.js +1 -0
  385. package/.next-prod/static/chunks/app/api/review/share-info/route-994734ef0d317687.js +1 -0
  386. package/.next-prod/static/chunks/app/api/review/users/route-994734ef0d317687.js +1 -0
  387. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-994734ef0d317687.js +1 -0
  388. package/.next-prod/static/chunks/app/api/services/config/route-994734ef0d317687.js +1 -0
  389. package/.next-prod/static/chunks/app/api/services/scripts/route-994734ef0d317687.js +1 -0
  390. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-994734ef0d317687.js +1 -0
  391. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-994734ef0d317687.js +1 -0
  392. package/.next-prod/static/chunks/app/api/session-by-path/route-994734ef0d317687.js +1 -0
  393. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-994734ef0d317687.js +1 -0
  394. package/.next-prod/static/chunks/app/api/sessions/projects/route-994734ef0d317687.js +1 -0
  395. package/.next-prod/static/chunks/app/api/sessions/route-994734ef0d317687.js +1 -0
  396. package/.next-prod/static/chunks/app/api/settings/route-994734ef0d317687.js +1 -0
  397. package/.next-prod/static/chunks/app/api/skills/[id]/route-994734ef0d317687.js +1 -0
  398. package/.next-prod/static/chunks/app/api/skills/content/route-994734ef0d317687.js +1 -0
  399. package/.next-prod/static/chunks/app/api/skills/route-994734ef0d317687.js +1 -0
  400. package/.next-prod/static/chunks/app/api/terminal/aliases/route-994734ef0d317687.js +1 -0
  401. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-994734ef0d317687.js +1 -0
  402. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-994734ef0d317687.js +1 -0
  403. package/.next-prod/static/chunks/app/api/terminal/env/route-994734ef0d317687.js +1 -0
  404. package/.next-prod/static/chunks/app/api/terminal/history/route-994734ef0d317687.js +1 -0
  405. package/.next-prod/static/chunks/app/api/version/route-994734ef0d317687.js +1 -0
  406. package/.next-prod/static/chunks/app/{layout-e3b4c334b1eceb18.js → layout-a0362651ba6e6e6f.js} +1 -1
  407. package/.next-prod/static/chunks/app/manifest.webmanifest/route-994734ef0d317687.js +1 -0
  408. package/.next-prod/static/chunks/app/{page-3d87bb74a7b3d36e.js → page-1b14cabf47df9ff7.js} +1 -1
  409. package/.next-prod/static/chunks/app/project/{page-3d87bb74a7b3d36e.js → page-1b14cabf47df9ff7.js} +1 -1
  410. package/.next-prod/static/chunks/{main-5a46314a5491113b.js → main-79827b1543335b12.js} +3 -3
  411. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-994734ef0d317687.js +1 -0
  412. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-994734ef0d317687.js +1 -0
  413. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-994734ef0d317687.js +1 -0
  414. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-994734ef0d317687.js +1 -0
  415. package/.next-prod/static/css/f9a27209b85d8e5a.css +1 -0
  416. package/.next-prod/static/pS6D6oF2RLyDG-MzgFWGm/_buildManifest.js +1 -0
  417. package/.next-prod/trace +12 -12
  418. package/.next-prod/trace-build +1 -1
  419. package/.next-prod/types/app/api/projectGraph/callees/route.ts +351 -0
  420. package/.next-prod/types/app/api/projectGraph/callers/route.ts +351 -0
  421. package/.next-prod/types/app/api/projectGraph/coedit/route.ts +351 -0
  422. package/.next-prod/types/app/api/projectGraph/impact/route.ts +351 -0
  423. package/.next-prod/types/routes.d.ts +5 -1
  424. package/.next-prod/types/validator.ts +36 -0
  425. package/README.md +5 -1
  426. package/README.zh.md +5 -1
  427. package/dist/wsServer.mjs +2730 -4
  428. package/package.json +3 -3
  429. package/.next-prod/server/chunks/5159.js +0 -1
  430. package/.next-prod/server/chunks/8465.js +0 -15
  431. package/.next-prod/static/chunks/6345-3c06cdc8c89677b8.js +0 -14
  432. package/.next-prod/static/chunks/8024-a869e23f4e8e5b38.js +0 -29
  433. package/.next-prod/static/chunks/app/_global-error/page-826847d169541fa9.js +0 -1
  434. package/.next-prod/static/chunks/app/api/agent/test/route-826847d169541fa9.js +0 -1
  435. package/.next-prod/static/chunks/app/api/bash/route-826847d169541fa9.js +0 -1
  436. package/.next-prod/static/chunks/app/api/chat/codex/route-826847d169541fa9.js +0 -1
  437. package/.next-prod/static/chunks/app/api/chat/deepseek/route-826847d169541fa9.js +0 -1
  438. package/.next-prod/static/chunks/app/api/chat/kimi/route-826847d169541fa9.js +0 -1
  439. package/.next-prod/static/chunks/app/api/chat/ollama/route-826847d169541fa9.js +0 -1
  440. package/.next-prod/static/chunks/app/api/chat/route-826847d169541fa9.js +0 -1
  441. package/.next-prod/static/chunks/app/api/claude-stats/route-826847d169541fa9.js +0 -1
  442. package/.next-prod/static/chunks/app/api/commands/route-826847d169541fa9.js +0 -1
  443. package/.next-prod/static/chunks/app/api/comments/route-826847d169541fa9.js +0 -1
  444. package/.next-prod/static/chunks/app/api/db/columns/route-826847d169541fa9.js +0 -1
  445. package/.next-prod/static/chunks/app/api/db/connect/route-826847d169541fa9.js +0 -1
  446. package/.next-prod/static/chunks/app/api/db/disconnect/route-826847d169541fa9.js +0 -1
  447. package/.next-prod/static/chunks/app/api/db/export/route-826847d169541fa9.js +0 -1
  448. package/.next-prod/static/chunks/app/api/db/query/route-826847d169541fa9.js +0 -1
  449. package/.next-prod/static/chunks/app/api/db/schemas/route-826847d169541fa9.js +0 -1
  450. package/.next-prod/static/chunks/app/api/dev/spans/route-826847d169541fa9.js +0 -1
  451. package/.next-prod/static/chunks/app/api/extension/version/route-826847d169541fa9.js +0 -1
  452. package/.next-prod/static/chunks/app/api/file/route-826847d169541fa9.js +0 -1
  453. package/.next-prod/static/chunks/app/api/files/blame/route-826847d169541fa9.js +0 -1
  454. package/.next-prod/static/chunks/app/api/files/clipboard/route-826847d169541fa9.js +0 -1
  455. package/.next-prod/static/chunks/app/api/files/copy/route-826847d169541fa9.js +0 -1
  456. package/.next-prod/static/chunks/app/api/files/delete/route-826847d169541fa9.js +0 -1
  457. package/.next-prod/static/chunks/app/api/files/expanded/route-826847d169541fa9.js +0 -1
  458. package/.next-prod/static/chunks/app/api/files/index/route-826847d169541fa9.js +0 -1
  459. package/.next-prod/static/chunks/app/api/files/init/route-826847d169541fa9.js +0 -1
  460. package/.next-prod/static/chunks/app/api/files/paste/route-826847d169541fa9.js +0 -1
  461. package/.next-prod/static/chunks/app/api/files/read/route-826847d169541fa9.js +0 -1
  462. package/.next-prod/static/chunks/app/api/files/readdir/route-826847d169541fa9.js +0 -1
  463. package/.next-prod/static/chunks/app/api/files/recent/route-826847d169541fa9.js +0 -1
  464. package/.next-prod/static/chunks/app/api/files/save/route-826847d169541fa9.js +0 -1
  465. package/.next-prod/static/chunks/app/api/files/search/route-826847d169541fa9.js +0 -1
  466. package/.next-prod/static/chunks/app/api/files/stat/route-826847d169541fa9.js +0 -1
  467. package/.next-prod/static/chunks/app/api/files/text/route-826847d169541fa9.js +0 -1
  468. package/.next-prod/static/chunks/app/api/git/branch-diff/route-826847d169541fa9.js +0 -1
  469. package/.next-prod/static/chunks/app/api/git/branches/route-826847d169541fa9.js +0 -1
  470. package/.next-prod/static/chunks/app/api/git/commit-diff/route-826847d169541fa9.js +0 -1
  471. package/.next-prod/static/chunks/app/api/git/commits/route-826847d169541fa9.js +0 -1
  472. package/.next-prod/static/chunks/app/api/git/diff/route-826847d169541fa9.js +0 -1
  473. package/.next-prod/static/chunks/app/api/git/discard/route-826847d169541fa9.js +0 -1
  474. package/.next-prod/static/chunks/app/api/git/stage/route-826847d169541fa9.js +0 -1
  475. package/.next-prod/static/chunks/app/api/git/status/route-826847d169541fa9.js +0 -1
  476. package/.next-prod/static/chunks/app/api/git/unstage/route-826847d169541fa9.js +0 -1
  477. package/.next-prod/static/chunks/app/api/git/worktree/route-826847d169541fa9.js +0 -1
  478. package/.next-prod/static/chunks/app/api/global-state/route-826847d169541fa9.js +0 -1
  479. package/.next-prod/static/chunks/app/api/jupyter/load/route-826847d169541fa9.js +0 -1
  480. package/.next-prod/static/chunks/app/api/jupyter/save/route-826847d169541fa9.js +0 -1
  481. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-826847d169541fa9.js +0 -1
  482. package/.next-prod/static/chunks/app/api/lsp/definition/route-826847d169541fa9.js +0 -1
  483. package/.next-prod/static/chunks/app/api/lsp/hover/route-826847d169541fa9.js +0 -1
  484. package/.next-prod/static/chunks/app/api/lsp/references/route-826847d169541fa9.js +0 -1
  485. package/.next-prod/static/chunks/app/api/lsp/status/route-826847d169541fa9.js +0 -1
  486. package/.next-prod/static/chunks/app/api/lsp/warmup/route-826847d169541fa9.js +0 -1
  487. package/.next-prod/static/chunks/app/api/mysql/columns/route-826847d169541fa9.js +0 -1
  488. package/.next-prod/static/chunks/app/api/mysql/connect/route-826847d169541fa9.js +0 -1
  489. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-826847d169541fa9.js +0 -1
  490. package/.next-prod/static/chunks/app/api/mysql/export/route-826847d169541fa9.js +0 -1
  491. package/.next-prod/static/chunks/app/api/mysql/query/route-826847d169541fa9.js +0 -1
  492. package/.next-prod/static/chunks/app/api/mysql/schemas/route-826847d169541fa9.js +0 -1
  493. package/.next-prod/static/chunks/app/api/neo4j/connect/route-826847d169541fa9.js +0 -1
  494. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-826847d169541fa9.js +0 -1
  495. package/.next-prod/static/chunks/app/api/neo4j/query/route-826847d169541fa9.js +0 -1
  496. package/.next-prod/static/chunks/app/api/neo4j/schema/route-826847d169541fa9.js +0 -1
  497. package/.next-prod/static/chunks/app/api/note/route-826847d169541fa9.js +0 -1
  498. package/.next-prod/static/chunks/app/api/ollama/models/route-826847d169541fa9.js +0 -1
  499. package/.next-prod/static/chunks/app/api/ollama/start/route-826847d169541fa9.js +0 -1
  500. package/.next-prod/static/chunks/app/api/open-cursor/route-826847d169541fa9.js +0 -1
  501. package/.next-prod/static/chunks/app/api/open-vscode/route-826847d169541fa9.js +0 -1
  502. package/.next-prod/static/chunks/app/api/pick-folder/route-826847d169541fa9.js +0 -1
  503. package/.next-prod/static/chunks/app/api/pinned-sessions/route-826847d169541fa9.js +0 -1
  504. package/.next-prod/static/chunks/app/api/project-settings/route-826847d169541fa9.js +0 -1
  505. package/.next-prod/static/chunks/app/api/project-state/route-826847d169541fa9.js +0 -1
  506. package/.next-prod/static/chunks/app/api/projectGraph/file/route-826847d169541fa9.js +0 -1
  507. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-826847d169541fa9.js +0 -1
  508. package/.next-prod/static/chunks/app/api/projectGraph/search/route-826847d169541fa9.js +0 -1
  509. package/.next-prod/static/chunks/app/api/projects/route-826847d169541fa9.js +0 -1
  510. package/.next-prod/static/chunks/app/api/redis/command/route-826847d169541fa9.js +0 -1
  511. package/.next-prod/static/chunks/app/api/redis/connect/route-826847d169541fa9.js +0 -1
  512. package/.next-prod/static/chunks/app/api/redis/delete/route-826847d169541fa9.js +0 -1
  513. package/.next-prod/static/chunks/app/api/redis/disconnect/route-826847d169541fa9.js +0 -1
  514. package/.next-prod/static/chunks/app/api/redis/get/route-826847d169541fa9.js +0 -1
  515. package/.next-prod/static/chunks/app/api/redis/keys/route-826847d169541fa9.js +0 -1
  516. package/.next-prod/static/chunks/app/api/redis/set/route-826847d169541fa9.js +0 -1
  517. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-826847d169541fa9.js +0 -1
  518. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-826847d169541fa9.js +0 -1
  519. package/.next-prod/static/chunks/app/api/review/[id]/route-826847d169541fa9.js +0 -1
  520. package/.next-prod/static/chunks/app/api/review/identify/route-826847d169541fa9.js +0 -1
  521. package/.next-prod/static/chunks/app/api/review/order/route-826847d169541fa9.js +0 -1
  522. package/.next-prod/static/chunks/app/api/review/route-826847d169541fa9.js +0 -1
  523. package/.next-prod/static/chunks/app/api/review/share-info/route-826847d169541fa9.js +0 -1
  524. package/.next-prod/static/chunks/app/api/review/users/route-826847d169541fa9.js +0 -1
  525. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-826847d169541fa9.js +0 -1
  526. package/.next-prod/static/chunks/app/api/services/config/route-826847d169541fa9.js +0 -1
  527. package/.next-prod/static/chunks/app/api/services/scripts/route-826847d169541fa9.js +0 -1
  528. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-826847d169541fa9.js +0 -1
  529. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-826847d169541fa9.js +0 -1
  530. package/.next-prod/static/chunks/app/api/session-by-path/route-826847d169541fa9.js +0 -1
  531. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-826847d169541fa9.js +0 -1
  532. package/.next-prod/static/chunks/app/api/sessions/projects/route-826847d169541fa9.js +0 -1
  533. package/.next-prod/static/chunks/app/api/sessions/route-826847d169541fa9.js +0 -1
  534. package/.next-prod/static/chunks/app/api/settings/route-826847d169541fa9.js +0 -1
  535. package/.next-prod/static/chunks/app/api/skills/[id]/route-826847d169541fa9.js +0 -1
  536. package/.next-prod/static/chunks/app/api/skills/content/route-826847d169541fa9.js +0 -1
  537. package/.next-prod/static/chunks/app/api/skills/route-826847d169541fa9.js +0 -1
  538. package/.next-prod/static/chunks/app/api/terminal/aliases/route-826847d169541fa9.js +0 -1
  539. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-826847d169541fa9.js +0 -1
  540. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-826847d169541fa9.js +0 -1
  541. package/.next-prod/static/chunks/app/api/terminal/env/route-826847d169541fa9.js +0 -1
  542. package/.next-prod/static/chunks/app/api/terminal/history/route-826847d169541fa9.js +0 -1
  543. package/.next-prod/static/chunks/app/api/version/route-826847d169541fa9.js +0 -1
  544. package/.next-prod/static/chunks/app/manifest.webmanifest/route-826847d169541fa9.js +0 -1
  545. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-826847d169541fa9.js +0 -1
  546. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-826847d169541fa9.js +0 -1
  547. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-826847d169541fa9.js +0 -1
  548. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-826847d169541fa9.js +0 -1
  549. package/.next-prod/static/css/dcde719317bea028.css +0 -1
  550. package/.next-prod/static/zlybFiR-nH1wBW1--beGo/_buildManifest.js +0 -1
  551. /package/.next-prod/static/{zlybFiR-nH1wBW1--beGo → pS6D6oF2RLyDG-MzgFWGm}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/project/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"340":{"*":{"id":"77462","name":"*","chunks":[],"async":true}},"2228":{"*":{"id":"25608","name":"*","chunks":[],"async":false}},"8648":{"*":{"id":"34001","name":"*","chunks":[],"async":true}},"19736":{"*":{"id":"61130","name":"*","chunks":[],"async":true}},"21484":{"*":{"id":"77220","name":"*","chunks":[],"async":true}},"24058":{"*":{"id":"3588","name":"*","chunks":[],"async":true}},"26719":{"*":{"id":"67045","name":"*","chunks":[],"async":false}},"28898":{"*":{"id":"45354","name":"*","chunks":[],"async":false}},"47617":{"*":{"id":"29491","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62177":{"*":{"id":"67134","name":"*","chunks":[],"async":true}},"63048":{"*":{"id":"99033","name":"*","chunks":[],"async":true}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"8077","name":"*","chunks":[],"async":true}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"76043":{"*":{"id":"83179","name":"*","chunks":[],"async":false}},"76288":{"*":{"id":"4462","name":"*","chunks":[],"async":false}},"76412":{"*":{"id":"38878","name":"*","chunks":[],"async":true}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"79968":{"*":{"id":"25465","name":"*","chunks":[],"async":true}},"82032":{"*":{"id":"12568","name":"*","chunks":[],"async":true}},"83519":{"*":{"id":"94481","name":"*","chunks":[],"async":false}},"83678":{"*":{"id":"77120","name":"*","chunks":[],"async":false}},"84310":{"*":{"id":"76552","name":"*","chunks":[],"async":true}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"89039":{"*":{"id":"37129","name":"*","chunks":[],"async":true}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"93975":{"*":{"id":"79758","name":"*","chunks":[],"async":false}},"99324":{"*":{"id":"26188","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter\",\"subsets\":[\"latin\"],\"display\":\"swap\"}],\"variableName\":\"inter\"}":{"id":36791,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","7177","static/chunks/app/layout-e3b4c334b1eceb18.js"],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Lora\",\"arguments\":[{\"variable\":\"--font-lora\",\"subsets\":[\"latin\"],\"display\":\"swap\"}],\"variableName\":\"lora\"}":{"id":7815,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","7177","static/chunks/app/layout-e3b4c334b1eceb18.js"],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"JetBrains_Mono\",\"arguments\":[{\"variable\":\"--font-jetbrains-mono\",\"subsets\":[\"latin\"],\"display\":\"swap\"}],\"variableName\":\"jetbrainsMono\"}":{"id":66924,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","7177","static/chunks/app/layout-e3b4c334b1eceb18.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/EmptyState.tsx":{"id":76288,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/I18nProvider.tsx":{"id":47617,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/NoteModal.tsx":{"id":8648,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/NoteToolbar.tsx":{"id":76043,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/ProjectItem.tsx":{"id":2228,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/ProjectSidebar.tsx":{"id":69958,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/Providers.tsx":{"id":84310,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/SessionBrowser.tsx":{"id":83678,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/SettingsModal.tsx":{"id":21484,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/TabBar.tsx":{"id":24058,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/TabManager.tsx":{"id":340,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/TabManagerTopBar.tsx":{"id":76412,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/useTabState.ts":{"id":89039,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/Workspace.tsx":{"id":63048,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","6500","static/chunks/app/project/page-3d87bb74a7b3d36e.js"],"async":true},"/home/runner/work/cockpit/cockpit/src/app/globals.css":{"id":51743,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3c06cdc8c89677b8.js","8024","static/chunks/8024-a869e23f4e8e5b38.js","7177","static/chunks/app/layout-e3b4c334b1eceb18.js"],"async":false},"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx":{"id":26719,"name":"*","chunks":["4219","static/chunks/app/global-error-3c48d7d42c672863.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewHighlights.ts":{"id":99324,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewIdentity.ts":{"id":93975,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewCommentsListModal.tsx":{"id":19736,"name":"*","chunks":[],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewDropdown.tsx":{"id":82032,"name":"*","chunks":[],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewIdentitySettings.tsx":{"id":28898,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewListPanel.tsx":{"id":83519,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewPage.tsx":{"id":62177,"name":"*","chunks":[],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ShareReviewToggle.tsx":{"id":79968,"name":"*","chunks":[],"async":true}},"entryCSSFiles":{"/home/runner/work/cockpit/cockpit/src/":[],"/home/runner/work/cockpit/cockpit/src/app/layout":[{"inlined":false,"path":"static/css/e33280be1b23649f.css"},{"inlined":false,"path":"static/css/52b314bf20332f7c.css"},{"inlined":false,"path":"static/css/dcde719317bea028.css"}],"/home/runner/work/cockpit/cockpit/src/app/global-error":[],"/home/runner/work/cockpit/cockpit/src/app/page":[{"inlined":false,"path":"static/css/52b314bf20332f7c.css"}],"/home/runner/work/cockpit/cockpit/src/app/project/page":[{"inlined":false,"path":"static/css/52b314bf20332f7c.css"}]},"rscModuleMapping":{"340":{"*":{"id":"6612","name":"*","chunks":[],"async":false}},"2228":{"*":{"id":"85906","name":"*","chunks":[],"async":false}},"8648":{"*":{"id":"24943","name":"*","chunks":[],"async":false}},"19736":{"*":{"id":"63376","name":"*","chunks":[],"async":false}},"21484":{"*":{"id":"19562","name":"*","chunks":[],"async":false}},"24058":{"*":{"id":"83022","name":"*","chunks":[],"async":false}},"26719":{"*":{"id":"81227","name":"*","chunks":[],"async":false}},"28898":{"*":{"id":"42784","name":"*","chunks":[],"async":false}},"47617":{"*":{"id":"99829","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62177":{"*":{"id":"28820","name":"*","chunks":[],"async":false}},"63048":{"*":{"id":"84747","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"72399","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"76043":{"*":{"id":"74837","name":"*","chunks":[],"async":false}},"76288":{"*":{"id":"55632","name":"*","chunks":[],"async":false}},"76412":{"*":{"id":"93448","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"79968":{"*":{"id":"74824","name":"*","chunks":[],"async":false}},"82032":{"*":{"id":"1134","name":"*","chunks":[],"async":false}},"83519":{"*":{"id":"20975","name":"*","chunks":[],"async":false}},"83678":{"*":{"id":"47938","name":"*","chunks":[],"async":false}},"84310":{"*":{"id":"25702","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"89039":{"*":{"id":"65395","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"93975":{"*":{"id":"61169","name":"*","chunks":[],"async":false}},"99324":{"*":{"id":"73370","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/project/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"2228":{"*":{"id":"25608","name":"*","chunks":[],"async":false}},"8648":{"*":{"id":"34001","name":"*","chunks":[],"async":true}},"19736":{"*":{"id":"61130","name":"*","chunks":[],"async":true}},"21484":{"*":{"id":"77220","name":"*","chunks":[],"async":true}},"24058":{"*":{"id":"3588","name":"*","chunks":[],"async":true}},"26719":{"*":{"id":"67045","name":"*","chunks":[],"async":false}},"28898":{"*":{"id":"45354","name":"*","chunks":[],"async":false}},"33408":{"*":{"id":"77462","name":"*","chunks":[],"async":true}},"47617":{"*":{"id":"29491","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62177":{"*":{"id":"67134","name":"*","chunks":[],"async":true}},"63048":{"*":{"id":"99033","name":"*","chunks":[],"async":true}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"8077","name":"*","chunks":[],"async":true}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"76043":{"*":{"id":"83179","name":"*","chunks":[],"async":false}},"76288":{"*":{"id":"4462","name":"*","chunks":[],"async":false}},"76412":{"*":{"id":"38878","name":"*","chunks":[],"async":true}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"79968":{"*":{"id":"25465","name":"*","chunks":[],"async":true}},"82032":{"*":{"id":"12568","name":"*","chunks":[],"async":true}},"83519":{"*":{"id":"94481","name":"*","chunks":[],"async":false}},"83678":{"*":{"id":"77120","name":"*","chunks":[],"async":false}},"84310":{"*":{"id":"76552","name":"*","chunks":[],"async":true}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"89039":{"*":{"id":"37129","name":"*","chunks":[],"async":true}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"93975":{"*":{"id":"79758","name":"*","chunks":[],"async":false}},"99324":{"*":{"id":"26188","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter\",\"subsets\":[\"latin\"],\"display\":\"swap\"}],\"variableName\":\"inter\"}":{"id":36791,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","7177","static/chunks/app/layout-a0362651ba6e6e6f.js"],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Lora\",\"arguments\":[{\"variable\":\"--font-lora\",\"subsets\":[\"latin\"],\"display\":\"swap\"}],\"variableName\":\"lora\"}":{"id":7815,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","7177","static/chunks/app/layout-a0362651ba6e6e6f.js"],"async":false},"/home/runner/work/cockpit/cockpit/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"JetBrains_Mono\",\"arguments\":[{\"variable\":\"--font-jetbrains-mono\",\"subsets\":[\"latin\"],\"display\":\"swap\"}],\"variableName\":\"jetbrainsMono\"}":{"id":66924,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","7177","static/chunks/app/layout-a0362651ba6e6e6f.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/EmptyState.tsx":{"id":76288,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/I18nProvider.tsx":{"id":47617,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/NoteModal.tsx":{"id":8648,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/NoteToolbar.tsx":{"id":76043,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/ProjectItem.tsx":{"id":2228,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/ProjectSidebar.tsx":{"id":69958,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/Providers.tsx":{"id":84310,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/SessionBrowser.tsx":{"id":83678,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/SettingsModal.tsx":{"id":21484,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/TabBar.tsx":{"id":24058,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/TabManager.tsx":{"id":33408,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/TabManagerTopBar.tsx":{"id":76412,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/useTabState.ts":{"id":89039,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/workspace/src/client/Workspace.tsx":{"id":63048,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","6500","static/chunks/app/project/page-1b14cabf47df9ff7.js"],"async":true},"/home/runner/work/cockpit/cockpit/src/app/globals.css":{"id":51743,"name":"*","chunks":["7330","static/chunks/d3ac728e-ee038320ef1e4bdf.js","8216","static/chunks/96c8525a-f1e0653013503d49.js","4281","static/chunks/bc21e3dd-a78364524623b9b0.js","5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-9f9f856e5049cd65.js","327","static/chunks/327-9ffab8f0b2b0b4cd.js","5204","static/chunks/5204-babf0d0290febbec.js","6345","static/chunks/6345-3da1914a1a74c1fb.js","5188","static/chunks/5188-6ad3d686c5e9fb28.js","7177","static/chunks/app/layout-a0362651ba6e6e6f.js"],"async":false},"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx":{"id":26719,"name":"*","chunks":["4219","static/chunks/app/global-error-3c48d7d42c672863.js"],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewHighlights.ts":{"id":99324,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewIdentity.ts":{"id":93975,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewCommentsListModal.tsx":{"id":19736,"name":"*","chunks":[],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewDropdown.tsx":{"id":82032,"name":"*","chunks":[],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewIdentitySettings.tsx":{"id":28898,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewListPanel.tsx":{"id":83519,"name":"*","chunks":[],"async":false},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewPage.tsx":{"id":62177,"name":"*","chunks":[],"async":true},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ShareReviewToggle.tsx":{"id":79968,"name":"*","chunks":[],"async":true}},"entryCSSFiles":{"/home/runner/work/cockpit/cockpit/src/":[],"/home/runner/work/cockpit/cockpit/src/app/layout":[{"inlined":false,"path":"static/css/e33280be1b23649f.css"},{"inlined":false,"path":"static/css/52b314bf20332f7c.css"},{"inlined":false,"path":"static/css/f9a27209b85d8e5a.css"}],"/home/runner/work/cockpit/cockpit/src/app/global-error":[],"/home/runner/work/cockpit/cockpit/src/app/page":[{"inlined":false,"path":"static/css/52b314bf20332f7c.css"}],"/home/runner/work/cockpit/cockpit/src/app/project/page":[{"inlined":false,"path":"static/css/52b314bf20332f7c.css"}]},"rscModuleMapping":{"2228":{"*":{"id":"85906","name":"*","chunks":[],"async":false}},"8648":{"*":{"id":"24943","name":"*","chunks":[],"async":false}},"19736":{"*":{"id":"63376","name":"*","chunks":[],"async":false}},"21484":{"*":{"id":"19562","name":"*","chunks":[],"async":false}},"24058":{"*":{"id":"83022","name":"*","chunks":[],"async":false}},"26719":{"*":{"id":"81227","name":"*","chunks":[],"async":false}},"28898":{"*":{"id":"42784","name":"*","chunks":[],"async":false}},"33408":{"*":{"id":"6612","name":"*","chunks":[],"async":false}},"47617":{"*":{"id":"99829","name":"*","chunks":[],"async":false}},"51743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62177":{"*":{"id":"28820","name":"*","chunks":[],"async":false}},"63048":{"*":{"id":"84747","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"69958":{"*":{"id":"72399","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"76043":{"*":{"id":"74837","name":"*","chunks":[],"async":false}},"76288":{"*":{"id":"55632","name":"*","chunks":[],"async":false}},"76412":{"*":{"id":"93448","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"79968":{"*":{"id":"74824","name":"*","chunks":[],"async":false}},"82032":{"*":{"id":"1134","name":"*","chunks":[],"async":false}},"83519":{"*":{"id":"20975","name":"*","chunks":[],"async":false}},"83678":{"*":{"id":"47938","name":"*","chunks":[],"async":false}},"84310":{"*":{"id":"25702","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"89039":{"*":{"id":"65395","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"93975":{"*":{"id":"61169","name":"*","chunks":[],"async":false}},"99324":{"*":{"id":"73370","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -1,2 +1,2 @@
1
- (()=>{var a={};a.id=2951,a.ids=[2951],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1134:(a,b,c)=>{"use strict";c.d(b,{ReviewDropdown:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewDropdown() from the server but ReviewDropdown is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewDropdown.tsx","ReviewDropdown")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5993:(a,b,c)=>{"use strict";c.d(b,{Q:()=>j});var d=c(48249),e=c(67484),f=c(44384),g=c(208);function h(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return g.A.t("common.justNow");if(c<60)return g.A.t("common.minutesAgo",{count:c});let d=Math.floor(c/60);if(d<24)return g.A.t("common.hoursAgo",{count:d});let e=Math.floor(d/24);return e<7?g.A.t("common.daysAgo",{count:e}):b.toLocaleDateString()}let i=(0,e.forwardRef)(function({comment:a,isActive:b,isOwnComment:c,isAdmin:g,currentAuthorId:i,canInteract:j,userNameMap:k,onClick:l,onDelete:m,onEdit:n,onToggleClosed:o,onAddReply:p,onDeleteReply:q,onEditReply:r},s){let{t}=(0,f.Bd)(),u=(a,b)=>k[a]||b,[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(""),H=()=>{let a=v.trim();a&&(p(a),w(""),y(!1))},I=()=>{let b=B.trim();b&&b!==a.content&&n(b),A(!1)},J=()=>{if(!D)return;let b=F.trim(),c=a.replies.find(a=>a.id===D);!b||c&&b===c.content||r(D,b),E(null)},K=a.anchor.selectedText.length>80?a.anchor.selectedText.slice(0,77)+"...":a.anchor.selectedText,L=g||c||j;return a.closed?(0,d.jsxs)("div",{ref:s,className:"rounded-lg border border-border/50 bg-card/50 opacity-60 hover:opacity-80 transition-all cursor-pointer px-3 py-2 flex items-center gap-2",onClick:l,children:[(0,d.jsx)("span",{className:"w-4 h-4 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:u(a.authorId,a.author).charAt(0)}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground truncate flex-1",children:K}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground/50 flex-shrink-0",children:t("review.closedLabel")}),L&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),o(!1)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors flex-shrink-0",title:t("review.reopenReview"),children:t("review.reopen")}),(c&&j||g)&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),m()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors flex-shrink-0",title:t("review.deleteComment"),children:t("common.delete")})]}):(0,d.jsxs)("div",{ref:s,className:`rounded-lg border transition-all cursor-pointer ${b?"border-brand bg-brand/5 shadow-sm":"border-border bg-card hover:border-muted-foreground/30"}`,onClick:l,children:[(0,d.jsx)("div",{className:"px-3 pt-3 pb-1",children:(0,d.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r text-muted-foreground truncate",children:K})}),(0,d.jsxs)("div",{className:"px-3 pt-2 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold flex-shrink-0",children:u(a.authorId,a.author).charAt(0)}),(0,d.jsx)("span",{className:"text-xs font-medium",children:u(a.authorId,a.author)}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:h(a.createdAt)}),(0,d.jsx)("div",{className:"flex-1"}),!z&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[L&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),o(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:t("review.closeComment"),children:t("review.closeComment")}),c&&j&&(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),C(a.content),A(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:t("review.editComment"),children:t("common.edit")}),(c&&j||g)&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),m()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:t("review.deleteComment"),children:t("common.delete")})]})]}),(0,d.jsx)("div",{className:"px-3 pt-1 pb-2",children:z?(0,d.jsxs)("div",{onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{value:B,onChange:a=>C(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),I()),"Escape"===a.key&&A(!1)},className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:3,autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,d.jsx)("button",{onClick:()=>A(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,d.jsx)("button",{onClick:I,disabled:!B.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:t("common.save")})]})]}):(0,d.jsxs)("div",{className:"text-sm whitespace-pre-wrap",children:[a.content,a.edited&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:t("review.edited")})]})}),a.replies.length>0&&(0,d.jsx)("div",{className:"mx-3 border-t border-border",children:a.replies.map(a=>(0,d.jsxs)("div",{className:"py-2 border-b border-border last:border-b-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"w-4 h-4 rounded-full bg-accent text-muted-foreground flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:u(a.authorId,a.author).charAt(0)}),(0,d.jsx)("span",{className:"text-xs font-medium",children:u(a.authorId,a.author)}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:h(a.createdAt)}),(0,d.jsx)("div",{className:"flex-1"}),D!==a.id&&(a.authorId===i&&j||g)&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a.authorId===i&&j&&(0,d.jsx)("button",{onClick:b=>{var c;b.stopPropagation(),c=a.id,G(a.content),E(c)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:t("review.editReply"),children:t("common.edit")}),(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),q(a.id)},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:t("review.deleteReply"),children:t("common.delete")})]})]}),D===a.id?(0,d.jsxs)("div",{className:"mt-1 pl-6",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{value:F,onChange:a=>G(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),J()),"Escape"===a.key&&E(null)},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,d.jsx)("button",{onClick:()=>E(null),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,d.jsx)("button",{onClick:J,disabled:!F.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:t("common.save")})]})]}):(0,d.jsxs)("div",{className:"text-sm mt-0.5 pl-6 whitespace-pre-wrap",children:[a.content,a.edited&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:t("review.edited")})]})]},a.id))}),(0,d.jsx)("div",{className:"px-3 pb-2 pt-1",children:x?(0,d.jsxs)("div",{className:"mt-1",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),H()),"Escape"===a.key&&y(!1)},placeholder:t("review.replyPlaceholder"),className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,d.jsx)("button",{onClick:()=>y(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,d.jsx)("button",{onClick:H,disabled:!v.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:t("review.reply")})]})]}):j&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),y(!0)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:t("review.reply")})})]})});function j({comments:a,activeCommentId:b,currentAuthorId:c,isActive:g,isAdmin:h,userNameMap:k,onCommentClick:l,onNavigateComment:m,onDeleteComment:n,onEditComment:o,onToggleCommentClosed:p,onAddReply:q,onDeleteReply:r,onEditReply:s,scrollToCommentRef:t}){let{t:u}=(0,f.Bd)(),v=(0,e.useRef)(new Map),w=(0,e.useRef)(null);(0,e.useCallback)(a=>{let b=v.current.get(a);b&&b.scrollIntoView({behavior:"smooth",block:"center"})},[]);let x=[...a].sort((a,b)=>a.anchor.startOffset-b.anchor.startOffset);return(0,d.jsxs)("div",{ref:w,className:"h-full flex flex-col bg-card",children:[(0,d.jsxs)("div",{className:"px-4 py-2 bg-secondary border-b border-border flex-shrink-0 flex items-center",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:0===a.length?u("review.selectTextToComment"):b?u("review.commentsNavCount",{current:x.findIndex(a=>a.id===b)+1,total:a.length}):u("review.commentsCount",{count:a.length})}),a.length>0&&(0,d.jsxs)("div",{className:"flex items-center gap-1 ml-2",children:[(0,d.jsxs)("button",{onClick:()=>m("prev"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:u("review.prevComment"),children:[(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"15 18 9 12 15 6"})}),u("review.prevComment")]}),(0,d.jsxs)("button",{onClick:()=>m("next"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:u("review.nextComment"),children:[u("review.nextComment"),(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"9 18 15 12 9 6"})})]})]})]}),(0,d.jsx)("div",{className:"flex-1 overflow-auto",children:0===x.length?(0,d.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-2xl mb-2",children:"\uD83D\uDCAC"}),(0,d.jsx)("div",{children:u("review.selectTextHint")})]})}):(0,d.jsx)("div",{className:"p-3 space-y-3",children:x.map(a=>(0,d.jsx)(i,{ref:b=>{b?v.current.set(a.id,b):v.current.delete(a.id)},comment:a,isActive:a.id===b,isOwnComment:a.authorId===c,isAdmin:h,currentAuthorId:c,canInteract:g,userNameMap:k,onClick:()=>l(a.id),onDelete:()=>n(a.id),onEdit:b=>o(a.id,b),onToggleClosed:b=>p(a.id,b),onAddReply:b=>q(a.id,b),onDeleteReply:b=>r(a.id,b),onEditReply:(b,c)=>s(a.id,b,c)},a.id))})})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12629:a=>{"use strict";a.exports=import("web-tree-sitter")},16708:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{W:()=>n});var e=c(48249),f=c(67484),g=c(87844),h=c(24680),i=c(83768),j=c(84835),k=c(84226),l=c(63324),m=c(26188);let a=[j.W];function n({content:b,comments:c,activeCommentId:d,isActive:j,onAddComment:o,onHighlightClick:p,scrollToHighlightRef:q}){let{resolvedTheme:r}=(0,i.D)(),s=(0,f.useRef)(null),t=(0,f.useRef)(null),[u,v]=(0,f.useState)(null),w=(0,f.useMemo)(()=>u?[...c,{id:"__pending__",author:"",authorId:"",content:"",anchor:u.anchor,createdAt:0,replies:[]}]:c,[c,u]),{rects:x,scrollToHighlight:y}=(0,m.useReviewHighlights)(s,t,w,d),z=(0,f.useRef)(x),A=(0,f.useCallback)(a=>{let b=window.getSelection(),c=b&&!b.isCollapsed;if(c&&j&&s.current){let c=b.getRangeAt(0);if(s.current.contains(c.startContainer)&&s.current.contains(c.endContainer)){let d=function(a,b){let c=document.createTreeWalker(a,NodeFilter.SHOW_TEXT),d=0,e=-1,f=-1;for(;c.nextNode();){let a=c.currentNode,g=a.textContent?.length||0;if(a===b.startContainer&&(e=d+b.startOffset),a===b.endContainer){f=d+b.endOffset;break}d+=g}if(-1===e||-1===f||e>=f)return null;let g=a.textContent?.slice(e,f)||"";return g.trim()?{startOffset:e,endOffset:f,selectedText:g}:null}(s.current,c);if(d){let c=t.current??s.current.parentElement,e=c.getBoundingClientRect();v({anchor:d,position:{top:a.clientY-e.top+c.scrollTop+8,left:a.clientX-e.left}}),b.removeAllRanges();return}}}if(!c&&!u){let b=t.current;if(!b)return;let c=b.getBoundingClientRect(),d=a.clientX-c.left+b.scrollLeft,e=a.clientY-c.top+b.scrollTop;for(let a of z.current)if("__pending__"!==a.commentId&&d>=a.left&&d<=a.left+a.width&&e>=a.top&&e<=a.top+a.height)return void p(a.commentId)}},[j,u,p]),B=(0,f.useCallback)(a=>{u&&(o(a,u.anchor),v(null),window.getSelection()?.removeAllRanges())},[u,o]),C=(0,f.useCallback)(()=>{v(null),window.getSelection()?.removeAllRanges()},[]);return(0,e.jsxs)("div",{className:"h-full flex bg-card",children:[(0,e.jsx)(h.l,{content:b,containerRef:t}),(0,e.jsxs)("div",{ref:t,className:"flex-1 overflow-auto relative",onMouseUp:A,children:[(0,e.jsx)("div",{ref:s,className:"p-6 review-markdown-container",children:(0,e.jsx)(g.T,{content:b,rehypePlugins:a})}),(0,e.jsx)(l.u,{rects:x,activeCommentId:d,pendingCommentId:u?"__pending__":null,isDark:"dark"===r}),u&&(0,e.jsx)(k.X,{selectedText:u.anchor.selectedText,position:u.position,onSubmit:B,onCancel:C})]})]})}d()}catch(a){d(a)}})},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20975:(a,b,c)=>{"use strict";c.d(b,{ReviewListPanel:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewListPanel() from the server but ReviewListPanel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewListPanel.tsx","ReviewListPanel")},26188:(a,b,c)=>{"use strict";c.d(b,{useReviewHighlights:()=>e});var d=c(67484);function e(a,b,c,e){let[f,g]=(0,d.useState)([]),h=(0,d.useRef)(0),i=(0,d.useRef)(c);(0,d.useCallback)(()=>{h.current&&cancelAnimationFrame(h.current),h.current=requestAnimationFrame(()=>{let c=a.current,d=b.current;if(!c||!d)return;let e=function(a,b,c){let d=[],e=b.getBoundingClientRect(),f=function(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_TEXT),d=0;for(;c.nextNode();){let a=c.currentNode,e=a.textContent?.length||0;b.push({node:a,start:d,end:d+e}),d+=e}return b}(a);if(0===f.length)return d;for(let a of c){let{startOffset:c,endOffset:g}=a.anchor;if(c>=g)continue;let h=null,i=0,j=null,k=0;for(let{node:a,start:b,end:d}of f)if(!h&&c>=b&&c<d&&(h=a,i=c-b),g>b&&g<=d){j=a,k=g-b;break}if(!h||!j)continue;let l=document.createRange();try{l.setStart(h,i),l.setEnd(j,k)}catch{continue}for(let c of l.getClientRects())c.width<1||c.height<1||d.push({commentId:a.id,top:c.top-e.top+b.scrollTop,left:c.left-e.left+b.scrollLeft,width:c.width,height:c.height})}return d}(c,d,i.current);g(a=>a.length===e.length&&a.every((a,b)=>a.commentId===e[b].commentId&&.5>Math.abs(a.top-e[b].top)&&.5>Math.abs(a.left-e[b].left)&&.5>Math.abs(a.width-e[b].width)&&.5>Math.abs(a.height-e[b].height))?a:e)})},[a,b]);let j=(0,d.useCallback)(a=>{let c=b.current;if(!c)return;let d=f.find(b=>b.commentId===a);if(!d)return;let e=c.clientHeight;c.scrollTo({top:d.top-e/2+d.height/2,behavior:"smooth"})},[b,f]);return{rects:f,scrollToHighlight:j}}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28820:(a,b,c)=>{"use strict";c.d(b,{ReviewPage:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewPage() from the server but ReviewPage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewPage.tsx","ReviewPage")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29657:(a,b,c)=>{Promise.resolve().then(c.bind(c,26188)),Promise.resolve().then(c.bind(c,79758)),Promise.resolve().then(c.bind(c,61130)),Promise.resolve().then(c.bind(c,12568)),Promise.resolve().then(c.bind(c,45354)),Promise.resolve().then(c.bind(c,94481)),Promise.resolve().then(c.bind(c,67134)),Promise.resolve().then(c.bind(c,25465))},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42681:(a,b,c)=>{Promise.resolve().then(c.bind(c,73370)),Promise.resolve().then(c.bind(c,61169)),Promise.resolve().then(c.bind(c,63376)),Promise.resolve().then(c.bind(c,1134)),Promise.resolve().then(c.bind(c,42784)),Promise.resolve().then(c.bind(c,20975)),Promise.resolve().then(c.bind(c,28820)),Promise.resolve().then(c.bind(c,74824))},42784:(a,b,c)=>{"use strict";c.d(b,{ReviewIdentitySettings:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewIdentitySettings() from the server but ReviewIdentitySettings is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewIdentitySettings.tsx","ReviewIdentitySettings")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44236:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>f,generateMetadata:()=>g});var d=c(5735),e=c(28820);let f="force-dynamic";async function g({params:a}){let{id:b}=await a;return{title:`Review - ${b}`}}async function h({params:a}){let{id:b}=await a;return(0,d.jsx)(e.ReviewPage,{reviewId:b})}},45354:(a,b,c)=>{"use strict";c.d(b,{ReviewIdentitySettings:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({identity:a}){let{t:b}=(0,f.Bd)(),[c,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(""),k=(0,e.useRef)(null),l=()=>{let b=i.trim();b&&b!==a.name&&a.confirmName(b),h(!1)};return(0,d.jsxs)("div",{className:"relative",ref:k,children:[(0,d.jsxs)("button",{onClick:()=>{c||j(a.name),h(!c)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors flex items-center gap-1",title:b("review.identitySettings"),children:[(0,d.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold",children:a.name.charAt(0)}),(0,d.jsx)("span",{className:"text-muted-foreground",children:a.name})]}),c&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-1 w-56 bg-card border border-border rounded-lg shadow-lg p-3 z-50",children:[(0,d.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:b("review.reviewNickname")}),(0,d.jsx)("input",{type:"text",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.nativeEvent.isComposing||l()},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded focus:outline-none focus:border-brand",autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,d.jsx)("button",{onClick:()=>{a.randomize(),h(!1)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("review.random")}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("button",{onClick:()=>h(!1),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,d.jsx)("button",{onClick:l,className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors",children:b("common.save")})]})]})]})}},53518:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>M,handler:()=>O,routeModule:()=>N});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(63747),o=c(24235),p=c(23938),q=c(261),r=c(66758),s=c(77243),t=c(26713),u=c(37527),v=c(22820),w=c(88216),x=c(47929),y=c(79551),z=c(71797),A=c(89125),B=c(86439),C=c(77068),D=c(27269),E=c(61287),F=c(81494),G=c(70722),H=c(70753),I=c(43954),J=c(17891),K={};for(let a in E)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(K[a]=()=>E[a]);c.d(b,K);let L={children:["",{children:["review",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,44236)),"/home/runner/work/cockpit/cockpit/src/app/review/[id]/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.bind(c,81227)),"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx"]},[]]},{"global-error":[()=>Promise.resolve().then(c.bind(c,81227)),"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"/home/runner/work/cockpit/cockpit/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,81227)),"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,M={require:c,loadChunk:()=>Promise.resolve()},N=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/review/[id]/page",pathname:"/review/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:L},distDir:".next-prod",relativeProjectDir:""});async function O(a,b,d){var K,P,Q,R,S;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),N.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T=!!(0,h.getRequestMeta)(a,"minimalMode"),U="/review/[id]/page";"/index"===U&&(U="/");let V=await N.prepare(a,b,{srcPage:U,multiZoneDraftMode:!1});if(!V)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:W,query:X,params:Y,pageIsDynamic:Z,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,serverActionsManifest:ab,clientReferenceManifest:ac,subresourceIntegrityManifest:ad,prerenderManifest:ae,isDraftMode:af,resolvedPathname:ag,revalidateOnlyGenerated:ah,routerServerContext:ai,nextConfig:aj,parsedUrl:ak,interceptionRoutePatterns:al,deploymentId:am,clientAssetToken:an}=V,ao=(0,q.normalizeAppPath)(U),{isOnDemandRevalidate:ap}=V,aq=aj.experimental.ppr&&!aj.cacheComponents&&(0,I.isInterceptionRouteAppPath)(ag)?null:N.match(ag,ae),ar=(null==aq?void 0:aq.route)??null,as=!!ae.routes[ag],at=a.headers["user-agent"]||"",au=(0,t.getBotType)(at),av=(0,p.isHtmlBotRequest)(a),aw=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ax=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ay=(0,r.getIsPossibleServerAction)(a),az=(0,m.checkIsAppPPREnabled)(aj.experimental.ppr),aA=a.headers[x.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&T&&az&&ay&&aA&&"string"==typeof aA){let e=parseInt(aA,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,D.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,D.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(S=aj.experimental.serverActions)?void 0:S.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,D.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&az&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,D.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize),f=await (0,D.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,D.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aB=!0===N.isDev||!0===aj.experimental.exposeTestingApiInProductionBuild,aC=aB&&("1"===a.headers[s.NEXT_INSTANT_PREFETCH_HEADER]||void 0===a.headers[s.RSC_HEADER]&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(s.NEXT_INSTANT_TEST_COOKIE+"=")),aD=(az||aC)&&((null==(K=ae.routes[ao]??ae.dynamicRoutes[ao])?void 0:K.renderingMode)==="PARTIALLY_STATIC"||aC&&(aB||(null==ai?void 0:ai.experimentalTestProxy)===!0)),aE=aC&&aD,aF=aE&&!0===N.isDev,aG=!1,aH=aD?(0,h.getRequestMeta)(a,"postponed"):void 0,aI=null==(P=ae.routes[ag])?void 0:P.prefetchDataRoute,aJ=aD&&ax&&!aw&&!aI;T&&(aJ=aJ&&!!aH);let aK=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aL=(!au||!aD)&&(!at||(0,p.shouldServeStreamingMetadata)(at,aj.htmlLimitedBots)),aM=!!((ar||as||ae.routes[ao])&&!(au&&aD)),aN=aD&&!0===aj.cacheComponents,aO=!0===N.isDev||!aM||"string"==typeof aH||(aN&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aJ&&!T:aJ),aP=!!au&&aD,aQ=(null==ar?void 0:ar.remainingPrerenderableParams)??[],aR=(null==ar?void 0:ar.fallback)===null&&((null==(Q=ar.fallbackRootParams)?void 0:Q.length)??0)>0,aS=null;if(!af&&aM&&!aO&&!ay&&!aH&&!aJ){let a=aq?"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:aq.source:null;if(!0===aj.experimental.partialFallbacks&&a&&(null==ar?void 0:ar.fallbackRouteParams)&&!aR){if(aQ.length>0){let b,c=(b=new Map(aQ.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,J.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==Y?void 0:Y[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace(function(a){let{repeat:b,optional:c}=(0,J.getParamProperties)(a.paramType);return c?`[[...${a.paramName}]]`:b?`[...${a.paramName}]`:`[${a.paramName}]`}(d),f)}).join("/")||"/");aS=c!==a?c:null}}else aS=ag}let aT=aS;!aT&&(N.isDev||aM&&Z&&(null==ar?void 0:ar.fallbackRouteParams)&&!ay)&&(aT=ag),N.isDev||af||!aM||!ax||aJ||(0,k.d)(a.headers);let aU={...E,tree:L,handler:O,routeModule:N,__next_app__:M};ab&&ac&&(0,o.setManifestsSingleton)({page:U,clientReferenceManifest:ac,serverActionsManifest:ab});let aV=a.method||"GET",aW=(0,g.getTracer)(),aX=aW.getActiveScopeSpan(),aY=!!(null==ai?void 0:ai.isWrappedByNextServer),aZ=!0===aj.experimental.partialFallbacks&&aQ.length>0?(null==ar||null==(R=ar.fallbackRouteParams)?void 0:R.filter(a=>!aQ.some(b=>b.paramName===a.paramName)))??[]:[],a$=async()=>((null==ai?void 0:ai.render404)?await ai.render404(a,b,ak,!1):b.end("This page could not be found"),null);try{let k,m=N.getVaryHeader(ag,al);b.setHeader("Vary",m);let o=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return N.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aW.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aV} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aV} ${U}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await N.getIncrementalCache(a,aj,ae,T);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:X,params:Y,page:ao,sharedContext:{buildId:W,deploymentId:am,clientAssetToken:an},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aU,Component:(0,j.T)(aU),params:Y,routeModule:N,page:U,postponed:f,shouldWaitOnAllReady:aP,serveStreamingMetadata:aL,supportsDynamicResponse:"string"==typeof f||aO,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,subresourceIntegrityManifest:ad,setCacheStatus:null==ai?void 0:ai.setCacheStatus,setIsrStatus:null==ai?void 0:ai.setIsrStatus,setReactDebugChannel:null==ai?void 0:ai.setReactDebugChannel,sendErrorsToBrowser:null==ai?void 0:ai.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),N.relativeProjectDir),isDraftMode:af,botType:au,isOnDemandRevalidate:ap,isPossibleServerAction:ay,assetPrefix:aj.assetPrefix,nextConfigOutput:aj.output,crossOrigin:aj.crossOrigin,trailingSlash:aj.trailingSlash,images:aj.images,previewProps:ae.preview,enableTainting:aj.experimental.taint,htmlLimitedBots:aj.htmlLimitedBots,reactMaxHeadersLength:aj.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:aj.cacheLife,basePath:aj.basePath,serverActions:aj.experimental.serverActions,logServerFunctions:"object"==typeof aj.logging&&!!aj.logging.serverFunctions,...aE||aF||aG?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aF}:{},cacheComponents:!!aj.cacheComponents,experimental:{isRoutePPREnabled:aD,expireTime:aj.expireTime,staleTimes:aj.experimental.staleTimes,dynamicOnHover:!!aj.experimental.dynamicOnHover,optimisticRouting:!!aj.experimental.optimisticRouting,inlineCss:!!aj.experimental.inlineCss,prefetchInlining:aj.experimental.prefetchInlining??!1,authInterrupts:!!aj.experimental.authInterrupts,cachedNavigations:!!aj.experimental.cachedNavigations,clientTraceMetadata:aj.experimental.clientTraceMetadata||[],clientParamParsingOrigins:aj.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,C.parseMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>N.onRequestError(a,b,d,e,ai),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await o(e,k),{metadata:m}=l,{cacheControl:n,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[x.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aM&&(null==n?void 0:n.revalidate)===0&&!N.isDev&&!aD){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ag}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===N.isDev,m=c||b.writableEnded;try{let f;if(ap&&ah&&!g&&!T)return(null==ai?void 0:ai.render404)?await ai.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ar&&(f=(0,v.parseFallbackField)(ar.fallback)),!0===aj.experimental.partialFallbacks&&(null==ar?void 0:ar.fallback)===null&&!aR&&aQ.length>0&&(f=v.FallbackMode.PRERENDER),f===v.FallbackMode.PRERENDER&&(0,t.isBot)(at)&&(!aD||av)&&(f=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ap=!0),ap&&(f!==v.FallbackMode.NOT_FOUND||g)&&(f=v.FallbackMode.BLOCKING_STATIC_RENDER),!T&&f!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aT&&!m&&!af&&Z&&(l||!as)){if((l||ar)&&f===v.FallbackMode.NOT_FOUND){if(aj.adapterPath)return await a$();throw new B.NoFallbackError}if(aD&&(aj.cacheComponents?!aJ:!ax)){let b=l&&"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:ao,f=(l||aE)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,n.getFallbackRouteParams)(ao,N):null;aE&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await N.handleResponse({cacheKey:b,req:a,nextConfig:aj,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ae,isRoutePPREnabled:aD,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:T});if(null===g)return null;if(g)return T||!aD||!(aQ.length>0)||!0!==aj.experimental.partialFallbacks||!aS||!p||ap||aG||aB||aC||aw||(0,H.scheduleOnNextTick)(async()=>{let b=N.getResponseCache(a);try{await b.revalidate(aS,p,aD,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:aZ.length>0?(0,n.createOpaqueFallbackRouteParams)(aZ):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let o=ap||i||!aH?void 0:aH;if(aN&&!T&&p&&(aJ||ay)&&!k){let b=await p.get(ag,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(o=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,H.scheduleOnNextTick)(async()=>{let b=N.getResponseCache(a);try{await b.revalidate(ag,p,aD,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aE||aF)&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||aE&&!as)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,n.getFallbackRouteParams)(ao,N):null;if((l||aE)&&aj.cacheComponents&&!as&&(null==ar?void 0:ar.fallbackRouteParams)){let b=(0,n.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:o,fallbackRouteParams:s,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await N.onRequestError(a,b,{routerKind:"App Router",routePath:U,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aM,isOnDemandRevalidate:ap})},!1,ai),b}},D=async c=>{var f,g,i,j,k;let l,m=await N.handleResponse({cacheKey:aS,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ap,isRoutePPREnabled:aD,req:a,nextConfig:aj,prerenderManifest:ae,waitUntil:d.waitUntil,isMinimalMode:T});if(af&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),N.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!m){if(aS)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;ax&&!ay&&am&&b.setHeader(x.NEXT_NAV_DEPLOYMENT_ID_HEADER,am),aM&&!aJ&&(!n||aw)&&(T||b.setHeader("x-nextjs-cache",ap?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:o}=m;if(aH)l={revalidate:0,expire:void 0};else if(aJ)l={revalidate:0,expire:void 0};else if(!N.isDev)if(af)l={revalidate:0,expire:void 0};else if(aM){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??aj.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof aK&&(null==o?void 0:o.kind)===u.CachedRouteKind.APP_PAGE&&o.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=o.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];T&&aM&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=o.segmentData.get(aK);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let p=aN?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(p&&await p(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(o.headers){let a={...o.headers};for(let[c,d]of(T&&aM||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=o.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(T&&aM&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!o.status||ax&&aD||(b.statusCode=o.status),!T&&o.status&&F.RedirectStatusCode[o.status]&&ax&&(b.statusCode=200),n&&!aJ&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ax&&!af){if(void 0===o.rscData){if(o.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(aj.cacheComponents)return b.statusCode=404,(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new G.InvariantError(`Expected RSC response, got ${o.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:o.html,cacheControl:m.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:w.default.fromStatic(o.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=o.html;if(aC&&aE){let c=!0===N.isDev?crypto.randomUUID():null;return v.pipeThrough((0,z.createInstantTestScriptInsertionTransformStream)(c)),(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})}if(!n||T||ax)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v,cacheControl:m.cacheControl});if(aE||aF)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let B=new TransformStream;return v.push(B.readable),q({span:c,postponed:o.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(B.writable)}).catch(a=>{B.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aY||!aX)return k=aW.getActiveScopeSpan(),await aW.withPropagatedContext(a.headers,()=>aW.trace(i.BaseServerSpan.handleRequest,{spanName:`${aV} ${U}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aV,"http.target":a.url}},D),void 0,!aY);await D(aX)}catch(b){throw b instanceof B.NoFallbackError||await N.onRequestError(a,b,{routerKind:"App Router",routePath:U,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aM,isOnDemandRevalidate:ap})},!1,ai),b}}},55511:a=>{"use strict";a.exports=require("crypto")},61169:(a,b,c)=>{"use strict";c.d(b,{useReviewIdentity:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call useReviewIdentity() from the server but useReviewIdentity is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewIdentity.ts","useReviewIdentity")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63324:(a,b,c)=>{"use strict";c.d(b,{u:()=>g});var d=c(48249);c(67484);let e={bg:"rgba(234, 179, 8, 0.15)",bgActive:"rgba(234, 179, 8, 0.4)",bgPending:"rgba(234, 179, 8, 0.3)",border:"rgba(234, 179, 8, 0.7)",borderPending:"rgba(234, 179, 8, 0.9)"},f={bg:"rgba(234, 179, 8, 0.1)",bgActive:"rgba(234, 179, 8, 0.3)",bgPending:"rgba(234, 179, 8, 0.2)",border:"rgba(234, 179, 8, 0.5)",borderPending:"rgba(234, 179, 8, 0.7)"};function g({rects:a,activeCommentId:b,pendingCommentId:c,isDark:h}){if(0===a.length)return null;let i=h?f:e;return(0,d.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:0,overflow:"visible",pointerEvents:"none",zIndex:5},children:a.map((a,e)=>{let f=a.commentId===b,g=a.commentId===c,h=i.bg;return g?h=i.bgPending:f&&(h=i.bgActive),(0,d.jsx)("div",{"data-comment-id":a.commentId,style:{position:"absolute",top:a.top,left:a.left,width:a.width,height:a.height,backgroundColor:h,borderBottom:`1px solid ${g?i.borderPending:i.border}`,borderRadius:1,pointerEvents:"none"}},`${a.commentId}-${e}`)})})}},63376:(a,b,c)=>{"use strict";c.d(b,{ReviewCommentsListModal:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewCommentsListModal() from the server but ReviewCommentsListModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewCommentsListModal.tsx","ReviewCommentsListModal")},67134:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ReviewPage:()=>t});var e=c(48249),f=c(67484),g=c(44384),h=c(16708),i=c(5993),j=c(45354),k=c(94481),l=c(76788),m=c(61130),n=c(79758),o=c(83768),p=c(7833),q=c(33281),r=c(83120),s=a([h,m]);function t({reviewId:a}){let{t:b}=(0,g.Bd)(),[c,d]=(0,f.useState)(a),[s,u]=(0,f.useState)(null),[v,w]=(0,f.useState)(!0),[x,y]=(0,f.useState)(null),[z,A]=(0,f.useState)(null),[B,C]=(0,f.useState)(!1),D=(0,n.useReviewIdentity)(),{resolvedTheme:E,setTheme:F}=(0,o.D)(),[G,H]=(0,f.useState)({}),[I,J]=(0,f.useState)(!1),[K,L]=(0,f.useState)(!1),M=(0,f.useCallback)(async()=>{let a=await q.t4.runPromiseExit((0,r.BL)());if("Success"===a._tag){let b={};for(let[c,d]of Object.entries(a.value.users))b[c]=d.name;H(b)}},[]),N=(0,f.useRef)(void 0),O=(0,f.useRef)(void 0),P=(0,f.useCallback)(a=>{a!==c&&(d(a),y(null),A(null),window.history.replaceState(null,"",`/review/${a}`))},[c]),Q=(0,f.useCallback)(async()=>{let a=await q.t4.runPromiseExit((0,r.JK)(c));if("Success"===a._tag)u(a.value.review),y(null);else{let c="Fail"===a.cause._tag?a.cause.error:null;c&&"NotFoundError"===c._tag?y(b("review.reviewNotExist")):c&&"AppError"===c._tag?y(b("review.loadFailed")):y(b("review.networkError"))}w(!1)},[c,b]),R=(0,f.useCallback)(async(a,c)=>{let d=await q.t4.runPromiseExit(a);"Success"===d._tag?await Q():(0,p.oR)(b(c),"error")},[Q,b]),S=(0,f.useCallback)(async(a,b)=>{D.authorId&&await R((0,r.dU)(c,{author:D.name,authorId:D.authorId,content:a,anchor:b}),"toast.addCommentFailed")},[c,D,R]),T=(0,f.useCallback)(a=>R((0,r.jw)(c,a),"toast.deleteCommentFailed"),[c,R]),U=(0,f.useCallback)((a,b)=>R((0,r.Y8)(c,{commentId:a,content:b}),"toast.editCommentFailed"),[c,R]),V=(0,f.useCallback)((a,b)=>R((0,r.Y8)(c,{commentId:a,closed:b}),"toast.operationFailed"),[c,R]),W=(0,f.useCallback)(async(a,b)=>{D.authorId&&await R((0,r.mu)(c,{commentId:a,author:D.name,authorId:D.authorId,content:b}),"toast.addReplyFailed")},[c,D,R]),X=(0,f.useCallback)((a,b)=>R((0,r.i7)(c,a,b),"toast.deleteReplyFailed"),[c,R]),Y=(0,f.useCallback)((a,b,d)=>R((0,r.vy)(c,{commentId:a,replyId:b,content:d}),"toast.editReplyFailed"),[c,R]),Z=(0,f.useCallback)(async()=>{let a=await q.t4.runPromiseExit((0,r._c)());if("Success"===a._tag){let d=a.value.shareBase?`${a.value.shareBase}/review/${c}`:window.location.href;try{await navigator.clipboard.writeText(d),(0,p.oR)(b("toast.linkCopied"),"success")}catch{(0,p.oR)(b("toast.copyFailed"),"error")}}else(0,p.oR)(b("toast.copyFailed"),"error")},[c,b]),$=(0,f.useCallback)(a=>{A(a),O.current?.(a)},[]),_=(0,f.useCallback)(a=>{A(a),N.current?.(a)},[]),aa=(0,f.useCallback)(a=>{let b;if(!s||0===s.comments.length)return;let c=[...s.comments].sort((a,b)=>a.anchor.startOffset-b.anchor.startOffset),d=z?c.findIndex(a=>a.id===z):-1;b="next"===a?d<c.length-1?d+1:0:d>0?d-1:c.length-1;let e=c[b];A(e.id),O.current?.(e.id),N.current?.(e.id)},[s,z]);return(0,e.jsxs)("div",{className:"h-screen flex flex-col bg-background text-foreground overflow-hidden",children:[I&&(0,e.jsx)(l._,{currentName:D.name,onConfirm:a=>{D.confirmName(a),J(!1),M()},onSkip:()=>J(!1)}),s&&(0,e.jsx)(m.ReviewCommentsListModal,{isOpen:K,onClose:()=>L(!1),comments:s.comments,reviewTitle:s.title,userNameMap:G,onCommentClick:a=>{A(a),O.current?.(a),N.current?.(a)}}),s&&(0,e.jsx)("div",{className:"py-2 bg-secondary border-b border-border flex-shrink-0 flex justify-center",children:(0,e.jsxs)("div",{className:"w-full max-w-[1800px] px-4 flex items-center gap-3",children:[(0,e.jsx)("h1",{className:"text-sm font-semibold truncate",children:s.title}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground flex-shrink-0",children:b("review.updatedAt",{date:new Date(s.updatedAt||s.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})}),(0,e.jsx)("span",{className:"flex-1"}),!B&&(0,e.jsx)("span",{className:`px-2 py-0.5 text-xs rounded-full ${s.active?"bg-green-500/15 text-green-600 dark:text-green-400":"bg-muted text-muted-foreground"}`,children:s.active?b("review.active"):b("review.closed")}),(0,e.jsxs)("button",{onClick:()=>L(!0),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground flex items-center gap-1",title:b("review.viewAllComments"),children:[(0,e.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,e.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),b("review.viewCommentBtn")]}),(0,e.jsx)("button",{onClick:Z,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("review.copyLink")}),(0,e.jsx)("button",{onClick:()=>F("dark"===E?"light":"dark"),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:"dark"===E?b("settings.switchLight"):b("settings.switchDark"),children:"dark"===E?(0,e.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"5"}),(0,e.jsx)("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),(0,e.jsx)("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),(0,e.jsx)("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),(0,e.jsx)("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),(0,e.jsx)("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),(0,e.jsx)("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),(0,e.jsx)("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),(0,e.jsx)("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]}):(0,e.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,e.jsx)("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})})}),(0,e.jsx)(j.ReviewIdentitySettings,{identity:D})]})}),(0,e.jsx)("div",{className:"flex-1 flex justify-center overflow-hidden",children:(0,e.jsxs)("div",{className:"w-full max-w-[1800px] flex overflow-hidden",children:[(0,e.jsx)(k.ReviewListPanel,{currentReviewId:c,onSelect:P,readOnly:!B,refreshTrigger:s?.comments.length,onViewComments:a=>{a!==c&&P(a),L(!0)}}),v?(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,e.jsx)("div",{className:"text-muted-foreground",children:b("common.loading")})}):x||!s?(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("div",{className:"text-xl mb-2",children:x||b("review.reviewNotFound")}),(0,e.jsx)("div",{className:"text-sm text-muted-foreground",children:b("review.checkLink")})]})}):(0,e.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[(0,e.jsx)("div",{className:"flex-1 h-full border-r border-border overflow-hidden",children:(0,e.jsx)(h.W,{content:s.content,comments:s.comments,activeCommentId:z,isActive:s.active,onAddComment:S,onHighlightClick:_,scrollToHighlightRef:O})}),(0,e.jsx)("div",{className:"w-[360px] h-full overflow-hidden flex-shrink-0",children:(0,e.jsx)(i.Q,{comments:s.comments,activeCommentId:z,currentAuthorId:D.authorId,isActive:s.active,isAdmin:B,userNameMap:G,onCommentClick:$,onNavigateComment:aa,onDeleteComment:T,onEditComment:U,onToggleCommentClosed:V,onAddReply:W,onDeleteReply:X,onEditReply:Y,scrollToCommentRef:N})})]})]})})]})}[h,m]=s.then?(await s)():s,d()}catch(a){d(a)}})},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73136:a=>{"use strict";a.exports=require("node:url")},73370:(a,b,c)=>{"use strict";c.d(b,{useReviewHighlights:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call useReviewHighlights() from the server but useReviewHighlights is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewHighlights.ts","useReviewHighlights")},74824:(a,b,c)=>{"use strict";c.d(b,{ShareReviewToggle:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ShareReviewToggle() from the server but ShareReviewToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ShareReviewToggle.tsx","ShareReviewToggle")},76760:a=>{"use strict";a.exports=require("node:path")},76788:(a,b,c)=>{"use strict";c.d(b,{_:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({currentName:a,onConfirm:b,onSkip:c}){let{t:h}=(0,f.Bd)(),[i,j]=(0,e.useState)(a),k=(0,e.useRef)(null),l=()=>{let a=i.trim();a&&b(a)};return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:(0,d.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl w-80 p-5",children:[(0,d.jsx)("h2",{className:"text-base font-semibold mb-1",children:h("review.setNickname")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-4",children:h("review.nicknameHint")}),(0,d.jsx)("input",{ref:k,type:"text",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.nativeEvent.isComposing||l(),"Escape"===a.key&&c()},placeholder:h("review.nicknamePlaceholder"),maxLength:20,className:"w-full px-3 py-2 text-sm bg-secondary border border-border rounded-lg focus:outline-none focus:border-brand",autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2 mt-4",children:[(0,d.jsx)("button",{onClick:c,className:"px-3 py-1.5 text-xs rounded-lg hover:bg-accent transition-colors text-muted-foreground",children:h("review.skipForNow")}),(0,d.jsx)("button",{onClick:l,disabled:!i.trim(),className:"px-4 py-1.5 text-xs rounded-lg bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:h("common.save")})]})]})})}},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},78908:a=>{"use strict";a.exports=import("shiki")},79748:a=>{"use strict";a.exports=require("fs/promises")},79758:(a,b,c)=>{"use strict";c.d(b,{useReviewIdentity:()=>i});var d=c(67484);c(55511);var e=c(208),f=c(79606),g=c(33281),h=c(71192);function i(){let[a,b]=(0,d.useState)(""),[c,i]=(0,d.useState)(""),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!0),n=(0,d.useCallback)(a=>{let b=f.tryPromise({try:async()=>{await fetch("/api/review/identify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a})})},catch:a=>new h.uV({message:"review identify POST failed",cause:a})});g.t4.runFork(b.pipe(f.orElse(()=>f.void)))},[]),o=(0,d.useCallback)(a=>{let b=a.trim();b&&(i(b),k(!0),n(b))},[n]);return{authorId:a,name:c,nameConfirmed:j,loading:l,setName:(0,d.useCallback)(a=>{let b=a.trim();b&&(i(b),n(b))},[n]),confirmName:o,randomize:(0,d.useCallback)(()=>{let a,b,c,d;i((a=e.A.t("reviewUtils.adjectives",{returnObjects:!0}),b=e.A.t("reviewUtils.nouns",{returnObjects:!0}),c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)],`${c}${d}`))},[])}}},84226:(a,b,c)=>{"use strict";c.d(b,{X:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({selectedText:a,position:b,onSubmit:c,onCancel:h}){let{t:i}=(0,f.Bd)(),[j,k]=(0,e.useState)(""),l=(0,e.useRef)(null),m=(0,e.useRef)(null),n=()=>{let a=j.trim();a&&c(a)},o=a.length>60?a.slice(0,57)+"...":a;return(0,d.jsxs)("div",{ref:m,className:"absolute z-50 w-96 bg-card border border-border rounded-lg shadow-lg",style:{top:b.top,left:Math.max(8,b.left-192)},children:[(0,d.jsxs)("div",{className:"px-3 pt-3 pb-2",children:[(0,d.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:i("review.selectedText")}),(0,d.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r truncate",children:o})]}),(0,d.jsx)("div",{className:"px-3 pb-2",children:(0,d.jsx)("textarea",{ref:l,value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),n())},placeholder:i("review.addCommentPlaceholder"),className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:4})}),(0,d.jsxs)("div",{className:"px-3 pb-3 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:i("review.enterSubmitHint")}),(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)("button",{onClick:h,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:i("common.cancel")}),(0,d.jsx)("button",{onClick:n,disabled:!j.trim(),className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:i("review.commentBtn")})]})]})]})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94481:(a,b,c)=>{"use strict";c.d(b,{ReviewListPanel:()=>j});var d=c(48249),e=c(67484),f=c(44384),g=c(33281),h=c(79606),i=c(83120);function j({currentReviewId:a,onSelect:b,readOnly:c,refreshTrigger:k,onViewComments:l}){let{t:m}=(0,f.Bd)(),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),x=(0,e.useRef)(null),[y,z]=(0,e.useState)(null);(0,e.useCallback)(async()=>{let a=await g.t4.runPromiseExit((0,i.Y_)());"Success"===a._tag&&o(a.value.reviews??[])},[]);let A=(0,e.useCallback)(async(a,b,c)=>{a.stopPropagation(),r||(s(b),"Success"===(await g.t4.runPromiseExit((0,i.Gm)(b,{active:!c})))._tag&&o(a=>a.map(a=>a.id===b?{...a,active:!c}:a)),s(null))},[r]),B=(0,e.useCallback)(async(c,d)=>{if(c.stopPropagation(),!p){if(q(d),"Success"===(await g.t4.runPromiseExit((0,i.Wr)(d)))._tag&&(o(a=>a.filter(a=>a.id!==d)),d===a)){let a=n.filter(a=>a.id!==d);a.length>0&&b(a[0].id)}q(null)}},[p,a,n,b]),C=(0,e.useCallback)((a,b)=>{x.current=b,a.dataTransfer.effectAllowed="move";let c=a.currentTarget;requestAnimationFrame(()=>c.classList.add("opacity-30"))},[]),D=(0,e.useCallback)(a=>{x.current=null,z(null),a.currentTarget instanceof HTMLElement&&a.currentTarget.classList.remove("opacity-30")},[]),E=(0,e.useCallback)((a,b)=>{a.preventDefault(),a.dataTransfer.dropEffect="move",x.current&&x.current!==b&&z(b)},[]),F=(0,e.useCallback)(async(a,b)=>{a.preventDefault(),z(null);let c=x.current;x.current=null,c&&c!==b&&o(a=>{let d=[...a],e=d.findIndex(a=>a.id===c),f=d.findIndex(a=>a.id===b);if(-1===e||-1===f)return a;let[j]=d.splice(e,1);d.splice(f,0,j);let k=d.map(a=>a.id);return g.t4.runFork((0,i.z1)(k).pipe(h.orElse(()=>h.void))),d})},[]),G=c?n.filter(a=>a.active):n,H=!c;return t?(0,d.jsxs)("div",{className:"h-full flex flex-col items-center bg-secondary/50 w-9 flex-shrink-0 border-r border-border",children:[(0,d.jsx)("button",{onClick:()=>u(!1),className:"p-1.5 mt-2 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:m("review.expandList"),children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"9 18 15 12 9 6"})})}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground/50 mt-2",style:{writingMode:"vertical-rl"},children:c?m("review.nDocs",{count:G.length}):m("review.nReviews",{count:G.length})})]}):(0,d.jsxs)("div",{className:"h-full flex flex-col bg-secondary/50 w-[200px] flex-shrink-0 border-r border-border",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-border flex-shrink-0 flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:c?m("review.docList"):m("review.allReviewsList")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground/60 ml-1.5",children:G.length})]}),(0,d.jsx)("button",{onClick:()=>u(!0),className:"p-0.5 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:m("review.collapseList"),children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"15 18 9 12 15 6"})})})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[G.map(e=>(0,d.jsxs)("div",{draggable:H,onDragStart:H?a=>C(a,e.id):void 0,onDragEnd:H?D:void 0,onDragOver:H?a=>E(a,e.id):void 0,onDrop:H?a=>F(a,e.id):void 0,onMouseEnter:a=>{let b=a.currentTarget.getBoundingClientRect();w({id:e.id,text:e.title,top:b.top+b.height/2,left:b.right})},onMouseLeave:()=>w(a=>a?.id===e.id?null:a),onClick:()=>b(e.id),className:`group px-3 py-2 cursor-pointer border-b transition-colors ${y===e.id?"border-b-brand border-t border-t-transparent":"border-b-border/50"} ${e.id===a?"bg-accent/60":"hover:bg-accent/30"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[!c&&(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${e.active?"bg-green-500":"bg-muted-foreground/40"}`}),(0,d.jsx)("span",{className:"text-xs truncate flex-1",children:e.title}),e.commentCount>0&&l&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),l(e.id)},className:"flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-brand hover:!bg-brand/10 transition-colors",title:m("review.viewComments"),children:(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})})}),!c&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{onClick:a=>A(a,e.id,e.active),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-foreground hover:!bg-accent transition-colors ${r===e.id?"opacity-50 pointer-events-none":""}`,title:e.active?m("review.closeReview"):m("review.reopenReview"),children:e.active?(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M18.36 6.64a9 9 0 1 1-12.73 0"}),(0,d.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]}):(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M18.36 6.64A9 9 0 0 1 12 21 9 9 0 0 1 5.64 6.64"}),(0,d.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]})}),(0,d.jsx)("button",{onClick:a=>B(a,e.id),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-red-500 hover:!bg-red-500/10 transition-colors ${p===e.id?"opacity-50 pointer-events-none":""}`,title:m("review.deleteReview"),children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,d.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]})]}),e.commentCount>0&&(0,d.jsx)("div",{className:`text-[10px] text-muted-foreground/50 mt-0.5 ${c?"":"pl-3"}`,children:m("review.nComments",{count:e.commentCount})})]},e.id)),0===G.length&&(0,d.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground/50 text-center",children:c?m("review.noOpenDocs"):m("review.noReviews")})]}),v&&(0,d.jsx)("div",{className:"fixed z-50 px-2 py-1 text-xs bg-popover text-popover-foreground border border-border rounded shadow-md whitespace-nowrap pointer-events-none",style:{top:v.top,left:v.left+8,transform:"translateY(-50%)"},children:v.text})]})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,8465,4034,9658],()=>b(b.s=53518));module.exports=c})();
1
+ (()=>{var a={};a.id=2951,a.ids=[2951],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1134:(a,b,c)=>{"use strict";c.d(b,{ReviewDropdown:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewDropdown() from the server but ReviewDropdown is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewDropdown.tsx","ReviewDropdown")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5993:(a,b,c)=>{"use strict";c.d(b,{Q:()=>j});var d=c(48249),e=c(67484),f=c(44384),g=c(208);function h(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return g.A.t("common.justNow");if(c<60)return g.A.t("common.minutesAgo",{count:c});let d=Math.floor(c/60);if(d<24)return g.A.t("common.hoursAgo",{count:d});let e=Math.floor(d/24);return e<7?g.A.t("common.daysAgo",{count:e}):b.toLocaleDateString()}let i=(0,e.forwardRef)(function({comment:a,isActive:b,isOwnComment:c,isAdmin:g,currentAuthorId:i,canInteract:j,userNameMap:k,onClick:l,onDelete:m,onEdit:n,onToggleClosed:o,onAddReply:p,onDeleteReply:q,onEditReply:r},s){let{t}=(0,f.Bd)(),u=(a,b)=>k[a]||b,[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(""),H=()=>{let a=v.trim();a&&(p(a),w(""),y(!1))},I=()=>{let b=B.trim();b&&b!==a.content&&n(b),A(!1)},J=()=>{if(!D)return;let b=F.trim(),c=a.replies.find(a=>a.id===D);!b||c&&b===c.content||r(D,b),E(null)},K=a.anchor.selectedText.length>80?a.anchor.selectedText.slice(0,77)+"...":a.anchor.selectedText,L=g||c||j;return a.closed?(0,d.jsxs)("div",{ref:s,className:"rounded-lg border border-border/50 bg-card/50 opacity-60 hover:opacity-80 transition-all cursor-pointer px-3 py-2 flex items-center gap-2",onClick:l,children:[(0,d.jsx)("span",{className:"w-4 h-4 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:u(a.authorId,a.author).charAt(0)}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground truncate flex-1",children:K}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground/50 flex-shrink-0",children:t("review.closedLabel")}),L&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),o(!1)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors flex-shrink-0",title:t("review.reopenReview"),children:t("review.reopen")}),(c&&j||g)&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),m()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors flex-shrink-0",title:t("review.deleteComment"),children:t("common.delete")})]}):(0,d.jsxs)("div",{ref:s,className:`rounded-lg border transition-all cursor-pointer ${b?"border-brand bg-brand/5 shadow-sm":"border-border bg-card hover:border-muted-foreground/30"}`,onClick:l,children:[(0,d.jsx)("div",{className:"px-3 pt-3 pb-1",children:(0,d.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r text-muted-foreground truncate",children:K})}),(0,d.jsxs)("div",{className:"px-3 pt-2 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold flex-shrink-0",children:u(a.authorId,a.author).charAt(0)}),(0,d.jsx)("span",{className:"text-xs font-medium",children:u(a.authorId,a.author)}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:h(a.createdAt)}),(0,d.jsx)("div",{className:"flex-1"}),!z&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[L&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),o(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:t("review.closeComment"),children:t("review.closeComment")}),c&&j&&(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),C(a.content),A(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:t("review.editComment"),children:t("common.edit")}),(c&&j||g)&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),m()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:t("review.deleteComment"),children:t("common.delete")})]})]}),(0,d.jsx)("div",{className:"px-3 pt-1 pb-2",children:z?(0,d.jsxs)("div",{onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{value:B,onChange:a=>C(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),I()),"Escape"===a.key&&A(!1)},className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:3,autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,d.jsx)("button",{onClick:()=>A(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,d.jsx)("button",{onClick:I,disabled:!B.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:t("common.save")})]})]}):(0,d.jsxs)("div",{className:"text-sm whitespace-pre-wrap",children:[a.content,a.edited&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:t("review.edited")})]})}),a.replies.length>0&&(0,d.jsx)("div",{className:"mx-3 border-t border-border",children:a.replies.map(a=>(0,d.jsxs)("div",{className:"py-2 border-b border-border last:border-b-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"w-4 h-4 rounded-full bg-accent text-muted-foreground flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:u(a.authorId,a.author).charAt(0)}),(0,d.jsx)("span",{className:"text-xs font-medium",children:u(a.authorId,a.author)}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:h(a.createdAt)}),(0,d.jsx)("div",{className:"flex-1"}),D!==a.id&&(a.authorId===i&&j||g)&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a.authorId===i&&j&&(0,d.jsx)("button",{onClick:b=>{var c;b.stopPropagation(),c=a.id,G(a.content),E(c)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:t("review.editReply"),children:t("common.edit")}),(0,d.jsx)("button",{onClick:b=>{b.stopPropagation(),q(a.id)},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:t("review.deleteReply"),children:t("common.delete")})]})]}),D===a.id?(0,d.jsxs)("div",{className:"mt-1 pl-6",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{value:F,onChange:a=>G(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),J()),"Escape"===a.key&&E(null)},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,d.jsx)("button",{onClick:()=>E(null),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,d.jsx)("button",{onClick:J,disabled:!F.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:t("common.save")})]})]}):(0,d.jsxs)("div",{className:"text-sm mt-0.5 pl-6 whitespace-pre-wrap",children:[a.content,a.edited&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:t("review.edited")})]})]},a.id))}),(0,d.jsx)("div",{className:"px-3 pb-2 pt-1",children:x?(0,d.jsxs)("div",{className:"mt-1",onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),H()),"Escape"===a.key&&y(!1)},placeholder:t("review.replyPlaceholder"),className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,d.jsx)("button",{onClick:()=>y(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,d.jsx)("button",{onClick:H,disabled:!v.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:t("review.reply")})]})]}):j&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),y(!0)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:t("review.reply")})})]})});function j({comments:a,activeCommentId:b,currentAuthorId:c,isActive:g,isAdmin:h,userNameMap:k,onCommentClick:l,onNavigateComment:m,onDeleteComment:n,onEditComment:o,onToggleCommentClosed:p,onAddReply:q,onDeleteReply:r,onEditReply:s,scrollToCommentRef:t}){let{t:u}=(0,f.Bd)(),v=(0,e.useRef)(new Map),w=(0,e.useRef)(null);(0,e.useCallback)(a=>{let b=v.current.get(a);b&&b.scrollIntoView({behavior:"smooth",block:"center"})},[]);let x=[...a].sort((a,b)=>a.anchor.startOffset-b.anchor.startOffset);return(0,d.jsxs)("div",{ref:w,className:"h-full flex flex-col bg-card",children:[(0,d.jsxs)("div",{className:"px-4 py-2 bg-secondary border-b border-border flex-shrink-0 flex items-center",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:0===a.length?u("review.selectTextToComment"):b?u("review.commentsNavCount",{current:x.findIndex(a=>a.id===b)+1,total:a.length}):u("review.commentsCount",{count:a.length})}),a.length>0&&(0,d.jsxs)("div",{className:"flex items-center gap-1 ml-2",children:[(0,d.jsxs)("button",{onClick:()=>m("prev"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:u("review.prevComment"),children:[(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"15 18 9 12 15 6"})}),u("review.prevComment")]}),(0,d.jsxs)("button",{onClick:()=>m("next"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:u("review.nextComment"),children:[u("review.nextComment"),(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"9 18 15 12 9 6"})})]})]})]}),(0,d.jsx)("div",{className:"flex-1 overflow-auto",children:0===x.length?(0,d.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"text-2xl mb-2",children:"\uD83D\uDCAC"}),(0,d.jsx)("div",{children:u("review.selectTextHint")})]})}):(0,d.jsx)("div",{className:"p-3 space-y-3",children:x.map(a=>(0,d.jsx)(i,{ref:b=>{b?v.current.set(a.id,b):v.current.delete(a.id)},comment:a,isActive:a.id===b,isOwnComment:a.authorId===c,isAdmin:h,currentAuthorId:c,canInteract:g,userNameMap:k,onClick:()=>l(a.id),onDelete:()=>n(a.id),onEdit:b=>o(a.id,b),onToggleClosed:b=>p(a.id,b),onAddReply:b=>q(a.id,b),onDeleteReply:b=>r(a.id,b),onEditReply:(b,c)=>s(a.id,b,c)},a.id))})})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12629:a=>{"use strict";a.exports=import("web-tree-sitter")},16708:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{W:()=>n});var e=c(48249),f=c(67484),g=c(87844),h=c(24680),i=c(83768),j=c(84835),k=c(84226),l=c(63324),m=c(26188);let a=[j.W];function n({content:b,comments:c,activeCommentId:d,isActive:j,onAddComment:o,onHighlightClick:p,scrollToHighlightRef:q}){let{resolvedTheme:r}=(0,i.D)(),s=(0,f.useRef)(null),t=(0,f.useRef)(null),[u,v]=(0,f.useState)(null),w=(0,f.useMemo)(()=>u?[...c,{id:"__pending__",author:"",authorId:"",content:"",anchor:u.anchor,createdAt:0,replies:[]}]:c,[c,u]),{rects:x,scrollToHighlight:y}=(0,m.useReviewHighlights)(s,t,w,d),z=(0,f.useRef)(x),A=(0,f.useCallback)(a=>{let b=window.getSelection(),c=b&&!b.isCollapsed;if(c&&j&&s.current){let c=b.getRangeAt(0);if(s.current.contains(c.startContainer)&&s.current.contains(c.endContainer)){let d=function(a,b){let c=document.createTreeWalker(a,NodeFilter.SHOW_TEXT),d=0,e=-1,f=-1;for(;c.nextNode();){let a=c.currentNode,g=a.textContent?.length||0;if(a===b.startContainer&&(e=d+b.startOffset),a===b.endContainer){f=d+b.endOffset;break}d+=g}if(-1===e||-1===f||e>=f)return null;let g=a.textContent?.slice(e,f)||"";return g.trim()?{startOffset:e,endOffset:f,selectedText:g}:null}(s.current,c);if(d){let c=t.current??s.current.parentElement,e=c.getBoundingClientRect();v({anchor:d,position:{top:a.clientY-e.top+c.scrollTop+8,left:a.clientX-e.left}}),b.removeAllRanges();return}}}if(!c&&!u){let b=t.current;if(!b)return;let c=b.getBoundingClientRect(),d=a.clientX-c.left+b.scrollLeft,e=a.clientY-c.top+b.scrollTop;for(let a of z.current)if("__pending__"!==a.commentId&&d>=a.left&&d<=a.left+a.width&&e>=a.top&&e<=a.top+a.height)return void p(a.commentId)}},[j,u,p]),B=(0,f.useCallback)(a=>{u&&(o(a,u.anchor),v(null),window.getSelection()?.removeAllRanges())},[u,o]),C=(0,f.useCallback)(()=>{v(null),window.getSelection()?.removeAllRanges()},[]);return(0,e.jsxs)("div",{className:"h-full flex bg-card",children:[(0,e.jsx)(h.l,{content:b,containerRef:t}),(0,e.jsxs)("div",{ref:t,className:"flex-1 overflow-auto relative",onMouseUp:A,children:[(0,e.jsx)("div",{ref:s,className:"p-6 review-markdown-container",children:(0,e.jsx)(g.T,{content:b,rehypePlugins:a})}),(0,e.jsx)(l.u,{rects:x,activeCommentId:d,pendingCommentId:u?"__pending__":null,isDark:"dark"===r}),u&&(0,e.jsx)(k.X,{selectedText:u.anchor.selectedText,position:u.position,onSubmit:B,onCancel:C})]})]})}d()}catch(a){d(a)}})},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20975:(a,b,c)=>{"use strict";c.d(b,{ReviewListPanel:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewListPanel() from the server but ReviewListPanel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewListPanel.tsx","ReviewListPanel")},26188:(a,b,c)=>{"use strict";c.d(b,{useReviewHighlights:()=>e});var d=c(67484);function e(a,b,c,e){let[f,g]=(0,d.useState)([]),h=(0,d.useRef)(0),i=(0,d.useRef)(c);(0,d.useCallback)(()=>{h.current&&cancelAnimationFrame(h.current),h.current=requestAnimationFrame(()=>{let c=a.current,d=b.current;if(!c||!d)return;let e=function(a,b,c){let d=[],e=b.getBoundingClientRect(),f=function(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_TEXT),d=0;for(;c.nextNode();){let a=c.currentNode,e=a.textContent?.length||0;b.push({node:a,start:d,end:d+e}),d+=e}return b}(a);if(0===f.length)return d;for(let a of c){let{startOffset:c,endOffset:g}=a.anchor;if(c>=g)continue;let h=null,i=0,j=null,k=0;for(let{node:a,start:b,end:d}of f)if(!h&&c>=b&&c<d&&(h=a,i=c-b),g>b&&g<=d){j=a,k=g-b;break}if(!h||!j)continue;let l=document.createRange();try{l.setStart(h,i),l.setEnd(j,k)}catch{continue}for(let c of l.getClientRects())c.width<1||c.height<1||d.push({commentId:a.id,top:c.top-e.top+b.scrollTop,left:c.left-e.left+b.scrollLeft,width:c.width,height:c.height})}return d}(c,d,i.current);g(a=>a.length===e.length&&a.every((a,b)=>a.commentId===e[b].commentId&&.5>Math.abs(a.top-e[b].top)&&.5>Math.abs(a.left-e[b].left)&&.5>Math.abs(a.width-e[b].width)&&.5>Math.abs(a.height-e[b].height))?a:e)})},[a,b]);let j=(0,d.useCallback)(a=>{let c=b.current;if(!c)return;let d=f.find(b=>b.commentId===a);if(!d)return;let e=c.clientHeight;c.scrollTo({top:d.top-e/2+d.height/2,behavior:"smooth"})},[b,f]);return{rects:f,scrollToHighlight:j}}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28820:(a,b,c)=>{"use strict";c.d(b,{ReviewPage:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewPage() from the server but ReviewPage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewPage.tsx","ReviewPage")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29657:(a,b,c)=>{Promise.resolve().then(c.bind(c,26188)),Promise.resolve().then(c.bind(c,79758)),Promise.resolve().then(c.bind(c,61130)),Promise.resolve().then(c.bind(c,12568)),Promise.resolve().then(c.bind(c,45354)),Promise.resolve().then(c.bind(c,94481)),Promise.resolve().then(c.bind(c,67134)),Promise.resolve().then(c.bind(c,25465))},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42681:(a,b,c)=>{Promise.resolve().then(c.bind(c,73370)),Promise.resolve().then(c.bind(c,61169)),Promise.resolve().then(c.bind(c,63376)),Promise.resolve().then(c.bind(c,1134)),Promise.resolve().then(c.bind(c,42784)),Promise.resolve().then(c.bind(c,20975)),Promise.resolve().then(c.bind(c,28820)),Promise.resolve().then(c.bind(c,74824))},42784:(a,b,c)=>{"use strict";c.d(b,{ReviewIdentitySettings:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewIdentitySettings() from the server but ReviewIdentitySettings is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewIdentitySettings.tsx","ReviewIdentitySettings")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44236:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>f,generateMetadata:()=>g});var d=c(5735),e=c(28820);let f="force-dynamic";async function g({params:a}){let{id:b}=await a;return{title:`Review - ${b}`}}async function h({params:a}){let{id:b}=await a;return(0,d.jsx)(e.ReviewPage,{reviewId:b})}},45354:(a,b,c)=>{"use strict";c.d(b,{ReviewIdentitySettings:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({identity:a}){let{t:b}=(0,f.Bd)(),[c,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(""),k=(0,e.useRef)(null),l=()=>{let b=i.trim();b&&b!==a.name&&a.confirmName(b),h(!1)};return(0,d.jsxs)("div",{className:"relative",ref:k,children:[(0,d.jsxs)("button",{onClick:()=>{c||j(a.name),h(!c)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors flex items-center gap-1",title:b("review.identitySettings"),children:[(0,d.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold",children:a.name.charAt(0)}),(0,d.jsx)("span",{className:"text-muted-foreground",children:a.name})]}),c&&(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-1 w-56 bg-card border border-border rounded-lg shadow-lg p-3 z-50",children:[(0,d.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:b("review.reviewNickname")}),(0,d.jsx)("input",{type:"text",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.nativeEvent.isComposing||l()},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded focus:outline-none focus:border-brand",autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,d.jsx)("button",{onClick:()=>{a.randomize(),h(!1)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("review.random")}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("button",{onClick:()=>h(!1),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,d.jsx)("button",{onClick:l,className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors",children:b("common.save")})]})]})]})}},55511:a=>{"use strict";a.exports=require("crypto")},61169:(a,b,c)=>{"use strict";c.d(b,{useReviewIdentity:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call useReviewIdentity() from the server but useReviewIdentity is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewIdentity.ts","useReviewIdentity")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63324:(a,b,c)=>{"use strict";c.d(b,{u:()=>g});var d=c(48249);c(67484);let e={bg:"rgba(234, 179, 8, 0.15)",bgActive:"rgba(234, 179, 8, 0.4)",bgPending:"rgba(234, 179, 8, 0.3)",border:"rgba(234, 179, 8, 0.7)",borderPending:"rgba(234, 179, 8, 0.9)"},f={bg:"rgba(234, 179, 8, 0.1)",bgActive:"rgba(234, 179, 8, 0.3)",bgPending:"rgba(234, 179, 8, 0.2)",border:"rgba(234, 179, 8, 0.5)",borderPending:"rgba(234, 179, 8, 0.7)"};function g({rects:a,activeCommentId:b,pendingCommentId:c,isDark:h}){if(0===a.length)return null;let i=h?f:e;return(0,d.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:0,overflow:"visible",pointerEvents:"none",zIndex:5},children:a.map((a,e)=>{let f=a.commentId===b,g=a.commentId===c,h=i.bg;return g?h=i.bgPending:f&&(h=i.bgActive),(0,d.jsx)("div",{"data-comment-id":a.commentId,style:{position:"absolute",top:a.top,left:a.left,width:a.width,height:a.height,backgroundColor:h,borderBottom:`1px solid ${g?i.borderPending:i.border}`,borderRadius:1,pointerEvents:"none"}},`${a.commentId}-${e}`)})})}},63376:(a,b,c)=>{"use strict";c.d(b,{ReviewCommentsListModal:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ReviewCommentsListModal() from the server but ReviewCommentsListModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ReviewCommentsListModal.tsx","ReviewCommentsListModal")},67134:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ReviewPage:()=>t});var e=c(48249),f=c(67484),g=c(44384),h=c(16708),i=c(5993),j=c(45354),k=c(94481),l=c(76788),m=c(61130),n=c(79758),o=c(83768),p=c(7833),q=c(33281),r=c(83120),s=a([h,m]);function t({reviewId:a}){let{t:b}=(0,g.Bd)(),[c,d]=(0,f.useState)(a),[s,u]=(0,f.useState)(null),[v,w]=(0,f.useState)(!0),[x,y]=(0,f.useState)(null),[z,A]=(0,f.useState)(null),[B,C]=(0,f.useState)(!1),D=(0,n.useReviewIdentity)(),{resolvedTheme:E,setTheme:F}=(0,o.D)(),[G,H]=(0,f.useState)({}),[I,J]=(0,f.useState)(!1),[K,L]=(0,f.useState)(!1),M=(0,f.useCallback)(async()=>{let a=await q.t4.runPromiseExit((0,r.BL)());if("Success"===a._tag){let b={};for(let[c,d]of Object.entries(a.value.users))b[c]=d.name;H(b)}},[]),N=(0,f.useRef)(void 0),O=(0,f.useRef)(void 0),P=(0,f.useCallback)(a=>{a!==c&&(d(a),y(null),A(null),window.history.replaceState(null,"",`/review/${a}`))},[c]),Q=(0,f.useCallback)(async()=>{let a=await q.t4.runPromiseExit((0,r.JK)(c));if("Success"===a._tag)u(a.value.review),y(null);else{let c="Fail"===a.cause._tag?a.cause.error:null;c&&"NotFoundError"===c._tag?y(b("review.reviewNotExist")):c&&"AppError"===c._tag?y(b("review.loadFailed")):y(b("review.networkError"))}w(!1)},[c,b]),R=(0,f.useCallback)(async(a,c)=>{let d=await q.t4.runPromiseExit(a);"Success"===d._tag?await Q():(0,p.oR)(b(c),"error")},[Q,b]),S=(0,f.useCallback)(async(a,b)=>{D.authorId&&await R((0,r.dU)(c,{author:D.name,authorId:D.authorId,content:a,anchor:b}),"toast.addCommentFailed")},[c,D,R]),T=(0,f.useCallback)(a=>R((0,r.jw)(c,a),"toast.deleteCommentFailed"),[c,R]),U=(0,f.useCallback)((a,b)=>R((0,r.Y8)(c,{commentId:a,content:b}),"toast.editCommentFailed"),[c,R]),V=(0,f.useCallback)((a,b)=>R((0,r.Y8)(c,{commentId:a,closed:b}),"toast.operationFailed"),[c,R]),W=(0,f.useCallback)(async(a,b)=>{D.authorId&&await R((0,r.mu)(c,{commentId:a,author:D.name,authorId:D.authorId,content:b}),"toast.addReplyFailed")},[c,D,R]),X=(0,f.useCallback)((a,b)=>R((0,r.i7)(c,a,b),"toast.deleteReplyFailed"),[c,R]),Y=(0,f.useCallback)((a,b,d)=>R((0,r.vy)(c,{commentId:a,replyId:b,content:d}),"toast.editReplyFailed"),[c,R]),Z=(0,f.useCallback)(async()=>{let a=await q.t4.runPromiseExit((0,r._c)());if("Success"===a._tag){let d=a.value.shareBase?`${a.value.shareBase}/review/${c}`:window.location.href;try{await navigator.clipboard.writeText(d),(0,p.oR)(b("toast.linkCopied"),"success")}catch{(0,p.oR)(b("toast.copyFailed"),"error")}}else(0,p.oR)(b("toast.copyFailed"),"error")},[c,b]),$=(0,f.useCallback)(a=>{A(a),O.current?.(a)},[]),_=(0,f.useCallback)(a=>{A(a),N.current?.(a)},[]),aa=(0,f.useCallback)(a=>{let b;if(!s||0===s.comments.length)return;let c=[...s.comments].sort((a,b)=>a.anchor.startOffset-b.anchor.startOffset),d=z?c.findIndex(a=>a.id===z):-1;b="next"===a?d<c.length-1?d+1:0:d>0?d-1:c.length-1;let e=c[b];A(e.id),O.current?.(e.id),N.current?.(e.id)},[s,z]);return(0,e.jsxs)("div",{className:"h-screen flex flex-col bg-background text-foreground overflow-hidden",children:[I&&(0,e.jsx)(l._,{currentName:D.name,onConfirm:a=>{D.confirmName(a),J(!1),M()},onSkip:()=>J(!1)}),s&&(0,e.jsx)(m.ReviewCommentsListModal,{isOpen:K,onClose:()=>L(!1),comments:s.comments,reviewTitle:s.title,userNameMap:G,onCommentClick:a=>{A(a),O.current?.(a),N.current?.(a)}}),s&&(0,e.jsx)("div",{className:"py-2 bg-secondary border-b border-border flex-shrink-0 flex justify-center",children:(0,e.jsxs)("div",{className:"w-full max-w-[1800px] px-4 flex items-center gap-3",children:[(0,e.jsx)("h1",{className:"text-sm font-semibold truncate",children:s.title}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground flex-shrink-0",children:b("review.updatedAt",{date:new Date(s.updatedAt||s.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})}),(0,e.jsx)("span",{className:"flex-1"}),!B&&(0,e.jsx)("span",{className:`px-2 py-0.5 text-xs rounded-full ${s.active?"bg-green-500/15 text-green-600 dark:text-green-400":"bg-muted text-muted-foreground"}`,children:s.active?b("review.active"):b("review.closed")}),(0,e.jsxs)("button",{onClick:()=>L(!0),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground flex items-center gap-1",title:b("review.viewAllComments"),children:[(0,e.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,e.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),b("review.viewCommentBtn")]}),(0,e.jsx)("button",{onClick:Z,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("review.copyLink")}),(0,e.jsx)("button",{onClick:()=>F("dark"===E?"light":"dark"),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:"dark"===E?b("settings.switchLight"):b("settings.switchDark"),children:"dark"===E?(0,e.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"5"}),(0,e.jsx)("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),(0,e.jsx)("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),(0,e.jsx)("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),(0,e.jsx)("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),(0,e.jsx)("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),(0,e.jsx)("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),(0,e.jsx)("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),(0,e.jsx)("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]}):(0,e.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,e.jsx)("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})})}),(0,e.jsx)(j.ReviewIdentitySettings,{identity:D})]})}),(0,e.jsx)("div",{className:"flex-1 flex justify-center overflow-hidden",children:(0,e.jsxs)("div",{className:"w-full max-w-[1800px] flex overflow-hidden",children:[(0,e.jsx)(k.ReviewListPanel,{currentReviewId:c,onSelect:P,readOnly:!B,refreshTrigger:s?.comments.length,onViewComments:a=>{a!==c&&P(a),L(!0)}}),v?(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,e.jsx)("div",{className:"text-muted-foreground",children:b("common.loading")})}):x||!s?(0,e.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("div",{className:"text-xl mb-2",children:x||b("review.reviewNotFound")}),(0,e.jsx)("div",{className:"text-sm text-muted-foreground",children:b("review.checkLink")})]})}):(0,e.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[(0,e.jsx)("div",{className:"flex-1 h-full border-r border-border overflow-hidden",children:(0,e.jsx)(h.W,{content:s.content,comments:s.comments,activeCommentId:z,isActive:s.active,onAddComment:S,onHighlightClick:_,scrollToHighlightRef:O})}),(0,e.jsx)("div",{className:"w-[360px] h-full overflow-hidden flex-shrink-0",children:(0,e.jsx)(i.Q,{comments:s.comments,activeCommentId:z,currentAuthorId:D.authorId,isActive:s.active,isAdmin:B,userNameMap:G,onCommentClick:$,onNavigateComment:aa,onDeleteComment:T,onEditComment:U,onToggleCommentClosed:V,onAddReply:W,onDeleteReply:X,onEditReply:Y,scrollToCommentRef:N})})]})]})})]})}[h,m]=s.then?(await s)():s,d()}catch(a){d(a)}})},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73136:a=>{"use strict";a.exports=require("node:url")},73370:(a,b,c)=>{"use strict";c.d(b,{useReviewHighlights:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call useReviewHighlights() from the server but useReviewHighlights is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/hooks/useReviewHighlights.ts","useReviewHighlights")},74824:(a,b,c)=>{"use strict";c.d(b,{ShareReviewToggle:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ShareReviewToggle() from the server but ShareReviewToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/cockpit/cockpit/packages/feature/review/src/client/ShareReviewToggle.tsx","ShareReviewToggle")},76760:a=>{"use strict";a.exports=require("node:path")},76788:(a,b,c)=>{"use strict";c.d(b,{_:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({currentName:a,onConfirm:b,onSkip:c}){let{t:h}=(0,f.Bd)(),[i,j]=(0,e.useState)(a),k=(0,e.useRef)(null),l=()=>{let a=i.trim();a&&b(a)};return(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:(0,d.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl w-80 p-5",children:[(0,d.jsx)("h2",{className:"text-base font-semibold mb-1",children:h("review.setNickname")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-4",children:h("review.nicknameHint")}),(0,d.jsx)("input",{ref:k,type:"text",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.nativeEvent.isComposing||l(),"Escape"===a.key&&c()},placeholder:h("review.nicknamePlaceholder"),maxLength:20,className:"w-full px-3 py-2 text-sm bg-secondary border border-border rounded-lg focus:outline-none focus:border-brand",autoFocus:!0}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2 mt-4",children:[(0,d.jsx)("button",{onClick:c,className:"px-3 py-1.5 text-xs rounded-lg hover:bg-accent transition-colors text-muted-foreground",children:h("review.skipForNow")}),(0,d.jsx)("button",{onClick:l,disabled:!i.trim(),className:"px-4 py-1.5 text-xs rounded-lg bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:h("common.save")})]})]})})}},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},78908:a=>{"use strict";a.exports=import("shiki")},79748:a=>{"use strict";a.exports=require("fs/promises")},79758:(a,b,c)=>{"use strict";c.d(b,{useReviewIdentity:()=>i});var d=c(67484);c(55511);var e=c(208),f=c(79606),g=c(33281),h=c(71192);function i(){let[a,b]=(0,d.useState)(""),[c,i]=(0,d.useState)(""),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!0),n=(0,d.useCallback)(a=>{let b=f.tryPromise({try:async()=>{await fetch("/api/review/identify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a})})},catch:a=>new h.uV({message:"review identify POST failed",cause:a})});g.t4.runFork(b.pipe(f.orElse(()=>f.void)))},[]),o=(0,d.useCallback)(a=>{let b=a.trim();b&&(i(b),k(!0),n(b))},[n]);return{authorId:a,name:c,nameConfirmed:j,loading:l,setName:(0,d.useCallback)(a=>{let b=a.trim();b&&(i(b),n(b))},[n]),confirmName:o,randomize:(0,d.useCallback)(()=>{let a,b,c,d;i((a=e.A.t("reviewUtils.adjectives",{returnObjects:!0}),b=e.A.t("reviewUtils.nouns",{returnObjects:!0}),c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)],`${c}${d}`))},[])}}},79859:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["review",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,44236)),"/home/runner/work/cockpit/cockpit/src/app/review/[id]/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.bind(c,81227)),"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx"]},[]]},{"global-error":[()=>Promise.resolve().then(c.bind(c,81227)),"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"/home/runner/work/cockpit/cockpit/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,81227)),"/home/runner/work/cockpit/cockpit/src/app/global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/review/[id]/page",pathname:"/review/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next-prod",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/review/[id]/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},84226:(a,b,c)=>{"use strict";c.d(b,{X:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({selectedText:a,position:b,onSubmit:c,onCancel:h}){let{t:i}=(0,f.Bd)(),[j,k]=(0,e.useState)(""),l=(0,e.useRef)(null),m=(0,e.useRef)(null),n=()=>{let a=j.trim();a&&c(a)},o=a.length>60?a.slice(0,57)+"...":a;return(0,d.jsxs)("div",{ref:m,className:"absolute z-50 w-96 bg-card border border-border rounded-lg shadow-lg",style:{top:b.top,left:Math.max(8,b.left-192)},children:[(0,d.jsxs)("div",{className:"px-3 pt-3 pb-2",children:[(0,d.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:i("review.selectedText")}),(0,d.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r truncate",children:o})]}),(0,d.jsx)("div",{className:"px-3 pb-2",children:(0,d.jsx)("textarea",{ref:l,value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),n())},placeholder:i("review.addCommentPlaceholder"),className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:4})}),(0,d.jsxs)("div",{className:"px-3 pb-3 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:i("review.enterSubmitHint")}),(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)("button",{onClick:h,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:i("common.cancel")}),(0,d.jsx)("button",{onClick:n,disabled:!j.trim(),className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:i("review.commentBtn")})]})]})]})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94481:(a,b,c)=>{"use strict";c.d(b,{ReviewListPanel:()=>j});var d=c(48249),e=c(67484),f=c(44384),g=c(33281),h=c(79606),i=c(83120);function j({currentReviewId:a,onSelect:b,readOnly:c,refreshTrigger:k,onViewComments:l}){let{t:m}=(0,f.Bd)(),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(null),x=(0,e.useRef)(null),[y,z]=(0,e.useState)(null);(0,e.useCallback)(async()=>{let a=await g.t4.runPromiseExit((0,i.Y_)());"Success"===a._tag&&o(a.value.reviews??[])},[]);let A=(0,e.useCallback)(async(a,b,c)=>{a.stopPropagation(),r||(s(b),"Success"===(await g.t4.runPromiseExit((0,i.Gm)(b,{active:!c})))._tag&&o(a=>a.map(a=>a.id===b?{...a,active:!c}:a)),s(null))},[r]),B=(0,e.useCallback)(async(c,d)=>{if(c.stopPropagation(),!p){if(q(d),"Success"===(await g.t4.runPromiseExit((0,i.Wr)(d)))._tag&&(o(a=>a.filter(a=>a.id!==d)),d===a)){let a=n.filter(a=>a.id!==d);a.length>0&&b(a[0].id)}q(null)}},[p,a,n,b]),C=(0,e.useCallback)((a,b)=>{x.current=b,a.dataTransfer.effectAllowed="move";let c=a.currentTarget;requestAnimationFrame(()=>c.classList.add("opacity-30"))},[]),D=(0,e.useCallback)(a=>{x.current=null,z(null),a.currentTarget instanceof HTMLElement&&a.currentTarget.classList.remove("opacity-30")},[]),E=(0,e.useCallback)((a,b)=>{a.preventDefault(),a.dataTransfer.dropEffect="move",x.current&&x.current!==b&&z(b)},[]),F=(0,e.useCallback)(async(a,b)=>{a.preventDefault(),z(null);let c=x.current;x.current=null,c&&c!==b&&o(a=>{let d=[...a],e=d.findIndex(a=>a.id===c),f=d.findIndex(a=>a.id===b);if(-1===e||-1===f)return a;let[j]=d.splice(e,1);d.splice(f,0,j);let k=d.map(a=>a.id);return g.t4.runFork((0,i.z1)(k).pipe(h.orElse(()=>h.void))),d})},[]),G=c?n.filter(a=>a.active):n,H=!c;return t?(0,d.jsxs)("div",{className:"h-full flex flex-col items-center bg-secondary/50 w-9 flex-shrink-0 border-r border-border",children:[(0,d.jsx)("button",{onClick:()=>u(!1),className:"p-1.5 mt-2 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:m("review.expandList"),children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"9 18 15 12 9 6"})})}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground/50 mt-2",style:{writingMode:"vertical-rl"},children:c?m("review.nDocs",{count:G.length}):m("review.nReviews",{count:G.length})})]}):(0,d.jsxs)("div",{className:"h-full flex flex-col bg-secondary/50 w-[200px] flex-shrink-0 border-r border-border",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-border flex-shrink-0 flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:c?m("review.docList"):m("review.allReviewsList")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground/60 ml-1.5",children:G.length})]}),(0,d.jsx)("button",{onClick:()=>u(!0),className:"p-0.5 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:m("review.collapseList"),children:(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("polyline",{points:"15 18 9 12 15 6"})})})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[G.map(e=>(0,d.jsxs)("div",{draggable:H,onDragStart:H?a=>C(a,e.id):void 0,onDragEnd:H?D:void 0,onDragOver:H?a=>E(a,e.id):void 0,onDrop:H?a=>F(a,e.id):void 0,onMouseEnter:a=>{let b=a.currentTarget.getBoundingClientRect();w({id:e.id,text:e.title,top:b.top+b.height/2,left:b.right})},onMouseLeave:()=>w(a=>a?.id===e.id?null:a),onClick:()=>b(e.id),className:`group px-3 py-2 cursor-pointer border-b transition-colors ${y===e.id?"border-b-brand border-t border-t-transparent":"border-b-border/50"} ${e.id===a?"bg-accent/60":"hover:bg-accent/30"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[!c&&(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${e.active?"bg-green-500":"bg-muted-foreground/40"}`}),(0,d.jsx)("span",{className:"text-xs truncate flex-1",children:e.title}),e.commentCount>0&&l&&(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),l(e.id)},className:"flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-brand hover:!bg-brand/10 transition-colors",title:m("review.viewComments"),children:(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,d.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})})}),!c&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{onClick:a=>A(a,e.id,e.active),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-foreground hover:!bg-accent transition-colors ${r===e.id?"opacity-50 pointer-events-none":""}`,title:e.active?m("review.closeReview"):m("review.reopenReview"),children:e.active?(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M18.36 6.64a9 9 0 1 1-12.73 0"}),(0,d.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]}):(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M18.36 6.64A9 9 0 0 1 12 21 9 9 0 0 1 5.64 6.64"}),(0,d.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]})}),(0,d.jsx)("button",{onClick:a=>B(a,e.id),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-red-500 hover:!bg-red-500/10 transition-colors ${p===e.id?"opacity-50 pointer-events-none":""}`,title:m("review.deleteReview"),children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,d.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]})]}),e.commentCount>0&&(0,d.jsx)("div",{className:`text-[10px] text-muted-foreground/50 mt-0.5 ${c?"":"pl-3"}`,children:m("review.nComments",{count:e.commentCount})})]},e.id)),0===G.length&&(0,d.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground/50 text-center",children:c?m("review.noOpenDocs"):m("review.noReviews")})]}),v&&(0,d.jsx)("div",{className:"fixed z-50 px-2 py-1 text-xs bg-popover text-popover-foreground border border-border rounded shadow-md whitespace-nowrap pointer-events-none",style:{top:v.top,left:v.left+8,transform:"translateY(-50%)"},children:v.text})]})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7973,4034,9658],()=>b(b.s=79859));module.exports=c})();