@baique/pi-web-sky 0.1.30 → 0.1.31

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 (248) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +6 -6
  3. package/.next/build-manifest.json +4 -4
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/required-server-files.js +7 -7
  8. package/.next/required-server-files.json +7 -7
  9. package/.next/server/app/_global-error/page.js +2 -2
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +3 -3
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +2 -2
  24. package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -1
  25. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  27. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  28. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/agent/[id]/route.js +1 -1
  30. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  31. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js +1 -1
  33. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  34. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/agent/running/route.js +1 -1
  36. package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
  37. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/app-update/route.js +1 -1
  39. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  41. package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
  42. package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/auth/api-key/[provider]/route.js +30 -1
  44. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
  45. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/auth/login/[provider]/route.js +31 -2
  47. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/auth/logout/[provider]/route.js +30 -1
  50. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -1
  51. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/auth/providers/route.js +1 -1
  53. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -1
  54. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/cwd/browse/route.js +1 -1
  56. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/cwd/validate/route.js +2 -2
  58. package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -1
  59. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/default-cwd/route.js +2 -2
  61. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
  62. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/file-index/route.js +2 -2
  64. package/.next/server/app/api/file-index/route.js.nft.json +1 -1
  65. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/files/[...path]/route.js +2 -2
  67. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  68. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/git/diff/route.js +3 -3
  70. package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
  71. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/git/status/route.js +3 -3
  73. package/.next/server/app/api/git/status/route.js.nft.json +1 -1
  74. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/home/route.js +1 -1
  76. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/mcp/route.js +2 -2
  78. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/models/route.js +2 -2
  81. package/.next/server/app/api/models/route.js.nft.json +1 -1
  82. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  84. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/models-config/discover/route.js +1 -1
  86. package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -1
  87. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/models-config/route.js +1 -1
  89. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  90. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/models-config/test/route.js +1 -1
  92. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -1
  93. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/plugins/route.js +2 -2
  95. package/.next/server/app/api/plugins/route.js.nft.json +1 -1
  96. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/project-trust/route.js +1 -1
  98. package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
  99. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/quota/route.js +1 -1
  101. package/.next/server/app/api/quota/route.js.nft.json +1 -1
  102. package/.next/server/app/api/quota/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/search/route.js +2 -2
  104. package/.next/server/app/api/search/route.js.nft.json +1 -1
  105. package/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
  107. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  108. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  110. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  111. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +2 -2
  113. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -1
  114. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/sessions/[id]/export/route.js +3 -3
  116. package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -1
  117. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  119. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  120. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  122. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  123. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/sessions/[id]/todos/route.js +1 -1
  125. package/.next/server/app/api/sessions/[id]/todos/route.js.nft.json +1 -1
  126. package/.next/server/app/api/sessions/[id]/todos/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/sessions/route.js +1 -1
  128. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  129. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/skills/check/route.js +1 -1
  131. package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
  132. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/skills/install/route.js +2 -2
  134. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  135. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/skills/route.js +2 -2
  137. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  138. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/skills/search/route.js +1 -1
  140. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/skills/update/route.js +1 -1
  142. package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
  143. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/tasks/[id]/route.js +1 -1
  145. package/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  146. package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/tasks/route.js +2 -2
  148. package/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/terminal/[id]/events/route.js +2 -2
  150. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/terminal/[id]/route.js +2 -2
  152. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/terminal/route.js +2 -2
  154. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/route.js +2 -2
  156. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  157. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/favicon.ico/route.js +1 -1
  159. package/.next/server/app/index.html +1 -1
  160. package/.next/server/app/index.rsc +5 -5
  161. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  162. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  163. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  164. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  165. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/page.js +7 -7
  167. package/.next/server/app/page_client-reference-manifest.js +1 -1
  168. package/.next/server/app-paths-manifest.json +6 -6
  169. package/.next/server/chunks/1457.js +1 -1
  170. package/.next/server/chunks/2404.js +30 -0
  171. package/.next/server/chunks/2430.js +4 -4
  172. package/.next/server/chunks/3379.js +1 -1
  173. package/.next/server/chunks/7513.js +1 -1
  174. package/.next/server/middleware-build-manifest.js +1 -1
  175. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  176. package/.next/server/middleware.js +3 -3
  177. package/.next/server/next-font-manifest.js +1 -1
  178. package/.next/server/next-font-manifest.json +1 -1
  179. package/.next/server/pages/404.html +1 -1
  180. package/.next/server/pages/500.html +1 -1
  181. package/.next/server/server-reference-manifest.json +1 -1
  182. package/.next/static/chunks/3266.4c7192f2067645eb.js +1 -0
  183. package/.next/static/chunks/app/_not-found/{page-8cea8d8de35f4da4.js → page-af4fe23994cb3d66.js} +1 -1
  184. package/.next/static/chunks/app/{layout-4a6dc9d78a818cb5.js → layout-f85cabff4c2af8dc.js} +1 -1
  185. package/.next/static/chunks/app/page-e2c8f01336cc4d05.js +89 -0
  186. package/.next/static/chunks/{main-app-dd2385a1a5a588df.js → main-app-b3e8a8d15d83e1f0.js} +1 -1
  187. package/.next/static/chunks/next/dist/client/components/builtin/global-error-00a4badaccb388e6.js +1 -0
  188. package/.next/static/chunks/{webpack-3d4b32814d426e7a.js → webpack-09241b8782696d25.js} +1 -1
  189. package/.next/static/css/de7b7ffe9688501b.css +1 -0
  190. package/.next/trace +8 -40
  191. package/.next/trace-build +1 -1
  192. package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
  193. package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
  194. package/.next/types/app/api/agent/[id]/route.ts +1 -1
  195. package/.next/types/app/api/agent/new/route.ts +1 -1
  196. package/.next/types/app/api/agent/running/route.ts +1 -1
  197. package/.next/types/app/api/app-update/route.ts +1 -1
  198. package/.next/types/app/api/auth/all-providers/route.ts +1 -1
  199. package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
  200. package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
  201. package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
  202. package/.next/types/app/api/auth/providers/route.ts +1 -1
  203. package/.next/types/app/api/cwd/browse/route.ts +1 -1
  204. package/.next/types/app/api/cwd/validate/route.ts +1 -1
  205. package/.next/types/app/api/default-cwd/route.ts +1 -1
  206. package/.next/types/app/api/file-index/route.ts +1 -1
  207. package/.next/types/app/api/files/[...path]/route.ts +1 -1
  208. package/.next/types/app/api/git/diff/route.ts +1 -1
  209. package/.next/types/app/api/git/status/route.ts +1 -1
  210. package/.next/types/app/api/home/route.ts +1 -1
  211. package/.next/types/app/api/mcp/route.ts +1 -1
  212. package/.next/types/app/api/models/route.ts +1 -1
  213. package/.next/types/app/api/models-config/catalog/route.ts +1 -1
  214. package/.next/types/app/api/models-config/discover/route.ts +1 -1
  215. package/.next/types/app/api/models-config/route.ts +1 -1
  216. package/.next/types/app/api/models-config/test/route.ts +1 -1
  217. package/.next/types/app/api/plugins/route.ts +1 -1
  218. package/.next/types/app/api/project-trust/route.ts +1 -1
  219. package/.next/types/app/api/quota/route.ts +1 -1
  220. package/.next/types/app/api/search/route.ts +1 -1
  221. package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
  222. package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
  223. package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
  224. package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
  225. package/.next/types/app/api/sessions/[id]/route.ts +1 -1
  226. package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
  227. package/.next/types/app/api/sessions/[id]/todos/route.ts +1 -1
  228. package/.next/types/app/api/sessions/route.ts +1 -1
  229. package/.next/types/app/api/skills/check/route.ts +1 -1
  230. package/.next/types/app/api/skills/install/route.ts +1 -1
  231. package/.next/types/app/api/skills/route.ts +1 -1
  232. package/.next/types/app/api/skills/search/route.ts +1 -1
  233. package/.next/types/app/api/skills/update/route.ts +1 -1
  234. package/.next/types/app/api/tasks/[id]/route.ts +1 -1
  235. package/.next/types/app/api/tasks/route.ts +1 -1
  236. package/.next/types/app/api/terminal/[id]/events/route.ts +1 -1
  237. package/.next/types/app/api/terminal/[id]/route.ts +1 -1
  238. package/.next/types/app/api/terminal/route.ts +1 -1
  239. package/.next/types/app/api/worktrees/route.ts +1 -1
  240. package/.next/types/app/layout.ts +1 -1
  241. package/.next/types/app/page.ts +1 -1
  242. package/package.json +1 -1
  243. package/.next/static/chunks/3266.be4a8006cf72695c.js +0 -1
  244. package/.next/static/chunks/app/page-2783998ff89bdbe5.js +0 -89
  245. package/.next/static/chunks/next/dist/client/components/builtin/global-error-be943dcb89867ab9.js +0 -1
  246. package/.next/static/css/f72c938555d9bdff.css +0 -1
  247. /package/.next/static/{TTcBG2A8ypXXieSlP70n7 → 0q1SOOo5-fPs13_IN4vdq}/_buildManifest.js +0 -0
  248. /package/.next/static/{TTcBG2A8ypXXieSlP70n7 → 0q1SOOo5-fPs13_IN4vdq}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":18886311,"timestamp":268645172407,"id":14,"parentId":1,"tags":{},"startTime":1787968790515,"traceId":"0e7db50ba8256265"},{"name":"run-typescript","duration":7206187,"timestamp":268664060294,"id":8361,"parentId":1,"tags":{},"startTime":1787968809402,"traceId":"0e7db50ba8256265"},{"name":"static-check","duration":2028594,"timestamp":268671275223,"id":8364,"parentId":1,"tags":{},"startTime":1787968816617,"traceId":"0e7db50ba8256265"},{"name":"static-generation","duration":2687585,"timestamp":268673445171,"id":8476,"parentId":1,"tags":{},"startTime":1787968818786,"traceId":"0e7db50ba8256265"},{"name":"collect-build-traces","duration":17059410,"timestamp":268673305478,"id":8473,"parentId":1,"tags":{},"startTime":1787968818647,"traceId":"0e7db50ba8256265"},{"name":"telemetry-flush","duration":20,"timestamp":268690366790,"id":8485,"parentId":1,"tags":{},"startTime":1787968835707,"traceId":"0e7db50ba8256265"},{"name":"next-build","duration":45294015,"timestamp":268645072798,"id":1,"tags":{"buildMode":"default","version":"16.3.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1787968790415,"traceId":"0e7db50ba8256265"}]
