@qt4798/pi-web 0.17.5 → 0.17.6

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 (514) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +97 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +1 -1
  5. package/.next/export-marker.json +6 -0
  6. package/.next/images-manifest.json +68 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/prerender-manifest.json +193 -0
  10. package/.next/react-loadable-manifest.json +413 -0
  11. package/.next/required-server-files.js +368 -0
  12. package/.next/required-server-files.json +368 -0
  13. package/.next/routes-manifest.json +682 -0
  14. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  15. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  16. package/.next/server/app/_global-error.html +1 -0
  17. package/.next/server/app/_global-error.meta +27 -0
  18. package/.next/server/app/_global-error.rsc +14 -0
  19. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  20. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
  21. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  22. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  24. package/.next/server/app/_not-found.html +1 -0
  25. package/.next/server/app/_not-found.meta +27 -0
  26. package/.next/server/app/_not-found.rsc +19 -0
  27. package/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
  28. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +25 -0
  29. package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
  30. package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -1
  31. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
  32. package/.next/server/app/api/agent/[id]/events/route.js +3 -1
  33. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  34. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
  35. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  38. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
  39. package/.next/server/app/api/agent/running/events/route.js +1 -1
  40. package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -1
  41. package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -0
  42. package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
  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 -1
  45. package/.next/server/app/api/app-update/route.js.nft.json +1 -1
  46. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
  49. package/.next/server/app/api/auth/combined/route.js.nft.json +1 -1
  50. package/.next/server/app/api/auth/combined/route_client-reference-manifest.js +1 -0
  51. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
  55. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -1
  56. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
  57. package/.next/server/app/api/backup/export/route.js.nft.json +1 -1
  58. package/.next/server/app/api/backup/export/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/backup/import/route.js.nft.json +1 -1
  60. package/.next/server/app/api/backup/import/route_client-reference-manifest.js +1 -0
  61. package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -1
  62. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
  63. package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -1
  64. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
  65. package/.next/server/app/api/deepseek/balance/route.js.nft.json +1 -1
  66. package/.next/server/app/api/deepseek/balance/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
  68. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
  69. package/.next/server/app/api/events/route.js +3 -1
  70. package/.next/server/app/api/events/route.js.nft.json +1 -1
  71. package/.next/server/app/api/events/route_client-reference-manifest.js +1 -0
  72. package/.next/server/app/api/features/route.js.nft.json +1 -1
  73. package/.next/server/app/api/features/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/file-index/route.js.nft.json +1 -1
  75. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  77. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
  78. package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
  79. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/git/push/route.js.nft.json +1 -1
  81. package/.next/server/app/api/git/push/route_client-reference-manifest.js +1 -0
  82. package/.next/server/app/api/git/stash/route.js.nft.json +1 -1
  83. package/.next/server/app/api/git/stash/route_client-reference-manifest.js +1 -0
  84. package/.next/server/app/api/git/status/route.js.nft.json +1 -1
  85. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/home/route.js.nft.json +1 -1
  87. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/import/discover/route.js.nft.json +1 -1
  89. package/.next/server/app/api/import/discover/route_client-reference-manifest.js +1 -0
  90. package/.next/server/app/api/import/execute/route.js.nft.json +1 -1
  91. package/.next/server/app/api/import/execute/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/import/status/route.js.nft.json +1 -1
  93. package/.next/server/app/api/import/status/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/logs/route.js.nft.json +1 -1
  95. package/.next/server/app/api/logs/route_client-reference-manifest.js +1 -0
  96. package/.next/server/app/api/mcp/restart/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/models/route.js.nft.json +1 -1
  101. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  102. package/.next/server/app/api/models-config/builtin/route.js.nft.json +1 -1
  103. package/.next/server/app/api/models-config/builtin/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/models-config/catalog/route.js.nft.json +1 -1
  105. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -1
  107. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
  108. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  109. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
  110. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -1
  111. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/modes/route.js.nft.json +1 -1
  113. package/.next/server/app/api/modes/route_client-reference-manifest.js +1 -0
  114. package/.next/server/app/api/plugins/check/route.js.nft.json +1 -1
  115. package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -0
  116. package/.next/server/app/api/plugins/route.js.nft.json +1 -1
  117. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/project-aliases/route.js.nft.json +1 -1
  119. package/.next/server/app/api/project-aliases/route_client-reference-manifest.js +1 -0
  120. package/.next/server/app/api/project-state/route.js.nft.json +1 -1
  121. package/.next/server/app/api/project-state/route_client-reference-manifest.js +1 -0
  122. package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
  123. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/projects/visibility/route.js.nft.json +1 -1
  125. package/.next/server/app/api/projects/visibility/route_client-reference-manifest.js +1 -0
  126. package/.next/server/app/api/proxy/route.js.nft.json +1 -1
  127. package/.next/server/app/api/proxy/route_client-reference-manifest.js +1 -0
  128. package/.next/server/app/api/proxy/test/route.js.nft.json +1 -1
  129. package/.next/server/app/api/proxy/test/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  131. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
  132. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  133. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
  134. package/.next/server/app/api/sessions/[id]/details/route.js.nft.json +1 -1
  135. package/.next/server/app/api/sessions/[id]/details/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -1
  137. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
  138. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js.nft.json +1 -1
  139. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -0
  140. package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -1
  141. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/sessions/[id]/queue-recovery/route.js.nft.json +1 -1
  143. package/.next/server/app/api/sessions/[id]/queue-recovery/route_client-reference-manifest.js +1 -0
  144. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  145. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  146. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  147. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  149. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  150. package/.next/server/app/api/sessions/search/route.js.nft.json +1 -1
  151. package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
  152. package/.next/server/app/api/settings/title-model/route.js.nft.json +1 -1
  153. package/.next/server/app/api/settings/title-model/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
  155. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
  156. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  157. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
  158. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  159. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
  161. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
  162. package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
  163. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
  164. package/.next/server/app/api/snippets/[id]/route.js.nft.json +1 -1
  165. package/.next/server/app/api/snippets/[id]/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/snippets/route.js.nft.json +1 -1
  167. package/.next/server/app/api/snippets/route_client-reference-manifest.js +1 -0
  168. package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -1
  169. package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -0
  170. package/.next/server/app/api/subagents/profiles/route.js.nft.json +1 -1
  171. package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/subagents/settings/route.js.nft.json +1 -1
  173. package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -0
  174. package/.next/server/app/api/tasks/[id]/[action]/route.js.nft.json +1 -1
  175. package/.next/server/app/api/tasks/[id]/[action]/route_client-reference-manifest.js +1 -0
  176. package/.next/server/app/api/tasks/[id]/changed-files/route.js.nft.json +1 -1
  177. package/.next/server/app/api/tasks/[id]/changed-files/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app/api/tasks/[id]/diff/route.js.nft.json +1 -1
  179. package/.next/server/app/api/tasks/[id]/diff/route_client-reference-manifest.js +1 -0
  180. package/.next/server/app/api/tasks/[id]/events/route.js.nft.json +1 -1
  181. package/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -0
  182. package/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  183. package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -0
  184. package/.next/server/app/api/tasks/batch/route.js.nft.json +1 -1
  185. package/.next/server/app/api/tasks/batch/route_client-reference-manifest.js +1 -0
  186. package/.next/server/app/api/tasks/events/route.js.nft.json +1 -1
  187. package/.next/server/app/api/tasks/events/route_client-reference-manifest.js +1 -0
  188. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  189. package/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -0
  190. package/.next/server/app/api/tasks/settings/route.js.nft.json +1 -1
  191. package/.next/server/app/api/tasks/settings/route_client-reference-manifest.js +1 -0
  192. package/.next/server/app/api/tasks/templates/route.js.nft.json +1 -1
  193. package/.next/server/app/api/tasks/templates/route_client-reference-manifest.js +1 -0
  194. package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -1
  195. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -0
  196. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
  197. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -0
  198. package/.next/server/app/api/terminal/route.js.nft.json +1 -1
  199. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -0
  200. package/.next/server/app/api/themes/[name]/route.js.nft.json +1 -1
  201. package/.next/server/app/api/themes/[name]/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/api/themes/route.js.nft.json +1 -1
  203. package/.next/server/app/api/themes/route_client-reference-manifest.js +1 -0
  204. package/.next/server/app/api/tools/settings/route.js.nft.json +1 -1
  205. package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -0
  206. package/.next/server/app/api/usage/route.js.nft.json +1 -1
  207. package/.next/server/app/api/usage/route_client-reference-manifest.js +1 -0
  208. package/.next/server/app/api/vision-config/route.js.nft.json +1 -1
  209. package/.next/server/app/api/vision-config/route_client-reference-manifest.js +1 -0
  210. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  211. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/icon.ico/route.js.nft.json +1 -1
  213. package/.next/server/app/icon.ico.body +0 -0
  214. package/.next/server/app/icon.ico.meta +1 -0
  215. package/.next/server/app/icon.png/route.js.nft.json +1 -1
  216. package/.next/server/app/icon.png.body +0 -0
  217. package/.next/server/app/icon.png.meta +1 -0
  218. package/.next/server/app/icon.svg/route.js.nft.json +1 -1
  219. package/.next/server/app/icon.svg.body +1 -0
  220. package/.next/server/app/icon.svg.meta +1 -0
  221. package/.next/server/app/index.html +1 -0
  222. package/.next/server/app/index.meta +21 -0
  223. package/.next/server/app/index.rsc +19 -0
  224. package/.next/server/app/index.segments/__PAGE__.segment.rsc +24 -0
  225. package/.next/server/app/index.segments/_full.segment.rsc +19 -0
  226. package/.next/server/app/index.segments/_tree.segment.rsc +4 -0
  227. package/.next/server/app/page.js +2 -2
  228. package/.next/server/app/page.js.nft.json +1 -1
  229. package/.next/server/app/page_client-reference-manifest.js +1 -0
  230. package/.next/server/app-paths-manifest.json +7 -7
  231. package/.next/server/chunks/7915.js +1 -1
  232. package/.next/server/functions-config-manifest.json +18 -0
  233. package/.next/server/instrumentation.js.nft.json +1 -1
  234. package/.next/server/middleware-build-manifest.js +1 -0
  235. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  236. package/.next/server/middleware.js.nft.json +1 -0
  237. package/.next/server/next-font-manifest.js +1 -0
  238. package/.next/server/next-font-manifest.json +1 -0
  239. package/.next/server/pages/404.html +1 -0
  240. package/.next/server/pages/500.html +1 -0
  241. package/.next/server/pages-manifest.json +4 -1
  242. package/.next/server/prefetch-hints.json +39 -0
  243. package/.next/static/-FpELgirC8Ejs9kir4c8Q/_buildManifest.js +1 -0
  244. package/.next/static/-FpELgirC8Ejs9kir4c8Q/_ssgManifest.js +1 -0
  245. package/.next/static/chunks/103.23142a67b02246a8.js +215 -0
  246. package/.next/static/chunks/1032.12b382a9096ab2a4.js +1 -0
  247. package/.next/static/chunks/1063.775c442bdbeef08b.js +1 -0
  248. package/.next/static/chunks/1327.09252bb80616cc3a.js +1 -0
  249. package/.next/static/chunks/1708.d029f8776e4578de.js +1 -0
  250. package/.next/static/chunks/1781.866132cea8e77cd0.js +1 -0
  251. package/.next/static/chunks/1ba63609.b2ae90f43319a29e.js +153 -0
  252. package/.next/static/chunks/2081.47b6e9391094055f.js +1 -0
  253. package/.next/static/chunks/2181.ba21239d3ac39f81.js +1 -0
  254. package/.next/static/chunks/2258.4defa30121ef44a5.js +1 -0
  255. package/.next/static/chunks/2325.23caf22075e51aa5.js +1 -0
  256. package/.next/static/chunks/2356.523277bb8c6bf72a.js +23 -0
  257. package/.next/static/chunks/2418.b5d9e177e10a686e.js +1 -0
  258. package/.next/static/chunks/2539.c5a4f2fd8e421c70.js +41 -0
  259. package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
  260. package/.next/static/chunks/268.72794ee2773c2060.js +80 -0
  261. package/.next/static/chunks/2703.495a65ed14b2f094.js +36 -0
  262. package/.next/static/chunks/2821.934bcf60fbdc28c6.js +1 -0
  263. package/.next/static/chunks/3251.0dce7a0a0ff67235.js +1 -0
  264. package/.next/static/chunks/3308.18c2954e9a937988.js +73 -0
  265. package/.next/static/chunks/3336.a76f9485fe7cb762.js +1 -0
  266. package/.next/static/chunks/370.8e8f3cf8eb0e29dd.js +1 -0
  267. package/.next/static/chunks/3716.72bf4c9d7325debd.js +1 -0
  268. package/.next/static/chunks/3794-eb2b2ea32d17f197.js +52 -0
  269. package/.next/static/chunks/398.ffa02af9062a3950.js +77 -0
  270. package/.next/static/chunks/3995.eca0f5bef1fc3ae5.js +38 -0
  271. package/.next/static/chunks/4004.74b9bcf5478b1663.js +160 -0
  272. package/.next/static/chunks/4202.8440832386f023c7.js +226 -0
  273. package/.next/static/chunks/4238.8c87d84edfed6131.js +141 -0
  274. package/.next/static/chunks/4405.c4b4ce2efac94ed2.js +287 -0
  275. package/.next/static/chunks/4424.fd0c93a807a333e1.js +1 -0
  276. package/.next/static/chunks/4866.d1060b4faf2ae1e2.js +1 -0
  277. package/.next/static/chunks/4970.8a63b4953b0e4946.js +1 -0
  278. package/.next/static/chunks/4bd1b696-04d4e6726f46d1d5.js +1 -0
  279. package/.next/static/chunks/5020.9ac8d0dc8390bb6e.js +1 -0
  280. package/.next/static/chunks/5137.f163e94c74a94d01.js +1 -0
  281. package/.next/static/chunks/5242.7b643c6b3394cac1.js +1 -0
  282. package/.next/static/chunks/5361.afc00ab2626bacbf.js +1 -0
  283. package/.next/static/chunks/5521.cfdf2cfc6db31407.js +1 -0
  284. package/.next/static/chunks/5526.ff46471041fdcb79.js +86 -0
  285. package/.next/static/chunks/5681.dd0e66b0de16e54b.js +27 -0
  286. package/.next/static/chunks/6121.eb9023b1cbc78ee2.js +1 -0
  287. package/.next/static/chunks/6161.4836cd7d031026bf.js +1 -0
  288. package/.next/static/chunks/6195.1153369f5f8b13a2.js +24 -0
  289. package/.next/static/chunks/6294.24f510c0c3e3714c.js +1 -0
  290. package/.next/static/chunks/6654.16f727522ec47f5a.js +1 -0
  291. package/.next/static/chunks/6794.f746d8fbbf248ecf.js +93 -0
  292. package/.next/static/chunks/7256.e07cf52d87d40252.js +1 -0
  293. package/.next/static/chunks/7268.236544be8e242c16.js +1 -0
  294. package/.next/static/chunks/7331.2add3c4e125a2dba.js +104 -0
  295. package/.next/static/chunks/7543.89f7b805ed0f2901.js +1 -0
  296. package/.next/static/chunks/8200.a36b9f8c983c6b9e.js +5 -0
  297. package/.next/static/chunks/8403.1f5a2b397c89fd5e.js +90 -0
  298. package/.next/static/chunks/8518.3ce3832c4422f57c.js +1 -0
  299. package/.next/static/chunks/869.7152372b662e31af.js +1 -0
  300. package/.next/static/chunks/8863.fa0320ea586efb3b.js +1 -0
  301. package/.next/static/chunks/8885.cf60cac98bf8b70c.js +79 -0
  302. package/.next/static/chunks/8901.e117d206a917bda0.js +1 -0
  303. package/.next/static/chunks/90542734.7d1c50d0290e4f3a.js +1 -0
  304. package/.next/static/chunks/918.6a9bbe564e4a2d0f.js +115 -0
  305. package/.next/static/chunks/934.9006461bd0548660.js +1 -0
  306. package/.next/static/chunks/9522.c7c6e9c330f9ba6b.js +1 -0
  307. package/.next/static/chunks/9614.3221013d7f0af27f.js +64 -0
  308. package/.next/static/chunks/9698.4d09a99b9d99f3e5.js +148 -0
  309. package/.next/static/chunks/9705.40a82b97f214e28b.js +1 -0
  310. package/.next/static/chunks/973.88e865b52eff479a.js +8 -0
  311. package/.next/static/chunks/9764.2669775c6e107a01.js +62 -0
  312. package/.next/static/chunks/9786-a857d8cac4c6f124.js +1 -0
  313. package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
  314. package/.next/static/chunks/99.280e10a836dfdb17.js +24 -0
  315. package/.next/static/chunks/993e5495.8797001fcfcf2889.js +62 -0
  316. package/.next/static/chunks/9974.9a0f79beca65e8c4.js +34 -0
  317. package/.next/static/chunks/app/_global-error/page-fa23a1b416b6ac37.js +1 -0
  318. package/.next/static/chunks/app/_not-found/page-4e8d0b14be117d20.js +1 -0
  319. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-fa23a1b416b6ac37.js +1 -0
  320. package/.next/static/chunks/app/api/agent/[id]/events/route-fa23a1b416b6ac37.js +1 -0
  321. package/.next/static/chunks/app/api/agent/[id]/route-fa23a1b416b6ac37.js +1 -0
  322. package/.next/static/chunks/app/api/agent/new/route-fa23a1b416b6ac37.js +1 -0
  323. package/.next/static/chunks/app/api/agent/running/events/route-fa23a1b416b6ac37.js +1 -0
  324. package/.next/static/chunks/app/api/agent/running/route-fa23a1b416b6ac37.js +1 -0
  325. package/.next/static/chunks/app/api/app-update/route-fa23a1b416b6ac37.js +1 -0
  326. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-fa23a1b416b6ac37.js +1 -0
  327. package/.next/static/chunks/app/api/auth/combined/route-fa23a1b416b6ac37.js +1 -0
  328. package/.next/static/chunks/app/api/auth/login/[provider]/route-fa23a1b416b6ac37.js +1 -0
  329. package/.next/static/chunks/app/api/auth/logout/[provider]/route-fa23a1b416b6ac37.js +1 -0
  330. package/.next/static/chunks/app/api/auth/providers/route-fa23a1b416b6ac37.js +1 -0
  331. package/.next/static/chunks/app/api/backup/export/route-fa23a1b416b6ac37.js +1 -0
  332. package/.next/static/chunks/app/api/backup/import/route-fa23a1b416b6ac37.js +1 -0
  333. package/.next/static/chunks/app/api/cwd/browse/route-fa23a1b416b6ac37.js +1 -0
  334. package/.next/static/chunks/app/api/cwd/validate/route-fa23a1b416b6ac37.js +1 -0
  335. package/.next/static/chunks/app/api/deepseek/balance/route-fa23a1b416b6ac37.js +1 -0
  336. package/.next/static/chunks/app/api/default-cwd/route-fa23a1b416b6ac37.js +1 -0
  337. package/.next/static/chunks/app/api/events/route-fa23a1b416b6ac37.js +1 -0
  338. package/.next/static/chunks/app/api/features/route-fa23a1b416b6ac37.js +1 -0
  339. package/.next/static/chunks/app/api/file-index/route-fa23a1b416b6ac37.js +1 -0
  340. package/.next/static/chunks/app/api/files/[...path]/route-fa23a1b416b6ac37.js +1 -0
  341. package/.next/static/chunks/app/api/git/diff/route-fa23a1b416b6ac37.js +1 -0
  342. package/.next/static/chunks/app/api/git/push/route-fa23a1b416b6ac37.js +1 -0
  343. package/.next/static/chunks/app/api/git/stash/route-fa23a1b416b6ac37.js +1 -0
  344. package/.next/static/chunks/app/api/git/status/route-fa23a1b416b6ac37.js +1 -0
  345. package/.next/static/chunks/app/api/home/route-fa23a1b416b6ac37.js +1 -0
  346. package/.next/static/chunks/app/api/import/discover/route-fa23a1b416b6ac37.js +1 -0
  347. package/.next/static/chunks/app/api/import/execute/route-fa23a1b416b6ac37.js +1 -0
  348. package/.next/static/chunks/app/api/import/status/route-fa23a1b416b6ac37.js +1 -0
  349. package/.next/static/chunks/app/api/logs/route-fa23a1b416b6ac37.js +1 -0
  350. package/.next/static/chunks/app/api/mcp/restart/route-fa23a1b416b6ac37.js +1 -0
  351. package/.next/static/chunks/app/api/mcp/route-fa23a1b416b6ac37.js +1 -0
  352. package/.next/static/chunks/app/api/models/route-fa23a1b416b6ac37.js +1 -0
  353. package/.next/static/chunks/app/api/models-config/builtin/route-fa23a1b416b6ac37.js +1 -0
  354. package/.next/static/chunks/app/api/models-config/catalog/route-fa23a1b416b6ac37.js +1 -0
  355. package/.next/static/chunks/app/api/models-config/discover/route-fa23a1b416b6ac37.js +1 -0
  356. package/.next/static/chunks/app/api/models-config/route-fa23a1b416b6ac37.js +1 -0
  357. package/.next/static/chunks/app/api/models-config/test/route-fa23a1b416b6ac37.js +1 -0
  358. package/.next/static/chunks/app/api/modes/route-fa23a1b416b6ac37.js +1 -0
  359. package/.next/static/chunks/app/api/plugins/check/route-fa23a1b416b6ac37.js +1 -0
  360. package/.next/static/chunks/app/api/plugins/route-fa23a1b416b6ac37.js +1 -0
  361. package/.next/static/chunks/app/api/project-aliases/route-fa23a1b416b6ac37.js +1 -0
  362. package/.next/static/chunks/app/api/project-state/route-fa23a1b416b6ac37.js +1 -0
  363. package/.next/static/chunks/app/api/project-trust/route-fa23a1b416b6ac37.js +1 -0
  364. package/.next/static/chunks/app/api/projects/visibility/route-fa23a1b416b6ac37.js +1 -0
  365. package/.next/static/chunks/app/api/proxy/route-fa23a1b416b6ac37.js +1 -0
  366. package/.next/static/chunks/app/api/proxy/test/route-fa23a1b416b6ac37.js +1 -0
  367. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-fa23a1b416b6ac37.js +1 -0
  368. package/.next/static/chunks/app/api/sessions/[id]/context/route-fa23a1b416b6ac37.js +1 -0
  369. package/.next/static/chunks/app/api/sessions/[id]/details/route-fa23a1b416b6ac37.js +1 -0
  370. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-fa23a1b416b6ac37.js +1 -0
  371. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-fa23a1b416b6ac37.js +1 -0
  372. package/.next/static/chunks/app/api/sessions/[id]/export/route-fa23a1b416b6ac37.js +1 -0
  373. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-fa23a1b416b6ac37.js +1 -0
  374. package/.next/static/chunks/app/api/sessions/[id]/route-fa23a1b416b6ac37.js +1 -0
  375. package/.next/static/chunks/app/api/sessions/[id]/state/route-fa23a1b416b6ac37.js +1 -0
  376. package/.next/static/chunks/app/api/sessions/route-fa23a1b416b6ac37.js +1 -0
  377. package/.next/static/chunks/app/api/sessions/search/route-fa23a1b416b6ac37.js +1 -0
  378. package/.next/static/chunks/app/api/settings/title-model/route-fa23a1b416b6ac37.js +1 -0
  379. package/.next/static/chunks/app/api/skills/check/route-fa23a1b416b6ac37.js +1 -0
  380. package/.next/static/chunks/app/api/skills/install/route-fa23a1b416b6ac37.js +1 -0
  381. package/.next/static/chunks/app/api/skills/route-fa23a1b416b6ac37.js +1 -0
  382. package/.next/static/chunks/app/api/skills/search/route-fa23a1b416b6ac37.js +1 -0
  383. package/.next/static/chunks/app/api/skills/update/route-fa23a1b416b6ac37.js +1 -0
  384. package/.next/static/chunks/app/api/snippets/[id]/route-fa23a1b416b6ac37.js +1 -0
  385. package/.next/static/chunks/app/api/snippets/route-fa23a1b416b6ac37.js +1 -0
  386. package/.next/static/chunks/app/api/subagents/[id]/route-fa23a1b416b6ac37.js +1 -0
  387. package/.next/static/chunks/app/api/subagents/profiles/route-fa23a1b416b6ac37.js +1 -0
  388. package/.next/static/chunks/app/api/subagents/settings/route-fa23a1b416b6ac37.js +1 -0
  389. package/.next/static/chunks/app/api/tasks/[id]/[action]/route-fa23a1b416b6ac37.js +1 -0
  390. package/.next/static/chunks/app/api/tasks/[id]/changed-files/route-fa23a1b416b6ac37.js +1 -0
  391. package/.next/static/chunks/app/api/tasks/[id]/diff/route-fa23a1b416b6ac37.js +1 -0
  392. package/.next/static/chunks/app/api/tasks/[id]/events/route-fa23a1b416b6ac37.js +1 -0
  393. package/.next/static/chunks/app/api/tasks/[id]/route-fa23a1b416b6ac37.js +1 -0
  394. package/.next/static/chunks/app/api/tasks/batch/route-fa23a1b416b6ac37.js +1 -0
  395. package/.next/static/chunks/app/api/tasks/events/route-fa23a1b416b6ac37.js +1 -0
  396. package/.next/static/chunks/app/api/tasks/route-fa23a1b416b6ac37.js +1 -0
  397. package/.next/static/chunks/app/api/tasks/settings/route-fa23a1b416b6ac37.js +1 -0
  398. package/.next/static/chunks/app/api/tasks/templates/route-fa23a1b416b6ac37.js +1 -0
  399. package/.next/static/chunks/app/api/terminal/[id]/events/route-fa23a1b416b6ac37.js +1 -0
  400. package/.next/static/chunks/app/api/terminal/[id]/route-fa23a1b416b6ac37.js +1 -0
  401. package/.next/static/chunks/app/api/terminal/route-fa23a1b416b6ac37.js +1 -0
  402. package/.next/static/chunks/app/api/themes/[name]/route-fa23a1b416b6ac37.js +1 -0
  403. package/.next/static/chunks/app/api/themes/route-fa23a1b416b6ac37.js +1 -0
  404. package/.next/static/chunks/app/api/tools/settings/route-fa23a1b416b6ac37.js +1 -0
  405. package/.next/static/chunks/app/api/usage/route-fa23a1b416b6ac37.js +1 -0
  406. package/.next/static/chunks/app/api/vision-config/route-fa23a1b416b6ac37.js +1 -0
  407. package/.next/static/chunks/app/api/worktrees/route-fa23a1b416b6ac37.js +1 -0
  408. package/.next/static/chunks/app/layout-fc58518b92867e7e.js +1 -0
  409. package/.next/static/chunks/app/page-ba6129bed700ce78.js +48 -0
  410. package/.next/static/chunks/bf2ff291.3a109dffc1fe84af.js +122 -0
  411. package/.next/static/chunks/d3ac728e-7964f816a1ca64e5.js +1 -0
  412. package/.next/static/chunks/da12927c.df8334cb8b491be6.js +82 -0
  413. package/.next/static/chunks/db9d41be.e72ce090a86a3691.js +1 -0
  414. package/.next/static/chunks/framework-231c77385631dae2.js +1 -0
  415. package/.next/static/chunks/main-39024e6d570ad5e5.js +5 -0
  416. package/.next/static/chunks/main-app-0b45ce7a4444c85e.js +1 -0
  417. package/.next/static/chunks/next/dist/client/components/builtin/app-error-fa23a1b416b6ac37.js +1 -0
  418. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fa23a1b416b6ac37.js +1 -0
  419. package/.next/static/chunks/next/dist/client/components/builtin/global-error-9b3287a6309b286c.js +1 -0
  420. package/.next/static/chunks/next/dist/client/components/builtin/not-found-fa23a1b416b6ac37.js +1 -0
  421. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fa23a1b416b6ac37.js +1 -0
  422. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  423. package/.next/static/chunks/webpack-2d83e8fd8b1ff262.js +1 -0
  424. package/.next/static/css/1e6342ca3186c2ef.css +1 -0
  425. package/.next/static/css/2f46e0db0d4a3aed.css +1 -0
  426. package/.next/static/css/99c274a528914086.css +1 -0
  427. package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  428. package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  429. package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  430. package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  431. package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  432. package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  433. package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  434. package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  435. package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  436. package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  437. package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  438. package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  439. package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  440. package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  441. package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  442. package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  443. package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  444. package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  445. package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  446. package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  447. package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  448. package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  449. package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  450. package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  451. package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  452. package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  453. package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  454. package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  455. package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  456. package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  457. package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  458. package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  459. package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  460. package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  461. package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  462. package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  463. package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  464. package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  465. package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  466. package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  467. package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  468. package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  469. package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  470. package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  471. package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  472. package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  473. package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  474. package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  475. package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  476. package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  477. package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  478. package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  479. package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  480. package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  481. package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  482. package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  483. package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  484. package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  485. package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  486. package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  487. package/.next/static/media/ia-writer-quattro-latin-400-italic.1041824d.woff2 +0 -0
  488. package/.next/static/media/ia-writer-quattro-latin-400-italic.e1e60bf7.woff +0 -0
  489. package/.next/static/media/ia-writer-quattro-latin-400-normal.179d7f9d.woff2 +0 -0
  490. package/.next/static/media/ia-writer-quattro-latin-400-normal.7404fbdc.woff +0 -0
  491. package/.next/static/media/ia-writer-quattro-latin-700-italic.5f79ad89.woff +0 -0
  492. package/.next/static/media/ia-writer-quattro-latin-700-italic.a08768ff.woff2 +0 -0
  493. package/.next/static/media/ia-writer-quattro-latin-700-normal.9d4027b4.woff +0 -0
  494. package/.next/static/media/ia-writer-quattro-latin-700-normal.af04a9c2.woff2 +0 -0
  495. package/.next/static/media/lilex-cyrillic-400-normal.0dd1e3b7.woff2 +0 -0
  496. package/.next/static/media/lilex-cyrillic-400-normal.8097f131.woff +0 -0
  497. package/.next/static/media/lilex-cyrillic-ext-400-normal.13382a44.woff +0 -0
  498. package/.next/static/media/lilex-cyrillic-ext-400-normal.a1c2a378.woff2 +0 -0
  499. package/.next/static/media/lilex-greek-400-normal.97f26b1d.woff2 +0 -0
  500. package/.next/static/media/lilex-greek-400-normal.eb5c7c4d.woff +0 -0
  501. package/.next/static/media/lilex-latin-400-normal.3a7b14b0.woff +0 -0
  502. package/.next/static/media/lilex-latin-400-normal.62552ea0.woff2 +0 -0
  503. package/.next/static/media/lilex-latin-ext-400-normal.0297da55.woff2 +0 -0
  504. package/.next/static/media/lilex-latin-ext-400-normal.dc9a3323.woff +0 -0
  505. package/.next/static/media/lilex-symbols2-400-normal.131e0f42.woff2 +0 -0
  506. package/.next/static/media/lilex-symbols2-400-normal.eb403d1f.woff +0 -0
  507. package/.next/static/media/lilex-vietnamese-400-normal.53b3f1dc.woff2 +0 -0
  508. package/.next/static/media/lilex-vietnamese-400-normal.dfbef8e4.woff +0 -0
  509. package/.next/trace +8 -2
  510. package/.next/trace-build +1 -1
  511. package/package.json +1 -1
  512. package/.next/lock +0 -0
  513. package/.next/server/proxy.js.nft.json +0 -1
  514. /package/.next/server/{proxy.js → middleware.js} +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/4741.js","../chunks/2430.js","../chunks/9280.js","../chunks/1399.js","../chunks/922.js","../chunks/1094.js","../chunks/4315.js","../chunks/3869.js","../chunks/6366.js","../chunks/2325.js","../chunks/6253.js","../chunks/673.js","../chunks/4548.js","../chunks/4563.js","../chunks/8106.js","../chunks/3012.js","../chunks/8333.js","../chunks/8782.js","../chunks/7265.js","../chunks/611.js","../chunks/1800.js","../chunks/4367.js","../chunks/6337.js","../chunks/4980.js","../chunks/6916.js","../chunks/1860.js","../chunks/7710.js","../chunks/8713.js","../chunks/8604.js","../chunks/7445.js","../chunks/2452.js","../chunks/7799.js","../chunks/4538.js","../chunks/8397.js","../chunks/6052.js","../chunks/3383.js","../chunks/7307.js","../chunks/2169.js","../chunks/4267.js","../chunks/7744.js","../chunks/2075.js","../chunks/1601.js","../chunks/5974.js","../chunks/8920.js","../chunks/3186.js","../chunks/2408.js","../chunks/295.js","../chunks/1555.js","../chunks/1625.js","../chunks/4674.js","../chunks/7790.js","../chunks/3569.js","../chunks/5318.js","../chunks/7233.js","../chunks/7561.js","../chunks/3894.js","../chunks/2744.js","../chunks/2106.js","../chunks/9486.js","../chunks/2903.js","../chunks/4372.js","../chunks/8294.js","../chunks/1515.js","../chunks/9509.js","../chunks/2190.js","../chunks/5029.js","../chunks/7872.js","../chunks/835.js","../chunks/703.js","page_client-reference-manifest.js","../../../package.json"]}
