@surething/cockpit 1.0.190 → 1.0.192

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 (847) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +21 -19
  3. package/.next-prod/build-manifest.json +5 -5
  4. package/.next-prod/diagnostics/framework.json +1 -1
  5. package/.next-prod/images-manifest.json +1 -0
  6. package/.next-prod/next-minimal-server.js.nft.json +1 -1
  7. package/.next-prod/next-server.js.nft.json +1 -1
  8. package/.next-prod/prerender-manifest.json +3 -3
  9. package/.next-prod/react-loadable-manifest.json +2 -258
  10. package/.next-prod/required-server-files.js +18 -6
  11. package/.next-prod/required-server-files.json +18 -6
  12. package/.next-prod/routes-manifest.json +13 -0
  13. package/.next-prod/server/app/_global-error/page.js +32 -3
  14. package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
  15. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  16. package/.next-prod/server/app/_global-error.html +1 -2
  17. package/.next-prod/server/app/_global-error.rsc +8 -6
  18. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +8 -6
  19. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  20. package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +2 -1
  21. package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
  22. package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +2 -1
  23. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  24. package/.next-prod/server/app/_not-found/page.js +2 -2
  25. package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
  26. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  27. package/.next-prod/server/app/_not-found.html +2 -2
  28. package/.next-prod/server/app/_not-found.rsc +11 -9
  29. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +11 -9
  30. package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
  31. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
  32. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  33. package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +2 -1
  34. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  35. package/.next-prod/server/app/api/bash/route.js +1 -1
  36. package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
  37. package/.next-prod/server/app/api/bash/route_client-reference-manifest.js +1 -1
  38. package/.next-prod/server/app/api/chat/codex/route.js +13 -13
  39. package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
  40. package/.next-prod/server/app/api/chat/codex/route_client-reference-manifest.js +1 -1
  41. package/.next-prod/server/app/api/chat/kimi/route.js +3 -3
  42. package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
  43. package/.next-prod/server/app/api/chat/kimi/route_client-reference-manifest.js +1 -1
  44. package/.next-prod/server/app/api/chat/ollama/route.js +3 -3
  45. package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
  46. package/.next-prod/server/app/api/chat/ollama/route_client-reference-manifest.js +1 -1
  47. package/.next-prod/server/app/api/chat/route.js +3 -3
  48. package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
  49. package/.next-prod/server/app/api/chat/route_client-reference-manifest.js +1 -1
  50. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  51. package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
  52. package/.next-prod/server/app/api/claude-stats/route_client-reference-manifest.js +1 -1
  53. package/.next-prod/server/app/api/commands/route.js +1 -1
  54. package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
  55. package/.next-prod/server/app/api/commands/route_client-reference-manifest.js +1 -1
  56. package/.next-prod/server/app/api/comments/route.js +1 -1
  57. package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
  58. package/.next-prod/server/app/api/comments/route_client-reference-manifest.js +1 -1
  59. package/.next-prod/server/app/api/db/columns/route.js +2 -2
  60. package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
  61. package/.next-prod/server/app/api/db/columns/route_client-reference-manifest.js +1 -1
  62. package/.next-prod/server/app/api/db/connect/route.js +1 -1
  63. package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
  64. package/.next-prod/server/app/api/db/connect/route_client-reference-manifest.js +1 -1
  65. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  66. package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
  67. package/.next-prod/server/app/api/db/disconnect/route_client-reference-manifest.js +1 -1
  68. package/.next-prod/server/app/api/db/export/route.js +1 -1
  69. package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
  70. package/.next-prod/server/app/api/db/export/route_client-reference-manifest.js +1 -1
  71. package/.next-prod/server/app/api/db/query/route.js +1 -1
  72. package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
  73. package/.next-prod/server/app/api/db/query/route_client-reference-manifest.js +1 -1
  74. package/.next-prod/server/app/api/db/schemas/route.js +2 -2
  75. package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
  76. package/.next-prod/server/app/api/db/schemas/route_client-reference-manifest.js +1 -1
  77. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  78. package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
  79. package/.next-prod/server/app/api/extension/version/route_client-reference-manifest.js +1 -1
  80. package/.next-prod/server/app/api/file/route.js +1 -1
  81. package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
  82. package/.next-prod/server/app/api/file/route_client-reference-manifest.js +1 -1
  83. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  84. package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
  85. package/.next-prod/server/app/api/files/blame/route_client-reference-manifest.js +1 -1
  86. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  87. package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
  88. package/.next-prod/server/app/api/files/clipboard/route_client-reference-manifest.js +1 -1
  89. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  90. package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
  91. package/.next-prod/server/app/api/files/copy/route_client-reference-manifest.js +1 -1
  92. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  93. package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
  94. package/.next-prod/server/app/api/files/delete/route_client-reference-manifest.js +1 -1
  95. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  96. package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
  97. package/.next-prod/server/app/api/files/expanded/route_client-reference-manifest.js +1 -1
  98. package/.next-prod/server/app/api/files/index/route.js +1 -1
  99. package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
  100. package/.next-prod/server/app/api/files/index/route_client-reference-manifest.js +1 -1
  101. package/.next-prod/server/app/api/files/init/route.js +1 -1
  102. package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
  103. package/.next-prod/server/app/api/files/init/route_client-reference-manifest.js +1 -1
  104. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  105. package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
  106. package/.next-prod/server/app/api/files/paste/route_client-reference-manifest.js +1 -1
  107. package/.next-prod/server/app/api/files/read/route.js +1 -1
  108. package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
  109. package/.next-prod/server/app/api/files/read/route_client-reference-manifest.js +1 -1
  110. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  111. package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
  112. package/.next-prod/server/app/api/files/readdir/route_client-reference-manifest.js +1 -1
  113. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  114. package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
  115. package/.next-prod/server/app/api/files/recent/route_client-reference-manifest.js +1 -1
  116. package/.next-prod/server/app/api/files/save/route.js +1 -1
  117. package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
  118. package/.next-prod/server/app/api/files/save/route_client-reference-manifest.js +1 -1
  119. package/.next-prod/server/app/api/files/search/route.js +1 -1
  120. package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
  121. package/.next-prod/server/app/api/files/search/route_client-reference-manifest.js +1 -1
  122. package/.next-prod/server/app/api/files/stat/route.js +1 -0
  123. package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -0
  124. package/.next-prod/server/app/api/files/stat/route_client-reference-manifest.js +1 -0
  125. package/.next-prod/server/app/api/files/text/route.js +1 -0
  126. package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -0
  127. package/.next-prod/server/app/api/files/text/route_client-reference-manifest.js +1 -0
  128. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  129. package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
  130. package/.next-prod/server/app/api/git/branch-diff/route_client-reference-manifest.js +1 -1
  131. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  132. package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
  133. package/.next-prod/server/app/api/git/branches/route_client-reference-manifest.js +1 -1
  134. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  135. package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
  136. package/.next-prod/server/app/api/git/commit-diff/route_client-reference-manifest.js +1 -1
  137. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  138. package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
  139. package/.next-prod/server/app/api/git/commits/route_client-reference-manifest.js +1 -1
  140. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  141. package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
  142. package/.next-prod/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  143. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  144. package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
  145. package/.next-prod/server/app/api/git/discard/route_client-reference-manifest.js +1 -1
  146. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  147. package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
  148. package/.next-prod/server/app/api/git/stage/route_client-reference-manifest.js +1 -1
  149. package/.next-prod/server/app/api/git/status/route.js +1 -1
  150. package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
  151. package/.next-prod/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  152. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  153. package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
  154. package/.next-prod/server/app/api/git/unstage/route_client-reference-manifest.js +1 -1
  155. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  156. package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
  157. package/.next-prod/server/app/api/git/worktree/route_client-reference-manifest.js +1 -1
  158. package/.next-prod/server/app/api/global-state/route.js +1 -1
  159. package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
  160. package/.next-prod/server/app/api/global-state/route_client-reference-manifest.js +1 -1
  161. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  162. package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
  163. package/.next-prod/server/app/api/jupyter/load/route_client-reference-manifest.js +1 -1
  164. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  165. package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
  166. package/.next-prod/server/app/api/jupyter/save/route_client-reference-manifest.js +1 -1
  167. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  168. package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
  169. package/.next-prod/server/app/api/jupyter/shutdown/route_client-reference-manifest.js +1 -1
  170. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  171. package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
  172. package/.next-prod/server/app/api/lsp/definition/route_client-reference-manifest.js +1 -1
  173. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  174. package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
  175. package/.next-prod/server/app/api/lsp/hover/route_client-reference-manifest.js +1 -1
  176. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  177. package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
  178. package/.next-prod/server/app/api/lsp/references/route_client-reference-manifest.js +1 -1
  179. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  180. package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
  181. package/.next-prod/server/app/api/lsp/status/route_client-reference-manifest.js +1 -1
  182. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  183. package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
  184. package/.next-prod/server/app/api/lsp/warmup/route_client-reference-manifest.js +1 -1
  185. package/.next-prod/server/app/api/mysql/columns/route.js +2 -2
  186. package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
  187. package/.next-prod/server/app/api/mysql/columns/route_client-reference-manifest.js +1 -1
  188. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  189. package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
  190. package/.next-prod/server/app/api/mysql/connect/route_client-reference-manifest.js +1 -1
  191. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  192. package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
  193. package/.next-prod/server/app/api/mysql/disconnect/route_client-reference-manifest.js +1 -1
  194. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  195. package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
  196. package/.next-prod/server/app/api/mysql/export/route_client-reference-manifest.js +1 -1
  197. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  198. package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
  199. package/.next-prod/server/app/api/mysql/query/route_client-reference-manifest.js +1 -1
  200. package/.next-prod/server/app/api/mysql/schemas/route.js +2 -2
  201. package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
  202. package/.next-prod/server/app/api/mysql/schemas/route_client-reference-manifest.js +1 -1
  203. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  204. package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
  205. package/.next-prod/server/app/api/neo4j/connect/route_client-reference-manifest.js +1 -1
  206. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  207. package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
  208. package/.next-prod/server/app/api/neo4j/disconnect/route_client-reference-manifest.js +1 -1
  209. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  210. package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
  211. package/.next-prod/server/app/api/neo4j/query/route_client-reference-manifest.js +1 -1
  212. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  213. package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
  214. package/.next-prod/server/app/api/neo4j/schema/route_client-reference-manifest.js +1 -1
  215. package/.next-prod/server/app/api/note/route.js +1 -1
  216. package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
  217. package/.next-prod/server/app/api/note/route_client-reference-manifest.js +1 -1
  218. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  219. package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
  220. package/.next-prod/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  221. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  222. package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
  223. package/.next-prod/server/app/api/ollama/start/route_client-reference-manifest.js +1 -1
  224. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  225. package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
  226. package/.next-prod/server/app/api/open-cursor/route_client-reference-manifest.js +1 -1
  227. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  228. package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
  229. package/.next-prod/server/app/api/open-vscode/route_client-reference-manifest.js +1 -1
  230. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  231. package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
  232. package/.next-prod/server/app/api/pick-folder/route_client-reference-manifest.js +1 -1
  233. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  234. package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
  235. package/.next-prod/server/app/api/pinned-sessions/route_client-reference-manifest.js +1 -1
  236. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  237. package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
  238. package/.next-prod/server/app/api/project-settings/route_client-reference-manifest.js +1 -1
  239. package/.next-prod/server/app/api/project-state/route.js +1 -1
  240. package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
  241. package/.next-prod/server/app/api/project-state/route_client-reference-manifest.js +1 -1
  242. package/.next-prod/server/app/api/projects/route.js +1 -1
  243. package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
  244. package/.next-prod/server/app/api/projects/route_client-reference-manifest.js +1 -1
  245. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  246. package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
  247. package/.next-prod/server/app/api/redis/command/route_client-reference-manifest.js +1 -1
  248. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  249. package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
  250. package/.next-prod/server/app/api/redis/connect/route_client-reference-manifest.js +1 -1
  251. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  252. package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
  253. package/.next-prod/server/app/api/redis/delete/route_client-reference-manifest.js +1 -1
  254. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  255. package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
  256. package/.next-prod/server/app/api/redis/disconnect/route_client-reference-manifest.js +1 -1
  257. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  258. package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
  259. package/.next-prod/server/app/api/redis/get/route_client-reference-manifest.js +1 -1
  260. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  261. package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
  262. package/.next-prod/server/app/api/redis/keys/route_client-reference-manifest.js +1 -1
  263. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  264. package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
  265. package/.next-prod/server/app/api/redis/set/route_client-reference-manifest.js +1 -1
  266. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  267. package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
  268. package/.next-prod/server/app/api/review/[id]/comments/route_client-reference-manifest.js +1 -1
  269. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  270. package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
  271. package/.next-prod/server/app/api/review/[id]/replies/route_client-reference-manifest.js +1 -1
  272. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  273. package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
  274. package/.next-prod/server/app/api/review/[id]/route_client-reference-manifest.js +1 -1
  275. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  276. package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
  277. package/.next-prod/server/app/api/review/identify/route_client-reference-manifest.js +1 -1
  278. package/.next-prod/server/app/api/review/order/route.js +1 -1
  279. package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
  280. package/.next-prod/server/app/api/review/order/route_client-reference-manifest.js +1 -1
  281. package/.next-prod/server/app/api/review/route.js +1 -1
  282. package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
  283. package/.next-prod/server/app/api/review/route_client-reference-manifest.js +1 -1
  284. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  285. package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
  286. package/.next-prod/server/app/api/review/share-info/route_client-reference-manifest.js +1 -1
  287. package/.next-prod/server/app/api/review/users/route.js +1 -1
  288. package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
  289. package/.next-prod/server/app/api/review/users/route_client-reference-manifest.js +1 -1
  290. package/.next-prod/server/app/api/scheduled-tasks/route.js +1 -1
  291. package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
  292. package/.next-prod/server/app/api/scheduled-tasks/route_client-reference-manifest.js +1 -1
  293. package/.next-prod/server/app/api/services/config/route.js +1 -1
  294. package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
  295. package/.next-prod/server/app/api/services/config/route_client-reference-manifest.js +1 -1
  296. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  297. package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
  298. package/.next-prod/server/app/api/services/scripts/route_client-reference-manifest.js +1 -1
  299. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  300. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
  301. package/.next-prod/server/app/api/session/[sessionId]/fork/route_client-reference-manifest.js +1 -1
  302. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  303. package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
  304. package/.next-prod/server/app/api/session/[sessionId]/history/route_client-reference-manifest.js +1 -1
  305. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  306. package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
  307. package/.next-prod/server/app/api/session-by-path/route_client-reference-manifest.js +1 -1
  308. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  309. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
  310. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route_client-reference-manifest.js +1 -1
  311. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  312. package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
  313. package/.next-prod/server/app/api/sessions/projects/route_client-reference-manifest.js +1 -1
  314. package/.next-prod/server/app/api/sessions/route.js +1 -1
  315. package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
  316. package/.next-prod/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  317. package/.next-prod/server/app/api/settings/route.js +1 -1
  318. package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
  319. package/.next-prod/server/app/api/settings/route_client-reference-manifest.js +1 -1
  320. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  321. package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
  322. package/.next-prod/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  323. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  324. package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
  325. package/.next-prod/server/app/api/skills/content/route_client-reference-manifest.js +1 -1
  326. package/.next-prod/server/app/api/skills/route.js +1 -1
  327. package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
  328. package/.next-prod/server/app/api/skills/route_client-reference-manifest.js +1 -1
  329. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  330. package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
  331. package/.next-prod/server/app/api/terminal/aliases/route_client-reference-manifest.js +1 -1
  332. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  333. package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
  334. package/.next-prod/server/app/api/terminal/autocomplete/route_client-reference-manifest.js +1 -1
  335. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  336. package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
  337. package/.next-prod/server/app/api/terminal/bubble-order/route_client-reference-manifest.js +1 -1
  338. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  339. package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
  340. package/.next-prod/server/app/api/terminal/env/route_client-reference-manifest.js +1 -1
  341. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  342. package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
  343. package/.next-prod/server/app/api/terminal/history/route_client-reference-manifest.js +1 -1
  344. package/.next-prod/server/app/api/version/route.js +1 -1
  345. package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
  346. package/.next-prod/server/app/api/version/route_client-reference-manifest.js +1 -1
  347. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  348. package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
  349. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  350. package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  351. package/.next-prod/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  352. package/.next-prod/server/app/page.js +6 -6
  353. package/.next-prod/server/app/page.js.nft.json +1 -1
  354. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  355. package/.next-prod/server/app/project/page.js +8 -8
  356. package/.next-prod/server/app/project/page.js.nft.json +1 -1
  357. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  358. package/.next-prod/server/app/review/[id]/page.js +2 -2
  359. package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
  360. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  361. package/.next-prod/server/app-paths-manifest.json +21 -19
  362. package/.next-prod/server/chunks/1813.js +1 -1
  363. package/.next-prod/server/chunks/2338.js +1 -1
  364. package/.next-prod/server/chunks/3269.js +1 -1
  365. package/.next-prod/server/chunks/3353.js +1 -0
  366. package/.next-prod/server/chunks/4098.js +1 -1
  367. package/.next-prod/server/chunks/4490.js +3 -3
  368. package/.next-prod/server/chunks/4732.js +1 -0
  369. package/.next-prod/server/chunks/4741.js +5 -9
  370. package/.next-prod/server/chunks/4793.js +1 -1
  371. package/.next-prod/server/chunks/5147.js +1 -1
  372. package/.next-prod/server/chunks/700.js +1 -1
  373. package/.next-prod/server/chunks/7514.js +1 -1
  374. package/.next-prod/server/chunks/8465.js +15 -0
  375. package/.next-prod/server/middleware-build-manifest.js +1 -1
  376. package/.next-prod/server/middleware-react-loadable-manifest.js +1 -1
  377. package/.next-prod/server/pages/404.html +2 -2
  378. package/.next-prod/server/pages/500.html +1 -2
  379. package/.next-prod/server/prefetch-hints.json +1 -0
  380. package/.next-prod/server/server-reference-manifest.json +1 -1
  381. package/.next-prod/static/chunks/3530-74191451ec2a46c4.js +14 -0
  382. package/.next-prod/static/chunks/3579-70c6663ba8c0cf1b.js +1 -0
  383. package/.next-prod/static/chunks/{3695-f14fb3e48483755c.js → 3695-9503d0b646958dd4.js} +2 -2
  384. package/.next-prod/static/chunks/3700-e32aa43691d128b2.js +1 -0
  385. package/.next-prod/static/chunks/{3743-66d6d2ef6629c733.js → 3743-5e5ffaf674977450.js} +1 -1
  386. package/.next-prod/static/chunks/3794-3fb4e6ee851037bb.js +32 -0
  387. package/.next-prod/static/chunks/4bd1b696-e356ca5ba0218e27.js +1 -0
  388. package/.next-prod/static/chunks/{7650.18f74243e9325242.js → 5269.2e771096652dc113.js} +1 -1
  389. package/.next-prod/static/chunks/54a60aa6-1a0e6738c5ca0c78.js +79 -0
  390. package/.next-prod/static/chunks/{9062-a330afa1af7f133e.js → 9062-ea4adbf70cf62f01.js} +1 -1
  391. package/.next-prod/static/chunks/{aaea2bcf-4f9eb5012da21e0f.js → aaea2bcf-be8b39a8f32280f3.js} +1 -1
  392. package/.next-prod/static/chunks/app/_global-error/page-94e40d01eb0846a0.js +1 -0
  393. package/.next-prod/static/chunks/app/api/bash/route-94e40d01eb0846a0.js +1 -0
  394. package/.next-prod/static/chunks/app/api/chat/codex/route-94e40d01eb0846a0.js +1 -0
  395. package/.next-prod/static/chunks/app/api/chat/kimi/route-94e40d01eb0846a0.js +1 -0
  396. package/.next-prod/static/chunks/app/api/chat/ollama/route-94e40d01eb0846a0.js +1 -0
  397. package/.next-prod/static/chunks/app/api/chat/route-94e40d01eb0846a0.js +1 -0
  398. package/.next-prod/static/chunks/app/api/claude-stats/route-94e40d01eb0846a0.js +1 -0
  399. package/.next-prod/static/chunks/app/api/commands/route-94e40d01eb0846a0.js +1 -0
  400. package/.next-prod/static/chunks/app/api/comments/route-94e40d01eb0846a0.js +1 -0
  401. package/.next-prod/static/chunks/app/api/db/columns/route-94e40d01eb0846a0.js +1 -0
  402. package/.next-prod/static/chunks/app/api/db/connect/route-94e40d01eb0846a0.js +1 -0
  403. package/.next-prod/static/chunks/app/api/db/disconnect/route-94e40d01eb0846a0.js +1 -0
  404. package/.next-prod/static/chunks/app/api/db/export/route-94e40d01eb0846a0.js +1 -0
  405. package/.next-prod/static/chunks/app/api/db/query/route-94e40d01eb0846a0.js +1 -0
  406. package/.next-prod/static/chunks/app/api/db/schemas/route-94e40d01eb0846a0.js +1 -0
  407. package/.next-prod/static/chunks/app/api/extension/version/route-94e40d01eb0846a0.js +1 -0
  408. package/.next-prod/static/chunks/app/api/file/route-94e40d01eb0846a0.js +1 -0
  409. package/.next-prod/static/chunks/app/api/files/blame/route-94e40d01eb0846a0.js +1 -0
  410. package/.next-prod/static/chunks/app/api/files/clipboard/route-94e40d01eb0846a0.js +1 -0
  411. package/.next-prod/static/chunks/app/api/files/copy/route-94e40d01eb0846a0.js +1 -0
  412. package/.next-prod/static/chunks/app/api/files/delete/route-94e40d01eb0846a0.js +1 -0
  413. package/.next-prod/static/chunks/app/api/files/expanded/route-94e40d01eb0846a0.js +1 -0
  414. package/.next-prod/static/chunks/app/api/files/index/route-94e40d01eb0846a0.js +1 -0
  415. package/.next-prod/static/chunks/app/api/files/init/route-94e40d01eb0846a0.js +1 -0
  416. package/.next-prod/static/chunks/app/api/files/paste/route-94e40d01eb0846a0.js +1 -0
  417. package/.next-prod/static/chunks/app/api/files/read/route-94e40d01eb0846a0.js +1 -0
  418. package/.next-prod/static/chunks/app/api/files/readdir/route-94e40d01eb0846a0.js +1 -0
  419. package/.next-prod/static/chunks/app/api/files/recent/route-94e40d01eb0846a0.js +1 -0
  420. package/.next-prod/static/chunks/app/api/files/save/route-94e40d01eb0846a0.js +1 -0
  421. package/.next-prod/static/chunks/app/api/files/search/route-94e40d01eb0846a0.js +1 -0
  422. package/.next-prod/static/chunks/app/api/files/stat/route-94e40d01eb0846a0.js +1 -0
  423. package/.next-prod/static/chunks/app/api/files/text/route-94e40d01eb0846a0.js +1 -0
  424. package/.next-prod/static/chunks/app/api/git/branch-diff/route-94e40d01eb0846a0.js +1 -0
  425. package/.next-prod/static/chunks/app/api/git/branches/route-94e40d01eb0846a0.js +1 -0
  426. package/.next-prod/static/chunks/app/api/git/commit-diff/route-94e40d01eb0846a0.js +1 -0
  427. package/.next-prod/static/chunks/app/api/git/commits/route-94e40d01eb0846a0.js +1 -0
  428. package/.next-prod/static/chunks/app/api/git/diff/route-94e40d01eb0846a0.js +1 -0
  429. package/.next-prod/static/chunks/app/api/git/discard/route-94e40d01eb0846a0.js +1 -0
  430. package/.next-prod/static/chunks/app/api/git/stage/route-94e40d01eb0846a0.js +1 -0
  431. package/.next-prod/static/chunks/app/api/git/status/route-94e40d01eb0846a0.js +1 -0
  432. package/.next-prod/static/chunks/app/api/git/unstage/route-94e40d01eb0846a0.js +1 -0
  433. package/.next-prod/static/chunks/app/api/git/worktree/route-94e40d01eb0846a0.js +1 -0
  434. package/.next-prod/static/chunks/app/api/global-state/route-94e40d01eb0846a0.js +1 -0
  435. package/.next-prod/static/chunks/app/api/jupyter/load/route-94e40d01eb0846a0.js +1 -0
  436. package/.next-prod/static/chunks/app/api/jupyter/save/route-94e40d01eb0846a0.js +1 -0
  437. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-94e40d01eb0846a0.js +1 -0
  438. package/.next-prod/static/chunks/app/api/lsp/definition/route-94e40d01eb0846a0.js +1 -0
  439. package/.next-prod/static/chunks/app/api/lsp/hover/route-94e40d01eb0846a0.js +1 -0
  440. package/.next-prod/static/chunks/app/api/lsp/references/route-94e40d01eb0846a0.js +1 -0
  441. package/.next-prod/static/chunks/app/api/lsp/status/route-94e40d01eb0846a0.js +1 -0
  442. package/.next-prod/static/chunks/app/api/lsp/warmup/route-94e40d01eb0846a0.js +1 -0
  443. package/.next-prod/static/chunks/app/api/mysql/columns/route-94e40d01eb0846a0.js +1 -0
  444. package/.next-prod/static/chunks/app/api/mysql/connect/route-94e40d01eb0846a0.js +1 -0
  445. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-94e40d01eb0846a0.js +1 -0
  446. package/.next-prod/static/chunks/app/api/mysql/export/route-94e40d01eb0846a0.js +1 -0
  447. package/.next-prod/static/chunks/app/api/mysql/query/route-94e40d01eb0846a0.js +1 -0
  448. package/.next-prod/static/chunks/app/api/mysql/schemas/route-94e40d01eb0846a0.js +1 -0
  449. package/.next-prod/static/chunks/app/api/neo4j/connect/route-94e40d01eb0846a0.js +1 -0
  450. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-94e40d01eb0846a0.js +1 -0
  451. package/.next-prod/static/chunks/app/api/neo4j/query/route-94e40d01eb0846a0.js +1 -0
  452. package/.next-prod/static/chunks/app/api/neo4j/schema/route-94e40d01eb0846a0.js +1 -0
  453. package/.next-prod/static/chunks/app/api/note/route-94e40d01eb0846a0.js +1 -0
  454. package/.next-prod/static/chunks/app/api/ollama/models/route-94e40d01eb0846a0.js +1 -0
  455. package/.next-prod/static/chunks/app/api/ollama/start/route-94e40d01eb0846a0.js +1 -0
  456. package/.next-prod/static/chunks/app/api/open-cursor/route-94e40d01eb0846a0.js +1 -0
  457. package/.next-prod/static/chunks/app/api/open-vscode/route-94e40d01eb0846a0.js +1 -0
  458. package/.next-prod/static/chunks/app/api/pick-folder/route-94e40d01eb0846a0.js +1 -0
  459. package/.next-prod/static/chunks/app/api/pinned-sessions/route-94e40d01eb0846a0.js +1 -0
  460. package/.next-prod/static/chunks/app/api/project-settings/route-94e40d01eb0846a0.js +1 -0
  461. package/.next-prod/static/chunks/app/api/project-state/route-94e40d01eb0846a0.js +1 -0
  462. package/.next-prod/static/chunks/app/api/projects/route-94e40d01eb0846a0.js +1 -0
  463. package/.next-prod/static/chunks/app/api/redis/command/route-94e40d01eb0846a0.js +1 -0
  464. package/.next-prod/static/chunks/app/api/redis/connect/route-94e40d01eb0846a0.js +1 -0
  465. package/.next-prod/static/chunks/app/api/redis/delete/route-94e40d01eb0846a0.js +1 -0
  466. package/.next-prod/static/chunks/app/api/redis/disconnect/route-94e40d01eb0846a0.js +1 -0
  467. package/.next-prod/static/chunks/app/api/redis/get/route-94e40d01eb0846a0.js +1 -0
  468. package/.next-prod/static/chunks/app/api/redis/keys/route-94e40d01eb0846a0.js +1 -0
  469. package/.next-prod/static/chunks/app/api/redis/set/route-94e40d01eb0846a0.js +1 -0
  470. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-94e40d01eb0846a0.js +1 -0
  471. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-94e40d01eb0846a0.js +1 -0
  472. package/.next-prod/static/chunks/app/api/review/[id]/route-94e40d01eb0846a0.js +1 -0
  473. package/.next-prod/static/chunks/app/api/review/identify/route-94e40d01eb0846a0.js +1 -0
  474. package/.next-prod/static/chunks/app/api/review/order/route-94e40d01eb0846a0.js +1 -0
  475. package/.next-prod/static/chunks/app/api/review/route-94e40d01eb0846a0.js +1 -0
  476. package/.next-prod/static/chunks/app/api/review/share-info/route-94e40d01eb0846a0.js +1 -0
  477. package/.next-prod/static/chunks/app/api/review/users/route-94e40d01eb0846a0.js +1 -0
  478. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-94e40d01eb0846a0.js +1 -0
  479. package/.next-prod/static/chunks/app/api/services/config/route-94e40d01eb0846a0.js +1 -0
  480. package/.next-prod/static/chunks/app/api/services/scripts/route-94e40d01eb0846a0.js +1 -0
  481. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-94e40d01eb0846a0.js +1 -0
  482. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-94e40d01eb0846a0.js +1 -0
  483. package/.next-prod/static/chunks/app/api/session-by-path/route-94e40d01eb0846a0.js +1 -0
  484. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-94e40d01eb0846a0.js +1 -0
  485. package/.next-prod/static/chunks/app/api/sessions/projects/route-94e40d01eb0846a0.js +1 -0
  486. package/.next-prod/static/chunks/app/api/sessions/route-94e40d01eb0846a0.js +1 -0
  487. package/.next-prod/static/chunks/app/api/settings/route-94e40d01eb0846a0.js +1 -0
  488. package/.next-prod/static/chunks/app/api/skills/[id]/route-94e40d01eb0846a0.js +1 -0
  489. package/.next-prod/static/chunks/app/api/skills/content/route-94e40d01eb0846a0.js +1 -0
  490. package/.next-prod/static/chunks/app/api/skills/route-94e40d01eb0846a0.js +1 -0
  491. package/.next-prod/static/chunks/app/api/terminal/aliases/route-94e40d01eb0846a0.js +1 -0
  492. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-94e40d01eb0846a0.js +1 -0
  493. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-94e40d01eb0846a0.js +1 -0
  494. package/.next-prod/static/chunks/app/api/terminal/env/route-94e40d01eb0846a0.js +1 -0
  495. package/.next-prod/static/chunks/app/api/terminal/history/route-94e40d01eb0846a0.js +1 -0
  496. package/.next-prod/static/chunks/app/api/version/route-94e40d01eb0846a0.js +1 -0
  497. package/.next-prod/static/chunks/app/manifest.webmanifest/route-94e40d01eb0846a0.js +1 -0
  498. package/.next-prod/static/chunks/app/{page-e0d663a97bc29595.js → page-95c3cb3c5c7c5ef1.js} +1 -1
  499. package/.next-prod/static/chunks/app/project/page-180bad159db256a5.js +29 -0
  500. package/.next-prod/static/chunks/app/review/[id]/page-e81c220af0b68e3e.js +1 -0
  501. package/.next-prod/static/chunks/d3ac728e-ba6c269aebe5932e.js +1 -0
  502. package/.next-prod/static/chunks/{e868780c.a081703edc1bc551.js → e868780c.16e43c5968ccf2bf.js} +3 -3
  503. package/.next-prod/static/chunks/framework-52c9cc950957e3ac.js +1 -0
  504. package/.next-prod/static/chunks/main-5a46314a5491113b.js +5 -0
  505. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-94e40d01eb0846a0.js +1 -0
  506. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-94e40d01eb0846a0.js +1 -0
  507. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-94e40d01eb0846a0.js +1 -0
  508. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-94e40d01eb0846a0.js +1 -0
  509. package/.next-prod/static/chunks/webpack-067b7836d8df9226.js +1 -0
  510. package/.next-prod/static/css/aefab4a01c890b38.css +3 -0
  511. package/.next-prod/static/smsKM7xQ0sAR3fsFWgImc/_buildManifest.js +1 -0
  512. package/.next-prod/trace +12 -13
  513. package/.next-prod/trace-build +1 -1
  514. package/.next-prod/types/app/api/bash/route.ts +3 -2
  515. package/.next-prod/types/app/api/chat/codex/route.ts +3 -2
  516. package/.next-prod/types/app/api/chat/kimi/route.ts +3 -2
  517. package/.next-prod/types/app/api/chat/ollama/route.ts +3 -2
  518. package/.next-prod/types/app/api/chat/route.ts +3 -2
  519. package/.next-prod/types/app/api/claude-stats/route.ts +3 -2
  520. package/.next-prod/types/app/api/commands/route.ts +3 -2
  521. package/.next-prod/types/app/api/comments/route.ts +3 -2
  522. package/.next-prod/types/app/api/db/columns/route.ts +3 -2
  523. package/.next-prod/types/app/api/db/connect/route.ts +3 -2
  524. package/.next-prod/types/app/api/db/disconnect/route.ts +3 -2
  525. package/.next-prod/types/app/api/db/export/route.ts +3 -2
  526. package/.next-prod/types/app/api/db/query/route.ts +3 -2
  527. package/.next-prod/types/app/api/db/schemas/route.ts +3 -2
  528. package/.next-prod/types/app/api/extension/version/route.ts +3 -2
  529. package/.next-prod/types/app/api/file/route.ts +3 -2
  530. package/.next-prod/types/app/api/files/blame/route.ts +3 -2
  531. package/.next-prod/types/app/api/files/clipboard/route.ts +3 -2
  532. package/.next-prod/types/app/api/files/copy/route.ts +3 -2
  533. package/.next-prod/types/app/api/files/delete/route.ts +3 -2
  534. package/.next-prod/types/app/api/files/expanded/route.ts +3 -2
  535. package/.next-prod/types/app/api/files/index/route.ts +3 -2
  536. package/.next-prod/types/app/api/files/init/route.ts +3 -2
  537. package/.next-prod/types/app/api/files/paste/route.ts +3 -2
  538. package/.next-prod/types/app/api/files/read/route.ts +3 -2
  539. package/.next-prod/types/app/api/files/readdir/route.ts +3 -2
  540. package/.next-prod/types/app/api/files/recent/route.ts +3 -2
  541. package/.next-prod/types/app/api/files/save/route.ts +3 -2
  542. package/.next-prod/types/app/api/files/search/route.ts +3 -2
  543. package/.next-prod/types/app/api/files/stat/route.ts +351 -0
  544. package/.next-prod/types/app/api/files/text/route.ts +351 -0
  545. package/.next-prod/types/app/api/git/branch-diff/route.ts +3 -2
  546. package/.next-prod/types/app/api/git/branches/route.ts +3 -2
  547. package/.next-prod/types/app/api/git/commit-diff/route.ts +3 -2
  548. package/.next-prod/types/app/api/git/commits/route.ts +3 -2
  549. package/.next-prod/types/app/api/git/diff/route.ts +3 -2
  550. package/.next-prod/types/app/api/git/discard/route.ts +3 -2
  551. package/.next-prod/types/app/api/git/stage/route.ts +3 -2
  552. package/.next-prod/types/app/api/git/status/route.ts +3 -2
  553. package/.next-prod/types/app/api/git/unstage/route.ts +3 -2
  554. package/.next-prod/types/app/api/git/worktree/route.ts +3 -2
  555. package/.next-prod/types/app/api/global-state/route.ts +3 -2
  556. package/.next-prod/types/app/api/jupyter/load/route.ts +3 -2
  557. package/.next-prod/types/app/api/jupyter/save/route.ts +3 -2
  558. package/.next-prod/types/app/api/jupyter/shutdown/route.ts +3 -2
  559. package/.next-prod/types/app/api/lsp/definition/route.ts +3 -2
  560. package/.next-prod/types/app/api/lsp/hover/route.ts +3 -2
  561. package/.next-prod/types/app/api/lsp/references/route.ts +3 -2
  562. package/.next-prod/types/app/api/lsp/status/route.ts +3 -2
  563. package/.next-prod/types/app/api/lsp/warmup/route.ts +3 -2
  564. package/.next-prod/types/app/api/mysql/columns/route.ts +3 -2
  565. package/.next-prod/types/app/api/mysql/connect/route.ts +3 -2
  566. package/.next-prod/types/app/api/mysql/disconnect/route.ts +3 -2
  567. package/.next-prod/types/app/api/mysql/export/route.ts +3 -2
  568. package/.next-prod/types/app/api/mysql/query/route.ts +3 -2
  569. package/.next-prod/types/app/api/mysql/schemas/route.ts +3 -2
  570. package/.next-prod/types/app/api/neo4j/connect/route.ts +3 -2
  571. package/.next-prod/types/app/api/neo4j/disconnect/route.ts +3 -2
  572. package/.next-prod/types/app/api/neo4j/query/route.ts +3 -2
  573. package/.next-prod/types/app/api/neo4j/schema/route.ts +3 -2
  574. package/.next-prod/types/app/api/note/route.ts +3 -2
  575. package/.next-prod/types/app/api/ollama/models/route.ts +3 -2
  576. package/.next-prod/types/app/api/ollama/start/route.ts +3 -2
  577. package/.next-prod/types/app/api/open-cursor/route.ts +3 -2
  578. package/.next-prod/types/app/api/open-vscode/route.ts +3 -2
  579. package/.next-prod/types/app/api/pick-folder/route.ts +3 -2
  580. package/.next-prod/types/app/api/pinned-sessions/route.ts +3 -2
  581. package/.next-prod/types/app/api/project-settings/route.ts +3 -2
  582. package/.next-prod/types/app/api/project-state/route.ts +3 -2
  583. package/.next-prod/types/app/api/projects/route.ts +3 -2
  584. package/.next-prod/types/app/api/redis/command/route.ts +3 -2
  585. package/.next-prod/types/app/api/redis/connect/route.ts +3 -2
  586. package/.next-prod/types/app/api/redis/delete/route.ts +3 -2
  587. package/.next-prod/types/app/api/redis/disconnect/route.ts +3 -2
  588. package/.next-prod/types/app/api/redis/get/route.ts +3 -2
  589. package/.next-prod/types/app/api/redis/keys/route.ts +3 -2
  590. package/.next-prod/types/app/api/redis/set/route.ts +3 -2
  591. package/.next-prod/types/app/api/review/[id]/comments/route.ts +3 -2
  592. package/.next-prod/types/app/api/review/[id]/replies/route.ts +3 -2
  593. package/.next-prod/types/app/api/review/[id]/route.ts +3 -2
  594. package/.next-prod/types/app/api/review/identify/route.ts +3 -2
  595. package/.next-prod/types/app/api/review/order/route.ts +3 -2
  596. package/.next-prod/types/app/api/review/route.ts +3 -2
  597. package/.next-prod/types/app/api/review/share-info/route.ts +3 -2
  598. package/.next-prod/types/app/api/review/users/route.ts +3 -2
  599. package/.next-prod/types/app/api/scheduled-tasks/route.ts +3 -2
  600. package/.next-prod/types/app/api/services/config/route.ts +3 -2
  601. package/.next-prod/types/app/api/services/scripts/route.ts +3 -2
  602. package/.next-prod/types/app/api/session/[sessionId]/fork/route.ts +3 -2
  603. package/.next-prod/types/app/api/session/[sessionId]/history/route.ts +3 -2
  604. package/.next-prod/types/app/api/session-by-path/route.ts +3 -2
  605. package/.next-prod/types/app/api/sessions/projects/[encodedPath]/route.ts +3 -2
  606. package/.next-prod/types/app/api/sessions/projects/route.ts +3 -2
  607. package/.next-prod/types/app/api/sessions/route.ts +3 -2
  608. package/.next-prod/types/app/api/settings/route.ts +3 -2
  609. package/.next-prod/types/app/api/skills/[id]/route.ts +3 -2
  610. package/.next-prod/types/app/api/skills/content/route.ts +3 -2
  611. package/.next-prod/types/app/api/skills/route.ts +3 -2
  612. package/.next-prod/types/app/api/terminal/aliases/route.ts +3 -2
  613. package/.next-prod/types/app/api/terminal/autocomplete/route.ts +3 -2
  614. package/.next-prod/types/app/api/terminal/bubble-order/route.ts +3 -2
  615. package/.next-prod/types/app/api/terminal/env/route.ts +3 -2
  616. package/.next-prod/types/app/api/terminal/history/route.ts +3 -2
  617. package/.next-prod/types/app/api/version/route.ts +3 -2
  618. package/.next-prod/types/app/page.ts +3 -2
  619. package/.next-prod/types/app/project/page.ts +3 -2
  620. package/.next-prod/types/app/review/[id]/page.ts +3 -2
  621. package/.next-prod/types/cache-life.d.ts +145 -0
  622. package/.next-prod/types/routes.d.ts +3 -1
  623. package/.next-prod/types/validator.ts +18 -0
  624. package/README.md +1 -1
  625. package/README.zh.md +1 -1
  626. package/bin/cock-browser.mjs +26 -0
  627. package/dist/wsServer.mjs +56 -6
  628. package/package.json +2 -3
  629. package/server.mjs +49 -5
  630. package/.next-prod/server/chunks/1639.js +0 -1
  631. package/.next-prod/server/chunks/1661.js +0 -1
  632. package/.next-prod/server/chunks/1667.js +0 -1
  633. package/.next-prod/server/chunks/1912.js +0 -1
  634. package/.next-prod/server/chunks/2325.js +0 -82
  635. package/.next-prod/server/chunks/2376.js +0 -36
  636. package/.next-prod/server/chunks/2816.js +0 -1
  637. package/.next-prod/server/chunks/2840.js +0 -62
  638. package/.next-prod/server/chunks/3434.js +0 -1
  639. package/.next-prod/server/chunks/3441.js +0 -24
  640. package/.next-prod/server/chunks/3503.js +0 -29
  641. package/.next-prod/server/chunks/3932.js +0 -56
  642. package/.next-prod/server/chunks/4073.js +0 -1
  643. package/.next-prod/server/chunks/4097.js +0 -136
  644. package/.next-prod/server/chunks/4268.js +0 -4
  645. package/.next-prod/server/chunks/4309.js +0 -141
  646. package/.next-prod/server/chunks/4345.js +0 -1
  647. package/.next-prod/server/chunks/4367.js +0 -1
  648. package/.next-prod/server/chunks/4388.js +0 -24
  649. package/.next-prod/server/chunks/4442.js +0 -1
  650. package/.next-prod/server/chunks/459.js +0 -1
  651. package/.next-prod/server/chunks/5152.js +0 -1
  652. package/.next-prod/server/chunks/5460.js +0 -201
  653. package/.next-prod/server/chunks/5481.js +0 -1
  654. package/.next-prod/server/chunks/5536.js +0 -148
  655. package/.next-prod/server/chunks/5733.js +0 -5
  656. package/.next-prod/server/chunks/582.js +0 -1
  657. package/.next-prod/server/chunks/5958.js +0 -1
  658. package/.next-prod/server/chunks/6117.js +0 -13
  659. package/.next-prod/server/chunks/6142.js +0 -287
  660. package/.next-prod/server/chunks/6346.js +0 -1
  661. package/.next-prod/server/chunks/6443.js +0 -1
  662. package/.next-prod/server/chunks/6804.js +0 -43
  663. package/.next-prod/server/chunks/7122.js +0 -1
  664. package/.next-prod/server/chunks/7265.js +0 -93
  665. package/.next-prod/server/chunks/7307.js +0 -1
  666. package/.next-prod/server/chunks/7483.js +0 -1
  667. package/.next-prod/server/chunks/7484.js +0 -64
  668. package/.next-prod/server/chunks/7800.js +0 -166
  669. package/.next-prod/server/chunks/8068.js +0 -63
  670. package/.next-prod/server/chunks/8351.js +0 -23
  671. package/.next-prod/server/chunks/8585.js +0 -198
  672. package/.next-prod/server/chunks/887.js +0 -215
  673. package/.next-prod/server/chunks/911.js +0 -1
  674. package/.next-prod/server/chunks/9116.js +0 -65
  675. package/.next-prod/server/chunks/925.js +0 -68
  676. package/.next-prod/server/chunks/9401.js +0 -1
  677. package/.next-prod/server/chunks/9408.js +0 -1
  678. package/.next-prod/static/chunks/1310.c38c5fbf05820fcd.js +0 -166
  679. package/.next-prod/static/chunks/1409.9f81cd6d2cab4b67.js +0 -1
  680. package/.next-prod/static/chunks/142.e09e154342f02da4.js +0 -4
  681. package/.next-prod/static/chunks/1590.05549e036336164c.js +0 -65
  682. package/.next-prod/static/chunks/1948.bf7e0d9ede202530.js +0 -29
  683. package/.next-prod/static/chunks/1987.226da043eabc8911.js +0 -5
  684. package/.next-prod/static/chunks/1991.d869abe5092c9011.js +0 -1
  685. package/.next-prod/static/chunks/2020.46a0112747939389.js +0 -1
  686. package/.next-prod/static/chunks/2235.b4453110c06e2b09.js +0 -1
  687. package/.next-prod/static/chunks/254.8b4308512ac955b5.js +0 -24
  688. package/.next-prod/static/chunks/2729.826909b4d5229ba6.js +0 -68
  689. package/.next-prod/static/chunks/2821.fa74c6e87f6e759a.js +0 -1
  690. package/.next-prod/static/chunks/2921.26016c4c7eb031e8.js +0 -1
  691. package/.next-prod/static/chunks/2ff9d716.93c18c265de76cfb.js +0 -136
  692. package/.next-prod/static/chunks/3126.c89ab7ce8e10978e.js +0 -1
  693. package/.next-prod/static/chunks/3530-49f50405e2b2a8c2.js +0 -14
  694. package/.next-prod/static/chunks/3613.9a37e282a0b018d7.js +0 -1
  695. package/.next-prod/static/chunks/3682.d8c0079db560c625.js +0 -1
  696. package/.next-prod/static/chunks/3700-1edddcc68c5c2ac3.js +0 -1
  697. package/.next-prod/static/chunks/3794-337d1ca25ad99a89.js +0 -2
  698. package/.next-prod/static/chunks/4699.8603b2742a761084.js +0 -1
  699. package/.next-prod/static/chunks/4892.1674cc00200143ba.js +0 -1
  700. package/.next-prod/static/chunks/4bd1b696-e5d7c65570c947b7.js +0 -1
  701. package/.next-prod/static/chunks/5019.2906d96e77b98f68.js +0 -198
  702. package/.next-prod/static/chunks/5139.83dc2c84aeea716b.js +0 -63
  703. package/.next-prod/static/chunks/5199.5faac6a2cc104a4c.js +0 -36
  704. package/.next-prod/static/chunks/5269.25d99df0164521ad.js +0 -23
  705. package/.next-prod/static/chunks/5325.aad15a16a5d57787.js +0 -1
  706. package/.next-prod/static/chunks/5364.2e5ba480c24d7854.js +0 -148
  707. package/.next-prod/static/chunks/5394.9d260f733e336357.js +0 -287
  708. package/.next-prod/static/chunks/54a60aa6-f60235f3d6b54466.js +0 -79
  709. package/.next-prod/static/chunks/5788.e5d5040b65e5edf3.js +0 -1
  710. package/.next-prod/static/chunks/6026.4027a04696ef04db.js +0 -1
  711. package/.next-prod/static/chunks/6108-df36466c7d900315.js +0 -1
  712. package/.next-prod/static/chunks/6383.ca3e074feb80c69c.js +0 -1
  713. package/.next-prod/static/chunks/6460.8ce93fe47320f6c5.js +0 -1
  714. package/.next-prod/static/chunks/6871.38519003bd87ac1c.js +0 -62
  715. package/.next-prod/static/chunks/6878-b27072ccf7fd4eba.js +0 -1
  716. package/.next-prod/static/chunks/6962.3bbd080592d4efa0.js +0 -64
  717. package/.next-prod/static/chunks/7084.921c9737b83f55eb.js +0 -1
  718. package/.next-prod/static/chunks/7085.b16e7c0e24741232.js +0 -215
  719. package/.next-prod/static/chunks/7443.124211e5abc05d3f.js +0 -93
  720. package/.next-prod/static/chunks/7479.433d3878625aba75.js +0 -24
  721. package/.next-prod/static/chunks/7547.54b68d37b50c2f21.js +0 -43
  722. package/.next-prod/static/chunks/7874.8db6929b94cdf697.js +0 -1
  723. package/.next-prod/static/chunks/8317.9c6f22e0c8cd07a8.js +0 -141
  724. package/.next-prod/static/chunks/8776.6fb12270eca03fd3.js +0 -149
  725. package/.next-prod/static/chunks/8863.4a09596cf95e996a.js +0 -82
  726. package/.next-prod/static/chunks/90542734.58d84d15ab7a8c98.js +0 -1
  727. package/.next-prod/static/chunks/9233.124321d2f404e01c.js +0 -1
  728. package/.next-prod/static/chunks/9318.ba24787a52cefe4c.js +0 -56
  729. package/.next-prod/static/chunks/9373.6206c440af44002a.js +0 -1
  730. package/.next-prod/static/chunks/af7f6608.85a7e1eb0d4130b0.js +0 -53
  731. package/.next-prod/static/chunks/app/_global-error/page-f626fdfbc87b7a2c.js +0 -1
  732. package/.next-prod/static/chunks/app/api/bash/route-f626fdfbc87b7a2c.js +0 -1
  733. package/.next-prod/static/chunks/app/api/chat/codex/route-f626fdfbc87b7a2c.js +0 -1
  734. package/.next-prod/static/chunks/app/api/chat/kimi/route-f626fdfbc87b7a2c.js +0 -1
  735. package/.next-prod/static/chunks/app/api/chat/ollama/route-f626fdfbc87b7a2c.js +0 -1
  736. package/.next-prod/static/chunks/app/api/chat/route-f626fdfbc87b7a2c.js +0 -1
  737. package/.next-prod/static/chunks/app/api/claude-stats/route-f626fdfbc87b7a2c.js +0 -1
  738. package/.next-prod/static/chunks/app/api/commands/route-f626fdfbc87b7a2c.js +0 -1
  739. package/.next-prod/static/chunks/app/api/comments/route-f626fdfbc87b7a2c.js +0 -1
  740. package/.next-prod/static/chunks/app/api/db/columns/route-f626fdfbc87b7a2c.js +0 -1
  741. package/.next-prod/static/chunks/app/api/db/connect/route-f626fdfbc87b7a2c.js +0 -1
  742. package/.next-prod/static/chunks/app/api/db/disconnect/route-f626fdfbc87b7a2c.js +0 -1
  743. package/.next-prod/static/chunks/app/api/db/export/route-f626fdfbc87b7a2c.js +0 -1
  744. package/.next-prod/static/chunks/app/api/db/query/route-f626fdfbc87b7a2c.js +0 -1
  745. package/.next-prod/static/chunks/app/api/db/schemas/route-f626fdfbc87b7a2c.js +0 -1
  746. package/.next-prod/static/chunks/app/api/extension/version/route-f626fdfbc87b7a2c.js +0 -1
  747. package/.next-prod/static/chunks/app/api/file/route-f626fdfbc87b7a2c.js +0 -1
  748. package/.next-prod/static/chunks/app/api/files/blame/route-f626fdfbc87b7a2c.js +0 -1
  749. package/.next-prod/static/chunks/app/api/files/clipboard/route-f626fdfbc87b7a2c.js +0 -1
  750. package/.next-prod/static/chunks/app/api/files/copy/route-f626fdfbc87b7a2c.js +0 -1
  751. package/.next-prod/static/chunks/app/api/files/delete/route-f626fdfbc87b7a2c.js +0 -1
  752. package/.next-prod/static/chunks/app/api/files/expanded/route-f626fdfbc87b7a2c.js +0 -1
  753. package/.next-prod/static/chunks/app/api/files/index/route-f626fdfbc87b7a2c.js +0 -1
  754. package/.next-prod/static/chunks/app/api/files/init/route-f626fdfbc87b7a2c.js +0 -1
  755. package/.next-prod/static/chunks/app/api/files/paste/route-f626fdfbc87b7a2c.js +0 -1
  756. package/.next-prod/static/chunks/app/api/files/read/route-f626fdfbc87b7a2c.js +0 -1
  757. package/.next-prod/static/chunks/app/api/files/readdir/route-f626fdfbc87b7a2c.js +0 -1
  758. package/.next-prod/static/chunks/app/api/files/recent/route-f626fdfbc87b7a2c.js +0 -1
  759. package/.next-prod/static/chunks/app/api/files/save/route-f626fdfbc87b7a2c.js +0 -1
  760. package/.next-prod/static/chunks/app/api/files/search/route-f626fdfbc87b7a2c.js +0 -1
  761. package/.next-prod/static/chunks/app/api/git/branch-diff/route-f626fdfbc87b7a2c.js +0 -1
  762. package/.next-prod/static/chunks/app/api/git/branches/route-f626fdfbc87b7a2c.js +0 -1
  763. package/.next-prod/static/chunks/app/api/git/commit-diff/route-f626fdfbc87b7a2c.js +0 -1
  764. package/.next-prod/static/chunks/app/api/git/commits/route-f626fdfbc87b7a2c.js +0 -1
  765. package/.next-prod/static/chunks/app/api/git/diff/route-f626fdfbc87b7a2c.js +0 -1
  766. package/.next-prod/static/chunks/app/api/git/discard/route-f626fdfbc87b7a2c.js +0 -1
  767. package/.next-prod/static/chunks/app/api/git/stage/route-f626fdfbc87b7a2c.js +0 -1
  768. package/.next-prod/static/chunks/app/api/git/status/route-f626fdfbc87b7a2c.js +0 -1
  769. package/.next-prod/static/chunks/app/api/git/unstage/route-f626fdfbc87b7a2c.js +0 -1
  770. package/.next-prod/static/chunks/app/api/git/worktree/route-f626fdfbc87b7a2c.js +0 -1
  771. package/.next-prod/static/chunks/app/api/global-state/route-f626fdfbc87b7a2c.js +0 -1
  772. package/.next-prod/static/chunks/app/api/jupyter/load/route-f626fdfbc87b7a2c.js +0 -1
  773. package/.next-prod/static/chunks/app/api/jupyter/save/route-f626fdfbc87b7a2c.js +0 -1
  774. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-f626fdfbc87b7a2c.js +0 -1
  775. package/.next-prod/static/chunks/app/api/lsp/definition/route-f626fdfbc87b7a2c.js +0 -1
  776. package/.next-prod/static/chunks/app/api/lsp/hover/route-f626fdfbc87b7a2c.js +0 -1
  777. package/.next-prod/static/chunks/app/api/lsp/references/route-f626fdfbc87b7a2c.js +0 -1
  778. package/.next-prod/static/chunks/app/api/lsp/status/route-f626fdfbc87b7a2c.js +0 -1
  779. package/.next-prod/static/chunks/app/api/lsp/warmup/route-f626fdfbc87b7a2c.js +0 -1
  780. package/.next-prod/static/chunks/app/api/mysql/columns/route-f626fdfbc87b7a2c.js +0 -1
  781. package/.next-prod/static/chunks/app/api/mysql/connect/route-f626fdfbc87b7a2c.js +0 -1
  782. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-f626fdfbc87b7a2c.js +0 -1
  783. package/.next-prod/static/chunks/app/api/mysql/export/route-f626fdfbc87b7a2c.js +0 -1
  784. package/.next-prod/static/chunks/app/api/mysql/query/route-f626fdfbc87b7a2c.js +0 -1
  785. package/.next-prod/static/chunks/app/api/mysql/schemas/route-f626fdfbc87b7a2c.js +0 -1
  786. package/.next-prod/static/chunks/app/api/neo4j/connect/route-f626fdfbc87b7a2c.js +0 -1
  787. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-f626fdfbc87b7a2c.js +0 -1
  788. package/.next-prod/static/chunks/app/api/neo4j/query/route-f626fdfbc87b7a2c.js +0 -1
  789. package/.next-prod/static/chunks/app/api/neo4j/schema/route-f626fdfbc87b7a2c.js +0 -1
  790. package/.next-prod/static/chunks/app/api/note/route-f626fdfbc87b7a2c.js +0 -1
  791. package/.next-prod/static/chunks/app/api/ollama/models/route-f626fdfbc87b7a2c.js +0 -1
  792. package/.next-prod/static/chunks/app/api/ollama/start/route-f626fdfbc87b7a2c.js +0 -1
  793. package/.next-prod/static/chunks/app/api/open-cursor/route-f626fdfbc87b7a2c.js +0 -1
  794. package/.next-prod/static/chunks/app/api/open-vscode/route-f626fdfbc87b7a2c.js +0 -1
  795. package/.next-prod/static/chunks/app/api/pick-folder/route-f626fdfbc87b7a2c.js +0 -1
  796. package/.next-prod/static/chunks/app/api/pinned-sessions/route-f626fdfbc87b7a2c.js +0 -1
  797. package/.next-prod/static/chunks/app/api/project-settings/route-f626fdfbc87b7a2c.js +0 -1
  798. package/.next-prod/static/chunks/app/api/project-state/route-f626fdfbc87b7a2c.js +0 -1
  799. package/.next-prod/static/chunks/app/api/projects/route-f626fdfbc87b7a2c.js +0 -1
  800. package/.next-prod/static/chunks/app/api/redis/command/route-f626fdfbc87b7a2c.js +0 -1
  801. package/.next-prod/static/chunks/app/api/redis/connect/route-f626fdfbc87b7a2c.js +0 -1
  802. package/.next-prod/static/chunks/app/api/redis/delete/route-f626fdfbc87b7a2c.js +0 -1
  803. package/.next-prod/static/chunks/app/api/redis/disconnect/route-f626fdfbc87b7a2c.js +0 -1
  804. package/.next-prod/static/chunks/app/api/redis/get/route-f626fdfbc87b7a2c.js +0 -1
  805. package/.next-prod/static/chunks/app/api/redis/keys/route-f626fdfbc87b7a2c.js +0 -1
  806. package/.next-prod/static/chunks/app/api/redis/set/route-f626fdfbc87b7a2c.js +0 -1
  807. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-f626fdfbc87b7a2c.js +0 -1
  808. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-f626fdfbc87b7a2c.js +0 -1
  809. package/.next-prod/static/chunks/app/api/review/[id]/route-f626fdfbc87b7a2c.js +0 -1
  810. package/.next-prod/static/chunks/app/api/review/identify/route-f626fdfbc87b7a2c.js +0 -1
  811. package/.next-prod/static/chunks/app/api/review/order/route-f626fdfbc87b7a2c.js +0 -1
  812. package/.next-prod/static/chunks/app/api/review/route-f626fdfbc87b7a2c.js +0 -1
  813. package/.next-prod/static/chunks/app/api/review/share-info/route-f626fdfbc87b7a2c.js +0 -1
  814. package/.next-prod/static/chunks/app/api/review/users/route-f626fdfbc87b7a2c.js +0 -1
  815. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-f626fdfbc87b7a2c.js +0 -1
  816. package/.next-prod/static/chunks/app/api/services/config/route-f626fdfbc87b7a2c.js +0 -1
  817. package/.next-prod/static/chunks/app/api/services/scripts/route-f626fdfbc87b7a2c.js +0 -1
  818. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-f626fdfbc87b7a2c.js +0 -1
  819. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-f626fdfbc87b7a2c.js +0 -1
  820. package/.next-prod/static/chunks/app/api/session-by-path/route-f626fdfbc87b7a2c.js +0 -1
  821. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-f626fdfbc87b7a2c.js +0 -1
  822. package/.next-prod/static/chunks/app/api/sessions/projects/route-f626fdfbc87b7a2c.js +0 -1
  823. package/.next-prod/static/chunks/app/api/sessions/route-f626fdfbc87b7a2c.js +0 -1
  824. package/.next-prod/static/chunks/app/api/settings/route-f626fdfbc87b7a2c.js +0 -1
  825. package/.next-prod/static/chunks/app/api/skills/[id]/route-f626fdfbc87b7a2c.js +0 -1
  826. package/.next-prod/static/chunks/app/api/skills/content/route-f626fdfbc87b7a2c.js +0 -1
  827. package/.next-prod/static/chunks/app/api/skills/route-f626fdfbc87b7a2c.js +0 -1
  828. package/.next-prod/static/chunks/app/api/terminal/aliases/route-f626fdfbc87b7a2c.js +0 -1
  829. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-f626fdfbc87b7a2c.js +0 -1
  830. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-f626fdfbc87b7a2c.js +0 -1
  831. package/.next-prod/static/chunks/app/api/terminal/env/route-f626fdfbc87b7a2c.js +0 -1
  832. package/.next-prod/static/chunks/app/api/terminal/history/route-f626fdfbc87b7a2c.js +0 -1
  833. package/.next-prod/static/chunks/app/api/version/route-f626fdfbc87b7a2c.js +0 -1
  834. package/.next-prod/static/chunks/app/manifest.webmanifest/route-f626fdfbc87b7a2c.js +0 -1
  835. package/.next-prod/static/chunks/app/project/page-ff9fb0aaf89c8457.js +0 -29
  836. package/.next-prod/static/chunks/app/review/[id]/page-be83af23e89a03f9.js +0 -1
  837. package/.next-prod/static/chunks/d3ac728e-d1ae8819b8f0be6a.js +0 -1
  838. package/.next-prod/static/chunks/framework-81b2e59ffe13bb24.js +0 -1
  839. package/.next-prod/static/chunks/main-ac50dc1e450895a2.js +0 -5
  840. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-f626fdfbc87b7a2c.js +0 -1
  841. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-f626fdfbc87b7a2c.js +0 -1
  842. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-f626fdfbc87b7a2c.js +0 -1
  843. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-f626fdfbc87b7a2c.js +0 -1
  844. package/.next-prod/static/chunks/webpack-0f527ee7ab644d02.js +0 -1
  845. package/.next-prod/static/css/75f39a8350e8177f.css +0 -3
  846. package/.next-prod/static/wxVgEFGuD9nbopEcuclYA/_buildManifest.js +0 -1
  847. /package/.next-prod/static/{wxVgEFGuD9nbopEcuclYA → smsKM7xQ0sAR3fsFWgImc}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@surething/cockpit",