1
+ [{"name":"run-webpack","duration":20703734,"timestamp":13112782485,"id":14,"parentId":1,"tags":{},"startTime":1787986409584,"traceId":"c92056c199860c93"},{"name":"run-typescript","duration":16184401,"timestamp":13133495434,"id":807,"parentId":1,"tags":{},"startTime":1787986432492,"traceId":"c92056c199860c93"},{"name":"static-check","duration":2982815,"timestamp":13149775185,"id":810,"parentId":1,"tags":{},"startTime":1787986448771,"traceId":"c92056c199860c93"},{"name":"static-generation","duration":4969638,"timestamp":13153139883,"id":922,"parentId":1,"tags":{},"startTime":1787986452136,"traceId":"c92056c199860c93"},{"name":"collect-build-traces","duration":48853108,"timestamp":13152761477,"id":919,"parentId":1,"tags":{},"startTime":1787986451758,"traceId":"c92056c199860c93"},{"name":"telemetry-flush","duration":44,"timestamp":13201619322,"id":931,"parentId":1,"tags":{},"startTime":1787986506506,"traceId":"c92056c199860c93"},{"name":"next-build","duration":89025129,"timestamp":13112594244,"id":1,"tags":{"buildMode":"default","version":"16.3.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1787986409395,"traceId":"c92056c199860c93"}]
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/agent/[id]/bash-output/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/agent/[id]/bash-output/route.ts
2
2
  import * as entry from '../../../../../../../app/api/agent/[id]/bash-output/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/agent/[id]/events/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/agent/[id]/events/route.ts
2
2
  import * as entry from '../../../../../../../app/api/agent/[id]/events/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/agent/[id]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/agent/[id]/route.ts
2
2
  import * as entry from '../../../../../../app/api/agent/[id]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/agent/new/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/agent/new/route.ts
2
2
  import * as entry from '../../../../../../app/api/agent/new/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/agent/running/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/agent/running/route.ts
2
2
  import * as entry from '../../../../../../app/api/agent/running/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/app-update/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/app-update/route.ts
2
2
  import * as entry from '../../../../../app/api/app-update/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/auth/all-providers/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/auth/all-providers/route.ts
2
2
  import * as entry from '../../../../../../app/api/auth/all-providers/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/auth/api-key/[provider]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/auth/api-key/[provider]/route.ts
2
2
  import * as entry from '../../../../../../../app/api/auth/api-key/[provider]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/auth/login/[provider]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/auth/login/[provider]/route.ts
2
2
  import * as entry from '../../../../../../../app/api/auth/login/[provider]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/auth/logout/[provider]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/auth/logout/[provider]/route.ts
2
2
  import * as entry from '../../../../../../../app/api/auth/logout/[provider]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/auth/providers/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/auth/providers/route.ts
2
2
  import * as entry from '../../../../../../app/api/auth/providers/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/cwd/browse/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/cwd/browse/route.ts
2
2
  import * as entry from '../../../../../../app/api/cwd/browse/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/cwd/validate/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/cwd/validate/route.ts
2
2
  import * as entry from '../../../../../../app/api/cwd/validate/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/default-cwd/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/default-cwd/route.ts
2
2
  import * as entry from '../../../../../app/api/default-cwd/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/file-index/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/file-index/route.ts
2
2
  import * as entry from '../../../../../app/api/file-index/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/files/[...path]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/files/[...path]/route.ts
2
2
  import * as entry from '../../../../../../app/api/files/[...path]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/git/diff/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/git/diff/route.ts
2
2
  import * as entry from '../../../../../../app/api/git/diff/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/git/status/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/git/status/route.ts
2
2
  import * as entry from '../../../../../../app/api/git/status/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/home/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/home/route.ts
2
2
  import * as entry from '../../../../../app/api/home/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/mcp/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/mcp/route.ts
2
2
  import * as entry from '../../../../../app/api/mcp/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/models/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/models/route.ts
2
2
  import * as entry from '../../../../../app/api/models/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/models-config/catalog/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/models-config/catalog/route.ts
2
2
  import * as entry from '../../../../../../app/api/models-config/catalog/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/models-config/discover/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/models-config/discover/route.ts
2
2
  import * as entry from '../../../../../../app/api/models-config/discover/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/models-config/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/models-config/route.ts
2
2
  import * as entry from '../../../../../app/api/models-config/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/models-config/test/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/models-config/test/route.ts
2
2
  import * as entry from '../../../../../../app/api/models-config/test/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/plugins/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/plugins/route.ts
2
2
  import * as entry from '../../../../../app/api/plugins/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/project-trust/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/project-trust/route.ts
2
2
  import * as entry from '../../../../../app/api/project-trust/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/quota/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/quota/route.ts
2
2
  import * as entry from '../../../../../app/api/quota/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/search/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/search/route.ts
2
2
  import * as entry from '../../../../../app/api/search/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/auto-name/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/auto-name/route.ts
2
2
  import * as entry from '../../../../../../../app/api/sessions/[id]/auto-name/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/context/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/context/route.ts
2
2
  import * as entry from '../../../../../../../app/api/sessions/[id]/context/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts
2
2
  import * as entry from '../../../../../../../../../app/api/sessions/[id]/entries/[entryId]/thinking/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/export/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/export/route.ts
2
2
  import * as entry from '../../../../../../../app/api/sessions/[id]/export/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/route.ts
2
2
  import * as entry from '../../../../../../app/api/sessions/[id]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/state/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/state/route.ts
2
2
  import * as entry from '../../../../../../../app/api/sessions/[id]/state/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/[id]/todos/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/todos/route.ts
2
2
  import * as entry from '../../../../../../../app/api/sessions/[id]/todos/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/sessions/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/sessions/route.ts
2
2
  import * as entry from '../../../../../app/api/sessions/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/skills/check/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/skills/check/route.ts
2
2
  import * as entry from '../../../../../../app/api/skills/check/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/skills/install/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/skills/install/route.ts
2
2
  import * as entry from '../../../../../../app/api/skills/install/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/skills/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/skills/route.ts
2
2
  import * as entry from '../../../../../app/api/skills/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/skills/search/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/skills/search/route.ts
2
2
  import * as entry from '../../../../../../app/api/skills/search/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/skills/update/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/skills/update/route.ts
2
2
  import * as entry from '../../../../../../app/api/skills/update/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/tasks/[id]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/tasks/[id]/route.ts
2
2
  import * as entry from '../../../../../../app/api/tasks/[id]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/tasks/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/tasks/route.ts
2
2
  import * as entry from '../../../../../app/api/tasks/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/terminal/[id]/events/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/terminal/[id]/events/route.ts
2
2
  import * as entry from '../../../../../../../app/api/terminal/[id]/events/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/terminal/[id]/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/terminal/[id]/route.ts
2
2
  import * as entry from '../../../../../../app/api/terminal/[id]/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/terminal/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/terminal/route.ts
2
2
  import * as entry from '../../../../../app/api/terminal/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/api/worktrees/route.ts
1
+ // File: /home/wa/project/pi-web-sky/app/api/worktrees/route.ts
2
2
  import * as entry from '../../../../../app/api/worktrees/route.js'
3
3
  import type { NextRequest } from 'next/server.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/layout.tsx
1
+ // File: /home/wa/project/pi-web-sky/app/layout.tsx
2
2
  import * as entry from '../../../app/layout.js'
3
3
  import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
4
4
 
@@ -1,4 +1,4 @@
1
- // File: /Users/baique/work/develop/project/pi-web-sky/app/page.tsx
1
+ // File: /home/wa/project/pi-web-sky/app/page.tsx
2
2
  import * as entry from '../../../app/page.js'
3
3
  import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baique/pi-web-sky",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "description": "Web UI for the pi coding agent — Sky skin edition (fork of @agegr/pi-web / earendil-labs pi-web, MIT)",
5
5
  "homepage": "https://github.com/baique/pi-web-sky#readme",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3266],{82407:()=>{},83266:(e,t,r)=>{"use strict";r.r(t),r.d(t,{TerminalPanel:()=>m});var n=r(95155),i=r(12115),l=r(47650),a=r(8422);r(82407);var s=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),l=window.getComputedStyle(this._terminal.element),a={top:parseInt(l.getPropertyValue("padding-top")),bottom:parseInt(l.getPropertyValue("padding-bottom")),right:parseInt(l.getPropertyValue("padding-right")),left:parseInt(l.getPropertyValue("padding-left"))},s=a.top+a.bottom;return{cols:Math.max(2,Math.floor((i-(a.right+a.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-s)/e.css.cell.height))}}},o=r(39247),c=r(31590);let d={black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#ffffff"},u={black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#949800",blue:"#0451a5",magenta:"#bc05bc",cyan:"#0598bc",white:"#555555",brightBlack:"#666666",brightRed:"#cd3131",brightGreen:"#14ce14",brightYellow:"#b5ba00",brightBlue:"#0451a5",brightMagenta:"#bc05bc",brightCyan:"#0598bc",brightWhite:"#a5a5a5"};function m({origin:e,anchorRect:t,activeCwd:r,activeProjectLabel:h,hidden:f,onClose:p}){let b,g,w,y=(0,c.a)(),{t:v}=(0,o.s)(),[x,k]=(0,i.useState)([]),[E,T]=(0,i.useState)(null),[j,C]=(0,i.useState)(!1),[S,L]=(0,i.useState)(null),[M,N]=(0,i.useState)(new Set),$=(0,i.useRef)(!0),_=(0,i.useRef)(0),[P,R]=(0,i.useState)(0),B=(0,i.useRef)(new Set),I=(0,i.useRef)(null),V=(0,i.useRef)(null),W=(0,i.useRef)(null),D=(0,i.useRef)(new Map),O=(0,i.useRef)(new Map),z=(0,i.useRef)(null);z.current=E;let A=(0,i.useRef)(f);A.current=f;let F=(0,i.useRef)(new Set),H=(0,i.useMemo)(()=>h?x.filter(e=>e.projectLabel===h):[],[x,h]),J=(0,i.useMemo)(()=>{let e=new Map;for(let t of x){let r=e.get(t.projectLabel)??[];r.push(t),e.set(t.projectLabel,r)}return[...e.entries()]},[x]),K=(0,i.useMemo)(()=>{if(!E||!H.some(e=>e.id===E)){let e=E?x.find(e=>e.id===E):void 0;return e?[e,...H]:H}return H},[H,x,E]),Q=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/terminal"),t=await e.json();if(Array.isArray(t.terminals)){let e=F.current;k(t.terminals.filter(t=>!e.has(t.id))),$.current=!1,_.current+=1,R(e=>e+1)}}catch{}},[]),G=(0,i.useMemo)(()=>()=>{let e=getComputedStyle(document.documentElement),t=(t,r)=>e.getPropertyValue(t).trim()||r,r=document.documentElement.classList.contains("dark");return{background:`rgba(${t("--assistant-bg-rgb",r?"36, 36, 39":"252, 252, 253")}, ${t("--bubble-alpha",r?"0.55":"0.44")})`,foreground:t("--text",r?"#d4d4d4":"#1f2328"),cursor:t("--accent","#3b82f6"),cursorAccent:t("--bg",r?"#1e1e1e":"#ffffff"),selectionBackground:r?"rgba(128, 128, 128, 0.35)":"rgba(0, 0, 0, 0.15)",...r?d:u}},[]);(0,i.useEffect)(()=>{let e=new MutationObserver(()=>{let e=G();for(let[,t]of O.current)t.term&&(t.term.options.theme=e)});return e.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style"]}),()=>e.disconnect()},[G]);let Y=(0,i.useCallback)(e=>{let t=O.current.get(e);if(t?.es)return;if(!t){let r=new a.B({convertEol:!1,fontSize:12.5,fontFamily:getComputedStyle(document.documentElement).getPropertyValue("--font-mono").trim()||"'JetBrains Mono', Consolas, monospace",cursorBlink:!0,scrollback:5e3,theme:G()}),n=new s;r.loadAddon(n),r.onData(r=>{let n=t;n.inputQueue=n.inputQueue.catch(()=>{}).then(async()=>{await fetch(`/api/terminal/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"input",data:r})})}).catch(()=>{})}),t={term:r,fit:n,es:null,offset:null,reconnectTimer:null,fitTimer:null,inputQueue:Promise.resolve(),disposed:!1},O.current.set(e,t)}let r=null!==t.offset?`?since=${t.offset}`:"",n=new EventSource(`/api/terminal/${e}/events${r}`);t.es=n,n.onopen=()=>{N(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},n.addEventListener("output",e=>{let{d:r,o:n}=JSON.parse(e.data);t.offset=n,t.term.write(r)}),n.addEventListener("gone",()=>{n.close(),t.es=null,Q()}),n.onerror=()=>{n.close(),t&&!t.disposed&&(t.es=null,t.reconnectTimer&&clearTimeout(t.reconnectTimer),t.reconnectTimer=setTimeout(()=>{fetch(`/api/terminal/${e}`).then(t=>{t.ok?Y(e):Q()}).catch(()=>{N(t=>t.has(e)?t:new Set(t).add(e))})},1500))}},[G,Q]),q=(0,i.useCallback)(e=>{let t=O.current.get(e);t&&fetch(`/api/terminal/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"resize",cols:t.term.cols,rows:t.term.rows})})},[]),U=(0,i.useCallback)((e,t=0)=>{let r,n=O.current.get(e),i=W.current;if(n&&i&&!A.current&&!n.disposed){try{r=n.fit.proposeDimensions()}catch{}if(r&&r.cols>2&&r.rows>1){n.fitTimer&&(clearTimeout(n.fitTimer),n.fitTimer=null);try{n.fit.fit()}catch{}q(e),n.term.element?.classList.remove("terminal-attaching"),n.term.focus(),requestAnimationFrame(()=>{if(!n.disposed&&!A.current)try{n.fit.fit()}catch{}});return}if(t>=300){n.fitTimer&&(clearTimeout(n.fitTimer),n.fitTimer=null),n.term.element?.classList.remove("terminal-attaching"),console.warn(`[terminal] fit did not settle for ${e} after ~9s; showing as-is`);return}n.fitTimer&&clearTimeout(n.fitTimer),n.fitTimer=setTimeout(()=>U(e,t+1),30)}},[q]);(0,i.useEffect)(()=>{let e=W.current,t=E?D.current.get(E):void 0;if(!e||!t||!E)return;Y(E);let r=O.current.get(E);if(!r||f)return;r.term.element?r.term.element.parentElement!==t&&t.appendChild(r.term.element):r.term.open(t),r.term.element?.classList.add("terminal-attaching"),r.term.focus(),U(E);let n=new ResizeObserver(()=>{A.current||z.current!==E||U(E)});return n.observe(t),()=>{n.disconnect()}},[E,Y,f,U]),(0,i.useEffect)(()=>{V.current=null,I.current=null,$.current=!0,f||Q()},[f,h,Q]),(0,i.useEffect)(()=>{if(f)return;let e=setInterval(()=>void Q(),5e3);return()=>clearInterval(e)},[Q,f]),(0,i.useEffect)(()=>{let e=new Set(x.map(e=>e.id));for(let[t,r]of O.current)e.has(t)||(r.disposed=!0,r.reconnectTimer&&clearTimeout(r.reconnectTimer),r.fitTimer&&clearTimeout(r.fitTimer),r.es?.close(),r.term.dispose(),O.current.delete(t),N(e=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r}),z.current===t&&T(x.find(e=>e.id!==t)?.id??null))},[x]),(0,i.useEffect)(()=>()=>{for(let[,e]of O.current)e.disposed=!0,e.reconnectTimer&&clearTimeout(e.reconnectTimer),e.fitTimer&&clearTimeout(e.fitTimer),e.es?.close(),e.term.dispose();O.current.clear()},[]);let X=(0,i.useCallback)(async()=>{C(!0),L(null),h&&B.current.delete(h);try{let e=await fetch("/api/terminal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r||"~"})}),t=await e.json();if(!e.ok||!t.terminal)throw Error(t.error??`HTTP ${e.status}`);await Q(),T(t.terminal.id)}catch(e){L(String(e instanceof Error?e.message:e))}finally{C(!1)}},[r,h,Q]);(0,i.useEffect)(()=>{if(!$.current&&!j){if(!h){!z.current&&x.length>0&&T(x[x.length-1].id);return}if(!f&&V.current!==h){if(V.current=h,H.length>0){z.current&&H.some(e=>e.id===z.current)||T(H[H.length-1].id);return}B.current.has(h)||I.current!==h&&(I.current=h,X())}}},[j,h,H,x,f,P,X]);let Z=(0,i.useCallback)(async(e,t)=>{B.current.add(t),F.current.add(e),k(t=>t.filter(t=>t.id!==e));try{(await fetch(`/api/terminal/${e}`,{method:"DELETE"})).ok||(F.current.delete(e),Q())}catch{F.current.delete(e),Q()}},[Q]),ee=(0,i.useCallback)(async()=>{let e=[...M];if(0!==e.length){for(let t of e)F.current.add(t),fetch(`/api/terminal/${t}`,{method:"DELETE"}).finally(()=>{F.current.delete(t)});N(new Set),k(t=>t.filter(t=>!e.includes(t.id))),Q()}},[M,Q]),et=(0,i.useRef)(null),er=(0,i.useRef)(null);(0,i.useEffect)(()=>{er.current=document.getElementById("terminal-bottombar-btn");let e=e=>{let t=e.target;et.current?.contains(t)||er.current?.contains(t)||document.getElementById("terminal-topbar-btn")?.contains(t)||p()},t=e=>{if("Escape"!==e.key)return;let t=document.activeElement;t?.classList?.contains("xterm-helper-textarea")||p()};return document.addEventListener("pointerdown",e,!0),document.addEventListener("keydown",t,!0),()=>{document.removeEventListener("pointerdown",e,!0),document.removeEventListener("keydown",t,!0)}},[p]),(0,i.useEffect)(()=>{let e=et.current;if(!e)return;let t=e=>{e.target.closest("button, select, input, textarea, a")||(()=>{if(A.current)return;let e=z.current,t=e?O.current.get(e):void 0;t?.term.focus()})()},r=e=>{if(A.current||!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey||1!==e.key.length)return;let t=e.key.toLowerCase().charCodeAt(0);if(t<97||t>122)return;let r=document.activeElement;if(r?.classList?.contains("xterm-helper-textarea")||r instanceof HTMLElement&&r.closest("input, textarea, [contenteditable='true']"))return;let n=z.current,i=n?O.current.get(n):void 0;i&&(e.preventDefault(),e.stopPropagation(),i.term.input(String.fromCharCode(t-96)))};return e.addEventListener("click",t,!0),document.addEventListener("keydown",r,!0),()=>{e.removeEventListener("click",t,!0),document.removeEventListener("keydown",r,!0)}},[]);let en=y?{position:"fixed",inset:10,zIndex:1050}:"top"===e?(g=Math.min(780,(b=document.documentElement.clientWidth||window.innerWidth)-48),w=t?Math.max(24,Math.min(t.left,b-g-24)):b-g-24,{position:"fixed",top:t?.bottom??t?.top??46,left:w,width:g,height:465,zIndex:1040}):{position:"fixed",right:t?Math.max(24,window.innerWidth-t.right):24,bottom:t?window.innerHeight-t.top:35,width:Math.min(780,window.innerWidth-48),height:Math.min(465,window.innerHeight-120),zIndex:1040},ei=(0,n.jsxs)("div",{ref:et,className:`terminal-panel terminal-panel-${e}${y?" terminal-panel-mobile":""}${f?" terminal-panel-hidden":""}`,style:{...en,background:"var(--panel-glass)",backdropFilter:"blur(var(--glass-blur-panel)) saturate(var(--glass-saturate))",WebkitBackdropFilter:"blur(var(--glass-blur-panel)) saturate(var(--glass-saturate))"},role:"region","aria-label":v("terminal.title"),children:[(0,n.jsxs)("div",{className:"terminal-tabs",children:[(0,n.jsx)("div",{className:"terminal-tab-scroll",children:K.map(e=>(0,n.jsxs)("div",{className:`terminal-chip${e.id===E?" is-active":""}${!e.running?" is-dead":""}${M.has(e.id)?" is-disconnected":""}`,onClick:()=>T(e.id),role:"tab","aria-selected":e.id===E,title:`${e.projectLabel} — ${e.cwd}`,children:[(0,n.jsx)("span",{className:`terminal-dot${!e.running?" is-dead":M.has(e.id)?" is-disconnected":""}`}),(0,n.jsx)("span",{className:"terminal-chip-cwd",title:e.cwd,children:e.name||e.cwd.split(/[\\/]/).filter(Boolean).pop()||e.cwd}),(0,n.jsx)("button",{type:"button",className:"terminal-chip-close",title:v("terminal.close"),"aria-label":v("terminal.close"),onClick:t=>{t.stopPropagation(),Z(e.id,e.projectLabel)},children:"\xd7"})]},e.id))}),(0,n.jsx)("button",{type:"button",className:"terminal-new",onClick:()=>void X(),disabled:j,title:v("terminal.new"),"aria-label":v("terminal.new"),children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,n.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),M.size>0&&(0,n.jsx)("button",{type:"button",className:"terminal-cleanup",onClick:()=>void ee(),title:v("terminal.cleanupDisconnected"),"aria-label":v("terminal.cleanupDisconnected"),children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})}),!y&&(0,n.jsx)("button",{type:"button",className:"terminal-close",onClick:p,title:v("common.close"),"aria-label":v("common.close"),children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"5",y1:"5",x2:"19",y2:"19"}),(0,n.jsx)("line",{x1:"19",y1:"5",x2:"5",y2:"19"})]})}),(0,n.jsxs)("select",{className:"terminal-all-select",value:E??"",onChange:e=>{let t=e.target.value;t&&T(t)},title:v("terminal.all"),"aria-label":v("terminal.all"),children:[(0,n.jsx)("option",{value:"",disabled:!0,children:v("terminal.all")}),J.map(([e,t])=>(0,n.jsx)("optgroup",{label:e,children:t.map(e=>(0,n.jsxs)("option",{value:e.id,title:`${e.projectLabel} — ${e.cwd}`,children:[e.name||e.cwd.split(/[\\/]/).filter(Boolean).pop()||e.cwd,e.running?"":` \xb7 ${v("terminal.exited")}`]},e.id))},e))]})]}),S&&(0,n.jsx)("div",{className:"terminal-error",children:S}),(0,n.jsxs)("div",{className:"terminal-body",ref:W,children:[x.map(e=>(0,n.jsx)("div",{ref:t=>{t?D.current.set(e.id,t):D.current.delete(e.id)},"data-terminal-view":e.id,style:{display:e.id===E?"block":"none",height:"100%"}},e.id)),!E&&(0,n.jsx)("div",{className:"terminal-placeholder",children:(0,n.jsx)("button",{type:"button",onClick:()=>void X(),disabled:j,children:j?"…":v("terminal.createFirst")})})]})]});return(0,l.createPortal)(ei,document.body)}}}]);