@colinxu/pi-web-classic 0.0.0-stage → 0.12.3

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 (691) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +75 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/diagnostics/framework.json +1 -0
  6. package/.next/export-marker.json +6 -0
  7. package/.next/images-manifest.json +68 -0
  8. package/.next/next-minimal-server.js.nft.json +1 -0
  9. package/.next/next-server.js.nft.json +1 -0
  10. package/.next/package.json +1 -0
  11. package/.next/prerender-manifest.json +157 -0
  12. package/.next/react-loadable-manifest.json +401 -0
  13. package/.next/required-server-files.js +398 -0
  14. package/.next/required-server-files.json +398 -0
  15. package/.next/routes-manifest.json +561 -0
  16. package/.next/server/app/_global-error/page.js +31 -0
  17. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  18. package/.next/server/app/_global-error.html +1 -0
  19. package/.next/server/app/_global-error.meta +35 -0
  20. package/.next/server/app/_global-error.rsc +14 -0
  21. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  22. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
  23. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  24. package/.next/server/app/_not-found/page.js +1 -0
  25. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  26. package/.next/server/app/_not-found.html +1 -0
  27. package/.next/server/app/_not-found.meta +35 -0
  28. package/.next/server/app/_not-found.rsc +22 -0
  29. package/.next/server/app/_not-found.segments/_full.segment.rsc +22 -0
  30. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +28 -0
  31. package/.next/server/app/_not-found.segments/_tree.segment.rsc +7 -0
  32. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
  33. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
  34. package/.next/server/app/api/agent/[id]/events/route.js +3 -0
  35. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
  36. package/.next/server/app/api/agent/[id]/lease/route.js +1 -0
  37. package/.next/server/app/api/agent/[id]/lease/route_client-reference-manifest.js +1 -0
  38. package/.next/server/app/api/agent/[id]/route.js +1 -0
  39. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
  40. package/.next/server/app/api/agent/new/route.js +1 -0
  41. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
  42. package/.next/server/app/api/agent/running/route.js +1 -0
  43. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -0
  44. package/.next/server/app/api/app-update/route.js +1 -0
  45. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
  47. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
  48. package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
  49. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
  51. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
  52. package/.next/server/app/api/auth/providers/route.js +1 -0
  53. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
  54. package/.next/server/app/api/cache-miss-notices/route.js +1 -0
  55. package/.next/server/app/api/cache-miss-notices/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/cwd/browse/route.js +1 -0
  57. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
  58. package/.next/server/app/api/cwd/validate/route.js +1 -0
  59. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
  60. package/.next/server/app/api/default-cwd/route.js +1 -0
  61. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
  62. package/.next/server/app/api/file-index/route.js +1 -0
  63. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
  64. package/.next/server/app/api/files/[...path]/route.js +49 -0
  65. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
  66. package/.next/server/app/api/git/diff/route.js +6 -0
  67. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
  68. package/.next/server/app/api/git/status/route.js +6 -0
  69. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/home/route.js +1 -0
  71. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
  72. package/.next/server/app/api/mcp/route.js +2 -0
  73. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/mcp/sign-in/[flowId]/route.js +1 -0
  75. package/.next/server/app/api/mcp/sign-in/[flowId]/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/mcp/sign-in/route.js +1 -0
  77. package/.next/server/app/api/mcp/sign-in/route_client-reference-manifest.js +1 -0
  78. package/.next/server/app/api/mcp/test/route.js +1 -0
  79. package/.next/server/app/api/mcp/test/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/models/default/route.js +1 -0
  81. package/.next/server/app/api/models/default/route_client-reference-manifest.js +1 -0
  82. package/.next/server/app/api/models/enabled/route.js +1 -0
  83. package/.next/server/app/api/models/enabled/route_client-reference-manifest.js +1 -0
  84. package/.next/server/app/api/models/refresh/route.js +1 -0
  85. package/.next/server/app/api/models/refresh/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/models/route.js +1 -0
  87. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/models-config/catalog/route.js +1 -0
  89. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
  90. package/.next/server/app/api/models-config/discover/route.js +1 -0
  91. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/models-config/route.js +1 -0
  93. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/models-config/test/route.js +1 -0
  95. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
  96. package/.next/server/app/api/open-in-explorer/route.js +1 -0
  97. package/.next/server/app/api/open-in-explorer/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/plugins/check/route.js +1 -0
  99. package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/plugins/route.js +1 -0
  101. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  102. package/.next/server/app/api/project-trust/route.js +1 -0
  103. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/provider-usage/query/route.js +1 -0
  105. package/.next/server/app/api/provider-usage/query/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/push/config/route.js +1 -0
  107. package/.next/server/app/api/push/config/route_client-reference-manifest.js +1 -0
  108. package/.next/server/app/api/push/subscribe/route.js +1 -0
  109. package/.next/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -0
  110. package/.next/server/app/api/sessions/[id]/auto-name/route.js +11 -0
  111. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
  113. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
  114. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
  115. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
  116. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -0
  117. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/sessions/[id]/export/route.js +54 -0
  119. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
  120. package/.next/server/app/api/sessions/[id]/fork/route.js +1 -0
  121. package/.next/server/app/api/sessions/[id]/fork/route_client-reference-manifest.js +1 -0
  122. package/.next/server/app/api/sessions/[id]/route.js +1 -0
  123. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
  125. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
  126. package/.next/server/app/api/sessions/delete/route.js +1 -0
  127. package/.next/server/app/api/sessions/delete/route_client-reference-manifest.js +1 -0
  128. package/.next/server/app/api/sessions/route.js +1 -0
  129. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/sessions/search/route.js +1 -0
  131. package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
  132. package/.next/server/app/api/sessions/stats/route.js +1 -0
  133. package/.next/server/app/api/sessions/stats/route_client-reference-manifest.js +1 -0
  134. package/.next/server/app/api/sessions/ui-state/route.js +1 -0
  135. package/.next/server/app/api/sessions/ui-state/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/skills/check/route.js +1 -0
  137. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
  138. package/.next/server/app/api/skills/content/route.js +1 -0
  139. package/.next/server/app/api/skills/content/route_client-reference-manifest.js +1 -0
  140. package/.next/server/app/api/skills/install/route.js +1 -0
  141. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/skills/route.js +4 -0
  143. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
  144. package/.next/server/app/api/skills/search/route.js +1 -0
  145. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
  146. package/.next/server/app/api/skills/update/route.js +1 -0
  147. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/subagents/[id]/route.js +1 -0
  149. package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -0
  150. package/.next/server/app/api/subagents/profiles/route.js +1 -0
  151. package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -0
  152. package/.next/server/app/api/subagents/settings/route.js +1 -0
  153. package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/terminal/[id]/events/route.js +4 -0
  155. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -0
  156. package/.next/server/app/api/terminal/[id]/route.js +1 -0
  157. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -0
  158. package/.next/server/app/api/terminal/route.js +1 -0
  159. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/tools/settings/route.js +1 -0
  161. package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -0
  162. package/.next/server/app/api/web-auth/route.js +1 -0
  163. package/.next/server/app/api/web-auth/route_client-reference-manifest.js +1 -0
  164. package/.next/server/app/api/worktrees/route.js +1 -0
  165. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/favicon.ico/route.js +1 -0
  167. package/.next/server/app/favicon.ico.body +0 -0
  168. package/.next/server/app/favicon.ico.meta +1 -0
  169. package/.next/server/app/index.html +1 -0
  170. package/.next/server/app/index.meta +29 -0
  171. package/.next/server/app/index.rsc +23 -0
  172. package/.next/server/app/index.segments/__PAGE__.segment.rsc +27 -0
  173. package/.next/server/app/index.segments/_full.segment.rsc +23 -0
  174. package/.next/server/app/index.segments/_tree.segment.rsc +8 -0
  175. package/.next/server/app/login/page.js +1 -0
  176. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  177. package/.next/server/app/login.html +1 -0
  178. package/.next/server/app/login.meta +34 -0
  179. package/.next/server/app/login.rsc +26 -0
  180. package/.next/server/app/login.segments/_full.segment.rsc +26 -0
  181. package/.next/server/app/login.segments/_tree.segment.rsc +7 -0
  182. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +32 -0
  183. package/.next/server/app/manifest.webmanifest/route.js +17 -0
  184. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  185. package/.next/server/app/page.js +309 -0
  186. package/.next/server/app/page_client-reference-manifest.js +1 -0
  187. package/.next/server/app-paths-manifest.json +75 -0
  188. package/.next/server/chunks/11.js +1 -0
  189. package/.next/server/chunks/1207.js +1 -0
  190. package/.next/server/chunks/1286.js +1 -0
  191. package/.next/server/chunks/1412.js +38 -0
  192. package/.next/server/chunks/1605.js +1 -0
  193. package/.next/server/chunks/169.js +1 -0
  194. package/.next/server/chunks/18.js +86 -0
  195. package/.next/server/chunks/1813.js +1 -0
  196. package/.next/server/chunks/1906.js +1 -0
  197. package/.next/server/chunks/2022.js +1 -0
  198. package/.next/server/chunks/2069.js +1 -0
  199. package/.next/server/chunks/2156.js +1 -0
  200. package/.next/server/chunks/2157.js +1 -0
  201. package/.next/server/chunks/2243.js +1 -0
  202. package/.next/server/chunks/2325.js +82 -0
  203. package/.next/server/chunks/2430.js +193 -0
  204. package/.next/server/chunks/2498.js +1 -0
  205. package/.next/server/chunks/27.js +1 -0
  206. package/.next/server/chunks/2838.js +1 -0
  207. package/.next/server/chunks/2897.js +79 -0
  208. package/.next/server/chunks/2970.js +165 -0
  209. package/.next/server/chunks/3227.js +1 -0
  210. package/.next/server/chunks/3266.js +1 -0
  211. package/.next/server/chunks/3379.js +1 -0
  212. package/.next/server/chunks/3428.js +32 -0
  213. package/.next/server/chunks/3479.js +1 -0
  214. package/.next/server/chunks/3618.js +1 -0
  215. package/.next/server/chunks/367.js +115 -0
  216. package/.next/server/chunks/3698.js +93 -0
  217. package/.next/server/chunks/3709.js +148 -0
  218. package/.next/server/chunks/3757.js +1 -0
  219. package/.next/server/chunks/3824.js +1 -0
  220. package/.next/server/chunks/4107.js +62 -0
  221. package/.next/server/chunks/426.js +14 -0
  222. package/.next/server/chunks/4569.js +34 -0
  223. package/.next/server/chunks/4698.js +1 -0
  224. package/.next/server/chunks/4755.js +153 -0
  225. package/.next/server/chunks/4815.js +3 -0
  226. package/.next/server/chunks/5002.js +1 -0
  227. package/.next/server/chunks/5112.js +1 -0
  228. package/.next/server/chunks/5289.js +8 -0
  229. package/.next/server/chunks/5318.js +1 -0
  230. package/.next/server/chunks/5452.js +23 -0
  231. package/.next/server/chunks/5453.js +1 -0
  232. package/.next/server/chunks/5582.js +8 -0
  233. package/.next/server/chunks/5749.js +27 -0
  234. package/.next/server/chunks/5782.js +36 -0
  235. package/.next/server/chunks/6163.js +104 -0
  236. package/.next/server/chunks/6169.js +64 -0
  237. package/.next/server/chunks/6208.js +172 -0
  238. package/.next/server/chunks/6399.js +24 -0
  239. package/.next/server/chunks/6429.js +32 -0
  240. package/.next/server/chunks/6496.js +1 -0
  241. package/.next/server/chunks/6686.js +1 -0
  242. package/.next/server/chunks/6823.js +215 -0
  243. package/.next/server/chunks/6888.js +1 -0
  244. package/.next/server/chunks/6953.js +1 -0
  245. package/.next/server/chunks/7245.js +77 -0
  246. package/.next/server/chunks/7307.js +1 -0
  247. package/.next/server/chunks/7372.js +287 -0
  248. package/.next/server/chunks/7384.js +226 -0
  249. package/.next/server/chunks/7492.js +1 -0
  250. package/.next/server/chunks/7516.js +1 -0
  251. package/.next/server/chunks/7531.js +24 -0
  252. package/.next/server/chunks/7591.js +1 -0
  253. package/.next/server/chunks/7755.js +138 -0
  254. package/.next/server/chunks/7916.js +1 -0
  255. package/.next/server/chunks/8078.js +94 -0
  256. package/.next/server/chunks/8253.js +41 -0
  257. package/.next/server/chunks/8635.js +1 -0
  258. package/.next/server/chunks/8637.js +1 -0
  259. package/.next/server/chunks/8688.js +1 -0
  260. package/.next/server/chunks/8872.js +1 -0
  261. package/.next/server/chunks/9006.js +1 -0
  262. package/.next/server/chunks/9018.js +1 -0
  263. package/.next/server/chunks/9047.js +1 -0
  264. package/.next/server/chunks/9108.js +1 -0
  265. package/.next/server/chunks/9165.js +1 -0
  266. package/.next/server/chunks/9280.js +256 -0
  267. package/.next/server/chunks/9419.js +1 -0
  268. package/.next/server/chunks/9430.js +1 -0
  269. package/.next/server/chunks/9586.js +1 -0
  270. package/.next/server/chunks/9690.js +90 -0
  271. package/.next/server/chunks/974.js +1 -0
  272. package/.next/server/chunks/9775.js +1 -0
  273. package/.next/server/chunks/992.js +1 -0
  274. package/.next/server/chunks/9926.js +1 -0
  275. package/.next/server/functions-config-manifest.json +27 -0
  276. package/.next/server/instrumentation.js +1 -0
  277. package/.next/server/instrumentation.js.nft.json +1 -0
  278. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  279. package/.next/server/middleware-build-manifest.js +1 -0
  280. package/.next/server/middleware-manifest.json +6 -0
  281. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  282. package/.next/server/middleware.js +163 -0
  283. package/.next/server/middleware.js.nft.json +1 -0
  284. package/.next/server/next-font-manifest.js +1 -0
  285. package/.next/server/next-font-manifest.json +1 -0
  286. package/.next/server/pages/404.html +1 -0
  287. package/.next/server/pages/500.html +1 -0
  288. package/.next/server/pages-manifest.json +4 -0
  289. package/.next/server/prefetch-hints.json +53 -0
  290. package/.next/server/server-reference-manifest.js +1 -0
  291. package/.next/server/server-reference-manifest.json +1 -0
  292. package/.next/server/webpack-runtime.js +1 -0
  293. package/.next/static/2ftfKxA2Tk6WrtjeFq3pC/_buildManifest.js +1 -0
  294. package/.next/static/2ftfKxA2Tk6WrtjeFq3pC/_ssgManifest.js +1 -0
  295. package/.next/static/chunks/1213.4848a5579bece837.js +24 -0
  296. package/.next/static/chunks/1278-902e48c12cf60065.js +1 -0
  297. package/.next/static/chunks/1326.72decfb808c97abe.js +1 -0
  298. package/.next/static/chunks/1519.2f596e5f5af9ef57.js +62 -0
  299. package/.next/static/chunks/2280.e03ab3748922284c.js +1 -0
  300. package/.next/static/chunks/2521.2ba812532f472610.js +77 -0
  301. package/.next/static/chunks/2585.4d6aa847c780c666.js +1 -0
  302. package/.next/static/chunks/2589.e456c324416f9615.js +1 -0
  303. package/.next/static/chunks/2600.45ba17a0f756fc31.js +1 -0
  304. package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
  305. package/.next/static/chunks/26d302b2.cd19dc0940cb3e75.js +122 -0
  306. package/.next/static/chunks/2768.1a75ba9e2be767cf.js +1 -0
  307. package/.next/static/chunks/2931.c5527c92f7264e9a.js +41 -0
  308. package/.next/static/chunks/3016.406e568aa95ff867.js +1 -0
  309. package/.next/static/chunks/3052.5da5bde6a131930a.js +90 -0
  310. package/.next/static/chunks/3064.3a2a1e7cd4fdca5f.js +1 -0
  311. package/.next/static/chunks/3174.03fbed7b7d7a8256.js +1 -0
  312. package/.next/static/chunks/3189.b048866768087750.js +1 -0
  313. package/.next/static/chunks/3217.457eee26edea225c.js +24 -0
  314. package/.next/static/chunks/3308.935f7625e681e15a.js +74 -0
  315. package/.next/static/chunks/331.fc5d78e1e91daf43.js +1 -0
  316. package/.next/static/chunks/3510.5d4d1c79533e080c.js +1 -0
  317. package/.next/static/chunks/364.ce5400a9dd70b9dc.js +1 -0
  318. package/.next/static/chunks/370.a485dd5092c76362.js +1 -0
  319. package/.next/static/chunks/3789.c418b69121761983.js +1 -0
  320. package/.next/static/chunks/3794-6f271a1eb27dfa20.js +52 -0
  321. package/.next/static/chunks/3831.25ae62d10dccc27a.js +1 -0
  322. package/.next/static/chunks/3a7aa434.9780f397da64eb81.js +82 -0
  323. package/.next/static/chunks/4020.3cc19c463c49f969.js +23 -0
  324. package/.next/static/chunks/4035.f5bcc2e4f0beee2b.js +1 -0
  325. package/.next/static/chunks/405.7027b68fbb48582a.js +215 -0
  326. package/.next/static/chunks/4159.8f53338a07b26845.js +138 -0
  327. package/.next/static/chunks/4208.e3c7f2d5c26dcf2e.js +287 -0
  328. package/.next/static/chunks/4263.ffa8d9bd8a0faaae.js +1 -0
  329. package/.next/static/chunks/4561.70303588b0cd3621.js +34 -0
  330. package/.next/static/chunks/4592.507c41f345e21bee.js +93 -0
  331. package/.next/static/chunks/4799.1d3f2e30954503b8.js +1 -0
  332. package/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
  333. package/.next/static/chunks/514.b804c51b26f5e126.js +1 -0
  334. package/.next/static/chunks/5270.2b9a21b6ce8fd8d2.js +1 -0
  335. package/.next/static/chunks/52733464.74fafefbfa340fc8.js +1 -0
  336. package/.next/static/chunks/5354.b559c717a607dc5c.js +1 -0
  337. package/.next/static/chunks/5448.23a76c3983fec0f6.js +38 -0
  338. package/.next/static/chunks/5772-c8175d2fabf63b95.js +3 -0
  339. package/.next/static/chunks/587.d52737d7288c11b4.js +1 -0
  340. package/.next/static/chunks/5909.172aa3edf289b590.js +115 -0
  341. package/.next/static/chunks/5949.54e8a766895688d7.js +104 -0
  342. package/.next/static/chunks/60c48509.2ba44b5cbe52c6e7.js +158 -0
  343. package/.next/static/chunks/6361.4b1fa56fca9b6356.js +148 -0
  344. package/.next/static/chunks/6774.07517a60a602aadd.js +86 -0
  345. package/.next/static/chunks/6968.b80277c724dbc96e.js +1 -0
  346. package/.next/static/chunks/7236.55a9728d35f5b8a6.js +1 -0
  347. package/.next/static/chunks/7390.bc7f4ed9f76fe9e1.js +1 -0
  348. package/.next/static/chunks/7806.a903780fcfa3a30e.js +1 -0
  349. package/.next/static/chunks/790.45f73b5eb2e089eb.js +1 -0
  350. package/.next/static/chunks/8216.64a72d4d35ea7be0.js +1 -0
  351. package/.next/static/chunks/830.a6da04c322e3204a.js +1 -0
  352. package/.next/static/chunks/8378.6acf715f56997572.js +226 -0
  353. package/.next/static/chunks/8501.3b0a97ac3e782a0f.js +79 -0
  354. package/.next/static/chunks/8663.7deb45d41d190483.js +27 -0
  355. package/.next/static/chunks/872.96937e758ddce860.js +1 -0
  356. package/.next/static/chunks/8803.75bde095fe3613f5.js +1 -0
  357. package/.next/static/chunks/8863.582d77dad0e1cc29.js +1 -0
  358. package/.next/static/chunks/90542734.90283a0c0c838d51.js +1 -0
  359. package/.next/static/chunks/9379.979bec4531e0611a.js +64 -0
  360. package/.next/static/chunks/9389.906fe7aa9cd6a170.js +1 -0
  361. package/.next/static/chunks/9472.08db7006e4a030a4.js +94 -0
  362. package/.next/static/chunks/9647.29c5a9819b36fcda.js +15 -0
  363. package/.next/static/chunks/966.7ab226a15142fae2.js +1 -0
  364. package/.next/static/chunks/975.710b5962d34d4598.js +22 -0
  365. package/.next/static/chunks/9884.fca67f18c0fb2808.js +36 -0
  366. package/.next/static/chunks/9932-60e21347ba9f8664.js +7 -0
  367. package/.next/static/chunks/a339c874.7657a67d1b0d46c1.js +32 -0
  368. package/.next/static/chunks/app/_global-error/page-cbe4231fb889bdce.js +1 -0
  369. package/.next/static/chunks/app/_not-found/page-1e1cf8cba5576cd4.js +1 -0
  370. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-cbe4231fb889bdce.js +1 -0
  371. package/.next/static/chunks/app/api/agent/[id]/events/route-cbe4231fb889bdce.js +1 -0
  372. package/.next/static/chunks/app/api/agent/[id]/lease/route-cbe4231fb889bdce.js +1 -0
  373. package/.next/static/chunks/app/api/agent/[id]/route-cbe4231fb889bdce.js +1 -0
  374. package/.next/static/chunks/app/api/agent/new/route-cbe4231fb889bdce.js +1 -0
  375. package/.next/static/chunks/app/api/agent/running/route-cbe4231fb889bdce.js +1 -0
  376. package/.next/static/chunks/app/api/app-update/route-cbe4231fb889bdce.js +1 -0
  377. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-cbe4231fb889bdce.js +1 -0
  378. package/.next/static/chunks/app/api/auth/login/[provider]/route-cbe4231fb889bdce.js +1 -0
  379. package/.next/static/chunks/app/api/auth/logout/[provider]/route-cbe4231fb889bdce.js +1 -0
  380. package/.next/static/chunks/app/api/auth/providers/route-cbe4231fb889bdce.js +1 -0
  381. package/.next/static/chunks/app/api/cache-miss-notices/route-cbe4231fb889bdce.js +1 -0
  382. package/.next/static/chunks/app/api/cwd/browse/route-cbe4231fb889bdce.js +1 -0
  383. package/.next/static/chunks/app/api/cwd/validate/route-cbe4231fb889bdce.js +1 -0
  384. package/.next/static/chunks/app/api/default-cwd/route-cbe4231fb889bdce.js +1 -0
  385. package/.next/static/chunks/app/api/file-index/route-cbe4231fb889bdce.js +1 -0
  386. package/.next/static/chunks/app/api/files/[...path]/route-cbe4231fb889bdce.js +1 -0
  387. package/.next/static/chunks/app/api/git/diff/route-cbe4231fb889bdce.js +1 -0
  388. package/.next/static/chunks/app/api/git/status/route-cbe4231fb889bdce.js +1 -0
  389. package/.next/static/chunks/app/api/home/route-cbe4231fb889bdce.js +1 -0
  390. package/.next/static/chunks/app/api/mcp/route-cbe4231fb889bdce.js +1 -0
  391. package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-cbe4231fb889bdce.js +1 -0
  392. package/.next/static/chunks/app/api/mcp/sign-in/route-cbe4231fb889bdce.js +1 -0
  393. package/.next/static/chunks/app/api/mcp/test/route-cbe4231fb889bdce.js +1 -0
  394. package/.next/static/chunks/app/api/models/default/route-cbe4231fb889bdce.js +1 -0
  395. package/.next/static/chunks/app/api/models/enabled/route-cbe4231fb889bdce.js +1 -0
  396. package/.next/static/chunks/app/api/models/refresh/route-cbe4231fb889bdce.js +1 -0
  397. package/.next/static/chunks/app/api/models/route-cbe4231fb889bdce.js +1 -0
  398. package/.next/static/chunks/app/api/models-config/catalog/route-cbe4231fb889bdce.js +1 -0
  399. package/.next/static/chunks/app/api/models-config/discover/route-cbe4231fb889bdce.js +1 -0
  400. package/.next/static/chunks/app/api/models-config/route-cbe4231fb889bdce.js +1 -0
  401. package/.next/static/chunks/app/api/models-config/test/route-cbe4231fb889bdce.js +1 -0
  402. package/.next/static/chunks/app/api/open-in-explorer/route-cbe4231fb889bdce.js +1 -0
  403. package/.next/static/chunks/app/api/plugins/check/route-cbe4231fb889bdce.js +1 -0
  404. package/.next/static/chunks/app/api/plugins/route-cbe4231fb889bdce.js +1 -0
  405. package/.next/static/chunks/app/api/project-trust/route-cbe4231fb889bdce.js +1 -0
  406. package/.next/static/chunks/app/api/provider-usage/query/route-cbe4231fb889bdce.js +1 -0
  407. package/.next/static/chunks/app/api/push/config/route-cbe4231fb889bdce.js +1 -0
  408. package/.next/static/chunks/app/api/push/subscribe/route-cbe4231fb889bdce.js +1 -0
  409. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-cbe4231fb889bdce.js +1 -0
  410. package/.next/static/chunks/app/api/sessions/[id]/context/route-cbe4231fb889bdce.js +1 -0
  411. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-cbe4231fb889bdce.js +1 -0
  412. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-cbe4231fb889bdce.js +1 -0
  413. package/.next/static/chunks/app/api/sessions/[id]/export/route-cbe4231fb889bdce.js +1 -0
  414. package/.next/static/chunks/app/api/sessions/[id]/fork/route-cbe4231fb889bdce.js +1 -0
  415. package/.next/static/chunks/app/api/sessions/[id]/route-cbe4231fb889bdce.js +1 -0
  416. package/.next/static/chunks/app/api/sessions/[id]/state/route-cbe4231fb889bdce.js +1 -0
  417. package/.next/static/chunks/app/api/sessions/delete/route-cbe4231fb889bdce.js +1 -0
  418. package/.next/static/chunks/app/api/sessions/route-cbe4231fb889bdce.js +1 -0
  419. package/.next/static/chunks/app/api/sessions/search/route-cbe4231fb889bdce.js +1 -0
  420. package/.next/static/chunks/app/api/sessions/stats/route-cbe4231fb889bdce.js +1 -0
  421. package/.next/static/chunks/app/api/sessions/ui-state/route-cbe4231fb889bdce.js +1 -0
  422. package/.next/static/chunks/app/api/skills/check/route-cbe4231fb889bdce.js +1 -0
  423. package/.next/static/chunks/app/api/skills/content/route-cbe4231fb889bdce.js +1 -0
  424. package/.next/static/chunks/app/api/skills/install/route-cbe4231fb889bdce.js +1 -0
  425. package/.next/static/chunks/app/api/skills/route-cbe4231fb889bdce.js +1 -0
  426. package/.next/static/chunks/app/api/skills/search/route-cbe4231fb889bdce.js +1 -0
  427. package/.next/static/chunks/app/api/skills/update/route-cbe4231fb889bdce.js +1 -0
  428. package/.next/static/chunks/app/api/subagents/[id]/route-cbe4231fb889bdce.js +1 -0
  429. package/.next/static/chunks/app/api/subagents/profiles/route-cbe4231fb889bdce.js +1 -0
  430. package/.next/static/chunks/app/api/subagents/settings/route-cbe4231fb889bdce.js +1 -0
  431. package/.next/static/chunks/app/api/terminal/[id]/events/route-cbe4231fb889bdce.js +1 -0
  432. package/.next/static/chunks/app/api/terminal/[id]/route-cbe4231fb889bdce.js +1 -0
  433. package/.next/static/chunks/app/api/terminal/route-cbe4231fb889bdce.js +1 -0
  434. package/.next/static/chunks/app/api/tools/settings/route-cbe4231fb889bdce.js +1 -0
  435. package/.next/static/chunks/app/api/web-auth/route-cbe4231fb889bdce.js +1 -0
  436. package/.next/static/chunks/app/api/worktrees/route-cbe4231fb889bdce.js +1 -0
  437. package/.next/static/chunks/app/layout-3339966738755d72.js +1 -0
  438. package/.next/static/chunks/app/login/page-3a355df23c47aa56.js +1 -0
  439. package/.next/static/chunks/app/manifest.webmanifest/route-cbe4231fb889bdce.js +1 -0
  440. package/.next/static/chunks/app/page-c6eefaf480702550.js +287 -0
  441. package/.next/static/chunks/d3ac728e-7964f816a1ca64e5.js +1 -0
  442. package/.next/static/chunks/e413bedd.1332b3d1558778d6.js +153 -0
  443. package/.next/static/chunks/e868780c-1584512c612787d7.js +18 -0
  444. package/.next/static/chunks/ea233666.528d9a11a2c6fe2f.js +62 -0
  445. package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
  446. package/.next/static/chunks/main-63ddef04e98b28f4.js +5 -0
  447. package/.next/static/chunks/main-app-a98576891fdd8f60.js +1 -0
  448. package/.next/static/chunks/next/dist/client/components/builtin/app-error-cbe4231fb889bdce.js +1 -0
  449. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-cbe4231fb889bdce.js +1 -0
  450. package/.next/static/chunks/next/dist/client/components/builtin/global-error-30078bc26a2476fc.js +1 -0
  451. package/.next/static/chunks/next/dist/client/components/builtin/not-found-cbe4231fb889bdce.js +1 -0
  452. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cbe4231fb889bdce.js +1 -0
  453. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  454. package/.next/static/chunks/webpack-b6c37de25f933bc6.js +1 -0
  455. package/.next/static/css/49692dbfa6f26eeb.css +1 -0
  456. package/.next/static/css/6d897e2692233627.css +1 -0
  457. package/.next/static/css/9bcd6051db4f8890.css +1 -0
  458. package/.next/static/css/b944d46e6fd6c54d.css +1 -0
  459. package/.next/static/css/c82f0c18392f486f.css +1 -0
  460. package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
  461. package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
  462. package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
  463. package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
  464. package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
  465. package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
  466. package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  467. package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  468. package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  469. package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  470. package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  471. package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  472. package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  473. package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  474. package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  475. package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  476. package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  477. package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  478. package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  479. package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  480. package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  481. package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  482. package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  483. package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  484. package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  485. package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  486. package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  487. package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  488. package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  489. package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  490. package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  491. package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  492. package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  493. package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  494. package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  495. package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  496. package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  497. package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  498. package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  499. package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  500. package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  501. package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  502. package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  503. package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  504. package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  505. package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  506. package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  507. package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  508. package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  509. package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  510. package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  511. package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  512. package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  513. package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  514. package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  515. package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  516. package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  517. package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  518. package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  519. package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  520. package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  521. package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  522. package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  523. package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  524. package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  525. package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  526. package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
  527. package/.next/trace +83 -0
  528. package/.next/trace-build +1 -0
  529. package/.next/types/app/api/agent/[id]/bash-output/route.ts +353 -0
  530. package/.next/types/app/api/agent/[id]/events/route.ts +353 -0
  531. package/.next/types/app/api/agent/[id]/lease/route.ts +353 -0
  532. package/.next/types/app/api/agent/[id]/route.ts +353 -0
  533. package/.next/types/app/api/agent/new/route.ts +353 -0
  534. package/.next/types/app/api/agent/running/route.ts +353 -0
  535. package/.next/types/app/api/app-update/route.ts +353 -0
  536. package/.next/types/app/api/auth/api-key/[provider]/route.ts +353 -0
  537. package/.next/types/app/api/auth/login/[provider]/route.ts +353 -0
  538. package/.next/types/app/api/auth/logout/[provider]/route.ts +353 -0
  539. package/.next/types/app/api/auth/providers/route.ts +353 -0
  540. package/.next/types/app/api/cache-miss-notices/route.ts +353 -0
  541. package/.next/types/app/api/cwd/browse/route.ts +353 -0
  542. package/.next/types/app/api/cwd/validate/route.ts +353 -0
  543. package/.next/types/app/api/default-cwd/route.ts +353 -0
  544. package/.next/types/app/api/file-index/route.ts +353 -0
  545. package/.next/types/app/api/files/[...path]/route.ts +353 -0
  546. package/.next/types/app/api/git/diff/route.ts +353 -0
  547. package/.next/types/app/api/git/status/route.ts +353 -0
  548. package/.next/types/app/api/home/route.ts +353 -0
  549. package/.next/types/app/api/mcp/route.ts +353 -0
  550. package/.next/types/app/api/mcp/sign-in/[flowId]/route.ts +353 -0
  551. package/.next/types/app/api/mcp/sign-in/route.ts +353 -0
  552. package/.next/types/app/api/mcp/test/route.ts +353 -0
  553. package/.next/types/app/api/models/default/route.ts +353 -0
  554. package/.next/types/app/api/models/enabled/route.ts +353 -0
  555. package/.next/types/app/api/models/refresh/route.ts +353 -0
  556. package/.next/types/app/api/models/route.ts +353 -0
  557. package/.next/types/app/api/models-config/catalog/route.ts +353 -0
  558. package/.next/types/app/api/models-config/discover/route.ts +353 -0
  559. package/.next/types/app/api/models-config/route.ts +353 -0
  560. package/.next/types/app/api/models-config/test/route.ts +353 -0
  561. package/.next/types/app/api/open-in-explorer/route.ts +353 -0
  562. package/.next/types/app/api/plugins/check/route.ts +353 -0
  563. package/.next/types/app/api/plugins/route.ts +353 -0
  564. package/.next/types/app/api/project-trust/route.ts +353 -0
  565. package/.next/types/app/api/provider-usage/query/route.ts +353 -0
  566. package/.next/types/app/api/push/config/route.ts +353 -0
  567. package/.next/types/app/api/push/subscribe/route.ts +353 -0
  568. package/.next/types/app/api/sessions/[id]/auto-name/route.ts +353 -0
  569. package/.next/types/app/api/sessions/[id]/context/route.ts +353 -0
  570. package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +353 -0
  571. package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +353 -0
  572. package/.next/types/app/api/sessions/[id]/export/route.ts +353 -0
  573. package/.next/types/app/api/sessions/[id]/fork/route.ts +353 -0
  574. package/.next/types/app/api/sessions/[id]/route.ts +353 -0
  575. package/.next/types/app/api/sessions/[id]/state/route.ts +353 -0
  576. package/.next/types/app/api/sessions/delete/route.ts +353 -0
  577. package/.next/types/app/api/sessions/route.ts +353 -0
  578. package/.next/types/app/api/sessions/search/route.ts +353 -0
  579. package/.next/types/app/api/sessions/stats/route.ts +353 -0
  580. package/.next/types/app/api/sessions/ui-state/route.ts +353 -0
  581. package/.next/types/app/api/skills/check/route.ts +353 -0
  582. package/.next/types/app/api/skills/content/route.ts +353 -0
  583. package/.next/types/app/api/skills/install/route.ts +353 -0
  584. package/.next/types/app/api/skills/route.ts +353 -0
  585. package/.next/types/app/api/skills/search/route.ts +353 -0
  586. package/.next/types/app/api/skills/update/route.ts +353 -0
  587. package/.next/types/app/api/subagents/[id]/route.ts +353 -0
  588. package/.next/types/app/api/subagents/profiles/route.ts +353 -0
  589. package/.next/types/app/api/subagents/settings/route.ts +353 -0
  590. package/.next/types/app/api/terminal/[id]/events/route.ts +353 -0
  591. package/.next/types/app/api/terminal/[id]/route.ts +353 -0
  592. package/.next/types/app/api/terminal/route.ts +353 -0
  593. package/.next/types/app/api/tools/settings/route.ts +353 -0
  594. package/.next/types/app/api/web-auth/route.ts +353 -0
  595. package/.next/types/app/api/worktrees/route.ts +353 -0
  596. package/.next/types/app/layout.ts +89 -0
  597. package/.next/types/app/login/page.ts +89 -0
  598. package/.next/types/app/page.ts +89 -0
  599. package/.next/types/cache-life.d.ts +146 -0
  600. package/.next/types/package.json +1 -0
  601. package/.next/types/root-params.d.ts +3 -0
  602. package/.next/types/routes.d.ts +140 -0
  603. package/.next/types/validator.ts +682 -0
  604. package/LICENSE +22 -0
  605. package/README.md +208 -2
  606. package/bin/browser-opener.js +34 -0
  607. package/bin/node-version.js +35 -0
  608. package/bin/pi-web-commands.js +118 -0
  609. package/bin/pi-web-node-args.js +11 -0
  610. package/bin/pi-web-options.js +141 -0
  611. package/bin/pi-web-update.js +148 -0
  612. package/bin/pi-web.js +157 -0
  613. package/bin/prepare-terminal.js +14 -0
  614. package/bin/process-lifecycle.js +81 -0
  615. package/bin/rotate-preview-secrets.js +105 -0
  616. package/bin/run-records.js +212 -0
  617. package/next.config.ts +110 -0
  618. package/package.json +105 -4
  619. package/public/icons/apple-touch-icon.png +0 -0
  620. package/public/icons/catppuccin/LICENSE +22 -0
  621. package/public/icons/catppuccin/README.md +10 -0
  622. package/public/icons/catppuccin/latte/_file.svg +3 -0
  623. package/public/icons/catppuccin/latte/_folder.svg +3 -0
  624. package/public/icons/catppuccin/latte/_folder_open.svg +3 -0
  625. package/public/icons/catppuccin/latte/bash.svg +7 -0
  626. package/public/icons/catppuccin/latte/bun-lock.svg +8 -0
  627. package/public/icons/catppuccin/latte/config.svg +3 -0
  628. package/public/icons/catppuccin/latte/css.svg +6 -0
  629. package/public/icons/catppuccin/latte/database.svg +3 -0
  630. package/public/icons/catppuccin/latte/docker.svg +3 -0
  631. package/public/icons/catppuccin/latte/env.svg +3 -0
  632. package/public/icons/catppuccin/latte/eslint.svg +6 -0
  633. package/public/icons/catppuccin/latte/git.svg +6 -0
  634. package/public/icons/catppuccin/latte/go.svg +3 -0
  635. package/public/icons/catppuccin/latte/graphql.svg +3 -0
  636. package/public/icons/catppuccin/latte/html.svg +6 -0
  637. package/public/icons/catppuccin/latte/javascript-react.svg +8 -0
  638. package/public/icons/catppuccin/latte/javascript.svg +6 -0
  639. package/public/icons/catppuccin/latte/json.svg +3 -0
  640. package/public/icons/catppuccin/latte/lock.svg +3 -0
  641. package/public/icons/catppuccin/latte/markdown.svg +3 -0
  642. package/public/icons/catppuccin/latte/ms-word.svg +6 -0
  643. package/public/icons/catppuccin/latte/next.svg +6 -0
  644. package/public/icons/catppuccin/latte/npm-lock.svg +7 -0
  645. package/public/icons/catppuccin/latte/pdf.svg +3 -0
  646. package/public/icons/catppuccin/latte/python.svg +8 -0
  647. package/public/icons/catppuccin/latte/rust.svg +6 -0
  648. package/public/icons/catppuccin/latte/sass.svg +3 -0
  649. package/public/icons/catppuccin/latte/terraform.svg +3 -0
  650. package/public/icons/catppuccin/latte/toml.svg +3 -0
  651. package/public/icons/catppuccin/latte/typescript-react.svg +8 -0
  652. package/public/icons/catppuccin/latte/typescript.svg +6 -0
  653. package/public/icons/catppuccin/latte/yaml.svg +3 -0
  654. package/public/icons/catppuccin/mocha/_file.svg +3 -0
  655. package/public/icons/catppuccin/mocha/_folder.svg +3 -0
  656. package/public/icons/catppuccin/mocha/_folder_open.svg +3 -0
  657. package/public/icons/catppuccin/mocha/bash.svg +7 -0
  658. package/public/icons/catppuccin/mocha/bun-lock.svg +8 -0
  659. package/public/icons/catppuccin/mocha/config.svg +3 -0
  660. package/public/icons/catppuccin/mocha/css.svg +6 -0
  661. package/public/icons/catppuccin/mocha/database.svg +3 -0
  662. package/public/icons/catppuccin/mocha/docker.svg +3 -0
  663. package/public/icons/catppuccin/mocha/env.svg +3 -0
  664. package/public/icons/catppuccin/mocha/eslint.svg +6 -0
  665. package/public/icons/catppuccin/mocha/git.svg +6 -0
  666. package/public/icons/catppuccin/mocha/go.svg +3 -0
  667. package/public/icons/catppuccin/mocha/graphql.svg +3 -0
  668. package/public/icons/catppuccin/mocha/html.svg +6 -0
  669. package/public/icons/catppuccin/mocha/javascript-react.svg +8 -0
  670. package/public/icons/catppuccin/mocha/javascript.svg +6 -0
  671. package/public/icons/catppuccin/mocha/json.svg +3 -0
  672. package/public/icons/catppuccin/mocha/lock.svg +3 -0
  673. package/public/icons/catppuccin/mocha/markdown.svg +3 -0
  674. package/public/icons/catppuccin/mocha/ms-word.svg +6 -0
  675. package/public/icons/catppuccin/mocha/next.svg +6 -0
  676. package/public/icons/catppuccin/mocha/npm-lock.svg +7 -0
  677. package/public/icons/catppuccin/mocha/pdf.svg +3 -0
  678. package/public/icons/catppuccin/mocha/python.svg +8 -0
  679. package/public/icons/catppuccin/mocha/rust.svg +6 -0
  680. package/public/icons/catppuccin/mocha/sass.svg +3 -0
  681. package/public/icons/catppuccin/mocha/terraform.svg +3 -0
  682. package/public/icons/catppuccin/mocha/toml.svg +3 -0
  683. package/public/icons/catppuccin/mocha/typescript-react.svg +8 -0
  684. package/public/icons/catppuccin/mocha/typescript.svg +6 -0
  685. package/public/icons/catppuccin/mocha/yaml.svg +3 -0
  686. package/public/icons/icon-192.png +0 -0
  687. package/public/icons/icon-512.png +0 -0
  688. package/public/offline.html +83 -0
  689. package/public/provider-icons.svg +54 -0
  690. package/public/sw.js +183 -0
  691. package/public/sw.test.mjs +339 -0
