@wangjian2254/pi-web 0.8.12 → 0.8.24

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 (244) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -9
  3. package/.next/build-manifest.json +4 -4
  4. package/.next/images-manifest.json +1 -1
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/required-server-files.js +6 -5
  7. package/.next/required-server-files.json +6 -5
  8. package/.next/routes-manifest.json +28 -7
  9. package/.next/server/app/_global-error/page.js +2 -2
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +18 -17
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +18 -17
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +8 -7
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  26. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/agent/[id]/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/agent/new/route.js +1 -1
  30. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/agent/running/events/route.js +2 -2
  32. package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/agent/running/route.js +1 -1
  34. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/app-update/route.js +1 -1
  36. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  38. package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  42. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  44. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/auth/providers/route.js +1 -1
  46. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/auth-status/route.js +1 -0
  48. package/.next/server/app/api/auth-status/route.js.nft.json +1 -0
  49. package/.next/server/app/api/auth-status/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/cwd/browse/route.js +1 -1
  51. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/cwd/validate/route.js +1 -1
  53. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/default-cwd/route.js +1 -1
  55. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/file-index/route.js +1 -1
  57. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/files/[...path]/route.js +1 -1
  59. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/git/diff/route.js +1 -1
  61. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/git/status/route.js +1 -1
  63. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/home/route.js +1 -1
  65. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/integrated/session/route.js +1 -0
  67. package/.next/server/app/api/integrated/session/route.js.nft.json +1 -0
  68. package/.next/server/app/api/integrated/session/route_client-reference-manifest.js +1 -0
  69. package/.next/server/app/api/models/route.js +1 -1
  70. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  72. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/models-config/discover/route.js +1 -1
  74. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/models-config/route.js +1 -1
  76. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/models-config/test/route.js +1 -1
  78. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/plugins/route.js +1 -1
  80. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/project-trust/route.js +1 -1
  82. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
  84. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  86. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  88. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
  90. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  92. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  94. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/sessions/route.js +1 -1
  96. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/skills/check/route.js +1 -1
  98. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/skills/install/route.js +1 -1
  100. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/skills/route.js +2 -2
  102. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/skills/search/route.js +1 -1
  104. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/skills/update/route.js +1 -1
  106. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/route.js +1 -1
  108. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/favicon.ico/route.js +1 -1
  110. package/.next/server/app/index.html +1 -1
  111. package/.next/server/app/index.rsc +19 -18
  112. package/.next/server/app/index.segments/__PAGE__.segment.rsc +11 -10
  113. package/.next/server/app/index.segments/_full.segment.rsc +19 -18
  114. package/.next/server/app/index.segments/_tree.segment.rsc +6 -6
  115. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  116. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/page.js +8 -8
  118. package/.next/server/app/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app-paths-manifest.json +11 -9
  120. package/.next/server/chunks/2430.js +1 -1
  121. package/.next/server/chunks/6429.js +1 -1
  122. package/.next/server/functions-config-manifest.json +2 -2
  123. package/.next/server/middleware-build-manifest.js +1 -1
  124. package/.next/server/middleware.js +3 -3
  125. package/.next/server/pages/404.html +1 -1
  126. package/.next/server/pages/500.html +1 -1
  127. package/.next/static/chunks/{3794-d29203733ca4633c.js → 3794-491631389395f3eb.js} +2 -2
  128. package/.next/static/chunks/app/_global-error/page-9c06d9d28d0b8929.js +1 -0
  129. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-9c06d9d28d0b8929.js +1 -0
  130. package/.next/static/chunks/app/api/agent/[id]/events/route-9c06d9d28d0b8929.js +1 -0
  131. package/.next/static/chunks/app/api/agent/[id]/route-9c06d9d28d0b8929.js +1 -0
  132. package/.next/static/chunks/app/api/agent/new/route-9c06d9d28d0b8929.js +1 -0
  133. package/.next/static/chunks/app/api/agent/running/events/route-9c06d9d28d0b8929.js +1 -0
  134. package/.next/static/chunks/app/api/agent/running/route-9c06d9d28d0b8929.js +1 -0
  135. package/.next/static/chunks/app/api/app-update/route-9c06d9d28d0b8929.js +1 -0
  136. package/.next/static/chunks/app/api/auth/all-providers/route-9c06d9d28d0b8929.js +1 -0
  137. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-9c06d9d28d0b8929.js +1 -0
  138. package/.next/static/chunks/app/api/auth/login/[provider]/route-9c06d9d28d0b8929.js +1 -0
  139. package/.next/static/chunks/app/api/auth/logout/[provider]/route-9c06d9d28d0b8929.js +1 -0
  140. package/.next/static/chunks/app/api/auth/providers/route-9c06d9d28d0b8929.js +1 -0
  141. package/.next/static/chunks/app/api/auth-status/route-9c06d9d28d0b8929.js +1 -0
  142. package/.next/static/chunks/app/api/cwd/browse/route-9c06d9d28d0b8929.js +1 -0
  143. package/.next/static/chunks/app/api/cwd/validate/route-9c06d9d28d0b8929.js +1 -0
  144. package/.next/static/chunks/app/api/default-cwd/route-9c06d9d28d0b8929.js +1 -0
  145. package/.next/static/chunks/app/api/file-index/route-9c06d9d28d0b8929.js +1 -0
  146. package/.next/static/chunks/app/api/files/[...path]/route-9c06d9d28d0b8929.js +1 -0
  147. package/.next/static/chunks/app/api/git/diff/route-9c06d9d28d0b8929.js +1 -0
  148. package/.next/static/chunks/app/api/git/status/route-9c06d9d28d0b8929.js +1 -0
  149. package/.next/static/chunks/app/api/home/route-9c06d9d28d0b8929.js +1 -0
  150. package/.next/static/chunks/app/api/integrated/session/route-9c06d9d28d0b8929.js +1 -0
  151. package/.next/static/chunks/app/api/models/route-9c06d9d28d0b8929.js +1 -0
  152. package/.next/static/chunks/app/api/models-config/catalog/route-9c06d9d28d0b8929.js +1 -0
  153. package/.next/static/chunks/app/api/models-config/discover/route-9c06d9d28d0b8929.js +1 -0
  154. package/.next/static/chunks/app/api/models-config/route-9c06d9d28d0b8929.js +1 -0
  155. package/.next/static/chunks/app/api/models-config/test/route-9c06d9d28d0b8929.js +1 -0
  156. package/.next/static/chunks/app/api/plugins/route-9c06d9d28d0b8929.js +1 -0
  157. package/.next/static/chunks/app/api/project-trust/route-9c06d9d28d0b8929.js +1 -0
  158. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-9c06d9d28d0b8929.js +1 -0
  159. package/.next/static/chunks/app/api/sessions/[id]/context/route-9c06d9d28d0b8929.js +1 -0
  160. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-9c06d9d28d0b8929.js +1 -0
  161. package/.next/static/chunks/app/api/sessions/[id]/export/route-9c06d9d28d0b8929.js +1 -0
  162. package/.next/static/chunks/app/api/sessions/[id]/route-9c06d9d28d0b8929.js +1 -0
  163. package/.next/static/chunks/app/api/sessions/[id]/state/route-9c06d9d28d0b8929.js +1 -0
  164. package/.next/static/chunks/app/api/sessions/route-9c06d9d28d0b8929.js +1 -0
  165. package/.next/static/chunks/app/api/skills/check/route-9c06d9d28d0b8929.js +1 -0
  166. package/.next/static/chunks/app/api/skills/install/route-9c06d9d28d0b8929.js +1 -0
  167. package/.next/static/chunks/app/api/skills/route-9c06d9d28d0b8929.js +1 -0
  168. package/.next/static/chunks/app/api/skills/search/route-9c06d9d28d0b8929.js +1 -0
  169. package/.next/static/chunks/app/api/skills/update/route-9c06d9d28d0b8929.js +1 -0
  170. package/.next/static/chunks/app/api/worktrees/route-9c06d9d28d0b8929.js +1 -0
  171. package/.next/static/chunks/app/layout-0709c69e1483c500.js +1 -0
  172. package/.next/static/chunks/app/manifest.webmanifest/route-9c06d9d28d0b8929.js +1 -0
  173. package/.next/static/chunks/app/page-64630600f027bb77.js +87 -0
  174. package/.next/static/chunks/main-fa379b49b24fd088.js +5 -0
  175. package/.next/static/chunks/next/dist/client/components/builtin/app-error-9c06d9d28d0b8929.js +1 -0
  176. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-9c06d9d28d0b8929.js +1 -0
  177. package/.next/static/chunks/next/dist/client/components/builtin/not-found-9c06d9d28d0b8929.js +1 -0
  178. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9c06d9d28d0b8929.js +1 -0
  179. package/.next/static/chunks/{webpack-17a06dc12cf6e786.js → webpack-dcd89d2ad9b5a1b6.js} +1 -1
  180. package/.next/static/css/3ae3dcdf2647ca9d.css +1 -0
  181. package/.next/static/css/ea09f86b1855180e.css +1 -0
  182. package/.next/static/q0c6xdgf3YmvNT4LBifBM/_buildManifest.js +1 -0
  183. package/.next/trace +41 -5
  184. package/.next/trace-build +1 -1
  185. package/.next/types/app/api/auth-status/route.ts +353 -0
  186. package/.next/types/app/api/integrated/session/route.ts +353 -0
  187. package/.next/types/routes.d.ts +3 -1
  188. package/.next/types/validator.ts +18 -0
  189. package/next.config.ts +14 -3
  190. package/package.json +1 -1
  191. package/public/sw.js +19 -7
  192. package/.next/static/chunks/app/_global-error/page-169a43802549110e.js +0 -1
  193. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-169a43802549110e.js +0 -1
  194. package/.next/static/chunks/app/api/agent/[id]/events/route-169a43802549110e.js +0 -1
  195. package/.next/static/chunks/app/api/agent/[id]/route-169a43802549110e.js +0 -1
  196. package/.next/static/chunks/app/api/agent/new/route-169a43802549110e.js +0 -1
  197. package/.next/static/chunks/app/api/agent/running/events/route-169a43802549110e.js +0 -1
  198. package/.next/static/chunks/app/api/agent/running/route-169a43802549110e.js +0 -1
  199. package/.next/static/chunks/app/api/app-update/route-169a43802549110e.js +0 -1
  200. package/.next/static/chunks/app/api/auth/all-providers/route-169a43802549110e.js +0 -1
  201. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-169a43802549110e.js +0 -1
  202. package/.next/static/chunks/app/api/auth/login/[provider]/route-169a43802549110e.js +0 -1
  203. package/.next/static/chunks/app/api/auth/logout/[provider]/route-169a43802549110e.js +0 -1
  204. package/.next/static/chunks/app/api/auth/providers/route-169a43802549110e.js +0 -1
  205. package/.next/static/chunks/app/api/cwd/browse/route-169a43802549110e.js +0 -1
  206. package/.next/static/chunks/app/api/cwd/validate/route-169a43802549110e.js +0 -1
  207. package/.next/static/chunks/app/api/default-cwd/route-169a43802549110e.js +0 -1
  208. package/.next/static/chunks/app/api/file-index/route-169a43802549110e.js +0 -1
  209. package/.next/static/chunks/app/api/files/[...path]/route-169a43802549110e.js +0 -1
  210. package/.next/static/chunks/app/api/git/diff/route-169a43802549110e.js +0 -1
  211. package/.next/static/chunks/app/api/git/status/route-169a43802549110e.js +0 -1
  212. package/.next/static/chunks/app/api/home/route-169a43802549110e.js +0 -1
  213. package/.next/static/chunks/app/api/models/route-169a43802549110e.js +0 -1
  214. package/.next/static/chunks/app/api/models-config/catalog/route-169a43802549110e.js +0 -1
  215. package/.next/static/chunks/app/api/models-config/discover/route-169a43802549110e.js +0 -1
  216. package/.next/static/chunks/app/api/models-config/route-169a43802549110e.js +0 -1
  217. package/.next/static/chunks/app/api/models-config/test/route-169a43802549110e.js +0 -1
  218. package/.next/static/chunks/app/api/plugins/route-169a43802549110e.js +0 -1
  219. package/.next/static/chunks/app/api/project-trust/route-169a43802549110e.js +0 -1
  220. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-169a43802549110e.js +0 -1
  221. package/.next/static/chunks/app/api/sessions/[id]/context/route-169a43802549110e.js +0 -1
  222. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-169a43802549110e.js +0 -1
  223. package/.next/static/chunks/app/api/sessions/[id]/export/route-169a43802549110e.js +0 -1
  224. package/.next/static/chunks/app/api/sessions/[id]/route-169a43802549110e.js +0 -1
  225. package/.next/static/chunks/app/api/sessions/[id]/state/route-169a43802549110e.js +0 -1
  226. package/.next/static/chunks/app/api/sessions/route-169a43802549110e.js +0 -1
  227. package/.next/static/chunks/app/api/skills/check/route-169a43802549110e.js +0 -1
  228. package/.next/static/chunks/app/api/skills/install/route-169a43802549110e.js +0 -1
  229. package/.next/static/chunks/app/api/skills/route-169a43802549110e.js +0 -1
  230. package/.next/static/chunks/app/api/skills/search/route-169a43802549110e.js +0 -1
  231. package/.next/static/chunks/app/api/skills/update/route-169a43802549110e.js +0 -1
  232. package/.next/static/chunks/app/api/worktrees/route-169a43802549110e.js +0 -1
  233. package/.next/static/chunks/app/layout-b511328a6c250fe3.js +0 -1
  234. package/.next/static/chunks/app/manifest.webmanifest/route-169a43802549110e.js +0 -1
  235. package/.next/static/chunks/app/page-913d3d1768215db0.js +0 -87
  236. package/.next/static/chunks/main-430d592a1108ec6e.js +0 -5
  237. package/.next/static/chunks/next/dist/client/components/builtin/app-error-169a43802549110e.js +0 -1
  238. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-169a43802549110e.js +0 -1
  239. package/.next/static/chunks/next/dist/client/components/builtin/not-found-169a43802549110e.js +0 -1
  240. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-169a43802549110e.js +0 -1
  241. package/.next/static/css/88714c00e109ce28.css +0 -1
  242. package/.next/static/css/d0108a26a7a2390c.css +0 -1
  243. package/.next/static/tuHi6z1j8BMnyHG3vLsWP/_buildManifest.js +0 -1
  244. /package/.next/static/{tuHi6z1j8BMnyHG3vLsWP → q0c6xdgf3YmvNT4LBifBM}/_ssgManifest.js +0 -0
