@qt4798/pi-web 0.9.18-beta.1 → 0.9.19

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 (343) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +13 -6
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +2 -2
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +44 -0
  8. package/.next/server/app/_global-error/page.js +2 -2
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +2 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  29. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/new/route.js +1 -1
  32. package/.next/server/app/api/agent/running/events/route.js +1 -1
  33. package/.next/server/app/api/agent/running/route.js +1 -1
  34. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  35. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  36. package/.next/server/app/api/auth/combined/route.js +1 -1
  37. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  39. package/.next/server/app/api/auth/providers/route.js +1 -1
  40. package/.next/server/app/api/backup/export/route.js +1 -1
  41. package/.next/server/app/api/backup/import/route.js +1 -1
  42. package/.next/server/app/api/cwd/browse/route.js +1 -1
  43. package/.next/server/app/api/cwd/validate/route.js +1 -1
  44. package/.next/server/app/api/deepseek/balance/route.js +1 -0
  45. package/.next/server/app/api/deepseek/balance/route.js.nft.json +1 -0
  46. package/.next/server/app/api/deepseek/balance/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/default-cwd/route.js +1 -1
  48. package/.next/server/app/api/events/route.js +2 -2
  49. package/.next/server/app/api/features/route.js +1 -1
  50. package/.next/server/app/api/file-index/route.js +1 -1
  51. package/.next/server/app/api/files/[...path]/route.js +1 -1
  52. package/.next/server/app/api/git/diff/route.js +1 -1
  53. package/.next/server/app/api/git/push/route.js +1 -1
  54. package/.next/server/app/api/git/stash/route.js +1 -1
  55. package/.next/server/app/api/git/status/route.js +1 -1
  56. package/.next/server/app/api/home/route.js +1 -1
  57. package/.next/server/app/api/import/discover/route.js +1 -1
  58. package/.next/server/app/api/import/execute/route.js +1 -1
  59. package/.next/server/app/api/import/status/route.js +1 -1
  60. package/.next/server/app/api/logs/route.js +1 -1
  61. package/.next/server/app/api/mcp/route.js +2 -0
  62. package/.next/server/app/api/mcp/route.js.nft.json +1 -0
  63. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
  64. package/.next/server/app/api/models/route.js +1 -1
  65. package/.next/server/app/api/models-config/builtin/route.js +1 -1
  66. package/.next/server/app/api/models-config/builtin/route.js.nft.json +1 -1
  67. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  68. package/.next/server/app/api/models-config/discover/route.js +1 -1
  69. package/.next/server/app/api/models-config/route.js +1 -1
  70. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  71. package/.next/server/app/api/models-config/test/route.js +1 -1
  72. package/.next/server/app/api/modes/route.js +1 -1
  73. package/.next/server/app/api/opencode-zen/external/key/route.js +1 -0
  74. package/.next/server/app/api/opencode-zen/external/key/route.js.nft.json +1 -0
  75. package/.next/server/app/api/opencode-zen/external/key/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/opencode-zen/external/test/route.js +1 -0
  77. package/.next/server/app/api/opencode-zen/external/test/route.js.nft.json +1 -0
  78. package/.next/server/app/api/opencode-zen/external/test/route_client-reference-manifest.js +1 -0
  79. package/.next/server/app/api/opencode-zen/import/route.js +1 -1
  80. package/.next/server/app/api/opencode-zen/key/route.js +1 -1
  81. package/.next/server/app/api/opencode-zen/route.js +1 -1
  82. package/.next/server/app/api/opencode-zen/test/route.js +1 -1
  83. package/.next/server/app/api/plugins/route.js +1 -1
  84. package/.next/server/app/api/project-trust/route.js +1 -1
  85. package/.next/server/app/api/proxy/route.js +1 -1
  86. package/.next/server/app/api/proxy/test/route.js +1 -1
  87. package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
  88. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  89. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  90. package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
  91. package/.next/server/app/api/sessions/[id]/queue-recovery/route.js +1 -1
  92. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  93. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  94. package/.next/server/app/api/sessions/route.js +1 -1
  95. package/.next/server/app/api/settings/title-model/route.js +1 -1
  96. package/.next/server/app/api/skills/check/route.js +1 -1
  97. package/.next/server/app/api/skills/install/route.js +1 -1
  98. package/.next/server/app/api/skills/route.js +1 -1
  99. package/.next/server/app/api/skills/search/route.js +1 -1
  100. package/.next/server/app/api/skills/update/route.js +1 -1
  101. package/.next/server/app/api/snippets/[id]/route.js +1 -0
  102. package/.next/server/app/api/snippets/[id]/route.js.nft.json +1 -0
  103. package/.next/server/app/api/snippets/[id]/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/snippets/route.js +1 -0
  105. package/.next/server/app/api/snippets/route.js.nft.json +1 -0
  106. package/.next/server/app/api/snippets/route_client-reference-manifest.js +1 -0
  107. package/.next/server/app/api/subagents/route.js +2 -0
  108. package/.next/server/app/api/subagents/route.js.nft.json +1 -0
  109. package/.next/server/app/api/subagents/route_client-reference-manifest.js +1 -0
  110. package/.next/server/app/api/tasks/[id]/[action]/route.js +1 -1
  111. package/.next/server/app/api/tasks/[id]/changed-files/route.js +1 -1
  112. package/.next/server/app/api/tasks/[id]/diff/route.js +2 -2
  113. package/.next/server/app/api/tasks/[id]/events/route.js +1 -1
  114. package/.next/server/app/api/tasks/[id]/route.js +1 -1
  115. package/.next/server/app/api/tasks/batch/route.js +1 -1
  116. package/.next/server/app/api/tasks/events/route.js +2 -2
  117. package/.next/server/app/api/tasks/route.js +1 -1
  118. package/.next/server/app/api/tasks/settings/route.js +1 -1
  119. package/.next/server/app/api/tasks/templates/route.js +1 -1
  120. package/.next/server/app/api/themes/[name]/route.js +1 -1
  121. package/.next/server/app/api/themes/route.js +1 -1
  122. package/.next/server/app/api/usage/route.js +1 -1
  123. package/.next/server/app/api/vision-config/route.js +2 -2
  124. package/.next/server/app/api/worktrees/route.js +1 -1
  125. package/.next/server/app/icon.ico/route.js +1 -1
  126. package/.next/server/app/icon.png/route.js +1 -1
  127. package/.next/server/app/icon.svg/route.js +1 -1
  128. package/.next/server/app/index.html +1 -1
  129. package/.next/server/app/index.rsc +4 -4
  130. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  131. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  132. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  133. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  134. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  135. package/.next/server/app/page.js +17 -14
  136. package/.next/server/app/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app-paths-manifest.json +13 -6
  138. package/.next/server/chunks/1213.js +1 -1
  139. package/.next/server/chunks/1499.js +1 -1
  140. package/.next/server/chunks/2303.js +1 -1
  141. package/.next/server/chunks/2498.js +1 -0
  142. package/.next/server/chunks/4253.js +2 -2
  143. package/.next/server/chunks/440.js +1 -1
  144. package/.next/server/chunks/6429.js +1 -1
  145. package/.next/server/chunks/7915.js +1 -1
  146. package/.next/server/middleware-build-manifest.js +1 -1
  147. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  148. package/.next/server/middleware.js +3 -3
  149. package/.next/server/pages/404.html +1 -1
  150. package/.next/server/pages/500.html +1 -1
  151. package/.next/static/chunks/{3308.4b28a1cf1ba95ccb.js → 3308.d45be6730587846b.js} +1 -1
  152. package/.next/static/chunks/{7370-bb8f0d070d8d0508.js → 9103-7c410d401717ec38.js} +1 -1
  153. package/.next/static/chunks/99.280e10a836dfdb17.js +24 -0
  154. package/.next/static/chunks/app/_global-error/page-6bdd527b5ef202bf.js +1 -0
  155. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-6bdd527b5ef202bf.js +1 -0
  156. package/.next/static/chunks/app/api/agent/[id]/events/route-6bdd527b5ef202bf.js +1 -0
  157. package/.next/static/chunks/app/api/agent/[id]/route-6bdd527b5ef202bf.js +1 -0
  158. package/.next/static/chunks/app/api/agent/new/route-6bdd527b5ef202bf.js +1 -0
  159. package/.next/static/chunks/app/api/agent/running/events/route-6bdd527b5ef202bf.js +1 -0
  160. package/.next/static/chunks/app/api/agent/running/route-6bdd527b5ef202bf.js +1 -0
  161. package/.next/static/chunks/app/api/auth/all-providers/route-6bdd527b5ef202bf.js +1 -0
  162. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6bdd527b5ef202bf.js +1 -0
  163. package/.next/static/chunks/app/api/auth/combined/route-6bdd527b5ef202bf.js +1 -0
  164. package/.next/static/chunks/app/api/auth/login/[provider]/route-6bdd527b5ef202bf.js +1 -0
  165. package/.next/static/chunks/app/api/auth/logout/[provider]/route-6bdd527b5ef202bf.js +1 -0
  166. package/.next/static/chunks/app/api/auth/providers/route-6bdd527b5ef202bf.js +1 -0
  167. package/.next/static/chunks/app/api/backup/export/route-6bdd527b5ef202bf.js +1 -0
  168. package/.next/static/chunks/app/api/backup/import/route-6bdd527b5ef202bf.js +1 -0
  169. package/.next/static/chunks/app/api/cwd/browse/route-6bdd527b5ef202bf.js +1 -0
  170. package/.next/static/chunks/app/api/cwd/validate/route-6bdd527b5ef202bf.js +1 -0
  171. package/.next/static/chunks/app/api/deepseek/balance/route-6bdd527b5ef202bf.js +1 -0
  172. package/.next/static/chunks/app/api/default-cwd/route-6bdd527b5ef202bf.js +1 -0
  173. package/.next/static/chunks/app/api/events/route-6bdd527b5ef202bf.js +1 -0
  174. package/.next/static/chunks/app/api/features/route-6bdd527b5ef202bf.js +1 -0
  175. package/.next/static/chunks/app/api/file-index/route-6bdd527b5ef202bf.js +1 -0
  176. package/.next/static/chunks/app/api/files/[...path]/route-6bdd527b5ef202bf.js +1 -0
  177. package/.next/static/chunks/app/api/git/diff/route-6bdd527b5ef202bf.js +1 -0
  178. package/.next/static/chunks/app/api/git/push/route-6bdd527b5ef202bf.js +1 -0
  179. package/.next/static/chunks/app/api/git/stash/route-6bdd527b5ef202bf.js +1 -0
  180. package/.next/static/chunks/app/api/git/status/route-6bdd527b5ef202bf.js +1 -0
  181. package/.next/static/chunks/app/api/home/route-6bdd527b5ef202bf.js +1 -0
  182. package/.next/static/chunks/app/api/import/discover/route-6bdd527b5ef202bf.js +1 -0
  183. package/.next/static/chunks/app/api/import/execute/route-6bdd527b5ef202bf.js +1 -0
  184. package/.next/static/chunks/app/api/import/status/route-6bdd527b5ef202bf.js +1 -0
  185. package/.next/static/chunks/app/api/logs/route-6bdd527b5ef202bf.js +1 -0
  186. package/.next/static/chunks/app/api/mcp/route-6bdd527b5ef202bf.js +1 -0
  187. package/.next/static/chunks/app/api/models/route-6bdd527b5ef202bf.js +1 -0
  188. package/.next/static/chunks/app/api/models-config/builtin/route-6bdd527b5ef202bf.js +1 -0
  189. package/.next/static/chunks/app/api/models-config/catalog/route-6bdd527b5ef202bf.js +1 -0
  190. package/.next/static/chunks/app/api/models-config/discover/route-6bdd527b5ef202bf.js +1 -0
  191. package/.next/static/chunks/app/api/models-config/route-6bdd527b5ef202bf.js +1 -0
  192. package/.next/static/chunks/app/api/models-config/test/route-6bdd527b5ef202bf.js +1 -0
  193. package/.next/static/chunks/app/api/modes/route-6bdd527b5ef202bf.js +1 -0
  194. package/.next/static/chunks/app/api/opencode-zen/external/key/route-6bdd527b5ef202bf.js +1 -0
  195. package/.next/static/chunks/app/api/opencode-zen/external/test/route-6bdd527b5ef202bf.js +1 -0
  196. package/.next/static/chunks/app/api/opencode-zen/import/route-6bdd527b5ef202bf.js +1 -0
  197. package/.next/static/chunks/app/api/opencode-zen/key/route-6bdd527b5ef202bf.js +1 -0
  198. package/.next/static/chunks/app/api/opencode-zen/route-6bdd527b5ef202bf.js +1 -0
  199. package/.next/static/chunks/app/api/opencode-zen/test/route-6bdd527b5ef202bf.js +1 -0
  200. package/.next/static/chunks/app/api/plugins/route-6bdd527b5ef202bf.js +1 -0
  201. package/.next/static/chunks/app/api/project-trust/route-6bdd527b5ef202bf.js +1 -0
  202. package/.next/static/chunks/app/api/proxy/route-6bdd527b5ef202bf.js +1 -0
  203. package/.next/static/chunks/app/api/proxy/test/route-6bdd527b5ef202bf.js +1 -0
  204. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6bdd527b5ef202bf.js +1 -0
  205. package/.next/static/chunks/app/api/sessions/[id]/context/route-6bdd527b5ef202bf.js +1 -0
  206. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-6bdd527b5ef202bf.js +1 -0
  207. package/.next/static/chunks/app/api/sessions/[id]/export/route-6bdd527b5ef202bf.js +1 -0
  208. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-6bdd527b5ef202bf.js +1 -0
  209. package/.next/static/chunks/app/api/sessions/[id]/route-6bdd527b5ef202bf.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/[id]/state/route-6bdd527b5ef202bf.js +1 -0
  211. package/.next/static/chunks/app/api/sessions/route-6bdd527b5ef202bf.js +1 -0
  212. package/.next/static/chunks/app/api/settings/title-model/route-6bdd527b5ef202bf.js +1 -0
  213. package/.next/static/chunks/app/api/skills/check/route-6bdd527b5ef202bf.js +1 -0
  214. package/.next/static/chunks/app/api/skills/install/route-6bdd527b5ef202bf.js +1 -0
  215. package/.next/static/chunks/app/api/skills/route-6bdd527b5ef202bf.js +1 -0
  216. package/.next/static/chunks/app/api/skills/search/route-6bdd527b5ef202bf.js +1 -0
  217. package/.next/static/chunks/app/api/skills/update/route-6bdd527b5ef202bf.js +1 -0
  218. package/.next/static/chunks/app/api/snippets/[id]/route-6bdd527b5ef202bf.js +1 -0
  219. package/.next/static/chunks/app/api/snippets/route-6bdd527b5ef202bf.js +1 -0
  220. package/.next/static/chunks/app/api/subagents/route-6bdd527b5ef202bf.js +1 -0
  221. package/.next/static/chunks/app/api/tasks/[id]/[action]/route-6bdd527b5ef202bf.js +1 -0
  222. package/.next/static/chunks/app/api/tasks/[id]/changed-files/route-6bdd527b5ef202bf.js +1 -0
  223. package/.next/static/chunks/app/api/tasks/[id]/diff/route-6bdd527b5ef202bf.js +1 -0
  224. package/.next/static/chunks/app/api/tasks/[id]/events/route-6bdd527b5ef202bf.js +1 -0
  225. package/.next/static/chunks/app/api/tasks/[id]/route-6bdd527b5ef202bf.js +1 -0
  226. package/.next/static/chunks/app/api/tasks/batch/route-6bdd527b5ef202bf.js +1 -0
  227. package/.next/static/chunks/app/api/tasks/events/route-6bdd527b5ef202bf.js +1 -0
  228. package/.next/static/chunks/app/api/tasks/route-6bdd527b5ef202bf.js +1 -0
  229. package/.next/static/chunks/app/api/tasks/settings/route-6bdd527b5ef202bf.js +1 -0
  230. package/.next/static/chunks/app/api/tasks/templates/route-6bdd527b5ef202bf.js +1 -0
  231. package/.next/static/chunks/app/api/themes/[name]/route-6bdd527b5ef202bf.js +1 -0
  232. package/.next/static/chunks/app/api/themes/route-6bdd527b5ef202bf.js +1 -0
  233. package/.next/static/chunks/app/api/usage/route-6bdd527b5ef202bf.js +1 -0
  234. package/.next/static/chunks/app/api/vision-config/route-6bdd527b5ef202bf.js +1 -0
  235. package/.next/static/chunks/app/api/worktrees/route-6bdd527b5ef202bf.js +1 -0
  236. package/.next/static/chunks/app/page-451c953ad6232c59.js +53 -0
  237. package/.next/static/chunks/next/dist/client/components/builtin/app-error-6bdd527b5ef202bf.js +1 -0
  238. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6bdd527b5ef202bf.js +1 -0
  239. package/.next/static/chunks/next/dist/client/components/builtin/not-found-6bdd527b5ef202bf.js +1 -0
  240. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6bdd527b5ef202bf.js +1 -0
  241. package/.next/static/chunks/webpack-06a1a811cd141d40.js +1 -0
  242. package/.next/static/css/dda15933a7f70fbf.css +1 -0
  243. package/.next/static/rddGyDxw8t2Q1B_osP7Xr/_buildManifest.js +1 -0
  244. package/.next/trace +9 -10
  245. package/.next/trace-build +1 -1
  246. package/.next/types/app/api/deepseek/balance/route.ts +351 -0
  247. package/.next/types/app/api/mcp/route.ts +351 -0
  248. package/.next/types/app/api/opencode-zen/external/key/route.ts +351 -0
  249. package/.next/types/app/api/opencode-zen/external/test/route.ts +351 -0
  250. package/.next/types/app/api/snippets/[id]/route.ts +351 -0
  251. package/.next/types/app/api/snippets/route.ts +351 -0
  252. package/.next/types/app/api/subagents/route.ts +351 -0
  253. package/.next/types/routes.d.ts +8 -1
  254. package/.next/types/validator.ts +63 -0
  255. package/README.md +81 -158
  256. package/bin/pi-web-options.js +8 -2
  257. package/bin/pi-web.js +0 -0
  258. package/package.json +3 -3
  259. package/.next/static/chunks/2480.cf27ca02e5b19761.js +0 -24
  260. package/.next/static/chunks/app/_global-error/page-05965789d7c1c4dc.js +0 -1
  261. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-05965789d7c1c4dc.js +0 -1
  262. package/.next/static/chunks/app/api/agent/[id]/events/route-05965789d7c1c4dc.js +0 -1
  263. package/.next/static/chunks/app/api/agent/[id]/route-05965789d7c1c4dc.js +0 -1
  264. package/.next/static/chunks/app/api/agent/new/route-05965789d7c1c4dc.js +0 -1
  265. package/.next/static/chunks/app/api/agent/running/events/route-05965789d7c1c4dc.js +0 -1
  266. package/.next/static/chunks/app/api/agent/running/route-05965789d7c1c4dc.js +0 -1
  267. package/.next/static/chunks/app/api/auth/all-providers/route-05965789d7c1c4dc.js +0 -1
  268. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-05965789d7c1c4dc.js +0 -1
  269. package/.next/static/chunks/app/api/auth/combined/route-05965789d7c1c4dc.js +0 -1
  270. package/.next/static/chunks/app/api/auth/login/[provider]/route-05965789d7c1c4dc.js +0 -1
  271. package/.next/static/chunks/app/api/auth/logout/[provider]/route-05965789d7c1c4dc.js +0 -1
  272. package/.next/static/chunks/app/api/auth/providers/route-05965789d7c1c4dc.js +0 -1
  273. package/.next/static/chunks/app/api/backup/export/route-05965789d7c1c4dc.js +0 -1
  274. package/.next/static/chunks/app/api/backup/import/route-05965789d7c1c4dc.js +0 -1
  275. package/.next/static/chunks/app/api/cwd/browse/route-05965789d7c1c4dc.js +0 -1
  276. package/.next/static/chunks/app/api/cwd/validate/route-05965789d7c1c4dc.js +0 -1
  277. package/.next/static/chunks/app/api/default-cwd/route-05965789d7c1c4dc.js +0 -1
  278. package/.next/static/chunks/app/api/events/route-05965789d7c1c4dc.js +0 -1
  279. package/.next/static/chunks/app/api/features/route-05965789d7c1c4dc.js +0 -1
  280. package/.next/static/chunks/app/api/file-index/route-05965789d7c1c4dc.js +0 -1
  281. package/.next/static/chunks/app/api/files/[...path]/route-05965789d7c1c4dc.js +0 -1
  282. package/.next/static/chunks/app/api/git/diff/route-05965789d7c1c4dc.js +0 -1
  283. package/.next/static/chunks/app/api/git/push/route-05965789d7c1c4dc.js +0 -1
  284. package/.next/static/chunks/app/api/git/stash/route-05965789d7c1c4dc.js +0 -1
  285. package/.next/static/chunks/app/api/git/status/route-05965789d7c1c4dc.js +0 -1
  286. package/.next/static/chunks/app/api/home/route-05965789d7c1c4dc.js +0 -1
  287. package/.next/static/chunks/app/api/import/discover/route-05965789d7c1c4dc.js +0 -1
  288. package/.next/static/chunks/app/api/import/execute/route-05965789d7c1c4dc.js +0 -1
  289. package/.next/static/chunks/app/api/import/status/route-05965789d7c1c4dc.js +0 -1
  290. package/.next/static/chunks/app/api/logs/route-05965789d7c1c4dc.js +0 -1
  291. package/.next/static/chunks/app/api/models/route-05965789d7c1c4dc.js +0 -1
  292. package/.next/static/chunks/app/api/models-config/builtin/route-05965789d7c1c4dc.js +0 -1
  293. package/.next/static/chunks/app/api/models-config/catalog/route-05965789d7c1c4dc.js +0 -1
  294. package/.next/static/chunks/app/api/models-config/discover/route-05965789d7c1c4dc.js +0 -1
  295. package/.next/static/chunks/app/api/models-config/route-05965789d7c1c4dc.js +0 -1
  296. package/.next/static/chunks/app/api/models-config/test/route-05965789d7c1c4dc.js +0 -1
  297. package/.next/static/chunks/app/api/modes/route-05965789d7c1c4dc.js +0 -1
  298. package/.next/static/chunks/app/api/opencode-zen/import/route-05965789d7c1c4dc.js +0 -1
  299. package/.next/static/chunks/app/api/opencode-zen/key/route-05965789d7c1c4dc.js +0 -1
  300. package/.next/static/chunks/app/api/opencode-zen/route-05965789d7c1c4dc.js +0 -1
  301. package/.next/static/chunks/app/api/opencode-zen/test/route-05965789d7c1c4dc.js +0 -1
  302. package/.next/static/chunks/app/api/plugins/route-05965789d7c1c4dc.js +0 -1
  303. package/.next/static/chunks/app/api/project-trust/route-05965789d7c1c4dc.js +0 -1
  304. package/.next/static/chunks/app/api/proxy/route-05965789d7c1c4dc.js +0 -1
  305. package/.next/static/chunks/app/api/proxy/test/route-05965789d7c1c4dc.js +0 -1
  306. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-05965789d7c1c4dc.js +0 -1
  307. package/.next/static/chunks/app/api/sessions/[id]/context/route-05965789d7c1c4dc.js +0 -1
  308. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-05965789d7c1c4dc.js +0 -1
  309. package/.next/static/chunks/app/api/sessions/[id]/export/route-05965789d7c1c4dc.js +0 -1
  310. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-05965789d7c1c4dc.js +0 -1
  311. package/.next/static/chunks/app/api/sessions/[id]/route-05965789d7c1c4dc.js +0 -1
  312. package/.next/static/chunks/app/api/sessions/[id]/state/route-05965789d7c1c4dc.js +0 -1
  313. package/.next/static/chunks/app/api/sessions/route-05965789d7c1c4dc.js +0 -1
  314. package/.next/static/chunks/app/api/settings/title-model/route-05965789d7c1c4dc.js +0 -1
  315. package/.next/static/chunks/app/api/skills/check/route-05965789d7c1c4dc.js +0 -1
  316. package/.next/static/chunks/app/api/skills/install/route-05965789d7c1c4dc.js +0 -1
  317. package/.next/static/chunks/app/api/skills/route-05965789d7c1c4dc.js +0 -1
  318. package/.next/static/chunks/app/api/skills/search/route-05965789d7c1c4dc.js +0 -1
  319. package/.next/static/chunks/app/api/skills/update/route-05965789d7c1c4dc.js +0 -1
  320. package/.next/static/chunks/app/api/tasks/[id]/[action]/route-05965789d7c1c4dc.js +0 -1
  321. package/.next/static/chunks/app/api/tasks/[id]/changed-files/route-05965789d7c1c4dc.js +0 -1
  322. package/.next/static/chunks/app/api/tasks/[id]/diff/route-05965789d7c1c4dc.js +0 -1
  323. package/.next/static/chunks/app/api/tasks/[id]/events/route-05965789d7c1c4dc.js +0 -1
  324. package/.next/static/chunks/app/api/tasks/[id]/route-05965789d7c1c4dc.js +0 -1
  325. package/.next/static/chunks/app/api/tasks/batch/route-05965789d7c1c4dc.js +0 -1
  326. package/.next/static/chunks/app/api/tasks/events/route-05965789d7c1c4dc.js +0 -1
  327. package/.next/static/chunks/app/api/tasks/route-05965789d7c1c4dc.js +0 -1
  328. package/.next/static/chunks/app/api/tasks/settings/route-05965789d7c1c4dc.js +0 -1
  329. package/.next/static/chunks/app/api/tasks/templates/route-05965789d7c1c4dc.js +0 -1
  330. package/.next/static/chunks/app/api/themes/[name]/route-05965789d7c1c4dc.js +0 -1
  331. package/.next/static/chunks/app/api/themes/route-05965789d7c1c4dc.js +0 -1
  332. package/.next/static/chunks/app/api/usage/route-05965789d7c1c4dc.js +0 -1
  333. package/.next/static/chunks/app/api/vision-config/route-05965789d7c1c4dc.js +0 -1
  334. package/.next/static/chunks/app/api/worktrees/route-05965789d7c1c4dc.js +0 -1
  335. package/.next/static/chunks/app/page-8bcd937bdba8d19c.js +0 -50
  336. package/.next/static/chunks/next/dist/client/components/builtin/app-error-05965789d7c1c4dc.js +0 -1
  337. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-05965789d7c1c4dc.js +0 -1
  338. package/.next/static/chunks/next/dist/client/components/builtin/not-found-05965789d7c1c4dc.js +0 -1
  339. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-05965789d7c1c4dc.js +0 -1
  340. package/.next/static/chunks/webpack-d878f0bb0b95ae97.js +0 -1
  341. package/.next/static/css/0a86c1753fca4340.css +0 -1
  342. package/.next/static/gaIw_JxiSjTlS_2wAVEa6/_buildManifest.js +0 -1
  343. /package/.next/static/{gaIw_JxiSjTlS_2wAVEa6 → rddGyDxw8t2Q1B_osP7Xr}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/mcp/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/1T 原装/项目研发/pi-web-QT/app/api/mcp/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -1 +1 @@