1
+ {"version":1,"files":["../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.js","../../../node_modules/next/dist/lib/semver-noop.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/next/dist/server/lib/parse-stack.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/next/dist/server/lib/source-maps.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/next/dist/server/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/package.json","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/react/package.json","../../../package.json","../../package.json","../chunks/1094.js","../chunks/1399.js","../chunks/1515.js","../chunks/1555.js","../chunks/1601.js","../chunks/1625.js","../chunks/1800.js","../chunks/1860.js","../chunks/2075.js","../chunks/2106.js","../chunks/2169.js","../chunks/2190.js","../chunks/2325.js","../chunks/2408.js","../chunks/2430.js","../chunks/2452.js","../chunks/2744.js","../chunks/2903.js","../chunks/295.js","../chunks/3012.js","../chunks/3186.js","../chunks/3383.js","../chunks/3569.js","../chunks/3869.js","../chunks/3894.js","../chunks/4267.js","../chunks/4315.js","../chunks/4367.js","../chunks/4372.js","../chunks/4538.js","../chunks/4548.js","../chunks/4563.js","../chunks/4674.js","../chunks/4741.js","../chunks/4980.js","../chunks/5029.js","../chunks/5318.js","../chunks/5974.js","../chunks/6052.js","../chunks/611.js","../chunks/6253.js","../chunks/6337.js","../chunks/6366.js","../chunks/673.js","../chunks/6916.js","../chunks/703.js","../chunks/7233.js","../chunks/7265.js","../chunks/7307.js","../chunks/7445.js","../chunks/7561.js","../chunks/7710.js","../chunks/7744.js","../chunks/7790.js","../chunks/7799.js","../chunks/7872.js","../chunks/8106.js","../chunks/8294.js","../chunks/8333.js","../chunks/835.js","../chunks/8397.js","../chunks/8604.js","../chunks/8713.js","../chunks/8782.js","../chunks/8920.js","../chunks/922.js","../chunks/9280.js","../chunks/9486.js","../chunks/9509.js","../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"39247":{"*":{"id":"55100","name":"*","chunks":[],"async":false}},"55600":{"*":{"id":"65594","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"86343":{"*":{"id":"67809","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/components/ErrorBoundary.tsx":{"id":86343,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/katex/dist/katex.min.css":{"id":84559,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/app/globals.css":{"id":66872,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/app/settings.css":{"id":39979,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/@fontsource/ia-writer-quattro/index.css":{"id":26408,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/@fontsource/ia-writer-quattro/400-italic.css":{"id":8057,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/@fontsource/ia-writer-quattro/700.css":{"id":35279,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/@fontsource/ia-writer-quattro/700-italic.css":{"id":48276,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/node_modules/@fontsource/lilex/index.css":{"id":12043,"name":"*","chunks":["7177","static/chunks/app/layout-fc58518b92867e7e.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/components/AppShell.tsx":{"id":55600,"name":"*","chunks":["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","9786","static/chunks/9786-a857d8cac4c6f124.js","8974","static/chunks/app/page-ba6129bed700ce78.js"],"async":false},"/Volumes/1T 原装/项目研发/pi-web-QT/hooks/useI18n.tsx":{"id":39247,"name":"*","chunks":["7330","static/chunks/d3ac728e-7964f816a1ca64e5.js","9786","static/chunks/9786-a857d8cac4c6f124.js","8974","static/chunks/app/page-ba6129bed700ce78.js"],"async":false}},"entryCSSFiles":{"/Volumes/1T 原装/项目研发/pi-web-QT/":[],"/Volumes/1T 原装/项目研发/pi-web-QT/app/layout":[{"inlined":false,"path":"static/css/2f46e0db0d4a3aed.css"},{"inlined":false,"path":"static/css/99c274a528914086.css"},{"inlined":false,"path":"static/css/1e6342ca3186c2ef.css"}],"/Volumes/1T 原装/项目研发/pi-web-QT/app/page":[]},"rscModuleMapping":{"8057":{"*":{"id":"17","name":"*","chunks":[],"async":false}},"12043":{"*":{"id":"47561","name":"*","chunks":[],"async":false}},"26408":{"*":{"id":"77222","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"35279":{"*":{"id":"10289","name":"*","chunks":[],"async":false}},"39247":{"*":{"id":"73884","name":"*","chunks":[],"async":false}},"39979":{"*":{"id":"77261","name":"*","chunks":[],"async":false}},"48276":{"*":{"id":"64388","name":"*","chunks":[],"async":false}},"55600":{"*":{"id":"35790","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"84559":{"*":{"id":"25319","name":"*","chunks":[],"async":false}},"86343":{"*":{"id":"24387","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -36,8 +36,8 @@
36
36
  "/icon.svg/route": "app/icon.svg/route.js",
37
37
  "/api/agent/[id]/bash-output/route": "app/api/agent/[id]/bash-output/route.js",
38
38
  "/api/agent/running/route": "app/api/agent/running/route.js",
39
- "/api/agent/running/events/route": "app/api/agent/running/events/route.js",
40
39
  "/api/agent/[id]/events/route": "app/api/agent/[id]/events/route.js",
40
+ "/api/agent/running/events/route": "app/api/agent/running/events/route.js",
41
41
  "/api/app-update/route": "app/api/app-update/route.js",
42
42
  "/api/auth/api-key/[provider]/route": "app/api/auth/api-key/[provider]/route.js",
43
43
  "/api/auth/combined/route": "app/api/auth/combined/route.js",
@@ -46,28 +46,28 @@
46
46
  "/api/auth/login/[provider]/route": "app/api/auth/login/[provider]/route.js",
47
47
  "/api/backup/export/route": "app/api/backup/export/route.js",
48
48
  "/api/deepseek/balance/route": "app/api/deepseek/balance/route.js",
49
- "/api/backup/import/route": "app/api/backup/import/route.js",
50
49
  "/api/events/route": "app/api/events/route.js",
50
+ "/api/backup/import/route": "app/api/backup/import/route.js",
51
51
  "/api/features/route": "app/api/features/route.js",
52
52
  "/api/git/diff/route": "app/api/git/diff/route.js",
53
53
  "/api/git/push/route": "app/api/git/push/route.js",
54
54
  "/api/git/status/route": "app/api/git/status/route.js",
55
55
  "/api/git/stash/route": "app/api/git/stash/route.js",
56
- "/api/logs/route": "app/api/logs/route.js",
57
56
  "/api/mcp/restart/route": "app/api/mcp/restart/route.js",
57
+ "/api/logs/route": "app/api/logs/route.js",
58
58
  "/api/mcp/route": "app/api/mcp/route.js",
59
59
  "/api/models-config/catalog/route": "app/api/models-config/catalog/route.js",
60
- "/api/models-config/route": "app/api/models-config/route.js",
61
60
  "/api/models-config/builtin/route": "app/api/models-config/builtin/route.js",
61
+ "/api/models-config/test/route": "app/api/models-config/test/route.js",
62
62
  "/api/models-config/discover/route": "app/api/models-config/discover/route.js",
63
63
  "/api/plugins/check/route": "app/api/plugins/check/route.js",
64
+ "/api/models-config/route": "app/api/models-config/route.js",
64
65
  "/api/modes/route": "app/api/modes/route.js",
65
66
  "/api/models/route": "app/api/models/route.js",
66
67
  "/api/project-aliases/route": "app/api/project-aliases/route.js",
67
- "/api/models-config/test/route": "app/api/models-config/test/route.js",
68
68
  "/api/project-state/route": "app/api/project-state/route.js",
69
- "/api/project-trust/route": "app/api/project-trust/route.js",
70
69
  "/api/projects/visibility/route": "app/api/projects/visibility/route.js",
70
+ "/api/project-trust/route": "app/api/project-trust/route.js",
71
71
  "/api/proxy/test/route": "app/api/proxy/test/route.js",
72
72
  "/api/proxy/route": "app/api/proxy/route.js",
73
73
  "/api/plugins/route": "app/api/plugins/route.js",
@@ -78,8 +78,8 @@
78
78
  "/api/skills/check/route": "app/api/skills/check/route.js",
79
79
  "/api/skills/install/route": "app/api/skills/install/route.js",
80
80
  "/api/skills/route": "app/api/skills/route.js",
81
- "/api/snippets/[id]/route": "app/api/snippets/[id]/route.js",
82
81
  "/api/skills/update/route": "app/api/skills/update/route.js",
82
+ "/api/snippets/[id]/route": "app/api/snippets/[id]/route.js",
83
83
  "/api/subagents/[id]/route": "app/api/subagents/[id]/route.js",
84
84
  "/api/snippets/route": "app/api/snippets/route.js",
85
85
  "/api/subagents/settings/route": "app/api/subagents/settings/route.js",
@@ -1,2 +1,2 @@
1
- exports.id=7915,exports.ids=[7915],exports.modules={8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"@qt4798/pi-web","version":"0.17.5","description":"Web workspace for the pi coding agent","homepage":"https://github.com/t479842598/pi-web-QT#readme","repository":{"type":"git","url":"git+https://github.com/t479842598/pi-web-QT.git"},"bugs":{"url":"https://github.com/t479842598/pi-web-QT/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"pi-web":"bin/pi-web.js"},"files":["bin",".next","!.next/cache","!.next/dev","!.next/standalone","!.next/**/*.js.map","lib/theme","public","next.config.ts","package.json"],"scripts":{"dev":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next dev -H 127.0.0.1 -p 0 --turbopack","dev:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next dev -H 0.0.0.0 -p 0 --turbopack","postinstall":"node bin/prepare-terminal.js","build":"env -u TURBOPACK -u __NEXT_PRIVATE_STANDALONE_CONFIG next build --webpack","bundle:backend":"node scripts/bundle-backend.mjs","start":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next start -H 127.0.0.1 -p 0","start:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next start -H 0.0.0.0 -p 0","lint":"eslint .","release":"npm version patch --no-git-tag-version && npm run build && npm publish --access public","test":"node --experimental-strip-types --test $(find app components hooks lib -name \'*.test.mjs\' -print)","test:e2e":"node e2e/run.mjs","test:terminal":"node e2e/terminal.mjs"},"dependencies":{"@earendil-works/pi-agent-core":"0.85.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1","@earendil-works/pi-tui":"0.85.1","@fontsource/ia-writer-quattro":"^5.3.0","@fontsource/lilex":"^5.3.0","@phosphor-icons/react":"^2.1.10","@tanstack/react-virtual":"^3.14.9","@tauri-apps/api":"^2.11.1","@types/react-syntax-highlighter":"^15.5.13","@xterm/addon-fit":"0.11.0","@xterm/xterm":"6.0.0","adm-zip":"^0.6.0","ansi_up":"^6.0.6","js-yaml":"^5.2.3","katex":"^0.16.47","lucide-react":"^1.37.0","mammoth":"^1.12.0","mermaid":"^11.14.0","next":"16.3.1","node-pty":"1.1.0","proper-lockfile":"4.1.2","react":"^19.2.4","react-dom":"^19.2.4","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","semver":"7.8.0","undici":"^8.10.0"},"overrides":{"undici":"^8.10.0","@earendil-works/pi-coding-agent":{"undici":"^8.10.0"},"intersection-observer":"npm:noop2@2.0.0","node-domexception":"npm:@profoundlogic/node-domexception@1.0.2"},"allowScripts":{"@google/genai@1.52.0":true,"protobufjs@7.6.5":true,"sharp@0.34.5":true,"unrs-resolver@1.12.2":true},"devDependencies":{"@resvg/resvg-js":"^2.6.2","@tailwindcss/postcss":"^4.2.2","@types/js-yaml":"^4.0.9","@types/node":"^25","@types/proper-lockfile":"4.1.4","@types/react":"^19","@types/react-dom":"^19","@types/semver":"7.8.0","eslint":"^9.39.5","eslint-config-next":"16.3.1","jiti":"^2.7.0","lightningcss":"^1.33.0","playwright":"^1.63.0","postcss":"^8","tailwindcss":"^4.2.2","to-ico":"^1.1.5","typescript":"^5.9.3"}}')},50593:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>l,EN:()=>k});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}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!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))return!1;if(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))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");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||function(a,b){let c,d;try{c=new URL(a),d=new URL(b)}catch{return!1}if(c.protocol!==d.protocol||c.hostname.toLowerCase()!==d.hostname.toLowerCase())return!1;if(!c.port)return!0;let e=d.port||("https:"===d.protocol?"443":"80");return c.port===e}(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 l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},89628:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DT:()=>y,dH:()=>A,g3:()=>z,jE:()=>v,lz:()=>B,uj:()=>t});var e=c(26106),f=c.n(e),g=c(29021),h=c(21820),i=c(33873),j=c(75430),k=c(50593),l=c(8102),m=a([j]);j=(m.then?(await m)():m)[0];let D="pi-backup",E="${agentDir}",F="${home}";function n(a){if(!(0,g.existsSync)(a))return null;try{let b=JSON.parse((0,g.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:null}catch{return null}}function o(a){let b=[],c=[""];for(;c.length>0;){let d,e=c.pop(),f=(0,i.join)(a,e);try{d=(0,g.readdirSync)(f)}catch{continue}for(let a of d){let d;if("node_modules"===a||".git"===a)continue;let h=e?`${e}/${a}`:a,j=(0,i.join)(f,a);try{d=(0,g.statSync)(j)}catch{continue}d.isDirectory()?c.push(h):d.isFile()&&b.push(h)}}return b}function p(a){let b=(0,k.A0)((0,j.getAgentDir)()),c=(0,k.A0)((0,h.homedir)());return r(a,a=>{let d=(0,k.A0)(a);return d===b?E:d===c?F:d.startsWith(b+"/")?E+d.slice(b.length):d.startsWith(c+"/")?F+d.slice(c.length):a})}function q(a){let b=(0,j.getAgentDir)(),c=(0,h.homedir)();return r(a,a=>a===E?b:a===F?c:a.startsWith(E+"/")?(0,i.join)(b,...a.slice(E.length+1).split("/")):a.startsWith(F+"/")?(0,i.join)(c,...a.slice(F.length+1).split("/")):a)}function r(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>r(a,b));if(null!==a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=r(e,b);return c}return a}function s(a,b,c){a.addFile(`${D}/${b}`,Buffer.isBuffer(c)?c:Buffer.from(c,"utf8"))}function t(a){let b=(0,j.getAgentDir)(),d=new(f()),e={formatVersion:1,createdAt:new Date().toISOString(),...function(){try{return{piWebVersion:c(39006).version??"unknown",piSdkVersion:"unknown"}}catch{return{piWebVersion:"unknown",piSdkVersion:"unknown"}}}(),sourcePlatform:process.platform,includeSecrets:a.includeSecrets,includeSessions:a.includeSessions,files:[],mcpBinScripts:[],localPackages:[],absolutePaths:[],warnings:[]};for(let c of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"]){let f=(0,i.join)(b,c);if(!(0,g.existsSync)(f)||"auth.json"===c&&!a.includeSecrets)continue;let h=(0,g.readFileSync)(f,"utf8");if("models.json"!==c||a.includeSecrets){if("settings.json"===c||"mcp.json"===c||"models.json"===c){let a=n(f);a&&(h=JSON.stringify(p(a),null,2))}}else{let a=n(f);a&&(h=JSON.stringify(function(a){let b=a.providers??{},c={};for(let[a,d]of Object.entries(b))c[a]={...d},"string"==typeof c[a].apiKey&&(c[a].apiKey="");return{...a,providers:c}}(a),null,2))}s(d,c,String(h)),e.files.push(`${D}/${c}`)}let h=(0,i.join)(b,"skills");if((0,g.existsSync)(h))for(let a of o(h))d.addFile(`${D}/skills/${a}`,(0,g.readFileSync)((0,i.join)(h,a))),e.files.push(`${D}/skills/${a}`);let l=n((0,i.join)(b,"settings.json"));for(let a of l?.packages??[]){let b="string"==typeof a?a:a?.source;if(!b||b.startsWith("npm:"))continue;let c=(0,k.A0)(b);if((0,i.isAbsolute)(c)&&(0,g.existsSync)(c)){let a=(0,i.basename)(c);for(let b of o(c))d.addFile(`${D}/local-packages/${a}/${b}`,(0,g.readFileSync)((0,i.join)(c,b))),e.files.push(`${D}/local-packages/${a}/${b}`);e.localPackages.push(a)}else e.warnings.push(`Local package skipped (not found or not absolute): ${b}`)}let m=n((0,i.join)(b,"mcp.json")),q=new Set;if(m?.mcpServers)for(let a of Object.values(m.mcpServers))!function a(b,c){if("string"==typeof b){let a=`${E}/bin/`;if(b.startsWith(a)){let d=b.slice(a.length).split("/")[0];d&&c.add(d)}return}if(Array.isArray(b)){for(let d of b)a(d,c);return}if(null!==b&&"object"==typeof b)for(let d of Object.values(b))a(d,c)}(p(a),q);for(let a of q){let c=(0,i.join)(b,"bin",a);(0,g.existsSync)(c)&&(0,g.statSync)(c).isFile()?(d.addFile(`${D}/bin/${a}`,(0,g.readFileSync)(c)),e.files.push(`${D}/bin/${a}`),e.mcpBinScripts.push(a)):e.warnings.push(`MCP bin script referenced but missing: ${a}`)}if(a.includeSessions){let a=(0,i.join)(b,"sessions");if((0,g.existsSync)(a))for(let b of o(a))d.addFile(`${D}/sessions/${b}`,(0,g.readFileSync)((0,i.join)(a,b))),e.files.push(`${D}/sessions/${b}`)}return s(d,"manifest.json",JSON.stringify(e,null,2)),d.toBuffer()}let G=new Set(["npx","uvx","node","uv","npm","git","python3","python","bun","deno"]);function u(a){let b=a.toString("utf8",0,256).split(/\r?\n/,1)[0]??"";return b.startsWith("#!")?b:null}function v(a,b,c){let d=(0,j.getAgentDir)(),e=c??process.platform,f="win32"===e,g=[],h=[];for(let[c,j]of Object.entries(a)){let a,l=q(j),m="string"==typeof l.command?l.command:"",n=Array.isArray(l.args)?l.args.map(String):[],o={command:m,args:n};if(!m){h.push({name:c,original:o,adapted:null,action:"keep",platform:e});continue}let p=function(a,b){if(!a)return"manual";if((0,k.A0)(a).startsWith((0,k.A0)(b)+"/bin/"))return"restore-script";if(a.includes("/")||a.includes("\\")||a.includes(":"))return"keep-with-warning";let c=a.split(/[\s]/)[0];return G.has(c),"keep"}(m,d),r=null;if("restore-script"===p){let j=(0,i.basename)((0,k.A0)(m)),l=b.get(j);if(!l){r=null,a=`bin script ${j} missing from backup`,h.push({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a,installPrompt:C({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a})});continue}if(!w(j)){a=`bin script name rejected (unsafe): ${j}`;let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(!x(l)){a="bin script content rejected (unrecognized shebang)";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(f){let b=u(l);if(b&&b.includes("node"))r={command:(0,i.join)(d,"bin",`${j}.cmd`),args:n},h.push({name:c,original:o,adapted:r,action:"generate-cmd",platform:e,reason:(0,i.join)(d,"bin",j)});else{a="bash/other shebang wrapper cannot run on Windows; reinstall or adjust manually";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`)}}else r={command:(0,i.join)(d,"bin",j),args:n},h.push({name:c,original:o,adapted:r,action:"restore-script",platform:e});continue}if("keep-with-warning"===p){r={command:m,args:n},a="absolute path outside agentDir/bin — verify it exists on this machine",h.push({name:c,original:o,adapted:r,action:"keep-with-warning",platform:e,reason:a}),g.push(`${c}: ${a}`);continue}r={command:m,args:n},h.push({name:c,original:o,adapted:r,action:"keep",platform:e})}return{servers:h,warnings:g}}function w(a){return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(a)&&!a.includes("..")}function x(a){let b=u(a);if(!b)return!1;let c=b.slice(2).trim().split(/\s+/);if(0===c.length)return!1;let d=c[0],e=d.split("/").pop()??d;return!!["node","bash","sh","python3","python","zsh"].includes(e)||"env"===e&&c.length>1&&["node","bash","sh","python3","python"].includes(c[1].split("/").pop()??"")}function y(a){let b;try{b=new(f())(a)}catch(a){throw Error(`Not a valid zip archive: ${a instanceof Error?a.message:String(a)}`)}let c=b.getEntries(),d=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-backup-")),e=(0,i.join)(d,D);(0,g.mkdirSync)(e,{recursive:!0});let j=0,k=0;for(let a of c){if(a.isDirectory)continue;let c=a.entryName.replace(/\\/g,"/");if(!c.startsWith(`${D}/`))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unexpected entry outside ${D}/: ${c}`);let f=(0,i.resolve)(e,c.slice(D.length+1));if(!f.startsWith((0,i.resolve)(e)+i.sep))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Path traversal blocked: ${c}`);let h="number"==typeof a.header.size?a.header.size:0;if(j+=h,h>0x20000000||j>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`);(0,g.mkdirSync)((0,i.dirname)(f),{recursive:!0}),b.extractEntryTo(a,(0,i.dirname)(f),!1,!0);let l=(0,g.statSync)(f).size;if(k+=l,l>0x20000000||k>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`)}let l=(0,i.join)(e,"manifest.json");if(!(0,g.existsSync)(l))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error("Backup manifest.json missing — not a pi-web backup");let m=n(l);if(!m||1!==m.formatVersion)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unsupported backup format version: ${m?.formatVersion??"unknown"} (expected 1)`);let o=n((0,i.join)(e,"mcp.json"))?.mcpServers??{},p=new Map;for(let a of m.mcpBinScripts??[]){let b=(0,i.join)(e,"bin",a);(0,g.existsSync)(b)&&p.set(a,(0,g.readFileSync)(b))}let q=["core","skills","packages","mcp"];return m.includeSessions&&q.push("sessions"),{manifest:m,tempDir:d,servers:o,binScripts:p,categories:q}}function z(a){(0,g.rmSync)(a.tempDir,{recursive:!0,force:!0})}function A(a,b){let c=(0,j.getAgentDir)(),{manifest:d}=a,e={restored:[],needsRestart:[],manual:[],warnings:[]},f=new Set(b.categories),h=new Set(b.skippedMcpServers),m=b=>{let d=(0,i.join)(c,b),f=(0,i.join)(a.tempDir,D,b);(0,g.existsSync)(f)&&((0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)(f,"utf8")),e.restored.push(b))};if(f.has("core"))for(let a of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"])("auth.json"!==a||d.includeSecrets)&&(m(a),e.needsRestart.push(a));if(f.has("skills")){let b=(0,i.join)(a.tempDir,D,"skills");if((0,g.existsSync)(b)){for(let a of o(b)){let d=(0,i.join)(c,"skills",a);(0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push("skills/")}}if(f.has("packages")){let b=(0,i.join)(c,"settings.json"),f=n(b)??{},h=f.packages??[],j=d.localPackages??[],m=(0,i.join)(a.tempDir,D,"local-packages");for(let a of j){if(!w(a)){e.warnings.push(`Local package ${a} not restored (unsafe name)`);continue}let b=(0,i.join)(m,a);if(!(0,g.existsSync)(b)){e.warnings.push(`Local package ${a} missing from backup`);continue}let d=(0,i.join)(c,"local-packages",a);for(let a of o(b)){let c=(0,i.join)(d,a);(0,g.mkdirSync)((0,i.dirname)(c),{recursive:!0}),(0,l.$)(c,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push(`local-packages/${a}`)}let p=!1,q=h.map(a=>{let b="string"==typeof a?a:a?.source;if("string"!=typeof b||b.startsWith("npm:"))return a;let d=(0,i.basename)((0,k.A0)(b));if(j.includes(d)){p=!0;let b=(0,i.join)(c,"local-packages",d);return"string"==typeof a?b:{...a,source:b}}return a});if(p){let a={...f,packages:q};(0,l.$)(b,JSON.stringify(a,null,2)),e.restored.push("settings.json (packages paths)"),e.needsRestart.push("settings.json (packages paths)")}for(let a of h.map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:")))e.restored.push(`npm package ${a} (queued for reinstall)`)}if(f.has("mcp")){let b=v(a.servers,a.binScripts);e.warnings.push(...b.warnings);let d=n((0,i.join)(c,"mcp.json"))??{},f={};for(let d of b.servers){if(h.has(d.name))continue;if("manual"===d.action){e.manual.push({server:d.name,message:d.reason??"cannot be adapted automatically"});continue}let b=a.servers[d.name]??{},j=q(b);if(f[d.name]={...j,command:d.adapted?.command??j.command,...d.adapted?{args:d.adapted.args}:{}},"restore-script"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));try{(0,g.chmodSync)(a,493)}catch{}e.restored.push(`bin/${b}`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}if("generate-cmd"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))).replace(/\.cmd$/,""),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));let d=(0,i.join)(c,"bin",`${b}.cmd`),h=`%~dp0${b}`;(0,l.$)(d,`@node "${h}" %*\r
1
+ exports.id=7915,exports.ids=[7915],exports.modules={8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"@qt4798/pi-web","version":"0.17.6","description":"Web workspace for the pi coding agent","homepage":"https://github.com/t479842598/pi-web-QT#readme","repository":{"type":"git","url":"git+https://github.com/t479842598/pi-web-QT.git"},"bugs":{"url":"https://github.com/t479842598/pi-web-QT/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"pi-web":"bin/pi-web.js"},"files":["bin",".next","!.next/cache","!.next/dev","!.next/standalone","!.next/**/*.js.map","lib/theme","public","next.config.ts","package.json"],"scripts":{"dev":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next dev -H 127.0.0.1 -p 0 --turbopack","dev:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next dev -H 0.0.0.0 -p 0 --turbopack","postinstall":"node bin/prepare-terminal.js","build":"env -u TURBOPACK -u __NEXT_PRIVATE_STANDALONE_CONFIG next build --webpack","bundle:backend":"node scripts/bundle-backend.mjs","start":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next start -H 127.0.0.1 -p 0","start:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next start -H 0.0.0.0 -p 0","lint":"eslint .","release":"npm version patch --no-git-tag-version && npm run build && npm publish --access public","test":"node --experimental-strip-types --test $(find app components hooks lib -name \'*.test.mjs\' -print)","test:e2e":"node e2e/run.mjs","test:terminal":"node e2e/terminal.mjs"},"dependencies":{"@earendil-works/pi-agent-core":"0.85.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1","@earendil-works/pi-tui":"0.85.1","@fontsource/ia-writer-quattro":"^5.3.0","@fontsource/lilex":"^5.3.0","@phosphor-icons/react":"^2.1.10","@tanstack/react-virtual":"^3.14.9","@tauri-apps/api":"^2.11.1","@types/react-syntax-highlighter":"^15.5.13","@xterm/addon-fit":"0.11.0","@xterm/xterm":"6.0.0","adm-zip":"^0.6.0","ansi_up":"^6.0.6","js-yaml":"^5.2.3","katex":"^0.16.47","lucide-react":"^1.37.0","mammoth":"^1.12.0","mermaid":"^11.14.0","next":"16.3.1","node-pty":"1.1.0","proper-lockfile":"4.1.2","react":"^19.2.4","react-dom":"^19.2.4","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","semver":"7.8.0","undici":"^8.10.0"},"overrides":{"undici":"^8.10.0","@earendil-works/pi-coding-agent":{"undici":"^8.10.0"},"intersection-observer":"npm:noop2@2.0.0","node-domexception":"npm:@profoundlogic/node-domexception@1.0.2"},"allowScripts":{"@google/genai@1.52.0":true,"protobufjs@7.6.5":true,"sharp@0.34.5":true,"unrs-resolver@1.12.2":true},"devDependencies":{"@resvg/resvg-js":"^2.6.2","@tailwindcss/postcss":"^4.2.2","@types/js-yaml":"^4.0.9","@types/node":"^25","@types/proper-lockfile":"4.1.4","@types/react":"^19","@types/react-dom":"^19","@types/semver":"7.8.0","eslint":"^9.39.5","eslint-config-next":"16.3.1","jiti":"^2.7.0","lightningcss":"^1.33.0","playwright":"^1.63.0","postcss":"^8","tailwindcss":"^4.2.2","to-ico":"^1.1.5","typescript":"^5.9.3"}}')},50593:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>l,EN:()=>k});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}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!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))return!1;if(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))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");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||function(a,b){let c,d;try{c=new URL(a),d=new URL(b)}catch{return!1}if(c.protocol!==d.protocol||c.hostname.toLowerCase()!==d.hostname.toLowerCase())return!1;if(!c.port)return!0;let e=d.port||("https:"===d.protocol?"443":"80");return c.port===e}(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 l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},89628:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DT:()=>y,dH:()=>A,g3:()=>z,jE:()=>v,lz:()=>B,uj:()=>t});var e=c(26106),f=c.n(e),g=c(29021),h=c(21820),i=c(33873),j=c(75430),k=c(50593),l=c(8102),m=a([j]);j=(m.then?(await m)():m)[0];let D="pi-backup",E="${agentDir}",F="${home}";function n(a){if(!(0,g.existsSync)(a))return null;try{let b=JSON.parse((0,g.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:null}catch{return null}}function o(a){let b=[],c=[""];for(;c.length>0;){let d,e=c.pop(),f=(0,i.join)(a,e);try{d=(0,g.readdirSync)(f)}catch{continue}for(let a of d){let d;if("node_modules"===a||".git"===a)continue;let h=e?`${e}/${a}`:a,j=(0,i.join)(f,a);try{d=(0,g.statSync)(j)}catch{continue}d.isDirectory()?c.push(h):d.isFile()&&b.push(h)}}return b}function p(a){let b=(0,k.A0)((0,j.getAgentDir)()),c=(0,k.A0)((0,h.homedir)());return r(a,a=>{let d=(0,k.A0)(a);return d===b?E:d===c?F:d.startsWith(b+"/")?E+d.slice(b.length):d.startsWith(c+"/")?F+d.slice(c.length):a})}function q(a){let b=(0,j.getAgentDir)(),c=(0,h.homedir)();return r(a,a=>a===E?b:a===F?c:a.startsWith(E+"/")?(0,i.join)(b,...a.slice(E.length+1).split("/")):a.startsWith(F+"/")?(0,i.join)(c,...a.slice(F.length+1).split("/")):a)}function r(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>r(a,b));if(null!==a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=r(e,b);return c}return a}function s(a,b,c){a.addFile(`${D}/${b}`,Buffer.isBuffer(c)?c:Buffer.from(c,"utf8"))}function t(a){let b=(0,j.getAgentDir)(),d=new(f()),e={formatVersion:1,createdAt:new Date().toISOString(),...function(){try{return{piWebVersion:c(39006).version??"unknown",piSdkVersion:"unknown"}}catch{return{piWebVersion:"unknown",piSdkVersion:"unknown"}}}(),sourcePlatform:process.platform,includeSecrets:a.includeSecrets,includeSessions:a.includeSessions,files:[],mcpBinScripts:[],localPackages:[],absolutePaths:[],warnings:[]};for(let c of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"]){let f=(0,i.join)(b,c);if(!(0,g.existsSync)(f)||"auth.json"===c&&!a.includeSecrets)continue;let h=(0,g.readFileSync)(f,"utf8");if("models.json"!==c||a.includeSecrets){if("settings.json"===c||"mcp.json"===c||"models.json"===c){let a=n(f);a&&(h=JSON.stringify(p(a),null,2))}}else{let a=n(f);a&&(h=JSON.stringify(function(a){let b=a.providers??{},c={};for(let[a,d]of Object.entries(b))c[a]={...d},"string"==typeof c[a].apiKey&&(c[a].apiKey="");return{...a,providers:c}}(a),null,2))}s(d,c,String(h)),e.files.push(`${D}/${c}`)}let h=(0,i.join)(b,"skills");if((0,g.existsSync)(h))for(let a of o(h))d.addFile(`${D}/skills/${a}`,(0,g.readFileSync)((0,i.join)(h,a))),e.files.push(`${D}/skills/${a}`);let l=n((0,i.join)(b,"settings.json"));for(let a of l?.packages??[]){let b="string"==typeof a?a:a?.source;if(!b||b.startsWith("npm:"))continue;let c=(0,k.A0)(b);if((0,i.isAbsolute)(c)&&(0,g.existsSync)(c)){let a=(0,i.basename)(c);for(let b of o(c))d.addFile(`${D}/local-packages/${a}/${b}`,(0,g.readFileSync)((0,i.join)(c,b))),e.files.push(`${D}/local-packages/${a}/${b}`);e.localPackages.push(a)}else e.warnings.push(`Local package skipped (not found or not absolute): ${b}`)}let m=n((0,i.join)(b,"mcp.json")),q=new Set;if(m?.mcpServers)for(let a of Object.values(m.mcpServers))!function a(b,c){if("string"==typeof b){let a=`${E}/bin/`;if(b.startsWith(a)){let d=b.slice(a.length).split("/")[0];d&&c.add(d)}return}if(Array.isArray(b)){for(let d of b)a(d,c);return}if(null!==b&&"object"==typeof b)for(let d of Object.values(b))a(d,c)}(p(a),q);for(let a of q){let c=(0,i.join)(b,"bin",a);(0,g.existsSync)(c)&&(0,g.statSync)(c).isFile()?(d.addFile(`${D}/bin/${a}`,(0,g.readFileSync)(c)),e.files.push(`${D}/bin/${a}`),e.mcpBinScripts.push(a)):e.warnings.push(`MCP bin script referenced but missing: ${a}`)}if(a.includeSessions){let a=(0,i.join)(b,"sessions");if((0,g.existsSync)(a))for(let b of o(a))d.addFile(`${D}/sessions/${b}`,(0,g.readFileSync)((0,i.join)(a,b))),e.files.push(`${D}/sessions/${b}`)}return s(d,"manifest.json",JSON.stringify(e,null,2)),d.toBuffer()}let G=new Set(["npx","uvx","node","uv","npm","git","python3","python","bun","deno"]);function u(a){let b=a.toString("utf8",0,256).split(/\r?\n/,1)[0]??"";return b.startsWith("#!")?b:null}function v(a,b,c){let d=(0,j.getAgentDir)(),e=c??process.platform,f="win32"===e,g=[],h=[];for(let[c,j]of Object.entries(a)){let a,l=q(j),m="string"==typeof l.command?l.command:"",n=Array.isArray(l.args)?l.args.map(String):[],o={command:m,args:n};if(!m){h.push({name:c,original:o,adapted:null,action:"keep",platform:e});continue}let p=function(a,b){if(!a)return"manual";if((0,k.A0)(a).startsWith((0,k.A0)(b)+"/bin/"))return"restore-script";if(a.includes("/")||a.includes("\\")||a.includes(":"))return"keep-with-warning";let c=a.split(/[\s]/)[0];return G.has(c),"keep"}(m,d),r=null;if("restore-script"===p){let j=(0,i.basename)((0,k.A0)(m)),l=b.get(j);if(!l){r=null,a=`bin script ${j} missing from backup`,h.push({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a,installPrompt:C({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a})});continue}if(!w(j)){a=`bin script name rejected (unsafe): ${j}`;let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(!x(l)){a="bin script content rejected (unrecognized shebang)";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(f){let b=u(l);if(b&&b.includes("node"))r={command:(0,i.join)(d,"bin",`${j}.cmd`),args:n},h.push({name:c,original:o,adapted:r,action:"generate-cmd",platform:e,reason:(0,i.join)(d,"bin",j)});else{a="bash/other shebang wrapper cannot run on Windows; reinstall or adjust manually";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`)}}else r={command:(0,i.join)(d,"bin",j),args:n},h.push({name:c,original:o,adapted:r,action:"restore-script",platform:e});continue}if("keep-with-warning"===p){r={command:m,args:n},a="absolute path outside agentDir/bin — verify it exists on this machine",h.push({name:c,original:o,adapted:r,action:"keep-with-warning",platform:e,reason:a}),g.push(`${c}: ${a}`);continue}r={command:m,args:n},h.push({name:c,original:o,adapted:r,action:"keep",platform:e})}return{servers:h,warnings:g}}function w(a){return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(a)&&!a.includes("..")}function x(a){let b=u(a);if(!b)return!1;let c=b.slice(2).trim().split(/\s+/);if(0===c.length)return!1;let d=c[0],e=d.split("/").pop()??d;return!!["node","bash","sh","python3","python","zsh"].includes(e)||"env"===e&&c.length>1&&["node","bash","sh","python3","python"].includes(c[1].split("/").pop()??"")}function y(a){let b;try{b=new(f())(a)}catch(a){throw Error(`Not a valid zip archive: ${a instanceof Error?a.message:String(a)}`)}let c=b.getEntries(),d=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-backup-")),e=(0,i.join)(d,D);(0,g.mkdirSync)(e,{recursive:!0});let j=0,k=0;for(let a of c){if(a.isDirectory)continue;let c=a.entryName.replace(/\\/g,"/");if(!c.startsWith(`${D}/`))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unexpected entry outside ${D}/: ${c}`);let f=(0,i.resolve)(e,c.slice(D.length+1));if(!f.startsWith((0,i.resolve)(e)+i.sep))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Path traversal blocked: ${c}`);let h="number"==typeof a.header.size?a.header.size:0;if(j+=h,h>0x20000000||j>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`);(0,g.mkdirSync)((0,i.dirname)(f),{recursive:!0}),b.extractEntryTo(a,(0,i.dirname)(f),!1,!0);let l=(0,g.statSync)(f).size;if(k+=l,l>0x20000000||k>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`)}let l=(0,i.join)(e,"manifest.json");if(!(0,g.existsSync)(l))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error("Backup manifest.json missing — not a pi-web backup");let m=n(l);if(!m||1!==m.formatVersion)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unsupported backup format version: ${m?.formatVersion??"unknown"} (expected 1)`);let o=n((0,i.join)(e,"mcp.json"))?.mcpServers??{},p=new Map;for(let a of m.mcpBinScripts??[]){let b=(0,i.join)(e,"bin",a);(0,g.existsSync)(b)&&p.set(a,(0,g.readFileSync)(b))}let q=["core","skills","packages","mcp"];return m.includeSessions&&q.push("sessions"),{manifest:m,tempDir:d,servers:o,binScripts:p,categories:q}}function z(a){(0,g.rmSync)(a.tempDir,{recursive:!0,force:!0})}function A(a,b){let c=(0,j.getAgentDir)(),{manifest:d}=a,e={restored:[],needsRestart:[],manual:[],warnings:[]},f=new Set(b.categories),h=new Set(b.skippedMcpServers),m=b=>{let d=(0,i.join)(c,b),f=(0,i.join)(a.tempDir,D,b);(0,g.existsSync)(f)&&((0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)(f,"utf8")),e.restored.push(b))};if(f.has("core"))for(let a of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"])("auth.json"!==a||d.includeSecrets)&&(m(a),e.needsRestart.push(a));if(f.has("skills")){let b=(0,i.join)(a.tempDir,D,"skills");if((0,g.existsSync)(b)){for(let a of o(b)){let d=(0,i.join)(c,"skills",a);(0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push("skills/")}}if(f.has("packages")){let b=(0,i.join)(c,"settings.json"),f=n(b)??{},h=f.packages??[],j=d.localPackages??[],m=(0,i.join)(a.tempDir,D,"local-packages");for(let a of j){if(!w(a)){e.warnings.push(`Local package ${a} not restored (unsafe name)`);continue}let b=(0,i.join)(m,a);if(!(0,g.existsSync)(b)){e.warnings.push(`Local package ${a} missing from backup`);continue}let d=(0,i.join)(c,"local-packages",a);for(let a of o(b)){let c=(0,i.join)(d,a);(0,g.mkdirSync)((0,i.dirname)(c),{recursive:!0}),(0,l.$)(c,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push(`local-packages/${a}`)}let p=!1,q=h.map(a=>{let b="string"==typeof a?a:a?.source;if("string"!=typeof b||b.startsWith("npm:"))return a;let d=(0,i.basename)((0,k.A0)(b));if(j.includes(d)){p=!0;let b=(0,i.join)(c,"local-packages",d);return"string"==typeof a?b:{...a,source:b}}return a});if(p){let a={...f,packages:q};(0,l.$)(b,JSON.stringify(a,null,2)),e.restored.push("settings.json (packages paths)"),e.needsRestart.push("settings.json (packages paths)")}for(let a of h.map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:")))e.restored.push(`npm package ${a} (queued for reinstall)`)}if(f.has("mcp")){let b=v(a.servers,a.binScripts);e.warnings.push(...b.warnings);let d=n((0,i.join)(c,"mcp.json"))??{},f={};for(let d of b.servers){if(h.has(d.name))continue;if("manual"===d.action){e.manual.push({server:d.name,message:d.reason??"cannot be adapted automatically"});continue}let b=a.servers[d.name]??{},j=q(b);if(f[d.name]={...j,command:d.adapted?.command??j.command,...d.adapted?{args:d.adapted.args}:{}},"restore-script"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));try{(0,g.chmodSync)(a,493)}catch{}e.restored.push(`bin/${b}`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}if("generate-cmd"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))).replace(/\.cmd$/,""),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));let d=(0,i.join)(c,"bin",`${b}.cmd`),h=`%~dp0${b}`;(0,l.$)(d,`@node "${h}" %*\r
2
2
  `),e.restored.push(`bin/${b}`,`bin/${b}.cmd`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}}(0,l.$)((0,i.join)(c,"mcp.json"),JSON.stringify({...d,mcpServers:f},null,2)),e.restored.push("mcp.json"),e.needsRestart.push("mcp.json")}return{report:e,npmPackages:B(a)}}function B(a){let b=n((0,i.join)(a.tempDir,D,"settings.json"));return(b?.packages??[]).map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:"))}function C(a){let b=(0,j.getAgentDir)(),c="win32"===process.platform?"Windows":"darwin"===process.platform?"macOS":"Linux",d=JSON.stringify(a.original,null,2);return[`请在当前环境(${c})安装 MCP server「${a.name}」。`,"\n## 原始配置(来自备份)\n```json",d,"```\n\n## 统一安装约定",`- 脚本类工具统一安装到 \`${(0,i.join)(b,"bin")}\`(Windows 上同时生成同名 \`.cmd\` 包装)。`,`- npm 类工具统一通过 \`npx <pkg>\` 运行,或安装到 \`${(0,i.join)(b,"npm")}\` 后引用。`,"- 依赖(node/npx/uv 等)统一从 PATH 解析,不要硬编码本机绝对路径。\n- 安装完成后,输出可直接写入 `~/.pi/agent/mcp.json` 的完整 server 配置片段(含 command/args/transport/lifecycle)。\n- 不要修改 mcp.json 中其它 server 的配置。\n\n安装过程中如遇障碍,请说明原因并给出替代方案。"].join("\n")}d()}catch(a){d(a)}})},96487:()=>{}};
@@ -0,0 +1,18 @@
1
+ {
2
+ "version": 1,
3
+ "functions": {
4
+ "/_middleware": {
5
+ "runtime": "nodejs",
6
+ "matchers": [
7
+ {
8
+ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?:[^\\/#\\?]+?)(?:\\/(?:[^\\/#\\?]+?))*))?(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$",
9
+ "originalSource": "/:path*"
10
+ }
11
+ ]
12
+ },
13
+ "/api/sessions/[id]/export": {},
14
+ "/api/terminal": {},
15
+ "/api/terminal/[id]": {},
16
+ "/api/terminal/[id]/events": {}
17
+ }
18
+ }