@@ -0,0 +1,353 @@
1
+ // File: /Users/fanjunwei/Documents/8mu/pi-web/app/api/integrated/session/route.ts
2
+ import * as entry from '../../../../../../app/api/integrated/session/route.js'
3
+ import type { NextRequest } from 'next/server.js'
4
+
5
+ import type { InstantConfigForTypeCheckInternal, Prefetch } from 'next/dist/build/segment-config/app/app-segment-config.js'
6
+
7
+ type TEntry = typeof import('../../../../../../app/api/integrated/session/route.js')
8
+
9
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
10
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
11
+ : T
12
+
13
+ // Check that the entry is a valid entry
14
+ checkFields<Diff<{
15
+ GET?: Function
16
+ HEAD?: Function
17
+ OPTIONS?: Function
18
+ POST?: Function
19
+ PUT?: Function
20
+ DELETE?: Function
21
+ PATCH?: Function
22
+ config?: {}
23
+ generateStaticParams?: Function
24
+ instant?: InstantConfigForTypeCheckInternal
25
+ prefetch?: Prefetch
26
+ unstable_dynamicStaleTime?: number
27
+ revalidate?: RevalidateRange<TEntry> | false
28
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
29
+ dynamicParams?: boolean
30
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
31
+ /** @deprecated The `preferredRegion` config is deprecated. Remove this export. */
32
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
33
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
34
+ maxDuration?: number
35
+
36
+ }, TEntry, ''>>()
37
+
38
+ type RouteContext = { params: Promise<SegmentParams> }
39
+ // Check the prop type of the entry function
40
+ if ('GET' in entry) {
41
+ checkFields<
42
+ Diff<
43
+ ParamCheck<Request | NextRequest>,
44
+ {
45
+ __tag__: 'GET'
46
+ __param_position__: 'first'
47
+ __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
48
+ },
49
+ 'GET'
50
+ >
51
+ >()
52
+ checkFields<
53
+ Diff<
54
+ ParamCheck<RouteContext>,
55
+ {
56
+ __tag__: 'GET'
57
+ __param_position__: 'second'
58
+ __param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
59
+ },
60
+ 'GET'
61
+ >
62
+ >()
63
+
64
+ checkFields<
65
+ Diff<
66
+ {
67
+ __tag__: 'GET',
68
+ __return_type__: Response | void | never | Promise<Response | void | never>
69
+ },
70
+ {
71
+ __tag__: 'GET',
72
+ __return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
73
+ },
74
+ 'GET'
75
+ >
76
+ >()
77
+ }
78
+ // Check the prop type of the entry function
79
+ if ('HEAD' in entry) {
80
+ checkFields<
81
+ Diff<
82
+ ParamCheck<Request | NextRequest>,
83
+ {
84
+ __tag__: 'HEAD'
85
+ __param_position__: 'first'
86
+ __param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
87
+ },
88
+ 'HEAD'
89
+ >
90
+ >()
91
+ checkFields<
92
+ Diff<
93
+ ParamCheck<RouteContext>,
94
+ {
95
+ __tag__: 'HEAD'
96
+ __param_position__: 'second'
97
+ __param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
98
+ },
99
+ 'HEAD'
100
+ >
101
+ >()
102
+
103
+ checkFields<
104
+ Diff<
105
+ {
106
+ __tag__: 'HEAD',
107
+ __return_type__: Response | void | never | Promise<Response | void | never>
108
+ },
109
+ {
110
+ __tag__: 'HEAD',
111
+ __return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
112
+ },
113
+ 'HEAD'
114
+ >
115
+ >()
116
+ }
117
+ // Check the prop type of the entry function
118
+ if ('OPTIONS' in entry) {
119
+ checkFields<
120
+ Diff<
121
+ ParamCheck<Request | NextRequest>,
122
+ {
123
+ __tag__: 'OPTIONS'
124
+ __param_position__: 'first'
125
+ __param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
126
+ },
127
+ 'OPTIONS'
128
+ >
129
+ >()
130
+ checkFields<
131
+ Diff<
132
+ ParamCheck<RouteContext>,
133
+ {
134
+ __tag__: 'OPTIONS'
135
+ __param_position__: 'second'
136
+ __param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
137
+ },
138
+ 'OPTIONS'
139
+ >
140
+ >()
141
+
142
+ checkFields<
143
+ Diff<
144
+ {
145
+ __tag__: 'OPTIONS',
146
+ __return_type__: Response | void | never | Promise<Response | void | never>
147
+ },
148
+ {
149
+ __tag__: 'OPTIONS',
150
+ __return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
151
+ },
152
+ 'OPTIONS'
153
+ >
154
+ >()
155
+ }
156
+ // Check the prop type of the entry function
157
+ if ('POST' in entry) {
158
+ checkFields<
159
+ Diff<
160
+ ParamCheck<Request | NextRequest>,
161
+ {
162
+ __tag__: 'POST'
163
+ __param_position__: 'first'
164
+ __param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
165
+ },
166
+ 'POST'
167
+ >
168
+ >()
169
+ checkFields<
170
+ Diff<
171
+ ParamCheck<RouteContext>,
172
+ {
173
+ __tag__: 'POST'
174
+ __param_position__: 'second'
175
+ __param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
176
+ },
177
+ 'POST'
178
+ >
179
+ >()
180
+
181
+ checkFields<
182
+ Diff<
183
+ {
184
+ __tag__: 'POST',
185
+ __return_type__: Response | void | never | Promise<Response | void | never>
186
+ },
187
+ {
188
+ __tag__: 'POST',
189
+ __return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
190
+ },
191
+ 'POST'
192
+ >
193
+ >()
194
+ }
195
+ // Check the prop type of the entry function
196
+ if ('PUT' in entry) {
197
+ checkFields<
198
+ Diff<
199
+ ParamCheck<Request | NextRequest>,
200
+ {
201
+ __tag__: 'PUT'
202
+ __param_position__: 'first'
203
+ __param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
204
+ },
205
+ 'PUT'
206
+ >
207
+ >()
208
+ checkFields<
209
+ Diff<
210
+ ParamCheck<RouteContext>,
211
+ {
212
+ __tag__: 'PUT'
213
+ __param_position__: 'second'
214
+ __param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
215
+ },
216
+ 'PUT'
217
+ >
218
+ >()
219
+
220
+ checkFields<
221
+ Diff<
222
+ {
223
+ __tag__: 'PUT',
224
+ __return_type__: Response | void | never | Promise<Response | void | never>
225
+ },
226
+ {
227
+ __tag__: 'PUT',
228
+ __return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
229
+ },
230
+ 'PUT'
231
+ >
232
+ >()
233
+ }
234
+ // Check the prop type of the entry function
235
+ if ('DELETE' in entry) {
236
+ checkFields<
237
+ Diff<
238
+ ParamCheck<Request | NextRequest>,
239
+ {
240
+ __tag__: 'DELETE'
241
+ __param_position__: 'first'
242
+ __param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
243
+ },
244
+ 'DELETE'
245
+ >
246
+ >()
247
+ checkFields<
248
+ Diff<
249
+ ParamCheck<RouteContext>,
250
+ {
251
+ __tag__: 'DELETE'
252
+ __param_position__: 'second'
253
+ __param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
254
+ },
255
+ 'DELETE'
256
+ >
257
+ >()
258
+
259
+ checkFields<
260
+ Diff<
261
+ {
262
+ __tag__: 'DELETE',
263
+ __return_type__: Response | void | never | Promise<Response | void | never>
264
+ },
265
+ {
266
+ __tag__: 'DELETE',
267
+ __return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
268
+ },
269
+ 'DELETE'
270
+ >
271
+ >()
272
+ }
273
+ // Check the prop type of the entry function
274
+ if ('PATCH' in entry) {
275
+ checkFields<
276
+ Diff<
277
+ ParamCheck<Request | NextRequest>,
278
+ {
279
+ __tag__: 'PATCH'
280
+ __param_position__: 'first'
281
+ __param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
282
+ },
283
+ 'PATCH'
284
+ >
285
+ >()
286
+ checkFields<
287
+ Diff<
288
+ ParamCheck<RouteContext>,
289
+ {
290
+ __tag__: 'PATCH'
291
+ __param_position__: 'second'
292
+ __param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
293
+ },
294
+ 'PATCH'
295
+ >
296
+ >()
297
+
298
+ checkFields<
299
+ Diff<
300
+ {
301
+ __tag__: 'PATCH',
302
+ __return_type__: Response | void | never | Promise<Response | void | never>
303
+ },
304
+ {
305
+ __tag__: 'PATCH',
306
+ __return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
307
+ },
308
+ 'PATCH'
309
+ >
310
+ >()
311
+ }
312
+
313
+ // Check the arguments and return type of the generateStaticParams function
314
+ if ('generateStaticParams' in entry) {
315
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
316
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
317
+ }
318
+
319
+ export interface PageProps {
320
+ params?: Promise<SegmentParams>
321
+ searchParams?: Promise<any>
322
+ }
323
+ export interface LayoutProps {
324
+ children?: React.ReactNode
325
+
326
+ params?: Promise<SegmentParams>
327
+ }
328
+
329
+ // =============
330
+ // Utility types
331
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
332
+
333
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
334
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
335
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
336
+
337
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
338
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
339
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
340
+
341
+ type ParamCheck<T> = {
342
+ __tag__: string
343
+ __param_position__: string
344
+ __param_type__: T
345
+ }
346
+
347
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
348
+
349
+ // https://github.com/sindresorhus/type-fest
350
+ type Numeric = number | bigint
351
+ type Zero = 0 | 0n
352
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
353
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/"
5
- type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/new" | "/api/agent/running" | "/api/agent/running/events" | "/api/app-update" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/home" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/plugins" | "/api/project-trust" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/export" | "/api/sessions/[id]/state" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/worktrees"
5
+ type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/new" | "/api/agent/running" | "/api/agent/running/events" | "/api/app-update" | "/api/auth-status" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/home" | "/api/integrated/session" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/plugins" | "/api/project-trust" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/export" | "/api/sessions/[id]/state" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/worktrees"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -19,6 +19,7 @@ interface ParamMap {
19
19
  "/api/agent/running": {}