3
- "version": "1.0.190",
3
+ "version": "1.0.192",
4
4
  "description": "The Cockpit That Drives AI",
5
5
  "author": "Robert",
6
6
  "license": "MIT",
@@ -75,10 +75,9 @@
75
75
  "i18next": "^25.10.9",
76
76
  "ioredis": "^5.10.0",
77
77
  "lucide-react": "^0.564.0",
78
- "mermaid": "^11.13.0",
79
78
  "mysql2": "^3.20.0",
80
79
  "neo4j-driver": "^6.0.1",
81
- "next": "16.1.6",
80
+ "next": "^16.2.4",
82
81
  "node-pty": "^1.1.0",
83
82
  "pg": "^8.20.0",
84
83
  "react": "19.2.3",
package/server.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createServer } from 'http';
2
- import { exec } from 'child_process';
2
+ import { exec, execSync } from 'child_process';
3
3
  import { networkInterfaces, homedir } from 'os';
4
4
  import { writeFileSync, mkdirSync } from 'fs';
5
5
  import { join, dirname } from 'path';
@@ -17,17 +17,61 @@ process.env.COCKPIT_PORT = String(port);
17
17
 
18
18
  // ============================================
19
19
  // 进程生命周期防护
20
- // 父进程死亡后 stdout/stderr 管道断裂,Next.js 的 uncaughtException handler
21
- // 会尝试 console.log 报错 → 写 stdout EPIPE 再次触发 handler → CPU 死循环
22
- // 在管道错误升级为 uncaughtException 之前拦截,直接退出
20
+ //
21
+ // 1) 父进程死亡后 stdout/stderr 管道断裂,Next.js uncaughtException handler
22
+ // 会尝试 console.log 报错 → 写 stdout → EPIPE → 再次触发 handler → CPU 死循环
23
+ // 在管道错误升级为 uncaughtException 之前拦截,直接退出。
24
+ //
25
+ // 2) Next.js 在 dev 模式下会在自己的子进程里跑 `next-server` worker(turbopack)。
26
+ // 如果父进程被异常杀掉(npm reinstall、Ctrl+C 后 npm 包了一层、IDE 杀任务等),
27
+ // next-server 子进程不会跟着死,而是会失去父进程后**重新绑定到 next 自带的默认
28
+ // 端口 3000**,然后把后续 `npm run dev` 卡死(Next 通过 .next/dev/logs 检测到
29
+ // "已有 dev server 在跑"而拒绝再启)。所以父进程退出前必须显式杀掉所有直接子进程。
23
30
  // ============================================