@@ -0,0 +1,4 @@
1
+ (()=>{var a={};a.id=6252,a.ids=[6252],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14566:a=>{"use strict";a.exports=require("node-pty")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},21241:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/terminal/[id]/events/route",pathname:"/api/terminal/[id]/events",filename:"route",bundlePath:"app/api/terminal/[id]/events/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pi-web/pi-web/app/api/terminal/[id]/events/route.ts",nextConfigOutput:"",userland:()=>c(49907),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/[id]/events/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49907:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>g,dynamic:()=>e,runtime:()=>f});var d=c(73968);let e="force-dynamic",f="nodejs";async function g(a,{params:b}){let{id:c}=await b;if(!(0,d.hr)(c))return new Response("Terminal not found",{status:404});let e=a.headers.get("last-event-id")??new URL(a.url).searchParams.get("after"),f=null!==e&&/^\d+$/.test(e)&&Number.isSafeInteger(Number(e))?Number(e):void 0,h=()=>{};return new Response(new ReadableStream({start(b){let e=new TextEncoder,g=!1,i=null,j=null,k=c=>{if(!g&&(g=!0,i&&clearInterval(i),j?.(),a.signal.removeEventListener("abort",l),c))try{b.close()}catch{}},l=()=>k(!0),m=a=>{if(!g)try{if((b.desiredSize??0)<=0)return void k(!0);let c="output"===a.type?`id: ${a.offset}
2
+ `:"";b.enqueue(e.encode(`${c}data: ${JSON.stringify(a)}
3
+
4
+ `)),("exit"===a.type||"closed"===a.type)&&k(!0)}catch{k(!1)}};h=k;let n=(0,d.BJ)(c,m,f);if(!n)return void k(!0);if(j=n.unsubscribe,b.enqueue(e.encode(":\n\n")),m(n.output),n.exited&&m({type:"exit",exitCode:n.exitCode??0}),!g){if(a.signal.addEventListener("abort",l,{once:!0}),a.signal.aborted)return void l();i=setInterval(()=>{try{(b.desiredSize??0)<=0?k(!0):g||b.enqueue(e.encode(":\n\n"))}catch{k(!1)}},3e4)}},cancel(){h(!1)}},{highWaterMark:262144,size:a=>a.byteLength}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}},55511:a=>{"use strict";a.exports=require("crypto")},58864:(a,b,c)=>{"use strict";c.d(b,{A_:()=>g,Eb:()=>k,W3:()=>i,gB:()=>h,uK:()=>f});var d=c(33873);let e=/^[a-zA-Z]:[\\/]/;function f(a){return e.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function g(a){let b=a.join("/"),c=i(b);return/^[a-zA-Z]:$/.test(c)?`${c}/`:f(c)?c:"/"+b.replace(/^\/+/,"")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a){return a.replace(/\\/g,"/")}function j(a){let b=(0,d.normalize)(h(a)),c=(0,d.parse)(b).root.length,e=b.length;for(;e>c&&b[e-1]===d.sep;)e--;return b.slice(0,e)}function k(a,b){if(a===b)return!0;if(!a||!b)return!1;let c=j(a),d=j(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73968:(a,b,c)=>{"use strict";c.d(b,{BJ:()=>n,BY:()=>q,Bb:()=>m,Nu:()=>p,OA:()=>o,PB:()=>k,hr:()=>l});var d=c(55511),e=c(21820),f=c(58864);function g(){if(!globalThis.__piWebTerminals){globalThis.__piWebTerminals=new Map;let a=()=>{for(let a of globalThis.__piWebTerminals.keys())q(a,!0)};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piWebTerminals}function h(a,b){for(let c of a.listeners)c(b)}function i(a,b){b.cleanupTimer||b.listeners.size||g().get(a)!==b||(b.cleanupTimer=setTimeout(()=>q(a),12e4),b.cleanupTimer.unref?.())}function j(a,b){return Math.min(1e3,Math.max(2,Number.isFinite(a)?Math.floor(a):b))}function k(a,b,l,m=(0,d.randomUUID)()){let n,o=g().get(m);if(o){if(!(0,f.Eb)(o.cwd,a))throw Error("Terminal belongs to a different workspace");return m}try{({spawn:n}=c(14566))}catch(a){throw Error(`Cannot load the node-pty native terminal module for ${process.platform}-${process.arch}. The binary may be missing or incompatible. In the pi-web installation directory (the npx cache directory when using npx), run: npm rebuild node-pty --build-from-source --ignore-scripts=false --foreground-scripts. On Debian/Ubuntu, install build tools first: sudo apt-get install -y python3 build-essential. Then restart pi-web. Original error: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let p=n("win32"===process.platform?process.env.ComSpec??"cmd.exe":process.env.SHELL||"/bin/sh","win32"===process.platform?[]:["-l"],{name:"xterm-256color",cols:j(b,80),rows:j(l,24),cwd:a||(0,e.homedir)(),env:function(){let a={};for(let[b,c]of Object.entries(process.env)){let d="win32"===process.platform?b.toUpperCase():b;void 0!==c&&"PI_WEB_PASSWORD"!==d&&(a[b]=c)}return a.TERM="xterm-256color",a.COLORTERM="truecolor",process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||(a.LANG="C.UTF-8"),a}()}),q={pty:p,cwd:a,listeners:new Set,backlog:"",offset:0,exited:!1,exitCode:null,cleanupTimer:null};return g().set(m,q),i(m,q),p.onData(a=>{q.backlog=(q.backlog+a).slice(-131072),q.offset+=a.length,h(q,{type:"output",data:a,offset:q.offset})}),p.onExit(({exitCode:a})=>{q.cleanupTimer&&clearTimeout(q.cleanupTimer),q.cleanupTimer=null,q.exited=!0,q.exitCode=a,h(q,{type:"exit",exitCode:a}),i(m,q)}),m}function l(a){return g().has(a)}function m(a){return g().get(a)?.cwd}function n(a,b,c){let d=g().get(a);if(!d)return null;d.listeners.add(b),d.cleanupTimer&&clearTimeout(d.cleanupTimer),d.cleanupTimer=null;let e=d.offset-d.backlog.length,f=void 0===c||c<e||c>d.offset;return{output:{type:"output",data:f?d.backlog:d.backlog.slice(c-e),offset:d.offset,reset:f},exited:d.exited,exitCode:d.exitCode,unsubscribe:()=>{d.listeners.delete(b),i(a,d)}}}function o(a,b){let c=g().get(a);return!!c&&!c.exited&&(c.pty.write(b),!0)}function p(a,b,c){let d=g().get(a);return!!d&&!d.exited&&(d.pty.resize(j(b,80),j(c,24)),!0)}function q(a,b=!1){let c=g().get(a);return!!c&&(c.cleanupTimer&&clearTimeout(c.cleanupTimer),g().delete(a),!c.exited&&(c.pty.kill(b?"SIGKILL":void 0),b||(c.cleanupTimer=setTimeout(()=>{c.exited||c.pty.kill("SIGKILL")},2e3),c.cleanupTimer.unref?.())),h(c,{type:"closed"}),c.listeners.clear(),!0)}},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970],()=>b(b.s=21241));module.exports=c})();
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/terminal/[id]/events/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/terminal/[id]/events/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=4524,a.ids=[4524],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},10847:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>j,GET:()=>h,POST:()=>i,dynamic:()=>f,runtime:()=>g});var d=c(23211),e=c(73968);let f="force-dynamic",g="nodejs";async function h(a,{params:b}){let{id:c}=await b,f=(0,e.Bb)(c);return f?d.NextResponse.json({id:c,cwd:f}):d.NextResponse.json({error:"Terminal expired or closed"},{status:404})}async function i(a,{params:b}){try{let{id:c}=await b,f=await a.json();if("input"===f.type&&"string"==typeof f.data&&f.data.length<=65536)return(0,e.OA)(c,f.data)?d.NextResponse.json({success:!0}):d.NextResponse.json({error:"Terminal not found"},{status:404});if("resize"===f.type&&Number.isInteger(f.cols)&&Number.isInteger(f.rows)&&f.cols>=2&&f.cols<=1e3&&f.rows>=1&&f.rows<=1e3)return(0,e.Nu)(c,f.cols,Math.max(2,f.rows))?d.NextResponse.json({success:!0}):d.NextResponse.json({error:"Terminal not found"},{status:404});return d.NextResponse.json({error:"Invalid terminal command"},{status:400})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}async function j(a,{params:b}){let{id:c}=await b;return(0,e.BY)(c),d.NextResponse.json({success:!0})}},14566:a=>{"use strict";a.exports=require("node-pty")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},56617:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/terminal/[id]/route",pathname:"/api/terminal/[id]",filename:"route",bundlePath:"app/api/terminal/[id]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pi-web/pi-web/app/api/terminal/[id]/route.ts",nextConfigOutput:"",userland:()=>c(10847),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/[id]/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},58864:(a,b,c)=>{"use strict";c.d(b,{A_:()=>g,Eb:()=>k,W3:()=>i,gB:()=>h,uK:()=>f});var d=c(33873);let e=/^[a-zA-Z]:[\\/]/;function f(a){return e.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function g(a){let b=a.join("/"),c=i(b);return/^[a-zA-Z]:$/.test(c)?`${c}/`:f(c)?c:"/"+b.replace(/^\/+/,"")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a){return a.replace(/\\/g,"/")}function j(a){let b=(0,d.normalize)(h(a)),c=(0,d.parse)(b).root.length,e=b.length;for(;e>c&&b[e-1]===d.sep;)e--;return b.slice(0,e)}function k(a,b){if(a===b)return!0;if(!a||!b)return!1;let c=j(a),d=j(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73968:(a,b,c)=>{"use strict";c.d(b,{BJ:()=>n,BY:()=>q,Bb:()=>m,Nu:()=>p,OA:()=>o,PB:()=>k,hr:()=>l});var d=c(55511),e=c(21820),f=c(58864);function g(){if(!globalThis.__piWebTerminals){globalThis.__piWebTerminals=new Map;let a=()=>{for(let a of globalThis.__piWebTerminals.keys())q(a,!0)};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piWebTerminals}function h(a,b){for(let c of a.listeners)c(b)}function i(a,b){b.cleanupTimer||b.listeners.size||g().get(a)!==b||(b.cleanupTimer=setTimeout(()=>q(a),12e4),b.cleanupTimer.unref?.())}function j(a,b){return Math.min(1e3,Math.max(2,Number.isFinite(a)?Math.floor(a):b))}function k(a,b,l,m=(0,d.randomUUID)()){let n,o=g().get(m);if(o){if(!(0,f.Eb)(o.cwd,a))throw Error("Terminal belongs to a different workspace");return m}try{({spawn:n}=c(14566))}catch(a){throw Error(`Cannot load the node-pty native terminal module for ${process.platform}-${process.arch}. The binary may be missing or incompatible. In the pi-web installation directory (the npx cache directory when using npx), run: npm rebuild node-pty --build-from-source --ignore-scripts=false --foreground-scripts. On Debian/Ubuntu, install build tools first: sudo apt-get install -y python3 build-essential. Then restart pi-web. Original error: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let p=n("win32"===process.platform?process.env.ComSpec??"cmd.exe":process.env.SHELL||"/bin/sh","win32"===process.platform?[]:["-l"],{name:"xterm-256color",cols:j(b,80),rows:j(l,24),cwd:a||(0,e.homedir)(),env:function(){let a={};for(let[b,c]of Object.entries(process.env)){let d="win32"===process.platform?b.toUpperCase():b;void 0!==c&&"PI_WEB_PASSWORD"!==d&&(a[b]=c)}return a.TERM="xterm-256color",a.COLORTERM="truecolor",process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||(a.LANG="C.UTF-8"),a}()}),q={pty:p,cwd:a,listeners:new Set,backlog:"",offset:0,exited:!1,exitCode:null,cleanupTimer:null};return g().set(m,q),i(m,q),p.onData(a=>{q.backlog=(q.backlog+a).slice(-131072),q.offset+=a.length,h(q,{type:"output",data:a,offset:q.offset})}),p.onExit(({exitCode:a})=>{q.cleanupTimer&&clearTimeout(q.cleanupTimer),q.cleanupTimer=null,q.exited=!0,q.exitCode=a,h(q,{type:"exit",exitCode:a}),i(m,q)}),m}function l(a){return g().has(a)}function m(a){return g().get(a)?.cwd}function n(a,b,c){let d=g().get(a);if(!d)return null;d.listeners.add(b),d.cleanupTimer&&clearTimeout(d.cleanupTimer),d.cleanupTimer=null;let e=d.offset-d.backlog.length,f=void 0===c||c<e||c>d.offset;return{output:{type:"output",data:f?d.backlog:d.backlog.slice(c-e),offset:d.offset,reset:f},exited:d.exited,exitCode:d.exitCode,unsubscribe:()=>{d.listeners.delete(b),i(a,d)}}}function o(a,b){let c=g().get(a);return!!c&&!c.exited&&(c.pty.write(b),!0)}function p(a,b,c){let d=g().get(a);return!!d&&!d.exited&&(d.pty.resize(j(b,80),j(c,24)),!0)}function q(a,b=!1){let c=g().get(a);return!!c&&(c.cleanupTimer&&clearTimeout(c.cleanupTimer),g().delete(a),!c.exited&&(c.pty.kill(b?"SIGKILL":void 0),b||(c.cleanupTimer=setTimeout(()=>{c.exited||c.pty.kill("SIGKILL")},2e3),c.cleanupTimer.unref?.())),h(c,{type:"closed"}),c.listeners.clear(),!0)}},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=56617));module.exports=c})();
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/terminal/[id]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/terminal/[id]/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=2614,a.ids=[2614],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14566:a=>{a.exports=require("node-pty")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},45561:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/terminal/route",pathname:"/api/terminal",filename:"route",bundlePath:"app/api/terminal/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pi-web/pi-web/app/api/terminal/route.ts",nextConfigOutput:"",userland:()=>c(47709),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},47709:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>l,runtime:()=>m});var e=c(79748),f=c(33873),g=c(23211),h=c(80547),i=c(73968),j=a([h]);h=(j.then?(await j)():j)[0];let l="force-dynamic",m="nodejs";async function k(a){try{let b=await a.json();if(void 0!==b.id&&("string"!=typeof b.id||!/^[a-f0-9]{32}$/.test(b.id)))return g.NextResponse.json({error:"Invalid terminal id"},{status:400});if("string"!=typeof b.cwd||!b.cwd.trim())return g.NextResponse.json({error:"cwd required"},{status:400});let c=(0,f.resolve)(b.cwd);if(!(await (0,e.stat)(c)).isDirectory())return g.NextResponse.json({error:"cwd must be a directory"},{status:400});let d=await (0,h.mc)();if(!(0,h.B7)(c,d))return g.NextResponse.json({error:"Access denied"},{status:403});let j=(0,i.PB)(c,"number"==typeof b.cols?b.cols:80,"number"==typeof b.rows?b.rows:24,b.id);return g.NextResponse.json({id:j})}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73968:(a,b,c)=>{c.d(b,{BJ:()=>n,BY:()=>q,Bb:()=>m,Nu:()=>p,OA:()=>o,PB:()=>k,hr:()=>l});var d=c(55511),e=c(21820),f=c(58864);function g(){if(!globalThis.__piWebTerminals){globalThis.__piWebTerminals=new Map;let a=()=>{for(let a of globalThis.__piWebTerminals.keys())q(a,!0)};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piWebTerminals}function h(a,b){for(let c of a.listeners)c(b)}function i(a,b){b.cleanupTimer||b.listeners.size||g().get(a)!==b||(b.cleanupTimer=setTimeout(()=>q(a),12e4),b.cleanupTimer.unref?.())}function j(a,b){return Math.min(1e3,Math.max(2,Number.isFinite(a)?Math.floor(a):b))}function k(a,b,l,m=(0,d.randomUUID)()){let n,o=g().get(m);if(o){if(!(0,f.Eb)(o.cwd,a))throw Error("Terminal belongs to a different workspace");return m}try{({spawn:n}=c(14566))}catch(a){throw Error(`Cannot load the node-pty native terminal module for ${process.platform}-${process.arch}. The binary may be missing or incompatible. In the pi-web installation directory (the npx cache directory when using npx), run: npm rebuild node-pty --build-from-source --ignore-scripts=false --foreground-scripts. On Debian/Ubuntu, install build tools first: sudo apt-get install -y python3 build-essential. Then restart pi-web. Original error: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let p=n("win32"===process.platform?process.env.ComSpec??"cmd.exe":process.env.SHELL||"/bin/sh","win32"===process.platform?[]:["-l"],{name:"xterm-256color",cols:j(b,80),rows:j(l,24),cwd:a||(0,e.homedir)(),env:function(){let a={};for(let[b,c]of Object.entries(process.env)){let d="win32"===process.platform?b.toUpperCase():b;void 0!==c&&"PI_WEB_PASSWORD"!==d&&(a[b]=c)}return a.TERM="xterm-256color",a.COLORTERM="truecolor",process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||(a.LANG="C.UTF-8"),a}()}),q={pty:p,cwd:a,listeners:new Set,backlog:"",offset:0,exited:!1,exitCode:null,cleanupTimer:null};return g().set(m,q),i(m,q),p.onData(a=>{q.backlog=(q.backlog+a).slice(-131072),q.offset+=a.length,h(q,{type:"output",data:a,offset:q.offset})}),p.onExit(({exitCode:a})=>{q.cleanupTimer&&clearTimeout(q.cleanupTimer),q.cleanupTimer=null,q.exited=!0,q.exitCode=a,h(q,{type:"exit",exitCode:a}),i(m,q)}),m}function l(a){return g().has(a)}function m(a){return g().get(a)?.cwd}function n(a,b,c){let d=g().get(a);if(!d)return null;d.listeners.add(b),d.cleanupTimer&&clearTimeout(d.cleanupTimer),d.cleanupTimer=null;let e=d.offset-d.backlog.length,f=void 0===c||c<e||c>d.offset;return{output:{type:"output",data:f?d.backlog:d.backlog.slice(c-e),offset:d.offset,reset:f},exited:d.exited,exitCode:d.exitCode,unsubscribe:()=>{d.listeners.delete(b),i(a,d)}}}function o(a,b){let c=g().get(a);return!!c&&!c.exited&&(c.pty.write(b),!0)}function p(a,b,c){let d=g().get(a);return!!d&&!d.exited&&(d.pty.resize(j(b,80),j(c,24)),!0)}function q(a,b=!1){let c=g().get(a);return!!c&&(c.cleanupTimer&&clearTimeout(c.cleanupTimer),g().delete(a),!c.exited&&(c.pty.kill(b?"SIGKILL":void 0),b||(c.cleanupTimer=setTimeout(()=>{c.exited||c.pty.kill("SIGKILL")},2e3),c.cleanupTimer.unref?.())),h(c,{type:"closed"}),c.listeners.clear(),!0)}},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(58864),i=a([g]);async function j(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,5582],()=>b(b.s=45561));module.exports=c})();
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/terminal/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/terminal/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=6293,a.ids=[6293],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},305:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Up:()=>n,dp:()=>m,e5:()=>k,wQ:()=>i});var e=c(10674),f=a([e]);e=(f.then?(await f)():f)[0];let o=["read","bash","edit","write"],p=new Set(["bash","powershell"]);function g(a,b=process.platform){return"win32"===b&&a?.includes("powershell")===!0&&!a.includes("bash")}function h(a,b){let c=b?"powershell":"bash",d=[];for(let b of a){let a=p.has(b)?c:b;d.includes(a)||d.push(a)}return d}function i(a,b,c=process.platform){return h(a,g(b,c))}function j(a){return a.startsWith("+")||a.startsWith("-")}function k(a){let b=a.filter(a=>!j(a)),c=b.length>0||0===a.length?b:[...o];for(let b of a){if(!j(b))continue;let a=b.slice(1),d=c.indexOf(a);b.startsWith("+")&&-1===d&&a?c.push(a):b.startsWith("-")&&-1!==d&&c.splice(d,1)}return c}function l(a){let b=(0,e.cj)(a);return void 0===b?void 0:k(b)}async function m(a=(0,e.WD)(void 0),b=process.platform){return(0,e.lz)(a,a=>g(l(a),b))}async function n(a,b=(0,e.WD)(void 0),c=process.platform){if("win32"!==c)throw Error("PowerShell tool settings are only available on Windows");return await (0,e.AC)(b,b=>{let c=l(b)??o,d=h(c,a);c.some(a=>p.has(a))||d.push(a?"powershell":"bash"),b.defaultTools=d}),a}d()}catch(a){d(a)}})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10674:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>o,WD:()=>k,cj:()=>m,lz:()=>n});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if("object"!=typeof b||null===b||Array.isArray(b))throw Error("Invalid settings.json: expected an object");return b}function m(a){if(void 0!==a.defaultTools){if(!Array.isArray(a.defaultTools)||a.defaultTools.some(a=>"string"!=typeof a))throw Error("Invalid settings.json: defaultTools must be an array of strings");return[...a.defaultTools]}}async function n(a,b){if(!(0,e.existsSync)(a))return b({});let c=await i().lock(a,{realpath:!1,retries:10});try{return b(l(a))}finally{await c()}}async function o(a,b){(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{(0,e.writeFileSync)(a,"{}",{flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let c=await i().lock(a,{realpath:!1,retries:10});try{let c=l(a),d=b(c);return(0,e.writeFileSync)(a,JSON.stringify(c,null,2),"utf8"),(0,e.chmodSync)(a,384),d}finally{await c()}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20591:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/tools/settings/route",pathname:"/api/tools/settings",filename:"route",bundlePath:"app/api/tools/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pi-web/pi-web/app/api/tools/settings/route.ts",nextConfigOutput:"",userland:()=>c(32280),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tools/settings/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32280:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m,PUT:()=>n,dynamic:()=>o});var e=c(23211),f=c(41228),g=c(66544),h=c(305),i=a([f,h]);[f,h]=i.then?(await i)():i;let o="force-dynamic",p=["enabled","codemode","codemodeMode","codemodeInlineBudget"];function j(a,b,c){return e.NextResponse.json({error:c,reason:b},{status:a})}function k(a){return j(500,"internal",a instanceof Error?a.message:String(a))}async function l(){let a=await (0,h.dp)(),b=await (0,f.wS)(),{mode:c,inlineBudget:d}=await (0,f.yH)();return{isWindows:"win32"===process.platform,powerShellEnabled:a,codemode:b,codemodeMode:c,codemodeInlineBudget:d}}async function m(){try{return e.NextResponse.json(await l())}catch(a){return k(a)}}async function n(a){let b;if(!(0,g.EN)(a))return j(403,"request-denied","Untrusted API request");if(!(0,g.E2)(a))return j(415,"content-type","Content-Type must be application/json");try{b=await a.json()}catch{return j(400,"invalid-request","Invalid JSON body")}if("object"!=typeof b||null===b||Array.isArray(b))return j(400,"invalid-request","Expected a JSON object");let c=b;if(1!==p.filter(a=>a in c).length)return j(400,"invalid-request","Send one of enabled (PowerShell), codemode, codemodeMode or codemodeInlineBudget");if("codemodeMode"in c){if(!(0,f.yK)(c.codemodeMode))return j(400,"invalid-request",'codemodeMode must be "on" or "only"');try{return await (0,f.hy)(c.codemodeMode),e.NextResponse.json(await l())}catch(a){return k(a)}}if("codemodeInlineBudget"in c){let a=c.codemodeInlineBudget;if(null!==a&&!(0,f.Te)(a))return j(400,"invalid-request",`codemodeInlineBudget must be a whole number from 0 to ${f.mz}, or null`);try{return await (0,f.i7)(a??void 0),e.NextResponse.json(await l())}catch(a){return k(a)}}if("codemode"in c){if(!(0,f.cY)(c.codemode))return j(400,"invalid-request",'codemode must be "automatic" or "always"');try{return await (0,f.ZZ)(c.codemode),e.NextResponse.json(await l())}catch(a){return k(a)}}if("win32"!==process.platform)return j(404,"invalid-request","PowerShell tool settings are only available on Windows");if("boolean"!=typeof c.enabled)return j(400,"invalid-request","enabled must be a boolean");try{return await (0,h.Up)(c.enabled),e.NextResponse.json(await l())}catch(a){return k(a)}}d()}catch(a){d(a)}})},33873:a=>{"use strict";a.exports=require("path")},37431:(a,b,c)=>{"use strict";c.d(b,{T:()=>f,y:()=>g});var d=c(73024);let e=d.constants.O_RDONLY|(d.constants.O_NONBLOCK||0),f=1048576;function g(a,b){let c;try{c=(0,d.openSync)(a,e)}catch(b){let a;if("ENOENT"===(a=b?.code)||"ENOTDIR"===a)return;throw b}try{let e=(0,d.fstatSync)(c);if(!e.isFile())throw Error(`${a} is not a regular file`);if(void 0===b)return(0,d.readFileSync)(c,"utf8");if(e.size>b)throw Error(`${a} is larger than ${b} bytes`);let f=b+1,g=[],h=0;for(;h<f;){let a=Buffer.alloc(Math.min(f-h,65536)),b=(0,d.readSync)(c,a,0,a.length,null);if(0===b)break;g.push(a.subarray(0,b)),h+=b}if(h>b)throw Error(`${a} is larger than ${b} bytes`);return Buffer.concat(g,h).toString("utf8")}finally{(0,d.closeSync)(c)}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},78335:()=>{},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,974,1207],()=>b(b.s=20591));module.exports=c})();
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/tools/settings/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/tools/settings/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=6031,a.ids=[6031],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10446:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>u,GET:()=>s,POST:()=>t,dynamic:()=>q});var d=c(23211);function e(){return{failures:0,lastFailureAt:0,blockedUntil:0}}function f(){var a;let b=globalThis,c=Symbol.for("pi-web:auth-throttle"),d=b[c];if("object"==typeof(a=d)&&null!==a&&"number"==typeof a.failures&&"number"==typeof a.lastFailureAt&&"number"==typeof a.blockedUntil)return d;let f=e();return b[c]=f,f}function g(a,b){a.failures>0&&b-a.lastFailureAt>=3e5&&Object.assign(a,e())}function h(a){return Math.max(1,Math.ceil(a/1e3))}var i=c(66544),j=c(77598);let k="pi_web_session";function l(a){return(0,j.createHash)("sha256").update(a,"utf8").digest()}function m(a,b){return(0,j.timingSafeEqual)(l(a),l(b))}function n(a=process.env.PI_WEB_PASSWORD){return"string"==typeof a&&a.length>0}function o(a,b=process.env.PI_WEB_PASSWORD){return n(b)&&m(a,b)}function p(a,b){return(0,j.createHmac)("sha256",b).update(`pi-web-session:${a}`,"utf8").digest("hex")}let q="force-dynamic";function r(a){return"https:"===new URL(a.url).protocol||a.headers.get("x-forwarded-proto")?.split(",",1)[0]?.trim()==="https"}async function s(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});let b=process.env.PI_WEB_PASSWORD,c=n(b),e=!c||function(a,b=process.env.PI_WEB_PASSWORD){let c;if(!n(b)||!a)return!1;let d=/^Basic\s+(\S+)$/i.exec(a);if(!d)return!1;try{let a=Buffer.from(d[1],"base64");if(a.toString("base64")!==d[1])return!1;c=new TextDecoder("utf-8",{fatal:!0}).decode(a)}catch{return!1}let e=c.indexOf(":");if(-1===e)return!1;let f=c.slice(0,e),g=c.slice(e+1),h=m(f,"pi"),i=o(g,b);return h&&i}(a.headers.get("authorization"),b)||function(a,b=process.env.PI_WEB_PASSWORD,c=Date.now()){if(!a||!n(b))return!1;let d=/^(v1\.(\d+)\.[a-f0-9]{32})\.([a-f0-9]{64})$/.exec(a);if(!d)return!1;let e=Number(d[2]);return!(!Number.isSafeInteger(e)||e<=Math.floor(c/1e3))&&m(d[3],p(d[1],b))}(a.cookies.get(k)?.value,b);return d.NextResponse.json({enabled:c,authenticated:e},{headers:{"Cache-Control":"no-store"}})}async function t(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,i.E2)(a))return d.NextResponse.json({error:"Content-Type must be application/json"},{status:415});let b=process.env.PI_WEB_PASSWORD;if(!n(b))return d.NextResponse.json({error:"Password authentication is disabled"},{status:404});let c=function(a=Date.now(),b=f()){return g(b,a),Math.max(0,b.blockedUntil-a)}();if(c>0)return d.NextResponse.json({error:"Too many failed attempts",retryAfterMs:c},{status:429,headers:{"Cache-Control":"no-store","Retry-After":String(h(c))}});let l=await a.json().catch(()=>null);if(!l||"string"!=typeof l.password||!o(l.password,b)){let a=function(a=Date.now(),b=f()){g(b,a),b.failures+=1,b.lastFailureAt=a;let c=function(a){if(a<=0)return 0;let b=Math.min(a-1,31);return Math.min(1e3*2**b,6e4)}(b.failures);return b.blockedUntil=a+c,c}();return console.warn(`[web-auth] Password authentication failed; next attempt blocked for ${a}ms`),d.NextResponse.json({error:"Invalid password",retryAfterMs:a},{status:401,headers:{"Retry-After":String(h(a))}})}!function(a=f()){Object.assign(a,e())}();let m=d.NextResponse.json({ok:!0});return m.cookies.set({name:k,value:function(a,b=Date.now(),c=(0,j.randomBytes)(16).toString("hex")){let d=`v1.${Math.floor(b/1e3)+2592e3}.${c}`;return`${d}.${p(d,a)}`}(b),httpOnly:!0,sameSite:"lax",secure:r(a),path:"/",maxAge:2592e3}),m}async function u(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});let b=d.NextResponse.json({ok:!0});return b.cookies.set({name:k,value:"",httpOnly:!0,sameSite:"lax",secure:r(a),path:"/",maxAge:0}),b}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},39875:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/web-auth/route",pathname:"/api/web-auth",filename:"route",bundlePath:"app/api/web-auth/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pi-web/pi-web/app/api/web-auth/route.ts",nextConfigOutput:"",userland:()=>c(10446),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/web-auth/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=39875));module.exports=c})();
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/web-auth/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/web-auth/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=4016,a.ids=[4016],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4445:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/pi-web/pi-web/app/api/worktrees/route.ts",nextConfigOutput:"",userland:()=>c(42819),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/worktrees/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42819:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>n,GET:()=>l,POST:()=>m});var e=c(23211),f=c(29021),g=c(24923),h=c(80547),i=c(74244),j=a([h]);async function k(a){let b=await (0,h.mc)();return(0,h.A$)(a,b)&&(0,h.B7)(a,b)?null:e.NextResponse.json({error:"Access denied"},{status:403})}async function l(a){try{let b=new URL(a.url).searchParams.get("cwd");if(!b)return e.NextResponse.json({error:"cwd is required"},{status:400});let c=await k(b);if(c)return c;let d=await (0,g.KI)(b),j=[],l=null,m=!0;try{j=await (0,g.P9)((0,f.existsSync)(b)?b:d.projectRoot),l=(0,g.xw)(j,b)}catch{m=!1}for(let a of j)(0,h.wz)(a.path);return e.NextResponse.json({projectRoot:d.projectRoot,projectKey:(0,i.z)(d.projectRoot),isGit:m,isTopLevel:d.isTopLevel,currentWorktreePath:l,worktrees:j})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function m(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.branch||"string"!=typeof b.branch)return e.NextResponse.json({error:"branch is required"},{status:400});let c=await k(b.cwd);if(c)return c;if(!(0,f.existsSync)(b.cwd))return e.NextResponse.json({error:`Directory does not exist: ${b.cwd}`},{status:400});let d=await (0,g.l)(b.cwd,b.branch);return e.NextResponse.json(d)}catch(b){let a=b instanceof Error?b.message:String(b);return e.NextResponse.json({error:a},{status:400})}}async function n(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.path||"string"!=typeof b.path)return e.NextResponse.json({error:"path is required"},{status:400});let c=await k(b.cwd);if(c)return c;return await (0,g.IL)(b.cwd,b.path,!0===b.force),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=(0,g.HI)(a);return e.NextResponse.json({error:a,dirty:b},{status:b?409:400})}}h=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(58864),i=a([g]);async function j(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,5582],()=>b(b.s=4445));module.exports=c})();
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/worktrees/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/worktrees/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=3230,a.ids=[3230],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32688:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>f,dynamic:()=>g});var d=c(23211);let e=Buffer.from("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","base64");function f(){return new d.NextResponse(e,{headers:{"Content-Type":"image/x-icon","Cache-Control":"public, max-age=0, must-revalidate"}})}let g="force-static"},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87330:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/favicon.ico/route",pathname:"/favicon.ico",filename:"favicon",bundlePath:"app/favicon.ico/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=%2Fhome%2Frunner%2Fwork%2Fpi-web%2Fpi-web%2Fapp%2Ffavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:()=>c(32688),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/favicon.ico/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=87330));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"status":200,"headers":{"cache-control":"public, max-age=0, must-revalidate","content-type":"image/x-icon","x-next-cache-tags":"_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico"},"routeCache":{"key":"/route-cache/APP_ROUTE/adb2ea089a587cf57dd95fa5b11714bc555600b8777692e029801fce568a54ac/$/favicon.ico","owner":{"kind":"APP_ROUTE","sourceRoute":"/favicon.ico/route"},"isFallback":false}}
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en" translate="no" class="__variable_9e44ca notranslate"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9bcd6051db4f8890.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c82f0c18392f486f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6d897e2692233627.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b944d46e6fd6c54d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/49692dbfa6f26eeb.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-b6c37de25f933bc6.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-6f271a1eb27dfa20.js" async=""></script><script src="/_next/static/chunks/main-app-a98576891fdd8f60.js" async=""></script><script src="/_next/static/chunks/app/layout-3339966738755d72.js" async=""></script><script src="/_next/static/chunks/d3ac728e-7964f816a1ca64e5.js" async=""></script><script src="/_next/static/chunks/e868780c-1584512c612787d7.js" async=""></script><script src="/_next/static/chunks/5772-c8175d2fabf63b95.js" async=""></script><script src="/_next/static/chunks/9932-60e21347ba9f8664.js" async=""></script><script src="/_next/static/chunks/1278-902e48c12cf60065.js" async=""></script><script src="/_next/static/chunks/app/page-c6eefaf480702550.js" async=""></script><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)"/><title>Pi Web</title><meta name="description" content="Pi Web interface for the pi coding agent"/><meta name="application-name" content="Pi Web"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Pi Web"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.ico?c16c14206ecd3374" type="image/x-icon" sizes="512x512"/><link rel="icon" href="/icons/icon-192.png" sizes="192x192" type="image/png"/><link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" sizes="180x180" type="image/png"/><meta name="next-size-adjust" content=""/><meta name="google" content="notranslate"/><script>(function(){var t="auto";try{var s=localStorage.getItem("pi-theme");if(["auto","light","mist","lilac","sand","rose","dark","pine","dusk","ember","slate","contrast-light","contrast-dark","zenburn"].includes(s))t=s}catch(e){}if(t==="auto")t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle("dark",["dark","pine","dusk","ember","slate","contrast-dark","zenburn"].includes(t))})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body translate="no" class="notranslate"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-b6c37de25f933bc6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[57788,[\"7177\",\"static/chunks/app/layout-3339966738755d72.js\"],\"PwaRegistration\"]\n5:\"$Sreact.suspense\"\n6:I[21278,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-1584512c612787d7.js\",\"5772\",\"static/chunks/5772-c8175d2fabf63b95.js\",\"9932\",\"static/chunks/9932-60e21347ba9f8664.js\",\"1278\",\"static/chunks/1278-902e48c12cf60065.js\",\"8974\",\"static/chunks/app/page-c6eefaf480702550.js\"],\"I18nProvider\"]\n7:I[77381,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-1584512c612787d7.js\",\"5772\",\"static/chunks/5772-c8175d2fabf63b95.js\",\"9932\",\"static/chunks/9932-60e21347ba9f8664.js\",\"1278\",\"static/chunks/1278-902e48c12cf60065.js\",\"8974\",\"static/chunks/app/page-c6eefaf480702550.js\"],\"AppShell\"]\n8:I[90484,[],\"OutletBoundary\"]\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9bcd6051db4f8890.css\",\"style\"]\n:HL[\"/_next/static/css/c82f0c18392f486f.css\",\"style\"]\n:HL[\"/_next/static/css/6d897e2692233627.css\",\"style\"]\n:HL[\"/_next/static/css/b944d46e6fd6c54d.css\",\"style\"]\n:HL[\"/_next/static/css/49692dbfa6f26eeb.css\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9bcd6051db4f8890.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c82f0c18392f486f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6d897e2692233627.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b944d46e6fd6c54d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"translate\":\"no\",\"className\":\"__variable_9e44ca notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"google\",\"content\":\"notranslate\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var t=\\\"auto\\\";try{var s=localStorage.getItem(\\\"pi-theme\\\");if([\\\"auto\\\",\\\"light\\\",\\\"mist\\\",\\\"lilac\\\",\\\"sand\\\",\\\"rose\\\",\\\"dark\\\",\\\"pine\\\",\\\"dusk\\\",\\\"ember\\\",\\\"slate\\\",\\\"contrast-light\\\",\\\"contrast-dark\\\",\\\"zenburn\\\"].includes(s))t=s}catch(e){}if(t===\\\"auto\\\")t=window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches?\\\"dark\\\":\\\"light\\\";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle(\\\"dark\\\",[\\\"dark\\\",\\\"pine\\\",\\\"dusk\\\",\\\"ember\\\",\\\"slate\\\",\\\"contrast-dark\\\",\\\"zenburn\\\"].includes(t))})();\"}}]]}],[\"$\",\"body\",null,{\"translate\":\"no\",\"className\":\"notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{}]}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/49692dbfa6f26eeb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"2ftfKxA2Tk6WrtjeFq3pC\"}\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#ffffff\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#1a1a1a\",\"media\":\"(prefers-color-scheme: dark)\"}]]\nf:I[86869,[],\"IconMark\"]\n9:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Pi Web\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Pi Web interface for the pi coding agent\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Pi Web\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"5\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Pi Web\"}],[\"$\",\"meta\",\"7\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?c16c14206ecd3374\",\"type\":\"image/x-icon\",\"sizes\":\"512x512\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/icons/icon-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"10\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icons/apple-touch-icon.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Lf\",\"11\",{}]]\n"])</script></body></html>
@@ -0,0 +1,29 @@
1
+ {
2
+ "headers": {
3
+ "x-nextjs-stale-time": "300",
4
+ "x-nextjs-prerender": "1",
5
+ "x-next-cache-tags": "_N_T_/layout,_N_T_/page,_N_T_/,_N_T_/index"
6
+ },
7
+ "segmentPaths": [
8
+ "/_tree",
9
+ "/_full",
10
+ "/__PAGE__"
11
+ ],
12
+ "prefetchHints": {
13
+ "hints": 64,
14
+ "slots": {
15
+ "children": {
16
+ "hints": 160,
17
+ "slots": null
18
+ }
19
+ }
20
+ },
21
+ "routeCache": {
22
+ "key": "/route-cache/APP_PAGE/c6377dd9ce6a1c2cd100eb4344e843eb4639b9ed26f84643f77680e9eb454c4b/$/index",
23
+ "owner": {
24
+ "kind": "APP_PAGE",
25
+ "sourceRoute": "/page"
26
+ },
27
+ "isFallback": false
28
+ }
29
+ }
@@ -0,0 +1,23 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[57121,[],""]
3
+ 3:I[74581,[],""]
4
+ 4:I[57788,["7177","static/chunks/app/layout-3339966738755d72.js"],"PwaRegistration"]
5
+ 5:"$Sreact.suspense"
6
+ 6:I[21278,["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","3888","static/chunks/e868780c-1584512c612787d7.js","5772","static/chunks/5772-c8175d2fabf63b95.js","9932","static/chunks/9932-60e21347ba9f8664.js","1278","static/chunks/1278-902e48c12cf60065.js","8974","static/chunks/app/page-c6eefaf480702550.js"],"I18nProvider"]
7
+ 7:I[77381,["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","3888","static/chunks/e868780c-1584512c612787d7.js","5772","static/chunks/5772-c8175d2fabf63b95.js","9932","static/chunks/9932-60e21347ba9f8664.js","1278","static/chunks/1278-902e48c12cf60065.js","8974","static/chunks/app/page-c6eefaf480702550.js"],"AppShell"]
8
+ 8:I[90484,[],"OutletBoundary"]
9
+ a:I[90484,[],"ViewportBoundary"]
10
+ c:I[90484,[],"MetadataBoundary"]
11
+ e:I[27123,[],"default",1]
12
+ :HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
+ :HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
14
+ :HL["/_next/static/css/9bcd6051db4f8890.css","style"]
15
+ :HL["/_next/static/css/c82f0c18392f486f.css","style"]
16
+ :HL["/_next/static/css/6d897e2692233627.css","style"]
17
+ :HL["/_next/static/css/b944d46e6fd6c54d.css","style"]
18
+ :HL["/_next/static/css/49692dbfa6f26eeb.css","style"]
19
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9bcd6051db4f8890.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c82f0c18392f486f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/6d897e2692233627.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","3",{"rel":"stylesheet","href":"/_next/static/css/b944d46e6fd6c54d.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","translate":"no","className":"__variable_9e44ca notranslate","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","meta",null,{"name":"google","content":"notranslate"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var t=\"auto\";try{var s=localStorage.getItem(\"pi-theme\");if([\"auto\",\"light\",\"mist\",\"lilac\",\"sand\",\"rose\",\"dark\",\"pine\",\"dusk\",\"ember\",\"slate\",\"contrast-light\",\"contrast-dark\",\"zenburn\"].includes(s))t=s}catch(e){}if(t===\"auto\")t=window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle(\"dark\",[\"dark\",\"pine\",\"dusk\",\"ember\",\"slate\",\"contrast-dark\",\"zenburn\"].includes(t))})();"}}]]}],["$","body",null,{"translate":"no","className":"notranslate","suppressHydrationWarning":true,"children":[["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$5",null,{"children":["$","$L6",null,{"children":["$","$L7",null,{}]}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/49692dbfa6f26eeb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$La",null,{"children":"$Lb"}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Ld"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$e",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"2ftfKxA2Tk6WrtjeFq3pC"}
20
+ b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#1a1a1a","media":"(prefers-color-scheme: dark)"}]]
21
+ f:I[86869,[],"IconMark"]
22
+ 9:null
23
+ d:[["$","title","0",{"children":"Pi Web"}],["$","meta","1",{"name":"description","content":"Pi Web interface for the pi coding agent"}],["$","meta","2",{"name":"application-name","content":"Pi Web"}],["$","link","3",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","meta","4",{"name":"format-detection","content":"telephone=no"}],["$","meta","5",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","6",{"name":"apple-mobile-web-app-title","content":"Pi Web"}],["$","meta","7",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","8",{"rel":"icon","href":"/favicon.ico?c16c14206ecd3374","type":"image/x-icon","sizes":"512x512"}],["$","link","9",{"rel":"icon","href":"/icons/icon-192.png","sizes":"192x192","type":"image/png"}],["$","link","10",{"rel":"apple-touch-icon","href":"/icons/apple-touch-icon.png","sizes":"180x180","type":"image/png"}],["$","$Lf","11",{}]]
@@ -0,0 +1,27 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:"$Sreact.suspense"
3
+ 3:I[21278,["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","3888","static/chunks/e868780c-1584512c612787d7.js","5772","static/chunks/5772-c8175d2fabf63b95.js","9932","static/chunks/9932-60e21347ba9f8664.js","1278","static/chunks/1278-902e48c12cf60065.js","8974","static/chunks/app/page-c6eefaf480702550.js"],"I18nProvider"]
4
+ 4:I[77381,["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","3888","static/chunks/e868780c-1584512c612787d7.js","5772","static/chunks/5772-c8175d2fabf63b95.js","9932","static/chunks/9932-60e21347ba9f8664.js","1278","static/chunks/1278-902e48c12cf60065.js","8974","static/chunks/app/page-c6eefaf480702550.js"],"AppShell"]
5
+ 5:I[90484,[],"OutletBoundary"]
6
+ 9:I[90484,[],"ViewportBoundary"]
7
+ a:I[90484,[],"MetadataBoundary"]
8
+ b:I[86869,[],"IconMark"]
9
+ d:I[57121,[],""]
10
+ e:I[74581,[],""]
11
+ :HL["/_next/static/css/49692dbfa6f26eeb.css","style"]
12
+ :HL["/_next/static/css/9bcd6051db4f8890.css","style"]
13
+ :HL["/_next/static/css/c82f0c18392f486f.css","style"]
14
+ :HL["/_next/static/css/6d897e2692233627.css","style"]
15
+ :HL["/_next/static/css/b944d46e6fd6c54d.css","style"]
16
+ 8:X
17
+ 0:{"buildId":"2ftfKxA2Tk6WrtjeFq3pC","data":[{"rsc":["$","$1","c",{"children":[["$","$2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{}]}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/49692dbfa6f26eeb.css","precedence":"next"}]],["$","$L5",null,{"children":["$","$2",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],"isPartial":"$@7","staleTime":"$8","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L9",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#1a1a1a","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$2",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Pi Web"}],["$","meta","1",{"name":"description","content":"Pi Web interface for the pi coding agent"}],["$","meta","2",{"name":"application-name","content":"Pi Web"}],["$","link","3",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","meta","4",{"name":"format-detection","content":"telephone=no"}],["$","meta","5",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","6",{"name":"apple-mobile-web-app-title","content":"Pi Web"}],["$","meta","7",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","8",{"rel":"icon","href":"/favicon.ico?c16c14206ecd3374","type":"image/x-icon","sizes":"512x512"}],["$","link","9",{"rel":"icon","href":"/icons/icon-192.png","sizes":"192x192","type":"image/png"}],["$","link","10",{"rel":"apple-touch-icon","href":"/icons/apple-touch-icon.png","sizes":"180x180","type":"image/png"}],["$","$Lb","11",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@c","staleTime":"$8","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9bcd6051db4f8890.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c82f0c18392f486f.css","precedence":"next"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/6d897e2692233627.css","precedence":"next"}],["$","link","3",{"rel":"stylesheet","href":"/_next/static/css/b944d46e6fd6c54d.css","precedence":"next"}]],["$","html",null,{"lang":"en","translate":"no","className":"__variable_9e44ca notranslate","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","meta",null,{"name":"google","content":"notranslate"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var t=\"auto\";try{var s=localStorage.getItem(\"pi-theme\");if([\"auto\",\"light\",\"mist\",\"lilac\",\"sand\",\"rose\",\"dark\",\"pine\",\"dusk\",\"ember\",\"slate\",\"contrast-light\",\"contrast-dark\",\"zenburn\"].includes(s))t=s}catch(e){}if(t===\"auto\")t=window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle(\"dark\",[\"dark\",\"pine\",\"dusk\",\"ember\",\"slate\",\"contrast-dark\",\"zenburn\"].includes(t))})();"}}]]}],["$","body",null,{"translate":"no","className":"notranslate","suppressHydrationWarning":true,"children":[["$","$Ld",null,{"parallelRouterKey":"children","template":["$","$Le",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],"$Lf"]}]]}]]}],"isPartial":"$@10","staleTime":"$8","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@11","rootVaryParams":null,"needsRuntimeRequest":"$@12"}
18
+ 13:I[57788,["7177","static/chunks/app/layout-3339966738755d72.js"],"PwaRegistration"]
19
+ 6:null
20
+ f:["$","$L13",null,{}]
21
+ 8:300
22
+ 12:true
23
+ 8:C
24
+ 11:0
25
+ c:"$undefined"
26
+ 10:"$undefined"
27
+ 7:"$undefined"