20
20
  "/api/agent/running/events": {}
21
21
  "/api/app-update": {}
22
+ "/api/auth-status": {}
22
23
  "/api/auth/all-providers": {}
23
24
  "/api/auth/api-key/[provider]": { "provider": string; }
24
25
  "/api/auth/login/[provider]": { "provider": string; }
@@ -32,6 +33,7 @@ interface ParamMap {
32
33
  "/api/git/diff": {}
33
34
  "/api/git/status": {}
34
35
  "/api/home": {}
36
+ "/api/integrated/session": {}
35
37
  "/api/models": {}
36
38
  "/api/models-config": {}
37
39
  "/api/models-config/catalog": {}
@@ -119,6 +119,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
119
119
  type __Unused = __Check
120
120
  }
121
121
 
122
+ // Validate ../../app/api/auth-status/route.ts
123
+ {
124
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth-status">> = Specific
125
+ const handler = {} as typeof import("../../app/api/auth-status/route.js")
126
+ type __Check = __IsExpected<typeof handler>
127
+ // @ts-ignore
128
+ type __Unused = __Check
129
+ }
130
+
122
131
  // Validate ../../app/api/auth/all-providers/route.ts
123
132
  {
124
133
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth/all-providers">> = Specific
@@ -236,6 +245,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
236
245
  type __Unused = __Check
237
246
  }
