@mcy2015/pi-web 0.0.0-stage → 0.13.0

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 (799) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +81 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/diagnostics/framework.json +1 -0
  6. package/.next/export-marker.json +6 -0
  7. package/.next/images-manifest.json +68 -0
  8. package/.next/next-minimal-server.js.nft.json +1 -0
  9. package/.next/next-server.js.nft.json +1 -0
  10. package/.next/package.json +1 -0
  11. package/.next/prerender-manifest.json +157 -0
  12. package/.next/react-loadable-manifest.json +401 -0
  13. package/.next/required-server-files.js +398 -0
  14. package/.next/required-server-files.json +398 -0
  15. package/.next/routes-manifest.json +601 -0
  16. package/.next/server/app/_global-error/page.js +31 -0
  17. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  18. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/_global-error.html +1 -0
  20. package/.next/server/app/_global-error.meta +35 -0
  21. package/.next/server/app/_global-error.rsc +14 -0
  22. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  23. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
  24. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  25. package/.next/server/app/_not-found/page.js +1 -0
  26. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  27. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/_not-found.html +1 -0
  29. package/.next/server/app/_not-found.meta +35 -0
  30. package/.next/server/app/_not-found.rsc +22 -0
  31. package/.next/server/app/_not-found.segments/_full.segment.rsc +22 -0
  32. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +28 -0
  33. package/.next/server/app/_not-found.segments/_tree.segment.rsc +7 -0
  34. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
  35. package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -0
  36. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/agent/[id]/events/route.js +3 -0
  38. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
  39. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
  40. package/.next/server/app/api/agent/[id]/lease/route.js +1 -0
  41. package/.next/server/app/api/agent/[id]/lease/route.js.nft.json +1 -0
  42. package/.next/server/app/api/agent/[id]/lease/route_client-reference-manifest.js +1 -0
  43. package/.next/server/app/api/agent/[id]/route.js +1 -0
  44. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
  45. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/agent/new/route.js +1 -0
  47. package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
  48. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
  49. package/.next/server/app/api/agent/running/route.js +1 -0
  50. package/.next/server/app/api/agent/running/route.js.nft.json +1 -0
  51. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -0
  52. package/.next/server/app/api/app-update/route.js +1 -0
  53. package/.next/server/app/api/app-update/route.js.nft.json +1 -0
  54. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
  55. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
  56. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
  57. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
  58. package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
  59. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
  60. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
  61. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
  62. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
  63. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
  64. package/.next/server/app/api/auth/providers/route.js +1 -0
  65. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
  66. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/automations/route.js +6 -0
  68. package/.next/server/app/api/automations/route.js.nft.json +1 -0
  69. package/.next/server/app/api/automations/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/cache-miss-notices/route.js +1 -0
  71. package/.next/server/app/api/cache-miss-notices/route.js.nft.json +1 -0
  72. package/.next/server/app/api/cache-miss-notices/route_client-reference-manifest.js +1 -0
  73. package/.next/server/app/api/channels/route.js +6 -0
  74. package/.next/server/app/api/channels/route.js.nft.json +1 -0
  75. package/.next/server/app/api/channels/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/cwd/browse/route.js +1 -0
  77. package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -0
  78. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
  79. package/.next/server/app/api/cwd/validate/route.js +1 -0
  80. package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -0
  81. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
  82. package/.next/server/app/api/default-cwd/route.js +1 -0
  83. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
  84. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
  85. package/.next/server/app/api/file-index/route.js +1 -0
  86. package/.next/server/app/api/file-index/route.js.nft.json +1 -0
  87. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/files/[...path]/route.js +49 -0
  89. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
  90. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
  91. package/.next/server/app/api/git/commit/route.js +2 -0
  92. package/.next/server/app/api/git/commit/route.js.nft.json +1 -0
  93. package/.next/server/app/api/git/commit/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/git/diff/route.js +6 -0
  95. package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
  96. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
  97. package/.next/server/app/api/git/graph/route.js +1 -0
  98. package/.next/server/app/api/git/graph/route.js.nft.json +1 -0
  99. package/.next/server/app/api/git/graph/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/git/status/route.js +6 -0
  101. package/.next/server/app/api/git/status/route.js.nft.json +1 -0
  102. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
  103. package/.next/server/app/api/home/route.js +1 -0
  104. package/.next/server/app/api/home/route.js.nft.json +1 -0
  105. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/mcp/route.js +2 -0
  107. package/.next/server/app/api/mcp/route.js.nft.json +1 -0
  108. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
  109. package/.next/server/app/api/mcp/sign-in/[flowId]/route.js +1 -0
  110. package/.next/server/app/api/mcp/sign-in/[flowId]/route.js.nft.json +1 -0
  111. package/.next/server/app/api/mcp/sign-in/[flowId]/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/mcp/sign-in/route.js +1 -0
  113. package/.next/server/app/api/mcp/sign-in/route.js.nft.json +1 -0
  114. package/.next/server/app/api/mcp/sign-in/route_client-reference-manifest.js +1 -0
  115. package/.next/server/app/api/mcp/test/route.js +1 -0
  116. package/.next/server/app/api/mcp/test/route.js.nft.json +1 -0
  117. package/.next/server/app/api/mcp/test/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/models/default/route.js +1 -0
  119. package/.next/server/app/api/models/default/route.js.nft.json +1 -0
  120. package/.next/server/app/api/models/default/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/api/models/enabled/route.js +1 -0
  122. package/.next/server/app/api/models/enabled/route.js.nft.json +1 -0
  123. package/.next/server/app/api/models/enabled/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/models/refresh/route.js +1 -0
  125. package/.next/server/app/api/models/refresh/route.js.nft.json +1 -0
  126. package/.next/server/app/api/models/refresh/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/api/models/route.js +1 -0
  128. package/.next/server/app/api/models/route.js.nft.json +1 -0
  129. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/models-config/catalog/route.js +1 -0
  131. package/.next/server/app/api/models-config/catalog/route.js.nft.json +1 -0
  132. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
  133. package/.next/server/app/api/models-config/discover/route.js +1 -0
  134. package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -0
  135. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/models-config/route.js +1 -0
  137. package/.next/server/app/api/models-config/route.js.nft.json +1 -0
  138. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/models-config/test/route.js +1 -0
  140. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
  141. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/open-in-explorer/route.js +1 -0
  143. package/.next/server/app/api/open-in-explorer/route.js.nft.json +1 -0
  144. package/.next/server/app/api/open-in-explorer/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/plugins/check/route.js +1 -0
  146. package/.next/server/app/api/plugins/check/route.js.nft.json +1 -0
  147. package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/plugins/route.js +1 -0
  149. package/.next/server/app/api/plugins/route.js.nft.json +1 -0
  150. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/project-trust/route.js +1 -0
  152. package/.next/server/app/api/project-trust/route.js.nft.json +1 -0
  153. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/provider-usage/query/route.js +1 -0
  155. package/.next/server/app/api/provider-usage/query/route.js.nft.json +1 -0
  156. package/.next/server/app/api/provider-usage/query/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/push/config/route.js +1 -0
  158. package/.next/server/app/api/push/config/route.js.nft.json +1 -0
  159. package/.next/server/app/api/push/config/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/push/subscribe/route.js +1 -0
  161. package/.next/server/app/api/push/subscribe/route.js.nft.json +1 -0
  162. package/.next/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/sessions/[id]/auto-name/route.js +11 -0
  164. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -0
  165. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
  167. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
  168. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
  170. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -0
  171. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -0
  173. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js.nft.json +1 -0
  174. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/sessions/[id]/export/route.js +54 -0
  176. package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -0
  177. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app/api/sessions/[id]/fork/route.js +1 -0
  179. package/.next/server/app/api/sessions/[id]/fork/route.js.nft.json +1 -0
  180. package/.next/server/app/api/sessions/[id]/fork/route_client-reference-manifest.js +1 -0
  181. package/.next/server/app/api/sessions/[id]/route.js +1 -0
  182. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
  183. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  184. package/.next/server/app/api/sessions/[id]/share/route.js +1 -0
  185. package/.next/server/app/api/sessions/[id]/share/route.js.nft.json +1 -0
  186. package/.next/server/app/api/sessions/[id]/share/route_client-reference-manifest.js +1 -0
  187. package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
  188. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -0
  189. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
  190. package/.next/server/app/api/sessions/delete/route.js +1 -0
  191. package/.next/server/app/api/sessions/delete/route.js.nft.json +1 -0
  192. package/.next/server/app/api/sessions/delete/route_client-reference-manifest.js +1 -0
  193. package/.next/server/app/api/sessions/route.js +1 -0
  194. package/.next/server/app/api/sessions/route.js.nft.json +1 -0
  195. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  196. package/.next/server/app/api/sessions/search/route.js +1 -0
  197. package/.next/server/app/api/sessions/search/route.js.nft.json +1 -0
  198. package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
  199. package/.next/server/app/api/sessions/stats/route.js +1 -0
  200. package/.next/server/app/api/sessions/stats/route.js.nft.json +1 -0
  201. package/.next/server/app/api/sessions/stats/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/api/sessions/ui-state/route.js +1 -0
  203. package/.next/server/app/api/sessions/ui-state/route.js.nft.json +1 -0
  204. package/.next/server/app/api/sessions/ui-state/route_client-reference-manifest.js +1 -0
  205. package/.next/server/app/api/skills/check/route.js +1 -0
  206. package/.next/server/app/api/skills/check/route.js.nft.json +1 -0
  207. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
  208. package/.next/server/app/api/skills/content/route.js +1 -0
  209. package/.next/server/app/api/skills/content/route.js.nft.json +1 -0
  210. package/.next/server/app/api/skills/content/route_client-reference-manifest.js +1 -0
  211. package/.next/server/app/api/skills/install/route.js +1 -0
  212. package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
  213. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
  214. package/.next/server/app/api/skills/route.js +4 -0
  215. package/.next/server/app/api/skills/route.js.nft.json +1 -0
  216. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
  217. package/.next/server/app/api/skills/search/route.js +1 -0
  218. package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
  219. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
  220. package/.next/server/app/api/skills/update/route.js +1 -0
  221. package/.next/server/app/api/skills/update/route.js.nft.json +1 -0
  222. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
  223. package/.next/server/app/api/subagents/[id]/route.js +1 -0
  224. package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -0
  225. package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -0
  226. package/.next/server/app/api/subagents/profiles/route.js +1 -0
  227. package/.next/server/app/api/subagents/profiles/route.js.nft.json +1 -0
  228. package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -0
  229. package/.next/server/app/api/subagents/settings/route.js +1 -0
  230. package/.next/server/app/api/subagents/settings/route.js.nft.json +1 -0
  231. package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -0
  232. package/.next/server/app/api/terminal/[id]/events/route.js +4 -0
  233. package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -0
  234. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -0
  235. package/.next/server/app/api/terminal/[id]/route.js +1 -0
  236. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -0
  237. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -0
  238. package/.next/server/app/api/terminal/route.js +1 -0
  239. package/.next/server/app/api/terminal/route.js.nft.json +1 -0
  240. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -0
  241. package/.next/server/app/api/tools/settings/route.js +1 -0
  242. package/.next/server/app/api/tools/settings/route.js.nft.json +1 -0
  243. package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -0
  244. package/.next/server/app/api/web-auth/route.js +1 -0
  245. package/.next/server/app/api/web-auth/route.js.nft.json +1 -0
  246. package/.next/server/app/api/web-auth/route_client-reference-manifest.js +1 -0
  247. package/.next/server/app/api/worktrees/route.js +1 -0
  248. package/.next/server/app/api/worktrees/route.js.nft.json +1 -0
  249. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
  250. package/.next/server/app/favicon.ico/route.js +1 -0
  251. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  252. package/.next/server/app/favicon.ico.body +0 -0
  253. package/.next/server/app/favicon.ico.meta +1 -0
  254. package/.next/server/app/index.html +1 -0
  255. package/.next/server/app/index.meta +29 -0
  256. package/.next/server/app/index.rsc +23 -0
  257. package/.next/server/app/index.segments/__PAGE__.segment.rsc +27 -0
  258. package/.next/server/app/index.segments/_full.segment.rsc +23 -0
  259. package/.next/server/app/index.segments/_tree.segment.rsc +8 -0
  260. package/.next/server/app/login/page.js +1 -0
  261. package/.next/server/app/login/page.js.nft.json +1 -0
  262. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  263. package/.next/server/app/login.html +1 -0
  264. package/.next/server/app/login.meta +34 -0
  265. package/.next/server/app/login.rsc +26 -0
  266. package/.next/server/app/login.segments/_full.segment.rsc +26 -0
  267. package/.next/server/app/login.segments/_tree.segment.rsc +7 -0
  268. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +32 -0
  269. package/.next/server/app/manifest.webmanifest/route.js +17 -0
  270. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  271. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  272. package/.next/server/app/page.js +307 -0
  273. package/.next/server/app/page.js.nft.json +1 -0
  274. package/.next/server/app/page_client-reference-manifest.js +1 -0
  275. package/.next/server/app/share/[code]/page.js +1 -0
  276. package/.next/server/app/share/[code]/page.js.nft.json +1 -0
  277. package/.next/server/app/share/[code]/page_client-reference-manifest.js +1 -0
  278. package/.next/server/app-paths-manifest.json +81 -0
  279. package/.next/server/chunks/1006.js +148 -0
  280. package/.next/server/chunks/1051.js +1 -0
  281. package/.next/server/chunks/1063.js +1 -0
  282. package/.next/server/chunks/1104.js +1 -0
  283. package/.next/server/chunks/1130.js +1 -0
  284. package/.next/server/chunks/1233.js +1 -0
  285. package/.next/server/chunks/129.js +14 -0
  286. package/.next/server/chunks/1836.js +1 -0
  287. package/.next/server/chunks/2008.js +165 -0
  288. package/.next/server/chunks/2128.js +1 -0
  289. package/.next/server/chunks/2367.js +38 -0
  290. package/.next/server/chunks/2586.js +34 -0
  291. package/.next/server/chunks/2775.js +36 -0
  292. package/.next/server/chunks/2786.js +79 -0
  293. package/.next/server/chunks/2907.js +1 -0
  294. package/.next/server/chunks/3010.js +1 -0
  295. package/.next/server/chunks/3030.js +1 -0
  296. package/.next/server/chunks/3164.js +1 -0
  297. package/.next/server/chunks/3182.js +24 -0
  298. package/.next/server/chunks/3261.js +193 -0
  299. package/.next/server/chunks/3376.js +1 -0
  300. package/.next/server/chunks/3395.js +90 -0
  301. package/.next/server/chunks/3444.js +62 -0
  302. package/.next/server/chunks/3522.js +215 -0
  303. package/.next/server/chunks/3565.js +1 -0
  304. package/.next/server/chunks/3614.js +226 -0
  305. package/.next/server/chunks/3624.js +1 -0
  306. package/.next/server/chunks/3834.js +1 -0
  307. package/.next/server/chunks/3839.js +1 -0
  308. package/.next/server/chunks/3960.js +1 -0
  309. package/.next/server/chunks/4035.js +256 -0
  310. package/.next/server/chunks/4074.js +153 -0
  311. package/.next/server/chunks/4173.js +1 -0
  312. package/.next/server/chunks/4193.js +1 -0
  313. package/.next/server/chunks/4227.js +93 -0
  314. package/.next/server/chunks/4403.js +1 -0
  315. package/.next/server/chunks/4526.js +138 -0
  316. package/.next/server/chunks/4557.js +1 -0
  317. package/.next/server/chunks/4565.js +172 -0
  318. package/.next/server/chunks/4576.js +86 -0
  319. package/.next/server/chunks/4604.js +2 -0
  320. package/.next/server/chunks/4768.js +1 -0
  321. package/.next/server/chunks/4863.js +1 -0
  322. package/.next/server/chunks/496.js +1 -0
  323. package/.next/server/chunks/4993.js +1 -0
  324. package/.next/server/chunks/5093.js +1 -0
  325. package/.next/server/chunks/5307.js +94 -0
  326. package/.next/server/chunks/5364.js +82 -0
  327. package/.next/server/chunks/5496.js +1 -0
  328. package/.next/server/chunks/5545.js +1 -0
  329. package/.next/server/chunks/5699.js +3 -0
  330. package/.next/server/chunks/5735.js +1 -0
  331. package/.next/server/chunks/5760.js +1 -0
  332. package/.next/server/chunks/5855.js +1 -0
  333. package/.next/server/chunks/5864.js +41 -0
  334. package/.next/server/chunks/5993.js +1 -0
  335. package/.next/server/chunks/6040.js +1 -0
  336. package/.next/server/chunks/6105.js +1 -0
  337. package/.next/server/chunks/6178.js +1 -0
  338. package/.next/server/chunks/6226.js +1 -0
  339. package/.next/server/chunks/6294.js +8 -0
  340. package/.next/server/chunks/6367.js +2 -0
  341. package/.next/server/chunks/6392.js +27 -0
  342. package/.next/server/chunks/6437.js +1 -0
  343. package/.next/server/chunks/647.js +23 -0
  344. package/.next/server/chunks/6487.js +49 -0
  345. package/.next/server/chunks/674.js +115 -0
  346. package/.next/server/chunks/6978.js +1 -0
  347. package/.next/server/chunks/7198.js +104 -0
  348. package/.next/server/chunks/7257.js +1 -0
  349. package/.next/server/chunks/7279.js +287 -0
  350. package/.next/server/chunks/7398.js +1 -0
  351. package/.next/server/chunks/7442.js +8 -0
  352. package/.next/server/chunks/7488.js +1 -0
  353. package/.next/server/chunks/7649.js +1 -0
  354. package/.next/server/chunks/7878.js +24 -0
  355. package/.next/server/chunks/7941.js +1 -0
  356. package/.next/server/chunks/8146.js +77 -0
  357. package/.next/server/chunks/819.js +1 -0
  358. package/.next/server/chunks/8383.js +33 -0
  359. package/.next/server/chunks/8688.js +1 -0
  360. package/.next/server/chunks/8695.js +1 -0
  361. package/.next/server/chunks/8868.js +1 -0
  362. package/.next/server/chunks/9007.js +1 -0
  363. package/.next/server/chunks/9084.js +64 -0
  364. package/.next/server/chunks/9225.js +1 -0
  365. package/.next/server/chunks/9267.js +1 -0
  366. package/.next/server/chunks/9483.js +1 -0
  367. package/.next/server/chunks/9602.js +1 -0
  368. package/.next/server/chunks/9973.js +32 -0
  369. package/.next/server/functions-config-manifest.json +28 -0
  370. package/.next/server/instrumentation.js +1 -0
  371. package/.next/server/instrumentation.js.nft.json +1 -0
  372. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  373. package/.next/server/middleware-build-manifest.js +1 -0
  374. package/.next/server/middleware-manifest.json +6 -0
  375. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  376. package/.next/server/middleware.js +163 -0
  377. package/.next/server/middleware.js.nft.json +1 -0
  378. package/.next/server/next-font-manifest.js +1 -0
  379. package/.next/server/next-font-manifest.json +1 -0
  380. package/.next/server/pages/404.html +1 -0
  381. package/.next/server/pages/500.html +1 -0
  382. package/.next/server/pages-manifest.json +4 -0
  383. package/.next/server/prefetch-hints.json +53 -0
  384. package/.next/server/server-reference-manifest.js +1 -0
  385. package/.next/server/server-reference-manifest.json +1 -0
  386. package/.next/server/webpack-runtime.js +1 -0
  387. package/.next/static/YXWav-5PFkxPJMeIuTSGb/_buildManifest.js +1 -0
  388. package/.next/static/YXWav-5PFkxPJMeIuTSGb/_ssgManifest.js +1 -0
  389. package/.next/static/chunks/1229.0228b9fc3428f7d5.js +1 -0
  390. package/.next/static/chunks/147.8287e7ed72c89446.js +1 -0
  391. package/.next/static/chunks/1538.7945adaa2d7cb094.js +1 -0
  392. package/.next/static/chunks/1543.172c6278ca5381ea.js +15 -0
  393. package/.next/static/chunks/1595.5fc241609da10acf.js +38 -0
  394. package/.next/static/chunks/1689.ca0a87de58805d0e.js +1 -0
  395. package/.next/static/chunks/1737.d6ae913e3eccaacb.js +1 -0
  396. package/.next/static/chunks/1798-64b3fd24c6ac6063.js +2 -0
  397. package/.next/static/chunks/1847.6434d90c394027d4.js +1 -0
  398. package/.next/static/chunks/2024.bc4f783c55b5b7cf.js +24 -0
  399. package/.next/static/chunks/216.a63d7ad69b96e080.js +24 -0
  400. package/.next/static/chunks/2320.9f934a5025166572.js +1 -0
  401. package/.next/static/chunks/2413.c4830e6223f7cb70.js +1 -0
  402. package/.next/static/chunks/2654.b99c5fc24f52e9e6.js +41 -0
  403. package/.next/static/chunks/2660.5352327567279f5d.js +1 -0
  404. package/.next/static/chunks/2723.aa5872e565521287.js +1 -0
  405. package/.next/static/chunks/2843.99564e5c02a92732.js +1 -0
  406. package/.next/static/chunks/3076.843465ae99ae7834.js +1 -0
  407. package/.next/static/chunks/3098.4f4071403eaf5ee5.js +27 -0
  408. package/.next/static/chunks/318.c6837e6639301c30.js +77 -0
  409. package/.next/static/chunks/3186.665b5753745d7f71.js +1 -0
  410. package/.next/static/chunks/3316-7ad9b0183ce58d57.js +52 -0
  411. package/.next/static/chunks/3400.950d6e412d97bd5f.js +104 -0
  412. package/.next/static/chunks/3622.6c4862a8b90b1de5.js +79 -0
  413. package/.next/static/chunks/422.470797fdf5021ead.js +1 -0
  414. package/.next/static/chunks/4251-7390ea4f71c022bb.js +1 -0
  415. package/.next/static/chunks/4366.1ee34595a625611d.js +1 -0
  416. package/.next/static/chunks/4566.1bb986cd2524cf5c.js +64 -0
  417. package/.next/static/chunks/4571.5e88bd14f6cb9d2f.js +287 -0
  418. package/.next/static/chunks/462-0a4742a0d3fb315b.js +7 -0
  419. package/.next/static/chunks/4728.cb5a62c714c36634.js +215 -0
  420. package/.next/static/chunks/4796.102a8f5f19f45043.js +1 -0
  421. package/.next/static/chunks/4798.eb3b2c14926f4ecd.js +1 -0
  422. package/.next/static/chunks/4933.baa8875c9835471a.js +94 -0
  423. package/.next/static/chunks/5117.ffb7b3abb7ed2846.js +1 -0
  424. package/.next/static/chunks/5331.e1739864d683ba22.js +226 -0
  425. package/.next/static/chunks/5503.8e6c711a6644acb8.js +1 -0
  426. package/.next/static/chunks/56d3515b.cf650e3926a249b4.js +122 -0
  427. package/.next/static/chunks/5931.4b5e8377c360cecf.js +1 -0
  428. package/.next/static/chunks/6004.138fc7687d0598d2.js +1 -0
  429. package/.next/static/chunks/6011-5965bf32c74aaeba.js +3 -0
  430. package/.next/static/chunks/6036.d5a0c9612daf8b29.js +86 -0
  431. package/.next/static/chunks/6191.9a3515c37d38ed46.js +1 -0
  432. package/.next/static/chunks/637.847054fd502cfe28.js +1 -0
  433. package/.next/static/chunks/6409.2d2923ec372cbef2.js +90 -0
  434. package/.next/static/chunks/6689.ec260327354c43df.js +1 -0
  435. package/.next/static/chunks/6909.45f571cb31e1256c.js +36 -0
  436. package/.next/static/chunks/69b8e6c9.be04cc888fa0f7e1.js +158 -0
  437. package/.next/static/chunks/6f4c79f2.18e02d920da1102e.js +62 -0
  438. package/.next/static/chunks/72b1444f-dbce489fd03602d0.js +1 -0
  439. package/.next/static/chunks/7392.1a6754909e2ef12f.js +1 -0
  440. package/.next/static/chunks/7431.89612a96608831da.js +1 -0
  441. package/.next/static/chunks/7443.243fb8f7548c6758.js +23 -0
  442. package/.next/static/chunks/772df983.223d4556de224ea2.js +1 -0
  443. package/.next/static/chunks/7902.edbb054e706a8ec6.js +34 -0
  444. package/.next/static/chunks/8072.3aaa98dad731a09c.js +115 -0
  445. package/.next/static/chunks/8241.8a7de542b1a2dc1e.js +93 -0
  446. package/.next/static/chunks/83.7a53280c1d1e4dac.js +1 -0
  447. package/.next/static/chunks/8325.0c9576cc140ee2bb.js +1 -0
  448. package/.next/static/chunks/8473.d35aa6ca1c494398.js +1 -0
  449. package/.next/static/chunks/8514.e988df323d58b051.js +138 -0
  450. package/.next/static/chunks/8555-14c61b7493d4d1c2.js +1 -0
  451. package/.next/static/chunks/8673.7fbc057ee84fb745.js +1 -0
  452. package/.next/static/chunks/8697.4d3533cad0ef5ab0.js +1 -0
  453. package/.next/static/chunks/8868.3fe4219c9e352217.js +1 -0
  454. package/.next/static/chunks/8952.5ece98ba05a08f47.js +62 -0
  455. package/.next/static/chunks/8985.9e348a8652dc5293.js +1 -0
  456. package/.next/static/chunks/9287.abdf670b31097241.js +22 -0
  457. package/.next/static/chunks/9518.c543a5128ff566c4.js +74 -0
  458. package/.next/static/chunks/9530.93d0df3d278cd9d6.js +148 -0
  459. package/.next/static/chunks/9664.268d274b6c272204.js +1 -0
  460. package/.next/static/chunks/9827.8073d71321710b51.js +1 -0
  461. package/.next/static/chunks/9861.945662a7aa418d79.js +1 -0
  462. package/.next/static/chunks/abd5cabe-ef8984589a8c4f19.js +1 -0
  463. package/.next/static/chunks/app/_global-error/page-d3218813fe634dea.js +1 -0
  464. package/.next/static/chunks/app/_not-found/page-aa3fe7f176b16669.js +1 -0
  465. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-d3218813fe634dea.js +1 -0
  466. package/.next/static/chunks/app/api/agent/[id]/events/route-d3218813fe634dea.js +1 -0
  467. package/.next/static/chunks/app/api/agent/[id]/lease/route-d3218813fe634dea.js +1 -0
  468. package/.next/static/chunks/app/api/agent/[id]/route-d3218813fe634dea.js +1 -0
  469. package/.next/static/chunks/app/api/agent/new/route-d3218813fe634dea.js +1 -0
  470. package/.next/static/chunks/app/api/agent/running/route-d3218813fe634dea.js +1 -0
  471. package/.next/static/chunks/app/api/app-update/route-d3218813fe634dea.js +1 -0
  472. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-d3218813fe634dea.js +1 -0
  473. package/.next/static/chunks/app/api/auth/login/[provider]/route-d3218813fe634dea.js +1 -0
  474. package/.next/static/chunks/app/api/auth/logout/[provider]/route-d3218813fe634dea.js +1 -0
  475. package/.next/static/chunks/app/api/auth/providers/route-d3218813fe634dea.js +1 -0
  476. package/.next/static/chunks/app/api/automations/route-d3218813fe634dea.js +1 -0
  477. package/.next/static/chunks/app/api/cache-miss-notices/route-d3218813fe634dea.js +1 -0
  478. package/.next/static/chunks/app/api/channels/route-d3218813fe634dea.js +1 -0
  479. package/.next/static/chunks/app/api/cwd/browse/route-d3218813fe634dea.js +1 -0
  480. package/.next/static/chunks/app/api/cwd/validate/route-d3218813fe634dea.js +1 -0
  481. package/.next/static/chunks/app/api/default-cwd/route-d3218813fe634dea.js +1 -0
  482. package/.next/static/chunks/app/api/file-index/route-d3218813fe634dea.js +1 -0
  483. package/.next/static/chunks/app/api/files/[...path]/route-d3218813fe634dea.js +1 -0
  484. package/.next/static/chunks/app/api/git/commit/route-d3218813fe634dea.js +1 -0
  485. package/.next/static/chunks/app/api/git/diff/route-d3218813fe634dea.js +1 -0
  486. package/.next/static/chunks/app/api/git/graph/route-d3218813fe634dea.js +1 -0
  487. package/.next/static/chunks/app/api/git/status/route-d3218813fe634dea.js +1 -0
  488. package/.next/static/chunks/app/api/home/route-d3218813fe634dea.js +1 -0
  489. package/.next/static/chunks/app/api/mcp/route-d3218813fe634dea.js +1 -0
  490. package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-d3218813fe634dea.js +1 -0
  491. package/.next/static/chunks/app/api/mcp/sign-in/route-d3218813fe634dea.js +1 -0
  492. package/.next/static/chunks/app/api/mcp/test/route-d3218813fe634dea.js +1 -0
  493. package/.next/static/chunks/app/api/models/default/route-d3218813fe634dea.js +1 -0
  494. package/.next/static/chunks/app/api/models/enabled/route-d3218813fe634dea.js +1 -0
  495. package/.next/static/chunks/app/api/models/refresh/route-d3218813fe634dea.js +1 -0
  496. package/.next/static/chunks/app/api/models/route-d3218813fe634dea.js +1 -0
  497. package/.next/static/chunks/app/api/models-config/catalog/route-d3218813fe634dea.js +1 -0
  498. package/.next/static/chunks/app/api/models-config/discover/route-d3218813fe634dea.js +1 -0
  499. package/.next/static/chunks/app/api/models-config/route-d3218813fe634dea.js +1 -0
  500. package/.next/static/chunks/app/api/models-config/test/route-d3218813fe634dea.js +1 -0
  501. package/.next/static/chunks/app/api/open-in-explorer/route-d3218813fe634dea.js +1 -0
  502. package/.next/static/chunks/app/api/plugins/check/route-d3218813fe634dea.js +1 -0
  503. package/.next/static/chunks/app/api/plugins/route-d3218813fe634dea.js +1 -0
  504. package/.next/static/chunks/app/api/project-trust/route-d3218813fe634dea.js +1 -0
  505. package/.next/static/chunks/app/api/provider-usage/query/route-d3218813fe634dea.js +1 -0
  506. package/.next/static/chunks/app/api/push/config/route-d3218813fe634dea.js +1 -0
  507. package/.next/static/chunks/app/api/push/subscribe/route-d3218813fe634dea.js +1 -0
  508. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-d3218813fe634dea.js +1 -0
  509. package/.next/static/chunks/app/api/sessions/[id]/context/route-d3218813fe634dea.js +1 -0
  510. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-d3218813fe634dea.js +1 -0
  511. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-d3218813fe634dea.js +1 -0
  512. package/.next/static/chunks/app/api/sessions/[id]/export/route-d3218813fe634dea.js +1 -0
  513. package/.next/static/chunks/app/api/sessions/[id]/fork/route-d3218813fe634dea.js +1 -0
  514. package/.next/static/chunks/app/api/sessions/[id]/route-d3218813fe634dea.js +1 -0
  515. package/.next/static/chunks/app/api/sessions/[id]/share/route-d3218813fe634dea.js +1 -0
  516. package/.next/static/chunks/app/api/sessions/[id]/state/route-d3218813fe634dea.js +1 -0
  517. package/.next/static/chunks/app/api/sessions/delete/route-d3218813fe634dea.js +1 -0
  518. package/.next/static/chunks/app/api/sessions/route-d3218813fe634dea.js +1 -0
  519. package/.next/static/chunks/app/api/sessions/search/route-d3218813fe634dea.js +1 -0
  520. package/.next/static/chunks/app/api/sessions/stats/route-d3218813fe634dea.js +1 -0
  521. package/.next/static/chunks/app/api/sessions/ui-state/route-d3218813fe634dea.js +1 -0
  522. package/.next/static/chunks/app/api/skills/check/route-d3218813fe634dea.js +1 -0
  523. package/.next/static/chunks/app/api/skills/content/route-d3218813fe634dea.js +1 -0
  524. package/.next/static/chunks/app/api/skills/install/route-d3218813fe634dea.js +1 -0
  525. package/.next/static/chunks/app/api/skills/route-d3218813fe634dea.js +1 -0
  526. package/.next/static/chunks/app/api/skills/search/route-d3218813fe634dea.js +1 -0
  527. package/.next/static/chunks/app/api/skills/update/route-d3218813fe634dea.js +1 -0
  528. package/.next/static/chunks/app/api/subagents/[id]/route-d3218813fe634dea.js +1 -0
  529. package/.next/static/chunks/app/api/subagents/profiles/route-d3218813fe634dea.js +1 -0
  530. package/.next/static/chunks/app/api/subagents/settings/route-d3218813fe634dea.js +1 -0
  531. package/.next/static/chunks/app/api/terminal/[id]/events/route-d3218813fe634dea.js +1 -0
  532. package/.next/static/chunks/app/api/terminal/[id]/route-d3218813fe634dea.js +1 -0
  533. package/.next/static/chunks/app/api/terminal/route-d3218813fe634dea.js +1 -0
  534. package/.next/static/chunks/app/api/tools/settings/route-d3218813fe634dea.js +1 -0
  535. package/.next/static/chunks/app/api/web-auth/route-d3218813fe634dea.js +1 -0
  536. package/.next/static/chunks/app/api/worktrees/route-d3218813fe634dea.js +1 -0
  537. package/.next/static/chunks/app/layout-09edb2b4f71317e3.js +1 -0
  538. package/.next/static/chunks/app/login/page-264591bcd5541a1f.js +1 -0
  539. package/.next/static/chunks/app/manifest.webmanifest/route-d3218813fe634dea.js +1 -0
  540. package/.next/static/chunks/app/page-d922df5980ec931c.js +285 -0
  541. package/.next/static/chunks/app/share/[code]/page-ff418745312c304f.js +1 -0
  542. package/.next/static/chunks/d0e3edb2-14c399e5ac4a0230.js +18 -0
  543. package/.next/static/chunks/dcbf9649.a109de0ff33b7cd5.js +1 -0
  544. package/.next/static/chunks/e444a482.562747af759320da.js +153 -0
  545. package/.next/static/chunks/eb47aedd.82f4b7f485fc5804.js +32 -0
  546. package/.next/static/chunks/f8e56d65.7ee6c15983b9bb69.js +82 -0
  547. package/.next/static/chunks/framework-0a6c4a96112443b3.js +1 -0
  548. package/.next/static/chunks/main-634a10a29ad83b54.js +5 -0
  549. package/.next/static/chunks/main-app-6d91b2e08db37fda.js +1 -0
  550. package/.next/static/chunks/next/dist/client/components/builtin/app-error-d3218813fe634dea.js +1 -0
  551. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-d3218813fe634dea.js +1 -0
  552. package/.next/static/chunks/next/dist/client/components/builtin/global-error-cd3be3520fbf053c.js +1 -0
  553. package/.next/static/chunks/next/dist/client/components/builtin/not-found-d3218813fe634dea.js +1 -0
  554. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d3218813fe634dea.js +1 -0
  555. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  556. package/.next/static/chunks/webpack-7c23f465dcf1a516.js +1 -0
  557. package/.next/static/css/0f5099659ba5f318.css +1 -0
  558. package/.next/static/css/49692dbfa6f26eeb.css +1 -0
  559. package/.next/static/css/582426d6a91257d8.css +1 -0
  560. package/.next/static/css/9bcd6051db4f8890.css +1 -0
  561. package/.next/static/css/c99d24fe85e139cc.css +1 -0
  562. package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
  563. package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
  564. package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
  565. package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
  566. package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
  567. package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
  568. package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  569. package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  570. package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  571. package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  572. package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  573. package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  574. package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  575. package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  576. package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  577. package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  578. package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  579. package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  580. package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  581. package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  582. package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  583. package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  584. package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  585. package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  586. package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  587. package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  588. package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  589. package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  590. package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  591. package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  592. package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  593. package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  594. package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  595. package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  596. package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  597. package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  598. package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  599. package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  600. package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  601. package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  602. package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  603. package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  604. package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  605. package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  606. package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  607. package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  608. package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  609. package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  610. package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  611. package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  612. package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  613. package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  614. package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  615. package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  616. package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  617. package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  618. package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  619. package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  620. package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  621. package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  622. package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  623. package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  624. package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  625. package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  626. package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  627. package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  628. package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
  629. package/.next/trace +8 -0
  630. package/.next/trace-build +1 -0
  631. package/.next/types/app/api/agent/[id]/bash-output/route.ts +353 -0
  632. package/.next/types/app/api/agent/[id]/events/route.ts +353 -0
  633. package/.next/types/app/api/agent/[id]/lease/route.ts +353 -0
  634. package/.next/types/app/api/agent/[id]/route.ts +353 -0
  635. package/.next/types/app/api/agent/new/route.ts +353 -0
  636. package/.next/types/app/api/agent/running/route.ts +353 -0
  637. package/.next/types/app/api/app-update/route.ts +353 -0
  638. package/.next/types/app/api/auth/api-key/[provider]/route.ts +353 -0
  639. package/.next/types/app/api/auth/login/[provider]/route.ts +353 -0
  640. package/.next/types/app/api/auth/logout/[provider]/route.ts +353 -0
  641. package/.next/types/app/api/auth/providers/route.ts +353 -0
  642. package/.next/types/app/api/automations/route.ts +353 -0
  643. package/.next/types/app/api/cache-miss-notices/route.ts +353 -0
  644. package/.next/types/app/api/channels/route.ts +353 -0
  645. package/.next/types/app/api/cwd/browse/route.ts +353 -0
  646. package/.next/types/app/api/cwd/validate/route.ts +353 -0
  647. package/.next/types/app/api/default-cwd/route.ts +353 -0
  648. package/.next/types/app/api/file-index/route.ts +353 -0
  649. package/.next/types/app/api/files/[...path]/route.ts +353 -0
  650. package/.next/types/app/api/git/commit/route.ts +353 -0
  651. package/.next/types/app/api/git/diff/route.ts +353 -0
  652. package/.next/types/app/api/git/graph/route.ts +353 -0
  653. package/.next/types/app/api/git/status/route.ts +353 -0
  654. package/.next/types/app/api/home/route.ts +353 -0
  655. package/.next/types/app/api/mcp/route.ts +353 -0
  656. package/.next/types/app/api/mcp/sign-in/[flowId]/route.ts +353 -0
  657. package/.next/types/app/api/mcp/sign-in/route.ts +353 -0
  658. package/.next/types/app/api/mcp/test/route.ts +353 -0
  659. package/.next/types/app/api/models/default/route.ts +353 -0
  660. package/.next/types/app/api/models/enabled/route.ts +353 -0
  661. package/.next/types/app/api/models/refresh/route.ts +353 -0
  662. package/.next/types/app/api/models/route.ts +353 -0
  663. package/.next/types/app/api/models-config/catalog/route.ts +353 -0
  664. package/.next/types/app/api/models-config/discover/route.ts +353 -0
  665. package/.next/types/app/api/models-config/route.ts +353 -0
  666. package/.next/types/app/api/models-config/test/route.ts +353 -0
  667. package/.next/types/app/api/open-in-explorer/route.ts +353 -0
  668. package/.next/types/app/api/plugins/check/route.ts +353 -0
  669. package/.next/types/app/api/plugins/route.ts +353 -0
  670. package/.next/types/app/api/project-trust/route.ts +353 -0
  671. package/.next/types/app/api/provider-usage/query/route.ts +353 -0
  672. package/.next/types/app/api/push/config/route.ts +353 -0
  673. package/.next/types/app/api/push/subscribe/route.ts +353 -0
  674. package/.next/types/app/api/sessions/[id]/auto-name/route.ts +353 -0
  675. package/.next/types/app/api/sessions/[id]/context/route.ts +353 -0
  676. package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +353 -0
  677. package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +353 -0
  678. package/.next/types/app/api/sessions/[id]/export/route.ts +353 -0
  679. package/.next/types/app/api/sessions/[id]/fork/route.ts +353 -0
  680. package/.next/types/app/api/sessions/[id]/route.ts +353 -0
  681. package/.next/types/app/api/sessions/[id]/share/route.ts +353 -0
  682. package/.next/types/app/api/sessions/[id]/state/route.ts +353 -0
  683. package/.next/types/app/api/sessions/delete/route.ts +353 -0
  684. package/.next/types/app/api/sessions/route.ts +353 -0
  685. package/.next/types/app/api/sessions/search/route.ts +353 -0
  686. package/.next/types/app/api/sessions/stats/route.ts +353 -0
  687. package/.next/types/app/api/sessions/ui-state/route.ts +353 -0
  688. package/.next/types/app/api/skills/check/route.ts +353 -0
  689. package/.next/types/app/api/skills/content/route.ts +353 -0
  690. package/.next/types/app/api/skills/install/route.ts +353 -0
  691. package/.next/types/app/api/skills/route.ts +353 -0
  692. package/.next/types/app/api/skills/search/route.ts +353 -0
  693. package/.next/types/app/api/skills/update/route.ts +353 -0
  694. package/.next/types/app/api/subagents/[id]/route.ts +353 -0
  695. package/.next/types/app/api/subagents/profiles/route.ts +353 -0
  696. package/.next/types/app/api/subagents/settings/route.ts +353 -0
  697. package/.next/types/app/api/terminal/[id]/events/route.ts +353 -0
  698. package/.next/types/app/api/terminal/[id]/route.ts +353 -0
  699. package/.next/types/app/api/terminal/route.ts +353 -0
  700. package/.next/types/app/api/tools/settings/route.ts +353 -0
  701. package/.next/types/app/api/web-auth/route.ts +353 -0
  702. package/.next/types/app/api/worktrees/route.ts +353 -0
  703. package/.next/types/app/layout.ts +89 -0
  704. package/.next/types/app/login/page.ts +89 -0
  705. package/.next/types/app/page.ts +89 -0
  706. package/.next/types/app/share/[code]/page.ts +89 -0
  707. package/.next/types/cache-life.d.ts +146 -0
  708. package/.next/types/package.json +1 -0
  709. package/.next/types/root-params.d.ts +3 -0
  710. package/.next/types/routes.d.ts +146 -0
  711. package/.next/types/validator.ts +736 -0
  712. package/LICENSE +21 -0
  713. package/README.md +206 -2
  714. package/bin/browser-opener.js +34 -0
  715. package/bin/node-version.js +35 -0
  716. package/bin/pi-web-commands.js +118 -0
  717. package/bin/pi-web-node-args.js +11 -0
  718. package/bin/pi-web-options.js +141 -0
  719. package/bin/pi-web-update.js +160 -0
  720. package/bin/pi-web.js +157 -0
  721. package/bin/prepare-terminal.js +14 -0
  722. package/bin/process-lifecycle.js +81 -0
  723. package/bin/rotate-preview-secrets.js +105 -0
  724. package/bin/run-records.js +212 -0
  725. package/next.config.ts +110 -0
  726. package/package.json +100 -4
  727. package/public/icons/apple-touch-icon.png +0 -0
  728. package/public/icons/catppuccin/LICENSE +22 -0
  729. package/public/icons/catppuccin/README.md +10 -0
  730. package/public/icons/catppuccin/latte/_file.svg +3 -0
  731. package/public/icons/catppuccin/latte/_folder.svg +3 -0
  732. package/public/icons/catppuccin/latte/_folder_open.svg +3 -0
  733. package/public/icons/catppuccin/latte/bash.svg +7 -0
  734. package/public/icons/catppuccin/latte/bun-lock.svg +8 -0
  735. package/public/icons/catppuccin/latte/config.svg +3 -0
  736. package/public/icons/catppuccin/latte/css.svg +6 -0
  737. package/public/icons/catppuccin/latte/database.svg +3 -0
  738. package/public/icons/catppuccin/latte/docker.svg +3 -0
  739. package/public/icons/catppuccin/latte/env.svg +3 -0
  740. package/public/icons/catppuccin/latte/eslint.svg +6 -0
  741. package/public/icons/catppuccin/latte/git.svg +6 -0
  742. package/public/icons/catppuccin/latte/go.svg +3 -0
  743. package/public/icons/catppuccin/latte/graphql.svg +3 -0
  744. package/public/icons/catppuccin/latte/html.svg +6 -0
  745. package/public/icons/catppuccin/latte/javascript-react.svg +8 -0
  746. package/public/icons/catppuccin/latte/javascript.svg +6 -0
  747. package/public/icons/catppuccin/latte/json.svg +3 -0
  748. package/public/icons/catppuccin/latte/lock.svg +3 -0
  749. package/public/icons/catppuccin/latte/markdown.svg +3 -0
  750. package/public/icons/catppuccin/latte/ms-word.svg +6 -0
  751. package/public/icons/catppuccin/latte/next.svg +6 -0
  752. package/public/icons/catppuccin/latte/npm-lock.svg +7 -0
  753. package/public/icons/catppuccin/latte/pdf.svg +3 -0
  754. package/public/icons/catppuccin/latte/python.svg +8 -0
  755. package/public/icons/catppuccin/latte/rust.svg +6 -0
  756. package/public/icons/catppuccin/latte/sass.svg +3 -0
  757. package/public/icons/catppuccin/latte/terraform.svg +3 -0
  758. package/public/icons/catppuccin/latte/toml.svg +3 -0
  759. package/public/icons/catppuccin/latte/typescript-react.svg +8 -0
  760. package/public/icons/catppuccin/latte/typescript.svg +6 -0
  761. package/public/icons/catppuccin/latte/yaml.svg +3 -0
  762. package/public/icons/catppuccin/mocha/_file.svg +3 -0
  763. package/public/icons/catppuccin/mocha/_folder.svg +3 -0
  764. package/public/icons/catppuccin/mocha/_folder_open.svg +3 -0
  765. package/public/icons/catppuccin/mocha/bash.svg +7 -0
  766. package/public/icons/catppuccin/mocha/bun-lock.svg +8 -0
  767. package/public/icons/catppuccin/mocha/config.svg +3 -0
  768. package/public/icons/catppuccin/mocha/css.svg +6 -0
  769. package/public/icons/catppuccin/mocha/database.svg +3 -0
  770. package/public/icons/catppuccin/mocha/docker.svg +3 -0
  771. package/public/icons/catppuccin/mocha/env.svg +3 -0
  772. package/public/icons/catppuccin/mocha/eslint.svg +6 -0
  773. package/public/icons/catppuccin/mocha/git.svg +6 -0
  774. package/public/icons/catppuccin/mocha/go.svg +3 -0
  775. package/public/icons/catppuccin/mocha/graphql.svg +3 -0
  776. package/public/icons/catppuccin/mocha/html.svg +6 -0
  777. package/public/icons/catppuccin/mocha/javascript-react.svg +8 -0
  778. package/public/icons/catppuccin/mocha/javascript.svg +6 -0
  779. package/public/icons/catppuccin/mocha/json.svg +3 -0
  780. package/public/icons/catppuccin/mocha/lock.svg +3 -0
  781. package/public/icons/catppuccin/mocha/markdown.svg +3 -0
  782. package/public/icons/catppuccin/mocha/ms-word.svg +6 -0
  783. package/public/icons/catppuccin/mocha/next.svg +6 -0
  784. package/public/icons/catppuccin/mocha/npm-lock.svg +7 -0
  785. package/public/icons/catppuccin/mocha/pdf.svg +3 -0
  786. package/public/icons/catppuccin/mocha/python.svg +8 -0
  787. package/public/icons/catppuccin/mocha/rust.svg +6 -0
  788. package/public/icons/catppuccin/mocha/sass.svg +3 -0
  789. package/public/icons/catppuccin/mocha/terraform.svg +3 -0
  790. package/public/icons/catppuccin/mocha/toml.svg +3 -0
  791. package/public/icons/catppuccin/mocha/typescript-react.svg +8 -0
  792. package/public/icons/catppuccin/mocha/typescript.svg +6 -0
  793. package/public/icons/catppuccin/mocha/yaml.svg +3 -0
  794. package/public/icons/icon-192.png +0 -0
  795. package/public/icons/icon-512.png +0 -0
  796. package/public/offline.html +83 -0
  797. package/public/provider-icons.svg +54 -0
  798. package/public/sw.js +183 -0
  799. package/public/sw.test.mjs +339 -0
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=8672,a.ids=[8672],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2345:(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){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},7024:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{S9:()=>l,TH:()=>k,je:()=>m,vd:()=>i});var e=c(2345),f=c(85078),g=a([f]);function h(){return globalThis.__piWebProviderModelCatalog??=new Map,globalThis.__piWebProviderModelCatalog}async function i(a){let b=new Map;for(let c of(await a.getAvailable()))b.set(c.provider,[...b.get(c.provider)??[],c]);let c=[...b.keys()].some(a=>!h().has(a));for(let[a,c]of b)h().set(a,c);c&&(0,e.kn)()}function j(a){let b=new Set(a.getModels().map(a=>a.provider));return[...h()].flatMap(([a,c])=>b.has(a)?[]:c)}function k(a){return new Proxy(a,{get(a,b,c){if("getAvailable"===b)return async(...b)=>{let[c]=b,d=j(a).filter(a=>!c||a.provider===c);return[...await a.getAvailable(...b),...d]};let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}})}function l(a,b,c){return j(a).find(a=>a.provider===b&&a.id===c)}async function m(a,b,c){let d;if(0===j(a).length)return;try{d=(0,f.IR)(await (0,f.py)(k(a),b),c)}catch{return}let e=d.model&&l(a,d.model.provider,d.model.id);return e?{model:e,...d.thinkingLevel?{thinkingLevelPin:d.thinkingLevel}:{}}:void 0}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10524:()=>{},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},23258:(a,b,c)=>{"use strict";function d(a,b,c){let d=globalThis,e=d[a]??=new Map,f=(e.get(b)??Promise.resolve()).then(c),g=f.then(()=>void 0,()=>void 0);return e.set(b,g),g.then(()=>{e.get(b)===g&&e.delete(b)}),f}c.d(b,{T:()=>d})},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")},39181:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>g,dynamic:()=>h});var e=c(48695),f=a([e]);e=(f.then?(await f)():f)[0];let h="force-dynamic";async function g(a){let b;try{let c=await a.json();"string"==typeof c?.provider&&c.provider.trim()&&(b=c.provider.trim())}catch{}let c=await (0,e.TA)(b?{providers:[b]}:{});return Response.json(c)}d()}catch(a){d(a)}})},41334:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OH:()=>k,O_:()=>j,nx:()=>l});var e=c(75430),f=c(77598),g=c(7024),h=c(23258),i=a([e,g]);async function j(){let a=(0,e.getAgentDir)(),b=await (0,e.createAgentSessionServices)({cwd:a,agentDir:a});return await (0,g.vd)(b.modelRuntime),b.modelRuntime}[e,g]=i.then?(await i)():i;let m=Symbol.for("pi-web:shared-model-runtime-refresh");async function k(){var a;let b,c=(0,e.getAgentDir)(),d=globalThis.__piWebSharedModelRuntime;(!d||d.agentDir!==c||d.expiresAt<=Date.now())&&((b={agentDir:a=c,runtime:j(),queueKey:`${a}\0${(0,f.randomUUID)()}`,expiresAt:1/0}).runtime.then(()=>{b.expiresAt=Date.now()+6e5},()=>{globalThis.__piWebSharedModelRuntime===b&&(globalThis.__piWebSharedModelRuntime=void 0)}),d=b,globalThis.__piWebSharedModelRuntime=d);let i=await d.runtime;return(0,h.T)(m,d.queueKey,async()=>(await i.refresh({allowNetwork:!1}),await (0,g.vd)(i),i))}function l(){globalThis.__piWebSharedModelRuntime=void 0}d()}catch(a){d(a)}})},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48695:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{TA:()=>j});var e=c(41334),f=c(2345),g=a([e]);function h(a){return a.map(a=>`${a.provider}\u0000${a.id}\u0000${a.name}`).sort().join("\n")}async function i(a={}){let b;if(void 0!==process.env.PI_OFFLINE)return{completed:!1,changed:!1,reason:"offline"};let c=AbortSignal.timeout(15e3),d=a.signal?AbortSignal.any([a.signal,c]):c;try{b=await (0,e.O_)()}catch{return{completed:!1,changed:!1,reason:"runtime"}}let g=h(b.getModels()),j=!1;try{let c=await b.refresh({...a.providers?{providers:a.providers}:{},force:!0,signal:d});j=!c.aborted&&0===c.errors.size}catch{j=!1}let k=h(b.getModels())!==g;return k&&(0,f.kn)(),{completed:j,changed:k}}function j(a={}){let b=a.providers?[...a.providers].sort().join(","):"",c=(globalThis.__piModelCatalogRefreshPasses||(globalThis.__piModelCatalogRefreshPasses=new Map),globalThis.__piModelCatalogRefreshPasses),d=c.get(b);if(d)return d;let e=i({...a,signal:void 0}).finally(()=>{c.get(b)===e&&c.delete(b)});return c.set(b,e),e}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},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")},67240:(a,b,c)=>{"use strict";a.exports=c(44870)},69773:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(7733),e=c(74784),f=c(38303);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()}}},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},77598:a=>{"use strict";a.exports=require("node:crypto")},85078:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>j,uw:()=>k});var e=c(75430),f=a([e]);e=(f.then?(await f)():f)[0];let m=new Set(["off","minimal","low","medium","high","xhigh","max"]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}function h(a){return a.includes("*")||a.includes("?")||a.includes("[")}function i(a,b){let c=a.toLowerCase(),d=b.filter(a=>`${a.provider}/${a.id}`.toLowerCase()===c);return d.length>0?d:b.filter(a=>a.id.toLowerCase()===c)}async function j(a,b){let c=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===c.length)return{visible:await a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let d=await a.getAvailable();for(let a of c){if(h(a))continue;let b=i(a,d);if(0===b.length){let c=a.lastIndexOf(":"),e=c>=0?a.slice(c+1):"";m.has(e)&&(b=i(a.slice(0,c),d))}if(b.length>1){let c=b.map(a=>`${a.provider}/${a.id}`).sort().join(", ");throw Error(`Ambiguous enabledModels entry "${a}" matches multiple models: ${c}. Use provider/modelId.`)}}let{scopedModels:f,diagnostics:g}=await (0,e.resolveModelScopeWithDiagnostics)(c,{getAvailable:async()=>d}),j=g.filter(a=>"no-match"!==a.code||0===f.length||!function(a){if(!h(a))return!1;let b=a.lastIndexOf(":");return b<0||m.has(a.slice(b+1))}(a.pattern)).map(a=>a.message);if(0===f.length)return{visible:d,scopedModels:[],thinkingLevelPins:{},warnings:j};let k={};for(let a of f)a.thinkingLevel&&(k[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:k,warnings:j}}function k(a){return a.scopedModels.length>0?[...a.visible]:[...a.visible].sort((a,b)=>a.provider.localeCompare(b.provider))}function l(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,i=e?void 0:h??a.scopedModels[0],j=e||i||!d?void 0:a.visible.find(a=>g(a,d)),k=e??i?.model??j,m=f??i,n=b.thinkingLevel??m?.thinkingLevel;return{...k?{model:k}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94496:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models/refresh/route",pathname:"/api/models/refresh",filename:"route",bundlePath:"app/api/models/refresh/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models/refresh/route.ts",nextConfigOutput:"",userland:()=>c(39181),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/refresh/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},96956:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008],()=>b(b.s=94496));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../../node_modules","../../../../../../package.json","../../../../../package.json","../../../../chunks/2008.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models/refresh/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models/refresh/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2345:(a,b,c)=>{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){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},7024:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{S9:()=>l,TH:()=>k,je:()=>m,vd:()=>i});var e=c(2345),f=c(85078),g=a([f]);function h(){return globalThis.__piWebProviderModelCatalog??=new Map,globalThis.__piWebProviderModelCatalog}async function i(a){let b=new Map;for(let c of(await a.getAvailable()))b.set(c.provider,[...b.get(c.provider)??[],c]);let c=[...b.keys()].some(a=>!h().has(a));for(let[a,c]of b)h().set(a,c);c&&(0,e.kn)()}function j(a){let b=new Set(a.getModels().map(a=>a.provider));return[...h()].flatMap(([a,c])=>b.has(a)?[]:c)}function k(a){return new Proxy(a,{get(a,b,c){if("getAvailable"===b)return async(...b)=>{let[c]=b,d=j(a).filter(a=>!c||a.provider===c);return[...await a.getAvailable(...b),...d]};let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}})}function l(a,b,c){return j(a).find(a=>a.provider===b&&a.id===c)}async function m(a,b,c){let d;if(0===j(a).length)return;try{d=(0,f.IR)(await (0,f.py)(k(a),b),c)}catch{return}let e=d.model&&l(a,d.model.provider,d.model.id);return e?{model:e,...d.thinkingLevel?{thinkingLevelPin:d.thinkingLevel}:{}}:void 0}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},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")},35076:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models/route.ts",nextConfigOutput:"",userland:()=>c(76021),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67240:(a,b,c)=>{a.exports=c(44870)},69773:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(7733),e=c(74784),f=c(38303);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()}}},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76021:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>r,dynamic:()=>s});var e=c(29021),f=c(79748),g=c(33873),h=c(75430),i=c(28802),j=c(2345),k=c(85078),l=c(91069),m=c(74768),n=c(7024),o=c(16577),p=a([h,i,k,l,m,n]);[h,i,k,l,m,n]=p.then?(await p)():p;let s="force-dynamic";async function q(a){let b=new Map,c=[],d=null,e={},f={},g=(0,h.getAgentDir)(),l=(0,m.Fk)(a,g),o=await (0,h.createAgentSessionServices)({cwd:a,agentDir:g,...l?{resourceLoaderReloadOptions:l}:{}}),p=o.modelRuntime.getError(),q=o.settingsManager;await (0,n.vd)(o.modelRuntime);let r=await (0,k.py)((0,n.TH)(o.modelRuntime),q.getEnabledModels()),{visible:s,thinkingLevelPins:t,warnings:u}=r;for(let a of(c=(0,k.uw)(r).map(a=>({id:a.id,name:a.name,provider:a.provider,input:a.input})),s)){let c=`${a.provider}:${a.id}`;b.set(c,a.name),e[c]=(0,i.getSupportedThinkingLevels)(a),a.thinkingLevelMap&&(f[c]=a.thinkingLevelMap)}let v=q.getDefaultProvider(),w=q.getDefaultModel(),x=(0,k.IR)(r,{...v&&w?{defaultModel:{provider:v,modelId:w}}:{}});x.model&&(d={provider:x.model.provider,modelId:x.model.id});let y=x.thinkingLevel??(x.model?q.getModelThinkingLevel(x.model.provider,x.model.id):void 0)??q.getDefaultThinkingLevel()??null;return(0,j.Mx)({models:Object.fromEntries(b),modelList:c,defaultModel:d,defaultThinkingLevel:y,savedDefaultThinkingLevel:q.getDefaultThinkingLevel()??null,thinkingLevels:e,thinkingLevelMaps:f,thinkingLevelPins:t,...u.length>0?{modelScopeWarnings:u}:{}},p)}let t={models:{},modelList:[],defaultModel:null,defaultThinkingLevel:null,savedDefaultThinkingLevel:null,thinkingLevels:{},thinkingLevelMaps:{},thinkingLevelPins:{}};async function r(a){let b,c=(0,g.resolve)(new URL(a.url).searchParams.get("cwd")||process.cwd()),d=(0,e.existsSync)(c)?c:(0,o.OG)(c)?.projectRoot??c;try{b=await (0,f.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});let h=await (0,l.mc)();if(!(0,l.B7)(d,h))return Response.json({error:"Access denied"},{status:403});try{return Response.json(await (0,j.rC)(d,()=>q(d)))}catch{return Response.json((0,j.Fw)(t))}}d()}catch(a){d(a)}})},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},85078:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>j,uw:()=>k});var e=c(75430),f=a([e]);e=(f.then?(await f)():f)[0];let m=new Set(["off","minimal","low","medium","high","xhigh","max"]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}function h(a){return a.includes("*")||a.includes("?")||a.includes("[")}function i(a,b){let c=a.toLowerCase(),d=b.filter(a=>`${a.provider}/${a.id}`.toLowerCase()===c);return d.length>0?d:b.filter(a=>a.id.toLowerCase()===c)}async function j(a,b){let c=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===c.length)return{visible:await a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let d=await a.getAvailable();for(let a of c){if(h(a))continue;let b=i(a,d);if(0===b.length){let c=a.lastIndexOf(":"),e=c>=0?a.slice(c+1):"";m.has(e)&&(b=i(a.slice(0,c),d))}if(b.length>1){let c=b.map(a=>`${a.provider}/${a.id}`).sort().join(", ");throw Error(`Ambiguous enabledModels entry "${a}" matches multiple models: ${c}. Use provider/modelId.`)}}let{scopedModels:f,diagnostics:g}=await (0,e.resolveModelScopeWithDiagnostics)(c,{getAvailable:async()=>d}),j=g.filter(a=>"no-match"!==a.code||0===f.length||!function(a){if(!h(a))return!1;let b=a.lastIndexOf(":");return b<0||m.has(a.slice(b+1))}(a.pattern)).map(a=>a.message);if(0===f.length)return{visible:d,scopedModels:[],thinkingLevelPins:{},warnings:j};let k={};for(let a of f)a.thinkingLevel&&(k[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:k,warnings:j}}function k(a){return a.scopedModels.length>0?[...a.visible]:[...a.visible].sort((a,b)=>a.provider.localeCompare(b.provider))}function l(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,i=e?void 0:h??a.scopedModels[0],j=e||i||!d?void 0:a.visible.find(a=>g(a,d)),k=e??i?.model??j,m=f??i,n=b.thinkingLevel??m?.thinkingLevel;return{...k?{model:k}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91069:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(23162),f=c(82738),g=c(14296),h=c(51202),i=a([g]);async function j(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,129,6294,4768],()=>b(b.s=35076));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules","../../../../../package.json","../../../../package.json","../../../chunks/129.js","../../../chunks/2008.js","../../../chunks/4768.js","../../../chunks/6294.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=9747,a.ids=[9747],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10524:()=>{},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27201:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>v,dynamic:()=>r});var d=c(78593);let e={anthropic:["api.anthropic.com"],google:["generativelanguage.googleapis.com"],openai:["api.openai.com"],openrouter:["openrouter.ai"]},f=new Set(["text","image"]);function g(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function h(a){return"string"==typeof a&&a.trim()?a.trim():void 0}function i(a){return"number"==typeof a&&Number.isFinite(a)&&a>=0?a:void 0}function j(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?a:void 0}function k(a){return a.trim().toLocaleLowerCase().replace(/[^a-z0-9]/g,"")}function l(a){return a.trim().toLocaleLowerCase().replace(/^models\//,"")}function m(a){if(a)try{return new URL(a).hostname.toLocaleLowerCase().replace(/\.$/,"")}catch{return}}function n(a){return void 0!==a.cost.input&&void 0!==a.cost.output}function o(a,b,c){if(0===a.length||b<=0)return;let d=new Map;for(let b of a){let a=c(b),e=d.get(a);e?e.count+=1:d.set(a,{value:b,count:1})}let e=[...d.values()].sort((a,b)=>b.count-a.count),f=e[0];if(f&&!(f.count/b<.6)&&e[1]?.count!==f.count)return f.value}function p(a){if(0===a.length)return;let b=new Map;for(let c of a)b.set(c,(b.get(c)??0)+1);let c=[...b.entries()].sort((a,b)=>b[1]-a[1]);if(c[0]&&c[1]?.[1]!==c[0][1])return c[0][0]}function q(a,b){return{status:"reliable",method:b,cost:{input:a.cost.input,output:a.cost.output,cacheRead:a.cost.cacheRead??0,cacheWrite:a.cost.cacheWrite??0},providerId:a.providerId,providerName:a.providerName,support:1,total:1}}let r="force-dynamic",s="https://models.dev/api.json";async function t(){let a=await fetch(s,{cache:"no-store",headers:{Accept:"application/json"},signal:AbortSignal.timeout(15e3)});if(!a.ok)throw Error(`models.dev returned HTTP ${a.status}`);let b=function(a){if(!g(a))return[];let b=[];for(let[d,e]of Object.entries(a)){if(!g(e)||!g(e.models))continue;let a=h(e.name)??d,k=h(e.api);for(let[l,m]of Object.entries(e.models)){var c;if(!g(m))continue;let e=h(m.id)??l;if(!e)continue;let n=h(m.name)??e,o={key:`${d}/${e}`,providerId:d,providerName:a,id:e,name:n,cost:g(c=m.cost)?{input:i(c.input),output:i(c.output),cacheRead:i(c.cache_read),cacheWrite:i(c.cache_write)}:{}};k&&(o.providerBaseUrl=k),"boolean"==typeof m.reasoning&&(o.reasoning=m.reasoning);let p=function(a){if(!g(a)||!Array.isArray(a.input))return;let b=Array.from(new Set(a.input.filter(a=>"string"==typeof a).map(a=>a.trim().toLocaleLowerCase()).filter(a=>f.has(a))));return b.length?b:void 0}(m.modalities);if(p&&(o.input=p),g(m.limit)){let a=j(m.limit.context),b=j(m.limit.output);void 0!==a&&(o.contextWindow=a),void 0!==b&&(o.maxTokens=b)}b.push(o)}}return b}(await a.json());if(0===b.length)throw Error("models.dev returned an empty catalog");return b}async function u(){let a=globalThis.__piModelsDevCatalogCache??={entries:[],expiresAt:0};if(a.entries.length>0&&a.expiresAt>Date.now())return a.entries;a.inFlight||(a.inFlight=t().then(b=>(a.entries=b,a.expiresAt=Date.now()+36e5,b)).finally(()=>{a.inFlight=void 0}));try{return await a.inFlight}catch(b){if(a.entries.length>0)return a.entries;throw b}}async function v(a){let{searchParams:b}=new URL(a.url),c=(b.get("q")??"").slice(0,120),f=(b.get("provider")??"").slice(0,120),g=(b.get("baseUrl")??"").slice(0,500),h=Number.parseInt(b.get("limit")??"50",10),i=Number.isFinite(h)?h:50;try{let a=await u(),b=function(a,b,c="",d=50){let e=b.trim().toLocaleLowerCase(),f=c.trim().toLocaleLowerCase(),g=Math.max(1,Math.min(100,Math.floor(d)||50));return a.map(a=>{let b,c,d,g,h,i;return{entry:a,rank:(b=a.id.toLocaleLowerCase(),c=a.name.toLocaleLowerCase(),d=a.providerId.toLocaleLowerCase(),g=a.providerName.toLocaleLowerCase(),h=`${d}/${b}`,i=20,e?b===e||h===e?i=0:c===e?i=1:b.startsWith(e)||c.startsWith(e)?i=2:h.startsWith(e)||d===e||g===e?i=3:b.includes(e)||c.includes(e)?i=4:(h.includes(e)||g.includes(e))&&(i=5):i=10,i<20&&f&&(d===f||g===f)&&(i-=.5),i)}}).filter(({rank:a})=>!e||a<20).sort((a,b)=>a.rank-b.rank||a.entry.providerName.localeCompare(b.entry.providerName,void 0,{sensitivity:"base"})||a.entry.name.localeCompare(b.entry.name,void 0,{numeric:!0,sensitivity:"base"})||a.entry.id.localeCompare(b.entry.id,void 0,{numeric:!0,sensitivity:"base"})).slice(0,g).map(({entry:a})=>a)}(a,c,f,i),h=function(a,b,c="",d=""){let f,g=a.filter(a=>(function(a,b){let c=l(b);if(!c)return!1;let d=l(a.id),e=`${a.providerId.toLocaleLowerCase()}/${d}`;return d===c||e===c})(a,b));if(0===g.length)return{exactMatches:0,metadataMethod:"none",preset:{},price:{status:"unreliable",reason:"no-exact-match",support:0,total:0}};let h=g.filter(a=>{let b;return!!(b=k(c))&&(k(a.providerId)===b||k(a.providerName)===b)}),i=g.filter(a=>(function(a,b){let c=m(b);if(!c)return!1;let d=e[k(a.providerId)]??[],f=m(a.providerBaseUrl);return[...d,...f?[f]:[]].some(a=>c===a||c.endsWith(`.${a}`))})(a,d)),j=h[0]??i[0],r=h.length?"provider":i.length?"base-url":"consensus",s=j?{name:j.name,reasoning:j.reasoning,input:j.input,contextWindow:j.contextWindow,maxTokens:j.maxTokens}:(f=g.length,{name:o(g.map(a=>a.name),f,a=>a.toLocaleLowerCase()),reasoning:o(g.flatMap(a=>void 0===a.reasoning?[]:[a.reasoning]),f,String),input:o(g.flatMap(a=>a.input?[a.input]:[]),f,a=>[...a].sort().join(",")),contextWindow:o(g.flatMap(a=>void 0===a.contextWindow?[]:[a.contextWindow]),f,String),maxTokens:o(g.flatMap(a=>void 0===a.maxTokens?[]:[a.maxTokens]),f,String)}),t=h.find(n),u=i.find(n),v=t?q(t,"provider"):u?q(u,"base-url"):function(a){let b=a.filter(n);if(0===b.length)return{status:"unreliable",reason:"no-valid-price",support:0,total:0};if(1===b.length)return{status:"unreliable",reason:"insufficient-support",support:1,total:1};let c=new Map;for(let a of b){let b=JSON.stringify([a.cost.input,a.cost.output]),d=c.get(b);d?d.push(a):c.set(b,[a])}let d=[...c.values()].sort((a,b)=>b.length-a.length),e=d[0];if(!e)return{status:"unreliable",reason:"no-valid-price",support:0,total:b.length};let f=e.length/b.length>=.6||e.length>=5;if(d[1]?.length===e.length||!f)return{status:"unreliable",reason:"conflict",support:e.length,total:b.length};let g=p(e.map(a=>a.cost.cacheRead??0))??0,h=p(e.map(a=>a.cost.cacheWrite??0))??0;return{status:"reliable",method:"consensus",cost:{input:e[0].cost.input,output:e[0].cost.output,cacheRead:g,cacheWrite:h},support:e.length,total:b.length}}(g);return"reliable"===v.status&&(s.cost=v.cost),{exactMatches:g.length,metadataMethod:r,matchedProviderId:j?.providerId,matchedProviderName:j?.providerName,preset:s,price:v}}(a,c,f,g);return d.NextResponse.json({models:b,recommendation:h,source:s})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:502})}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},77036:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models-config/catalog/route",pathname:"/api/models-config/catalog",filename:"route",bundlePath:"app/api/models-config/catalog/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/catalog/route.ts",nextConfigOutput:"",userland:()=>c(27201),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/catalog/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96956:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376],()=>b(b.s=77036));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../../node_modules","../../../../../../package.json","../../../../../package.json","../../../../chunks/2008.js","../../../../chunks/3376.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models-config/catalog/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/catalog/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=9787,a.ids=[9787],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10524:()=>{},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20244:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>i,dynamic:()=>j});var e=c(78593),f=c(99251),g=c(27124),h=a([f]);f=(h.then?(await h)():h)[0];let j="force-dynamic";async function i(a){try{var b;let c,d,h,i=await a.json(),j="string"==typeof i.providerName?i.providerName.trim():"";if(!j)return e.NextResponse.json({error:"providerName is required"},{status:400});if(b=i.provider,"object"!=typeof b||null===b||Array.isArray(b))return e.NextResponse.json({error:"provider is required"},{status:400});let k="string"==typeof i.provider.baseUrl?i.provider.baseUrl.trim():"",l="string"==typeof i.provider.api&&i.provider.api?i.provider.api:"";try{c=await (0,f.u)(j,i.provider)}catch(a){if(!k)return e.NextResponse.json({error:"Base URL is required"},{status:400});throw a}if("string"==typeof i.provider.apiKey&&i.provider.apiKey.trim()&&!c.apiKey)return e.NextResponse.json({error:`No API key found for "${j}"`},{status:400});let m=k||c.baseUrl||"";if(!m)return e.NextResponse.json({error:"Base URL is required"},{status:400});let n=l||c.api||"openai-completions";try{d=(0,g.y)(m,n)}catch{return e.NextResponse.json({error:"Base URL is invalid"},{status:400})}let o=await fetch(d,{cache:"no-store",headers:function(a,b,c){let d=new Headers(c);return(d.has("accept")||d.set("Accept","application/json"),b)?("anthropic-messages"===a?(d.has("x-api-key")||d.set("x-api-key",b),d.has("anthropic-version")||d.set("anthropic-version","2023-06-01")):"google-generative-ai"===a?d.has("x-goog-api-key")||d.set("x-goog-api-key",b):d.has("authorization")||d.set("Authorization",`Bearer ${b}`),d):d}(n,c.apiKey,c.headers),signal:AbortSignal.timeout(2e4)}),p=await o.text();if(!o.ok)return e.NextResponse.json({error:p.slice(0,500)||`Upstream returned HTTP ${o.status}`,status:o.status},{status:502});try{h=JSON.parse(p)}catch{return e.NextResponse.json({error:"Upstream model list was not valid JSON"},{status:502})}let q=(0,g.f)(h);if(0===q.length)return e.NextResponse.json({error:"No models found in the upstream response"},{status:502});return e.NextResponse.json({models:q,endpoint:d.toString()})}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof DOMException&&"TimeoutError"===c.name?504:500;return e.NextResponse.json({error:a},{status:b})}}d()}catch(a){d(a)}})},21820:a=>{"use strict";a.exports=require("os")},25848:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models-config/discover/route",pathname:"/api/models-config/discover",filename:"route",bundlePath:"app/api/models-config/discover/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/discover/route.ts",nextConfigOutput:"",userland:()=>c(20244),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/discover/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},27124:(a,b,c)=>{"use strict";c.d(b,{f:()=>l,y:()=>m});let d=["minimal","low","medium","high","xhigh","max"],e=["context_length","contextLength","context_window","contextWindow","max_model_len","max_input_tokens","inputTokenLimit"],f=["max_output_tokens","maxOutputTokens","max_completion_tokens","outputTokenLimit"],g=["supports_reasoning","supportsReasoning","reasoning","thinking"],h=["supported_efforts","supportedEfforts"];function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function j(a){return"string"==typeof a&&a.trim()?a.trim():void 0}function k(a,b){for(let c of b){let b=a[c],d="string"==typeof b&&/^\d+$/.test(b.trim())?Number(b):b;if("number"==typeof d&&Number.isSafeInteger(d)&&d>0)return d}}function l(a){let b=new Set,c=[];for(let l of function(a){if(Array.isArray(a))return a;if(!i(a))return[];for(let b of["data","models","results","items"]){let c=a[b];if(Array.isArray(c))return c;if(i(c))return Object.values(c)}return[]}(a)){let a=function(a){let b,c,l,m;if("string"==typeof a){let b=a.trim();return b?{id:b}:null}if(!i(a))return null;let n=j(a.id)??j(a.model)??j(a.name);if(!n)return null;let o=n.startsWith("models/")?n.slice(7):n;if(!o)return null;let p=j(a.display_name)??j(a.displayName)??(j(a.id)||j(a.model)?j(a.name):void 0);return{id:o,...p&&p!==o?{name:p}:{},...(c=(b=g.some(b=>!0===a[b]))?function(a){let b=h.map(b=>a[b]).find(Array.isArray);if(!b)return;let c=new Set(b.filter(a=>"string"==typeof a));if(!d.some(a=>c.has(a)))return;let e={};for(let a of d)c.has(a)?("xhigh"===a||"max"===a)&&(e[a]=a):e[a]=null;return e}(a):void 0,l=k(a,e),m=k(a,f),{...b?{reasoning:!0}:{},...c?{thinkingLevelMap:c}:{},...l?{contextWindow:l}:{},...m?{maxTokens:m}:{}})}}(l);!a||b.has(a.id)||(b.add(a.id),c.push(a))}return c.sort((a,b)=>(a.name??a.id).localeCompare(b.name??b.id,void 0,{numeric:!0,sensitivity:"base"}))}function m(a,b){let c=new URL(a.trim()),d=c.pathname.replace(/\/+$/,"");if(!/\/models$/i.test(d)){let a=d;"anthropic-messages"!==b||/\/v\d+(?:beta)?$/i.test(a)||(a+="/v1"),"google-generative-ai"!==b||/\/v\d+(?:beta)?$/i.test(a)||(a+="/v1beta"),c.pathname=`${a}/models`.replace(/\/+/g,"/")}return"anthropic-messages"!==b||c.searchParams.has("limit")||c.searchParams.set("limit","1000"),"google-generative-ai"!==b||c.searchParams.has("pageSize")||c.searchParams.set("pageSize","1000"),c}},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")},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")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96956:()=>{},99251:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{u:()=>k});var e=c(29021),f=c(21820),g=c(33873),h=c(75430),i=a([h]);function j(a){return"object"!=typeof a||null===a||Array.isArray(a)?{}:Object.fromEntries(Object.entries(a).filter(a=>"string"==typeof a[1]))}async function k(a,b){let c;try{c=(0,e.mkdtempSync)((0,g.join)((0,f.tmpdir)(),"pi-web-model-discovery-"));let d=(0,g.join)(c,"models.json"),i="__pi_web_model_discovery__";(0,e.writeFileSync)(d,JSON.stringify({providers:{[a]:{...b,models:[{id:i}]}}},null,2),"utf8");let k=await h.ModelRuntime.create({modelsPath:d}),l=k.getError();if(l)throw Error(l);let m=k.getModel(a,i);if(!m)throw Error(`Unable to load provider "${a}"`);let n=m.baseUrl?.trim()||k.getProvider(a)?.baseUrl?.trim()||void 0,o=m.api??k.getModels(a)[0]?.api,p=await k.getAuth(m);if(p)return{apiKey:p.auth.apiKey,headers:j(p.auth.headers),baseUrl:n,api:o};return{headers:j(k.getCompatibilityRequestConfig(m).headers),baseUrl:n,api:o}}finally{c&&(0,e.rmSync)(c,{recursive:!0,force:!0})}}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376],()=>b(b.s=25848));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../../node_modules","../../../../../../package.json","../../../../../package.json","../../../../chunks/2008.js","../../../../chunks/3376.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models-config/discover/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/discover/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=7483,a.ids=[7483],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2345:(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){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10524:()=>{},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11948:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models-config/route",pathname:"/api/models-config",filename:"route",bundlePath:"app/api/models-config/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/route.ts",nextConfigOutput:"",userland:()=>c(43860),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20249:(a,b,c)=>{"use strict";function d(a){return a.replace(/"(?:\\.|[^"\\])*"|\/\/[^\n]*|\/\*[\s\S]*?\*\//g,a=>'"'===a[0]?a:"*"===a[1]?" ":"").replace(/"(?:\\.|[^"\\])*"|,(\s*[}\]])/g,(a,b)=>b??('"'===a[0]?a:""))}function e(a){return JSON.parse(d(a.replace(/^\uFEFF/,"")))}c.d(b,{R:()=>d,p:()=>e})},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")},43860:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>i,PUT:()=>j,dynamic:()=>k});var e=c(78593),f=c(76205),g=c(78205),h=a([f]);f=(h.then?(await h)():h)[0];let k="force-dynamic";async function i(){try{return e.NextResponse.json((0,f.V6)())}catch(a){if(a instanceof f.LB)return e.NextResponse.json({error:a.message},{status:422});return e.NextResponse.json({error:String(a)},{status:500})}}async function j(a){try{let b=await a.json();return(0,f.IX)((0,g.kB)(b)),e.NextResponse.json({success:!0})}catch(a){if(a instanceof g.ad)return e.NextResponse.json({error:a.message},{status:400});if(a instanceof f.LB)return e.NextResponse.json({error:a.message},{status:409});return e.NextResponse.json({error:String(a)},{status:500})}}d()}catch(a){d(a)}})},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")},72528:(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}}}},73024:a=>{"use strict";a.exports=require("node:fs")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76205:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IX:()=>o,LB:()=>q,V6:()=>n});var e=c(73024),f=c(76760),g=c(75430),h=c(72528),i=c(20249),j=c(2345),k=a([g]);g=(k.then?(await k)():k)[0];let p=["input","output","cacheRead","cacheWrite"];function l(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function m(){return(0,f.join)((0,g.getAgentDir)(),"models.json")}class q extends Error{constructor(a){super(a),this.name="ModelsConfigReadError"}}function n(a=m()){let b;if(!(0,e.existsSync)(a))return{providers:{}};try{let c=(0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,"");if(!c.trim())return{providers:{}};b=JSON.parse((0,i.R)(c))}catch(b){throw new q(`Failed to read ${a}: ${b instanceof Error?b.message:String(b)}`)}if(!l(b))throw new q(`Failed to read ${a}: expected a JSON object`);return b}function o(a,b=m()){n(b);let c=(0,f.dirname)(b);(0,e.existsSync)(c)||(0,e.mkdirSync)(c,{recursive:!0});let d=function(a){let b=structuredClone(a);if(!l(b.providers))return b;for(let a of Object.values(b.providers))if(l(a)&&Array.isArray(a.models))for(let b of a.models){if(!l(b)||!("cost"in b))continue;let a=function(a){if(!l(a))return;let b=p.filter(b=>void 0!==a[b]);if(0!==b.length&&!b.some(b=>"number"!=typeof a[b]||!Number.isFinite(a[b])))return Object.fromEntries([...Object.entries(a),...p.map(b=>[b,a[b]??0])])}(b.cost);a?b.cost=a:delete b.cost}return b}(function(a){if(!l(a.providers))return a;let b=Object.fromEntries(Object.entries(a.providers).map(([a,b])=>{if(!l(b)||!Array.isArray(b.models))return[a,b];let c=b.models.filter(a=>!l(a)||"string"!=typeof a.id||a.id.trim().length>0);return[a,{...b,models:c}]}));return{...a,providers:b}}(a)),g=b;if((0,e.lstatSync)(b,{throwIfNoEntry:!1})?.isSymbolicLink())try{g=(0,e.realpathSync)(b)}catch{throw new q(`Failed to write ${b}: dangling symbolic link`)}(0,h.$)(g,JSON.stringify(d,null,2)),(0,j.kn)()}d()}catch(a){d(a)}})},76760:a=>{"use strict";a.exports=require("node:path")},78205:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}c.d(b,{ad:()=>e,kB:()=>f});class e extends Error{constructor(a){super(`Context window of ${a} must be a positive number of tokens`),this.name="ContextWindowError",this.model=a}}function f(a){let b=structuredClone(a);if(!d(b.providers))return b;for(let[a,c]of Object.entries(b.providers))if(d(c)&&d(c.modelOverrides))for(let[b,f]of Object.entries(c.modelOverrides)){if(!d(f)||!Object.hasOwn(f,"contextWindow"))continue;let c=function(a){if("string"==typeof a){let b=/^\d+$/.test(a.trim())?Number(a.trim()):0;return Number.isSafeInteger(b)&&b>0?b:void 0}return"number"==typeof a&&Number.isFinite(a)&&a>0?a:void 0}(f.contextWindow);if(void 0===c)throw new e(`${a}/${b}`);f.contextWindow=c}return b}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96956:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376],()=>b(b.s=11948));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules","../../../../../package.json","../../../../package.json","../../../chunks/2008.js","../../../chunks/3376.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models-config/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=8658,a.ids=[8658],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10524:()=>{},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19821:a=>{"use strict";a.exports=import("@earendil-works/pi-ai/compat")},21820:a=>{"use strict";a.exports=require("os")},27902:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},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")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},45004:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models-config/test/route",pathname:"/api/models-config/test",filename:"route",bundlePath:"app/api/models-config/test/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/test/route.ts",nextConfigOutput:"",userland:()=>c(53167),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/test/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},53167:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>n,dynamic:()=>o});var e=c(78593),f=c(29021),g=c(21820),h=c(33873),i=c(19821),j=c(75430),k=c(27902),l=a([i,j]);[i,j]=l.then?(await l)():l;let o="force-dynamic";function m(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function n(a){let b;if(!(0,k.EN)(a))return e.NextResponse.json({ok:!1,error:"Untrusted API request"},{status:403});if(!(0,k.E2)(a))return e.NextResponse.json({ok:!1,error:"Content-Type must be application/json"},{status:415});try{let c,d=await a.json(),k="string"==typeof d.providerName?d.providerName.trim():"";if(!k)return e.NextResponse.json({ok:!1,error:"providerName is required"},{status:400});if(!m(d.provider))return e.NextResponse.json({ok:!1,error:"provider is required"},{status:400});if(!m(d.model))return e.NextResponse.json({ok:!1,error:"model is required"},{status:400});let l="string"==typeof d.model.id?d.model.id.trim():"";if(!l)return e.NextResponse.json({ok:!1,error:"Model ID is required"},{status:400});b=(0,f.mkdtempSync)((0,h.join)((0,g.tmpdir)(),"pi-web-model-test-"));let n=(0,h.join)(b,"models.json");(0,f.writeFileSync)(n,JSON.stringify({providers:{[k]:{...d.provider,models:[{...d.model,id:l}]}}},null,2),"utf8");let o=await j.ModelRuntime.create({modelsPath:n}),p=o.getError();if(p)return e.NextResponse.json({ok:!1,error:p});let q=o.getModel(k,l);if(!q)return e.NextResponse.json({ok:!1,error:`Model not found: ${k}/${l}`});let r=await o.getAuth(q);if(!r?.auth.apiKey)return e.NextResponse.json({ok:!1,error:`No API key found for "${k}"`});let s=new AbortController,t=setTimeout(()=>s.abort(),2e4),u=Date.now();try{let a=await (0,i.completeSimple)(q,{messages:[{role:"user",content:"Reply with OK only.",timestamp:Date.now()}]},{apiKey:r.auth.apiKey,headers:r.auth.headers,maxTokens:16,timeoutMs:2e4,maxRetries:0,cacheRetention:"none",signal:s.signal,onResponse:a=>{c=a.status}}),b=Date.now()-u;if("error"===a.stopReason||"aborted"===a.stopReason)return e.NextResponse.json({ok:!1,error:a.errorMessage??(s.signal.aborted?"Test timed out":"Model returned an error"),latencyMs:b,status:c});return e.NextResponse.json({ok:!0,latencyMs:b,status:c,responseText:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("").slice(0,300)})}finally{clearTimeout(t)}}catch(a){return e.NextResponse.json({ok:!1,error:a instanceof Error?a.message:String(a)},{status:500})}finally{b&&(0,f.rmSync)(b,{recursive:!0,force:!0})}}d()}catch(a){d(a)}})},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")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},77030:a=>{"use strict";a.exports=require("node:net")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96956:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376],()=>b(b.s=45004));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../../node_modules","../../../../../../package.json","../../../../../package.json","../../../../chunks/2008.js","../../../../chunks/3376.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models-config/test/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/models-config/test/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=9362,a.ids=[9362],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19144:(a,b,c)=>{c.d(b,{a0:()=>g,cW:()=>h,Jh:()=>i});var d=c(79646);let e=require("net"),f=new Map([["win32","explorer.exe"],["darwin","open"],["linux","xdg-open"]]);function g(a){return f.has(a)}function h(a){if(!a)return!1;let b=a.trim().toLowerCase(),c=b.indexOf("]"),d=b.startsWith("[")&&-1!==c?b.slice(1,c):b.split(":")[0];return!!("localhost"===d||d.endsWith(".localhost"))||"::1"===d||4===(0,e.isIP)(d)&&d.startsWith("127.")}function i(a,b=process.platform){let c,e=(c=f.get(b))?{command:c,args:[a]}:null;return e?new Promise((a,b)=>{let c=(0,d.spawn)(e.command,e.args,{detached:!0,stdio:"ignore"});c.once("error",b),c.once("spawn",()=>{c.unref(),a()})}):Promise.reject(Error(`Unsupported platform: ${b}`))}},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")},37919:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>l,POST:()=>m,dynamic:()=>n,runtime:()=>o});var e=c(79748),f=c(33873),g=c(78593),h=c(91069),i=c(19144),j=a([h]);h=(j.then?(await j)():j)[0];let n="force-dynamic",o="nodejs";function k(a){return(0,i.cW)(a.headers.get("host"))?(0,i.a0)(process.platform)?{supported:!0,reason:null}:{supported:!1,reason:"unsupported-platform"}:{supported:!1,reason:"remote"}}async function l(a){let{supported:b,reason:c}=k(a);return g.NextResponse.json({supported:b,reason:c,platform:process.platform})}async function m(a){try{let{supported:b,reason:c}=k(a);if(!b)return g.NextResponse.json({error:c},{status:403});let d=await a.json();if("string"!=typeof d.cwd||!d.cwd.trim())return g.NextResponse.json({error:"cwd-required"},{status:400});let j=(0,f.resolve)(d.cwd),l=await (0,h.mc)();if(!(0,h.B7)(j,l))return g.NextResponse.json({error:"access-denied"},{status:403});if(!(await (0,e.stat)(j)).isDirectory())return g.NextResponse.json({error:"not-a-directory"},{status:400});return await (0,i.Jh)(j),g.NextResponse.json({opened:!0})}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},59640:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/open-in-explorer/route",pathname:"/api/open-in-explorer",filename:"route",bundlePath:"app/api/open-in-explorer/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/open-in-explorer/route.ts",nextConfigOutput:"",userland:()=>c(37919),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/open-in-explorer/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91069:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(23162),f=c(82738),g=c(14296),h=c(51202),i=a([g]);async function j(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376,129,6294],()=>b(b.s=59640));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules","../../../../../package.json","../../../../package.json","../../../chunks/129.js","../../../chunks/2008.js","../../../chunks/3376.js","../../../chunks/6294.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/open-in-explorer/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/open-in-explorer/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=2403,a.ids=[2403],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6562:(a,b,c)=>{c.d(b,{f:()=>g});var d=c(29021),e=c(33873);let f=require("process");function g(a,b,c={}){let h=function(a,b={}){let c=b.nodeDir??(0,e.dirname)(f.execPath),g=b.fileExists??d.existsSync;for(let b of[(0,e.join)(c,"node_modules","npm","bin",`${a}-cli.js`),(0,e.join)(c,"..","lib","node_modules","npm","bin",`${a}-cli.js`)])try{if(g(b))return b}catch{}return null}(a,c);return h?{command:f.execPath,args:[h,...b]}:{command:a,args:b}}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},23084:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>i,dynamic:()=>j});var e=c(78593),f=c(91069),g=c(47268),h=a([f,g]);[f,g]=h.then?(await h)():h;let j="force-dynamic";async function i(a){try{let b=await a.json(),c="string"==typeof b.cwd?b.cwd:"";if(!c)return e.NextResponse.json({error:"cwd required"},{status:400});let d=await (0,f.mc)();if(!(0,f.B7)(c,d))return e.NextResponse.json({error:"Access denied"},{status:403});let h="string"==typeof b.source?b.source:void 0,i="global"===b.scope||"project"===b.scope?b.scope:void 0;if(h&&!i||!h&&i)return e.NextResponse.json({error:"source and scope must be provided together"},{status:400});let j=await (0,g.Q)(c,h&&i?{source:h,scope:i}:void 0);if(h&&i&&0===j.length)return e.NextResponse.json({error:"Configured package not found"},{status:404});return e.NextResponse.json({updates:j})}catch(a){return e.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},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")},44132:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/plugins/check/route",pathname:"/api/plugins/check",filename:"route",bundlePath:"app/api/plugins/check/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/plugins/check/route.ts",nextConfigOutput:"",userland:()=>c(23084),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plugins/check/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47268:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>u,t:()=>p});var e=c(79646),f=c(29021),g=c(33873),h=c(28354),i=c(75430),j=c(29483),k=c(6562),l=c(43905),m=c(74768),n=a([i,m]);[i,m]=n.then?(await n)():n;let v=(0,h.promisify)(e.execFile);function o(a){return"project"===a?"project":"global"}function p(a){let b=(0,l.e)(a);return b?null===(0,j.valid)(b.version??""):!!(a.startsWith("git:")||/^(https?|ssh|git):\/\//i.test(a))&&!function(a){let b=a.startsWith("git:")?a.slice(4).trim():a.trim(),c=b.match(/^git@[^:]+:(.+)$/)?.[1];if(c)return c.includes("@");if(b.includes("://"))try{return new URL(b).pathname.replace(/^\/+/,"").includes("@")}catch{return!1}let d=b.indexOf("/");return d>=0&&b.slice(d+1).includes("@")}(a)}function q(a,b,c){let d=(0,l.e)(a.source);return{source:a.source,scope:o(a.scope),displayName:d?.name??a.source,type:d?"npm":"git",state:b,message:c}}async function r(a,b,c){let d="npm"===a?(0,k.f)("npm",b):{command:a,args:b},{stdout:e}=await v(d.command,d.args,{cwd:c.cwd,env:c.env?{...process.env,...c.env}:process.env,encoding:"utf8",timeout:1e4});return e}async function s(a,b,c,d){if(!a.installedPath||!(0,f.existsSync)(a.installedPath))return q(a,"error","Package is not installed.");let e=(0,l.e)(a.source);if(!e)return q(a,"unsupported");let[h="npm",...i]=c??[];if(!h)return q(a,"error","Invalid npmCommand.");let k=function(a){let b=JSON.parse((0,f.readFileSync)((0,g.join)(a,"package.json"),"utf8"));if("string"!=typeof b.version||!(0,j.valid)(b.version))throw Error("Installed package version is unavailable.");return b.version}(a.installedPath),m=await d(h,[...i,"view",e.spec,"version","--json"],{cwd:b}),n=e.version?(0,j.validRange)(e.version)??void 0:void 0,o=function(a,b){let c=JSON.parse(a.trim());if("string"==typeof c&&(0,j.valid)(c))return c;if(Array.isArray(c)){let a=c.filter(a=>"string"==typeof a&&null!==(0,j.valid)(a)),d=b?(0,j.maxSatisfying)(a,b):a.sort(j.rcompare)[0];if(d)return d}throw Error("Unexpected response from npm view.")}(m,n);return q(a,(0,j.gt)(o,k)?"update-available":"up-to-date")}async function t(a,b){if(!a.installedPath||!(0,f.existsSync)(a.installedPath))return q(a,"error","Package is not installed.");let c={cwd:a.installedPath,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}},d=(await b("git",["rev-parse","HEAD"],c)).trim(),e=await b("git",["rev-parse","--abbrev-ref","@{upstream}"],c).then(a=>a.trim()).catch(()=>""),g=e.startsWith("origin/")?`refs/heads/${e.slice(7)}`:"HEAD",h=await b("git",["ls-remote","origin",g],c),i=h.match(/^([0-9a-f]{40,64})\s+/m)?.[1];if(!i)throw Error(`Failed to determine remote ${g}.`);return q(a,d===i?"up-to-date":"update-available")}async function u(a,b,c={}){let d=c.packages,e=c.npmCommand;if(!d){let b=(0,i.getAgentDir)(),c=(0,m.Y1)(a,b),f=i.SettingsManager.create(a,b,{projectTrusted:c.trusted});d=new i.DefaultPackageManager({cwd:a,agentDir:b,settingsManager:f}).listConfiguredPackages(),e??=f.getNpmCommand()}let f=d.filter(a=>!b?.source||a.source===b.source&&o(a.scope)===b.scope),g=c.runCommand??r;return Promise.all(f.map(async b=>{if(!p(b.source))return q(b,"unsupported","Pinned or local packages cannot be checked automatically.");if(/^(1|true|yes)$/i.test(process.env.PI_OFFLINE??""))return q(b,"error","Update checks are disabled while PI_OFFLINE=1.");try{return(0,l.e)(b.source)?await s(b,a,e,g):await t(b,g)}catch(a){return q(b,"error",a instanceof Error?a.message:String(a))}}))}d()}catch(a){d(a)}})},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91069:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(23162),f=c(82738),g=c(14296),h=c(51202),i=a([g]);async function j(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376,129,9483,6294,4768],()=>b(b.s=44132));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../../node_modules","../../../../../../package.json","../../../../../package.json","../../../../chunks/129.js","../../../../chunks/2008.js","../../../../chunks/3376.js","../../../../chunks/4768.js","../../../../chunks/6294.js","../../../../chunks/9483.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/plugins/check/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/plugins/check/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=9742,a.ids=[9742],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2345:(a,b,c)=>{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){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6562:(a,b,c)=>{c.d(b,{f:()=>g});var d=c(29021),e=c(33873);let f=require("process");function g(a,b,c={}){let h=function(a,b={}){let c=b.nodeDir??(0,e.dirname)(f.execPath),g=b.fileExists??d.existsSync;for(let b of[(0,e.join)(c,"node_modules","npm","bin",`${a}-cli.js`),(0,e.join)(c,"..","lib","node_modules","npm","bin",`${a}-cli.js`)])try{if(g(b))return b}catch{}return null}(a,c);return h?{command:f.execPath,args:[h,...b]}:{command:a,args:b}}},7024:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{S9:()=>l,TH:()=>k,je:()=>m,vd:()=>i});var e=c(2345),f=c(85078),g=a([f]);function h(){return globalThis.__piWebProviderModelCatalog??=new Map,globalThis.__piWebProviderModelCatalog}async function i(a){let b=new Map;for(let c of(await a.getAvailable()))b.set(c.provider,[...b.get(c.provider)??[],c]);let c=[...b.keys()].some(a=>!h().has(a));for(let[a,c]of b)h().set(a,c);c&&(0,e.kn)()}function j(a){let b=new Set(a.getModels().map(a=>a.provider));return[...h()].flatMap(([a,c])=>b.has(a)?[]:c)}function k(a){return new Proxy(a,{get(a,b,c){if("getAvailable"===b)return async(...b)=>{let[c]=b,d=j(a).filter(a=>!c||a.provider===c);return[...await a.getAvailable(...b),...d]};let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}})}function l(a,b,c){return j(a).find(a=>a.provider===b&&a.id===c)}async function m(a,b,c){let d;if(0===j(a).length)return;try{d=(0,f.IR)(await (0,f.py)(k(a),b),c)}catch{return}let e=d.model&&l(a,d.model.provider,d.model.id);return e?{model:e,...d.thinkingLevel?{thinkingLevelPin:d.thinkingLevel}:{}}:void 0}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27902:(a,b,c)=>{c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},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")},41334:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{OH:()=>k,O_:()=>j,nx:()=>l});var e=c(75430),f=c(77598),g=c(7024),h=c(23258),i=a([e,g]);async function j(){let a=(0,e.getAgentDir)(),b=await (0,e.createAgentSessionServices)({cwd:a,agentDir:a});return await (0,g.vd)(b.modelRuntime),b.modelRuntime}[e,g]=i.then?(await i)():i;let m=Symbol.for("pi-web:shared-model-runtime-refresh");async function k(){var a;let b,c=(0,e.getAgentDir)(),d=globalThis.__piWebSharedModelRuntime;(!d||d.agentDir!==c||d.expiresAt<=Date.now())&&((b={agentDir:a=c,runtime:j(),queueKey:`${a}\0${(0,f.randomUUID)()}`,expiresAt:1/0}).runtime.then(()=>{b.expiresAt=Date.now()+6e5},()=>{globalThis.__piWebSharedModelRuntime===b&&(globalThis.__piWebSharedModelRuntime=void 0)}),d=b,globalThis.__piWebSharedModelRuntime=d);let i=await d.runtime;return(0,h.T)(m,d.queueKey,async()=>(await i.refresh({allowNetwork:!1}),await (0,g.vd)(i),i))}function l(){globalThis.__piWebSharedModelRuntime=void 0}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47268:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>u,t:()=>p});var e=c(79646),f=c(29021),g=c(33873),h=c(28354),i=c(75430),j=c(29483),k=c(6562),l=c(43905),m=c(74768),n=a([i,m]);[i,m]=n.then?(await n)():n;let v=(0,h.promisify)(e.execFile);function o(a){return"project"===a?"project":"global"}function p(a){let b=(0,l.e)(a);return b?null===(0,j.valid)(b.version??""):!!(a.startsWith("git:")||/^(https?|ssh|git):\/\//i.test(a))&&!function(a){let b=a.startsWith("git:")?a.slice(4).trim():a.trim(),c=b.match(/^git@[^:]+:(.+)$/)?.[1];if(c)return c.includes("@");if(b.includes("://"))try{return new URL(b).pathname.replace(/^\/+/,"").includes("@")}catch{return!1}let d=b.indexOf("/");return d>=0&&b.slice(d+1).includes("@")}(a)}function q(a,b,c){let d=(0,l.e)(a.source);return{source:a.source,scope:o(a.scope),displayName:d?.name??a.source,type:d?"npm":"git",state:b,message:c}}async function r(a,b,c){let d="npm"===a?(0,k.f)("npm",b):{command:a,args:b},{stdout:e}=await v(d.command,d.args,{cwd:c.cwd,env:c.env?{...process.env,...c.env}:process.env,encoding:"utf8",timeout:1e4});return e}async function s(a,b,c,d){if(!a.installedPath||!(0,f.existsSync)(a.installedPath))return q(a,"error","Package is not installed.");let e=(0,l.e)(a.source);if(!e)return q(a,"unsupported");let[h="npm",...i]=c??[];if(!h)return q(a,"error","Invalid npmCommand.");let k=function(a){let b=JSON.parse((0,f.readFileSync)((0,g.join)(a,"package.json"),"utf8"));if("string"!=typeof b.version||!(0,j.valid)(b.version))throw Error("Installed package version is unavailable.");return b.version}(a.installedPath),m=await d(h,[...i,"view",e.spec,"version","--json"],{cwd:b}),n=e.version?(0,j.validRange)(e.version)??void 0:void 0,o=function(a,b){let c=JSON.parse(a.trim());if("string"==typeof c&&(0,j.valid)(c))return c;if(Array.isArray(c)){let a=c.filter(a=>"string"==typeof a&&null!==(0,j.valid)(a)),d=b?(0,j.maxSatisfying)(a,b):a.sort(j.rcompare)[0];if(d)return d}throw Error("Unexpected response from npm view.")}(m,n);return q(a,(0,j.gt)(o,k)?"update-available":"up-to-date")}async function t(a,b){if(!a.installedPath||!(0,f.existsSync)(a.installedPath))return q(a,"error","Package is not installed.");let c={cwd:a.installedPath,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}},d=(await b("git",["rev-parse","HEAD"],c)).trim(),e=await b("git",["rev-parse","--abbrev-ref","@{upstream}"],c).then(a=>a.trim()).catch(()=>""),g=e.startsWith("origin/")?`refs/heads/${e.slice(7)}`:"HEAD",h=await b("git",["ls-remote","origin",g],c),i=h.match(/^([0-9a-f]{40,64})\s+/m)?.[1];if(!i)throw Error(`Failed to determine remote ${g}.`);return q(a,d===i?"up-to-date":"update-available")}async function u(a,b,c={}){let d=c.packages,e=c.npmCommand;if(!d){let b=(0,i.getAgentDir)(),c=(0,m.Y1)(a,b),f=i.SettingsManager.create(a,b,{projectTrusted:c.trusted});d=new i.DefaultPackageManager({cwd:a,agentDir:b,settingsManager:f}).listConfiguredPackages(),e??=f.getNpmCommand()}let f=d.filter(a=>!b?.source||a.source===b.source&&o(a.scope)===b.scope),g=c.runCommand??r;return Promise.all(f.map(async b=>{if(!p(b.source))return q(b,"unsupported","Pinned or local packages cannot be checked automatically.");if(/^(1|true|yes)$/i.test(process.env.PI_OFFLINE??""))return q(b,"error","Update checks are disabled while PI_OFFLINE=1.");try{return(0,l.e)(b.source)?await s(b,a,e,g):await t(b,g)}catch(a){return q(b,"error",a instanceof Error?a.message:String(a))}}))}d()}catch(a){d(a)}})},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63267:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>z,POST:()=>A,dynamic:()=>B});var e=c(78593),f=c(29021),g=c(76760),h=c(75430),i=c(91069),j=c(27902),k=c(74768),l=c(47268),m=c(41334),n=a([h,i,k,l,m]);[h,i,k,l,m]=n.then?(await n)():n;let B="force-dynamic";function o(){return{extensions:0,skills:0,prompts:0,themes:0}}function p(a){return"project"===a?"project":"global"}function q(a,b){return`${b}\0${a}`}function r(a){return"string"==typeof a?a:a.source}function s(a){return"string"!=typeof a&&Array.isArray(a.extensions)&&0===a.extensions.length&&Array.isArray(a.skills)&&0===a.skills.length&&Array.isArray(a.prompts)&&0===a.prompts.length&&Array.isArray(a.themes)&&0===a.themes.length}function t(a,b,c,d,{keepEntrySettings:e=!1}={}){let f="project"===c?a.getProjectSettings().packages??[]:a.getGlobalSettings().packages??[],g=new Set(b),h=new Set,i=!1,j=f.map(a=>{let c=r(a);if(!b.includes(c)||(g.delete(c),s(a)===d))return a;if(d&&e&&"object"==typeof a&&!s(a))return h.add(c),a;if(i=!0,d)return{..."string"==typeof a?{source:a}:a,extensions:[],skills:[],prompts:[],themes:[]};if("string"==typeof a)return c;let f={...a};return delete f.extensions,delete f.skills,delete f.prompts,delete f.themes,Object.keys(f).length>1?f:c});return i&&("project"===c?a.setProjectPackages(j):a.setPackages(j)),{missing:g,kept:h}}async function u(a,b,c,d){let e=new Map;for(let f of["global","project"]){let g=b.filter(a=>a.scope===f).map(a=>a.source);if(0===g.length)continue;if("project"===f&&!d){for(let a of g)e.set(q(a,f),"Project resources must be trusted before modifying project plugins");continue}let{missing:h,kept:i}=t(a,g,f,c,{keepEntrySettings:!0});for(let a of h)e.set(q(a,f),"Package is not configured");for(let a of i)e.set(q(a,f),"Has resource filters, which disabling would remove; use the package's own switch")}await a.flush();let f=new Map;for(let{scope:b,path:c,error:d}of a.drainErrors())f.has(b)||f.set(b,c?`${c}: ${d.message}`:d.message);return b.map(a=>{let b=f.get(a.scope)??e.get(q(a.source,a.scope));return b?{...a,error:b}:{...a}})}function v(a,b){var c,d;let e,f;return{kind:b,name:(c=a.path,d=b,e=(0,g.basename)(c),f=(0,g.extname)(e),"skill"===d&&"skill.md"===e.toLowerCase()?(0,g.basename)((0,g.dirname)(c)):("extension"===d||"theme"===d||"prompt"===d)&&f?"extension"===d&&/^index\.(ts|js)$/.test(e)?(0,g.basename)((0,g.dirname)(c)):e.slice(0,-f.length):e),path:a.path,relativePath:function(a){let b=a.metadata.baseDir;if(!b)return a.path;let c=(0,g.relative)(b,a.path);return c&&!c.startsWith("..")?c.split(g.sep).join("/"):a.path}(a)}}function w(a,b,c,d,e){if(!a.enabled||"package"!==a.metadata.origin)return;let f=a.metadata.source,g=p(a.metadata.scope),h=q(f,g),i=c.get(h)??o();i[b]+=1,e[b]+=1,c.set(h,i);let j=d.get(h)??[];j.push(v(a,"extensions"===b?"extension":"skills"===b?"skill":"prompts"===b?"prompt":"theme")),d.set(h,j)}async function x(a){let b=(0,h.getAgentDir)(),c=(0,k.Y1)(a,b),d=h.SettingsManager.create(a,b,{projectTrusted:c.trusted}),e=new h.DefaultPackageManager({cwd:a,agentDir:b,settingsManager:d}),i=[],j=new Map,m=new Map,n=[],t=o(),u=function(a){let b=new Map;for(let c of a.getGlobalSettings().packages??[])b.set(q(r(c),"global"),s(c));for(let c of a.getProjectSettings().packages??[])b.set(q(r(c),"project"),s(c));return b}(d);try{let a=await e.resolve(async a=>(i.push({type:"warning",source:a,message:"Package is configured but not installed yet."}),"skip"));({countsByPackage:j,resourcesByPackage:m,standaloneExtensions:n,totals:t}=function(a){let b=new Map,c=new Map,d=o();for(let e of a.extensions)w(e,"extensions",b,c,d);for(let e of a.skills)w(e,"skills",b,c,d);for(let e of a.prompts)w(e,"prompts",b,c,d);for(let e of a.themes)w(e,"themes",b,c,d);let e=a.extensions.filter(a=>"top-level"===a.metadata.origin).map(a=>({...v(a,"extension"),kind:"extension",scope:p(a.metadata.scope),enabled:a.enabled}));return d.extensions+=e.filter(a=>a.enabled).length,{countsByPackage:b,resourcesByPackage:c,standaloneExtensions:e,totals:d}}(a))}catch(a){i.push({type:"error",message:a instanceof Error?a.message:String(a)})}return{packages:e.listConfiguredPackages().map(a=>{let b=p(a.scope),c=q(a.source,b),d=u.get(c)??!1,e=j.get(c)??o(),h=m.get(c)??[],k=e.extensions+e.skills+e.prompts+e.themes,n=function(a){if(!a)return{};try{let b=(0,f.statSync)(a).isDirectory()?(0,g.join)(a,"package.json"):(0,g.join)((0,g.dirname)(a),"package.json");if(!(0,f.existsSync)(b))return{};let c=JSON.parse((0,f.readFileSync)(b,"utf8"));return{packageName:"string"==typeof c.name?c.name:void 0,version:"string"==typeof c.version?c.version:void 0,description:"string"==typeof c.description?c.description:void 0}}catch{return{}}}(a.installedPath);return a.installedPath||i.push({type:"warning",source:a.source,message:"Configured package path was not found."}),{source:a.source,scope:b,canCheckForUpdates:(0,l.t)(a.source),filtered:a.filtered,disabled:d,installedPath:a.installedPath,packageName:n.packageName,version:n.version,configuredVersion:function(a){let b=a.startsWith("npm:")?a.slice(4):void 0;if(b){let a=b.lastIndexOf("@"),c=b.startsWith("@")?b.indexOf("/",1):0;return a>c&&b.slice(a+1)||void 0}if(a.startsWith("git:")||/^[a-z]+:\/\//.test(a)){let b=a.lastIndexOf("@"),c=a.lastIndexOf("/"),d=a.lastIndexOf(":");if(b>Math.max(c,d))return a.slice(b+1)||void 0}}(a.source),description:n.description,counts:e,resources:h,status:d?"disabled":k>0?"loaded":a.installedPath?"installed":"missing"}}),standaloneExtensions:n,totals:t,diagnostics:i,projectResourcesLoaded:c.trusted}}function y(a){return"project"===a?"project":"global"}async function z(a){let{searchParams:b}=new URL(a.url),c=b.get("cwd");if(!c)return e.NextResponse.json({error:"cwd required"},{status:400});try{let a=await (0,i.mc)();if(!(0,i.B7)(c,a))return e.NextResponse.json({error:"Access denied"},{status:403});return e.NextResponse.json(await x(c))}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function A(a){if(!(0,j.EN)(a))return e.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,j.E2)(a))return e.NextResponse.json({error:"Content-Type must be application/json"},{status:415});try{let b=await a.json();if(!b.cwd)return e.NextResponse.json({error:"cwd required"},{status:400});if(!b.action)return e.NextResponse.json({error:"action required"},{status:400});let c=await (0,i.mc)();if(!(0,i.B7)(b.cwd,c))return e.NextResponse.json({error:"Access denied"},{status:403});let d=(0,h.getAgentDir)(),f=(0,k.Y1)(b.cwd,d),g=h.SettingsManager.create(b.cwd,d,{projectTrusted:f.trusted});if(void 0!==b.packages){if("enable"!==b.action&&"disable"!==b.action)return e.NextResponse.json({error:"packages is only supported by enable and disable"},{status:400});let a=function(a){if(!Array.isArray(a))return null;let b=new Map;for(let c of a){let a="string"==typeof c?.source?c.source.trim():"";if(!a)return null;let d=y(c.scope);b.set(q(a,d),{source:a,scope:d})}return[...b.values()]}(b.packages);if(!a)return e.NextResponse.json({error:"packages must be a list of { source, scope }"},{status:400});let c=await u(g,a,"disable"===b.action,f.trusted);return e.NextResponse.json({...await x(b.cwd),results:c})}let j=y(b.scope);if("project"===j&&!f.trusted)return e.NextResponse.json({error:"Project resources must be trusted before modifying project plugins"},{status:403});let l=new h.DefaultPackageManager({cwd:b.cwd,agentDir:d,settingsManager:g}),m=b.source?.trim(),n="project"===j;if("install"===b.action){if(!m)return e.NextResponse.json({error:"source required"},{status:400});await l.installAndPersist(m,{local:n})}else if("remove"===b.action){if(!m)return e.NextResponse.json({error:"source required"},{status:400});await l.removeAndPersist(m,{local:n})}else if("update"===b.action){if(!m&&!f.trusted&&l.listConfiguredPackages().some(a=>"project"===a.scope))return e.NextResponse.json({error:"Project resources must be trusted before updating project plugins"},{status:403});await l.update(m)}else if("disable"===b.action){if(!m)return e.NextResponse.json({error:"source required"},{status:400});t(g,[m],j,!0),await g.flush()}else{if("enable"!==b.action)return e.NextResponse.json({error:`Unsupported action: ${b.action}`},{status:400});if(!m)return e.NextResponse.json({error:"source required"},{status:400});t(g,[m],j,!1),await g.flush()}return e.NextResponse.json(await x(b.cwd))}catch(a){return e.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}finally{(0,m.nx)()}}d()}catch(a){d(a)}})},73024:a=>{a.exports=require("node:fs")},73992:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/plugins/route",pathname:"/api/plugins",filename:"route",bundlePath:"app/api/plugins/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/plugins/route.ts",nextConfigOutput:"",userland:()=>c(63267),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plugins/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},85078:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>j,uw:()=>k});var e=c(75430),f=a([e]);e=(f.then?(await f)():f)[0];let m=new Set(["off","minimal","low","medium","high","xhigh","max"]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}function h(a){return a.includes("*")||a.includes("?")||a.includes("[")}function i(a,b){let c=a.toLowerCase(),d=b.filter(a=>`${a.provider}/${a.id}`.toLowerCase()===c);return d.length>0?d:b.filter(a=>a.id.toLowerCase()===c)}async function j(a,b){let c=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===c.length)return{visible:await a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let d=await a.getAvailable();for(let a of c){if(h(a))continue;let b=i(a,d);if(0===b.length){let c=a.lastIndexOf(":"),e=c>=0?a.slice(c+1):"";m.has(e)&&(b=i(a.slice(0,c),d))}if(b.length>1){let c=b.map(a=>`${a.provider}/${a.id}`).sort().join(", ");throw Error(`Ambiguous enabledModels entry "${a}" matches multiple models: ${c}. Use provider/modelId.`)}}let{scopedModels:f,diagnostics:g}=await (0,e.resolveModelScopeWithDiagnostics)(c,{getAvailable:async()=>d}),j=g.filter(a=>"no-match"!==a.code||0===f.length||!function(a){if(!h(a))return!1;let b=a.lastIndexOf(":");return b<0||m.has(a.slice(b+1))}(a.pattern)).map(a=>a.message);if(0===f.length)return{visible:d,scopedModels:[],thinkingLevelPins:{},warnings:j};let k={};for(let a of f)a.thinkingLevel&&(k[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:k,warnings:j}}function k(a){return a.scopedModels.length>0?[...a.visible]:[...a.visible].sort((a,b)=>a.provider.localeCompare(b.provider))}function l(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,i=e?void 0:h??a.scopedModels[0],j=e||i||!d?void 0:a.visible.find(a=>g(a,d)),k=e??i?.model??j,m=f??i,n=b.thinkingLevel??m?.thinkingLevel;return{...k?{model:k}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91069:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(23162),f=c(82738),g=c(14296),h=c(51202),i=a([g]);async function j(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376,129,9483,6294,4768],()=>b(b.s=73992));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules","../../../../../package.json","../../../../package.json","../../../chunks/129.js","../../../chunks/2008.js","../../../chunks/3376.js","../../../chunks/4768.js","../../../chunks/6294.js","../../../chunks/9483.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/plugins/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/plugins/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=1960,a.ids=[1960],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},15696:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/project-trust/route",pathname:"/api/project-trust",filename:"route",bundlePath:"app/api/project-trust/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/project-trust/route.ts",nextConfigOutput:"",userland:()=>c(89357),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/project-trust/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51181:a=>{a.exports=require("web-push")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89357:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>r,POST:()=>s,dynamic:()=>t});var e=c(78593),f=c(75430),g=c(57634),h=c(54863),i=c(2345),j=c(74768),k=c(27902),l=c(38383),m=a([f,g,h,j,l]);[f,g,h,j,l]=m.then?(await m)():m;let t="force-dynamic";function n(a){return a instanceof Error?a.message:String(a)}function o(a,b,c){return e.NextResponse.json({error:c,reason:b},{status:a})}async function p(a){let b=await (0,h.ks)(a);return(0,h.X2)(b)?{response:e.NextResponse.json(b.body,{status:b.status})}:b}async function q(a,b,c){try{let{file:d,servers:e}=await (0,g.Y6)({agentDir:a,cwd:b,allowedRoots:c});return{mcpFile:d,mcpServers:e}}catch(a){return{mcpServers:[],mcpError:n(a)}}}async function r(a){let b=await p(new URL(a.url).searchParams.get("cwd"));if("response"in b)return b.response;let c=(0,f.getAgentDir)(),d=await q(c,b.cwd,b.allowedRoots);try{return e.NextResponse.json({...(0,j.Y1)(b.cwd,c),...d})}catch(a){return e.NextResponse.json({error:n(a),reason:"trust-unreadable",...d},{status:500})}}async function s(a){if(!(0,k.EN)(a))return o(403,"request-denied","Untrusted API request");if(!(0,k.E2)(a))return o(415,"content-type","Content-Type must be application/json");try{let b=await a.json().catch(()=>null),c=await p(b?.cwd);if("response"in c)return c.response;let d=(0,f.getAgentDir)();if(!(0,j.Y1)(c.cwd,d).requiresTrust)return o(409,"trust-not-required","This project has no resources that require trust");if((0,l._I)(c.cwd))return o(409,"session-busy","Wait for the active session to finish before trusting this project");let g=(0,j.er)(c.cwd,d);return(0,i.kn)(),await (0,l.oA)(c.cwd),e.NextResponse.json(g)}catch(a){return o(500,"internal",n(a))}}d()}catch(a){d(a)}})},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376,129,1233,6294,4768,5855,3010,5545,8383,2128,4863],()=>b(b.s=15696));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../node_modules","../../../../../package.json","../../../../package.json","../../../chunks/1233.js","../../../chunks/129.js","../../../chunks/2008.js","../../../chunks/2128.js","../../../chunks/3010.js","../../../chunks/3376.js","../../../chunks/4768.js","../../../chunks/4863.js","../../../chunks/5545.js","../../../chunks/5855.js","../../../chunks/6294.js","../../../chunks/8383.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/project-trust/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/project-trust/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ (()=>{var a={};a.id=5322,a.ids=[5322],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10524:()=>{},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12855:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{H5:()=>h,eX:()=>f.e});var e=c(75430),f=c(95592),g=a([e]);e=(g.then?(await g)():g)[0];let v={"openai-codex":"https://chatgpt.com/backend-api/wham/usage",deepseek:"https://api.deepseek.com/user/balance",openrouter:"https://openrouter.ai/api/v1/key",moonshotai:"https://api.moonshot.ai/v1/users/me/balance","moonshotai-cn":"https://api.moonshot.cn/v1/users/me/balance",minimax:"https://api.minimax.io","minimax-cn":"https://api.minimaxi.com","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/credits","opencode-go":"https://opencode.ai/zen/go/v1/usage","kimi-coding":"https://api.kimi.com/coding/v1/usages"},w={"openai-codex":"OpenAI Codex",deepseek:"DeepSeek",openrouter:"OpenRouter",moonshotai:"Moonshot AI","moonshotai-cn":"Moonshot AI CN",minimax:"MiniMax","minimax-cn":"MiniMax CN","vercel-ai-gateway":"Vercel AI Gateway","opencode-go":"OpenCode Go","kimi-coding":"Kimi For Coding"},x={moonshotai:"USD","moonshotai-cn":"CNY",minimax:"USD","minimax-cn":"CNY"};async function h(a){let b,c=await e.ModelRuntime.create({refreshOnCreate:!1}),d=c.getProvider(a),f=d?.baseUrl??d?.getModels()[0]?.baseUrl;if(!d||!j(a,f))return{providerId:a,status:"query-failed",message:"The provider usage query failed."};try{b=await c.getAuth(a)}catch{return{providerId:a,status:"auth-unavailable",message:"Provider authentication is unavailable."}}if(!b)return{providerId:a,status:"auth-unavailable",message:"Connect this provider before querying usage."};try{let c=await i(a,b.auth),d=Date.now();return{providerId:a,status:"ready",report:function(a,b,c){switch(a){case"openai-codex":return function(a,b){let c=[],d=(a,b,d)=>{for(let[e,f]of[["primary",a.primary_window],["secondary",a.secondary_window]]){let a=n(f),g=p(a?.used_percent);if(void 0===g)continue;let h=p(a?.limit_window_seconds);c.push({id:`${d}:${e}`,label:l(h),..."codex"===d?{}:{groupLabel:b},used:u(g),remaining:100-u(g),limit:100,unit:"percent",...h&&h>0?{windowMinutes:Math.ceil(h/60)}:{},...void 0!==p(a?.reset_at)?{resetsAt:p(a?.reset_at)}:{}})}},e=n(a.rate_limit);e&&d(e,"Codex","codex"),(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).forEach((a,b)=>{let c=n(a),e=n(c?.rate_limit);e&&d(e,o(c?.limit_name)??`Limit ${b+1}`,o(c?.metered_feature)??`additional-${b}`)});let f=[],g=n(a.credits);if(g?.unlimited===!0?f.push({id:"credits",label:"Credits",value:"Unlimited"}):void 0!==p(g?.balance)&&f.push({id:"credits",label:"Credits",value:p(g?.balance),unit:"count"}),!c.length&&!f.length)throw Error("Codex returned no usage data.");return{providerId:"openai-codex",providerName:w["openai-codex"],capturedAt:b,buckets:c,metrics:f}}(b,c);case"deepseek":return function(a,b){let c=[{id:"availability",label:"API calls",value:!0===a.is_available?"Available":"Unavailable"}],d=Array.isArray(a.balance_infos)?a.balance_infos:[];for(let a of d){let b=n(a),d=b?.currency==="CNY"||b?.currency==="USD"?b.currency:void 0;if(d)for(let[a,e,f]of[["total","Total balance","total_balance"],["granted","Granted balance","granted_balance"],["topped-up","Topped-up balance","topped_up_balance"]]){let g=s(b?.[f]);void 0!==g&&c.push({id:`${d.toLowerCase()}-${a}`,label:e,value:g,unit:"currency",currency:d})}}if(0===d.length)throw Error("DeepSeek returned no balance data.");return{providerId:"deepseek",providerName:w.deepseek,capturedAt:b,buckets:[],metrics:c}}(b,c);case"openrouter":return function(a,b){let c=n(a.data);if(!c)throw Error("OpenRouter returned no key data.");let d=[],e=q(c.limit),f=q(c.limit_remaining);void 0!==e&&d.push({id:"key-limit",label:"Key limit",limit:e,...void 0!==f?{remaining:f,used:Math.max(0,e-f)}:{},unit:"currency",currency:"USD",...o(c.limit_reset)?{period:o(c.limit_reset)}:{}});let g=[];for(let[a,b,d]of[["daily","Usage today","usage_daily"],["weekly","Usage this week","usage_weekly"],["monthly","Usage this month","usage_monthly"],["total","All-time usage","usage"]]){let e=q(c[d]);void 0!==e&&g.push({id:a,label:b,value:e,unit:"currency",currency:"USD"})}if(!d.length&&!g.length)throw Error("OpenRouter returned no usage data.");return{providerId:"openrouter",providerName:w.openrouter,capturedAt:b,buckets:d,metrics:g}}(b,c);case"vercel-ai-gateway":var d=b,e=c;let f=s(d.balance),g=s(d.total_used);if(void 0===f&&void 0===g)throw Error("Vercel returned no credit data.");return{providerId:"vercel-ai-gateway",providerName:w["vercel-ai-gateway"],capturedAt:e,buckets:[],metrics:[...void 0!==f?[{id:"balance",label:"Credit balance",value:f,unit:"currency",currency:"USD"}]:[],...void 0!==g?[{id:"spent",label:"Lifetime spend",value:g,unit:"currency",currency:"USD"}]:[]]};case"moonshotai":case"moonshotai-cn":var h=a,i=b,j=c;let m=n(i.data);if(0!==i.code||!0!==i.status||!m)throw Error("Moonshot returned an unsuccessful response.");let v=[["available","Available balance",m.available_balance],["voucher","Voucher balance",m.voucher_balance],["cash","Cash balance",m.cash_balance]].flatMap(([a,b,c])=>{let d=p(c);return void 0===d?[]:[{id:String(a),label:String(b),value:String(d),unit:"currency",currency:x[h]}]});if(!v.length)throw Error("Moonshot returned no balance data.");return{providerId:h,providerName:w[h],capturedAt:j,buckets:[],metrics:v};case"opencode-go":return function(a,b){let c=n(a.usage)??a,d={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"},e=[];for(let[a,b]of Object.entries(c)){let c=n(b);if(!c)continue;let f=q(c.percent??c.usagePercent??c.usage_percent);if(void 0===f)continue;let g=t(c.resetsAt??c.resetAt??c.resets_at??c.reset_at);e.push({id:a,label:d[a]??a,used:u(f),remaining:100-u(f),limit:100,unit:"percent",...void 0!==g?{resetsAt:g}:{}})}if(!e.length)throw Error("OpenCode Go returned no usage data.");return{providerId:"opencode-go",providerName:w["opencode-go"],capturedAt:b,buckets:e,metrics:[]}}(b,c);case"kimi-coding":return function(a,b){let c=[],d=(a,b,d,e)=>{let f=r(d?.limit),g=r(d?.used),h=r(d?.remaining)??(void 0!==f&&void 0!==g?Math.max(0,f-g):void 0);if(void 0===f||void 0===h)return;let i=t(d?.resetTime);c.push({id:a,label:b,used:g??Math.max(0,f-h),remaining:h,limit:f,unit:"count",...e?{windowMinutes:Math.ceil(e/60)}:{},...void 0!==i?{resetsAt:i}:{}})};if(d("usage","Overall",n(a.usage)),(Array.isArray(a.limits)?a.limits:[]).forEach((a,b)=>{let c=n(a),e=n(c?.window),f=q(e?.duration),g=y.get(o(e?.timeUnit)??""),h=void 0!==f&&g?f*g:void 0;d(`limit-${b}`,l(h),n(c?.detail),h)}),!c.length)throw Error("Kimi returned no usage data.");let e=[],f=r(n(a.parallel)?.limit);void 0!==f&&e.push({id:"parallel",label:"Parallel requests",value:f,unit:"count"});let g=o(n(n(a.user)?.membership)?.level);return g&&e.push({id:"membership",label:"Membership",value:g.replace(/^LEVEL_/u,"")}),{providerId:"kimi-coding",providerName:w["kimi-coding"],capturedAt:b,buckets:c,metrics:e}}(b,c);case"minimax":case"minimax-cn":return function(a,b,c){let d=n(b.base_resp);if(d&&0!==d.status_code)throw Error("MiniMax returned an unsuccessful response.");if(Array.isArray(b.model_remains)){let d=[];for(let[a,c]of b.model_remains.entries()){let b=n(c);if(!b)continue;let e=o(b.model_name)??`Quota ${a+1}`;k(d,b,e,"interval","current_interval_remaining_percent","current_interval_usage_count","current_interval_total_count","end_time","start_time"),k(d,b,e,"weekly","current_weekly_remaining_percent","current_weekly_usage_count","current_weekly_total_count","weekly_end_time","weekly_start_time")}if(!d.length)throw Error("MiniMax returned no quota data.");return{providerId:a,providerName:w[a],capturedAt:c,buckets:d,metrics:[]}}let e=[["available","Available balance",b.available_amount],["cash","Cash balance",b.cash_balance],["voucher","Voucher balance",b.voucher_balance],["credit","Credit balance",b.credit_balance]].flatMap(([b,c,d])=>{let e=s(d);return void 0===e?[]:[{id:String(b),label:String(c),value:e,unit:"currency",currency:x[a]}]});if(!e.length)throw Error("MiniMax returned no balance data.");return{providerId:a,providerName:w[a],capturedAt:c,buckets:[],metrics:e}}(a,b,c)}}(a,c,d)}}catch{return{providerId:a,status:"query-failed",message:"The provider usage query failed."}}}async function i(a,b){if(b.baseUrl&&!j(a,b.baseUrl))throw Error("A custom provider origin cannot be used for official usage queries.");let c=new Headers;for(let[a,d]of Object.entries(b.headers??{}))"string"==typeof d&&c.set(a,d);!c.has("authorization")&&b.apiKey&&c.set("Authorization",`Bearer ${b.apiKey}`);let d=v[a];if("minimax"===a||"minimax-cn"===a){var e;let a,f=(e=c.get("authorization"),a=e?.match(/^Bearer\s+(.+)$/i),a?.[1]??b.apiKey);d+=f?.startsWith("sk-api-")?"/account/query_balance":"/v1/token_plan/remains"}let f=await fetch(d,{headers:c,redirect:"error",signal:AbortSignal.timeout(15e3)}),g=await f.text();if(g.length>65536)throw Error("Usage response was too large.");if(!f.ok)throw Error(`Usage endpoint returned ${f.status}.`);let h=JSON.parse(g);if(!m(h))throw Error("Usage response was not an object.");return h}function j(a,b){if(!b)return!1;try{return new URL(b).origin===new URL(v[a]).origin}catch{return!1}}function k(a,b,c,d,e,f,g,h,i){let j=p(b[`${"interval"===d?"current_interval":"current_weekly"}_status`]),k=p(b[h]),l=p(b[i]),m=q(b[e]);if(3===j)return void a.push({id:`${c}:${d}`,label:"weekly"===d?"Weekly":"Rolling",groupLabel:c,remaining:100,unit:"percent",period:"Unlimited"});let n=r(b[g]),o=r(b[f]);if(void 0===n&&void 0===m)return;let s=void 0!==k&&void 0!==l?Math.max(1,Math.round((k-l)/6e4)):void 0,t=void 0!==k?Math.floor(k/1e3):void 0;if(n&&void 0!==o){let b=o;if(void 0!==m){let a=o/n*100,c=(n-o)/n*100;Math.abs(c-m)<Math.abs(a-m)&&(b=n-o)}a.push({id:`${c}:${d}`,label:"weekly"===d?"Weekly":"Rolling",groupLabel:c,used:n-b,remaining:b,limit:n,unit:"count",...s?{windowMinutes:s}:{},...t?{resetsAt:t}:{}});return}a.push({id:`${c}:${d}`,label:"weekly"===d?"Weekly":"Rolling",groupLabel:c,used:100-u(m),remaining:u(m),limit:100,unit:"percent",...s?{windowMinutes:s}:{},...t?{resetsAt:t}:{}})}let y=new Map([["TIME_UNIT_SECOND",1],["TIME_UNIT_MINUTE",60],["TIME_UNIT_HOUR",3600],["TIME_UNIT_DAY",86400]]);function l(a){if(!a||a<=0)return"Limit";let b=Math.ceil(a/60);return b>=10080?"Weekly":b>=60?`${Math.round(b/60)}h`:`${b}m`}function m(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function n(a){return m(a)?a:void 0}function o(a){if("string"==typeof a)return a.replace(/[\u0000-\u001f\u007f]/gu,"").trim().slice(0,80)||void 0}function p(a){return"number"==typeof a&&Number.isFinite(a)?a:"string"==typeof a&&a.trim()&&Number.isFinite(Number(a))?Number(a):void 0}function q(a){let b=p(a);return void 0!==b&&b>=0?b:void 0}function r(a){let b=q(a);return void 0!==b&&Number.isSafeInteger(b)?b:void 0}function s(a){return"number"==typeof a&&Number.isFinite(a)?String(a):"string"==typeof a&&/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/u.test(a)&&a.length<=64?a:void 0}function t(a){if("number"==typeof a&&Number.isFinite(a))return Math.floor(a>=1e12?a/1e3:a);if("string"!=typeof a||!a.trim())return;let b=Date.parse(a);return Number.isFinite(b)?Math.floor(b/1e3):void 0}function u(a){return Math.min(100,Math.max(0,a))}d()}catch(a){d(a)}})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24468:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(67240),e=c(22253),f=c(10492),g=c(53358),h=c(68020),i=c(95644),j=c(261),k=c(39234),l=c(73696),m=c(16e3),n=c(53203),o=c(69773),p=c(38303),q=c(51137),r=c(61414),s=c(86439),t=c(21447),u=c(20204);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/provider-usage/query/route",pathname:"/api/provider-usage/query",filename:"route",bundlePath:"app/api/provider-usage/query/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Volumes/Data Vault/PiSpace/pi-web-release/app/api/provider-usage/query/route.ts",nextConfigOutput:"",userland:()=>c(35727),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/provider-usage/query/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},27902:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},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")},35727:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>i,dynamic:()=>j});var e=c(78593),f=c(27902),g=c(12855),h=a([g]);g=(h.then?(await h)():h)[0];let j="force-dynamic";async function i(a){let b;if(!(0,f.EN)(a))return e.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,f.E2)(a))return e.NextResponse.json({error:"Content-Type must be application/json"},{status:415});try{b=await a.json()}catch{return e.NextResponse.json({error:"Invalid JSON"},{status:400})}let c="string"==typeof b.providerId?b.providerId:"";if(!(0,g.eX)(c))return e.NextResponse.json({error:"Unsupported provider"},{status:400});try{let a=await (0,g.H5)(c);return e.NextResponse.json(a)}catch{return e.NextResponse.json({providerId:c,status:"query-failed",message:"The provider usage query failed."})}}d()}catch(a){d(a)}})},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")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},77030:a=>{"use strict";a.exports=require("node:net")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95592:(a,b,c)=>{"use strict";c.d(b,{e:()=>e});let d=["openai-codex","deepseek","openrouter","moonshotai","moonshotai-cn","minimax","minimax-cn","vercel-ai-gateway","opencode-go","kimi-coding"];function e(a){return d.includes(a)}},96956:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2008,3376],()=>b(b.s=24468));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../../../node_modules","../../../../../../package.json","../../../../../package.json","../../../../chunks/2008.js","../../../../chunks/3376.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}