31
+ let _cleanupRan = false;
32
+ function killChildren() {
33
+ if (_cleanupRan) return;
34
+ _cleanupRan = true;
35
+ if (process.platform === 'win32') {
36
+ // Windows: 走 wmic 列出子 PID 再逐个 taskkill /F /T,避免 /T 把自己也带走
37
+ try {
38
+ const out = execSync(`wmic process where (ParentProcessId=${process.pid}) get ProcessId /value`, { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'] });
39
+ const pids = (out.match(/ProcessId=(\d+)/g) || []).map(s => s.split('=')[1]).filter(Boolean);
40
+ for (const pid of pids) {
41
+ try { execSync(`taskkill /F /T /PID ${pid}`, { stdio: 'ignore' }); } catch {}
42
+ }
43
+ } catch {}
44
+ return;
45
+ }
46
+ // POSIX: pkill -P 只杀直接子进程,不递归(next-server 等都是直接子进程,足够)
47
+ // pkill 在没有匹配到任何进程时返回 1,不当作错误
48
+ try { execSync(`pkill -TERM -P ${process.pid}`, { stdio: 'ignore' }); } catch {}
49
+ }
50
+
51
+ // 正常退出路径(包括所有的 process.exit() 调用)—— Node 保证此 handler 同步执行
52
+ process.on('exit', killChildren);
53
+
54
+ // 信号路径 —— 先杀子进程再退出,并让 shell 看到正确的退出码
55
+ const cleanupAndExit = (code) => () => { killChildren(); process.exit(code); };
56
+ process.on('SIGINT', cleanupAndExit(130));
57
+ process.on('SIGTERM', cleanupAndExit(143));
58
+ process.on('SIGQUIT', cleanupAndExit(131));
59
+ process.on('SIGHUP', cleanupAndExit(0));
60
+
61
+ // 未捕获异常 —— 不能让 Next.js 的默认 handler 再走 console.log 触发 EPIPE 死循环
62
+ process.on('uncaughtException', (err) => {
63
+ try { console.error('uncaughtException:', err); } catch {}
64
+ killChildren();
65
+ process.exit(1);
66
+ });
67
+
68
+ // stdout/stderr 管道断裂 → 立刻退出(exit handler 会顺手清子进程)
24
69
  process.stdout.on('error', (err) => {
25
70
  if (err.code === 'EPIPE' || err.code === 'ERR_STREAM_DESTROYED') process.exit(0);
26
71
  });
27
72
  process.stderr.on('error', (err) => {
28
73
  if (err.code === 'EPIPE' || err.code === 'ERR_STREAM_DESTROYED') process.exit(0);
29
74
  });
30
- process.on('SIGHUP', () => process.exit(0));
31
75
 
32
76
  const app = next({ dev });
33
77
  const handle = app.getRequestHandler();
@@ -1 +0,0 @@
1
- "use strict";exports.id=1639,exports.ids=[1639],exports.modules={21639:(a,b,c)=>{c.d(b,{createPieServices:()=>d.f});var d=c(45491);c(66034)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=1661,exports.ids=[1661],exports.modules={24042:(a,b,c)=>{c.d(b,{createRadarServices:()=>d.f});var d=c(16277);c(66034)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=1667,exports.ids=[1667],exports.modules={71667:(a,b,c)=>{c.d(b,{diagram:()=>F});var d=c(24795),e=c(21143),f=c(69085),g=function(){var a=(0,e.K2)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[1,3],c=[1,4],d=[1,5],f=[1,6],g=[1,7],h=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],i=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],j=[55,56,57],k=[2,36],l=[1,37],m=[1,36],n=[1,38],o=[1,35],p=[1,43],q=[1,41],r=[1,14],s=[1,23],t=[1,18],u=[1,19],v=[1,20],w=[1,21],x=[1,22],y=[1,24],z=[1,25],A=[1,26],B=[1,27],C=[1,28],D=[1,29],E=[1,32],F=[1,33],G=[1,34],H=[1,39],I=[1,40],J=[1,42],K=[1,44],L=[1,62],M=[1,61],N=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],O=[1,65],P=[1,66],Q=[1,67],R=[1,68],S=[1,69],T=[1,70],U=[1,71],V=[1,72],W=[1,73],X=[1,74],Y=[1,75],Z=[1,76],$=[4,5,6,7,8,9,10,11,12,13,14,15,18],_=[1,90],aa=[1,91],ab=[1,92],ac=[1,99],ad=[1,93],ae=[1,96],af=[1,94],ag=[1,95],ah=[1,97],ai=[1,98],aj=[1,102],ak=[10,55,56,57],al=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],am={trace:(0,e.K2)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,e.K2)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 23:case 68:this.$=f[h];break;case 24:case 69:this.$=f[h-1]+""+f[h];break;case 26:this.$=f[h-1]+f[h];break;case 27:this.$=[f[h].trim()];break;case 28:f[h-2].push(f[h].trim()),this.$=f[h-2];break;case 29:this.$=f[h-4],d.addClass(f[h-2],f[h]);break;case 37:this.$=[];break;case 42:this.$=f[h].trim(),d.setDiagramTitle(this.$);break;case 43:this.$=f[h].trim(),d.setAccTitle(this.$);break;case 44:case 45:this.$=f[h].trim(),d.setAccDescription(this.$);break;case 46:d.addSection(f[h].substr(8)),this.$=f[h].substr(8);break;case 47:d.addPoint(f[h-3],"",f[h-1],f[h],[]);break;case 48:d.addPoint(f[h-4],f[h-3],f[h-1],f[h],[]);break;case 49:d.addPoint(f[h-4],"",f[h-2],f[h-1],f[h]);break;case 50:d.addPoint(f[h-5],f[h-4],f[h-2],f[h-1],f[h]);break;case 51:d.setXAxisLeftText(f[h-2]),d.setXAxisRightText(f[h]);break;case 52:f[h-1].text+=" ⟶ ",d.setXAxisLeftText(f[h-1]);break;case 53:d.setXAxisLeftText(f[h]);break;case 54:d.setYAxisBottomText(f[h-2]),d.setYAxisTopText(f[h]);break;case 55:f[h-1].text+=" ⟶ ",d.setYAxisBottomText(f[h-1]);break;case 56:d.setYAxisBottomText(f[h]);break;case 57:d.setQuadrant1Text(f[h]);break;case 58:d.setQuadrant2Text(f[h]);break;case 59:d.setQuadrant3Text(f[h]);break;case 60:d.setQuadrant4Text(f[h]);break;case 64:case 66:this.$={text:f[h],type:"text"};break;case 65:this.$={text:f[h-1].text+""+f[h],type:f[h-1].type};break;case 67:this.$={text:f[h],type:"markdown"}}},"anonymous"),table:[{18:b,26:1,27:2,28:c,55:d,56:f,57:g},{1:[3]},{18:b,26:8,27:2,28:c,55:d,56:f,57:g},{18:b,26:9,27:2,28:c,55:d,56:f,57:g},a(h,[2,33],{29:10}),a(i,[2,61]),a(i,[2,62]),a(i,[2,63]),{1:[2,30]},{1:[2,31]},a(j,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:l,5:m,10:n,12:o,13:p,14:q,18:r,25:s,35:t,37:u,39:v,41:w,42:x,48:y,50:z,51:A,52:B,53:C,54:D,60:E,61:F,63:G,64:H,65:I,66:J,67:K}),a(h,[2,34]),{27:45,55:d,56:f,57:g},a(j,[2,37]),a(j,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:l,5:m,10:n,12:o,13:p,14:q,18:r,25:s,35:t,37:u,39:v,41:w,42:x,48:y,50:z,51:A,52:B,53:C,54:D,60:E,61:F,63:G,64:H,65:I,66:J,67:K}),a(j,[2,39]),a(j,[2,40]),a(j,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},a(j,[2,45]),a(j,[2,46]),{18:[1,50]},{4:l,5:m,10:n,12:o,13:p,14:q,43:51,58:31,60:E,61:F,63:G,64:H,65:I,66:J,67:K},{4:l,5:m,10:n,12:o,13:p,14:q,43:52,58:31,60:E,61:F,63:G,64:H,65:I,66:J,67:K},{4:l,5:m,10:n,12:o,13:p,14:q,43:53,58:31,60:E,61:F,63:G,64:H,65:I,66:J,67:K},{4:l,5:m,10:n,12:o,13:p,14:q,43:54,58:31,60:E,61:F,63:G,64:H,65:I,66:J,67:K},{4:l,5:m,10:n,12:o,13:p,14:q,43:55,58:31,60:E,61:F,63:G,64:H,65:I,66:J,67:K},{4:l,5:m,10:n,12:o,13:p,14:q,43:56,58:31,60:E,61:F,63:G,64:H,65:I,66:J,67:K},{4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,44:[1,57],47:[1,58],58:60,59:59,63:G,64:H,65:I,66:J,67:K},a(N,[2,64]),a(N,[2,66]),a(N,[2,67]),a(N,[2,70]),a(N,[2,71]),a(N,[2,72]),a(N,[2,73]),a(N,[2,74]),a(N,[2,75]),a(N,[2,76]),a(N,[2,77]),a(N,[2,78]),a(N,[2,79]),a(N,[2,80]),a(h,[2,35]),a(j,[2,38]),a(j,[2,42]),a(j,[2,43]),a(j,[2,44]),{3:64,4:O,5:P,6:Q,7:R,8:S,9:T,10:U,11:V,12:W,13:X,14:Y,15:Z,21:63},a(j,[2,53],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,49:[1,77],63:G,64:H,65:I,66:J,67:K}),a(j,[2,56],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,49:[1,78],63:G,64:H,65:I,66:J,67:K}),a(j,[2,57],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,63:G,64:H,65:I,66:J,67:K}),a(j,[2,58],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,63:G,64:H,65:I,66:J,67:K}),a(j,[2,59],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,63:G,64:H,65:I,66:J,67:K}),a(j,[2,60],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,63:G,64:H,65:I,66:J,67:K}),{45:[1,79]},{44:[1,80]},a(N,[2,65]),a(N,[2,81]),a(N,[2,82]),a(N,[2,83]),{3:82,4:O,5:P,6:Q,7:R,8:S,9:T,10:U,11:V,12:W,13:X,14:Y,15:Z,18:[1,81]},a($,[2,23]),a($,[2,1]),a($,[2,2]),a($,[2,3]),a($,[2,4]),a($,[2,5]),a($,[2,6]),a($,[2,7]),a($,[2,8]),a($,[2,9]),a($,[2,10]),a($,[2,11]),a($,[2,12]),a(j,[2,52],{58:31,43:83,4:l,5:m,10:n,12:o,13:p,14:q,60:E,61:F,63:G,64:H,65:I,66:J,67:K}),a(j,[2,55],{58:31,43:84,4:l,5:m,10:n,12:o,13:p,14:q,60:E,61:F,63:G,64:H,65:I,66:J,67:K}),{46:[1,85]},{45:[1,86]},{4:_,5:aa,6:ab,8:ac,11:ad,13:ae,16:89,17:af,18:ag,19:ah,20:ai,22:88,23:87},a($,[2,24]),a(j,[2,51],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,63:G,64:H,65:I,66:J,67:K}),a(j,[2,54],{59:59,58:60,4:l,5:m,8:L,10:n,12:o,13:p,14:q,18:M,63:G,64:H,65:I,66:J,67:K}),a(j,[2,47],{22:88,16:89,23:100,4:_,5:aa,6:ab,8:ac,11:ad,13:ae,17:af,18:ag,19:ah,20:ai}),{46:[1,101]},a(j,[2,29],{10:aj}),a(ak,[2,27],{16:103,4:_,5:aa,6:ab,8:ac,11:ad,13:ae,17:af,18:ag,19:ah,20:ai}),a(al,[2,25]),a(al,[2,13]),a(al,[2,14]),a(al,[2,15]),a(al,[2,16]),a(al,[2,17]),a(al,[2,18]),a(al,[2,19]),a(al,[2,20]),a(al,[2,21]),a(al,[2,22]),a(j,[2,49],{10:aj}),a(j,[2,48],{22:88,16:89,23:104,4:_,5:aa,6:ab,8:ac,11:ad,13:ae,17:af,18:ag,19:ah,20:ai}),{4:_,5:aa,6:ab,8:ac,11:ad,13:ae,16:89,17:af,18:ag,19:ah,20:ai,22:105},a(al,[2,26]),a(j,[2,50],{10:aj}),a(ak,[2,28],{16:103,4:_,5:aa,6:ab,8:ac,11:ad,13:ae,17:af,18:ag,19:ah,20:ai})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,e.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,e.K2)(function(a){var b=this,c=[0],d=[],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=g.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;g.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,e.K2)(function(a){c.length=c.length-2*a,f.length=f.length-a,g.length=g.length-a},"popStack"),(0,e.K2)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=h[v]&&h[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],h[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(j+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),f.push(n.yytext),g.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(k=n.yyleng,i=n.yytext,j=n.yylineno,q=n.yylloc,l>0&&l--);break;case 2:if(z=this.productions_[w[1]][1],C.$=f[f.length-z],C._$={first_line:g[g.length-(z||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(z||1)].first_column,last_column:g[g.length-1].last_column},r&&(C._$.range=[g[g.length-(z||1)].range[0],g[g.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[i,k,j,o,w[1],f,g].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),f=f.slice(0,-1*z),g=g.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),f.push(C.$),g.push(C._$),A=h[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function an(){this.yy={}}return am.lexer={EOF:1,parseError:(0,e.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,e.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,e.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,e.K2)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,e.K2)(function(){return this._more=!0,this},"more"),reject:(0,e.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,e.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,e.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,e.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,e.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,e.K2)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,e.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,e.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,e.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,e.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,e.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,e.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,e.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,e.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,e.K2)(function(a,b,c,d){switch(c){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}},(0,e.K2)(an,"Parser"),an.prototype=am,am.Parser=an,new an}();g.parser=g;var h=(0,d.P$)(),i=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,e.K2)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:d.UI.quadrantChart?.chartWidth||500,chartWidth:d.UI.quadrantChart?.chartHeight||500,titlePadding:d.UI.quadrantChart?.titlePadding||10,titleFontSize:d.UI.quadrantChart?.titleFontSize||20,quadrantPadding:d.UI.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:d.UI.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:d.UI.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:d.UI.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:d.UI.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:d.UI.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:d.UI.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:d.UI.quadrantChart?.pointTextPadding||5,pointLabelFontSize:d.UI.quadrantChart?.pointLabelFontSize||12,pointRadius:d.UI.quadrantChart?.pointRadius||5,xAxisPosition:d.UI.quadrantChart?.xAxisPosition||"top",yAxisPosition:d.UI.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:d.UI.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:d.UI.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:h.quadrant1Fill,quadrant2Fill:h.quadrant2Fill,quadrant3Fill:h.quadrant3Fill,quadrant4Fill:h.quadrant4Fill,quadrant1TextFill:h.quadrant1TextFill,quadrant2TextFill:h.quadrant2TextFill,quadrant3TextFill:h.quadrant3TextFill,quadrant4TextFill:h.quadrant4TextFill,quadrantPointFill:h.quadrantPointFill,quadrantPointTextFill:h.quadrantPointTextFill,quadrantXAxisTextFill:h.quadrantXAxisTextFill,quadrantYAxisTextFill:h.quadrantYAxisTextFill,quadrantTitleFill:h.quadrantTitleFill,quadrantInternalBorderStrokeFill:h.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:h.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,e.Rm.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}addClass(a,b){this.classes.set(a,b)}setConfig(a){e.Rm.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){e.Rm.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,b,c,d){let e=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,f={top:"top"===a&&b?e:0,bottom:"bottom"===a&&b?e:0},g=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,h={left:"left"===this.config.yAxisPosition&&c?g:0,right:"right"===this.config.yAxisPosition&&c?g:0},i=this.config.titleFontSize+2*this.config.titlePadding,j={top:d?i:0},k=this.config.quadrantPadding+h.left,l=this.config.quadrantPadding+f.top+j.top,m=this.config.chartWidth-2*this.config.quadrantPadding-h.left-h.right,n=this.config.chartHeight-2*this.config.quadrantPadding-f.top-f.bottom-j.top;return{xAxisSpace:f,yAxisSpace:h,titleSpace:j,quadrantSpace:{quadrantLeft:k,quadrantTop:l,quadrantWidth:m,quadrantHalfWidth:m/2,quadrantHeight:n,quadrantHalfHeight:n/2}}}getAxisLabels(a,b,c,d){let{quadrantSpace:e,titleSpace:f}=d,{quadrantHalfHeight:g,quadrantHeight:h,quadrantLeft:i,quadrantHalfWidth:j,quadrantTop:k,quadrantWidth:l}=e,m=!!this.data.xAxisRightText,n=!!this.data.yAxisTopText,o=[];return this.data.xAxisLeftText&&b&&o.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:i+(m?j/2:0),y:"top"===a?this.config.xAxisLabelPadding+f.top:this.config.xAxisLabelPadding+k+h+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&b&&o.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:i+j+(m?j/2:0),y:"top"===a?this.config.xAxisLabelPadding+f.top:this.config.xAxisLabelPadding+k+h+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&c&&o.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+i+l+this.config.quadrantPadding,y:k+h-(n?g/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:n?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&c&&o.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+i+l+this.config.quadrantPadding,y:k+g-(n?g/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:n?"center":"left",horizontalPos:"top",rotation:-90}),o}getQuadrants(a){let{quadrantSpace:b}=a,{quadrantHalfHeight:c,quadrantLeft:d,quadrantHalfWidth:e,quadrantTop:f}=b,g=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:d+e,y:f,width:e,height:c,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:d,y:f,width:e,height:c,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:d,y:f+c,width:e,height:c,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:d+e,y:f+c,width:e,height:c,fill:this.themeConfig.quadrant4Fill}];for(let a of g)a.text.x=a.x+a.width/2,0===this.data.points.length?(a.text.y=a.y+a.height/2,a.text.horizontalPos="middle"):(a.text.y=a.y+this.config.quadrantTextTopPadding,a.text.horizontalPos="top");return g}getQuadrantPoints(a){let{quadrantSpace:b}=a,{quadrantHeight:c,quadrantLeft:d,quadrantTop:e,quadrantWidth:g}=b,h=(0,f.m4Y)().domain([0,1]).range([d,g+d]),i=(0,f.m4Y)().domain([0,1]).range([c+e,e]);return this.data.points.map(a=>{let b=this.classes.get(a.className);return b&&(a={...b,...a}),{x:h(a.x),y:i(a.y),fill:a.color??this.themeConfig.quadrantPointFill,radius:a.radius??this.config.pointRadius,text:{text:a.text,fill:this.themeConfig.quadrantPointTextFill,x:h(a.x),y:i(a.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:a.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:a.strokeWidth??"0px"}})}getBorders(a){let b=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:c}=a,{quadrantHalfHeight:d,quadrantHeight:e,quadrantLeft:f,quadrantHalfWidth:g,quadrantTop:h,quadrantWidth:i}=c;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:f-b,y1:h,x2:f+i+b,y2:h},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:f+i,y1:h+b,x2:f+i,y2:h+e-b},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:f-b,y1:h+e,x2:f+i+b,y2:h+e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:f,y1:h+b,x2:f,y2:h+e-b},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:f+g,y1:h+b,x2:f+g,y2:h+e-b},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:f+b,y1:h+d,x2:f+i-b,y2:h+d}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),b=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),c=this.config.showTitle&&!!this.data.titleText,d=this.data.points.length>0?"bottom":this.config.xAxisPosition,e=this.calculateSpace(d,a,b,c);return{points:this.getQuadrantPoints(e),quadrants:this.getQuadrants(e),axisLabels:this.getAxisLabels(d,a,b,e),borderLines:this.getBorders(e),title:this.getTitle(c)}}},j=class extends Error{static{(0,e.K2)(this,"InvalidStyleError")}constructor(a,b,c){super(`value for ${a} ${b} is invalid, please use a valid ${c}`),this.name="InvalidStyleError"}};function k(a){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(a)}function l(a){return!/^\d+$/.test(a)}function m(a){return!/^\d+px$/.test(a)}(0,e.K2)(k,"validateHexCode"),(0,e.K2)(l,"validateNumber"),(0,e.K2)(m,"validateSizeInPixels");var n=(0,d.D7)();function o(a){return(0,d.jZ)(a.trim(),n)}(0,e.K2)(o,"textSanitizer");var p=new i;function q(a){p.setData({quadrant1Text:o(a.text)})}function r(a){p.setData({quadrant2Text:o(a.text)})}function s(a){p.setData({quadrant3Text:o(a.text)})}function t(a){p.setData({quadrant4Text:o(a.text)})}function u(a){p.setData({xAxisLeftText:o(a.text)})}function v(a){p.setData({xAxisRightText:o(a.text)})}function w(a){p.setData({yAxisTopText:o(a.text)})}function x(a){p.setData({yAxisBottomText:o(a.text)})}function y(a){let b={};for(let c of a){let[a,d]=c.trim().split(/\s*:\s*/);if("radius"===a){if(l(d))throw new j(a,d,"number");b.radius=parseInt(d)}else if("color"===a){if(k(d))throw new j(a,d,"hex code");b.color=d}else if("stroke-color"===a){if(k(d))throw new j(a,d,"hex code");b.strokeColor=d}else if("stroke-width"===a){if(m(d))throw new j(a,d,"number of pixels (eg. 10px)");b.strokeWidth=d}else throw Error(`style named ${a} is not supported.`)}return b}function z(a,b,c,d,e){let f=y(e);p.addPoints([{x:c,y:d,text:o(a.text),className:b,...f}])}function A(a,b){p.addClass(a,y(b))}function B(a){p.setConfig({chartWidth:a})}function C(a){p.setConfig({chartHeight:a})}function D(){let{themeVariables:a,quadrantChart:b}=(0,d.D7)();return b&&p.setConfig(b),p.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),p.setData({titleText:(0,d.ab)()}),p.build()}(0,e.K2)(q,"setQuadrant1Text"),(0,e.K2)(r,"setQuadrant2Text"),(0,e.K2)(s,"setQuadrant3Text"),(0,e.K2)(t,"setQuadrant4Text"),(0,e.K2)(u,"setXAxisLeftText"),(0,e.K2)(v,"setXAxisRightText"),(0,e.K2)(w,"setYAxisTopText"),(0,e.K2)(x,"setYAxisBottomText"),(0,e.K2)(y,"parseStyles"),(0,e.K2)(z,"addPoint"),(0,e.K2)(A,"addClass"),(0,e.K2)(B,"setWidth"),(0,e.K2)(C,"setHeight"),(0,e.K2)(D,"getQuadrantData");var E={setWidth:B,setHeight:C,setQuadrant1Text:q,setQuadrant2Text:r,setQuadrant3Text:s,setQuadrant4Text:t,setXAxisLeftText:u,setXAxisRightText:v,setYAxisTopText:w,setYAxisBottomText:x,parseStyles:y,addPoint:z,addClass:A,getQuadrantData:D,clear:(0,e.K2)(function(){p.clear(),(0,d.IU)()},"clear"),setAccTitle:d.SV,getAccTitle:d.iN,setDiagramTitle:d.ke,getDiagramTitle:d.ab,getAccDescription:d.m7,setAccDescription:d.EI},F={parser:g,db:E,renderer:{draw:(0,e.K2)((a,b,c,g)=>{let h;function i(a){return"top"===a?"hanging":"middle"}function j(a){return"left"===a?"start":"middle"}function k(a){return`translate(${a.x}, ${a.y}) rotate(${a.rotation||0})`}(0,e.K2)(i,"getDominantBaseLine"),(0,e.K2)(j,"getTextAnchor"),(0,e.K2)(k,"getTransformation");let l=(0,d.D7)();e.Rm.debug("Rendering quadrant chart\n"+a);let m=l.securityLevel;"sandbox"===m&&(h=(0,f.Ltv)("#i"+b));let n=("sandbox"===m?(0,f.Ltv)(h.nodes()[0].contentDocument.body):(0,f.Ltv)("body")).select(`[id="${b}"]`),o=n.append("g").attr("class","main"),p=l.quadrantChart?.chartWidth??500,q=l.quadrantChart?.chartHeight??500;(0,d.a$)(n,q,p,l.quadrantChart?.useMaxWidth??!0),n.attr("viewBox","0 0 "+p+" "+q),g.db.setHeight(q),g.db.setWidth(p);let r=g.db.getQuadrantData(),s=o.append("g").attr("class","quadrants"),t=o.append("g").attr("class","border"),u=o.append("g").attr("class","data-points"),v=o.append("g").attr("class","labels"),w=o.append("g").attr("class","title");r.title&&w.append("text").attr("x",0).attr("y",0).attr("fill",r.title.fill).attr("font-size",r.title.fontSize).attr("dominant-baseline",i(r.title.horizontalPos)).attr("text-anchor",j(r.title.verticalPos)).attr("transform",k(r.title)).text(r.title.text),r.borderLines&&t.selectAll("line").data(r.borderLines).enter().append("line").attr("x1",a=>a.x1).attr("y1",a=>a.y1).attr("x2",a=>a.x2).attr("y2",a=>a.y2).style("stroke",a=>a.strokeFill).style("stroke-width",a=>a.strokeWidth);let x=s.selectAll("g.quadrant").data(r.quadrants).enter().append("g").attr("class","quadrant");x.append("rect").attr("x",a=>a.x).attr("y",a=>a.y).attr("width",a=>a.width).attr("height",a=>a.height).attr("fill",a=>a.fill),x.append("text").attr("x",0).attr("y",0).attr("fill",a=>a.text.fill).attr("font-size",a=>a.text.fontSize).attr("dominant-baseline",a=>i(a.text.horizontalPos)).attr("text-anchor",a=>j(a.text.verticalPos)).attr("transform",a=>k(a.text)).text(a=>a.text.text),v.selectAll("g.label").data(r.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(a=>a.text).attr("fill",a=>a.fill).attr("font-size",a=>a.fontSize).attr("dominant-baseline",a=>i(a.horizontalPos)).attr("text-anchor",a=>j(a.verticalPos)).attr("transform",a=>k(a));let y=u.selectAll("g.data-point").data(r.points).enter().append("g").attr("class","data-point");y.append("circle").attr("cx",a=>a.x).attr("cy",a=>a.y).attr("r",a=>a.radius).attr("fill",a=>a.fill).attr("stroke",a=>a.strokeColor).attr("stroke-width",a=>a.strokeWidth),y.append("text").attr("x",0).attr("y",0).text(a=>a.text.text).attr("fill",a=>a.text.fill).attr("font-size",a=>a.text.fontSize).attr("dominant-baseline",a=>i(a.text.horizontalPos)).attr("text-anchor",a=>j(a.text.verticalPos)).attr("transform",a=>k(a.text))},"draw")},styles:(0,e.K2)(()=>"","styles")}}};
@@ -1 +0,0 @@
1
- exports.id=1912,exports.ids=[1912],exports.modules={21989:(a,b,c)=>{"use strict";c.d(b,{diagram:()=>j});var d=c(11861),e=c(24795),f=c(21143),g=c(92325),h={parse:(0,f.K2)(async a=>{let b=await (0,g.qg)("info",a);f.Rm.debug(b)},"parse")},i=(0,f.K2)(()=>"11.13.0","getVersion"),j={parser:h,db:{getVersion:i},renderer:{draw:(0,f.K2)((a,b,c)=>{f.Rm.debug("rendering info diagram\n"+a);let g=(0,d.D)(b);(0,e.a$)(g,100,400,!0),g.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${c}`)},"draw")}}},82518:a=>{function b(a){var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b}b.keys=()=>[],b.resolve=b,b.id=82518,a.exports=b}};