238
247
 
248
+ // Validate ../../app/api/integrated/session/route.ts
249
+ {
250
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/integrated/session">> = Specific
251
+ const handler = {} as typeof import("../../app/api/integrated/session/route.js")
252
+ type __Check = __IsExpected<typeof handler>
253
+ // @ts-ignore
254
+ type __Unused = __Check
255
+ }
256
+
239
257
  // Validate ../../app/api/models-config/catalog/route.ts
240
258
  {
241
259
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/models-config/catalog">> = Specific
package/next.config.ts CHANGED
@@ -11,7 +11,12 @@ try {
11
11
  piVersion = (JSON.parse(readFileSync(piPkgPath, "utf8")) as { version: string }).version;
12
12
  } catch { /* package not found, use default */ }
13
13
 
14
+ // Optional URL prefix for Nginx prefix routing (e.g. PI_WEB_BASE_PATH=/pi-web).
15
+ // When set, the page and all API requests are served under this prefix.
16
+ const basePath = (process.env.PI_WEB_BASE_PATH ?? "").replace(/\/+$/, "");
17
+
14
18
  const nextConfig: NextConfig = {
19
+ ...(basePath ? { basePath } : {}),
15
20
  outputFileTracingRoot: configDir,
16
21
  serverExternalPackages: [
17
22
  "undici",
@@ -22,22 +27,27 @@ const nextConfig: NextConfig = {
22
27
  ],
23
28
  allowedDevOrigins: ["127.0.0.1", "192.168.*.*"],
24
29
  async headers() {
30
+ // Header sources are matched against the request path; under a basePath
31
+ // the request paths carry the prefix.
32
+ const root = basePath ? `${basePath}/` : "/";
33
+ const swPath = basePath ? `${basePath}/sw.js` : "/sw.js";
34
+ const manifestPath = basePath ? `${basePath}/manifest.webmanifest` : "/manifest.webmanifest";
25
35
  return [
26
36
  {
27
- source: "/",
37
+ source: root,
28
38
  headers: [
29
39
  { key: "Cache-Control", value: "private, no-cache, max-age=0, must-revalidate" },
30
40
  ],
31
41
  },
32
42
  {
33
- source: "/sw.js",
43
+ source: swPath,
34
44
  headers: [
35
45
  { key: "Cache-Control", value: "public, max-age=0, must-revalidate" },
36
46
  { key: "Service-Worker-Allowed", value: "/" },
37
47
  ],
38
48
  },
39
49
  {
40
- source: "/manifest.webmanifest",
50
+ source: manifestPath,
41
51
  headers: [
42
52
  { key: "Cache-Control", value: "public, max-age=0, must-revalidate" },
43
53
  ],
@@ -47,6 +57,7 @@ const nextConfig: NextConfig = {
47
57
  env: {
48
58
  NEXT_PUBLIC_APP_VERSION: version,
49
59
  NEXT_PUBLIC_PI_VERSION: piVersion,
60
+ NEXT_PUBLIC_BASE_PATH: basePath,
50
61
  },
51
62
  };
52
63
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wangjian2254/pi-web",
3
- "version": "0.8.12",
3
+ "version": "0.8.24",
4
4
  "description": "Web UI for the pi coding agent",
5
5
  "homepage": "https://github.com/agegr/pi-web#readme",
6
6
  "repository": {
package/public/sw.js CHANGED
@@ -1,15 +1,27 @@
1
1
  const CACHE_PREFIX = "pi-web";
2
2
  const CACHE_VERSION = new URL(self.location.href).searchParams.get("v") || "dev";
3
3
  const STATIC_CACHE = `${CACHE_PREFIX}-static-${CACHE_VERSION}`;
4
- const OFFLINE_URL = "/offline.html";
4
+
5
+ // URL prefix (e.g. /pi-web) derived from the registration scope, so path
6
+ // matching below works both with and without a basePath. Fall back to "" in
7
+ // non-service-worker contexts (e.g. unit tests).
8
+ const BASE_PATH = self.registration?.scope
9
+ ? new URL(self.registration.scope).pathname.replace(/\/+$/, "")
10
+ : "";
11
+ const p = (path) => (BASE_PATH ? `${BASE_PATH}${path}` : path);
12
+
13
+ const OFFLINE_URL = p("/offline.html");
5
14
  const PRECACHE_URLS = [
6
15
  OFFLINE_URL,
7
- "/manifest.webmanifest",
8
- "/icons/icon-192.png",
9
- "/icons/icon-512.png",
10
- "/icons/apple-touch-icon.png",
16
+ p("/manifest.webmanifest"),
17
+ p("/icons/icon-192.png"),
18
+ p("/icons/icon-512.png"),
19
+ p("/icons/apple-touch-icon.png"),
11
20
  ];
12
21
 
22
+ const API_PREFIX = p("/api/");
23
+ const SW_PATH = p("/sw.js");
24
+
13
25
  self.addEventListener("install", (event) => {
14
26
  event.waitUntil(
15
27
  caches
@@ -42,7 +54,7 @@ self.addEventListener("fetch", (event) => {
42
54
  if (url.origin !== self.location.origin) return;
43
55
 
44
56
  // Session data and live agent traffic must always come from the local server.
45
- if (url.pathname.startsWith("/api/") || url.pathname === "/sw.js") return;
57
+ if (url.pathname.startsWith(API_PREFIX) || url.pathname === SW_PATH) return;
46
58
 
47
59
  if (request.mode === "navigate") {
48
60
  event.respondWith(
@@ -55,7 +67,7 @@ self.addEventListener("fetch", (event) => {
55
67
  }
56
68
 
57
69
  const isStaticAsset =
58
- url.pathname.startsWith("/_next/static/") ||
70
+ url.pathname.startsWith(p("/_next/static/")) ||
59
71
  PRECACHE_URLS.includes(url.pathname);
60
72
 
61
73
  if (isStaticAsset) {
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[552,976,1004,1097,1337,1541,1960,2053,2138,2504,2835,2837,3432,3507,3851,3943,3955,4016,4037,4896,5221,5907,6450,6709,6819,6849,6919,6988,7067,7483,7769,7812,7851,8167,8197,8429,8658,8743,8933,9043,9156,9183,9742,9747,9787,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);