1
- (()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},4573:a=>{"use strict";a.exports=require("node:buffer")},6999:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Tu:()=>o,o$:()=>n});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=a([i]);i=(k.then?(await k)():k)[0];let p={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function l(){return(0,f.join)((0,i.getAgentDir)(),"settings.json")}function m(){let a=l();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}async function n(a){let b=l(),c=null,d=await h().lock(b,{...p,onCompromised:a=>{c=a}});try{if(c)throw c;let d=m(),e=await a(d);if(c)throw c;if(!e||"object"!=typeof e||!e.settings)throw Error("settings.json mutation must return { settings }");if(!1===e.changed)return{changed:!1};if((0,j.$)(b,JSON.stringify(e.settings,null,2)),c)throw c;return{changed:!0}}finally{d().catch(()=>{})}}function o(){return m()}d()}catch(a){d(a)}})},7135:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>p,dynamic:()=>q});var e=c(79748),f=c(33873),g=c(75430),h=c(28802),i=c(28967),j=c(18904),k=c(72498),l=c(62303),m=a([g,h,j,k,l]);[g,h,j,k,l]=m.then?(await m)():m;let q="force-dynamic",r=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function n(a,b){return r.compare(a.name||a.id,b.name||b.id)||r.compare(a.provider,b.provider)||r.compare(a.id,b.id)}async function o(a){let b=new Map,c={},d={},e=(0,g.getAgentDir)(),f=(0,k.Fk)(a,e),i=await (0,g.createAgentSessionServices)({cwd:a,agentDir:e,...f?{resourceLoaderReloadOptions:f}:{}});await (0,l.zB)(i.modelRuntime);let m=i.settingsManager,o=await (0,j.py)(i.modelRuntime,m.getEnabledModels()),p=o.visible.map(a=>({id:a.id,name:a.name,provider:a.provider})).sort(n);for(let a of o.visible){let e=`${a.provider}:${a.id}`;b.set(e,a.name),c[e]=(0,h.getSupportedThinkingLevels)(a),a.thinkingLevelMap&&(d[e]=a.thinkingLevelMap)}let q=m.getDefaultProvider(),r=m.getDefaultModel(),s=(0,j.IR)(o,{...q&&r?{defaultModel:{provider:q,modelId:r}}:{}});return{models:Object.fromEntries(b),modelList:p,defaultModel:s.model?{provider:s.model.provider,modelId:s.model.id}:null,thinkingLevels:c,thinkingLevelMaps:d,thinkingLevelPins:o.thinkingLevelPins,...o.warnings.length>0?{modelScopeWarnings:o.warnings}:{}}}let s={models:{},modelList:[],defaultModel:null,thinkingLevels:{},thinkingLevelMaps:{},thinkingLevelPins:{}};async function p(a){let b,c=new URL(a.url).searchParams.get("cwd")||process.cwd(),d=(0,f.resolve)(c);try{b=await (0,e.stat)(d)}catch{return Response.json({error:`Directory does not exist: ${d}`},{status:400})}if(!b.isDirectory())return Response.json({error:`Not a directory: ${d}`},{status:400});try{return Response.json(await (0,i.r)(d,()=>o(d)))}catch{return Response.json(s)}}d()}catch(a){d(a)}})},7859:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>n,Dm:()=>m,YB:()=>j,fr:()=>l,y8:()=>k});var e=c(29021),f=c(33873),g=c(75430),h=c(6999),i=a([g,h]);[g,h]=i.then?(await i)():i;let o="titleModel";function j(){let a=(0,h.Tu)()[o];return"string"==typeof a&&a.length>0?a:null}async function k(a){await (0,h.o$)(b=>(null===a||""===a?delete b[o]:b[o]=a,{settings:b}))}function l(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}function m(a){let b=a.providers;if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b)){let b=d?.models;if(Array.isArray(b))for(let d of b)"string"==typeof d?.id&&0!==d.id.length&&c.push({provider:a,id:d.id,reasoning:!0===d.reasoning,label:`${a}/${d.id}`})}return c.sort((a,b)=>a.label.localeCompare(b.label))}function n(a,b){return b.some(b=>b.label===a)}d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},18904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>k});var e=c(75430),f=c(7859),g=c(37171),h=a([e,f]);[e,f]=h.then?(await h)():h;let m=null;async function i(a){let b=Date.now();if(m&&b-m.at<6e4)return m.data;let c=await a.getAvailable();return m={data:c,at:b},c}function j(a,b){return a.provider===b.provider&&a.id===b.modelId}async function k(a,b,c={}){let d=(0,f.fr)().providers??{},h=new Set;for(let[a,b]of Object.entries(d)){let c=(0,g.du)(b);for(let[b,d]of Object.entries(c))!0===d.hidden&&h.add(`${a}/${b}`)}let j=(b??[]).map(a=>a.trim()).filter(Boolean),l=[],m=[],n={},o=[];if(0===j.length)l=await i(a);else{let b=await (0,e.resolveModelScopeWithDiagnostics)(j,a);for(let c of(m=b.scopedModels,l=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await i(a),o.push(...b.diagnostics.map(a=>a.message)),m))c.thinkingLevel&&(n[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return c.includeHidden||(l=l.filter(a=>!h.has(`${a.provider}/${a.id}`))),{visible:l,scopedModels:c.includeHidden||l.length===m.length?m:m.filter(a=>!h.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:n,warnings:o}}function l(a,b={}){let c=b.requestedModel?a.visible.find(a=>j(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>j(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>j(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>j(a,b.defaultModel)),h=c??f?.model??g,i=d??f,k=b.thinkingLevel??i?.thinkingLevel;return{...h?{model:h}:{},...k?{thinkingLevel:k}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},25248:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(7135),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/1T 原装/项目研发/pi-web-QT/app/api/models/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},28802:a=>{"use strict";a.exports=import("@earendil-works/pi-ai")},28967:(a,b,c)=>{"use strict";function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){let c=d(),e=c.entries.get(a);if(e&&e.expiresAt>Date.now())return Promise.resolve(e.data);if(e)return c.inFlight.has(a)||g(c,a,b).catch(()=>{}),Promise.resolve(e.data);let f=c.inFlight.get(a);return f||g(c,a,b)}function g(a,b,c){let d=a.inFlight.get(b);if(d)return d;let e=a.generation,f=Promise.resolve().then(c).then(c=>{if(a.generation===e&&a.inFlight.get(b)===f){let d=Date.now();for(let[b,c]of a.entries)c.expiresAt<=d&&a.entries.delete(b);for(;a.entries.size>=32;){let b=a.entries.keys().next().value;if(void 0===b)break;a.entries.delete(b)}a.entries.set(b,{data:c,expiresAt:d+6e4})}return c}).finally(()=>{a.inFlight.get(b)===f&&a.inFlight.delete(b)});return a.inFlight.set(b,f),f}c.d(b,{k:()=>e,r:()=>f})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37171:(a,b,c)=>{"use strict";c.d(b,{S4:()=>h,du:()=>g});let d=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a){let b=a?.modelOverrides;if(!e(b))return{};let c={};for(let[a,d]of Object.entries(b))e(d)&&(c[a]={...d});return c}function g(a){let b=function(a){let b={},c=a?.models;if(!Array.isArray(c))return b;for(let a of c)e(a)&&"string"==typeof a.id&&a.id&&(b[a.id]={...a});return b}(a),c=f(a),d=new Set([...Object.keys(b),...Object.keys(c)]),g={};for(let a of d)g[a]={...b[a]??{},...c[a]??{}};return g}function h(a,b){let c=a?{...a}:{},g=f(a),h=Array.isArray(a?.models)?a.models.filter(e).map(a=>({...a})):[];for(let[a,c]of Object.entries(b)){let b={...g[a]??{}},f=h.findIndex(b=>b.id===a),i=f>=0?h[f]:void 0;for(let[a,f]of Object.entries(c)){if(!d.includes(a))continue;i&&delete i[a];let c="thinkingLevelMap"===a&&e(f)&&0===Object.keys(f).length?null:f;null===c?delete b[a]:b[a]=c}(i&&Object.keys(i).every(a=>"id"===a)&&h.splice(f,1),Object.keys(b).length>0)?g[a]=b:delete g[a]}return h.length>0?c.models=h:Array.isArray(a?.models)&&delete c.models,Object.keys(g).length>0?c.modelOverrides=g:delete c.modelOverrides,c}},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72498:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79748:a=>{"use strict";a.exports=require("fs/promises")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87997:a=>{"use strict";a.exports=require("node:timers")},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,974,7774,2303],()=>b(b.s=25248));module.exports=c})();
1
+ (()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},4573:a=>{"use strict";a.exports=require("node:buffer")},6999:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Tu:()=>o,o$:()=>n});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=a([i]);i=(k.then?(await k)():k)[0];let p={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function l(){return(0,f.join)((0,i.getAgentDir)(),"settings.json")}function m(){let a=l();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}async function n(a){let b=l(),c=null,d=await h().lock(b,{...p,onCompromised:a=>{c=a}});try{if(c)throw c;let d=m(),e=await a(d);if(c)throw c;if(!e||"object"!=typeof e||!e.settings)throw Error("settings.json mutation must return { settings }");if(!1===e.changed)return{changed:!1};if((0,j.$)(b,JSON.stringify(e.settings,null,2)),c)throw c;return{changed:!0}}finally{d().catch(()=>{})}}function o(){return m()}d()}catch(a){d(a)}})},7135:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>p,dynamic:()=>q});var e=c(79748),f=c(33873),g=c(75430),h=c(28802),i=c(28967),j=c(18904),k=c(72498),l=c(62303),m=a([g,h,j,k,l]);[g,h,j,k,l]=m.then?(await m)():m;let q="force-dynamic",r=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function n(a,b){return r.compare(a.name||a.id,b.name||b.id)||r.compare(a.provider,b.provider)||r.compare(a.id,b.id)}async function o(a){let b=new Map,c={},d={},e=(0,g.getAgentDir)(),f=(0,k.Fk)(a,e),i=await (0,g.createAgentSessionServices)({cwd:a,agentDir:e,...f?{resourceLoaderReloadOptions:f}:{}});await (0,l.zB)(i.modelRuntime);let m=i.settingsManager,o=await (0,j.py)(i.modelRuntime,m.getEnabledModels()),p=o.visible.map(a=>({id:a.id,name:a.name,provider:a.provider})).sort(n);for(let a of o.visible){let e=`${a.provider}:${a.id}`;b.set(e,a.name),c[e]=(0,h.getSupportedThinkingLevels)(a),a.thinkingLevelMap&&(d[e]=a.thinkingLevelMap)}let q=m.getDefaultProvider(),r=m.getDefaultModel(),s=(0,j.IR)(o,{...q&&r?{defaultModel:{provider:q,modelId:r}}:{}});return{models:Object.fromEntries(b),modelList:p,defaultModel:s.model?{provider:s.model.provider,modelId:s.model.id}:null,thinkingLevels:c,thinkingLevelMaps:d,thinkingLevelPins:o.thinkingLevelPins,...o.warnings.length>0?{modelScopeWarnings:o.warnings}:{}}}let s={models:{},modelList:[],defaultModel:null,thinkingLevels:{},thinkingLevelMaps:{},thinkingLevelPins:{}};async function p(a){let b,c=new URL(a.url).searchParams.get("cwd")||process.cwd(),d=(0,f.resolve)(c);try{b=await (0,e.stat)(d)}catch{return Response.json({error:`Directory does not exist: ${d}`},{status:400})}if(!b.isDirectory())return Response.json({error:`Not a directory: ${d}`},{status:400});try{return Response.json(await (0,i.r)(d,()=>o(d)))}catch{return Response.json(s)}}d()}catch(a){d(a)}})},7859:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>n,Dm:()=>m,YB:()=>j,fr:()=>l,y8:()=>k});var e=c(29021),f=c(33873),g=c(75430),h=c(6999),i=a([g,h]);[g,h]=i.then?(await i)():i;let o="titleModel";function j(){let a=(0,h.Tu)()[o];return"string"==typeof a&&a.length>0?a:null}async function k(a){await (0,h.o$)(b=>(null===a||""===a?delete b[o]:b[o]=a,{settings:b}))}function l(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}function m(a){let b=a.providers;if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b)){let b=d?.models;if(Array.isArray(b))for(let d of b)"string"==typeof d?.id&&0!==d.id.length&&c.push({provider:a,id:d.id,reasoning:!0===d.reasoning,label:`${a}/${d.id}`})}return c.sort((a,b)=>a.label.localeCompare(b.label))}function n(a,b){return b.some(b=>b.label===a)}d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},18904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>m,Ln:()=>j,py:()=>l});var e=c(75430),f=c(7859),g=c(37171),h=a([e,f]);[e,f]=h.then?(await h)():h;let n=null;async function i(a){let b=Date.now();if(n&&b-n.at<6e4)return n.data;let c=await a.getAvailable();return n={data:c,at:b},c}function j(){n=null}function k(a,b){return a.provider===b.provider&&a.id===b.modelId}async function l(a,b,c={}){let d=(0,f.fr)().providers??{},h=new Set;for(let[a,b]of Object.entries(d)){let c=(0,g.du)(b);for(let[b,d]of Object.entries(c))!0===d.hidden&&h.add(`${a}/${b}`)}let j=(b??[]).map(a=>a.trim()).filter(Boolean),k=[],m=[],n={},o=[];if(0===j.length)k=await i(a);else{let b=await (0,e.resolveModelScopeWithDiagnostics)(j,a);for(let c of(m=b.scopedModels,k=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await i(a),o.push(...b.diagnostics.map(a=>a.message)),m))c.thinkingLevel&&(n[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return c.includeHidden||(k=k.filter(a=>!h.has(`${a.provider}/${a.id}`))),{visible:k,scopedModels:c.includeHidden||k.length===m.length?m:m.filter(a=>!h.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:n,warnings:o}}function m(a,b={}){let c=b.requestedModel?a.visible.find(a=>k(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>k(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>k(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>k(a,b.defaultModel)),h=c??f?.model??g,i=d??f,j=b.thinkingLevel??i?.thinkingLevel;return{...h?{model:h}:{},...j?{thinkingLevel:j}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},21804:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(7135),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/1T 原装/项目研发/pi-web-QT/app/api/models/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},28802:a=>{"use strict";a.exports=import("@earendil-works/pi-ai")},28967:(a,b,c)=>{"use strict";function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){let c=d(),e=c.entries.get(a);if(e&&e.expiresAt>Date.now())return Promise.resolve(e.data);if(e)return c.inFlight.has(a)||g(c,a,b).catch(()=>{}),Promise.resolve(e.data);let f=c.inFlight.get(a);return f||g(c,a,b)}function g(a,b,c){let d=a.inFlight.get(b);if(d)return d;let e=a.generation,f=Promise.resolve().then(c).then(c=>{if(a.generation===e&&a.inFlight.get(b)===f){let d=Date.now();for(let[b,c]of a.entries)c.expiresAt<=d&&a.entries.delete(b);for(;a.entries.size>=32;){let b=a.entries.keys().next().value;if(void 0===b)break;a.entries.delete(b)}a.entries.set(b,{data:c,expiresAt:d+6e4})}return c}).finally(()=>{a.inFlight.get(b)===f&&a.inFlight.delete(b)});return a.inFlight.set(b,f),f}c.d(b,{k:()=>e,r:()=>f})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37171:(a,b,c)=>{"use strict";c.d(b,{S4:()=>h,du:()=>g});let d=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a){let b=a?.modelOverrides;if(!e(b))return{};let c={};for(let[a,d]of Object.entries(b))e(d)&&(c[a]={...d});return c}function g(a){let b=function(a){let b={},c=a?.models;if(!Array.isArray(c))return b;for(let a of c)e(a)&&"string"==typeof a.id&&a.id&&(b[a.id]={...a});return b}(a),c=f(a),d=new Set([...Object.keys(b),...Object.keys(c)]),g={};for(let a of d)g[a]={...b[a]??{},...c[a]??{}};return g}function h(a,b){let c=a?{...a}:{},g=f(a),h=Array.isArray(a?.models)?a.models.filter(e).map(a=>({...a})):[];for(let[a,c]of Object.entries(b)){let b={...g[a]??{}},f=h.findIndex(b=>b.id===a),i=f>=0?h[f]:void 0;for(let[a,f]of Object.entries(c)){if(!d.includes(a))continue;i&&delete i[a];let c="thinkingLevelMap"===a&&e(f)&&0===Object.keys(f).length?null:f;null===c?delete b[a]:b[a]=c}(i&&Object.keys(i).every(a=>"id"===a)&&h.splice(f,1),Object.keys(b).length>0)?g[a]=b:delete g[a]}return h.length>0?c.models=h:Array.isArray(a?.models)&&delete c.models,Object.keys(g).length>0?c.modelOverrides=g:delete c.modelOverrides,c}},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72498:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79748:a=>{"use strict";a.exports=require("fs/promises")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87997:a=>{"use strict";a.exports=require("node:timers")},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,974,7774,2303],()=>b(b.s=21804));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=6579,a.ids=[6579],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},914:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>o,PATCH:()=>p,dynamic:()=>q});var e=c(23211),f=c(33873),g=c(75430),h=c(18904),i=c(72498),j=c(37171),k=c(17551),l=c(66544),m=a([g,h,i,k]);[g,h,i,k]=m.then?(await m)():m;let q="force-dynamic",r=new Set(["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"]),s=new Set(["off","minimal","low","medium","high","xhigh","max"]);function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function o(a){if(!(0,l.EN)(a))return e.NextResponse.json({error:"Access denied"},{status:403});let b=new URL(a.url),c=b.searchParams.get("provider")?.trim();if(!c)return e.NextResponse.json({error:"provider query parameter required"},{status:400});let d=(0,f.resolve)(b.searchParams.get("cwd")||process.cwd());try{let a=(0,g.getAgentDir)(),b=(0,i.Fk)(d,a),f=await (0,g.createAgentSessionServices)({cwd:d,agentDir:a,...b?{resourceLoaderReloadOptions:b}:{}}),l=f.settingsManager,m=(await (0,h.py)(f.modelRuntime,l.getEnabledModels(),{includeHidden:!0})).visible.filter(a=>a.provider===c).map(a=>({id:a.id,name:a.name,reasoning:a.reasoning,contextWindow:a.contextWindow,maxTokens:a.maxTokens,thinkingLevelMap:a.thinkingLevelMap})).sort((a,b)=>a.id.localeCompare(b.id)),o=(0,k.V6)(),p=n(o.providers)?o.providers:{},q=n(p[c])?p[c]:void 0,r=(0,j.du)(q);return e.NextResponse.json({provider:c,models:m,overrides:r,configured:void 0!==q})}catch(a){return e.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}async function p(a){if(!(0,l.EN)(a))return e.NextResponse.json({error:"Access denied"},{status:403});if(!(0,l.E2)(a))return e.NextResponse.json({error:"Content-Type must be application/json"},{status:415});try{let b=await a.json(),c="string"==typeof b.provider?b.provider.trim():"";if(!c)return e.NextResponse.json({error:"provider is required"},{status:400});let d=function(a){if(!n(a))throw Error("patches must be an object");let b={};for(let[c,d]of Object.entries(a)){if(!c||!n(d))throw Error(`Invalid patch for model ${c}`);let a={};for(let[b,e]of Object.entries(d)){if(!r.has(b))throw Error(`Unknown override field: ${b}`);if(!function(a,b){if(null===b)return!0;if("name"===a)return"string"==typeof b&&b.trim().length>0;if("reasoning"===a||"hidden"===a)return"boolean"==typeof b;if("contextWindow"===a||"maxTokens"===a)return"number"==typeof b&&Number.isFinite(b)&&b>0;if("thinkingLevelMap"===a)return!!n(b)&&Object.entries(b).every(([a,b])=>s.has(a)&&(null===b||"string"==typeof b));return!1}(b,e))throw Error(`Invalid value for ${c}.${b}`);a[b]=e}Object.keys(a).length>0&&(b[c]=a)}return b}(b.patches),f=await (0,k.Br)(a=>{let b=n(a.providers)?a.providers:{},e=n(b[c])?b[c]:void 0,f=(0,j.S4)(e,d),g={...b};Object.keys(f).length>0?g[c]=f:delete g[c];let h={...a,providers:g};return{data:h,result:{provider:Object.keys(f).length>0?f:null,config:h}}});return e.NextResponse.json({success:!0,...f})}catch(c){let a=c instanceof Error?c.message:String(c),b=/required|invalid|unknown|must be|Content-Type/.test(a)?400:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},2038:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(914),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/builtin/route",pathname:"/api/models-config/builtin",filename:"route",bundlePath:"app/api/models-config/builtin/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/1T 原装/项目研发/pi-web-QT/app/api/models-config/builtin/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/builtin/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6999:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Tu:()=>o,o$:()=>n});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=a([i]);i=(k.then?(await k)():k)[0];let p={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function l(){return(0,f.join)((0,i.getAgentDir)(),"settings.json")}function m(){let a=l();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}async function n(a){let b=l(),c=null,d=await h().lock(b,{...p,onCompromised:a=>{c=a}});try{if(c)throw c;let d=m(),e=await a(d);if(c)throw c;if(!e||"object"!=typeof e||!e.settings)throw Error("settings.json mutation must return { settings }");if(!1===e.changed)return{changed:!1};if((0,j.$)(b,JSON.stringify(e.settings,null,2)),c)throw c;return{changed:!0}}finally{d().catch(()=>{})}}function o(){return m()}d()}catch(a){d(a)}})},7859:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>n,Dm:()=>m,YB:()=>j,fr:()=>l,y8:()=>k});var e=c(29021),f=c(33873),g=c(75430),h=c(6999),i=a([g,h]);[g,h]=i.then?(await i)():i;let o="titleModel";function j(){let a=(0,h.Tu)()[o];return"string"==typeof a&&a.length>0?a:null}async function k(a){await (0,h.o$)(b=>(null===a||""===a?delete b[o]:b[o]=a,{settings:b}))}function l(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}function m(a){let b=a.providers;if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b)){let b=d?.models;if(Array.isArray(b))for(let d of b)"string"==typeof d?.id&&0!==d.id.length&&c.push({provider:a,id:d.id,reasoning:!0===d.reasoning,label:`${a}/${d.id}`})}return c.sort((a,b)=>a.label.localeCompare(b.label))}function n(a,b){return b.some(b=>b.label===a)}d()}catch(a){d(a)}})},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}}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},17551:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Br:()=>p,V6:()=>o,z0:()=>q});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=c(28967),l=a([i]);i=(l.then?(await l)():l)[0];let r={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function m(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function n(a=(0,i.getAgentDir)()){return(0,f.join)(a,"models.json")}function o(a=n()){if(!(0,e.existsSync)(a))return{providers:{}};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if(!m(b))throw Error("Invalid models.json: expected an object");if(void 0!==b.providers&&!m(b.providers))throw Error("Invalid models.json: providers must be an object");return b}async function p(a,b=n()){let c,d=(0,f.dirname)(b);if((0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0,mode:448}),!(0,e.existsSync)(b))try{(0,e.writeFileSync)(b,JSON.stringify({providers:{}},null,2),{encoding:"utf8",flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let g=await h().lock(b,{...r,onCompromised:a=>{c=a}}),i=()=>{if(c)throw c};try{i();let c=o(b),d=await a(c);if(!m(d.data))throw Error("Invalid models.json mutation result");return i(),!1!==d.changed&&((0,j.$)(b,JSON.stringify(d.data,null,2)),(0,k.k)(),i()),d.result}finally{try{await g()}catch(a){if(c)throw c;throw a}}}function q(a){if(!m(a))throw Error("models.json payload must be an object");if(void 0!==a.providers&&!m(a.providers))throw Error("models.json payload providers must be an object")}d()}catch(a){d(a)}})},18904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>k});var e=c(75430),f=c(7859),g=c(37171),h=a([e,f]);[e,f]=h.then?(await h)():h;let m=null;async function i(a){let b=Date.now();if(m&&b-m.at<6e4)return m.data;let c=await a.getAvailable();return m={data:c,at:b},c}function j(a,b){return a.provider===b.provider&&a.id===b.modelId}async function k(a,b,c={}){let d=(0,f.fr)().providers??{},h=new Set;for(let[a,b]of Object.entries(d)){let c=(0,g.du)(b);for(let[b,d]of Object.entries(c))!0===d.hidden&&h.add(`${a}/${b}`)}let j=(b??[]).map(a=>a.trim()).filter(Boolean),l=[],m=[],n={},o=[];if(0===j.length)l=await i(a);else{let b=await (0,e.resolveModelScopeWithDiagnostics)(j,a);for(let c of(m=b.scopedModels,l=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await i(a),o.push(...b.diagnostics.map(a=>a.message)),m))c.thinkingLevel&&(n[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return c.includeHidden||(l=l.filter(a=>!h.has(`${a.provider}/${a.id}`))),{visible:l,scopedModels:c.includeHidden||l.length===m.length?m:m.filter(a=>!h.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:n,warnings:o}}function l(a,b={}){let c=b.requestedModel?a.visible.find(a=>j(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>j(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>j(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>j(a,b.defaultModel)),h=c??f?.model??g,i=d??f,k=b.thinkingLevel??i?.thinkingLevel;return{...h?{model:h}:{},...k?{thinkingLevel:k}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},28967:(a,b,c)=>{"use strict";function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){let c=d(),e=c.entries.get(a);if(e&&e.expiresAt>Date.now())return Promise.resolve(e.data);if(e)return c.inFlight.has(a)||g(c,a,b).catch(()=>{}),Promise.resolve(e.data);let f=c.inFlight.get(a);return f||g(c,a,b)}function g(a,b,c){let d=a.inFlight.get(b);if(d)return d;let e=a.generation,f=Promise.resolve().then(c).then(c=>{if(a.generation===e&&a.inFlight.get(b)===f){let d=Date.now();for(let[b,c]of a.entries)c.expiresAt<=d&&a.entries.delete(b);for(;a.entries.size>=32;){let b=a.entries.keys().next().value;if(void 0===b)break;a.entries.delete(b)}a.entries.set(b,{data:c,expiresAt:d+6e4})}return c}).finally(()=>{a.inFlight.get(b)===f&&a.inFlight.delete(b)});return a.inFlight.set(b,f),f}c.d(b,{k:()=>e,r:()=>f})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},37171:(a,b,c)=>{"use strict";c.d(b,{S4:()=>h,du:()=>g});let d=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a){let b=a?.modelOverrides;if(!e(b))return{};let c={};for(let[a,d]of Object.entries(b))e(d)&&(c[a]={...d});return c}function g(a){let b=function(a){let b={},c=a?.models;if(!Array.isArray(c))return b;for(let a of c)e(a)&&"string"==typeof a.id&&a.id&&(b[a.id]={...a});return b}(a),c=f(a),d=new Set([...Object.keys(b),...Object.keys(c)]),g={};for(let a of d)g[a]={...b[a]??{},...c[a]??{}};return g}function h(a,b){let c=a?{...a}:{},g=f(a),h=Array.isArray(a?.models)?a.models.filter(e).map(a=>({...a})):[];for(let[a,c]of Object.entries(b)){let b={...g[a]??{}},f=h.findIndex(b=>b.id===a),i=f>=0?h[f]:void 0;for(let[a,f]of Object.entries(c)){if(!d.includes(a))continue;i&&delete i[a];let c="thinkingLevelMap"===a&&e(f)&&0===Object.keys(f).length?null:f;null===c?delete b[a]:b[a]=c}(i&&Object.keys(i).every(a=>"id"===a)&&h.splice(f,1),Object.keys(b).length>0)?g[a]=b:delete g[a]}return h.length>0?c.models=h:Array.isArray(a?.models)&&delete c.models,Object.keys(g).length>0?c.modelOverrides=g:delete c.modelOverrides,c}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>j,EN:()=>i});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(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){return!!function(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let d=a.headers.get("origin");if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function j(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},72498:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},78335:()=>{},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,974],()=>b(b.s=2038));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6579,a.ids=[6579],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},914:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>o,PATCH:()=>p,dynamic:()=>q});var e=c(23211),f=c(33873),g=c(75430),h=c(18904),i=c(72498),j=c(37171),k=c(17551),l=c(66544),m=a([g,h,i,k]);[g,h,i,k]=m.then?(await m)():m;let q="force-dynamic",r=new Set(["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"]),s=new Set(["off","minimal","low","medium","high","xhigh","max"]);function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function o(a){if(!(0,l.EN)(a))return e.NextResponse.json({error:"Access denied"},{status:403});let b=new URL(a.url),c=b.searchParams.get("provider")?.trim();if(!c)return e.NextResponse.json({error:"provider query parameter required"},{status:400});let d=(0,f.resolve)(b.searchParams.get("cwd")||process.cwd());try{let a=(0,g.getAgentDir)(),b=(0,i.Fk)(d,a),f=await (0,g.createAgentSessionServices)({cwd:d,agentDir:a,...b?{resourceLoaderReloadOptions:b}:{}}),l=f.settingsManager,m=(await (0,h.py)(f.modelRuntime,l.getEnabledModels(),{includeHidden:!0})).visible.filter(a=>a.provider===c).map(a=>({id:a.id,name:a.name,reasoning:a.reasoning,contextWindow:a.contextWindow,maxTokens:a.maxTokens,thinkingLevelMap:a.thinkingLevelMap})).sort((a,b)=>a.id.localeCompare(b.id)),o=(0,k.V6)(),p=n(o.providers)?o.providers:{},q=n(p[c])?p[c]:void 0,r=(0,j.du)(q);return e.NextResponse.json({provider:c,models:m,overrides:r,configured:void 0!==q})}catch(a){return e.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}async function p(a){if(!(0,l.EN)(a))return e.NextResponse.json({error:"Access denied"},{status:403});if(!(0,l.E2)(a))return e.NextResponse.json({error:"Content-Type must be application/json"},{status:415});try{let b=await a.json(),c="string"==typeof b.provider?b.provider.trim():"";if(!c)return e.NextResponse.json({error:"provider is required"},{status:400});let d=function(a){if(!n(a))throw Error("patches must be an object");let b={};for(let[c,d]of Object.entries(a)){if(!c||!n(d))throw Error(`Invalid patch for model ${c}`);let a={};for(let[b,e]of Object.entries(d)){if(!r.has(b))throw Error(`Unknown override field: ${b}`);if(!function(a,b){if(null===b)return!0;if("name"===a)return"string"==typeof b&&b.trim().length>0;if("reasoning"===a||"hidden"===a)return"boolean"==typeof b;if("contextWindow"===a||"maxTokens"===a)return"number"==typeof b&&Number.isFinite(b)&&b>0;if("thinkingLevelMap"===a)return!!n(b)&&Object.entries(b).every(([a,b])=>s.has(a)&&(null===b||"string"==typeof b));return!1}(b,e))throw Error(`Invalid value for ${c}.${b}`);a[b]=e}Object.keys(a).length>0&&(b[c]=a)}return b}(b.patches),f=await (0,k.Br)(a=>{let b=n(a.providers)?a.providers:{},e=n(b[c])?b[c]:void 0,f=(0,j.S4)(e,d),g={...b};Object.keys(f).length>0?g[c]=f:delete g[c];let h={...a,providers:g};return{data:h,result:{provider:Object.keys(f).length>0?f:null,config:h}}});return e.NextResponse.json({success:!0,...f})}catch(c){let a=c instanceof Error?c.message:String(c),b=/required|invalid|unknown|must be|Content-Type/.test(a)?400:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},81115:a=>{a.exports=require("constants")},82978:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(914),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/builtin/route",pathname:"/api/models-config/builtin",filename:"route",bundlePath:"app/api/models-config/builtin/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/1T 原装/项目研发/pi-web-QT/app/api/models-config/builtin/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/builtin/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,974,2498],()=>b(b.s=82978));module.exports=c})();