@qt4798/pi-web 0.9.14 → 0.9.16-beta.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 (276) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +17 -7
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/react-loadable-manifest.json +4 -0
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +71 -0
  8. package/.next/server/app/_global-error/page.js +2 -2
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +2 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  28. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  29. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/new/route.js +1 -1
  32. package/.next/server/app/api/agent/running/route.js +1 -1
  33. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  34. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  35. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  36. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  37. package/.next/server/app/api/auth/providers/route.js +1 -1
  38. package/.next/server/app/api/backup/export/route.js +1 -1
  39. package/.next/server/app/api/backup/import/route.js +1 -1
  40. package/.next/server/app/api/cwd/browse/route.js +1 -1
  41. package/.next/server/app/api/cwd/validate/route.js +1 -1
  42. package/.next/server/app/api/default-cwd/route.js +1 -1
  43. package/.next/server/app/api/file-index/route.js +1 -1
  44. package/.next/server/app/api/files/[...path]/route.js +1 -1
  45. package/.next/server/app/api/git/diff/route.js +6 -1
  46. package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
  47. package/.next/server/app/api/git/status/route.js +6 -1
  48. package/.next/server/app/api/git/status/route.js.nft.json +1 -1
  49. package/.next/server/app/api/home/route.js +1 -1
  50. package/.next/server/app/api/import/discover/route.js +1 -1
  51. package/.next/server/app/api/import/execute/route.js +1 -1
  52. package/.next/server/app/api/import/status/route.js +1 -1
  53. package/.next/server/app/api/models/route.js +1 -1
  54. package/.next/server/app/api/models-config/builtin/route.js +1 -1
  55. package/.next/server/app/api/models-config/builtin/route.js.nft.json +1 -1
  56. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  57. package/.next/server/app/api/models-config/discover/route.js +1 -1
  58. package/.next/server/app/api/models-config/route.js +1 -1
  59. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  60. package/.next/server/app/api/models-config/test/route.js +1 -1
  61. package/.next/server/app/api/plugins/route.js +1 -1
  62. package/.next/server/app/api/project-trust/route.js +1 -1
  63. package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
  64. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  65. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  67. package/.next/server/app/api/sessions/[id]/queue-recovery/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  70. package/.next/server/app/api/sessions/route.js +1 -1
  71. package/.next/server/app/api/settings/title-model/route.js +1 -1
  72. package/.next/server/app/api/skills/check/route.js +1 -1
  73. package/.next/server/app/api/skills/install/route.js +1 -1
  74. package/.next/server/app/api/skills/route.js +2 -2
  75. package/.next/server/app/api/skills/search/route.js +1 -1
  76. package/.next/server/app/api/skills/update/route.js +1 -1
  77. package/.next/server/app/api/tasks/[id]/[action]/route.js +1 -0
  78. package/.next/server/app/api/tasks/[id]/[action]/route.js.nft.json +1 -0
  79. package/.next/server/app/api/tasks/[id]/[action]/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/tasks/[id]/changed-files/route.js +6 -0
  81. package/.next/server/app/api/tasks/[id]/changed-files/route.js.nft.json +1 -0
  82. package/.next/server/app/api/tasks/[id]/changed-files/route_client-reference-manifest.js +1 -0
  83. package/.next/server/app/api/tasks/[id]/diff/route.js +6 -0
  84. package/.next/server/app/api/tasks/[id]/diff/route.js.nft.json +1 -0
  85. package/.next/server/app/api/tasks/[id]/diff/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/tasks/[id]/events/route.js +1 -0
  87. package/.next/server/app/api/tasks/[id]/events/route.js.nft.json +1 -0
  88. package/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/tasks/[id]/route.js +1 -0
  90. package/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -0
  91. package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/tasks/batch/route.js +1 -0
  93. package/.next/server/app/api/tasks/batch/route.js.nft.json +1 -0
  94. package/.next/server/app/api/tasks/batch/route_client-reference-manifest.js +1 -0
  95. package/.next/server/app/api/tasks/events/route.js +3 -0
  96. package/.next/server/app/api/tasks/events/route.js.nft.json +1 -0
  97. package/.next/server/app/api/tasks/events/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/tasks/route.js +1 -0
  99. package/.next/server/app/api/tasks/route.js.nft.json +1 -0
  100. package/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -0
  101. package/.next/server/app/api/tasks/settings/route.js +1 -0
  102. package/.next/server/app/api/tasks/settings/route.js.nft.json +1 -0
  103. package/.next/server/app/api/tasks/settings/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/tasks/templates/route.js +1 -0
  105. package/.next/server/app/api/tasks/templates/route.js.nft.json +1 -0
  106. package/.next/server/app/api/tasks/templates/route_client-reference-manifest.js +1 -0
  107. package/.next/server/app/api/themes/[name]/route.js +1 -1
  108. package/.next/server/app/api/themes/route.js +1 -1
  109. package/.next/server/app/api/worktrees/route.js +1 -1
  110. package/.next/server/app/icon.ico/route.js +1 -1
  111. package/.next/server/app/icon.png/route.js +1 -1
  112. package/.next/server/app/icon.svg/route.js +1 -1
  113. package/.next/server/app/index.html +1 -1
  114. package/.next/server/app/index.rsc +3 -3
  115. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  116. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  117. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  119. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  120. package/.next/server/app/page.js +4 -4
  121. package/.next/server/app/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app-paths-manifest.json +17 -7
  123. package/.next/server/chunks/1499.js +19 -0
  124. package/.next/server/chunks/4253.js +13 -0
  125. package/.next/server/chunks/4367.js +1 -1
  126. package/.next/server/chunks/4980.js +1 -1
  127. package/.next/server/chunks/6337.js +1 -1
  128. package/.next/server/chunks/6429.js +1 -1
  129. package/.next/server/chunks/7915.js +1 -1
  130. package/.next/server/instrumentation.js +1 -1
  131. package/.next/server/instrumentation.js.nft.json +1 -1
  132. package/.next/server/middleware-build-manifest.js +1 -1
  133. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  134. package/.next/server/pages/404.html +1 -1
  135. package/.next/server/pages/500.html +1 -1
  136. package/.next/static/chunks/7160-15bb6d6d6b8f98ef.js +1 -0
  137. package/.next/static/chunks/app/_global-error/page-b6fdcd4bc49766d5.js +1 -0
  138. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b6fdcd4bc49766d5.js +1 -0
  139. package/.next/static/chunks/app/api/agent/[id]/events/route-b6fdcd4bc49766d5.js +1 -0
  140. package/.next/static/chunks/app/api/agent/[id]/route-b6fdcd4bc49766d5.js +1 -0
  141. package/.next/static/chunks/app/api/agent/new/route-b6fdcd4bc49766d5.js +1 -0
  142. package/.next/static/chunks/app/api/agent/running/route-b6fdcd4bc49766d5.js +1 -0
  143. package/.next/static/chunks/app/api/auth/all-providers/route-b6fdcd4bc49766d5.js +1 -0
  144. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b6fdcd4bc49766d5.js +1 -0
  145. package/.next/static/chunks/app/api/auth/login/[provider]/route-b6fdcd4bc49766d5.js +1 -0
  146. package/.next/static/chunks/app/api/auth/logout/[provider]/route-b6fdcd4bc49766d5.js +1 -0
  147. package/.next/static/chunks/app/api/auth/providers/route-b6fdcd4bc49766d5.js +1 -0
  148. package/.next/static/chunks/app/api/backup/export/route-b6fdcd4bc49766d5.js +1 -0
  149. package/.next/static/chunks/app/api/backup/import/route-b6fdcd4bc49766d5.js +1 -0
  150. package/.next/static/chunks/app/api/cwd/browse/route-b6fdcd4bc49766d5.js +1 -0
  151. package/.next/static/chunks/app/api/cwd/validate/route-b6fdcd4bc49766d5.js +1 -0
  152. package/.next/static/chunks/app/api/default-cwd/route-b6fdcd4bc49766d5.js +1 -0
  153. package/.next/static/chunks/app/api/file-index/route-b6fdcd4bc49766d5.js +1 -0
  154. package/.next/static/chunks/app/api/files/[...path]/route-b6fdcd4bc49766d5.js +1 -0
  155. package/.next/static/chunks/app/api/git/diff/route-b6fdcd4bc49766d5.js +1 -0
  156. package/.next/static/chunks/app/api/git/status/route-b6fdcd4bc49766d5.js +1 -0
  157. package/.next/static/chunks/app/api/home/route-b6fdcd4bc49766d5.js +1 -0
  158. package/.next/static/chunks/app/api/import/discover/route-b6fdcd4bc49766d5.js +1 -0
  159. package/.next/static/chunks/app/api/import/execute/route-b6fdcd4bc49766d5.js +1 -0
  160. package/.next/static/chunks/app/api/import/status/route-b6fdcd4bc49766d5.js +1 -0
  161. package/.next/static/chunks/app/api/models/route-b6fdcd4bc49766d5.js +1 -0
  162. package/.next/static/chunks/app/api/models-config/builtin/route-b6fdcd4bc49766d5.js +1 -0
  163. package/.next/static/chunks/app/api/models-config/catalog/route-b6fdcd4bc49766d5.js +1 -0
  164. package/.next/static/chunks/app/api/models-config/discover/route-b6fdcd4bc49766d5.js +1 -0
  165. package/.next/static/chunks/app/api/models-config/route-b6fdcd4bc49766d5.js +1 -0
  166. package/.next/static/chunks/app/api/models-config/test/route-b6fdcd4bc49766d5.js +1 -0
  167. package/.next/static/chunks/app/api/plugins/route-b6fdcd4bc49766d5.js +1 -0
  168. package/.next/static/chunks/app/api/project-trust/route-b6fdcd4bc49766d5.js +1 -0
  169. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b6fdcd4bc49766d5.js +1 -0
  170. package/.next/static/chunks/app/api/sessions/[id]/context/route-b6fdcd4bc49766d5.js +1 -0
  171. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b6fdcd4bc49766d5.js +1 -0
  172. package/.next/static/chunks/app/api/sessions/[id]/export/route-b6fdcd4bc49766d5.js +1 -0
  173. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-b6fdcd4bc49766d5.js +1 -0
  174. package/.next/static/chunks/app/api/sessions/[id]/route-b6fdcd4bc49766d5.js +1 -0
  175. package/.next/static/chunks/app/api/sessions/[id]/state/route-b6fdcd4bc49766d5.js +1 -0
  176. package/.next/static/chunks/app/api/sessions/route-b6fdcd4bc49766d5.js +1 -0
  177. package/.next/static/chunks/app/api/settings/title-model/route-b6fdcd4bc49766d5.js +1 -0
  178. package/.next/static/chunks/app/api/skills/check/route-b6fdcd4bc49766d5.js +1 -0
  179. package/.next/static/chunks/app/api/skills/install/route-b6fdcd4bc49766d5.js +1 -0
  180. package/.next/static/chunks/app/api/skills/route-b6fdcd4bc49766d5.js +1 -0
  181. package/.next/static/chunks/app/api/skills/search/route-b6fdcd4bc49766d5.js +1 -0
  182. package/.next/static/chunks/app/api/skills/update/route-b6fdcd4bc49766d5.js +1 -0
  183. package/.next/static/chunks/app/api/tasks/[id]/[action]/route-b6fdcd4bc49766d5.js +1 -0
  184. package/.next/static/chunks/app/api/tasks/[id]/changed-files/route-b6fdcd4bc49766d5.js +1 -0
  185. package/.next/static/chunks/app/api/tasks/[id]/diff/route-b6fdcd4bc49766d5.js +1 -0
  186. package/.next/static/chunks/app/api/tasks/[id]/events/route-b6fdcd4bc49766d5.js +1 -0
  187. package/.next/static/chunks/app/api/tasks/[id]/route-b6fdcd4bc49766d5.js +1 -0
  188. package/.next/static/chunks/app/api/tasks/batch/route-b6fdcd4bc49766d5.js +1 -0
  189. package/.next/static/chunks/app/api/tasks/events/route-b6fdcd4bc49766d5.js +1 -0
  190. package/.next/static/chunks/app/api/tasks/route-b6fdcd4bc49766d5.js +1 -0
  191. package/.next/static/chunks/app/api/tasks/settings/route-b6fdcd4bc49766d5.js +1 -0
  192. package/.next/static/chunks/app/api/tasks/templates/route-b6fdcd4bc49766d5.js +1 -0
  193. package/.next/static/chunks/app/api/themes/[name]/route-b6fdcd4bc49766d5.js +1 -0
  194. package/.next/static/chunks/app/api/themes/route-b6fdcd4bc49766d5.js +1 -0
  195. package/.next/static/chunks/app/api/worktrees/route-b6fdcd4bc49766d5.js +1 -0
  196. package/.next/static/chunks/app/page-82d7450b08727b16.js +15 -0
  197. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b6fdcd4bc49766d5.js +1 -0
  198. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b6fdcd4bc49766d5.js +1 -0
  199. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b6fdcd4bc49766d5.js +1 -0
  200. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b6fdcd4bc49766d5.js +1 -0
  201. package/.next/static/epdOjhSfv16VGNZsEm8XB/_buildManifest.js +1 -0
  202. package/.next/trace +9 -176
  203. package/.next/trace-build +1 -1
  204. package/.next/types/app/api/tasks/[id]/[action]/route.ts +351 -0
  205. package/.next/types/app/api/tasks/[id]/changed-files/route.ts +351 -0
  206. package/.next/types/app/api/tasks/[id]/diff/route.ts +351 -0
  207. package/.next/types/app/api/tasks/[id]/events/route.ts +351 -0
  208. package/.next/types/app/api/tasks/[id]/route.ts +351 -0
  209. package/.next/types/app/api/tasks/batch/route.ts +351 -0
  210. package/.next/types/app/api/tasks/events/route.ts +351 -0
  211. package/.next/types/app/api/tasks/route.ts +351 -0
  212. package/.next/types/app/api/tasks/settings/route.ts +351 -0
  213. package/.next/types/app/api/tasks/templates/route.ts +351 -0
  214. package/.next/types/routes.d.ts +11 -1
  215. package/.next/types/validator.ts +90 -0
  216. package/README.en.md +52 -0
  217. package/README.md +53 -1
  218. package/package.json +1 -1
  219. package/.next/server/chunks/3961.js +0 -6
  220. package/.next/static/EC22Ron2C7Gr6n-zSzsop/_buildManifest.js +0 -1
  221. package/.next/static/chunks/7253-7943c800c2fd7b70.js +0 -1
  222. package/.next/static/chunks/app/_global-error/page-bc5f4c047207b363.js +0 -1
  223. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-bc5f4c047207b363.js +0 -1
  224. package/.next/static/chunks/app/api/agent/[id]/events/route-bc5f4c047207b363.js +0 -1
  225. package/.next/static/chunks/app/api/agent/[id]/route-bc5f4c047207b363.js +0 -1
  226. package/.next/static/chunks/app/api/agent/new/route-bc5f4c047207b363.js +0 -1
  227. package/.next/static/chunks/app/api/agent/running/route-bc5f4c047207b363.js +0 -1
  228. package/.next/static/chunks/app/api/auth/all-providers/route-bc5f4c047207b363.js +0 -1
  229. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-bc5f4c047207b363.js +0 -1
  230. package/.next/static/chunks/app/api/auth/login/[provider]/route-bc5f4c047207b363.js +0 -1
  231. package/.next/static/chunks/app/api/auth/logout/[provider]/route-bc5f4c047207b363.js +0 -1
  232. package/.next/static/chunks/app/api/auth/providers/route-bc5f4c047207b363.js +0 -1
  233. package/.next/static/chunks/app/api/backup/export/route-bc5f4c047207b363.js +0 -1
  234. package/.next/static/chunks/app/api/backup/import/route-bc5f4c047207b363.js +0 -1
  235. package/.next/static/chunks/app/api/cwd/browse/route-bc5f4c047207b363.js +0 -1
  236. package/.next/static/chunks/app/api/cwd/validate/route-bc5f4c047207b363.js +0 -1
  237. package/.next/static/chunks/app/api/default-cwd/route-bc5f4c047207b363.js +0 -1
  238. package/.next/static/chunks/app/api/file-index/route-bc5f4c047207b363.js +0 -1
  239. package/.next/static/chunks/app/api/files/[...path]/route-bc5f4c047207b363.js +0 -1
  240. package/.next/static/chunks/app/api/git/diff/route-bc5f4c047207b363.js +0 -1
  241. package/.next/static/chunks/app/api/git/status/route-bc5f4c047207b363.js +0 -1
  242. package/.next/static/chunks/app/api/home/route-bc5f4c047207b363.js +0 -1
  243. package/.next/static/chunks/app/api/import/discover/route-bc5f4c047207b363.js +0 -1
  244. package/.next/static/chunks/app/api/import/execute/route-bc5f4c047207b363.js +0 -1
  245. package/.next/static/chunks/app/api/import/status/route-bc5f4c047207b363.js +0 -1
  246. package/.next/static/chunks/app/api/models/route-bc5f4c047207b363.js +0 -1
  247. package/.next/static/chunks/app/api/models-config/builtin/route-bc5f4c047207b363.js +0 -1
  248. package/.next/static/chunks/app/api/models-config/catalog/route-bc5f4c047207b363.js +0 -1
  249. package/.next/static/chunks/app/api/models-config/discover/route-bc5f4c047207b363.js +0 -1
  250. package/.next/static/chunks/app/api/models-config/route-bc5f4c047207b363.js +0 -1
  251. package/.next/static/chunks/app/api/models-config/test/route-bc5f4c047207b363.js +0 -1
  252. package/.next/static/chunks/app/api/plugins/route-bc5f4c047207b363.js +0 -1
  253. package/.next/static/chunks/app/api/project-trust/route-bc5f4c047207b363.js +0 -1
  254. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-bc5f4c047207b363.js +0 -1
  255. package/.next/static/chunks/app/api/sessions/[id]/context/route-bc5f4c047207b363.js +0 -1
  256. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-bc5f4c047207b363.js +0 -1
  257. package/.next/static/chunks/app/api/sessions/[id]/export/route-bc5f4c047207b363.js +0 -1
  258. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-bc5f4c047207b363.js +0 -1
  259. package/.next/static/chunks/app/api/sessions/[id]/route-bc5f4c047207b363.js +0 -1
  260. package/.next/static/chunks/app/api/sessions/[id]/state/route-bc5f4c047207b363.js +0 -1
  261. package/.next/static/chunks/app/api/sessions/route-bc5f4c047207b363.js +0 -1
  262. package/.next/static/chunks/app/api/settings/title-model/route-bc5f4c047207b363.js +0 -1
  263. package/.next/static/chunks/app/api/skills/check/route-bc5f4c047207b363.js +0 -1
  264. package/.next/static/chunks/app/api/skills/install/route-bc5f4c047207b363.js +0 -1
  265. package/.next/static/chunks/app/api/skills/route-bc5f4c047207b363.js +0 -1
  266. package/.next/static/chunks/app/api/skills/search/route-bc5f4c047207b363.js +0 -1
  267. package/.next/static/chunks/app/api/skills/update/route-bc5f4c047207b363.js +0 -1
  268. package/.next/static/chunks/app/api/themes/[name]/route-bc5f4c047207b363.js +0 -1
  269. package/.next/static/chunks/app/api/themes/route-bc5f4c047207b363.js +0 -1
  270. package/.next/static/chunks/app/api/worktrees/route-bc5f4c047207b363.js +0 -1
  271. package/.next/static/chunks/app/page-8b1b1a66c33c44e4.js +0 -15
  272. package/.next/static/chunks/next/dist/client/components/builtin/app-error-bc5f4c047207b363.js +0 -1
  273. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-bc5f4c047207b363.js +0 -1
  274. package/.next/static/chunks/next/dist/client/components/builtin/not-found-bc5f4c047207b363.js +0 -1
  275. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bc5f4c047207b363.js +0 -1
  276. /package/.next/static/{EC22Ron2C7Gr6n-zSzsop → epdOjhSfv16VGNZsEm8XB}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=4980,exports.ids=[4980],exports.modules={64980:(a,b,c)=>{c.d(b,{Zp:()=>bV});var d,e,f,g=c(85992),h=c(17904),i=0;let j=function(a){var b=++i;return(0,h.A)(a)+b};var k=c(86060),l=c(78959);let m=function(a){return(null==a?0:a.length)?(0,l.A)(a,1):[]};var n=c(38368),o=Math.ceil,p=Math.max;let q=function(a,b,c,d){for(var e=-1,f=p(o((b-a)/(c||1)),0),g=Array(f);f--;)g[d?f:++e]=a,a+=c;return g};var r=c(44878),s=c(93884),t=c(29163),u=c(18671);let v=function(a,b,c){if(!(0,u.A)(c))return!1;var d=typeof b;return("number"==d?!!((0,s.A)(c)&&(0,t.A)(b,c.length)):"string"==d&&b in c)&&(0,r.A)(c[b],a)};var w=/\s/;let x=function(a){for(var b=a.length;b--&&w.test(a.charAt(b)););return b};var y=/^\s+/,z=c(86340),A=0/0,B=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,D=/^0o[0-7]+$/i,E=parseInt;let F=function(a){if("number"==typeof a)return a;if((0,z.A)(a))return A;if((0,u.A)(a)){var b,c="function"==typeof a.valueOf?a.valueOf():a;a=(0,u.A)(c)?c+"":c}if("string"!=typeof a)return 0===a?a:+a;a=(b=a)?b.slice(0,x(b)+1).replace(y,""):b;var d=C.test(a);return d||D.test(a)?E(a.slice(2),d?2:8):B.test(a)?A:+a};var G=1/0;let H=function(a){return a?(a=F(a))===G||a===-G?(a<0?-1:1)*17976931348623157e292:a==a?a:0:0===a?a:0},I=function(a,b,c){return c&&"number"!=typeof c&&v(a,b,c)&&(b=c=void 0),a=H(a),void 0===b?(b=a,a=0):b=H(b),c=void 0===c?a<b?1:-1:H(c),q(a,b,c,void 0)};var J=c(74367);class K{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,b=a._prev;if(b!==a)return L(b),b}enqueue(a){var b=this._sentinel;a._prev&&a._next&&L(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){for(var a=[],b=this._sentinel,c=b._prev;c!==b;)a.push(JSON.stringify(c,M)),c=c._prev;return"["+a.join(", ")+"]"}}function L(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function M(a,b){if("_next"!==a&&"_prev"!==a)return b}var N=k.A(1);function O(a,b,c,d,e){var f=e?[]:void 0;return g.A(a.inEdges(d.v),function(d){var g=a.edge(d),h=a.node(d.v);e&&f.push({v:d.v,w:d.w}),h.out-=g,P(b,c,h)}),g.A(a.outEdges(d.v),function(d){var e=a.edge(d),f=d.w,g=a.node(f);g.in-=e,P(b,c,g)}),a.removeNode(d.v),f}function P(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}var Q=c(41573),R=c(71734);let S=function(a,b,c){(void 0===c||(0,r.A)(a[b],c))&&(void 0!==c||b in a)||(0,R.A)(a,b,c)};var T=c(56451),U=c(44564),V=c(43391),W=c(53149),X=c(65977),Y=c(73769),Z=c(4591),$=c(45015),_=c(1443),aa=c(10228),ab=c(64910),ac=c(91329),ad=c(93820),ae=Object.prototype,af=Function.prototype.toString,ag=ae.hasOwnProperty,ah=af.call(Object);let ai=function(a){if(!(0,ad.A)(a)||"[object Object]"!=(0,ab.A)(a))return!1;var b=(0,ac.A)(a);if(null===b)return!0;var c=ag.call(b,"constructor")&&b.constructor;return"function"==typeof c&&c instanceof c&&af.call(c)==ah};var aj=c(38426);let ak=function(a,b){if(("constructor"!==b||"function"!=typeof a[b])&&"__proto__"!=b)return a[b]};var al=c(19089),am=c(45092);let an=function(a,b,c,d,e,f,g){var h=ak(a,c),i=ak(b,c),j=g.get(i);if(j)return void S(a,c,j);var k=f?f(h,i,c+"",a,b,g):void 0,l=void 0===k;if(l){var m=(0,Z.A)(i),n=!m&&(0,_.A)(i),o=!m&&!n&&(0,aj.A)(i);(k=i,m||n||o)?(0,Z.A)(h)?k=h:(0,$.A)(h)?k=(0,W.A)(h):n?(l=!1,k=(0,U.A)(i,!0)):o?(l=!1,k=(0,V.A)(i,!0)):k=[]:ai(i)||(0,Y.A)(i)?(k=h,(0,Y.A)(h))?k=(0,al.A)(h,(0,am.A)(h)):(!(0,u.A)(h)||(0,aa.A)(h))&&(k=(0,X.A)(i)):l=!1}l&&(g.set(i,k),e(k,i,d,f,g),g.delete(i)),S(a,c,k)},ao=function a(b,c,d,e,f){b!==c&&(0,T.A)(c,function(g,h){if(f||(f=new Q.A),(0,u.A)(g))an(b,c,h,d,a,e,f);else{var i=e?e(ak(b,h),g,h+"",b,c,f):void 0;void 0===i&&(i=g),S(b,h,i)}},am.A)};var ap=c(9672),aq=(d=function(a,b,c){ao(a,b,c)},(0,ap.A)(function(a,b){var c=-1,e=b.length,f=e>1?b[e-1]:void 0,g=e>2?b[2]:void 0;for(f=d.length>3&&"function"==typeof f?(e--,f):void 0,g&&v(b[0],b[1],g)&&(f=e<3?void 0:f,e=1),a=Object(a);++c<e;){var h=b[c];h&&d(a,h,c,f)}return a})),ar=c(86296),as=c(17149),at=c(67285),au=c(47927);let av=function(a,b,c,d){if(!(0,u.A)(a))return a;b=(0,at.A)(b,a);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=(0,au.A)(b[e]),j=c;if("__proto__"===i||"constructor"===i||"prototype"===i)break;if(e!=g){var k=h[i];void 0===(j=d?d(k,i,h):void 0)&&(j=(0,u.A)(k)?k:(0,t.A)(b[e+1])?[]:{})}(0,as.A)(h,i,j),h=h[i]}return a},aw=function(a,b,c){for(var d=-1,e=b.length,f={};++d<e;){var g=b[d],h=(0,ar.A)(a,g);c(h,g)&&av(f,(0,at.A)(g,a),h)}return f};var ax=c(67109),ay=c(50989),az=c(10874),aA=(e=function(a,b){return null==a?{}:aw(a,b,function(b,c){return(0,ax.A)(a,c)})},(0,az.A)((0,ay.A)(e,void 0,m),e+"")),aB=Object.prototype,aC=aB.hasOwnProperty,aD=(0,ap.A)(function(a,b){a=Object(a);var c=-1,d=b.length,e=d>2?b[2]:void 0;for(e&&v(b[0],b[1],e)&&(d=1);++c<d;)for(var f=b[c],g=(0,am.A)(f),h=-1,i=g.length;++h<i;){var j=g[h],k=a[j];(void 0===k||(0,r.A)(k,aB[j])&&!aC.call(a,j))&&(a[j]=f[j])}return a});let aE=function(a,b,c){for(var d=-1,e=a.length;++d<e;){var f=a[d],g=b(f);if(null!=g&&(void 0===h?g==g&&!(0,z.A)(g):c(g,h)))var h=g,i=f}return i},aF=function(a,b){return a>b};var aG=c(66994);let aH=function(a){return a&&a.length?aE(a,aG.A,aF):void 0},aI=function(a){var b=null==a?0:a.length;return b?a[b-1]:void 0};var aJ=c(62023),aK=c(78803);let aL=function(a,b){var c={};return b=(0,aK.A)(b,3),(0,aJ.A)(a,function(a,d,e){(0,R.A)(c,d,b(a,d,e))}),c};var aM=c(98122);let aN=function(a,b){return a<b},aO=function(a){return a&&a.length?aE(a,aG.A,aN):void 0};var aP=Object.prototype.hasOwnProperty;let aQ=function(a,b){return null!=a&&aP.call(a,b)};var aR=c(58560);let aS=function(a,b){return null!=a&&(0,aR.A)(a,b,aQ)};var aT=c(18623);let aU=function(){return aT.A.Date.now()};function aV(a,b,c,d){var e;do e=j(d);while(a.hasNode(e));return c.dummy=b,a.setNode(e,c),e}function aW(a){var b=new J.T({multigraph:a.isMultigraph()}).setGraph(a.graph());return g.A(a.nodes(),function(c){a.children(c).length||b.setNode(c,a.node(c))}),g.A(a.edges(),function(c){b.setEdge(c,a.edge(c))}),b}function aX(a,b){var c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}}function aY(a){var b=n.A(I(a$(a)+1),function(){return[]});return g.A(a.nodes(),function(c){var d=a.node(c),e=d.rank;aM.A(e)||(b[e][d.order]=c)}),b}function aZ(a,b,c,d){var e={width:0,height:0};return arguments.length>=4&&(e.rank=c,e.order=d),aV(a,"border",e,b)}function a$(a){return aH(n.A(a.nodes(),function(b){var c=a.node(b).rank;if(!aM.A(c))return c}))}function a_(a,b){var c=aU();try{return b()}finally{console.log(a+" time: "+(aU()-c)+"ms")}}function a0(a,b){return b()}function a1(a,b,c,d,e,f){var g=e[b][f-1],h=aV(a,"border",{width:0,height:0,rank:f,borderType:b},c);e[b][f]=h,a.setParent(h,d),g&&a.setEdge(g,h,{weight:1})}function a2(a){g.A(a.nodes(),function(b){a3(a.node(b))}),g.A(a.edges(),function(b){a3(a.edge(b))})}function a3(a){var b=a.width;a.width=a.height,a.height=b}function a4(a){a.y=-a.y}function a5(a){var b=a.x;a.x=a.y,a.y=b}let a6=function(a,b){return a&&a.length?aE(a,(0,aK.A)(b,2),aN):void 0};function a7(a){var b={};g.A(a.sources(),function c(d){var e=a.node(d);if(Object.prototype.hasOwnProperty.call(b,d))return e.rank;b[d]=!0;var f=aO(n.A(a.outEdges(d),function(b){return c(b.w)-a.edge(b).minlen}));return(f===1/0||null==f)&&(f=0),e.rank=f})}function a8(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}function a9(a){var b,c,d,e,f=new J.T({directed:!1}),h=a.nodes()[0],i=a.nodeCount();for(f.setNode(h,{});b=f,c=a,g.A(b.nodes(),function a(d){g.A(c.nodeEdges(d),function(e){var f=e.v,g=d===f?e.w:f;b.hasNode(g)||a8(c,e)||(b.setNode(g,{}),b.setEdge(d,g,{}),a(g))})}),b.nodeCount()<i;)d=function(a,b){return a6(b.edges(),function(c){if(a.hasNode(c.v)!==a.hasNode(c.w))return a8(b,c)})}(f,a),e=f.hasNode(d.v)?a8(a,d):-a8(a,d),function(a,b,c){g.A(a.nodes(),function(a){b.node(a).rank+=c})}(f,a,e);return f}var ba=c(45680),bb=c(67853);let bc=function(a){var b=H(a),c=b%1;return b==b?c?b-c:b:0};var bd=Math.max,be=(f=function(a,b,c){var d=null==a?0:a.length;if(!d)return -1;var e=null==c?0:bc(c);return e<0&&(e=bd(d+e,0)),(0,bb.A)(a,(0,aK.A)(b,3),e)},function(a,b,c){var d=Object(a);if(!(0,s.A)(a)){var e=(0,aK.A)(b,3);a=(0,ba.A)(a),b=function(a){return e(d[a],a,d)}}var g=f(a,b,c);return g>-1?d[e?a[g]:g]:void 0}),bf=c(58617);k.A(1),k.A(1);var bg=c(61137),bh=c(91680),bi=(0,c(19919).A)("length"),bj=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),bk="\\ud800-\\udfff",bl="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",bm="\\ud83c[\\udffb-\\udfff]",bn="[^"+bk+"]",bo="(?:\\ud83c[\\udde6-\\uddff]){2}",bp="[\\ud800-\\udbff][\\udc00-\\udfff]",bq="(?:"+bl+"|"+bm+")?",br="[\\ufe0e\\ufe0f]?",bs="(?:\\u200d(?:"+[bn,bo,bp].join("|")+")"+br+bq+")*",bt=RegExp(bm+"(?="+bm+")|"+("(?:"+[bn+bl+"?",bl,bo,bp,"["+bk+"]"].join("|"))+")"+(br+bq+bs),"g");function bu(){}function bv(a,b,c){Z.A(b)||(b=[b]);var d=(a.isDirected()?a.successors:a.neighbors).bind(a),e=[],f={};return g.A(b,function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);!function a(b,c,d,e,f,h){!Object.prototype.hasOwnProperty.call(e,c)&&(e[c]=!0,d||h.push(c),g.A(f(c),function(c){a(b,c,d,e,f,h)}),d&&h.push(c))}(a,b,"post"===c,f,d,e)}),e}function bw(a){b=a,c=new J.T().setGraph(b.graph()),g.A(b.nodes(),function(a){c.setNode(a,b.node(a))}),g.A(b.edges(),function(a){var d=c.edge(a.v,a.w)||{weight:0,minlen:1},e=b.edge(a);c.setEdge(a.v,a.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),a7(a=c);var b,c,d,e,f=a9(a);for(bz(f),bx(f,a);d=bA(f);)e=bB(f,a,d),bC(f,a,d,e)}function bx(a,b){var c=bv(a,a.nodes(),"post");c=c.slice(0,c.length-1),g.A(c,function(c){var d,e,f,g;d=a,e=b,f=c,g=d.node(f).parent,d.edge(f,g).cutvalue=by(d,e,f)})}function by(a,b,c){var d=a.node(c).parent,e=!0,f=b.edge(c,d),h=0;return f||(e=!1,f=b.edge(d,c)),h=f.weight,g.A(b.nodeEdges(c),function(f){var g=f.v===c,i=g?f.w:f.v;if(i!==d){var j,k,l,m=g===e,n=b.edge(f).weight;if(h+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;h+=m?-o:o}}}),h}function bz(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,e,f){var h=d,i=b.node(e);return c[e]=!0,g.A(b.neighbors(e),function(f){Object.prototype.hasOwnProperty.call(c,f)||(d=a(b,c,d,f,e))}),i.low=h,i.lim=d++,f?i.parent=f:delete i.parent,d}(a,{},1,b)}function bA(a){return be(a.edges(),function(b){return a.edge(b).cutvalue<0})}function bB(a,b,c){var d=c.v,e=c.w;b.hasEdge(d,e)||(d=c.w,e=c.v);var f=a.node(d),g=a.node(e),h=f,i=!1;return f.lim>g.lim&&(h=g,i=!0),a6(bf.A(b.edges(),function(b){return i===bD(a,a.node(b.v),h)&&i!==bD(a,a.node(b.w),h)}),function(a){return a8(b,a)})}function bC(a,b,c,d){var e,f,h,i,j=c.v,k=c.w;a.removeEdge(j,k),a.setEdge(d.v,d.w,{}),bz(a),bx(a,b),e=a,f=b,h=be(e.nodes(),function(a){return!f.node(a).parent}),i=(i=bv(e,h,"pre")).slice(1),g.A(i,function(a){var b=e.node(a).parent,c=f.edge(a,b),d=!1;c||(c=f.edge(b,a),d=!0),f.node(a).rank=f.node(b).rank+(d?c.minlen:-c.minlen)})}function bD(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}bu.prototype=Error(),c(33456),bw.initLowLimValues=bz,bw.initCutValues=bx,bw.calcCutValue=by,bw.leaveEdge=bA,bw.enterEdge=bB,bw.exchangeEdges=bC;var bE=c(21152),bF=c(46171),bG=c(30108);let bH=function(a,b,c){for(var d=-1,e=a.length,f=b.length,g={};++d<e;){var h=d<f?b[d]:void 0;c(g,a[d],h)}return g};var bI=c(44090),bJ=c(87826);let bK=function(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a};var bL=c(63095);let bM=function(a,b){if(a!==b){var c=void 0!==a,d=null===a,e=a==a,f=(0,z.A)(a),g=void 0!==b,h=null===b,i=b==b,j=(0,z.A)(b);if(!h&&!j&&!f&&a>b||f&&g&&i&&!h&&!j||d&&g&&i||!c&&i||!e)return 1;if(!d&&!f&&!j&&a<b||j&&c&&e&&!d&&!f||h&&c&&e||!g&&e||!i)return -1}return 0},bN=function(a,b,c){for(var d=-1,e=a.criteria,f=b.criteria,g=e.length,h=c.length;++d<g;){var i=bM(e[d],f[d]);if(i){if(d>=h)return i;return i*("desc"==c[d]?-1:1)}}return a.index-b.index},bO=function(a,b,c){b=b.length?(0,bI.A)(b,function(a){return(0,Z.A)(a)?function(b){return(0,ar.A)(b,1===a.length?a[0]:a)}:a}):[aG.A];var d=-1;return b=(0,bI.A)(b,(0,bL.A)(aK.A)),bK((0,bJ.A)(a,function(a,c,e){return{criteria:(0,bI.A)(b,function(b){return b(a)}),index:++d,value:a}}),function(a,b){return bN(a,b,c)})};var bP=(0,ap.A)(function(a,b){if(null==a)return[];var c=b.length;return c>1&&v(a,b[0],b[1])?b=[]:c>2&&v(b[0],b[1],b[2])&&(b=[b[0]]),bO(a,(0,l.A)(b,1),[])});function bQ(a,b,c){for(var d;b.length&&(d=aI(b)).i<=c;)b.pop(),a.push(d.vs),c++;return c}function bR(a,b,c){return n.A(b,function(b){var d,e;return d=function(a){for(var b;a.hasNode(b=j("_root")););return b}(a),e=new J.T({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(b){return a.node(b)}),g.A(a.nodes(),function(f){var h=a.node(f),i=a.parent(f);(h.rank===b||h.minRank<=b&&b<=h.maxRank)&&(e.setNode(f),e.setParent(f,i||d),g.A(a[c](f),function(b){var c=b.v===f?b.w:b.v,d=e.edge(c,f),g=aM.A(d)?0:d.weight;e.setEdge(c,f,{weight:a.edge(b).weight+g})}),Object.prototype.hasOwnProperty.call(h,"minRank")&&e.setNode(f,{borderLeft:h.borderLeft[b],borderRight:h.borderRight[b]}))}),e})}function bS(a,b){g.A(b,function(b){g.A(b,function(b,c){a.node(b).order=c})})}var bT=c(62320);function bU(a,b,c){if(b>c){var d=b;b=c,c=d}Object.prototype.hasOwnProperty.call(a,b)||Object.defineProperty(a,b,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(a[b],c,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bV(a,b){var c=b&&b.debugTiming?a_:a0;c("layout",()=>{var b=c(" buildLayoutGraph",()=>{var b,c,d;return b=a,c=new J.T({multigraph:!0,compound:!0}),d=b3(b.graph()),c.setGraph(aq({},bX,b2(d,bW),aA(d,bY))),g.A(b.nodes(),function(a){var d=b3(b.node(a));c.setNode(a,aD(b2(d,bZ),b$)),c.setParent(a,b.parent(a))}),g.A(b.edges(),function(a){var d=b3(b.edge(a));c.setEdge(a,aq({},b0,b2(d,b_),aA(d,b1)))}),c});c(" runLayout",()=>{var a,d;return a=b,void((d=c)(" makeSpaceForEdgeLabels",()=>{var b,c;return c=(b=a).graph(),void(c.ranksep/=2,g.A(b.edges(),function(a){var d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),d(" removeSelfEdges",()=>{var b;return b=a,void g.A(b.edges(),function(a){if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),d(" acyclic",()=>{var b,c,d,e,f,h;return b="greedy"===a.graph().acyclicer?function(a,b){if(1>=a.nodeCount())return[];var c,d,e,f,h,i,j,k=(c=a,d=b||N,e=new J.T,f=0,h=0,g.A(c.nodes(),function(a){e.setNode(a,{v:a,in:0,out:0})}),g.A(c.edges(),function(a){var b=e.edge(a.v,a.w)||0,c=d(a);e.setEdge(a.v,a.w,b+c),h=Math.max(h,e.node(a.v).out+=c),f=Math.max(f,e.node(a.w).in+=c)}),i=I(h+f+3).map(function(){return new K}),j=f+1,g.A(e.nodes(),function(a){P(i,j,e.node(a))}),{graph:e,buckets:i,zeroIdx:j}),l=function(a,b,c){for(var d,e=[],f=b[b.length-1],g=b[0];a.nodeCount();){for(;d=g.dequeue();)O(a,b,c,d);for(;d=f.dequeue();)O(a,b,c,d);if(a.nodeCount()){for(var h=b.length-2;h>0;--h)if(d=b[h].dequeue()){e=e.concat(O(a,b,c,d,!0));break}}}return e}(k.graph,k.buckets,k.zeroIdx);return m(n.A(l,function(b){return a.outEdges(b.v,b.w)}))}(a,(c=a,function(a){return c.edge(a).weight})):(d=a,e=[],f={},h={},g.A(d.nodes(),function a(b){Object.prototype.hasOwnProperty.call(h,b)||(h[b]=!0,f[b]=!0,g.A(d.outEdges(b),function(b){Object.prototype.hasOwnProperty.call(f,b.w)?e.push(b):a(b.w)}),delete f[b])}),e),void g.A(b,function(b){var c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,j("rev"))})}),d(" nestingGraph.run",()=>{var b,c,d,e,f,h,i,j;return b=aV(a,"root",{},"_root"),h=a,i={},g.A(h.children(),function(a){!function a(b,c){var d=h.children(b);d&&d.length&&g.A(d,function(b){a(b,c+1)}),i[b]=c}(a,1)}),c=i,e=2*(d=aH(bE.A(c))-1)+1,a.graph().nestingRoot=b,g.A(a.edges(),function(b){a.edge(b).minlen*=e}),f=(j=a,bF.A(j.edges(),function(a,b){return a+j.edge(b).weight},0)+1),void(g.A(a.children(),function(h){!function a(b,c,d,e,f,h,i){var j=b.children(i);if(!j.length){i!==c&&b.setEdge(c,i,{weight:0,minlen:d});return}var k=aZ(b,"_bt"),l=aZ(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,g.A(j,function(g){a(b,c,d,e,f,h,g);var j=b.node(g),m=j.borderTop?j.borderTop:g,n=j.borderBottom?j.borderBottom:g,o=j.borderTop?e:2*e,p=m!==n?1:f-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(c,k,{weight:0,minlen:f+h[i]})}(a,b,e,f,d,c,h)}),a.graph().nodeRankFactor=e)}),d(" rank",()=>(function(a){switch(a.graph().ranker){case"network-simplex":default:bw(a);break;case"tight-tree":var b;a7(b=a),a9(b);break;case"longest-path":a7(a)}})(aW(a))),d(" injectEdgeLabelProxies",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c=b.edge(a);if(c.width&&c.height){var d=b.node(a.v),e={rank:(b.node(a.w).rank-d.rank)/2+d.rank,e:a};aV(b,"edge-proxy",e,"_ep")}})}),d(" removeEmptyRanks",()=>{var b,c,d,e;return b=aO(n.A(a.nodes(),function(b){return a.node(b).rank})),c=[],g.A(a.nodes(),function(d){var e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)}),d=0,e=a.graph().nodeRankFactor,void g.A(c,function(b,c){aM.A(b)&&c%e!=0?--d:d&&g.A(b,function(b){a.node(b).rank+=d})})}),d(" nestingGraph.cleanup",()=>{var b;return b=a.graph(),void(a.removeNode(b.nestingRoot),delete b.nestingRoot,g.A(a.edges(),function(b){a.edge(b).nestingEdge&&a.removeEdge(b)}))}),d(" normalizeRanks",()=>{var b;return b=aO(n.A(a.nodes(),function(b){return a.node(b).rank})),void g.A(a.nodes(),function(c){var d=a.node(c);aS(d,"rank")&&(d.rank-=b)})}),d(" assignRankMinMax",()=>{var b,c;return b=a,c=0,void(g.A(b.nodes(),function(a){var d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=aH(c,d.maxRank))}),b.graph().maxRank=c)}),d(" removeEdgeLabelProxies",()=>{var b;return b=a,void g.A(b.nodes(),function(a){var c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),d(" normalize.run",()=>{a.graph().dummyChains=[],g.A(a.edges(),function(b){!function(a,b){var c,d,e=b.v,f=a.node(e).rank,g=b.w,h=a.node(g).rank,i=b.name,j=a.edge(b),k=j.labelRank;if(h!==f+1){a.removeEdge(b);var l=void 0;for(d=0,++f;f<h;++d,++f)j.points=[],c=aV(a,"edge",l={width:0,height:0,edgeLabel:j,edgeObj:b,rank:f},"_d"),f===k&&(l.width=j.width,l.height=j.height,l.dummy="edge-label",l.labelpos=j.labelpos),a.setEdge(e,c,{weight:j.weight},i),0===d&&a.graph().dummyChains.push(c),e=c;a.setEdge(e,g,{weight:j.weight},i)}}(a,b)})}),d(" parentDummyChains",()=>{var b,c,d,e;return c=a,d={},e=0,g.A(c.children(),function a(b){var f=e;g.A(c.children(b),a),d[b]={low:f,lim:e++}}),b=d,void g.A(a.graph().dummyChains,function(c){for(var d=a.node(c),e=d.edgeObj,f=function(a,b,c,d){var e,f,g=[],h=[],i=Math.min(b[c].low,b[d].low),j=Math.max(b[c].lim,b[d].lim);e=c;do g.push(e=a.parent(e));while(e&&(b[e].low>i||j>b[e].lim));for(f=e,e=d;(e=a.parent(e))!==f;)h.push(e);return{path:g.concat(h.reverse()),lca:f}}(a,b,e.v,e.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;c!==e.w;){if(d=a.node(c),k){for(;(j=g[i])!==h&&a.node(j).maxRank<d.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=d.rank;)i++;j=g[i]}a.setParent(c,j),c=a.successors(c)[0]}})}),d(" addBorderSegments",()=>{g.A(a.children(),function b(c){var d=a.children(c),e=a.node(c);if(d.length&&g.A(d,b),Object.prototype.hasOwnProperty.call(e,"minRank")){e.borderLeft=[],e.borderRight=[];for(var f=e.minRank,h=e.maxRank+1;f<h;++f)a1(a,"borderLeft","_bl",c,e,f),a1(a,"borderRight","_br",c,e,f)}})}),d(" order",()=>(function(a){var b=a$(a),c=bR(a,I(1,b+1),"inEdges"),d=bR(a,I(b-1,-1,-1),"outEdges"),e=(f={},h=bf.A(a.nodes(),function(b){return!a.children(b).length}),i=aH(n.A(h,function(b){return a.node(b).rank})),j=n.A(I(i+1),function(){return[]}),k=bP(h,function(b){return a.node(b).rank}),g.A(k,function b(c){aS(f,c)||(f[c]=!0,j[a.node(c).rank].push(c),g.A(a.successors(c),b))}),j);bS(a,e);for(var f,h,i,j,k,l,o=1/0,p=0,q=0;q<4;++p,++q){(function(a,b){var c=new J.T;g.A(a,function(a){var d,e,f,h=a.graph().root,i=function a(b,c,d,e){var f,h,i,j,k,l,o,p,q,r,s,t,u=b.children(c),v=b.node(c),w=v?v.borderLeft:void 0,x=v?v.borderRight:void 0,y={};w&&(u=bf.A(u,function(a){return a!==w&&a!==x}));var z=(f=u,n.A(f,function(a){var c=b.inEdges(a);if(!c.length)return{v:a};var d=bF.A(c,function(a,c){var d=b.edge(c),e=b.node(c.v);return{sum:a.sum+d.weight*e.order,weight:a.weight+d.weight}},{sum:0,weight:0});return{v:a,barycenter:d.sum/d.weight,weight:d.weight}}));g.A(z,function(c){if(b.children(c.v).length){var f,g,h=a(b,c.v,d,e);y[c.v]=h,Object.prototype.hasOwnProperty.call(h,"barycenter")&&(f=c,g=h,aM.A(f.barycenter)?(f.barycenter=g.barycenter,f.weight=g.weight):(f.barycenter=(f.barycenter*f.weight+g.barycenter*g.weight)/(f.weight+g.weight),f.weight+=g.weight))}});var A=(h={},g.A(z,function(a,b){var c=h[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};aM.A(a.barycenter)||(c.barycenter=a.barycenter,c.weight=a.weight)}),g.A(d.edges(),function(a){var b=h[a.v],c=h[a.w];aM.A(b)||aM.A(c)||(c.indegree++,b.out.push(h[a.w]))}),function(a){for(var b=[];a.length;){var c=a.pop();b.push(c),g.A(c.in.reverse(),function(a){return function(b){!b.merged&&(aM.A(b.barycenter)||aM.A(a.barycenter)||b.barycenter>=a.barycenter)&&function(a,b){var c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),g.A(c.out,function(b){return function(c){c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return n.A(bf.A(b,function(a){return!a.merged}),function(a){return aA(a,["vs","i","barycenter","weight"])})}(bf.A(h,function(a){return!a.indegree})));!function(a,b){g.A(a,function(a){a.vs=m(a.vs.map(function(a){return b[a]?b[a].vs:a}))})}(A,y);var B=(l=(i=function(a){return Object.prototype.hasOwnProperty.call(a,"barycenter")},j={lhs:[],rhs:[]},g.A(A,function(a){i(a)?j.lhs.push(a):j.rhs.push(a)}),k=j).lhs,o=bP(k.rhs,function(a){return-a.i}),p=[],q=0,r=0,s=0,l.sort(function(a){return function(b,c){return b.barycenter<c.barycenter?-1:b.barycenter>c.barycenter?1:a?c.i-b.i:b.i-c.i}}(!!e)),s=bQ(p,o,s),g.A(l,function(a){s+=a.vs.length,p.push(a.vs),q+=a.barycenter*a.weight,r+=a.weight,s=bQ(p,o,s)}),t={vs:m(p)},r&&(t.barycenter=q/r,t.weight=r),t);if(w&&(B.vs=m([w,B.vs,x]),b.predecessors(w).length)){var C=b.node(b.predecessors(w)[0]),D=b.node(b.predecessors(x)[0]);Object.prototype.hasOwnProperty.call(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+C.order+D.order)/(B.weight+2),B.weight+=2}return B}(a,h,c,b);g.A(i.vs,function(b,c){a.node(b).order=c}),d=i.vs,f={},g.A(d,function(b){for(var d,g,h=a.parent(b);h;){if((d=a.parent(h))?(g=f[d],f[d]=h):(g=e,e=h),g&&g!==h)return void c.setEdge(g,h);h=d}})})})(p%2?c:d,p%4>=2),e=aY(a);var r,s=function(a,b){for(var c=0,d=1;d<b.length;++d)c+=function(a,b,c){for(var d=bH(c||[],n.A(c,function(a,b){return b})||[],as.A),e=m(n.A(b,function(b){return bP(n.A(a.outEdges(b),function(b){return{pos:d[b.w],weight:a.edge(b).weight}}),"pos")})),f=1;f<c.length;)f<<=1;var h=2*f-1;f-=1;var i=n.A(Array(h),function(){return 0}),j=0;return g.A(e.forEach(function(a){var b=a.pos+f;i[b]+=a.weight;for(var c=0;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c})),j}(a,b[d-1],b[d]);return c}(a,e);s<o&&(q=0,r=e,l=(0,bG.A)(r,5),o=s)}bS(a,l)})(a)),d(" insertSelfEdges",()=>{var b,c;return c=aY(b=a),void g.A(c,function(a){var c=0;g.A(a,function(a,d){var e=b.node(a);e.order=d+c,g.A(e.selfEdges,function(a){aV(b,"selfedge",{width:a.label.width,height:a.label.height,rank:e.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete e.selfEdges})})}),d(" adjustCoordinateSystem",()=>{var b;("lr"===(b=a.graph().rankdir.toLowerCase())||"rl"===b)&&a2(a)}),d(" position",()=>{var b,c,d,e,f,h,i,j,k,l,m,o,p,q,r,s,t;r=aY(q=b=aW(b=a)),s=q.graph().ranksep,t=0,g.A(r,function(a){var b=aH(n.A(a,function(a){return q.node(a).height}));g.A(a,function(a){q.node(a).y=t+b/2}),t+=b+s}),e=aY(c=b),h=aq((f={},bF.A(e,function(a,b){var d=0,e=0,h=a.length,i=aI(b);return g.A(b,function(a,j){var k=function(a,b){if(a.node(b).dummy)return be(a.predecessors(b),function(b){return a.node(b).dummy})}(c,a),l=k?c.node(k).order:h;(k||a===i)&&(g.A(b.slice(e,j+1),function(a){g.A(c.predecessors(a),function(b){var e=c.node(b),g=e.order;(g<d||l<g)&&!(e.dummy&&c.node(a).dummy)&&bU(f,b,a)})}),e=j+1,d=l)}),b}),f),function(a,b){var c={};function d(b,d,e,f,h){var i;g.A(I(d,e),function(d){i=b[d],a.node(i).dummy&&g.A(a.predecessors(i),function(b){var d=a.node(b);d.dummy&&(d.order<f||d.order>h)&&bU(c,b,i)})})}return bF.A(b,function(b,c){var e,f=-1,h=0;return g.A(c,function(g,i){if("border"===a.node(g).dummy){var j=a.predecessors(g);j.length&&(e=a.node(j[0]).order,d(c,h,i,f,e),h=i,f=e)}d(c,h,c.length,e,b.length)}),c}),c}(c,e)),i={},g.A(["u","d"],function(a){d="u"===a?e:bE.A(e).reverse(),g.A(["l","r"],function(b){"r"===b&&(d=n.A(d,function(a){return bE.A(a).reverse()}));var e,f,j,k,l=("u"===a?c.predecessors:c.successors).bind(c),m=(e=d,f={},j={},k={},g.A(e,function(a){g.A(a,function(a,b){f[a]=a,j[a]=a,k[a]=b})}),g.A(e,function(a){var b=-1;g.A(a,function(a){var c=l(a);if(c.length)for(var d=((c=bP(c,function(a){return k[a]})).length-1)/2,e=Math.floor(d),g=Math.ceil(d);e<=g;++e){var i=c[e];j[a]===a&&b<k[i]&&!function(a,b,c){if(b>c){var d=b;b=c,c=d}return!!a[b]&&Object.prototype.hasOwnProperty.call(a[b],c)}(h,a,i)&&(j[i]=a,j[a]=f[a]=f[i],b=k[i])}})}),{root:f,align:j}),o=function(a,b,c,d,e){var f,h,i,j,k,l,m,n,o,p,q={},r=(f=a,h=b,i=c,j=e,n=new J.T,p=(k=(o=f.graph()).nodesep,l=o.edgesep,m=j,function(a,b,c){var d,e,f=a.node(b),g=a.node(c);if(d=0+f.width/2,Object.prototype.hasOwnProperty.call(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":e=-f.width/2;break;case"r":e=f.width/2}if(e&&(d+=m?e:-e),e=0,d+=(f.dummy?l:k)/2,d+=(g.dummy?l:k)/2,d+=g.width/2,Object.prototype.hasOwnProperty.call(g,"labelpos"))switch(g.labelpos.toLowerCase()){case"l":e=g.width/2;break;case"r":e=-g.width/2}return e&&(d+=m?e:-e),e=0,d}),g.A(h,function(a){var b;g.A(a,function(a){var c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(f,a,b),e||0))}b=a})}),n),s=e?"borderLeft":"borderRight";function t(a,b){for(var c=r.nodes(),d=c.pop(),e={};d;)e[d]?a(d):(e[d]=!0,c.push(d),c=c.concat(b(d))),d=c.pop()}return t(function(a){q[a]=r.inEdges(a).reduce(function(a,b){return Math.max(a,q[b.v]+r.edge(b))},0)},r.predecessors.bind(r)),t(function(b){var c=r.outEdges(b).reduce(function(a,b){return Math.min(a,q[b.w]-r.edge(b))},1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),g.A(d,function(a){q[a]=q[c[a]]}),q}(c,d,m.root,m.align,"r"===b);"r"===b&&(o=aL(o,function(a){return-a})),i[a+b]=o})}),j=a6(bE.A(i),function(a){var b,d=-1/0,e=1/0;return b=function(a,b){var f,g,h=(f=c,g=b,f.node(g).width/2);d=Math.max(a+h,d),e=Math.min(a-h,e)},null==a||(0,T.A)(a,(0,bT.A)(b),am.A),d-e}),l=aO(k=bE.A(j)),m=aH(k),g.A(["u","d"],function(a){g.A(["l","r"],function(b){var c,d=a+b,e=i[d];if(e!==j){var f=bE.A(e);(c="l"===b?l-aO(f):m-aH(f))&&(i[d]=aL(e,function(a){return a+c}))}})}),o=c.graph().align,p=aL(i.ul,function(a,b){if(o)return i[o.toLowerCase()][b];var c=bP(n.A(i,b));return(c[1]+c[2])/2}),p&&(0,aJ.A)(p,(0,bT.A)(function(a,c){b.node(c).x=a}))}),d(" positionSelfEdges",()=>{var b;return b=a,void g.A(b.nodes(),function(a){var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),d(" removeBorderNodes",()=>{var b;return b=a,void(g.A(b.nodes(),function(a){if(b.children(a).length){var c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(aI(c.borderLeft)),g=b.node(aI(c.borderRight));c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),g.A(b.nodes(),function(a){"border"===b.node(a).dummy&&b.removeNode(a)}))}),d(" normalize.undo",()=>{g.A(a.graph().dummyChains,function(b){var c,d=a.node(b),e=d.edgeLabel;for(a.setEdge(d.edgeObj,e);d.dummy;)c=a.successors(b)[0],a.removeNode(b),e.points.push({x:d.x,y:d.y}),"edge-label"===d.dummy&&(e.x=d.x,e.y=d.y,e.width=d.width,e.height=d.height),b=c,d=a.node(b)})}),d(" fixupEdgeLabelCoords",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c=b.edge(a);if(Object.prototype.hasOwnProperty.call(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),d(" undoCoordinateSystem",()=>{var b,c,d;("bt"===(b=a.graph().rankdir.toLowerCase())||"rl"===b)&&(c=a,g.A(c.nodes(),function(a){a4(c.node(a))}),g.A(c.edges(),function(a){var b=c.edge(a);g.A(b.points,a4),Object.prototype.hasOwnProperty.call(b,"y")&&a4(b)})),("lr"===b||"rl"===b)&&(d=a,g.A(d.nodes(),function(a){a5(d.node(a))}),g.A(d.edges(),function(a){var b=d.edge(a);g.A(b.points,a5),Object.prototype.hasOwnProperty.call(b,"x")&&a5(b)}),a2(a))}),d(" translateGraph",()=>(function(a){var b=1/0,c=0,d=1/0,e=0,f=a.graph(),h=f.marginx||0,i=f.marginy||0;function j(a){var f=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,f-h/2),c=Math.max(c,f+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}g.A(a.nodes(),function(b){j(a.node(b))}),g.A(a.edges(),function(b){var c=a.edge(b);Object.prototype.hasOwnProperty.call(c,"x")&&j(c)}),b-=h,d-=i,g.A(a.nodes(),function(c){var e=a.node(c);e.x-=b,e.y-=d}),g.A(a.edges(),function(c){var e=a.edge(c);g.A(e.points,function(a){a.x-=b,a.y-=d}),Object.prototype.hasOwnProperty.call(e,"x")&&(e.x-=b),Object.prototype.hasOwnProperty.call(e,"y")&&(e.y-=d)}),f.width=c-b+h,f.height=e-d+i})(a)),d(" assignNodeIntersects",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c,d,e=b.edge(a),f=b.node(a.v),g=b.node(a.w);e.points?(c=e.points[0],d=e.points[e.points.length-1]):(e.points=[],c=g,d=f),e.points.unshift(aX(f,c)),e.points.push(aX(g,d))})}),d(" reversePoints",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c=b.edge(a);c.reversed&&c.points.reverse()})}),d(" acyclic.undo",()=>{g.A(a.edges(),function(b){var c=a.edge(b);if(c.reversed){a.removeEdge(b);var d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}))}),c(" updateInputGraph",()=>{var c,d;return c=a,d=b,void(g.A(c.nodes(),function(a){var b=c.node(a),e=d.node(a);b&&(b.x=e.x,b.y=e.y,d.children(a).length&&(b.width=e.width,b.height=e.height))}),g.A(c.edges(),function(a){var b=c.edge(a),e=d.edge(a);b.points=e.points,Object.prototype.hasOwnProperty.call(e,"x")&&(b.x=e.x,b.y=e.y)}),c.graph().width=d.graph().width,c.graph().height=d.graph().height)})})}var bW=["nodesep","edgesep","ranksep","marginx","marginy"],bX={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},bY=["acyclicer","ranker","rankdir","align"],bZ=["width","height"],b$={width:0,height:0},b_=["minlen","weight","width","height","labeloffset"],b0={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},b1=["labelpos"];function b2(a,b){return aL(aA(a,b),Number)}function b3(a){var b={};return g.A(a,function(a,c){b[c.toLowerCase()]=a}),b}}};
1
+ "use strict";exports.id=4980,exports.ids=[4980],exports.modules={64980:(a,b,c)=>{c.d(b,{Zp:()=>bV});var d,e,f,g=c(85992),h=c(17904),i=0;let j=function(a){var b=++i;return(0,h.A)(a)+b};var k=c(86060),l=c(78959);let m=function(a){return(null==a?0:a.length)?(0,l.A)(a,1):[]};var n=c(38368),o=Math.ceil,p=Math.max;let q=function(a,b,c,d){for(var e=-1,f=p(o((b-a)/(c||1)),0),g=Array(f);f--;)g[d?f:++e]=a,a+=c;return g};var r=c(44878),s=c(93884),t=c(29163),u=c(18671);let v=function(a,b,c){if(!(0,u.A)(c))return!1;var d=typeof b;return("number"==d?!!((0,s.A)(c)&&(0,t.A)(b,c.length)):"string"==d&&b in c)&&(0,r.A)(c[b],a)};var w=/\s/;let x=function(a){for(var b=a.length;b--&&w.test(a.charAt(b)););return b};var y=/^\s+/,z=c(86340),A=0/0,B=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,D=/^0o[0-7]+$/i,E=parseInt;let F=function(a){if("number"==typeof a)return a;if((0,z.A)(a))return A;if((0,u.A)(a)){var b,c="function"==typeof a.valueOf?a.valueOf():a;a=(0,u.A)(c)?c+"":c}if("string"!=typeof a)return 0===a?a:+a;a=(b=a)?b.slice(0,x(b)+1).replace(y,""):b;var d=C.test(a);return d||D.test(a)?E(a.slice(2),d?2:8):B.test(a)?A:+a};var G=1/0;let H=function(a){return a?(a=F(a))===G||a===-G?(a<0?-1:1)*17976931348623157e292:a==a?a:0:0===a?a:0},I=function(a,b,c){return c&&"number"!=typeof c&&v(a,b,c)&&(b=c=void 0),a=H(a),void 0===b?(b=a,a=0):b=H(b),c=void 0===c?a<b?1:-1:H(c),q(a,b,c,void 0)};var J=c(74367);class K{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,b=a._prev;if(b!==a)return L(b),b}enqueue(a){var b=this._sentinel;a._prev&&a._next&&L(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){for(var a=[],b=this._sentinel,c=b._prev;c!==b;)a.push(JSON.stringify(c,M)),c=c._prev;return"["+a.join(", ")+"]"}}function L(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function M(a,b){if("_next"!==a&&"_prev"!==a)return b}var N=k.A(1);function O(a,b,c,d,e){var f=e?[]:void 0;return g.A(a.inEdges(d.v),function(d){var g=a.edge(d),h=a.node(d.v);e&&f.push({v:d.v,w:d.w}),h.out-=g,P(b,c,h)}),g.A(a.outEdges(d.v),function(d){var e=a.edge(d),f=d.w,g=a.node(f);g.in-=e,P(b,c,g)}),a.removeNode(d.v),f}function P(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}var Q=c(41573),R=c(71734);let S=function(a,b,c){(void 0===c||(0,r.A)(a[b],c))&&(void 0!==c||b in a)||(0,R.A)(a,b,c)};var T=c(56451),U=c(44564),V=c(43391),W=c(53149),X=c(65977),Y=c(73769),Z=c(4591),$=c(45015),_=c(1443),aa=c(10228),ab=c(64910),ac=c(91329),ad=c(93820),ae=Object.prototype,af=Function.prototype.toString,ag=ae.hasOwnProperty,ah=af.call(Object);let ai=function(a){if(!(0,ad.A)(a)||"[object Object]"!=(0,ab.A)(a))return!1;var b=(0,ac.A)(a);if(null===b)return!0;var c=ag.call(b,"constructor")&&b.constructor;return"function"==typeof c&&c instanceof c&&af.call(c)==ah};var aj=c(38426);let ak=function(a,b){if(("constructor"!==b||"function"!=typeof a[b])&&"__proto__"!=b)return a[b]};var al=c(19089),am=c(45092);let an=function(a,b,c,d,e,f,g){var h=ak(a,c),i=ak(b,c),j=g.get(i);if(j)return void S(a,c,j);var k=f?f(h,i,c+"",a,b,g):void 0,l=void 0===k;if(l){var m=(0,Z.A)(i),n=!m&&(0,_.A)(i),o=!m&&!n&&(0,aj.A)(i);(k=i,m||n||o)?(0,Z.A)(h)?k=h:(0,$.A)(h)?k=(0,W.A)(h):n?(l=!1,k=(0,U.A)(i,!0)):o?(l=!1,k=(0,V.A)(i,!0)):k=[]:ai(i)||(0,Y.A)(i)?(k=h,(0,Y.A)(h))?k=(0,al.A)(h,(0,am.A)(h)):(!(0,u.A)(h)||(0,aa.A)(h))&&(k=(0,X.A)(i)):l=!1}l&&(g.set(i,k),e(k,i,d,f,g),g.delete(i)),S(a,c,k)},ao=function a(b,c,d,e,f){b!==c&&(0,T.A)(c,function(g,h){if(f||(f=new Q.A),(0,u.A)(g))an(b,c,h,d,a,e,f);else{var i=e?e(ak(b,h),g,h+"",b,c,f):void 0;void 0===i&&(i=g),S(b,h,i)}},am.A)};var ap=c(9672),aq=(d=function(a,b,c){ao(a,b,c)},(0,ap.A)(function(a,b){var c=-1,e=b.length,f=e>1?b[e-1]:void 0,g=e>2?b[2]:void 0;for(f=d.length>3&&"function"==typeof f?(e--,f):void 0,g&&v(b[0],b[1],g)&&(f=e<3?void 0:f,e=1),a=Object(a);++c<e;){var h=b[c];h&&d(a,h,c,f)}return a})),ar=c(86296),as=c(17149),at=c(67285),au=c(47927);let av=function(a,b,c,d){if(!(0,u.A)(a))return a;b=(0,at.A)(b,a);for(var e=-1,f=b.length,g=f-1,h=a;null!=h&&++e<f;){var i=(0,au.A)(b[e]),j=c;if("__proto__"===i||"constructor"===i||"prototype"===i)break;if(e!=g){var k=h[i];void 0===(j=d?d(k,i,h):void 0)&&(j=(0,u.A)(k)?k:(0,t.A)(b[e+1])?[]:{})}(0,as.A)(h,i,j),h=h[i]}return a},aw=function(a,b,c){for(var d=-1,e=b.length,f={};++d<e;){var g=b[d],h=(0,ar.A)(a,g);c(h,g)&&av(f,(0,at.A)(g,a),h)}return f};var ax=c(67109),ay=c(50989),az=c(10874),aA=(e=function(a,b){return null==a?{}:aw(a,b,function(b,c){return(0,ax.A)(a,c)})},(0,az.A)((0,ay.A)(e,void 0,m),e+"")),aB=Object.prototype,aC=aB.hasOwnProperty,aD=(0,ap.A)(function(a,b){a=Object(a);var c=-1,d=b.length,e=d>2?b[2]:void 0;for(e&&v(b[0],b[1],e)&&(d=1);++c<d;)for(var f=b[c],g=(0,am.A)(f),h=-1,i=g.length;++h<i;){var j=g[h],k=a[j];(void 0===k||(0,r.A)(k,aB[j])&&!aC.call(a,j))&&(a[j]=f[j])}return a});let aE=function(a,b,c){for(var d=-1,e=a.length;++d<e;){var f=a[d],g=b(f);if(null!=g&&(void 0===h?g==g&&!(0,z.A)(g):c(g,h)))var h=g,i=f}return i},aF=function(a,b){return a>b};var aG=c(66994);let aH=function(a){return a&&a.length?aE(a,aG.A,aF):void 0},aI=function(a){var b=null==a?0:a.length;return b?a[b-1]:void 0};var aJ=c(62023),aK=c(78803);let aL=function(a,b){var c={};return b=(0,aK.A)(b,3),(0,aJ.A)(a,function(a,d,e){(0,R.A)(c,d,b(a,d,e))}),c};var aM=c(98122);let aN=function(a,b){return a<b},aO=function(a){return a&&a.length?aE(a,aG.A,aN):void 0};var aP=Object.prototype.hasOwnProperty;let aQ=function(a,b){return null!=a&&aP.call(a,b)};var aR=c(58560);let aS=function(a,b){return null!=a&&(0,aR.A)(a,b,aQ)};var aT=c(18623);let aU=function(){return aT.A.Date.now()};function aV(a,b,c,d){var e;do e=j(d);while(a.hasNode(e));return c.dummy=b,a.setNode(e,c),e}function aW(a){var b=new J.T({multigraph:a.isMultigraph()}).setGraph(a.graph());return g.A(a.nodes(),function(c){a.children(c).length||b.setNode(c,a.node(c))}),g.A(a.edges(),function(c){b.setEdge(c,a.edge(c))}),b}function aX(a,b){var c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}}function aY(a){var b=n.A(I(a$(a)+1),function(){return[]});return g.A(a.nodes(),function(c){var d=a.node(c),e=d.rank;aM.A(e)||(b[e][d.order]=c)}),b}function aZ(a,b,c,d){var e={width:0,height:0};return arguments.length>=4&&(e.rank=c,e.order=d),aV(a,"border",e,b)}function a$(a){return aH(n.A(a.nodes(),function(b){var c=a.node(b).rank;if(!aM.A(c))return c}))}function a_(a,b){var c=aU();try{return b()}finally{console.log(a+" time: "+(aU()-c)+"ms")}}function a0(a,b){return b()}function a1(a,b,c,d,e,f){var g=e[b][f-1],h=aV(a,"border",{width:0,height:0,rank:f,borderType:b},c);e[b][f]=h,a.setParent(h,d),g&&a.setEdge(g,h,{weight:1})}function a2(a){g.A(a.nodes(),function(b){a3(a.node(b))}),g.A(a.edges(),function(b){a3(a.edge(b))})}function a3(a){var b=a.width;a.width=a.height,a.height=b}function a4(a){a.y=-a.y}function a5(a){var b=a.x;a.x=a.y,a.y=b}let a6=function(a,b){return a&&a.length?aE(a,(0,aK.A)(b,2),aN):void 0};function a7(a){var b={};g.A(a.sources(),function c(d){var e=a.node(d);if(Object.prototype.hasOwnProperty.call(b,d))return e.rank;b[d]=!0;var f=aO(n.A(a.outEdges(d),function(b){return c(b.w)-a.edge(b).minlen}));return(f===1/0||null==f)&&(f=0),e.rank=f})}function a8(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}function a9(a){var b,c,d,e,f=new J.T({directed:!1}),h=a.nodes()[0],i=a.nodeCount();for(f.setNode(h,{});b=f,c=a,g.A(b.nodes(),function a(d){g.A(c.nodeEdges(d),function(e){var f=e.v,g=d===f?e.w:f;b.hasNode(g)||a8(c,e)||(b.setNode(g,{}),b.setEdge(d,g,{}),a(g))})}),b.nodeCount()<i;)d=function(a,b){return a6(b.edges(),function(c){if(a.hasNode(c.v)!==a.hasNode(c.w))return a8(b,c)})}(f,a),e=f.hasNode(d.v)?a8(a,d):-a8(a,d),function(a,b,c){g.A(a.nodes(),function(a){b.node(a).rank+=c})}(f,a,e);return f}var ba=c(23299),bb=c(67853);let bc=function(a){var b=H(a),c=b%1;return b==b?c?b-c:b:0};var bd=Math.max,be=(f=function(a,b,c){var d=null==a?0:a.length;if(!d)return -1;var e=null==c?0:bc(c);return e<0&&(e=bd(d+e,0)),(0,bb.A)(a,(0,aK.A)(b,3),e)},function(a,b,c){var d=Object(a);if(!(0,s.A)(a)){var e=(0,aK.A)(b,3);a=(0,ba.A)(a),b=function(a){return e(d[a],a,d)}}var g=f(a,b,c);return g>-1?d[e?a[g]:g]:void 0}),bf=c(58617);k.A(1),k.A(1);var bg=c(61137),bh=c(91680),bi=(0,c(19919).A)("length"),bj=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),bk="\\ud800-\\udfff",bl="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",bm="\\ud83c[\\udffb-\\udfff]",bn="[^"+bk+"]",bo="(?:\\ud83c[\\udde6-\\uddff]){2}",bp="[\\ud800-\\udbff][\\udc00-\\udfff]",bq="(?:"+bl+"|"+bm+")?",br="[\\ufe0e\\ufe0f]?",bs="(?:\\u200d(?:"+[bn,bo,bp].join("|")+")"+br+bq+")*",bt=RegExp(bm+"(?="+bm+")|"+("(?:"+[bn+bl+"?",bl,bo,bp,"["+bk+"]"].join("|"))+")"+(br+bq+bs),"g");function bu(){}function bv(a,b,c){Z.A(b)||(b=[b]);var d=(a.isDirected()?a.successors:a.neighbors).bind(a),e=[],f={};return g.A(b,function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);!function a(b,c,d,e,f,h){!Object.prototype.hasOwnProperty.call(e,c)&&(e[c]=!0,d||h.push(c),g.A(f(c),function(c){a(b,c,d,e,f,h)}),d&&h.push(c))}(a,b,"post"===c,f,d,e)}),e}function bw(a){b=a,c=new J.T().setGraph(b.graph()),g.A(b.nodes(),function(a){c.setNode(a,b.node(a))}),g.A(b.edges(),function(a){var d=c.edge(a.v,a.w)||{weight:0,minlen:1},e=b.edge(a);c.setEdge(a.v,a.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),a7(a=c);var b,c,d,e,f=a9(a);for(bz(f),bx(f,a);d=bA(f);)e=bB(f,a,d),bC(f,a,d,e)}function bx(a,b){var c=bv(a,a.nodes(),"post");c=c.slice(0,c.length-1),g.A(c,function(c){var d,e,f,g;d=a,e=b,f=c,g=d.node(f).parent,d.edge(f,g).cutvalue=by(d,e,f)})}function by(a,b,c){var d=a.node(c).parent,e=!0,f=b.edge(c,d),h=0;return f||(e=!1,f=b.edge(d,c)),h=f.weight,g.A(b.nodeEdges(c),function(f){var g=f.v===c,i=g?f.w:f.v;if(i!==d){var j,k,l,m=g===e,n=b.edge(f).weight;if(h+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;h+=m?-o:o}}}),h}function bz(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,e,f){var h=d,i=b.node(e);return c[e]=!0,g.A(b.neighbors(e),function(f){Object.prototype.hasOwnProperty.call(c,f)||(d=a(b,c,d,f,e))}),i.low=h,i.lim=d++,f?i.parent=f:delete i.parent,d}(a,{},1,b)}function bA(a){return be(a.edges(),function(b){return a.edge(b).cutvalue<0})}function bB(a,b,c){var d=c.v,e=c.w;b.hasEdge(d,e)||(d=c.w,e=c.v);var f=a.node(d),g=a.node(e),h=f,i=!1;return f.lim>g.lim&&(h=g,i=!0),a6(bf.A(b.edges(),function(b){return i===bD(a,a.node(b.v),h)&&i!==bD(a,a.node(b.w),h)}),function(a){return a8(b,a)})}function bC(a,b,c,d){var e,f,h,i,j=c.v,k=c.w;a.removeEdge(j,k),a.setEdge(d.v,d.w,{}),bz(a),bx(a,b),e=a,f=b,h=be(e.nodes(),function(a){return!f.node(a).parent}),i=(i=bv(e,h,"pre")).slice(1),g.A(i,function(a){var b=e.node(a).parent,c=f.edge(a,b),d=!1;c||(c=f.edge(b,a),d=!0),f.node(a).rank=f.node(b).rank+(d?c.minlen:-c.minlen)})}function bD(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}bu.prototype=Error(),c(33456),bw.initLowLimValues=bz,bw.initCutValues=bx,bw.calcCutValue=by,bw.leaveEdge=bA,bw.enterEdge=bB,bw.exchangeEdges=bC;var bE=c(21152),bF=c(46171),bG=c(30108);let bH=function(a,b,c){for(var d=-1,e=a.length,f=b.length,g={};++d<e;){var h=d<f?b[d]:void 0;c(g,a[d],h)}return g};var bI=c(44090),bJ=c(87826);let bK=function(a,b){var c=a.length;for(a.sort(b);c--;)a[c]=a[c].value;return a};var bL=c(63095);let bM=function(a,b){if(a!==b){var c=void 0!==a,d=null===a,e=a==a,f=(0,z.A)(a),g=void 0!==b,h=null===b,i=b==b,j=(0,z.A)(b);if(!h&&!j&&!f&&a>b||f&&g&&i&&!h&&!j||d&&g&&i||!c&&i||!e)return 1;if(!d&&!f&&!j&&a<b||j&&c&&e&&!d&&!f||h&&c&&e||!g&&e||!i)return -1}return 0},bN=function(a,b,c){for(var d=-1,e=a.criteria,f=b.criteria,g=e.length,h=c.length;++d<g;){var i=bM(e[d],f[d]);if(i){if(d>=h)return i;return i*("desc"==c[d]?-1:1)}}return a.index-b.index},bO=function(a,b,c){b=b.length?(0,bI.A)(b,function(a){return(0,Z.A)(a)?function(b){return(0,ar.A)(b,1===a.length?a[0]:a)}:a}):[aG.A];var d=-1;return b=(0,bI.A)(b,(0,bL.A)(aK.A)),bK((0,bJ.A)(a,function(a,c,e){return{criteria:(0,bI.A)(b,function(b){return b(a)}),index:++d,value:a}}),function(a,b){return bN(a,b,c)})};var bP=(0,ap.A)(function(a,b){if(null==a)return[];var c=b.length;return c>1&&v(a,b[0],b[1])?b=[]:c>2&&v(b[0],b[1],b[2])&&(b=[b[0]]),bO(a,(0,l.A)(b,1),[])});function bQ(a,b,c){for(var d;b.length&&(d=aI(b)).i<=c;)b.pop(),a.push(d.vs),c++;return c}function bR(a,b,c){return n.A(b,function(b){var d,e;return d=function(a){for(var b;a.hasNode(b=j("_root")););return b}(a),e=new J.T({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(b){return a.node(b)}),g.A(a.nodes(),function(f){var h=a.node(f),i=a.parent(f);(h.rank===b||h.minRank<=b&&b<=h.maxRank)&&(e.setNode(f),e.setParent(f,i||d),g.A(a[c](f),function(b){var c=b.v===f?b.w:b.v,d=e.edge(c,f),g=aM.A(d)?0:d.weight;e.setEdge(c,f,{weight:a.edge(b).weight+g})}),Object.prototype.hasOwnProperty.call(h,"minRank")&&e.setNode(f,{borderLeft:h.borderLeft[b],borderRight:h.borderRight[b]}))}),e})}function bS(a,b){g.A(b,function(b){g.A(b,function(b,c){a.node(b).order=c})})}var bT=c(62320);function bU(a,b,c){if(b>c){var d=b;b=c,c=d}Object.prototype.hasOwnProperty.call(a,b)||Object.defineProperty(a,b,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(a[b],c,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bV(a,b){var c=b&&b.debugTiming?a_:a0;c("layout",()=>{var b=c(" buildLayoutGraph",()=>{var b,c,d;return b=a,c=new J.T({multigraph:!0,compound:!0}),d=b3(b.graph()),c.setGraph(aq({},bX,b2(d,bW),aA(d,bY))),g.A(b.nodes(),function(a){var d=b3(b.node(a));c.setNode(a,aD(b2(d,bZ),b$)),c.setParent(a,b.parent(a))}),g.A(b.edges(),function(a){var d=b3(b.edge(a));c.setEdge(a,aq({},b0,b2(d,b_),aA(d,b1)))}),c});c(" runLayout",()=>{var a,d;return a=b,void((d=c)(" makeSpaceForEdgeLabels",()=>{var b,c;return c=(b=a).graph(),void(c.ranksep/=2,g.A(b.edges(),function(a){var d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),d(" removeSelfEdges",()=>{var b;return b=a,void g.A(b.edges(),function(a){if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),d(" acyclic",()=>{var b,c,d,e,f,h;return b="greedy"===a.graph().acyclicer?function(a,b){if(1>=a.nodeCount())return[];var c,d,e,f,h,i,j,k=(c=a,d=b||N,e=new J.T,f=0,h=0,g.A(c.nodes(),function(a){e.setNode(a,{v:a,in:0,out:0})}),g.A(c.edges(),function(a){var b=e.edge(a.v,a.w)||0,c=d(a);e.setEdge(a.v,a.w,b+c),h=Math.max(h,e.node(a.v).out+=c),f=Math.max(f,e.node(a.w).in+=c)}),i=I(h+f+3).map(function(){return new K}),j=f+1,g.A(e.nodes(),function(a){P(i,j,e.node(a))}),{graph:e,buckets:i,zeroIdx:j}),l=function(a,b,c){for(var d,e=[],f=b[b.length-1],g=b[0];a.nodeCount();){for(;d=g.dequeue();)O(a,b,c,d);for(;d=f.dequeue();)O(a,b,c,d);if(a.nodeCount()){for(var h=b.length-2;h>0;--h)if(d=b[h].dequeue()){e=e.concat(O(a,b,c,d,!0));break}}}return e}(k.graph,k.buckets,k.zeroIdx);return m(n.A(l,function(b){return a.outEdges(b.v,b.w)}))}(a,(c=a,function(a){return c.edge(a).weight})):(d=a,e=[],f={},h={},g.A(d.nodes(),function a(b){Object.prototype.hasOwnProperty.call(h,b)||(h[b]=!0,f[b]=!0,g.A(d.outEdges(b),function(b){Object.prototype.hasOwnProperty.call(f,b.w)?e.push(b):a(b.w)}),delete f[b])}),e),void g.A(b,function(b){var c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,j("rev"))})}),d(" nestingGraph.run",()=>{var b,c,d,e,f,h,i,j;return b=aV(a,"root",{},"_root"),h=a,i={},g.A(h.children(),function(a){!function a(b,c){var d=h.children(b);d&&d.length&&g.A(d,function(b){a(b,c+1)}),i[b]=c}(a,1)}),c=i,e=2*(d=aH(bE.A(c))-1)+1,a.graph().nestingRoot=b,g.A(a.edges(),function(b){a.edge(b).minlen*=e}),f=(j=a,bF.A(j.edges(),function(a,b){return a+j.edge(b).weight},0)+1),void(g.A(a.children(),function(h){!function a(b,c,d,e,f,h,i){var j=b.children(i);if(!j.length){i!==c&&b.setEdge(c,i,{weight:0,minlen:d});return}var k=aZ(b,"_bt"),l=aZ(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,g.A(j,function(g){a(b,c,d,e,f,h,g);var j=b.node(g),m=j.borderTop?j.borderTop:g,n=j.borderBottom?j.borderBottom:g,o=j.borderTop?e:2*e,p=m!==n?1:f-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(c,k,{weight:0,minlen:f+h[i]})}(a,b,e,f,d,c,h)}),a.graph().nodeRankFactor=e)}),d(" rank",()=>(function(a){switch(a.graph().ranker){case"network-simplex":default:bw(a);break;case"tight-tree":var b;a7(b=a),a9(b);break;case"longest-path":a7(a)}})(aW(a))),d(" injectEdgeLabelProxies",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c=b.edge(a);if(c.width&&c.height){var d=b.node(a.v),e={rank:(b.node(a.w).rank-d.rank)/2+d.rank,e:a};aV(b,"edge-proxy",e,"_ep")}})}),d(" removeEmptyRanks",()=>{var b,c,d,e;return b=aO(n.A(a.nodes(),function(b){return a.node(b).rank})),c=[],g.A(a.nodes(),function(d){var e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)}),d=0,e=a.graph().nodeRankFactor,void g.A(c,function(b,c){aM.A(b)&&c%e!=0?--d:d&&g.A(b,function(b){a.node(b).rank+=d})})}),d(" nestingGraph.cleanup",()=>{var b;return b=a.graph(),void(a.removeNode(b.nestingRoot),delete b.nestingRoot,g.A(a.edges(),function(b){a.edge(b).nestingEdge&&a.removeEdge(b)}))}),d(" normalizeRanks",()=>{var b;return b=aO(n.A(a.nodes(),function(b){return a.node(b).rank})),void g.A(a.nodes(),function(c){var d=a.node(c);aS(d,"rank")&&(d.rank-=b)})}),d(" assignRankMinMax",()=>{var b,c;return b=a,c=0,void(g.A(b.nodes(),function(a){var d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=aH(c,d.maxRank))}),b.graph().maxRank=c)}),d(" removeEdgeLabelProxies",()=>{var b;return b=a,void g.A(b.nodes(),function(a){var c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),d(" normalize.run",()=>{a.graph().dummyChains=[],g.A(a.edges(),function(b){!function(a,b){var c,d,e=b.v,f=a.node(e).rank,g=b.w,h=a.node(g).rank,i=b.name,j=a.edge(b),k=j.labelRank;if(h!==f+1){a.removeEdge(b);var l=void 0;for(d=0,++f;f<h;++d,++f)j.points=[],c=aV(a,"edge",l={width:0,height:0,edgeLabel:j,edgeObj:b,rank:f},"_d"),f===k&&(l.width=j.width,l.height=j.height,l.dummy="edge-label",l.labelpos=j.labelpos),a.setEdge(e,c,{weight:j.weight},i),0===d&&a.graph().dummyChains.push(c),e=c;a.setEdge(e,g,{weight:j.weight},i)}}(a,b)})}),d(" parentDummyChains",()=>{var b,c,d,e;return c=a,d={},e=0,g.A(c.children(),function a(b){var f=e;g.A(c.children(b),a),d[b]={low:f,lim:e++}}),b=d,void g.A(a.graph().dummyChains,function(c){for(var d=a.node(c),e=d.edgeObj,f=function(a,b,c,d){var e,f,g=[],h=[],i=Math.min(b[c].low,b[d].low),j=Math.max(b[c].lim,b[d].lim);e=c;do g.push(e=a.parent(e));while(e&&(b[e].low>i||j>b[e].lim));for(f=e,e=d;(e=a.parent(e))!==f;)h.push(e);return{path:g.concat(h.reverse()),lca:f}}(a,b,e.v,e.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;c!==e.w;){if(d=a.node(c),k){for(;(j=g[i])!==h&&a.node(j).maxRank<d.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=d.rank;)i++;j=g[i]}a.setParent(c,j),c=a.successors(c)[0]}})}),d(" addBorderSegments",()=>{g.A(a.children(),function b(c){var d=a.children(c),e=a.node(c);if(d.length&&g.A(d,b),Object.prototype.hasOwnProperty.call(e,"minRank")){e.borderLeft=[],e.borderRight=[];for(var f=e.minRank,h=e.maxRank+1;f<h;++f)a1(a,"borderLeft","_bl",c,e,f),a1(a,"borderRight","_br",c,e,f)}})}),d(" order",()=>(function(a){var b=a$(a),c=bR(a,I(1,b+1),"inEdges"),d=bR(a,I(b-1,-1,-1),"outEdges"),e=(f={},h=bf.A(a.nodes(),function(b){return!a.children(b).length}),i=aH(n.A(h,function(b){return a.node(b).rank})),j=n.A(I(i+1),function(){return[]}),k=bP(h,function(b){return a.node(b).rank}),g.A(k,function b(c){aS(f,c)||(f[c]=!0,j[a.node(c).rank].push(c),g.A(a.successors(c),b))}),j);bS(a,e);for(var f,h,i,j,k,l,o=1/0,p=0,q=0;q<4;++p,++q){(function(a,b){var c=new J.T;g.A(a,function(a){var d,e,f,h=a.graph().root,i=function a(b,c,d,e){var f,h,i,j,k,l,o,p,q,r,s,t,u=b.children(c),v=b.node(c),w=v?v.borderLeft:void 0,x=v?v.borderRight:void 0,y={};w&&(u=bf.A(u,function(a){return a!==w&&a!==x}));var z=(f=u,n.A(f,function(a){var c=b.inEdges(a);if(!c.length)return{v:a};var d=bF.A(c,function(a,c){var d=b.edge(c),e=b.node(c.v);return{sum:a.sum+d.weight*e.order,weight:a.weight+d.weight}},{sum:0,weight:0});return{v:a,barycenter:d.sum/d.weight,weight:d.weight}}));g.A(z,function(c){if(b.children(c.v).length){var f,g,h=a(b,c.v,d,e);y[c.v]=h,Object.prototype.hasOwnProperty.call(h,"barycenter")&&(f=c,g=h,aM.A(f.barycenter)?(f.barycenter=g.barycenter,f.weight=g.weight):(f.barycenter=(f.barycenter*f.weight+g.barycenter*g.weight)/(f.weight+g.weight),f.weight+=g.weight))}});var A=(h={},g.A(z,function(a,b){var c=h[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};aM.A(a.barycenter)||(c.barycenter=a.barycenter,c.weight=a.weight)}),g.A(d.edges(),function(a){var b=h[a.v],c=h[a.w];aM.A(b)||aM.A(c)||(c.indegree++,b.out.push(h[a.w]))}),function(a){for(var b=[];a.length;){var c=a.pop();b.push(c),g.A(c.in.reverse(),function(a){return function(b){!b.merged&&(aM.A(b.barycenter)||aM.A(a.barycenter)||b.barycenter>=a.barycenter)&&function(a,b){var c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),g.A(c.out,function(b){return function(c){c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return n.A(bf.A(b,function(a){return!a.merged}),function(a){return aA(a,["vs","i","barycenter","weight"])})}(bf.A(h,function(a){return!a.indegree})));!function(a,b){g.A(a,function(a){a.vs=m(a.vs.map(function(a){return b[a]?b[a].vs:a}))})}(A,y);var B=(l=(i=function(a){return Object.prototype.hasOwnProperty.call(a,"barycenter")},j={lhs:[],rhs:[]},g.A(A,function(a){i(a)?j.lhs.push(a):j.rhs.push(a)}),k=j).lhs,o=bP(k.rhs,function(a){return-a.i}),p=[],q=0,r=0,s=0,l.sort(function(a){return function(b,c){return b.barycenter<c.barycenter?-1:b.barycenter>c.barycenter?1:a?c.i-b.i:b.i-c.i}}(!!e)),s=bQ(p,o,s),g.A(l,function(a){s+=a.vs.length,p.push(a.vs),q+=a.barycenter*a.weight,r+=a.weight,s=bQ(p,o,s)}),t={vs:m(p)},r&&(t.barycenter=q/r,t.weight=r),t);if(w&&(B.vs=m([w,B.vs,x]),b.predecessors(w).length)){var C=b.node(b.predecessors(w)[0]),D=b.node(b.predecessors(x)[0]);Object.prototype.hasOwnProperty.call(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+C.order+D.order)/(B.weight+2),B.weight+=2}return B}(a,h,c,b);g.A(i.vs,function(b,c){a.node(b).order=c}),d=i.vs,f={},g.A(d,function(b){for(var d,g,h=a.parent(b);h;){if((d=a.parent(h))?(g=f[d],f[d]=h):(g=e,e=h),g&&g!==h)return void c.setEdge(g,h);h=d}})})})(p%2?c:d,p%4>=2),e=aY(a);var r,s=function(a,b){for(var c=0,d=1;d<b.length;++d)c+=function(a,b,c){for(var d=bH(c||[],n.A(c,function(a,b){return b})||[],as.A),e=m(n.A(b,function(b){return bP(n.A(a.outEdges(b),function(b){return{pos:d[b.w],weight:a.edge(b).weight}}),"pos")})),f=1;f<c.length;)f<<=1;var h=2*f-1;f-=1;var i=n.A(Array(h),function(){return 0}),j=0;return g.A(e.forEach(function(a){var b=a.pos+f;i[b]+=a.weight;for(var c=0;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c})),j}(a,b[d-1],b[d]);return c}(a,e);s<o&&(q=0,r=e,l=(0,bG.A)(r,5),o=s)}bS(a,l)})(a)),d(" insertSelfEdges",()=>{var b,c;return c=aY(b=a),void g.A(c,function(a){var c=0;g.A(a,function(a,d){var e=b.node(a);e.order=d+c,g.A(e.selfEdges,function(a){aV(b,"selfedge",{width:a.label.width,height:a.label.height,rank:e.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete e.selfEdges})})}),d(" adjustCoordinateSystem",()=>{var b;("lr"===(b=a.graph().rankdir.toLowerCase())||"rl"===b)&&a2(a)}),d(" position",()=>{var b,c,d,e,f,h,i,j,k,l,m,o,p,q,r,s,t;r=aY(q=b=aW(b=a)),s=q.graph().ranksep,t=0,g.A(r,function(a){var b=aH(n.A(a,function(a){return q.node(a).height}));g.A(a,function(a){q.node(a).y=t+b/2}),t+=b+s}),e=aY(c=b),h=aq((f={},bF.A(e,function(a,b){var d=0,e=0,h=a.length,i=aI(b);return g.A(b,function(a,j){var k=function(a,b){if(a.node(b).dummy)return be(a.predecessors(b),function(b){return a.node(b).dummy})}(c,a),l=k?c.node(k).order:h;(k||a===i)&&(g.A(b.slice(e,j+1),function(a){g.A(c.predecessors(a),function(b){var e=c.node(b),g=e.order;(g<d||l<g)&&!(e.dummy&&c.node(a).dummy)&&bU(f,b,a)})}),e=j+1,d=l)}),b}),f),function(a,b){var c={};function d(b,d,e,f,h){var i;g.A(I(d,e),function(d){i=b[d],a.node(i).dummy&&g.A(a.predecessors(i),function(b){var d=a.node(b);d.dummy&&(d.order<f||d.order>h)&&bU(c,b,i)})})}return bF.A(b,function(b,c){var e,f=-1,h=0;return g.A(c,function(g,i){if("border"===a.node(g).dummy){var j=a.predecessors(g);j.length&&(e=a.node(j[0]).order,d(c,h,i,f,e),h=i,f=e)}d(c,h,c.length,e,b.length)}),c}),c}(c,e)),i={},g.A(["u","d"],function(a){d="u"===a?e:bE.A(e).reverse(),g.A(["l","r"],function(b){"r"===b&&(d=n.A(d,function(a){return bE.A(a).reverse()}));var e,f,j,k,l=("u"===a?c.predecessors:c.successors).bind(c),m=(e=d,f={},j={},k={},g.A(e,function(a){g.A(a,function(a,b){f[a]=a,j[a]=a,k[a]=b})}),g.A(e,function(a){var b=-1;g.A(a,function(a){var c=l(a);if(c.length)for(var d=((c=bP(c,function(a){return k[a]})).length-1)/2,e=Math.floor(d),g=Math.ceil(d);e<=g;++e){var i=c[e];j[a]===a&&b<k[i]&&!function(a,b,c){if(b>c){var d=b;b=c,c=d}return!!a[b]&&Object.prototype.hasOwnProperty.call(a[b],c)}(h,a,i)&&(j[i]=a,j[a]=f[a]=f[i],b=k[i])}})}),{root:f,align:j}),o=function(a,b,c,d,e){var f,h,i,j,k,l,m,n,o,p,q={},r=(f=a,h=b,i=c,j=e,n=new J.T,p=(k=(o=f.graph()).nodesep,l=o.edgesep,m=j,function(a,b,c){var d,e,f=a.node(b),g=a.node(c);if(d=0+f.width/2,Object.prototype.hasOwnProperty.call(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":e=-f.width/2;break;case"r":e=f.width/2}if(e&&(d+=m?e:-e),e=0,d+=(f.dummy?l:k)/2,d+=(g.dummy?l:k)/2,d+=g.width/2,Object.prototype.hasOwnProperty.call(g,"labelpos"))switch(g.labelpos.toLowerCase()){case"l":e=g.width/2;break;case"r":e=-g.width/2}return e&&(d+=m?e:-e),e=0,d}),g.A(h,function(a){var b;g.A(a,function(a){var c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(f,a,b),e||0))}b=a})}),n),s=e?"borderLeft":"borderRight";function t(a,b){for(var c=r.nodes(),d=c.pop(),e={};d;)e[d]?a(d):(e[d]=!0,c.push(d),c=c.concat(b(d))),d=c.pop()}return t(function(a){q[a]=r.inEdges(a).reduce(function(a,b){return Math.max(a,q[b.v]+r.edge(b))},0)},r.predecessors.bind(r)),t(function(b){var c=r.outEdges(b).reduce(function(a,b){return Math.min(a,q[b.w]-r.edge(b))},1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),g.A(d,function(a){q[a]=q[c[a]]}),q}(c,d,m.root,m.align,"r"===b);"r"===b&&(o=aL(o,function(a){return-a})),i[a+b]=o})}),j=a6(bE.A(i),function(a){var b,d=-1/0,e=1/0;return b=function(a,b){var f,g,h=(f=c,g=b,f.node(g).width/2);d=Math.max(a+h,d),e=Math.min(a-h,e)},null==a||(0,T.A)(a,(0,bT.A)(b),am.A),d-e}),l=aO(k=bE.A(j)),m=aH(k),g.A(["u","d"],function(a){g.A(["l","r"],function(b){var c,d=a+b,e=i[d];if(e!==j){var f=bE.A(e);(c="l"===b?l-aO(f):m-aH(f))&&(i[d]=aL(e,function(a){return a+c}))}})}),o=c.graph().align,p=aL(i.ul,function(a,b){if(o)return i[o.toLowerCase()][b];var c=bP(n.A(i,b));return(c[1]+c[2])/2}),p&&(0,aJ.A)(p,(0,bT.A)(function(a,c){b.node(c).x=a}))}),d(" positionSelfEdges",()=>{var b;return b=a,void g.A(b.nodes(),function(a){var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),d(" removeBorderNodes",()=>{var b;return b=a,void(g.A(b.nodes(),function(a){if(b.children(a).length){var c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(aI(c.borderLeft)),g=b.node(aI(c.borderRight));c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),g.A(b.nodes(),function(a){"border"===b.node(a).dummy&&b.removeNode(a)}))}),d(" normalize.undo",()=>{g.A(a.graph().dummyChains,function(b){var c,d=a.node(b),e=d.edgeLabel;for(a.setEdge(d.edgeObj,e);d.dummy;)c=a.successors(b)[0],a.removeNode(b),e.points.push({x:d.x,y:d.y}),"edge-label"===d.dummy&&(e.x=d.x,e.y=d.y,e.width=d.width,e.height=d.height),b=c,d=a.node(b)})}),d(" fixupEdgeLabelCoords",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c=b.edge(a);if(Object.prototype.hasOwnProperty.call(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),d(" undoCoordinateSystem",()=>{var b,c,d;("bt"===(b=a.graph().rankdir.toLowerCase())||"rl"===b)&&(c=a,g.A(c.nodes(),function(a){a4(c.node(a))}),g.A(c.edges(),function(a){var b=c.edge(a);g.A(b.points,a4),Object.prototype.hasOwnProperty.call(b,"y")&&a4(b)})),("lr"===b||"rl"===b)&&(d=a,g.A(d.nodes(),function(a){a5(d.node(a))}),g.A(d.edges(),function(a){var b=d.edge(a);g.A(b.points,a5),Object.prototype.hasOwnProperty.call(b,"x")&&a5(b)}),a2(a))}),d(" translateGraph",()=>(function(a){var b=1/0,c=0,d=1/0,e=0,f=a.graph(),h=f.marginx||0,i=f.marginy||0;function j(a){var f=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,f-h/2),c=Math.max(c,f+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}g.A(a.nodes(),function(b){j(a.node(b))}),g.A(a.edges(),function(b){var c=a.edge(b);Object.prototype.hasOwnProperty.call(c,"x")&&j(c)}),b-=h,d-=i,g.A(a.nodes(),function(c){var e=a.node(c);e.x-=b,e.y-=d}),g.A(a.edges(),function(c){var e=a.edge(c);g.A(e.points,function(a){a.x-=b,a.y-=d}),Object.prototype.hasOwnProperty.call(e,"x")&&(e.x-=b),Object.prototype.hasOwnProperty.call(e,"y")&&(e.y-=d)}),f.width=c-b+h,f.height=e-d+i})(a)),d(" assignNodeIntersects",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c,d,e=b.edge(a),f=b.node(a.v),g=b.node(a.w);e.points?(c=e.points[0],d=e.points[e.points.length-1]):(e.points=[],c=g,d=f),e.points.unshift(aX(f,c)),e.points.push(aX(g,d))})}),d(" reversePoints",()=>{var b;return b=a,void g.A(b.edges(),function(a){var c=b.edge(a);c.reversed&&c.points.reverse()})}),d(" acyclic.undo",()=>{g.A(a.edges(),function(b){var c=a.edge(b);if(c.reversed){a.removeEdge(b);var d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}))}),c(" updateInputGraph",()=>{var c,d;return c=a,d=b,void(g.A(c.nodes(),function(a){var b=c.node(a),e=d.node(a);b&&(b.x=e.x,b.y=e.y,d.children(a).length&&(b.width=e.width,b.height=e.height))}),g.A(c.edges(),function(a){var b=c.edge(a),e=d.edge(a);b.points=e.points,Object.prototype.hasOwnProperty.call(e,"x")&&(b.x=e.x,b.y=e.y)}),c.graph().width=d.graph().width,c.graph().height=d.graph().height)})})}var bW=["nodesep","edgesep","ranksep","marginx","marginy"],bX={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},bY=["acyclicer","ranker","rankdir","align"],bZ=["width","height"],b$={width:0,height:0},b_=["minlen","weight","width","height","labeloffset"],b0={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},b1=["labelpos"];function b2(a,b){return aL(aA(a,b),Number)}function b3(a){var b={};return g.A(a,function(a,c){b[c.toLowerCase()]=a}),b}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6337,exports.ids=[6337],exports.modules={17149:(a,b,c)=>{c.d(b,{A:()=>g});var d=c(71734),e=c(44878),f=Object.prototype.hasOwnProperty;let g=function(a,b,c){var g=a[b];f.call(a,b)&&(0,e.A)(g,c)&&(void 0!==c||b in a)||(0,d.A)(a,b,c)}},19089:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(17149),e=c(71734);let f=function(a,b,c,f){var g=!c;c||(c={});for(var h=-1,i=b.length;++h<i;){var j=b[h],k=f?f(c[j],a[j],j,c,a):void 0;void 0===k&&(k=a[j]),g?(0,e.A)(c,j,k):(0,d.A)(c,j,k)}return c}},30108:(a,b,c)=>{c.d(b,{A:()=>U});var d=c(41573),e=c(98007),f=c(17149),g=c(19089),h=c(45680),i=c(45092),j=c(44564),k=c(53149),l=c(48242),m=c(15078),n=c(91329),o=c(71963),p=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)(0,m.A)(b,(0,l.A)(a)),a=(0,n.A)(a);return b}:o.A,q=c(73416),r=c(15357);let s=function(a){return(0,r.A)(a,i.A,p)};var t=c(91680),u=Object.prototype.hasOwnProperty;let v=function(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&u.call(a,"index")&&(c.index=a.index,c.input=a.input),c};var w=c(42607);let x=function(a,b){var c=b?(0,w.A)(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.byteLength)};var y=/\w*$/;let z=function(a){var b=new a.constructor(a.source,y.exec(a));return b.lastIndex=a.lastIndex,b};var A=c(85291),B=A.A?A.A.prototype:void 0,C=B?B.valueOf:void 0,D=c(43391);let E=function(a,b,c){var d=a.constructor;switch(b){case"[object ArrayBuffer]":return(0,w.A)(a);case"[object Boolean]":case"[object Date]":return new d(+a);case"[object DataView]":return x(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,D.A)(a,c);case"[object Map]":case"[object Set]":return new d;case"[object Number]":case"[object String]":return new d(a);case"[object RegExp]":return z(a);case"[object Symbol]":return C?Object(C.call(a)):{}}};var F=c(65977),G=c(4591),H=c(1443),I=c(93820),J=c(63095),K=c(77127),L=K.A&&K.A.isMap,M=L?(0,J.A)(L):function(a){return(0,I.A)(a)&&"[object Map]"==(0,t.A)(a)},N=c(18671),O=K.A&&K.A.isSet,P=O?(0,J.A)(O):function(a){return(0,I.A)(a)&&"[object Set]"==(0,t.A)(a)},Q="[object Arguments]",R="[object Function]",S="[object Object]",T={};T[Q]=T["[object Array]"]=T["[object ArrayBuffer]"]=T["[object DataView]"]=T["[object Boolean]"]=T["[object Date]"]=T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Map]"]=T["[object Number]"]=T[S]=T["[object RegExp]"]=T["[object Set]"]=T["[object String]"]=T["[object Symbol]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T["[object Error]"]=T[R]=T["[object WeakMap]"]=!1;let U=function a(b,c,m,n,o,r){var u,w=1&c,x=2&c,y=4&c;if(m&&(u=o?m(b,n,o,r):m(b)),void 0!==u)return u;if(!(0,N.A)(b))return b;var z=(0,G.A)(b);if(z){if(u=v(b),!w)return(0,k.A)(b,u)}else{var A,B,C,D,I=(0,t.A)(b),J=I==R||"[object GeneratorFunction]"==I;if((0,H.A)(b))return(0,j.A)(b,w);if(I==S||I==Q||J&&!o){if(u=x||J?{}:(0,F.A)(b),!w)return x?(B=(A=u)&&(0,g.A)(b,(0,i.A)(b),A),(0,g.A)(b,p(b),B)):(D=(C=u)&&(0,g.A)(b,(0,h.A)(b),C),(0,g.A)(b,(0,l.A)(b),D))}else{if(!T[I])return o?b:{};u=E(b,I,w)}}r||(r=new d.A);var K=r.get(b);if(K)return K;r.set(b,u),P(b)?b.forEach(function(d){u.add(a(d,c,m,d,b,r))}):M(b)&&b.forEach(function(d,e){u.set(e,a(d,c,m,e,b,r))});var L=y?x?s:q.A:x?i.A:h.A,O=z?void 0:L(b);return(0,e.A)(O||b,function(d,e){O&&(d=b[e=d]),(0,f.A)(u,e,a(d,c,m,e,b,r))}),u}},38368:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(44090),e=c(78803),f=c(87826),g=c(4591);let h=function(a,b){return((0,g.A)(a)?d.A:f.A)(a,(0,e.A)(b,3))}},42607:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(12022);let e=function(a){var b=new a.constructor(a.byteLength);return new d.A(b).set(new d.A(a)),b}},43391:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(42607);let e=function(a,b){var c=b?(0,d.A)(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)}},44564:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(18623),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,f=e&&"object"==typeof module&&module&&!module.nodeType&&module,g=f&&f.exports===e?d.A.Buffer:void 0,h=g?g.allocUnsafe:void 0;let i=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},45092:(a,b,c)=>{c.d(b,{A:()=>k});var d=c(79524),e=c(18671),f=c(18765);let g=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b};var h=Object.prototype.hasOwnProperty;let i=function(a){if(!(0,e.A)(a))return g(a);var b=(0,f.A)(a),c=[];for(var d in a)"constructor"==d&&(b||!h.call(a,d))||c.push(d);return c};var j=c(93884);let k=function(a){return(0,j.A)(a)?(0,d.A)(a,!0):i(a)}},53149:(a,b,c)=>{c.d(b,{A:()=>d});let d=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},65977:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(18671),e=Object.create,f=function(){function a(){}return function(b){if(!(0,d.A)(b))return{};if(e)return e(b);a.prototype=b;var c=new a;return a.prototype=void 0,c}}(),g=c(91329),h=c(18765);let i=function(a){return"function"!=typeof a.constructor||(0,h.A)(a)?{}:f((0,g.A)(a))}},71734:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(11873);let e=function(a,b,c){"__proto__"==b&&d.A?(0,d.A)(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c}},87826:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(16730),e=c(93884);let f=function(a,b){var c=-1,f=(0,e.A)(a)?Array(a.length):[];return(0,d.A)(a,function(a,d,e){f[++c]=b(a,d,e)}),f}},91329:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(11017).A)(Object.getPrototypeOf,Object)}};
1
+ "use strict";exports.id=6337,exports.ids=[6337],exports.modules={17149:(a,b,c)=>{c.d(b,{A:()=>g});var d=c(71734),e=c(44878),f=Object.prototype.hasOwnProperty;let g=function(a,b,c){var g=a[b];f.call(a,b)&&(0,e.A)(g,c)&&(void 0!==c||b in a)||(0,d.A)(a,b,c)}},19089:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(17149),e=c(71734);let f=function(a,b,c,f){var g=!c;c||(c={});for(var h=-1,i=b.length;++h<i;){var j=b[h],k=f?f(c[j],a[j],j,c,a):void 0;void 0===k&&(k=a[j]),g?(0,e.A)(c,j,k):(0,d.A)(c,j,k)}return c}},30108:(a,b,c)=>{c.d(b,{A:()=>U});var d=c(41573),e=c(98007),f=c(17149),g=c(19089),h=c(23299),i=c(45092),j=c(44564),k=c(53149),l=c(48242),m=c(15078),n=c(91329),o=c(71963),p=Object.getOwnPropertySymbols?function(a){for(var b=[];a;)(0,m.A)(b,(0,l.A)(a)),a=(0,n.A)(a);return b}:o.A,q=c(73416),r=c(15357);let s=function(a){return(0,r.A)(a,i.A,p)};var t=c(91680),u=Object.prototype.hasOwnProperty;let v=function(a){var b=a.length,c=new a.constructor(b);return b&&"string"==typeof a[0]&&u.call(a,"index")&&(c.index=a.index,c.input=a.input),c};var w=c(42607);let x=function(a,b){var c=b?(0,w.A)(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.byteLength)};var y=/\w*$/;let z=function(a){var b=new a.constructor(a.source,y.exec(a));return b.lastIndex=a.lastIndex,b};var A=c(85291),B=A.A?A.A.prototype:void 0,C=B?B.valueOf:void 0,D=c(43391);let E=function(a,b,c){var d=a.constructor;switch(b){case"[object ArrayBuffer]":return(0,w.A)(a);case"[object Boolean]":case"[object Date]":return new d(+a);case"[object DataView]":return x(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,D.A)(a,c);case"[object Map]":case"[object Set]":return new d;case"[object Number]":case"[object String]":return new d(a);case"[object RegExp]":return z(a);case"[object Symbol]":return C?Object(C.call(a)):{}}};var F=c(65977),G=c(4591),H=c(1443),I=c(93820),J=c(63095),K=c(77127),L=K.A&&K.A.isMap,M=L?(0,J.A)(L):function(a){return(0,I.A)(a)&&"[object Map]"==(0,t.A)(a)},N=c(18671),O=K.A&&K.A.isSet,P=O?(0,J.A)(O):function(a){return(0,I.A)(a)&&"[object Set]"==(0,t.A)(a)},Q="[object Arguments]",R="[object Function]",S="[object Object]",T={};T[Q]=T["[object Array]"]=T["[object ArrayBuffer]"]=T["[object DataView]"]=T["[object Boolean]"]=T["[object Date]"]=T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Map]"]=T["[object Number]"]=T[S]=T["[object RegExp]"]=T["[object Set]"]=T["[object String]"]=T["[object Symbol]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T["[object Error]"]=T[R]=T["[object WeakMap]"]=!1;let U=function a(b,c,m,n,o,r){var u,w=1&c,x=2&c,y=4&c;if(m&&(u=o?m(b,n,o,r):m(b)),void 0!==u)return u;if(!(0,N.A)(b))return b;var z=(0,G.A)(b);if(z){if(u=v(b),!w)return(0,k.A)(b,u)}else{var A,B,C,D,I=(0,t.A)(b),J=I==R||"[object GeneratorFunction]"==I;if((0,H.A)(b))return(0,j.A)(b,w);if(I==S||I==Q||J&&!o){if(u=x||J?{}:(0,F.A)(b),!w)return x?(B=(A=u)&&(0,g.A)(b,(0,i.A)(b),A),(0,g.A)(b,p(b),B)):(D=(C=u)&&(0,g.A)(b,(0,h.A)(b),C),(0,g.A)(b,(0,l.A)(b),D))}else{if(!T[I])return o?b:{};u=E(b,I,w)}}r||(r=new d.A);var K=r.get(b);if(K)return K;r.set(b,u),P(b)?b.forEach(function(d){u.add(a(d,c,m,d,b,r))}):M(b)&&b.forEach(function(d,e){u.set(e,a(d,c,m,e,b,r))});var L=y?x?s:q.A:x?i.A:h.A,O=z?void 0:L(b);return(0,e.A)(O||b,function(d,e){O&&(d=b[e=d]),(0,f.A)(u,e,a(d,c,m,e,b,r))}),u}},38368:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(44090),e=c(78803),f=c(87826),g=c(4591);let h=function(a,b){return((0,g.A)(a)?d.A:f.A)(a,(0,e.A)(b,3))}},42607:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(12022);let e=function(a){var b=new a.constructor(a.byteLength);return new d.A(b).set(new d.A(a)),b}},43391:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(42607);let e=function(a,b){var c=b?(0,d.A)(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)}},44564:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(18623),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,f=e&&"object"==typeof module&&module&&!module.nodeType&&module,g=f&&f.exports===e?d.A.Buffer:void 0,h=g?g.allocUnsafe:void 0;let i=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},45092:(a,b,c)=>{c.d(b,{A:()=>k});var d=c(79524),e=c(18671),f=c(18765);let g=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b};var h=Object.prototype.hasOwnProperty;let i=function(a){if(!(0,e.A)(a))return g(a);var b=(0,f.A)(a),c=[];for(var d in a)"constructor"==d&&(b||!h.call(a,d))||c.push(d);return c};var j=c(93884);let k=function(a){return(0,j.A)(a)?(0,d.A)(a,!0):i(a)}},53149:(a,b,c)=>{c.d(b,{A:()=>d});let d=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},65977:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(18671),e=Object.create,f=function(){function a(){}return function(b){if(!(0,d.A)(b))return{};if(e)return e(b);a.prototype=b;var c=new a;return a.prototype=void 0,c}}(),g=c(91329),h=c(18765);let i=function(a){return"function"!=typeof a.constructor||(0,h.A)(a)?{}:f((0,g.A)(a))}},71734:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(11873);let e=function(a,b,c){"__proto__"==b&&d.A?(0,d.A)(a,b,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[b]=c}},87826:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(16730),e=c(93884);let f=function(a,b){var c=-1,f=(0,e.A)(a)?Array(a.length):[];return(0,d.A)(a,function(a,d,e){f[++c]=b(a,d,e)}),f}},91329:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(11017).A)(Object.getPrototypeOf,Object)}};
@@ -1 +1 @@
1
- "use strict";exports.id=6429,exports.ids=[6429],exports.modules={7859:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>p,Dm:()=>o,YB:()=>l,fr:()=>n,y8:()=>m});var e=c(29021),f=c(33873),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let q="titleModel";function j(){return(0,f.join)((0,g.getAgentDir)(),"settings.json")}function k(){let a=j();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}function l(){let a=k()[q];return"string"==typeof a&&a.length>0?a:null}function m(a){let b=k();null===a||""===a?delete b[q]:b[q]=a,(0,h.$)(j(),JSON.stringify(b,null,2))}function n(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}function o(a){let b=a.providers;if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b)){let b=d?.models;if(Array.isArray(b))for(let d of b)"string"==typeof d?.id&&0!==d.id.length&&c.push({provider:a,id:d.id,reasoning:!0===d.reasoning,label:`${a}/${d.id}`})}return c.sort((a,b)=>a.label.localeCompare(b.label))}function p(a,b){return b.some(b=>b.label===a)}d()}catch(a){d(a)}})},8102:(a,b,c)=>{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}}}},18904:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>j,p:()=>i});var e=c(75430),f=c(7859),g=a([e,f]);function h(a,b){return a.provider===b.provider&&a.id===b.modelId}async function i(a,b){let c=(0,f.fr)().providers??{},d=new Set;for(let[a,b]of Object.entries(c)){let c=b?.models;if(Array.isArray(c))for(let b of c)"string"==typeof b.id&&!0===b.hidden&&d.add(`${a}/${b.id}`)}let g=(b??[]).map(a=>a.trim()).filter(Boolean),h=[],i=[],j={},k=[];if(0===g.length)h=await a.getAvailable();else{let b=await (0,e.resolveModelScopeWithDiagnostics)(g,a);for(let c of(i=b.scopedModels,h=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await a.getAvailable(),k.push(...b.diagnostics.map(a=>a.message)),i))c.thinkingLevel&&(j[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return{visible:h=h.filter(a=>!d.has(`${a.provider}/${a.id}`)),scopedModels:h.length===i.length?i:i.filter(a=>!d.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:j,warnings:k}}function j(a,b={}){let c=b.requestedModel?a.visible.find(a=>h(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>h(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>h(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>h(a,b.defaultModel)),i=c??f?.model??g,k=d??f,l=b.thinkingLevel??k?.thinkingLevel;return{...i?{model:i}:{},...l?{thinkingLevel:l}:{},scopedModels:[...a.scopedModels]}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},28967:(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){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,{k:()=>e,r:()=>f})},30590:(a,b,c)=>{c.d(b,{o:()=>d});async function d(a,b,c){if(!b.model&&!b.thinkingLevel)return{modelDefaultChanged:!1};let d=!1;return b.model&&c.model&&b.model.provider===c.model.provider&&b.model.modelId===c.model.modelId&&(a.setDefaultModelAndProvider(c.model.provider,c.model.modelId),d=!0),b.thinkingLevel&&(c.supportsThinking||"off"!==c.thinkingLevel)&&a.setDefaultThinkingLevel(c.thinkingLevel),await a.flush(),{modelDefaultChanged:d}}},43671:(a,b,c)=>{c.d(b,{Gc:()=>g,ov:()=>h,pj:()=>i,wx:()=>j});var d=c(55511),e=c(29021);function f(a){return`${a}.queue.json`}function g(a,b,c){return{id:(0,d.randomUUID)(),kind:a,text:b,...c&&c.length>0?{images:c}:{},queuedAt:Date.now()}}function h(a){let b=f(a);if(!(0,e.existsSync)(b))return[];try{let a=JSON.parse((0,e.readFileSync)(b,"utf8"));if(!a||1!==a.version||!Array.isArray(a.entries))return[];return a.entries.filter(a=>!!a&&("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text)}catch{return[]}}function i(a,b){if(!a)return;let c=f(a),g=`${c}.tmp-${process.pid}-${(0,d.randomUUID)()}`;try{(0,e.writeFileSync)(g,JSON.stringify({version:1,entries:b}),"utf8"),(0,e.renameSync)(g,c)}catch(a){try{(0,e.rmSync)(g,{force:!0})}catch{}console.error(`[pi-web] failed to persist queue sidecar ${c}:`,a instanceof Error?a.message:String(a))}}function j(a){try{(0,e.rmSync)(f(a),{force:!0})}catch{}}},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>w,HG:()=>z,OF:()=>A,_I:()=>x,oA:()=>y});var e=c(75430),f=c(29862),g=c(55511),h=c(29021),i=c(33873),j=c(78970),k=c(43671),l=c(28967),m=c(18904),n=c(72498),o=c(40402),p=c(30590),q=c(71069),r=a([e,f,m,n,o]);[e,f,m,n,o]=r.then?(await r)():r;let B=["read","bash","edit","write","grep","find","ls"];class C extends e.Theme{constructor(){super({thinkingXhigh:""},{},"truecolor")}fg(...[,a]){return a}bg(...[,a]){return a}bold(a){return a}italic(a){return a}underline(a){return a}inverse(a){return a}strikethrough(a){return a}getFgAnsi(){return""}getBgAnsi(){return""}getThinkingBorderColor(){return a=>a}getBashModeBorderColor(){return a=>a}}let D=new C,E=new f.KeybindingsManager(f.TUI_KEYBINDINGS);function s(a,b){if(0===b.length)return[];let c=new Set(B),d=a.getAllTools().map(a=>a.name).filter(a=>!c.has(a));return[...new Set([...b,...d])]}class F{constructor(a,b){this.inner=a,this.cwd=b,this.listeners=[],this.pendingUiResponses=new Map,this.pendingUiRequests=new Map,this.activeCustomUis=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.extensionsBound=!1,this.extensionBindingPromise=null,this.extensionBindingError=null,this.forceEmptySystemPrompt=!1,this.unsubscribe=null,this.idleTimer=null,this.queueMirror=[],this.queueRecovery=[],this.pendingQueueHints={steer:[],followUp:[]},this.queueMutationTail=Promise.resolve(),this.onDestroyCallback=null,this.shutdownPromise=null,this._alive=!0}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}isRunning(){return this._alive&&(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)}start(){this.unsubscribe=this.inner.subscribe(a=>{"agent_end"===a.type&&(0,o.mD)(),("agent_end"===a.type||"agent_settled"===a.type||"auto_compaction_end"===a.type||"compaction_end"===a.type)&&this.resetIdleTimer(),"queue_update"===a.type&&this.reconcileQueue(a.steering,a.followUp),this.emit(a)}),this.resetIdleTimer()}loadQueueRecovery(){if(!this.sessionFile)return;let a=this.inner.getSteeringMessages(),b=this.inner.getFollowUpMessages();if(a.length||b.length){this.queueRecovery=[],this.reconcileQueue([...a],[...b]);return}this.queueRecovery=(0,k.ov)(this.sessionFile)}pendingRecoveryView(){return this.queueRecovery.map(({id:a,kind:b,text:c,images:d,queuedAt:e})=>({id:a,kind:b,text:c,hasImages:!!d?.length,queuedAt:e}))}persistQueue(){if(!this.sessionFile)return;let a=[...this.queueRecovery,...this.queueMirror];a.length?(0,k.pj)(this.sessionFile,a):(0,k.wx)(this.sessionFile)}hintQueueImages(a,b){this.pendingQueueHints[a].push(b?.length?b:[])}reconcileQueue(a,b){let c=(a,b)=>{if(!b)return this.queueMirror.filter(b=>b.kind===a);let c=new Set;return b.map(b=>{let d=this.queueMirror.find(d=>d.kind===a&&d.text===b&&!c.has(d));if(d)return c.add(d),d;let e=(0,k.Gc)(a,b,this.pendingQueueHints[a].shift());return c.add(e),e})};this.queueMirror=[...c("steer",a),...c("followUp",b)],this.persistQueue()}async requeueEntry(a){let b=(0,j.kc)(a.images);if(b)throw Error(b);this.hintQueueImages(a.kind,a.images),"steer"===a.kind?await this.inner.steer(a.text,a.images):await this.inner.followUp(a.text,a.images)}ensureMirrored(a){this.queueMirror.find(b=>b.kind===a.kind&&b.text===a.text)||(this.queueMirror.push({...a}),this.pendingQueueHints[a.kind].pop())}async replaceLiveQueue(a,b){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))await this.requeueEntry(b);for(let a of b)await this.requeueEntry(a);let c={steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]};return this.reconcileQueue(c.steering,c.followUp),c}async withQueueMutation(a){let b,c=this.queueMutationTail;this.queueMutationTail=new Promise(a=>{b=a}),await c;try{return await a()}finally{b()}}async mutateLiveQueue(a,b){return this.withQueueMutation(async()=>{let c=this.queueMirror.filter(a=>"steer"===a.kind),d=this.queueMirror.filter(a=>"followUp"===a.kind),e=b("steer"===a?c:d),f=await this.replaceLiveQueue(c,d);return{value:e,queues:f}})}validateQueueEntries(a){for(let b of a){if("steer"!==b.kind&&"followUp"!==b.kind||"string"!=typeof b.text)continue;let a=(0,j.kc)(b.images);if(a)throw Error(a)}}runAgentContinue(){if(this.inner.isStreaming||this.inner.isBashRunning||this.promptRunning)return;let a=[...this.queueMirror];0!==a.length&&(this.queueMirror=[],this.persistQueue(),this.promptRunning=!0,this.bootstrapQueuedRun(a))}async bootstrapQueuedRun(a){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))try{await this.inner.prompt(b.text,b.images?.length?{images:b.images}:void 0)}catch(a){this.promptRunning=!1,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),this.emit({type:"prompt_done"});return}this.promptRunning=!1,this.resetIdleTimer(),this.emit({type:"prompt_done"})}setForceEmptySystemPrompt(a){this.forceEmptySystemPrompt=a,this.applyForcedEmptySystemPrompt()}beginExtensionBinding(a={}){this.ensureExtensionsBound(a).catch(a=>{console.error("[pi-web] failed to dispatch session_start to extensions:",a instanceof Error?a.message:a)})}ensureExtensionsBound(a={}){return(a.forceEmptySystemPrompt&&(this.forceEmptySystemPrompt=!0),this.extensionsBound)?(this.applyForcedEmptySystemPrompt(),Promise.resolve()):(this.extensionBindingPromise||(this.extensionBindingError=null,this.extensionBindingPromise=(async()=>{if(!this._alive)return;let a=this.createExtensionUiContext();if("function"==typeof this.inner.bindExtensions){let b=this.inner.bindExtensions;await b.call(this.inner,{uiContext:a,mode:"rpc",commandContextActions:this.createExtensionCommandContextActions(),shutdownHandler:()=>this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",notifyType:"warning",message:"Extension requested shutdown, but shutdown is not supported in pi-web."}),onError:a=>this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})})}else this.inner.extensionRunner.setUIContext?.(a,"rpc");this.extensionsBound=!0,this.applyForcedEmptySystemPrompt(),console.log(`[pi-web] session_start dispatched to extensions for session ${this.inner.sessionId}`)})().catch(a=>{throw this.extensionBindingError=a,a})),this.extensionBindingPromise)}async waitForExtensionsBound(){try{this.extensionBindingPromise&&await this.extensionBindingPromise}catch(a){throw a instanceof Error?a:Error(String(a))}if(this.extensionBindingError)throw this.extensionBindingError instanceof Error?this.extensionBindingError:Error(String(this.extensionBindingError))}shouldWaitForExtensions(a){return"prompt"===a||"steer"===a||"follow_up"===a||"get_commands"===a}applyForcedEmptySystemPrompt(){this.forceEmptySystemPrompt&&this.inner.agent.state&&(this.inner.agent.state.systemPrompt="")}emit(a){for(let b of this.listeners)b(a)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.shutdown().catch(a=>{console.error("[pi-web] failed to shut down idle session:",a instanceof Error?a.message:a)})},6e5)}persistBashOnlySession(){let a=this.inner.sessionManager,b=a.getSessionFile();if(!b||(0,h.existsSync)(b))return;let c=a.getHeader();if(!c)return;let d=[c,...a.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,h.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"}),a.flushed=!0,(0,o.O8)(this.inner.sessionId,b)}onEvent(a){for(let b of(this.listeners.push(a),this.pendingUiRequests.values()))a(b);return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b||"requeue_at"===b){let b=(0,j.kc)(a.images);if(b)throw Error(b)}switch(this.shouldWaitForExtensions(b)&&await this.waitForExtensionsBound(),b){case"prompt":{if(this.inner.isBashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.images,c=a.streamingBehavior;return c&&this.inner.isStreaming&&this.hintQueueImages("followUp"===c?"followUp":"steer",b),this.promptRunning=!0,this.inner.prompt(a.message,{...b?.length?{images:b}:{},...c?{streamingBehavior:c}:{},source:"rpc"}).then(()=>{this.promptRunning=!1,this.resetIdleTimer(),c||this.emit({type:"prompt_done"})}).catch(a=>{this.promptRunning=!1,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),c||this.emit({type:"prompt_done"})}),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.inner.isBashRunning,isCompacting:this.inner.isCompacting,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:this.inner.pendingMessageCount,queuedMessages:{steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]},pendingRecovery:this.pendingRecoveryView(),contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:this.inner.agent.state?.systemPrompt??"",thinkingLevel:this.inner.agent.state?.thinkingLevel??"off",extensionStatuses:this.getExtensionStatuses(),extensionWidgets:this.getExtensionWidgets()}}case"set_model":{let{provider:b,modelId:c}=a,d=this.inner.modelRuntime.getModel(b,c);if(!d)throw Error(`Model not found: ${b}/${c}`);return await this.inner.setModel(d),(0,l.k)(),(0,o.mD)(),{id:d.id,provider:d.provider}}case"fork":{let b,c=a.entryId,d=this.inner.sessionManager,f=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!f)throw Error("Persisted session is missing a session file");let g=d.getEntry(c);if(!g)throw Error("Invalid entry ID for forking");let h=d.getSessionDir();if(g.parentId){let a=e.SessionManager.open(f,h).createBranchedSession(g.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),h);a.newSession({parentSession:f}),b=a.getSessionFile()}let i=e.SessionManager.open(b,h).getSessionId();return(0,o.O8)(i,b),(0,o.mD)(),await this.shutdown(),{cancelled:!1,newSessionId:i}}case"navigate_tree":return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),(0,o.mD)(),null}case"compact":try{return await this.inner.compact(a.customInstructions)}finally{(0,o.mD)()}case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return this.inner.setSessionName(b),(0,o.mD)(),null}case"get_session_stats":return{...this.inner.getSessionStats(),sessionName:this.inner.sessionManager.getSessionName()};case"get_last_assistant_text":return{text:this.inner.getLastAssistantText()??""};case"clear_queue":return this.queueMirror=[],this.pendingQueueHints={steer:[],followUp:[]},this.persistQueue(),this.inner.clearQueue();case"move_queue":{let b=a.kind,c=Number(a.fromIndex),d=Number(a.toIndex);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!Number.isInteger(d))throw Error("move_queue requires a queue kind and integer indexes");let{queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length||d<0||d>=a.length)throw Error("move_queue index out of range");let[b]=a.splice(c,1);a.splice(d,0,b)});return e}case"recall_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("recall_queue_item requires a queue kind and integer index");let{value:d,queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("recall_queue_item index out of range");let[b]=a.splice(c,1);return b});return{entry:{text:d.text,images:d.images??[]},...e}}case"requeue_at":{let b=a.kind,c=Number(a.index),d=a.text;if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!d?.trim())throw Error("requeue_at requires a queue kind, integer index, and text");let e=a.images,{queues:f}=await this.mutateLiveQueue(b,a=>{if(c<0||c>a.length)throw Error("requeue_at index out of range");a.splice(c,0,(0,k.Gc)(b,d,e))});return f}case"remove_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("remove_queue_item requires a queue kind and integer index");let{queues:d}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("remove_queue_item index out of range");a.splice(c,1)});return d}case"resolve_recovery":{let b=new Set(a.keep??[]),c=new Set(a.discard??[]),d=!0===a.continueRun,e=0;for(let a of this.queueRecovery)b.has(a.id)&&(await this.requeueEntry(a),this.ensureMirrored(a),e+=1);return this.queueRecovery=this.queueRecovery.filter(a=>!b.has(a.id)&&!c.has(a.id)),this.persistQueue(),d&&e>0&&this.runAgentContinue(),{remaining:this.pendingRecoveryView(),kept:e}}case"export_queue":return{live:this.queueMirror.map(a=>({...a})),recovery:this.queueRecovery.map(a=>({...a}))};case"import_queue":{let b=a.entries;if(!Array.isArray(b))throw Error("import_queue requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b){if("steer"!==a.kind&&"followUp"!==a.kind||"string"!=typeof a.text)continue;let b=(0,k.Gc)(a.kind,a.text,a.images);await this.requeueEntry(b),this.ensureMirrored(b),c+=1}return this.persistQueue(),{imported:c,steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]}}case"stage_recovery":{let b=a.entries;if(!Array.isArray(b))throw Error("stage_recovery requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b)("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text&&(this.queueRecovery.push((0,k.Gc)(a.kind,a.text,a.images)),c+=1);return this.persistQueue(),{staged:c,pendingRecovery:this.pendingRecoveryView()}}case"steer":{let b=a.images;return this.hintQueueImages("steer",b),await this.inner.steer(a.message,b?.length?b:void 0),null}case"follow_up":{let b=a.images;return this.hintQueueImages("followUp",b),await this.inner.followUp(a.message,b?.length?b:void 0),null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"get_commands":{let a=[];for(let b of this.inner.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of this.inner.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt",sourceInfo:b.sourceInfo});for(let b of this.inner.resourceLoader.getSkills().skills)a.push({name:`skill:${b.name}`,description:b.description,source:"skill",sourceInfo:b.sourceInfo});return{commands:a}}case"set_tools":{let b=a.toolNames;return this.setForceEmptySystemPrompt(0===b.length),this.inner.setActiveToolsByName(s(this.inner,b)),this.applyForcedEmptySystemPrompt(),null}case"reload":return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload(),"function"!=typeof this.inner.bindExtensions&&this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc"),this.applyForcedEmptySystemPrompt(),{success:!0};case"abort_compaction":return this.inner.abortCompaction(),null;case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"bash":{if(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext});try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,o.mD)()}}case"abort_bash":return this.inner.abortBash(),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){if(this._alive){for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear();try{this.inner.dispose()}finally{this.onDestroyCallback?.()}}}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}await this.inner.extensionRunner.emit?.({type:"session_shutdown",reason:"quit"})}finally{this.destroy()}})(),this.shutdownPromise):void 0}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}getCustomUiWidth(a){if(!a||"object"!=typeof a)return q.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return q.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):q.p1}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){let c=this.activeCustomUis.get(a);if(c&&"string"==typeof b)try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=(0,g.randomUUID)(),d=this.getCustomUiWidth(b);return new Promise(b=>{let e=!1,f=(0,q.TQ)(()=>{let a=this.activeCustomUis.get(c);a&&this.emitCustomUiRender(c,a)},d),g=a=>{e||(e=!0,b(a))},h=a=>{this.activeCustomUis.has(c)?this.closeCustomUi(c,a):g(a)};Promise.resolve().then(()=>a(f,D,E,h)).then(a=>{if(e){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void g(void 0);let b={component:a,width:d,resolve:a=>g(a),settled:!1};this.activeCustomUis.set(c,b),this.emitCustomUiRender(c,b)}).catch(a=>{e||(this.emit({type:"extension_error",extensionPath:`custom-ui:${c}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),g(void 0))})})}requestExtensionUi(a,b,c,d,e){if(e?.aborted)return Promise.resolve(b);let f=(0,g.randomUUID)(),h={type:"extension_ui_request",id:f,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}};return new Promise(a=>{let g,i=()=>{g&&clearTimeout(g),e?.removeEventListener("abort",k),this.pendingUiRequests.delete(f),this.pendingUiResponses.delete(f)},j=b=>{i(),a(b)},k=()=>j(b);d&&(g=setTimeout(()=>j(b),d)),e?.addEventListener("abort",k,{once:!0}),this.pendingUiRequests.set(f,h),this.pendingUiResponses.set(f,{resolve:a=>j(c(a)),cancel:()=>j(b)}),this.emit(h)})}createExtensionUiContext(){return{select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{(void 0===b||Array.isArray(b))&&(void 0===b?this.extensionWidgets.delete(a):this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return D},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in pi-web extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}syncProjectTrust(){this.inner.settingsManager.setProjectTrusted((0,n.Y1)(this.cwd,(0,e.getAgentDir)()).trusted)}createExtensionCommandContextActions(){return{waitForIdle:async()=>{let a=this.inner.agent;await a.waitForIdle?.()},newSession:async()=>({cancelled:!0}),fork:async()=>({cancelled:!0}),navigateTree:async(a,b)=>({cancelled:(await this.inner.navigateTree(a,{summarize:b?.summarize})).cancelled}),switchSession:async()=>({cancelled:!0}),reload:async()=>{this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload({beforeSessionStart:()=>{this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc")}}),this.applyForcedEmptySystemPrompt()}}}}function t(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>Promise.allSettled(Array.from(globalThis.__piSessions?.values()??[],a=>a.shutdown()));process.once("exit",()=>globalThis.__piSessions?.forEach(a=>a.destroy())),process.once("SIGINT",()=>{a().finally(()=>process.exit(130))}),process.once("SIGTERM",()=>{a().finally(()=>process.exit(143))})}return globalThis.__piSessions}function u(a){let b=(0,i.resolve)(a);try{return(0,h.realpathSync)(b)}catch{return b}}function v(){return globalThis.__piStartingSessionCwds||(globalThis.__piStartingSessionCwds=new Map),globalThis.__piStartingSessionCwds}function w(a){return t().get(a)}function x(a){let b=u(a);return!!v().has(b)||Array.from(t().values()).some(a=>u(a.cwd)===b&&a.isRunning())}async function y(a){let b=u(a),c=Array.from(t().values()).filter(a=>u(a.cwd)===b);return await Promise.all(c.map(a=>a.shutdown())),c.length}function z(){let a=new Set;for(let[b,c]of t())c.isRunning()&&a.add(c.sessionId||b);return[...a]}async function A(a,b,c,d={}){let f,g,h,{toolNames:i,initialModel:j,thinkingLevel:k}=d,q=t(),r=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),w=q.get(a);if(w?.isAlive())return{session:w,realSessionId:a};let x=r.get(a);if(x)return x;if(b)f=e.SessionManager.open(b,void 0);else{if(!c)throw Error("cwd is required for a new session");f=e.SessionManager.create(c,void 0)}let y=f.getCwd(),z=(g=v(),h=u(y),g.set(h,(g.get(h)??0)+1),()=>{let a=(g.get(h)??1)-1;a>0?g.set(h,a):g.delete(h)}),B=(async()=>{let a;(0,e.initTheme)();let b=(0,e.getAgentDir)();void 0!==i&&(a=0===i.length?[]:void 0);let c=(0,n.Fk)(y,b),d=await (0,e.createAgentSessionServices)({cwd:y,agentDir:b,...c?{resourceLoaderReloadOptions:c}:{}}),g=await (0,m.p)(d.modelRuntime,d.settingsManager.getEnabledModels()),h=d.settingsManager.getDefaultProvider(),r=d.settingsManager.getDefaultModel(),t=f.getBranch().some(a=>"message"===a.type)?{scopedModels:[...g.scopedModels]}:(0,m.I)(g,{...j?{requestedModel:j}:{},...h&&r?{defaultModel:{provider:h,modelId:r}}:{},...k?{thinkingLevel:k}:{}}),{session:u}=await (0,e.createAgentSessionFromServices)({services:d,sessionManager:f,...t.model?{model:t.model}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{},...t.scopedModels.length>0?{scopedModels:t.scopedModels}:{},...void 0!==a?{tools:a}:{}});(await (0,p.o)(d.settingsManager,{...j?{model:j}:{},...k?{thinkingLevel:k}:{}},{...u.model?{model:{provider:u.model.provider,modelId:u.model.id}}:{},thinkingLevel:u.agent.state?.thinkingLevel??"off",supportsThinking:u.supportsThinking()})).modelDefaultChanged&&(0,l.k)(),i&&i.length>0&&u.setActiveToolsByName(s(u,i));let v=new F(u,y);i?.length===0&&v.setForceEmptySystemPrompt(!0),v.start(),v.loadQueueRecovery();let w=u.sessionId,x=u.sessionFile;return x&&(0,o.O8)(w,x),v.onDestroy(()=>q.delete(w)),q.set(w,v),v.beginExtensionBinding({forceEmptySystemPrompt:i?.length===0}),{session:v,realSessionId:w}})().finally(()=>{r.delete(a),z()});return r.set(a,B),B}d()}catch(a){d(a)}})},71069:(a,b,c)=>{c.d(b,{TQ:()=>e,p1:()=>d});let d=92;function e(a,b=d,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},78970:(a,b,c)=>{c.d(b,{kc:()=>d});function d(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a)if(!function(a){var b;if(!a||"object"!=typeof a||"image"!==a.type||"string"!=typeof a.data||"string"!=typeof a.mimeType||(b=a.mimeType,!/^image\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]*$/.test(b)))return!1;let c=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b,d=null;for(let b=0;b<c;b+=1){var e;let c=(e=a.charCodeAt(b))>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:43===e?62:47===e?63:null;if(null===c)return null;d=c}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return 2===b&&d%16!=0||1===b&&d%4!=0?null:a.length/4*3-b}(a.data);return null!==c&&c<=0xa00000}(b))return"Each image must be valid base64 image data with an image MIME type and be 10MB or smaller";return null}}};
1
+ "use strict";exports.id=6429,exports.ids=[6429],exports.modules={7859:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>p,Dm:()=>o,YB:()=>l,fr:()=>n,y8:()=>m});var e=c(29021),f=c(33873),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let q="titleModel";function j(){return(0,f.join)((0,g.getAgentDir)(),"settings.json")}function k(){let a=j();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}function l(){let a=k()[q];return"string"==typeof a&&a.length>0?a:null}function m(a){let b=k();null===a||""===a?delete b[q]:b[q]=a,(0,h.$)(j(),JSON.stringify(b,null,2))}function n(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}function o(a){let b=a.providers;if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b)){let b=d?.models;if(Array.isArray(b))for(let d of b)"string"==typeof d?.id&&0!==d.id.length&&c.push({provider:a,id:d.id,reasoning:!0===d.reasoning,label:`${a}/${d.id}`})}return c.sort((a,b)=>a.label.localeCompare(b.label))}function p(a,b){return b.some(b=>b.label===a)}d()}catch(a){d(a)}})},8102:(a,b,c)=>{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}}}},18904:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>k,p:()=>j});var e=c(75430),f=c(7859),g=c(37171),h=a([e,f]);function i(a,b){return a.provider===b.provider&&a.id===b.modelId}async function j(a,b,c={}){let d=(0,f.fr)().providers??{},h=new Set;for(let[a,b]of Object.entries(d)){let c=(0,g.du)(b);for(let[b,d]of Object.entries(c))!0===d.hidden&&h.add(`${a}/${b}`)}let i=(b??[]).map(a=>a.trim()).filter(Boolean),k=[],l=[],m={},n=[];if(0===i.length)k=await a.getAvailable();else{let b=await (0,e.resolveModelScopeWithDiagnostics)(i,a);for(let c of(l=b.scopedModels,k=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await a.getAvailable(),n.push(...b.diagnostics.map(a=>a.message)),l))c.thinkingLevel&&(m[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return c.includeHidden||(k=k.filter(a=>!h.has(`${a.provider}/${a.id}`))),{visible:k,scopedModels:c.includeHidden||k.length===l.length?l:l.filter(a=>!h.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:m,warnings:n}}function k(a,b={}){let c=b.requestedModel?a.visible.find(a=>i(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>i(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>i(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>i(a,b.defaultModel)),h=c??f?.model??g,j=d??f,l=b.thinkingLevel??j?.thinkingLevel;return{...h?{model:h}:{},...l?{thinkingLevel:l}:{},scopedModels:[...a.scopedModels]}}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},28967:(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){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,{k:()=>e,r:()=>f})},30590:(a,b,c)=>{c.d(b,{o:()=>d});async function d(a,b,c){if(!b.model&&!b.thinkingLevel)return{modelDefaultChanged:!1};let d=!1;return b.model&&c.model&&b.model.provider===c.model.provider&&b.model.modelId===c.model.modelId&&(a.setDefaultModelAndProvider(c.model.provider,c.model.modelId),d=!0),b.thinkingLevel&&(c.supportsThinking||"off"!==c.thinkingLevel)&&a.setDefaultThinkingLevel(c.thinkingLevel),await a.flush(),{modelDefaultChanged:d}}},37171:(a,b,c)=>{c.d(b,{S4:()=>h,du:()=>g});let d=["name","reasoning","contextWindow","maxTokens","thinkingLevelMap","hidden"];function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a){let b=a?.modelOverrides;if(!e(b))return{};let c={};for(let[a,d]of Object.entries(b))e(d)&&(c[a]={...d});return c}function g(a){let b=function(a){let b={},c=a?.models;if(!Array.isArray(c))return b;for(let a of c)e(a)&&"string"==typeof a.id&&a.id&&(b[a.id]={...a});return b}(a),c=f(a),d=new Set([...Object.keys(b),...Object.keys(c)]),g={};for(let a of d)g[a]={...b[a]??{},...c[a]??{}};return g}function h(a,b){let c=a?{...a}:{},g=f(a),h=Array.isArray(a?.models)?a.models.filter(e).map(a=>({...a})):[];for(let[a,c]of Object.entries(b)){let b={...g[a]??{}},f=h.findIndex(b=>b.id===a),i=f>=0?h[f]:void 0;for(let[a,f]of Object.entries(c)){if(!d.includes(a))continue;i&&delete i[a];let c="thinkingLevelMap"===a&&e(f)&&0===Object.keys(f).length?null:f;null===c?delete b[a]:b[a]=c}(i&&Object.keys(i).every(a=>"id"===a)&&h.splice(f,1),Object.keys(b).length>0)?g[a]=b:delete g[a]}return h.length>0?c.models=h:Array.isArray(a?.models)&&delete c.models,Object.keys(g).length>0?c.modelOverrides=g:delete c.modelOverrides,c}},43671:(a,b,c)=>{c.d(b,{Gc:()=>g,ov:()=>h,pj:()=>i,wx:()=>j});var d=c(55511),e=c(29021);function f(a){return`${a}.queue.json`}function g(a,b,c){return{id:(0,d.randomUUID)(),kind:a,text:b,...c&&c.length>0?{images:c}:{},queuedAt:Date.now()}}function h(a){let b=f(a);if(!(0,e.existsSync)(b))return[];try{let a=JSON.parse((0,e.readFileSync)(b,"utf8"));if(!a||1!==a.version||!Array.isArray(a.entries))return[];return a.entries.filter(a=>!!a&&("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text)}catch{return[]}}function i(a,b){if(!a)return;let c=f(a),g=`${c}.tmp-${process.pid}-${(0,d.randomUUID)()}`;try{(0,e.writeFileSync)(g,JSON.stringify({version:1,entries:b}),"utf8"),(0,e.renameSync)(g,c)}catch(a){try{(0,e.rmSync)(g,{force:!0})}catch{}console.error(`[pi-web] failed to persist queue sidecar ${c}:`,a instanceof Error?a.message:String(a))}}function j(a){try{(0,e.rmSync)(f(a),{force:!0})}catch{}}},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>w,HG:()=>z,OF:()=>A,_I:()=>x,oA:()=>y});var e=c(75430),f=c(29862),g=c(55511),h=c(29021),i=c(33873),j=c(78970),k=c(43671),l=c(28967),m=c(18904),n=c(72498),o=c(40402),p=c(30590),q=c(71069),r=a([e,f,m,n,o]);[e,f,m,n,o]=r.then?(await r)():r;let B=["read","bash","edit","write","grep","find","ls"];class C extends e.Theme{constructor(){super({thinkingXhigh:""},{},"truecolor")}fg(...[,a]){return a}bg(...[,a]){return a}bold(a){return a}italic(a){return a}underline(a){return a}inverse(a){return a}strikethrough(a){return a}getFgAnsi(){return""}getBgAnsi(){return""}getThinkingBorderColor(){return a=>a}getBashModeBorderColor(){return a=>a}}let D=new C,E=new f.KeybindingsManager(f.TUI_KEYBINDINGS);function s(a,b){if(0===b.length)return[];let c=new Set(B),d=a.getAllTools().map(a=>a.name).filter(a=>!c.has(a));return[...new Set([...b,...d])]}class F{constructor(a,b){this.inner=a,this.cwd=b,this.listeners=[],this.pendingUiResponses=new Map,this.pendingUiRequests=new Map,this.activeCustomUis=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.extensionsBound=!1,this.extensionBindingPromise=null,this.extensionBindingError=null,this.forceEmptySystemPrompt=!1,this.unsubscribe=null,this.idleTimer=null,this.queueMirror=[],this.queueRecovery=[],this.pendingQueueHints={steer:[],followUp:[]},this.queueMutationTail=Promise.resolve(),this.onDestroyCallback=null,this.shutdownPromise=null,this._alive=!0}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}isRunning(){return this._alive&&(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)}start(){this.unsubscribe=this.inner.subscribe(a=>{"agent_end"===a.type&&(0,o.mD)(),("agent_end"===a.type||"agent_settled"===a.type||"auto_compaction_end"===a.type||"compaction_end"===a.type)&&this.resetIdleTimer(),"queue_update"===a.type&&this.reconcileQueue(a.steering,a.followUp),this.emit(a)}),this.resetIdleTimer()}loadQueueRecovery(){if(!this.sessionFile)return;let a=this.inner.getSteeringMessages(),b=this.inner.getFollowUpMessages();if(a.length||b.length){this.queueRecovery=[],this.reconcileQueue([...a],[...b]);return}this.queueRecovery=(0,k.ov)(this.sessionFile)}pendingRecoveryView(){return this.queueRecovery.map(({id:a,kind:b,text:c,images:d,queuedAt:e})=>({id:a,kind:b,text:c,hasImages:!!d?.length,queuedAt:e}))}persistQueue(){if(!this.sessionFile)return;let a=[...this.queueRecovery,...this.queueMirror];a.length?(0,k.pj)(this.sessionFile,a):(0,k.wx)(this.sessionFile)}hintQueueImages(a,b){this.pendingQueueHints[a].push(b?.length?b:[])}reconcileQueue(a,b){let c=(a,b)=>{if(!b)return this.queueMirror.filter(b=>b.kind===a);let c=new Set;return b.map(b=>{let d=this.queueMirror.find(d=>d.kind===a&&d.text===b&&!c.has(d));if(d)return c.add(d),d;let e=(0,k.Gc)(a,b,this.pendingQueueHints[a].shift());return c.add(e),e})};this.queueMirror=[...c("steer",a),...c("followUp",b)],this.persistQueue()}async requeueEntry(a){let b=(0,j.kc)(a.images);if(b)throw Error(b);this.hintQueueImages(a.kind,a.images),"steer"===a.kind?await this.inner.steer(a.text,a.images):await this.inner.followUp(a.text,a.images)}ensureMirrored(a){this.queueMirror.find(b=>b.kind===a.kind&&b.text===a.text)||(this.queueMirror.push({...a}),this.pendingQueueHints[a.kind].pop())}async replaceLiveQueue(a,b){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))await this.requeueEntry(b);for(let a of b)await this.requeueEntry(a);let c={steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]};return this.reconcileQueue(c.steering,c.followUp),c}async withQueueMutation(a){let b,c=this.queueMutationTail;this.queueMutationTail=new Promise(a=>{b=a}),await c;try{return await a()}finally{b()}}async mutateLiveQueue(a,b){return this.withQueueMutation(async()=>{let c=this.queueMirror.filter(a=>"steer"===a.kind),d=this.queueMirror.filter(a=>"followUp"===a.kind),e=b("steer"===a?c:d),f=await this.replaceLiveQueue(c,d);return{value:e,queues:f}})}validateQueueEntries(a){for(let b of a){if("steer"!==b.kind&&"followUp"!==b.kind||"string"!=typeof b.text)continue;let a=(0,j.kc)(b.images);if(a)throw Error(a)}}runAgentContinue(){if(this.inner.isStreaming||this.inner.isBashRunning||this.promptRunning)return;let a=[...this.queueMirror];0!==a.length&&(this.queueMirror=[],this.persistQueue(),this.promptRunning=!0,this.bootstrapQueuedRun(a))}async bootstrapQueuedRun(a){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))try{await this.inner.prompt(b.text,b.images?.length?{images:b.images}:void 0)}catch(a){this.promptRunning=!1,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),this.emit({type:"prompt_done"});return}this.promptRunning=!1,this.resetIdleTimer(),this.emit({type:"prompt_done"})}setForceEmptySystemPrompt(a){this.forceEmptySystemPrompt=a,this.applyForcedEmptySystemPrompt()}beginExtensionBinding(a={}){this.ensureExtensionsBound(a).catch(a=>{console.error("[pi-web] failed to dispatch session_start to extensions:",a instanceof Error?a.message:a)})}ensureExtensionsBound(a={}){return(a.forceEmptySystemPrompt&&(this.forceEmptySystemPrompt=!0),this.extensionsBound)?(this.applyForcedEmptySystemPrompt(),Promise.resolve()):(this.extensionBindingPromise||(this.extensionBindingError=null,this.extensionBindingPromise=(async()=>{if(!this._alive)return;let a=this.createExtensionUiContext();if("function"==typeof this.inner.bindExtensions){let b=this.inner.bindExtensions;await b.call(this.inner,{uiContext:a,mode:"rpc",commandContextActions:this.createExtensionCommandContextActions(),shutdownHandler:()=>this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",notifyType:"warning",message:"Extension requested shutdown, but shutdown is not supported in pi-web."}),onError:a=>this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})})}else this.inner.extensionRunner.setUIContext?.(a,"rpc");this.extensionsBound=!0,this.applyForcedEmptySystemPrompt(),console.log(`[pi-web] session_start dispatched to extensions for session ${this.inner.sessionId}`)})().catch(a=>{throw this.extensionBindingError=a,a})),this.extensionBindingPromise)}async waitForExtensionsBound(){try{this.extensionBindingPromise&&await this.extensionBindingPromise}catch(a){throw a instanceof Error?a:Error(String(a))}if(this.extensionBindingError)throw this.extensionBindingError instanceof Error?this.extensionBindingError:Error(String(this.extensionBindingError))}shouldWaitForExtensions(a){return"prompt"===a||"steer"===a||"follow_up"===a||"get_commands"===a}applyForcedEmptySystemPrompt(){this.forceEmptySystemPrompt&&this.inner.agent.state&&(this.inner.agent.state.systemPrompt="")}emit(a){for(let b of this.listeners)b(a)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.shutdown().catch(a=>{console.error("[pi-web] failed to shut down idle session:",a instanceof Error?a.message:a)})},6e5)}persistBashOnlySession(){let a=this.inner.sessionManager,b=a.getSessionFile();if(!b||(0,h.existsSync)(b))return;let c=a.getHeader();if(!c)return;let d=[c,...a.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,h.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"}),a.flushed=!0,(0,o.O8)(this.inner.sessionId,b)}onEvent(a){for(let b of(this.listeners.push(a),this.pendingUiRequests.values()))a(b);return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b||"requeue_at"===b){let b=(0,j.kc)(a.images);if(b)throw Error(b)}switch(this.shouldWaitForExtensions(b)&&await this.waitForExtensionsBound(),b){case"prompt":{if(this.inner.isBashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.images,c=a.streamingBehavior;return c&&this.inner.isStreaming&&this.hintQueueImages("followUp"===c?"followUp":"steer",b),this.promptRunning=!0,this.inner.prompt(a.message,{...b?.length?{images:b}:{},...c?{streamingBehavior:c}:{},source:"rpc"}).then(()=>{this.promptRunning=!1,this.resetIdleTimer(),c||this.emit({type:"prompt_done"})}).catch(a=>{this.promptRunning=!1,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),c||this.emit({type:"prompt_done"})}),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.inner.isBashRunning,isCompacting:this.inner.isCompacting,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:this.inner.pendingMessageCount,queuedMessages:{steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]},pendingRecovery:this.pendingRecoveryView(),contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:this.inner.agent.state?.systemPrompt??"",thinkingLevel:this.inner.agent.state?.thinkingLevel??"off",extensionStatuses:this.getExtensionStatuses(),extensionWidgets:this.getExtensionWidgets()}}case"set_model":{let{provider:b,modelId:c}=a,d=this.inner.modelRuntime.getModel(b,c);if(!d)throw Error(`Model not found: ${b}/${c}`);return await this.inner.setModel(d),(0,l.k)(),(0,o.mD)(),{id:d.id,provider:d.provider}}case"fork":{let b,c=a.entryId,d=this.inner.sessionManager,f=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!f)throw Error("Persisted session is missing a session file");let g=d.getEntry(c);if(!g)throw Error("Invalid entry ID for forking");let h=d.getSessionDir();if(g.parentId){let a=e.SessionManager.open(f,h).createBranchedSession(g.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),h);a.newSession({parentSession:f}),b=a.getSessionFile()}let i=e.SessionManager.open(b,h).getSessionId();return(0,o.O8)(i,b),(0,o.mD)(),await this.shutdown(),{cancelled:!1,newSessionId:i}}case"navigate_tree":return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),(0,o.mD)(),null}case"compact":try{return await this.inner.compact(a.customInstructions)}finally{(0,o.mD)()}case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return this.inner.setSessionName(b),(0,o.mD)(),null}case"get_session_stats":return{...this.inner.getSessionStats(),sessionName:this.inner.sessionManager.getSessionName()};case"get_last_assistant_text":return{text:this.inner.getLastAssistantText()??""};case"clear_queue":return this.queueMirror=[],this.pendingQueueHints={steer:[],followUp:[]},this.persistQueue(),this.inner.clearQueue();case"move_queue":{let b=a.kind,c=Number(a.fromIndex),d=Number(a.toIndex);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!Number.isInteger(d))throw Error("move_queue requires a queue kind and integer indexes");let{queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length||d<0||d>=a.length)throw Error("move_queue index out of range");let[b]=a.splice(c,1);a.splice(d,0,b)});return e}case"recall_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("recall_queue_item requires a queue kind and integer index");let{value:d,queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("recall_queue_item index out of range");let[b]=a.splice(c,1);return b});return{entry:{text:d.text,images:d.images??[]},...e}}case"requeue_at":{let b=a.kind,c=Number(a.index),d=a.text;if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!d?.trim())throw Error("requeue_at requires a queue kind, integer index, and text");let e=a.images,{queues:f}=await this.mutateLiveQueue(b,a=>{if(c<0||c>a.length)throw Error("requeue_at index out of range");a.splice(c,0,(0,k.Gc)(b,d,e))});return f}case"remove_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("remove_queue_item requires a queue kind and integer index");let{queues:d}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("remove_queue_item index out of range");a.splice(c,1)});return d}case"resolve_recovery":{let b=new Set(a.keep??[]),c=new Set(a.discard??[]),d=!0===a.continueRun,e=0;for(let a of this.queueRecovery)b.has(a.id)&&(await this.requeueEntry(a),this.ensureMirrored(a),e+=1);return this.queueRecovery=this.queueRecovery.filter(a=>!b.has(a.id)&&!c.has(a.id)),this.persistQueue(),d&&e>0&&this.runAgentContinue(),{remaining:this.pendingRecoveryView(),kept:e}}case"export_queue":return{live:this.queueMirror.map(a=>({...a})),recovery:this.queueRecovery.map(a=>({...a}))};case"import_queue":{let b=a.entries;if(!Array.isArray(b))throw Error("import_queue requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b){if("steer"!==a.kind&&"followUp"!==a.kind||"string"!=typeof a.text)continue;let b=(0,k.Gc)(a.kind,a.text,a.images);await this.requeueEntry(b),this.ensureMirrored(b),c+=1}return this.persistQueue(),{imported:c,steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]}}case"stage_recovery":{let b=a.entries;if(!Array.isArray(b))throw Error("stage_recovery requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b)("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text&&(this.queueRecovery.push((0,k.Gc)(a.kind,a.text,a.images)),c+=1);return this.persistQueue(),{staged:c,pendingRecovery:this.pendingRecoveryView()}}case"steer":{let b=a.images;return this.hintQueueImages("steer",b),await this.inner.steer(a.message,b?.length?b:void 0),null}case"follow_up":{let b=a.images;return this.hintQueueImages("followUp",b),await this.inner.followUp(a.message,b?.length?b:void 0),null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"get_commands":{let a=[];for(let b of this.inner.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of this.inner.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt",sourceInfo:b.sourceInfo});for(let b of this.inner.resourceLoader.getSkills().skills)a.push({name:`skill:${b.name}`,description:b.description,source:"skill",sourceInfo:b.sourceInfo});return{commands:a}}case"set_tools":{let b=a.toolNames;return this.setForceEmptySystemPrompt(0===b.length),this.inner.setActiveToolsByName(s(this.inner,b)),this.applyForcedEmptySystemPrompt(),null}case"reload":return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload(),"function"!=typeof this.inner.bindExtensions&&this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc"),this.applyForcedEmptySystemPrompt(),{success:!0};case"abort_compaction":return this.inner.abortCompaction(),null;case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"bash":{if(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext});try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,o.mD)()}}case"abort_bash":return this.inner.abortBash(),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){if(this._alive){for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear();try{this.inner.dispose()}finally{this.onDestroyCallback?.()}}}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}await this.inner.extensionRunner.emit?.({type:"session_shutdown",reason:"quit"})}finally{this.destroy()}})(),this.shutdownPromise):void 0}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}getCustomUiWidth(a){if(!a||"object"!=typeof a)return q.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return q.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):q.p1}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){let c=this.activeCustomUis.get(a);if(c&&"string"==typeof b)try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=(0,g.randomUUID)(),d=this.getCustomUiWidth(b);return new Promise(b=>{let e=!1,f=(0,q.TQ)(()=>{let a=this.activeCustomUis.get(c);a&&this.emitCustomUiRender(c,a)},d),g=a=>{e||(e=!0,b(a))},h=a=>{this.activeCustomUis.has(c)?this.closeCustomUi(c,a):g(a)};Promise.resolve().then(()=>a(f,D,E,h)).then(a=>{if(e){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void g(void 0);let b={component:a,width:d,resolve:a=>g(a),settled:!1};this.activeCustomUis.set(c,b),this.emitCustomUiRender(c,b)}).catch(a=>{e||(this.emit({type:"extension_error",extensionPath:`custom-ui:${c}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),g(void 0))})})}requestExtensionUi(a,b,c,d,e){if(e?.aborted)return Promise.resolve(b);let f=(0,g.randomUUID)(),h={type:"extension_ui_request",id:f,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}};return new Promise(a=>{let g,i=()=>{g&&clearTimeout(g),e?.removeEventListener("abort",k),this.pendingUiRequests.delete(f),this.pendingUiResponses.delete(f)},j=b=>{i(),a(b)},k=()=>j(b);d&&(g=setTimeout(()=>j(b),d)),e?.addEventListener("abort",k,{once:!0}),this.pendingUiRequests.set(f,h),this.pendingUiResponses.set(f,{resolve:a=>j(c(a)),cancel:()=>j(b)}),this.emit(h)})}createExtensionUiContext(){return{select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{(void 0===b||Array.isArray(b))&&(void 0===b?this.extensionWidgets.delete(a):this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return D},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in pi-web extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}syncProjectTrust(){this.inner.settingsManager.setProjectTrusted((0,n.Y1)(this.cwd,(0,e.getAgentDir)()).trusted)}createExtensionCommandContextActions(){return{waitForIdle:async()=>{let a=this.inner.agent;await a.waitForIdle?.()},newSession:async()=>({cancelled:!0}),fork:async()=>({cancelled:!0}),navigateTree:async(a,b)=>({cancelled:(await this.inner.navigateTree(a,{summarize:b?.summarize})).cancelled}),switchSession:async()=>({cancelled:!0}),reload:async()=>{this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload({beforeSessionStart:()=>{this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc")}}),this.applyForcedEmptySystemPrompt()}}}}function t(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>Promise.allSettled(Array.from(globalThis.__piSessions?.values()??[],a=>a.shutdown()));process.once("exit",()=>globalThis.__piSessions?.forEach(a=>a.destroy())),process.once("SIGINT",()=>{a().finally(()=>process.exit(130))}),process.once("SIGTERM",()=>{a().finally(()=>process.exit(143))})}return globalThis.__piSessions}function u(a){let b=(0,i.resolve)(a);try{return(0,h.realpathSync)(b)}catch{return b}}function v(){return globalThis.__piStartingSessionCwds||(globalThis.__piStartingSessionCwds=new Map),globalThis.__piStartingSessionCwds}function w(a){return t().get(a)}function x(a){let b=u(a);return!!v().has(b)||Array.from(t().values()).some(a=>u(a.cwd)===b&&a.isRunning())}async function y(a){let b=u(a),c=Array.from(t().values()).filter(a=>u(a.cwd)===b);return await Promise.all(c.map(a=>a.shutdown())),c.length}function z(){let a=new Set;for(let[b,c]of t())c.isRunning()&&a.add(c.sessionId||b);return[...a]}async function A(a,b,c,d={}){let f,g,h,{toolNames:i,initialModel:j,thinkingLevel:k}=d,q=t(),r=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),w=q.get(a);if(w?.isAlive())return{session:w,realSessionId:a};let x=r.get(a);if(x)return x;if(b)f=e.SessionManager.open(b,void 0);else{if(!c)throw Error("cwd is required for a new session");f=e.SessionManager.create(c,void 0)}let y=f.getCwd(),z=(g=v(),h=u(y),g.set(h,(g.get(h)??0)+1),()=>{let a=(g.get(h)??1)-1;a>0?g.set(h,a):g.delete(h)}),B=(async()=>{let a;(0,e.initTheme)();let b=(0,e.getAgentDir)();void 0!==i&&(a=0===i.length?[]:void 0);let c=(0,n.Fk)(y,b),d=await (0,e.createAgentSessionServices)({cwd:y,agentDir:b,...c?{resourceLoaderReloadOptions:c}:{}}),g=await (0,m.p)(d.modelRuntime,d.settingsManager.getEnabledModels()),h=d.settingsManager.getDefaultProvider(),r=d.settingsManager.getDefaultModel(),t=f.getBranch().some(a=>"message"===a.type)?{scopedModels:[...g.scopedModels]}:(0,m.I)(g,{...j?{requestedModel:j}:{},...h&&r?{defaultModel:{provider:h,modelId:r}}:{},...k?{thinkingLevel:k}:{}}),{session:u}=await (0,e.createAgentSessionFromServices)({services:d,sessionManager:f,...t.model?{model:t.model}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{},...t.scopedModels.length>0?{scopedModels:t.scopedModels}:{},...void 0!==a?{tools:a}:{}});(await (0,p.o)(d.settingsManager,{...j?{model:j}:{},...k?{thinkingLevel:k}:{}},{...u.model?{model:{provider:u.model.provider,modelId:u.model.id}}:{},thinkingLevel:u.agent.state?.thinkingLevel??"off",supportsThinking:u.supportsThinking()})).modelDefaultChanged&&(0,l.k)(),i&&i.length>0&&u.setActiveToolsByName(s(u,i));let v=new F(u,y);i?.length===0&&v.setForceEmptySystemPrompt(!0),v.start(),v.loadQueueRecovery();let w=u.sessionId,x=u.sessionFile;return x&&(0,o.O8)(w,x),v.onDestroy(()=>q.delete(w)),q.set(w,v),v.beginExtensionBinding({forceEmptySystemPrompt:i?.length===0}),{session:v,realSessionId:w}})().finally(()=>{r.delete(a),z()});return r.set(a,B),B}d()}catch(a){d(a)}})},71069:(a,b,c)=>{c.d(b,{TQ:()=>e,p1:()=>d});let d=92;function e(a,b=d,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},78970:(a,b,c)=>{c.d(b,{kc:()=>d});function d(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a)if(!function(a){var b;if(!a||"object"!=typeof a||"image"!==a.type||"string"!=typeof a.data||"string"!=typeof a.mimeType||(b=a.mimeType,!/^image\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]*$/.test(b)))return!1;let c=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b,d=null;for(let b=0;b<c;b+=1){var e;let c=(e=a.charCodeAt(b))>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:43===e?62:47===e?63:null;if(null===c)return null;d=c}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return 2===b&&d%16!=0||1===b&&d%4!=0?null:a.length/4*3-b}(a.data);return null!==c&&c<=0xa00000}(b))return"Each image must be valid base64 image data with an image MIME type and be 10MB or smaller";return null}}};
@@ -1,2 +1,2 @@
1
- exports.id=7915,exports.ids=[7915],exports.modules={8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"@qt4798/pi-web","version":"0.9.14","description":"Web workspace for the pi coding agent","homepage":"https://github.com/t479842598/pi-web-QT#readme","repository":{"type":"git","url":"git+https://github.com/t479842598/pi-web-QT.git"},"bugs":{"url":"https://github.com/t479842598/pi-web-QT/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"pi-web":"bin/pi-web.js"},"files":["bin",".next","!.next/cache","!.next/dev","!.next/**/*.js.map","public","next.config.ts","package.json"],"scripts":{"dev":"next dev -H 127.0.0.1 -p 0 --turbopack","dev:lan":"next dev -H 0.0.0.0 -p 0 --turbopack","build":"env -u TURBOPACK next build --webpack","start":"next start -H 127.0.0.1 -p 0","start:lan":"next start -H 0.0.0.0 -p 0","lint":"eslint .","release":"npm version patch --no-git-tag-version && npm run build && npm publish --access public","postinstall":"node bin/fix-pi-agent-undici.js","test":"node --experimental-strip-types --test $(find app components hooks lib -name \'*.test.mjs\' -print)"},"dependencies":{"@earendil-works/pi-agent-core":"0.83.0","@earendil-works/pi-ai":"0.83.0","@earendil-works/pi-coding-agent":"0.83.0","@earendil-works/pi-tui":"0.83.0","@fontsource/ia-writer-quattro":"^5.3.0","@fontsource/lilex":"^5.3.0","@lobehub/icons":"^5.6.0","@phosphor-icons/react":"^2.1.10","@types/react-syntax-highlighter":"^15.5.13","adm-zip":"^0.6.0","katex":"^0.16.47","mammoth":"^1.12.0","mermaid":"^11.14.0","next":"16.2.12","proper-lockfile":"4.1.2","react":"^19.2.4","react-dom":"^19.2.4","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","undici":"^8.10.0"},"overrides":{"undici":"^8.10.0","@emoji-mart/react":{"react":"$react"},"@earendil-works/pi-coding-agent":{"undici":"^8.10.0"}},"allowScripts":{"@google/genai@1.52.0":true,"protobufjs@7.6.5":true,"sharp@0.34.5":true,"unrs-resolver@1.11.1":true},"devDependencies":{"@resvg/resvg-js":"^2.6.2","@tailwindcss/postcss":"^4.2.2","@types/node":"^25","@types/proper-lockfile":"4.1.4","@types/react":"^19","@types/react-dom":"^19","eslint":"^9.39.5","eslint-config-next":"16.2.12","jiti":"^2.7.0","postcss":"^8","tailwindcss":"^4.2.2","to-ico":"^1.1.5","typescript":"^5.9.3"}}')},50593:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>j,EN:()=>i});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){return!!function(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let d=a.headers.get("origin");if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function j(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},89628:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DT:()=>y,dH:()=>A,g3:()=>z,jE:()=>v,lz:()=>B,uj:()=>t});var e=c(26106),f=c.n(e),g=c(29021),h=c(21820),i=c(33873),j=c(75430),k=c(50593),l=c(8102),m=a([j]);j=(m.then?(await m)():m)[0];let D="pi-backup",E="${agentDir}",F="${home}";function n(a){if(!(0,g.existsSync)(a))return null;try{let b=JSON.parse((0,g.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:null}catch{return null}}function o(a){let b=[],c=[""];for(;c.length>0;){let d,e=c.pop(),f=(0,i.join)(a,e);try{d=(0,g.readdirSync)(f)}catch{continue}for(let a of d){let d;if("node_modules"===a||".git"===a)continue;let h=e?`${e}/${a}`:a,j=(0,i.join)(f,a);try{d=(0,g.statSync)(j)}catch{continue}d.isDirectory()?c.push(h):d.isFile()&&b.push(h)}}return b}function p(a){let b=(0,k.A0)((0,j.getAgentDir)()),c=(0,k.A0)((0,h.homedir)());return r(a,a=>{let d=(0,k.A0)(a);return d===b?E:d===c?F:d.startsWith(b+"/")?E+d.slice(b.length):d.startsWith(c+"/")?F+d.slice(c.length):a})}function q(a){let b=(0,j.getAgentDir)(),c=(0,h.homedir)();return r(a,a=>a===E?b:a===F?c:a.startsWith(E+"/")?(0,i.join)(b,...a.slice(E.length+1).split("/")):a.startsWith(F+"/")?(0,i.join)(c,...a.slice(F.length+1).split("/")):a)}function r(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>r(a,b));if(null!==a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=r(e,b);return c}return a}function s(a,b,c){a.addFile(`${D}/${b}`,Buffer.isBuffer(c)?c:Buffer.from(c,"utf8"))}function t(a){let b=(0,j.getAgentDir)(),d=new(f()),e={formatVersion:1,createdAt:new Date().toISOString(),...function(){try{let a=c(39006),b=c(Object(function(){var a=Error("Cannot find module '@earendil-works/pi-coding-agent/package.json'");throw a.code="MODULE_NOT_FOUND",a}()));return{piWebVersion:a.version??"unknown",piSdkVersion:b.version??"unknown"}}catch{return{piWebVersion:"unknown",piSdkVersion:"unknown"}}}(),sourcePlatform:process.platform,includeSecrets:a.includeSecrets,includeSessions:a.includeSessions,files:[],mcpBinScripts:[],localPackages:[],absolutePaths:[],warnings:[]};for(let c of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"]){let f=(0,i.join)(b,c);if(!(0,g.existsSync)(f)||"auth.json"===c&&!a.includeSecrets)continue;let h=(0,g.readFileSync)(f,"utf8");if("models.json"!==c||a.includeSecrets){if("settings.json"===c||"mcp.json"===c||"models.json"===c){let a=n(f);a&&(h=JSON.stringify(p(a),null,2))}}else{let a=n(f);a&&(h=JSON.stringify(function(a){let b=a.providers??{},c={};for(let[a,d]of Object.entries(b))c[a]={...d},"string"==typeof c[a].apiKey&&(c[a].apiKey="");return{...a,providers:c}}(a),null,2))}s(d,c,String(h)),e.files.push(`${D}/${c}`)}let h=(0,i.join)(b,"skills");if((0,g.existsSync)(h))for(let a of o(h))d.addFile(`${D}/skills/${a}`,(0,g.readFileSync)((0,i.join)(h,a))),e.files.push(`${D}/skills/${a}`);let l=n((0,i.join)(b,"settings.json"));for(let a of l?.packages??[]){let b="string"==typeof a?a:a?.source;if(!b||b.startsWith("npm:"))continue;let c=(0,k.A0)(b);if((0,i.isAbsolute)(c)&&(0,g.existsSync)(c)){let a=(0,i.basename)(c);for(let b of o(c))d.addFile(`${D}/local-packages/${a}/${b}`,(0,g.readFileSync)((0,i.join)(c,b))),e.files.push(`${D}/local-packages/${a}/${b}`);e.localPackages.push(a)}else e.warnings.push(`Local package skipped (not found or not absolute): ${b}`)}let m=n((0,i.join)(b,"mcp.json")),q=new Set;if(m?.mcpServers)for(let a of Object.values(m.mcpServers))!function a(b,c){if("string"==typeof b){let a=`${E}/bin/`;if(b.startsWith(a)){let d=b.slice(a.length).split("/")[0];d&&c.add(d)}return}if(Array.isArray(b)){for(let d of b)a(d,c);return}if(null!==b&&"object"==typeof b)for(let d of Object.values(b))a(d,c)}(p(a),q);for(let a of q){let c=(0,i.join)(b,"bin",a);(0,g.existsSync)(c)&&(0,g.statSync)(c).isFile()?(d.addFile(`${D}/bin/${a}`,(0,g.readFileSync)(c)),e.files.push(`${D}/bin/${a}`),e.mcpBinScripts.push(a)):e.warnings.push(`MCP bin script referenced but missing: ${a}`)}if(a.includeSessions){let a=(0,i.join)(b,"sessions");if((0,g.existsSync)(a))for(let b of o(a))d.addFile(`${D}/sessions/${b}`,(0,g.readFileSync)((0,i.join)(a,b))),e.files.push(`${D}/sessions/${b}`)}return s(d,"manifest.json",JSON.stringify(e,null,2)),d.toBuffer()}let G=new Set(["npx","uvx","node","uv","npm","git","python3","python","bun","deno"]);function u(a){let b=a.toString("utf8",0,256).split(/\r?\n/,1)[0]??"";return b.startsWith("#!")?b:null}function v(a,b,c){let d=(0,j.getAgentDir)(),e=c??process.platform,f="win32"===e,g=[],h=[];for(let[c,j]of Object.entries(a)){let a,l=q(j),m="string"==typeof l.command?l.command:"",n=Array.isArray(l.args)?l.args.map(String):[],o={command:m,args:n},p=function(a,b){if(!a)return"manual";if((0,k.A0)(a).startsWith((0,k.A0)(b)+"/bin/"))return"restore-script";if(a.includes("/")||a.includes("\\")||a.includes(":"))return"keep-with-warning";let c=a.split(/[\s]/)[0];return G.has(c),"keep"}(m,d),r=null;if("restore-script"===p){let j=(0,i.basename)((0,k.A0)(m)),l=b.get(j);if(!l){r=null,a=`bin script ${j} missing from backup`,h.push({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a,installPrompt:C({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a})});continue}if(!w(j)){a=`bin script name rejected (unsafe): ${j}`;let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(!x(l)){a="bin script content rejected (unrecognized shebang)";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(f){let b=u(l);if(b&&b.includes("node"))r={command:(0,i.join)(d,"bin",`${j}.cmd`),args:n},h.push({name:c,original:o,adapted:r,action:"generate-cmd",platform:e,reason:(0,i.join)(d,"bin",j)});else{a="bash/other shebang wrapper cannot run on Windows; reinstall or adjust manually";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`)}}else r={command:(0,i.join)(d,"bin",j),args:n},h.push({name:c,original:o,adapted:r,action:"restore-script",platform:e});continue}if("keep-with-warning"===p){r={command:m,args:n},a="absolute path outside agentDir/bin — verify it exists on this machine",h.push({name:c,original:o,adapted:r,action:"keep-with-warning",platform:e,reason:a}),g.push(`${c}: ${a}`);continue}r={command:m,args:n},h.push({name:c,original:o,adapted:r,action:"keep",platform:e})}return{servers:h,warnings:g}}function w(a){return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(a)&&!a.includes("..")}function x(a){let b=u(a);if(!b)return!1;let c=b.slice(2).trim().split(/\s+/);if(0===c.length)return!1;let d=c[0],e=d.split("/").pop()??d;return!!["node","bash","sh","python3","python","zsh"].includes(e)||"env"===e&&c.length>1&&["node","bash","sh","python3","python"].includes(c[1].split("/").pop()??"")}function y(a){let b;try{b=new(f())(a)}catch(a){throw Error(`Not a valid zip archive: ${a instanceof Error?a.message:String(a)}`)}let c=b.getEntries(),d=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-backup-")),e=(0,i.join)(d,D);(0,g.mkdirSync)(e,{recursive:!0});let j=0,k=0;for(let a of c){if(a.isDirectory)continue;let c=a.entryName.replace(/\\/g,"/");if(!c.startsWith(`${D}/`))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unexpected entry outside ${D}/: ${c}`);let f=(0,i.resolve)(e,c.slice(D.length+1));if(!f.startsWith((0,i.resolve)(e)+i.sep))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Path traversal blocked: ${c}`);let h="number"==typeof a.header.size?a.header.size:0;if(j+=h,h>0x20000000||j>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`);(0,g.mkdirSync)((0,i.dirname)(f),{recursive:!0}),b.extractEntryTo(a,(0,i.dirname)(f),!1,!0);let l=(0,g.statSync)(f).size;if(k+=l,l>0x20000000||k>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`)}let l=(0,i.join)(e,"manifest.json");if(!(0,g.existsSync)(l))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error("Backup manifest.json missing — not a pi-web backup");let m=n(l);if(!m||1!==m.formatVersion)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unsupported backup format version: ${m?.formatVersion??"unknown"} (expected 1)`);let o=n((0,i.join)(e,"mcp.json"))?.mcpServers??{},p=new Map;for(let a of m.mcpBinScripts??[]){let b=(0,i.join)(e,"bin",a);(0,g.existsSync)(b)&&p.set(a,(0,g.readFileSync)(b))}let q=["core","skills","packages","mcp"];return m.includeSessions&&q.push("sessions"),{manifest:m,tempDir:d,servers:o,binScripts:p,categories:q}}function z(a){(0,g.rmSync)(a.tempDir,{recursive:!0,force:!0})}function A(a,b){let c=(0,j.getAgentDir)(),{manifest:d}=a,e={restored:[],needsRestart:[],manual:[],warnings:[]},f=new Set(b.categories),h=new Set(b.skippedMcpServers),m=b=>{let d=(0,i.join)(c,b),f=(0,i.join)(a.tempDir,D,b);(0,g.existsSync)(f)&&((0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)(f,"utf8")),e.restored.push(b))};if(f.has("core"))for(let a of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"])("auth.json"!==a||d.includeSecrets)&&(m(a),e.needsRestart.push(a));if(f.has("skills")){let b=(0,i.join)(a.tempDir,D,"skills");if((0,g.existsSync)(b)){for(let a of o(b)){let d=(0,i.join)(c,"skills",a);(0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push("skills/")}}if(f.has("packages")){let b=(0,i.join)(c,"settings.json"),f=n(b)??{},h=f.packages??[],j=d.localPackages??[],m=(0,i.join)(a.tempDir,D,"local-packages");for(let a of j){if(!w(a)){e.warnings.push(`Local package ${a} not restored (unsafe name)`);continue}let b=(0,i.join)(m,a);if(!(0,g.existsSync)(b)){e.warnings.push(`Local package ${a} missing from backup`);continue}let d=(0,i.join)(c,"local-packages",a);for(let a of o(b)){let c=(0,i.join)(d,a);(0,g.mkdirSync)((0,i.dirname)(c),{recursive:!0}),(0,l.$)(c,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push(`local-packages/${a}`)}let p=!1,q=h.map(a=>{let b="string"==typeof a?a:a?.source;if("string"!=typeof b||b.startsWith("npm:"))return a;let d=(0,i.basename)((0,k.A0)(b));if(j.includes(d)){p=!0;let b=(0,i.join)(c,"local-packages",d);return"string"==typeof a?b:{...a,source:b}}return a});if(p){let a={...f,packages:q};(0,l.$)(b,JSON.stringify(a,null,2)),e.restored.push("settings.json (packages paths)"),e.needsRestart.push("settings.json (packages paths)")}for(let a of h.map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:")))e.restored.push(`npm package ${a} (queued for reinstall)`)}if(f.has("mcp")){let b=v(a.servers,a.binScripts);e.warnings.push(...b.warnings);let d=n((0,i.join)(c,"mcp.json"))??{},f={};for(let d of b.servers){if(h.has(d.name))continue;if("manual"===d.action){e.manual.push({server:d.name,message:d.reason??"cannot be adapted automatically"});continue}let b=a.servers[d.name]??{},j=q(b);if(f[d.name]={...j,command:d.adapted?.command??j.command,...d.adapted?{args:d.adapted.args}:{}},"restore-script"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));try{(0,g.chmodSync)(a,493)}catch{}e.restored.push(`bin/${b}`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}if("generate-cmd"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))).replace(/\.cmd$/,""),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));let d=(0,i.join)(c,"bin",`${b}.cmd`),h=`%~dp0${b}`;(0,l.$)(d,`@node "${h}" %*\r
1
+ exports.id=7915,exports.ids=[7915],exports.modules={8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"@qt4798/pi-web","version":"0.9.16-beta.0","description":"Web workspace for the pi coding agent","homepage":"https://github.com/t479842598/pi-web-QT#readme","repository":{"type":"git","url":"git+https://github.com/t479842598/pi-web-QT.git"},"bugs":{"url":"https://github.com/t479842598/pi-web-QT/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"pi-web":"bin/pi-web.js"},"files":["bin",".next","!.next/cache","!.next/dev","!.next/**/*.js.map","public","next.config.ts","package.json"],"scripts":{"dev":"next dev -H 127.0.0.1 -p 0 --turbopack","dev:lan":"next dev -H 0.0.0.0 -p 0 --turbopack","build":"env -u TURBOPACK next build --webpack","start":"next start -H 127.0.0.1 -p 0","start:lan":"next start -H 0.0.0.0 -p 0","lint":"eslint .","release":"npm version patch --no-git-tag-version && npm run build && npm publish --access public","postinstall":"node bin/fix-pi-agent-undici.js","test":"node --experimental-strip-types --test $(find app components hooks lib -name \'*.test.mjs\' -print)"},"dependencies":{"@earendil-works/pi-agent-core":"0.83.0","@earendil-works/pi-ai":"0.83.0","@earendil-works/pi-coding-agent":"0.83.0","@earendil-works/pi-tui":"0.83.0","@fontsource/ia-writer-quattro":"^5.3.0","@fontsource/lilex":"^5.3.0","@lobehub/icons":"^5.6.0","@phosphor-icons/react":"^2.1.10","@types/react-syntax-highlighter":"^15.5.13","adm-zip":"^0.6.0","katex":"^0.16.47","mammoth":"^1.12.0","mermaid":"^11.14.0","next":"16.2.12","proper-lockfile":"4.1.2","react":"^19.2.4","react-dom":"^19.2.4","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","undici":"^8.10.0"},"overrides":{"undici":"^8.10.0","@emoji-mart/react":{"react":"$react"},"@earendil-works/pi-coding-agent":{"undici":"^8.10.0"}},"allowScripts":{"@google/genai@1.52.0":true,"protobufjs@7.6.5":true,"sharp@0.34.5":true,"unrs-resolver@1.11.1":true},"devDependencies":{"@resvg/resvg-js":"^2.6.2","@tailwindcss/postcss":"^4.2.2","@types/node":"^25","@types/proper-lockfile":"4.1.4","@types/react":"^19","@types/react-dom":"^19","eslint":"^9.39.5","eslint-config-next":"16.2.12","jiti":"^2.7.0","postcss":"^8","tailwindcss":"^4.2.2","to-ico":"^1.1.5","typescript":"^5.9.3"}}')},50593:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>j,EN:()=>i});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function h(a){try{return new URL(a).origin}catch{return null}}function i(a,b=g()){return!!function(a,b=g()){let c=a.headers.get("host"),h=c?f(c):null;return!!h&&(!!("localhost"===h||h.endsWith(".localhost")||(0,d.isIP)(h))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===h}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let d=a.headers.get("origin");if(!d)return!0;let e=(b=new URL(a.url),(c=a.headers.get("host"))?h(`${b.protocol}//${c}`):null);return null!==e&&h(d)===e}(a))}function j(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},89628:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DT:()=>y,dH:()=>A,g3:()=>z,jE:()=>v,lz:()=>B,uj:()=>t});var e=c(26106),f=c.n(e),g=c(29021),h=c(21820),i=c(33873),j=c(75430),k=c(50593),l=c(8102),m=a([j]);j=(m.then?(await m)():m)[0];let D="pi-backup",E="${agentDir}",F="${home}";function n(a){if(!(0,g.existsSync)(a))return null;try{let b=JSON.parse((0,g.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:null}catch{return null}}function o(a){let b=[],c=[""];for(;c.length>0;){let d,e=c.pop(),f=(0,i.join)(a,e);try{d=(0,g.readdirSync)(f)}catch{continue}for(let a of d){let d;if("node_modules"===a||".git"===a)continue;let h=e?`${e}/${a}`:a,j=(0,i.join)(f,a);try{d=(0,g.statSync)(j)}catch{continue}d.isDirectory()?c.push(h):d.isFile()&&b.push(h)}}return b}function p(a){let b=(0,k.A0)((0,j.getAgentDir)()),c=(0,k.A0)((0,h.homedir)());return r(a,a=>{let d=(0,k.A0)(a);return d===b?E:d===c?F:d.startsWith(b+"/")?E+d.slice(b.length):d.startsWith(c+"/")?F+d.slice(c.length):a})}function q(a){let b=(0,j.getAgentDir)(),c=(0,h.homedir)();return r(a,a=>a===E?b:a===F?c:a.startsWith(E+"/")?(0,i.join)(b,...a.slice(E.length+1).split("/")):a.startsWith(F+"/")?(0,i.join)(c,...a.slice(F.length+1).split("/")):a)}function r(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>r(a,b));if(null!==a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=r(e,b);return c}return a}function s(a,b,c){a.addFile(`${D}/${b}`,Buffer.isBuffer(c)?c:Buffer.from(c,"utf8"))}function t(a){let b=(0,j.getAgentDir)(),d=new(f()),e={formatVersion:1,createdAt:new Date().toISOString(),...function(){try{let a=c(39006),b=c(Object(function(){var a=Error("Cannot find module '@earendil-works/pi-coding-agent/package.json'");throw a.code="MODULE_NOT_FOUND",a}()));return{piWebVersion:a.version??"unknown",piSdkVersion:b.version??"unknown"}}catch{return{piWebVersion:"unknown",piSdkVersion:"unknown"}}}(),sourcePlatform:process.platform,includeSecrets:a.includeSecrets,includeSessions:a.includeSessions,files:[],mcpBinScripts:[],localPackages:[],absolutePaths:[],warnings:[]};for(let c of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"]){let f=(0,i.join)(b,c);if(!(0,g.existsSync)(f)||"auth.json"===c&&!a.includeSecrets)continue;let h=(0,g.readFileSync)(f,"utf8");if("models.json"!==c||a.includeSecrets){if("settings.json"===c||"mcp.json"===c||"models.json"===c){let a=n(f);a&&(h=JSON.stringify(p(a),null,2))}}else{let a=n(f);a&&(h=JSON.stringify(function(a){let b=a.providers??{},c={};for(let[a,d]of Object.entries(b))c[a]={...d},"string"==typeof c[a].apiKey&&(c[a].apiKey="");return{...a,providers:c}}(a),null,2))}s(d,c,String(h)),e.files.push(`${D}/${c}`)}let h=(0,i.join)(b,"skills");if((0,g.existsSync)(h))for(let a of o(h))d.addFile(`${D}/skills/${a}`,(0,g.readFileSync)((0,i.join)(h,a))),e.files.push(`${D}/skills/${a}`);let l=n((0,i.join)(b,"settings.json"));for(let a of l?.packages??[]){let b="string"==typeof a?a:a?.source;if(!b||b.startsWith("npm:"))continue;let c=(0,k.A0)(b);if((0,i.isAbsolute)(c)&&(0,g.existsSync)(c)){let a=(0,i.basename)(c);for(let b of o(c))d.addFile(`${D}/local-packages/${a}/${b}`,(0,g.readFileSync)((0,i.join)(c,b))),e.files.push(`${D}/local-packages/${a}/${b}`);e.localPackages.push(a)}else e.warnings.push(`Local package skipped (not found or not absolute): ${b}`)}let m=n((0,i.join)(b,"mcp.json")),q=new Set;if(m?.mcpServers)for(let a of Object.values(m.mcpServers))!function a(b,c){if("string"==typeof b){let a=`${E}/bin/`;if(b.startsWith(a)){let d=b.slice(a.length).split("/")[0];d&&c.add(d)}return}if(Array.isArray(b)){for(let d of b)a(d,c);return}if(null!==b&&"object"==typeof b)for(let d of Object.values(b))a(d,c)}(p(a),q);for(let a of q){let c=(0,i.join)(b,"bin",a);(0,g.existsSync)(c)&&(0,g.statSync)(c).isFile()?(d.addFile(`${D}/bin/${a}`,(0,g.readFileSync)(c)),e.files.push(`${D}/bin/${a}`),e.mcpBinScripts.push(a)):e.warnings.push(`MCP bin script referenced but missing: ${a}`)}if(a.includeSessions){let a=(0,i.join)(b,"sessions");if((0,g.existsSync)(a))for(let b of o(a))d.addFile(`${D}/sessions/${b}`,(0,g.readFileSync)((0,i.join)(a,b))),e.files.push(`${D}/sessions/${b}`)}return s(d,"manifest.json",JSON.stringify(e,null,2)),d.toBuffer()}let G=new Set(["npx","uvx","node","uv","npm","git","python3","python","bun","deno"]);function u(a){let b=a.toString("utf8",0,256).split(/\r?\n/,1)[0]??"";return b.startsWith("#!")?b:null}function v(a,b,c){let d=(0,j.getAgentDir)(),e=c??process.platform,f="win32"===e,g=[],h=[];for(let[c,j]of Object.entries(a)){let a,l=q(j),m="string"==typeof l.command?l.command:"",n=Array.isArray(l.args)?l.args.map(String):[],o={command:m,args:n},p=function(a,b){if(!a)return"manual";if((0,k.A0)(a).startsWith((0,k.A0)(b)+"/bin/"))return"restore-script";if(a.includes("/")||a.includes("\\")||a.includes(":"))return"keep-with-warning";let c=a.split(/[\s]/)[0];return G.has(c),"keep"}(m,d),r=null;if("restore-script"===p){let j=(0,i.basename)((0,k.A0)(m)),l=b.get(j);if(!l){r=null,a=`bin script ${j} missing from backup`,h.push({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a,installPrompt:C({name:c,original:o,adapted:r,action:"manual",platform:e,reason:a})});continue}if(!w(j)){a=`bin script name rejected (unsafe): ${j}`;let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(!x(l)){a="bin script content rejected (unrecognized shebang)";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`);continue}if(f){let b=u(l);if(b&&b.includes("node"))r={command:(0,i.join)(d,"bin",`${j}.cmd`),args:n},h.push({name:c,original:o,adapted:r,action:"generate-cmd",platform:e,reason:(0,i.join)(d,"bin",j)});else{a="bash/other shebang wrapper cannot run on Windows; reinstall or adjust manually";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:C(b)}),g.push(`${c}: ${a}`)}}else r={command:(0,i.join)(d,"bin",j),args:n},h.push({name:c,original:o,adapted:r,action:"restore-script",platform:e});continue}if("keep-with-warning"===p){r={command:m,args:n},a="absolute path outside agentDir/bin — verify it exists on this machine",h.push({name:c,original:o,adapted:r,action:"keep-with-warning",platform:e,reason:a}),g.push(`${c}: ${a}`);continue}r={command:m,args:n},h.push({name:c,original:o,adapted:r,action:"keep",platform:e})}return{servers:h,warnings:g}}function w(a){return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(a)&&!a.includes("..")}function x(a){let b=u(a);if(!b)return!1;let c=b.slice(2).trim().split(/\s+/);if(0===c.length)return!1;let d=c[0],e=d.split("/").pop()??d;return!!["node","bash","sh","python3","python","zsh"].includes(e)||"env"===e&&c.length>1&&["node","bash","sh","python3","python"].includes(c[1].split("/").pop()??"")}function y(a){let b;try{b=new(f())(a)}catch(a){throw Error(`Not a valid zip archive: ${a instanceof Error?a.message:String(a)}`)}let c=b.getEntries(),d=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-backup-")),e=(0,i.join)(d,D);(0,g.mkdirSync)(e,{recursive:!0});let j=0,k=0;for(let a of c){if(a.isDirectory)continue;let c=a.entryName.replace(/\\/g,"/");if(!c.startsWith(`${D}/`))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unexpected entry outside ${D}/: ${c}`);let f=(0,i.resolve)(e,c.slice(D.length+1));if(!f.startsWith((0,i.resolve)(e)+i.sep))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Path traversal blocked: ${c}`);let h="number"==typeof a.header.size?a.header.size:0;if(j+=h,h>0x20000000||j>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`);(0,g.mkdirSync)((0,i.dirname)(f),{recursive:!0}),b.extractEntryTo(a,(0,i.dirname)(f),!1,!0);let l=(0,g.statSync)(f).size;if(k+=l,l>0x20000000||k>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`)}let l=(0,i.join)(e,"manifest.json");if(!(0,g.existsSync)(l))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error("Backup manifest.json missing — not a pi-web backup");let m=n(l);if(!m||1!==m.formatVersion)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unsupported backup format version: ${m?.formatVersion??"unknown"} (expected 1)`);let o=n((0,i.join)(e,"mcp.json"))?.mcpServers??{},p=new Map;for(let a of m.mcpBinScripts??[]){let b=(0,i.join)(e,"bin",a);(0,g.existsSync)(b)&&p.set(a,(0,g.readFileSync)(b))}let q=["core","skills","packages","mcp"];return m.includeSessions&&q.push("sessions"),{manifest:m,tempDir:d,servers:o,binScripts:p,categories:q}}function z(a){(0,g.rmSync)(a.tempDir,{recursive:!0,force:!0})}function A(a,b){let c=(0,j.getAgentDir)(),{manifest:d}=a,e={restored:[],needsRestart:[],manual:[],warnings:[]},f=new Set(b.categories),h=new Set(b.skippedMcpServers),m=b=>{let d=(0,i.join)(c,b),f=(0,i.join)(a.tempDir,D,b);(0,g.existsSync)(f)&&((0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)(f,"utf8")),e.restored.push(b))};if(f.has("core"))for(let a of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"])("auth.json"!==a||d.includeSecrets)&&(m(a),e.needsRestart.push(a));if(f.has("skills")){let b=(0,i.join)(a.tempDir,D,"skills");if((0,g.existsSync)(b)){for(let a of o(b)){let d=(0,i.join)(c,"skills",a);(0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push("skills/")}}if(f.has("packages")){let b=(0,i.join)(c,"settings.json"),f=n(b)??{},h=f.packages??[],j=d.localPackages??[],m=(0,i.join)(a.tempDir,D,"local-packages");for(let a of j){if(!w(a)){e.warnings.push(`Local package ${a} not restored (unsafe name)`);continue}let b=(0,i.join)(m,a);if(!(0,g.existsSync)(b)){e.warnings.push(`Local package ${a} missing from backup`);continue}let d=(0,i.join)(c,"local-packages",a);for(let a of o(b)){let c=(0,i.join)(d,a);(0,g.mkdirSync)((0,i.dirname)(c),{recursive:!0}),(0,l.$)(c,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push(`local-packages/${a}`)}let p=!1,q=h.map(a=>{let b="string"==typeof a?a:a?.source;if("string"!=typeof b||b.startsWith("npm:"))return a;let d=(0,i.basename)((0,k.A0)(b));if(j.includes(d)){p=!0;let b=(0,i.join)(c,"local-packages",d);return"string"==typeof a?b:{...a,source:b}}return a});if(p){let a={...f,packages:q};(0,l.$)(b,JSON.stringify(a,null,2)),e.restored.push("settings.json (packages paths)"),e.needsRestart.push("settings.json (packages paths)")}for(let a of h.map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:")))e.restored.push(`npm package ${a} (queued for reinstall)`)}if(f.has("mcp")){let b=v(a.servers,a.binScripts);e.warnings.push(...b.warnings);let d=n((0,i.join)(c,"mcp.json"))??{},f={};for(let d of b.servers){if(h.has(d.name))continue;if("manual"===d.action){e.manual.push({server:d.name,message:d.reason??"cannot be adapted automatically"});continue}let b=a.servers[d.name]??{},j=q(b);if(f[d.name]={...j,command:d.adapted?.command??j.command,...d.adapted?{args:d.adapted.args}:{}},"restore-script"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));try{(0,g.chmodSync)(a,493)}catch{}e.restored.push(`bin/${b}`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}if("generate-cmd"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))).replace(/\.cmd$/,""),f=a.binScripts.get(b);if(f&&w(b)&&x(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));let d=(0,i.join)(c,"bin",`${b}.cmd`),h=`%~dp0${b}`;(0,l.$)(d,`@node "${h}" %*\r
2
2
  `),e.restored.push(`bin/${b}`,`bin/${b}.cmd`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}}(0,l.$)((0,i.join)(c,"mcp.json"),JSON.stringify({...d,mcpServers:f},null,2)),e.restored.push("mcp.json"),e.needsRestart.push("mcp.json")}return{report:e,npmPackages:B(a)}}function B(a){let b=n((0,i.join)(a.tempDir,D,"settings.json"));return(b?.packages??[]).map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:"))}function C(a){let b=(0,j.getAgentDir)(),c="win32"===process.platform?"Windows":"darwin"===process.platform?"macOS":"Linux",d=JSON.stringify(a.original,null,2);return[`请在当前环境(${c})安装 MCP server「${a.name}」。`,"\n## 原始配置(来自备份)\n```json",d,"```\n\n## 统一安装约定",`- 脚本类工具统一安装到 \`${(0,i.join)(b,"bin")}\`(Windows 上同时生成同名 \`.cmd\` 包装)。`,`- npm 类工具统一通过 \`npx <pkg>\` 运行,或安装到 \`${(0,i.join)(b,"npm")}\` 后引用。`,"- 依赖(node/npx/uv 等)统一从 PATH 解析,不要硬编码本机绝对路径。\n- 安装完成后,输出可直接写入 `~/.pi/agent/mcp.json` 的完整 server 配置片段(含 command/args/transport/lifecycle)。\n- 不要修改 mcp.json 中其它 server 的配置。\n\n安装过程中如遇障碍,请说明原因并给出替代方案。"].join("\n")}d()}catch(a){d(a)}})},96487:()=>{}};
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={643:a=>{a.exports=require("node:perf_hooks")},4573:a=>{a.exports=require("node:buffer")},16698:a=>{a.exports=require("node:async_hooks")},32467:a=>{a.exports=require("node:http2")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},53861:(a,b,c)=>{async function d(){let{configureHttpDispatcher:a}=await c.e(2349).then(c.bind(c,42349));a()}c.r(b),c.d(b,{register:()=>d})},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79868:a=>{a.exports=require("node:sqlite")},87997:a=>{a.exports=require("node:timers")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=53861);module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={643:a=>{a.exports=require("node:perf_hooks")},4573:a=>{a.exports=require("node:buffer")},16698:a=>{a.exports=require("node:async_hooks")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},53861:(a,b,c)=>{async function d(){let{configureHttpDispatcher:a}=await c.e(2349).then(c.bind(c,42349));a();try{let{ensureTaskEngine:a}=await c.e(4253).then(c.bind(c,14253));a()}catch{}}c.r(b),c.d(b,{register:()=>d})},55511:a=>{a.exports=require("crypto")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},87997:a=>{a.exports=require("node:timers")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=53861);module.exports=c})();