@henlii/pidance 0.2.23 → 0.2.25

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 (250) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +15 -14
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.json +2 -2
  6. package/.next/routes-manifest.json +6 -0
  7. package/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/api/about/route.js +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 +2 -2
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/new/route.js +1 -1
  32. package/.next/server/app/api/agent/running/events/route.js +2 -2
  33. package/.next/server/app/api/agent/running/route.js +1 -1
  34. package/.next/server/app/api/agent-settings/route.js +2 -2
  35. package/.next/server/app/api/attachments/route.js +1 -1
  36. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  37. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  39. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/providers/route.js +1 -1
  41. package/.next/server/app/api/auth/ui-session/route.js +1 -1
  42. package/.next/server/app/api/auth/ui-sessions/[id]/route.js +1 -1
  43. package/.next/server/app/api/auth/ui-sessions/route.js +1 -1
  44. package/.next/server/app/api/cwd/browse/route.js +1 -1
  45. package/.next/server/app/api/cwd/validate/route.js +1 -1
  46. package/.next/server/app/api/default-cwd/route.js +1 -1
  47. package/.next/server/app/api/file-index/route.js +1 -1
  48. package/.next/server/app/api/files/[...path]/route.js +2 -2
  49. package/.next/server/app/api/git/diff/route.js +1 -1
  50. package/.next/server/app/api/git/status/route.js +1 -1
  51. package/.next/server/app/api/home/route.js +1 -1
  52. package/.next/server/app/api/message-media/route.js +1 -0
  53. package/.next/server/app/api/message-media/route_client-reference-manifest.js +1 -0
  54. package/.next/server/app/api/models/route.js +1 -1
  55. package/.next/server/app/api/models-config/raw/route.js +1 -1
  56. package/.next/server/app/api/models-config/route.js +1 -1
  57. package/.next/server/app/api/models-config/test/route.js +1 -1
  58. package/.next/server/app/api/plugins/route.js +1 -1
  59. package/.next/server/app/api/plugins/search/route.js +1 -1
  60. package/.next/server/app/api/plugins/updates/route.js +1 -1
  61. package/.next/server/app/api/preferences/route.js +1 -1
  62. package/.next/server/app/api/project-assets/route.js +2 -2
  63. package/.next/server/app/api/prompts/route.js +1 -1
  64. package/.next/server/app/api/pty/route.js +2 -2
  65. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  67. package/.next/server/app/api/sessions/[id]/command-entry/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  71. package/.next/server/app/api/sessions/[id]/info/route.js +1 -1
  72. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  73. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  74. package/.next/server/app/api/sessions/[id]/tool-results/[toolCallId]/route.js +1 -1
  75. package/.next/server/app/api/sessions/route.js +1 -1
  76. package/.next/server/app/api/sessions/search/route.js +1 -1
  77. package/.next/server/app/api/settings/raw/route.js +2 -2
  78. package/.next/server/app/api/settings/remote/route.js +1 -1
  79. package/.next/server/app/api/skills/check/route.js +1 -1
  80. package/.next/server/app/api/skills/install/route.js +1 -1
  81. package/.next/server/app/api/skills/route.js +1 -1
  82. package/.next/server/app/api/skills/search/route.js +1 -1
  83. package/.next/server/app/api/skills/update/route.js +1 -1
  84. package/.next/server/app/api/subagent-runs/route.js +1 -1
  85. package/.next/server/app/api/update/apply/route.js +2 -2
  86. package/.next/server/app/api/update/check/route.js +1 -1
  87. package/.next/server/app/api/worktrees/route.js +1 -1
  88. package/.next/server/app/icon.png/route.js +1 -1
  89. package/.next/server/app/index.html +1 -1
  90. package/.next/server/app/index.rsc +5 -5
  91. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  92. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  93. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  94. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  95. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  96. package/.next/server/app/page.js +15 -15
  97. package/.next/server/app/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app-paths-manifest.json +15 -14
  99. package/.next/server/chunks/188.js +1 -1
  100. package/.next/server/chunks/5274.js +1 -1
  101. package/.next/server/chunks/5304.js +2 -2
  102. package/.next/server/chunks/5582.js +1 -1
  103. package/.next/server/chunks/6192.js +2 -2
  104. package/.next/server/chunks/7594.js +3 -3
  105. package/.next/server/instrumentation.js +1 -1
  106. package/.next/server/middleware-build-manifest.js +1 -1
  107. package/.next/server/middleware.js +3 -3
  108. package/.next/server/pages/404.html +1 -1
  109. package/.next/server/pages/500.html +1 -1
  110. package/.next/server/server-reference-manifest.json +1 -1
  111. package/.next/static/D3J3Vy5KeFVcNZer-F-b3/_buildManifest.js +1 -0
  112. package/.next/static/chunks/5899-d39102936dbd4d36.js +1 -0
  113. package/.next/static/chunks/9780-b639824d5eabb115.js +1 -0
  114. package/.next/static/chunks/app/_global-error/{page-81c6f790083aee21.js → page-382488a1c2fa278d.js} +1 -1
  115. package/.next/static/chunks/app/api/about/{route-81c6f790083aee21.js → route-382488a1c2fa278d.js} +1 -1
  116. package/.next/static/chunks/app/api/agent/[id]/bash-output/{route-81c6f790083aee21.js → route-382488a1c2fa278d.js} +1 -1
  117. package/.next/static/chunks/app/api/agent/[id]/events/route-382488a1c2fa278d.js +1 -0
  118. package/.next/static/chunks/app/api/agent/[id]/route-382488a1c2fa278d.js +1 -0
  119. package/.next/static/chunks/app/api/agent/new/route-382488a1c2fa278d.js +1 -0
  120. package/.next/static/chunks/app/api/agent/running/events/route-382488a1c2fa278d.js +1 -0
  121. package/.next/static/chunks/app/api/agent/running/route-382488a1c2fa278d.js +1 -0
  122. package/.next/static/chunks/app/api/agent-settings/{route-81c6f790083aee21.js → route-382488a1c2fa278d.js} +1 -1
  123. package/.next/static/chunks/app/api/attachments/route-382488a1c2fa278d.js +1 -0
  124. package/.next/static/chunks/app/api/auth/all-providers/route-382488a1c2fa278d.js +1 -0
  125. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-382488a1c2fa278d.js +1 -0
  126. package/.next/static/chunks/app/api/auth/login/[provider]/route-382488a1c2fa278d.js +1 -0
  127. package/.next/static/chunks/app/api/auth/logout/[provider]/route-382488a1c2fa278d.js +1 -0
  128. package/.next/static/chunks/app/api/auth/providers/route-382488a1c2fa278d.js +1 -0
  129. package/.next/static/chunks/app/api/auth/ui-session/route-382488a1c2fa278d.js +1 -0
  130. package/.next/static/chunks/app/api/auth/ui-sessions/[id]/route-382488a1c2fa278d.js +1 -0
  131. package/.next/static/chunks/app/api/auth/ui-sessions/route-382488a1c2fa278d.js +1 -0
  132. package/.next/static/chunks/app/api/cwd/browse/route-382488a1c2fa278d.js +1 -0
  133. package/.next/static/chunks/app/api/cwd/validate/route-382488a1c2fa278d.js +1 -0
  134. package/.next/static/chunks/app/api/default-cwd/route-382488a1c2fa278d.js +1 -0
  135. package/.next/static/chunks/app/api/file-index/route-382488a1c2fa278d.js +1 -0
  136. package/.next/static/chunks/app/api/files/[...path]/route-382488a1c2fa278d.js +1 -0
  137. package/.next/static/chunks/app/api/git/diff/route-382488a1c2fa278d.js +1 -0
  138. package/.next/static/chunks/app/api/git/status/route-382488a1c2fa278d.js +1 -0
  139. package/.next/static/chunks/app/api/home/route-382488a1c2fa278d.js +1 -0
  140. package/.next/static/chunks/app/api/message-media/route-382488a1c2fa278d.js +1 -0
  141. package/.next/static/chunks/app/api/models/route-382488a1c2fa278d.js +1 -0
  142. package/.next/static/chunks/app/api/models-config/raw/route-382488a1c2fa278d.js +1 -0
  143. package/.next/static/chunks/app/api/models-config/route-382488a1c2fa278d.js +1 -0
  144. package/.next/static/chunks/app/api/models-config/test/route-382488a1c2fa278d.js +1 -0
  145. package/.next/static/chunks/app/api/plugins/route-382488a1c2fa278d.js +1 -0
  146. package/.next/static/chunks/app/api/plugins/search/route-382488a1c2fa278d.js +1 -0
  147. package/.next/static/chunks/app/api/plugins/updates/route-382488a1c2fa278d.js +1 -0
  148. package/.next/static/chunks/app/api/preferences/route-382488a1c2fa278d.js +1 -0
  149. package/.next/static/chunks/app/api/project-assets/route-382488a1c2fa278d.js +1 -0
  150. package/.next/static/chunks/app/api/prompts/route-382488a1c2fa278d.js +1 -0
  151. package/.next/static/chunks/app/api/pty/route-382488a1c2fa278d.js +1 -0
  152. package/.next/static/chunks/app/api/sessions/[id]/archive/route-382488a1c2fa278d.js +1 -0
  153. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-382488a1c2fa278d.js +1 -0
  154. package/.next/static/chunks/app/api/sessions/[id]/command-entry/route-382488a1c2fa278d.js +1 -0
  155. package/.next/static/chunks/app/api/sessions/[id]/context/route-382488a1c2fa278d.js +1 -0
  156. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-382488a1c2fa278d.js +1 -0
  157. package/.next/static/chunks/app/api/sessions/[id]/export/route-382488a1c2fa278d.js +1 -0
  158. package/.next/static/chunks/app/api/sessions/[id]/info/route-382488a1c2fa278d.js +1 -0
  159. package/.next/static/chunks/app/api/sessions/[id]/route-382488a1c2fa278d.js +1 -0
  160. package/.next/static/chunks/app/api/sessions/[id]/state/route-382488a1c2fa278d.js +1 -0
  161. package/.next/static/chunks/app/api/sessions/[id]/tool-results/[toolCallId]/route-382488a1c2fa278d.js +1 -0
  162. package/.next/static/chunks/app/api/sessions/route-382488a1c2fa278d.js +1 -0
  163. package/.next/static/chunks/app/api/sessions/search/route-382488a1c2fa278d.js +1 -0
  164. package/.next/static/chunks/app/api/settings/raw/route-382488a1c2fa278d.js +1 -0
  165. package/.next/static/chunks/app/api/settings/remote/route-382488a1c2fa278d.js +1 -0
  166. package/.next/static/chunks/app/api/skills/check/route-382488a1c2fa278d.js +1 -0
  167. package/.next/static/chunks/app/api/skills/install/route-382488a1c2fa278d.js +1 -0
  168. package/.next/static/chunks/app/api/skills/route-382488a1c2fa278d.js +1 -0
  169. package/.next/static/chunks/app/api/skills/search/route-382488a1c2fa278d.js +1 -0
  170. package/.next/static/chunks/app/api/skills/update/route-382488a1c2fa278d.js +1 -0
  171. package/.next/static/chunks/app/api/subagent-runs/route-382488a1c2fa278d.js +1 -0
  172. package/.next/static/chunks/app/api/update/apply/route-382488a1c2fa278d.js +1 -0
  173. package/.next/static/chunks/app/api/update/check/route-382488a1c2fa278d.js +1 -0
  174. package/.next/static/chunks/app/api/worktrees/route-382488a1c2fa278d.js +1 -0
  175. package/.next/static/chunks/app/page-c19890de8826ddaf.js +25 -0
  176. package/.next/static/chunks/next/dist/client/components/builtin/app-error-382488a1c2fa278d.js +1 -0
  177. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-382488a1c2fa278d.js +1 -0
  178. package/.next/static/chunks/next/dist/client/components/builtin/not-found-382488a1c2fa278d.js +1 -0
  179. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-382488a1c2fa278d.js +1 -0
  180. package/.next/static/css/{6b4128bf4045ad40.css → ac88a1ad4aa32833.css} +1 -1
  181. package/README.en.md +3 -3
  182. package/README.md +3 -3
  183. package/README.zh-CN.md +3 -3
  184. package/bin/pidance.js +0 -0
  185. package/package.json +2 -2
  186. package/.next/static/9Tr9m3GjZ3RcbmXYktF98/_buildManifest.js +0 -1
  187. package/.next/static/chunks/7874-4f48b670898adf75.js +0 -1
  188. package/.next/static/chunks/9780-6e9257313ecbeae5.js +0 -1
  189. package/.next/static/chunks/app/api/agent/[id]/events/route-81c6f790083aee21.js +0 -1
  190. package/.next/static/chunks/app/api/agent/[id]/route-81c6f790083aee21.js +0 -1
  191. package/.next/static/chunks/app/api/agent/new/route-81c6f790083aee21.js +0 -1
  192. package/.next/static/chunks/app/api/agent/running/events/route-81c6f790083aee21.js +0 -1
  193. package/.next/static/chunks/app/api/agent/running/route-81c6f790083aee21.js +0 -1
  194. package/.next/static/chunks/app/api/attachments/route-81c6f790083aee21.js +0 -1
  195. package/.next/static/chunks/app/api/auth/all-providers/route-81c6f790083aee21.js +0 -1
  196. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-81c6f790083aee21.js +0 -1
  197. package/.next/static/chunks/app/api/auth/login/[provider]/route-81c6f790083aee21.js +0 -1
  198. package/.next/static/chunks/app/api/auth/logout/[provider]/route-81c6f790083aee21.js +0 -1
  199. package/.next/static/chunks/app/api/auth/providers/route-81c6f790083aee21.js +0 -1
  200. package/.next/static/chunks/app/api/auth/ui-session/route-81c6f790083aee21.js +0 -1
  201. package/.next/static/chunks/app/api/auth/ui-sessions/[id]/route-81c6f790083aee21.js +0 -1
  202. package/.next/static/chunks/app/api/auth/ui-sessions/route-81c6f790083aee21.js +0 -1
  203. package/.next/static/chunks/app/api/cwd/browse/route-81c6f790083aee21.js +0 -1
  204. package/.next/static/chunks/app/api/cwd/validate/route-81c6f790083aee21.js +0 -1
  205. package/.next/static/chunks/app/api/default-cwd/route-81c6f790083aee21.js +0 -1
  206. package/.next/static/chunks/app/api/file-index/route-81c6f790083aee21.js +0 -1
  207. package/.next/static/chunks/app/api/files/[...path]/route-81c6f790083aee21.js +0 -1
  208. package/.next/static/chunks/app/api/git/diff/route-81c6f790083aee21.js +0 -1
  209. package/.next/static/chunks/app/api/git/status/route-81c6f790083aee21.js +0 -1
  210. package/.next/static/chunks/app/api/home/route-81c6f790083aee21.js +0 -1
  211. package/.next/static/chunks/app/api/models/route-81c6f790083aee21.js +0 -1
  212. package/.next/static/chunks/app/api/models-config/raw/route-81c6f790083aee21.js +0 -1
  213. package/.next/static/chunks/app/api/models-config/route-81c6f790083aee21.js +0 -1
  214. package/.next/static/chunks/app/api/models-config/test/route-81c6f790083aee21.js +0 -1
  215. package/.next/static/chunks/app/api/plugins/route-81c6f790083aee21.js +0 -1
  216. package/.next/static/chunks/app/api/plugins/search/route-81c6f790083aee21.js +0 -1
  217. package/.next/static/chunks/app/api/plugins/updates/route-81c6f790083aee21.js +0 -1
  218. package/.next/static/chunks/app/api/preferences/route-81c6f790083aee21.js +0 -1
  219. package/.next/static/chunks/app/api/project-assets/route-81c6f790083aee21.js +0 -1
  220. package/.next/static/chunks/app/api/prompts/route-81c6f790083aee21.js +0 -1
  221. package/.next/static/chunks/app/api/pty/route-81c6f790083aee21.js +0 -1
  222. package/.next/static/chunks/app/api/sessions/[id]/archive/route-81c6f790083aee21.js +0 -1
  223. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-81c6f790083aee21.js +0 -1
  224. package/.next/static/chunks/app/api/sessions/[id]/command-entry/route-81c6f790083aee21.js +0 -1
  225. package/.next/static/chunks/app/api/sessions/[id]/context/route-81c6f790083aee21.js +0 -1
  226. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-81c6f790083aee21.js +0 -1
  227. package/.next/static/chunks/app/api/sessions/[id]/export/route-81c6f790083aee21.js +0 -1
  228. package/.next/static/chunks/app/api/sessions/[id]/info/route-81c6f790083aee21.js +0 -1
  229. package/.next/static/chunks/app/api/sessions/[id]/route-81c6f790083aee21.js +0 -1
  230. package/.next/static/chunks/app/api/sessions/[id]/state/route-81c6f790083aee21.js +0 -1
  231. package/.next/static/chunks/app/api/sessions/[id]/tool-results/[toolCallId]/route-81c6f790083aee21.js +0 -1
  232. package/.next/static/chunks/app/api/sessions/route-81c6f790083aee21.js +0 -1
  233. package/.next/static/chunks/app/api/sessions/search/route-81c6f790083aee21.js +0 -1
  234. package/.next/static/chunks/app/api/settings/raw/route-81c6f790083aee21.js +0 -1
  235. package/.next/static/chunks/app/api/settings/remote/route-81c6f790083aee21.js +0 -1
  236. package/.next/static/chunks/app/api/skills/check/route-81c6f790083aee21.js +0 -1
  237. package/.next/static/chunks/app/api/skills/install/route-81c6f790083aee21.js +0 -1
  238. package/.next/static/chunks/app/api/skills/route-81c6f790083aee21.js +0 -1
  239. package/.next/static/chunks/app/api/skills/search/route-81c6f790083aee21.js +0 -1
  240. package/.next/static/chunks/app/api/skills/update/route-81c6f790083aee21.js +0 -1
  241. package/.next/static/chunks/app/api/subagent-runs/route-81c6f790083aee21.js +0 -1
  242. package/.next/static/chunks/app/api/update/apply/route-81c6f790083aee21.js +0 -1
  243. package/.next/static/chunks/app/api/update/check/route-81c6f790083aee21.js +0 -1
  244. package/.next/static/chunks/app/api/worktrees/route-81c6f790083aee21.js +0 -1
  245. package/.next/static/chunks/app/page-546bfde49da18ff8.js +0 -25
  246. package/.next/static/chunks/next/dist/client/components/builtin/app-error-81c6f790083aee21.js +0 -1
  247. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-81c6f790083aee21.js +0 -1
  248. package/.next/static/chunks/next/dist/client/components/builtin/not-found-81c6f790083aee21.js +0 -1
  249. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-81c6f790083aee21.js +0 -1
  250. /package/.next/static/{9Tr9m3GjZ3RcbmXYktF98 → D3J3Vy5KeFVcNZer-F-b3}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
- "use strict";exports.id=6192,exports.ids=[6192],exports.modules={1060:(a,b,c)=>{c.d(b,{Ac:()=>l,GO:()=>h,X:()=>j,_4:()=>d,cV:()=>i,oC:()=>k});let d=262144,e={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif"},f={mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",opus:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",weba:"audio/webm"},g={pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function h(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function i(a){return e[h(a)]??null}function j(a){return f[h(a)]??null}function k(a){return g[h(a)]??null}function l(a){let b=h(a);return"pdf"===b||"docx"===b?b:null}},59216:(a,b,c)=>{c.d(b,{SQ:()=>A,$G:()=>w});var d=c(79646),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(28354),j=c(1060);let k=new Set(["DD","AU","UD","UA","DU","AA","UU"]);function l(a){let b=`${a.indexStatus}${a.worktreeStatus}`;return"??"===b?{status:"untracked",code:"U"}:k.has(b)||b.includes("U")?{status:"conflict",code:"C"}:b.includes("D")?{status:"deleted",code:"D"}:b.includes("R")||b.includes("C")?{status:"renamed",code:"R"}:b.includes("A")?{status:"added",code:"A"}:{status:"modified",code:"M"}}function m(a,b){return`${a}\u0000${b}`}let n=(0,i.promisify)(d.execFile),o=new Map,p=new Map;function q(a,b){o.delete(m(a,b))}async function r(a,b,c=8388608){let{stdout:d}=await n("git",["-C",a,...b],{timeout:1e4,maxBuffer:c,env:{...process.env,LC_ALL:"C"}});return d}async function s(a){try{return(await r(a,["rev-parse","--show-toplevel"])).trim()||null}catch{return null}}async function t(a){try{let[b,c]=(await r(a,["rev-parse","--show-toplevel","HEAD"])).trim().split("\n");if(!b)return null;return{repositoryRoot:b,head:c?.trim()||null}}catch{try{let b=(await r(a,["rev-parse","--show-toplevel"])).trim();return b?{repositoryRoot:b,head:null}:null}catch{return null}}}function u(a,b){let c=h().relative(h().resolve(a),h().resolve(b));return""===c||!c.startsWith(`..${h().sep}`)&&".."!==c&&!h().isAbsolute(c)}async function v(a){return function(a){let b=a.split("\0"),c=[];for(let a=0;a<b.length;a++){let d=b[a];if(!d||d.length<4||" "!==d[2])continue;let e=d[0],f=d[1],g={path:d.slice(3),indexStatus:e,worktreeStatus:f};("R"===e||"C"===e||"R"===f||"C"===f)&&(g.originalPath=b[++a]||void 0),c.push(g)}return c}(await r(a,["status","--porcelain=v1","-z","--untracked-files=all"]))}async function w(a){let b=Date.now(),c=p.get(a);if(c&&b-c.fetchedAt<800)return c.response;let d=await x(a);return p.set(a,{fetchedAt:b,response:d}),d}async function x(a){let b=await s(a);if(!b)return{isGitRepository:!1,repositoryRoot:null,files:[]};let c=(await v(b)).flatMap(c=>{let d=h().resolve(b,c.path);return u(a,d)?[{filePath:d,...l(c),indexStatus:c.indexStatus,worktreeStatus:c.worktreeStatus}]:[]});return{isGitRepository:!0,repositoryRoot:b,files:c}}function y(a,b){let c=b.endsWith("\n"),d=b.split("\n");c&&d.pop();let e=d.map(a=>`+${a}`).join("\n"),f=!c&&d.length>0?"\n\":"";return`diff --git a/${a} b/${a}
1
+ "use strict";exports.id=6192,exports.ids=[6192],exports.modules={1060:(a,b,c)=>{c.d(b,{Ac:()=>n,GO:()=>i,X:()=>k,_4:()=>d,cV:()=>j,k2:()=>l,oC:()=>m});let d=262144,e={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif"},f={mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",opus:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",weba:"audio/webm"},g={mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",avi:"video/x-msvideo"},h={pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function i(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function j(a){return e[i(a)]??null}function k(a){return f[i(a)]??null}function l(a){return g[i(a)]??null}function m(a){return h[i(a)]??null}function n(a){let b=i(a);return"pdf"===b||"docx"===b?b:null}},59216:(a,b,c)=>{c.d(b,{SQ:()=>A,$G:()=>w});var d=c(79646),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(28354),j=c(1060);let k=new Set(["DD","AU","UD","UA","DU","AA","UU"]);function l(a){let b=`${a.indexStatus}${a.worktreeStatus}`;return"??"===b?{status:"untracked",code:"U"}:k.has(b)||b.includes("U")?{status:"conflict",code:"C"}:b.includes("D")?{status:"deleted",code:"D"}:b.includes("R")||b.includes("C")?{status:"renamed",code:"R"}:b.includes("A")?{status:"added",code:"A"}:{status:"modified",code:"M"}}function m(a,b){return`${a}\u0000${b}`}let n=(0,i.promisify)(d.execFile),o=new Map,p=new Map;function q(a,b){o.delete(m(a,b))}async function r(a,b,c=8388608){let{stdout:d}=await n("git",["-C",a,...b],{timeout:1e4,maxBuffer:c,env:{...process.env,LC_ALL:"C"}});return d}async function s(a){try{return(await r(a,["rev-parse","--show-toplevel"])).trim()||null}catch{return null}}async function t(a){try{let[b,c]=(await r(a,["rev-parse","--show-toplevel","HEAD"])).trim().split("\n");if(!b)return null;return{repositoryRoot:b,head:c?.trim()||null}}catch{try{let b=(await r(a,["rev-parse","--show-toplevel"])).trim();return b?{repositoryRoot:b,head:null}:null}catch{return null}}}function u(a,b){let c=h().relative(h().resolve(a),h().resolve(b));return""===c||!c.startsWith(`..${h().sep}`)&&".."!==c&&!h().isAbsolute(c)}async function v(a){return function(a){let b=a.split("\0"),c=[];for(let a=0;a<b.length;a++){let d=b[a];if(!d||d.length<4||" "!==d[2])continue;let e=d[0],f=d[1],g={path:d.slice(3),indexStatus:e,worktreeStatus:f};("R"===e||"C"===e||"R"===f||"C"===f)&&(g.originalPath=b[++a]||void 0),c.push(g)}return c}(await r(a,["status","--porcelain=v1","-z","--untracked-files=all"]))}async function w(a){let b=Date.now(),c=p.get(a);if(c&&b-c.fetchedAt<800)return c.response;let d=await x(a);return p.set(a,{fetchedAt:b,response:d}),d}async function x(a){let b=await s(a);if(!b)return{isGitRepository:!1,repositoryRoot:null,files:[]};let c=(await v(b)).flatMap(c=>{let d=h().resolve(b,c.path);return u(a,d)?[{filePath:d,...l(c),indexStatus:c.indexStatus,worktreeStatus:c.worktreeStatus}]:[]});return{isGitRepository:!0,repositoryRoot:b,files:c}}function y(a,b){let c=b.endsWith("\n"),d=b.split("\n");c&&d.pop();let e=d.map(a=>`+${a}`).join("\n"),f=!c&&d.length>0?"\n\":"";return`diff --git a/${a} b/${a}
2
2
  new file mode 100644
3
3
  --- /dev/null
4
4
  +++ b/${a}
5
5
  @@ -0,0 +1,${d.length} @@
6
- ${e}${f}`}async function z(a,b,c){try{return await r(a,["diff","--no-color","--no-ext-diff","--unified=3","HEAD","--",...c&&c!==b?[c,b]:[b]],4*j._4)}catch{return null}}async function A(a,b,c={}){let d,e,g=await t(a);if(!g||!u(g.repositoryRoot,b))return{supported:!1};let{repositoryRoot:i,head:k}=g,n=h().resolve(b);try{d=f().lstatSync(n)}catch{return q(a,b),{supported:!1}}if(!d.isFile()||d.size>j._4)return{supported:!1};let p=m(a,b),r=o.get(p);if(!c.force&&r&&r.mtimeMs===d.mtimeMs&&r.size===d.size&&r.head===k)return r.response;let s=h().relative(i,n).split(h().sep).join("/"),w=(await v(i)).find(a=>a.path===s);if(!w)return q(a,b),{supported:!1};let{status:x}=l(w);if("deleted"===x)return q(a,b),{supported:!1};let B=f().readFileSync(n);if(B.includes(0))return{supported:!1};let C=B.toString("utf8");if("untracked"===x)e=y(s,C);else{let a=await z(i,s,w.originalPath);if(null===a){if("added"!==x)return{supported:!1};e=y(s,C)}else e=a}let D=e.includes("\n@@ ")?{supported:!0,status:x,patch:e}:{supported:!1};return o.set(p,{mtimeMs:d.mtimeMs,size:d.size,head:k,response:D}),D}},69835:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lj:()=>p,Md:()=>o,eq:()=>l,ki:()=>n,qo:()=>k,uF:()=>m});var e=c(29021),f=c(33873),g=c(55511),h=c(60396),i=c(80547),j=a([i]);i=(j.then?(await j)():j)[0];let o=0x1900000,p=0x6400000;function k(a=(0,h.$M)()){return(0,i.Nw)((0,f.join)(a,"pidance-attachments"))}function l(a=(0,h.$M)()){let b=k(a);return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0,mode:448}),(0,i.wz)(b),b}function m(a){let b=(a.replace(/\\/g,"/").split("/").pop()??"file").replace(/\0/g,"").replace(/^\.+/,"").trim()||"file";if(b.length<=180)return b;let c=b.lastIndexOf(".");if(c>0&&b.length-c<=20){let a=b.slice(c);return b.slice(0,180-a.length)+a}return b.slice(0,180)}function n(a,b,c=(0,h.$M)()){let d=l(c),j=function(a,b=Date.now()){let c=m(a),d=new Date(b).toISOString().replace(/[:.]/g,"-"),e=(0,g.randomUUID)().slice(0,8);return`${d}_${e}_${c}`}(a),k=(0,f.join)(d,j);return(0,e.writeFileSync)(k,b,{flag:"wx",mode:384}),{path:(0,i.Nw)(k),name:m(a),storedName:j,size:b.length}}d()}catch(a){d(a)}})},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>r,Nw:()=>j.Nw,bk:()=>q,mc:()=>p,uK:()=>o,wz:()=>k.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(60396),j=c(50593),k=c(25252),l=c(69835),m=c(40402),n=a([l,m]);[l,m]=n.then?(await n)():n;let s=/^[a-zA-Z]:[\\/]/;function o(a){return s.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function p(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,m.dQ)(),d=function(a){let b=new Set;for(let c of a)!0!==c.readOnly&&c.cwd&&b.add((0,j.Nw)(c.cwd)),!0!==c.readOnly&&c.projectRoot&&b.add((0,j.Nw)(c.projectRoot));return b}(c);try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,j.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,k.HM)())d.add(a);try{d.add((0,l.qo)((0,i.$M)()))}catch{}return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function q(){return!0}function r(a,b){return!0}d()}catch(a){d(a)}})}};
6
+ ${e}${f}`}async function z(a,b,c){try{return await r(a,["diff","--no-color","--no-ext-diff","--unified=3","HEAD","--",...c&&c!==b?[c,b]:[b]],4*j._4)}catch{return null}}async function A(a,b,c={}){let d,e,g=await t(a);if(!g||!u(g.repositoryRoot,b))return{supported:!1};let{repositoryRoot:i,head:k}=g,n=h().resolve(b);try{d=f().lstatSync(n)}catch{return q(a,b),{supported:!1}}if(!d.isFile()||d.size>j._4)return{supported:!1};let p=m(a,b),r=o.get(p);if(!c.force&&r&&r.mtimeMs===d.mtimeMs&&r.size===d.size&&r.head===k)return r.response;let s=h().relative(i,n).split(h().sep).join("/"),w=(await v(i)).find(a=>a.path===s);if(!w)return q(a,b),{supported:!1};let{status:x}=l(w);if("deleted"===x)return q(a,b),{supported:!1};let B=f().readFileSync(n);if(B.includes(0))return{supported:!1};let C=B.toString("utf8");if("untracked"===x)e=y(s,C);else{let a=await z(i,s,w.originalPath);if(null===a){if("added"!==x)return{supported:!1};e=y(s,C)}else e=a}let D=e.includes("\n@@ ")?{supported:!0,status:x,patch:e}:{supported:!1};return o.set(p,{mtimeMs:d.mtimeMs,size:d.size,head:k,response:D}),D}},69835:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Gt:()=>u,Lj:()=>t,Md:()=>s,eq:()=>n,ki:()=>r,qo:()=>m,uF:()=>o,xd:()=>q});var e=c(29021),f=c(33873),g=c(55511),h=c(27910),i=c(77725),j=c(60396),k=c(80547),l=a([k]);k=(l.then?(await l)():l)[0];let s=0x1900000,t=0x6400000,u=0x20000000;function m(a=(0,j.$M)()){return(0,k.Nw)((0,f.join)(a,"pidance-attachments"))}function n(a=(0,j.$M)()){let b=m(a);return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0,mode:448}),(0,k.wz)(b),b}function o(a){let b=(a.replace(/\\/g,"/").split("/").pop()??"file").replace(/\0/g,"").replace(/^\.+/,"").trim()||"file";if(b.length<=180)return b;let c=b.lastIndexOf(".");if(c>0&&b.length-c<=20){let a=b.slice(c);return b.slice(0,180-a.length)+a}return b.slice(0,180)}function p(a,b=Date.now()){let c=o(a),d=new Date(b).toISOString().replace(/[:.]/g,"-"),e=(0,g.randomUUID)().slice(0,8);return`${d}_${e}_${c}`}async function q(a,b,c=(0,j.$M)(),d=u){let l=n(c),m=p(a),r=(0,f.join)(l,m),s=(0,f.join)(l,`.${m}.${(0,g.randomUUID)()}.tmp`),t=0,v=new h.Transform({transform(a,b,c){let e=Buffer.isBuffer(a)?a:Buffer.from(a);(t+=e.length)>d?c(Error(`message media exceeds ${d} bytes`)):c(null,e)}});try{await (0,i.pipeline)(h.Readable.fromWeb(b),v,(0,e.createWriteStream)(s,{flags:"wx",mode:384})),(0,e.renameSync)(s,r)}catch(a){try{(0,e.unlinkSync)(s)}catch{}throw a}return{path:(0,k.Nw)(r),name:o(a),storedName:m,size:t}}function r(a,b,c=(0,j.$M)()){let d=n(c),g=p(a),h=(0,f.join)(d,g);return(0,e.writeFileSync)(h,b,{flag:"wx",mode:384}),{path:(0,k.Nw)(h),name:o(a),storedName:g,size:b.length}}d()}catch(a){d(a)}})},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>r,Nw:()=>j.Nw,bk:()=>q,mc:()=>p,uK:()=>o,wz:()=>k.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(60396),j=c(50593),k=c(25252),l=c(69835),m=c(40402),n=a([l,m]);[l,m]=n.then?(await n)():n;let s=/^[a-zA-Z]:[\\/]/;function o(a){return s.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function p(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,m.dQ)(),d=function(a){let b=new Set;for(let c of a)!0!==c.readOnly&&c.cwd&&b.add((0,j.Nw)(c.cwd)),!0!==c.readOnly&&c.projectRoot&&b.add((0,j.Nw)(c.projectRoot));return b}(c);try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,j.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,k.HM)())d.add(a);try{d.add((0,l.qo)((0,i.$M)()))}catch{}return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function q(){return!0}function r(a,b){return!0}d()}catch(a){d(a)}})}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=7594,exports.ids=[7594],exports.modules={2416:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{j1:()=>t});var e=c(75430),f=c(60396),g=c(68524),h=c(89953),i=c(5815),j=c(85664),k=c(65107),l=c(95237),m=c(38195),n=c(62693),o=c(31524),p=c(52960),q=c(87538),r=a([e,l]);function s(a){return"string"==typeof a&&a?a:void 0}[e,l]=r.then?(await r)():r;class u{static{this.PARTIAL_RENDER_MIN_INTERVAL_MS=100}constructor(a){this.options=a,this.listeners=[],this.runtime=null,this.unsubscribe=null,this.extensionUi=null,this.idleTimer=null,this.startupHoldTimer=null,this.startupHold=!0,this.activeCommandCount=0,this._scheduledRecheck=!1,this.onDestroyCallback=null,this._alive=!0,this.promptRunning=!1,this.lastStopReason=null,this.followUpQueue=[],this.followUpQueueHydrated=!1,this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],this.bashRunning=!1,this.bashCommand=null,this.localQueue={steering:[],followUp:[]},this.promptReceipts=new Map,this.promptInFlight=new Map,this.destroyPromise=null,this.hasQueueSnapshot=!1,this.renderBridgeTheme=(0,q.Lm)(),this.toolRenderStates=new Map,this.realSessionId=a.sessionId,this.realSessionFile=a.sessionFile,this.idleTimeoutMs=a.idleTimeoutMs??3e4,this.agentDir=a.agentDir??(0,f.$M)(),this.activeToolNames=a.toolNames}get sessionId(){return this.realSessionId}get sessionFile(){return this.realSessionFile}listPendingExtensionRequests(){return Array.from(this.extensionUi?.pendingSnapshot.values()??[])}get inner(){let a=this.runtime?.session;if(a)return{sessionManager:a.sessionManager}}isAlive(){return this._alive&&null!==this.runtime}isRunning(){if(!this._alive||!this.runtime)return!1;let a=this.runtime.session;return this.promptRunning||this.bashRunning||a.isStreaming||a.isCompacting}onDestroy(a){this.onDestroyCallback=a}onEvent(a){let b=0===this.listeners.length;return this.listeners.push(a),b&&this.resetIdleTimer(),()=>{let b=this.listeners.length>0;this.listeners=this.listeners.filter(b=>b!==a),b&&0===this.listeners.length&&this.resetIdleTimer()}}beginExtensionBinding(){}async waitForExtensionsBound(){}emit(a){for(let b of this.listeners)try{b(a)}catch(a){console.error("[pidance] sdk host listener error:",a)}}notifyRunning(){this.options.onRunningChange?.()}resetIdleTimer(){if(this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null,!this._alive||!this.runtime||this.startupHold||this.isRunning()||this.flushingFollowUp||this.listeners.length>0)return;if(this.followUpQueue.length>0&&!this.isFollowUpHeld())return void this.scheduleFollowUpFlush();let a=this.idleTimeoutMs;this.idleTimer=setTimeout(()=>{if((this.idleTimer=null,!this.isRunning()&&!this.flushingFollowUp)&&!(this.listeners.length>0)){if(this.followUpQueue.length>0&&!this.isFollowUpHeld())return void this.scheduleFollowUpFlush();this.destroyAsync()}},a)}releaseStartupHold(){this.startupHold&&(this.startupHold=!1,this.startupHoldTimer&&clearTimeout(this.startupHoldTimer),this.startupHoldTimer=null)}isSettled(){return!!this.runtime&&!!this._alive&&!this.isRunning()}isFollowUpHeld(){let a=(0,g.rV)(this.agentDir);return!0===(0,g.ql)(a,`sessionQueueHold.${this.realSessionId}`)}setFollowUpHeld(a){try{(0,g.xP)(`sessionQueueHold.${this.realSessionId}`,!!a||null,this.agentDir)}catch(a){console.error("[pidance] failed to persist follow-up hold:",a)}}hydrateFollowUpQueue(){if(this.followUpQueueHydrated)return;this.followUpQueueHydrated=!0;let a=(0,g.rV)(this.agentDir),b=(0,g.ql)(a,`sessionQueue.${this.realSessionId}`);this.followUpQueue=Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}persistFollowUpQueue(){try{(0,g.xP)(`sessionQueue.${this.realSessionId}`,this.followUpQueue,this.agentDir)}catch(a){console.error("[pidance] failed to persist follow-up queue:",a)}}scheduleFollowUpFlush(){!this._alive||!this.runtime||this.flushingFollowUp||0===this.followUpQueue.length||this.isFollowUpHeld()||this.isSettled()&&(this.flushingFollowUp=!0,this.followUpFlushAsOne=!0===(0,g.rV)(this.agentDir).queueFlushAsOne,this.followUpFlushOriginal=[...this.followUpQueue],this.followUpFlushBatch=this.followUpFlushAsOne?[this.followUpFlushOriginal.join("\n\n")]:[...this.followUpFlushOriginal],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.sendNextFollowUp())}async sendNextFollowUp(){if(!this.flushingFollowUp)return;if(this.isFollowUpHeld())return void this.abortFollowUpFlush();let a=this.followUpFlushBatch[this.followUpFlushCursor];if(void 0===a)return void this.finishFollowUpFlush();if(!this.isSettled())return void setTimeout(()=>{this.flushingFollowUp&&this.followUpFlushCursor<this.followUpFlushBatch.length&&this.sendNextFollowUp()},80);this.followUpFlushConfirmed=!1;try{await this.send({type:"prompt",message:a})}catch(b){let a=b instanceof Error?b.message:String(b);this.emit({type:"follow_up_flush_error",errorMessage:a}),this.abortFollowUpFlush()}}confirmFollowUpFlush(){if(!this.flushingFollowUp||this.followUpFlushConfirmed)return;let a=this.followUpFlushBatch[this.followUpFlushCursor];if(void 0===a)return;if(this.followUpFlushConfirmed=!0,this.followUpFlushAsOne){let a=new Set(this.followUpFlushOriginal);this.followUpQueue=this.followUpQueue.filter(b=>!a.has(b))}else{let b=this.followUpQueue.indexOf(a);b>=0&&this.followUpQueue.splice(b,1)}let b=[...this.followUpQueue];(this.persistFollowUpQueue(),this.emit({type:"follow_up_flushed",sessionId:this.realSessionId,item:a,remaining:b}),this.followUpFlushAsOne)?this.finishFollowUpFlush():(this.followUpFlushCursor+=1,this.followUpFlushCursor>=this.followUpFlushBatch.length?this.finishFollowUpFlush():this.sendNextFollowUp())}abortFollowUpFlush(){this.flushingFollowUp&&(this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],this.persistFollowUpQueue(),this.resetIdleTimer())}finishFollowUpFlush(){this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],this.persistFollowUpQueue(),this.resetIdleTimer(),this.followUpQueue.length>0&&!this.isFollowUpHeld()&&this.scheduleFollowUpFlush()}get session(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.session}get services(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.services}syncIdentityFromSession(){let a=this.session,b=a.sessionId||this.realSessionId,c=a.sessionFile||this.realSessionFile,d=this.realSessionId;this.realSessionId=b,this.realSessionFile=c,c&&this.options.cacheSessionPath?.(b,c),d!==b&&this.options.onSessionRekeyed?.(d,b,this)}async rebindSession(){let a=this.session;this.extensionUi?.dispose(),this.extensionUi=(0,m.t)(a=>{this.trackExtensionSideEffects(a),this.emit(a)}),await a.bindExtensions({uiContext:this.extensionUi.uiContext,mode:"rpc",commandContextActions:{waitForIdle:()=>a.waitForIdle(),newSession:async a=>{let b=await this.runtime.newSession(a);return b.cancelled||await this.rebindSession(),b},fork:async(a,b)=>{let c=await this.runtime.fork(a,b);return c.cancelled||await this.rebindSession(),{cancelled:c.cancelled}},navigateTree:async(b,c)=>({cancelled:(await a.navigateTree(b,{summarize:c?.summarize,customInstructions:c?.customInstructions,replaceInstructions:c?.replaceInstructions,label:c?.label})).cancelled}),switchSession:async(a,b)=>{let c=await this.runtime.switchSession(a,b);return c.cancelled||await this.rebindSession(),c},reload:async()=>{await a.reload()}},onError:a=>{this.setFollowUpHeld(!0),this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})}}),this.unsubscribe?.(),this.unsubscribe=a.subscribe(a=>{this.resetIdleTimer(),this.handleSessionEvent(a)}),this.syncIdentityFromSession()}trackExtensionSideEffects(a){if("extension_ui_request"!==a.type)return;let b=s(a.method);if("setStatus"===b){let b=s(a.statusKey)??s(a.key)??"default",c=s(a.statusText)??s(a.text)??"";c?this.extensionUi?.statuses.set(b,c):this.extensionUi?.statuses.delete(b)}if("setWidget"===b){let b=s(a.widgetKey)??s(a.key)??"default",c=a.widgetLines??a.content;null==c?this.extensionUi?.widgets.delete(b):this.extensionUi?.widgets.set(b,{lines:c,placement:a.widgetPlacement})}this.notifyRunning()}maybeAutoNameSession(){try{let a=this.session?.sessionManager;if(!a||a.getSessionName())return;let b=(a.buildSessionContext().messages??[]).find(a=>"user"===a.role),c=function(a){let b="";"string"==typeof a?b=a:Array.isArray(a)&&(b=a.filter(a=>"object"==typeof a&&null!==a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"));let c=b.replace(/\s+/g," ").trim();if(c)return c.length>60?`${c.slice(0,60)}…`:c}(b?.content);c&&a.appendSessionInfo(c)}catch{}}readStopReasonFromAgentEnd(a){let b=a.messages;if(!Array.isArray(b))return null;for(let a=b.length-1;a>=0;a--){let c=b[a],d=c?.message?.stopReason??c?.stopReason;if("string"==typeof d){if("aborted"===d)return"aborted";if("error"===d||"prompt_error"===d)return"error";return"completed"}}return null}handleSessionEvent(a){switch(a.type){case"agent_start":this.promptRunning=!0,(0,i.NK)(this.realSessionId,Date.now()),this.notifyRunning();break;case"agent_end":this.promptRunning=!1,this.lastStopReason=this.readStopReasonFromAgentEnd(a)??this.lastStopReason??"completed",("aborted"===this.lastStopReason||"error"===this.lastStopReason)&&this.setFollowUpHeld(!0),(0,i.PI)(this.realSessionId),this.options.onSessionListInvalidate?.(),this.realSessionFile&&(0,k.$9)(this.realSessionFile),this.maybeAutoNameSession(),this.notifyRunning(),this.emit({type:"prompt_done"});break;case"agent_settled":this.promptRunning=!1,this.notifyRunning(),"completed"===this.lastStopReason?this.flushingFollowUp?this.followUpFlushConfirmed?this.sendNextFollowUp():this.confirmFollowUpFlush():this.scheduleFollowUpFlush():this.flushingFollowUp&&("aborted"===this.lastStopReason||"error"===this.lastStopReason)&&this.abortFollowUpFlush(),this.resetIdleTimer();break;case"compaction_start":case"auto_compaction_start":this.notifyRunning();break;case"compaction_end":case"auto_compaction_end":this.notifyRunning(),!0!==a.aborted&&!a.errorMessage&&this.isSettled()&&this.scheduleFollowUpFlush(),this.resetIdleTimer();break;case"message_end":{let b=a.message;b?.role==="user"&&(this.confirmFollowUpFlush(),setImmediate(()=>{try{(0,l.kb)(this.session.sessionManager),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()}catch(a){console.error("[pidance] materialize after user message failed:",a)}}));break}case"queue_update":{let b=Array.isArray(a.steering)?a.steering.filter(a=>"string"==typeof a):[],c=Array.isArray(a.followUp)?a.followUp.filter(a=>"string"==typeof a):[];this.localQueue={steering:b,followUp:c},this.hasQueueSnapshot=!0}}this.emit(this.withRenderedToolLines(a))}withRenderedToolLines(a){try{if(!this.renderBridgeTheme)return a;switch(a.type){case"tool_execution_update":{if(!this.shouldRenderPartialUpdate(a.toolCallId))return a;let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!0,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,q.t_)(b,a.partialResult,{expanded:!0,isPartial:!0},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedLines:d}:a}case"tool_call":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.input,{isPartial:!1,expanded:!0,isError:!1,resultSlot:!1});if(!c)return a;let d=(0,q.GD)(b,a.input,c,b=>this.updateToolRenderLastComponent(a.toolCallId,!1,b));return d?{...a,renderedCallLines:d}:a}case"tool_result":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!1,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,q.t_)(b,{content:a.content,details:a.details,isError:!0===a.isError,...void 0!==a.usage?{usage:a.usage}:{}},{expanded:!0,isPartial:!1},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedResultLines:d}:a}case"message_start":case"message_end":{let b=a.message;if(b?.role!=="custom"||"string"!=typeof b.customType||""===b.customType)return a;let c=this.session.extensionRunner,d="function"==typeof c?.getMessageRenderer?c.getMessageRenderer(b.customType):void 0,e=(0,q.Mf)(d,a.message,this.renderBridgeTheme);return e?{...a,renderedLines:e}:a}default:return a}}catch{return a}}getToolRenderDefinition(a){if("string"==typeof a&&""!==a)try{return this.session.getToolDefinition(a)}catch{return}}buildToolRenderContext(a,b,c){let d=this.getOrCreateToolRenderState(a);return d?{args:b,toolCallId:a,invalidate:()=>{},lastComponent:c.resultSlot?d.lastResultComponent:d.lastCallComponent,state:d.state,cwd:this.realCwd,executionStarted:!0,argsComplete:!0,isPartial:c.isPartial,expanded:c.expanded,showImages:!1,isError:c.isError}:null}getOrCreateToolRenderState(a){if("string"!=typeof a||""===a)return null;let b=this.toolRenderStates.get(a);return b||(b={state:{},lastCallComponent:void 0,lastResultComponent:void 0,lastPartialRenderAt:void 0},this.toolRenderStates.set(a,b)),b}updateToolRenderLastComponent(a,b,c){if("string"!=typeof a||""===a)return;let d=this.toolRenderStates.get(a);d&&(b?d.lastResultComponent=c:d.lastCallComponent=c)}shouldRenderPartialUpdate(a){if("string"!=typeof a||""===a)return!0;let b=Date.now(),c=this.getOrCreateToolRenderState(a);return!c||(void 0===c.lastPartialRenderAt||!(b-c.lastPartialRenderAt<u.PARTIAL_RENDER_MIN_INTERVAL_MS))&&(c.lastPartialRenderAt=b,!0)}get realCwd(){try{return this.session.sessionManager.getHeader()?.cwd||this.options.cwd}catch{return this.options.cwd}}async start(){try{var a,b;let c=(a=this.realSessionFile,b=this.options.cwd,a?(0,l.G1)(a):(0,l.Qu)(b)),d=c.getCwd()||this.options.cwd,f=this.agentDir,g=this.activeToolNames,h=async({cwd:a,agentDir:b,sessionManager:c,sessionStartEvent:d})=>{let f=await (0,e.createAgentSessionServices)({cwd:a,agentDir:b});for(let a of f.modelRuntime.getModels())(0,o.yu)(a);return{...await (0,e.createAgentSessionFromServices)({services:f,sessionManager:c,sessionStartEvent:d,tools:g&&g.length>0?g:void 0,noTools:g&&0===g.length?"all":void 0}),services:f,diagnostics:f.diagnostics}};this.runtime=await (0,e.createAgentSessionRuntime)(h,{cwd:d,agentDir:f,sessionManager:c}),this.runtime.setRebindSession(async()=>{await this.rebindSession()}),this.runtime.setBeforeSessionInvalidate(()=>{this.extensionUi?.dispose(),this.unsubscribe?.(),this.unsubscribe=null}),await this.rebindSession(),this.syncIdentityFromSession(),this.hydrateFollowUpQueue(),this.startupHoldTimer=setTimeout(()=>{this.startupHoldTimer=null,this.startupHold=!1,this.resetIdleTimer()},15e3),this.startupHoldTimer.unref?.(),this.resetIdleTimer(),this.followUpQueue.length>0&&!this.isFollowUpHeld()&&this.isSettled()&&this.scheduleFollowUpFlush()}catch(a){throw await this.destroyAsync(),a}}projectState(){let a=this.session,b=a.model,c={stateSources:{rpcGetState:!1,sdkSession:!0,sessionStats:!0,localQueue:!0,localExtensionUi:!0},sessionId:this.realSessionId,sessionFile:this.realSessionFile,sessionName:a.sessionName,isStreaming:a.isStreaming,isCompacting:a.isCompacting,isPromptRunning:this.promptRunning,lastStopReason:this.lastStopReason,isBashRunning:this.bashRunning,pendingBash:this.bashCommand,autoCompactionEnabled:a.autoCompactionEnabled,steeringMode:a.steeringMode,followUpMode:a.followUpMode,thinkingLevel:a.thinkingLevel,systemPrompt:a.systemPrompt??"",model:b?{id:b.id,provider:b.provider}:void 0,messageCount:a.messages.length,pendingMessageCount:a.pendingMessageCount,extensionStatuses:Array.from(this.extensionUi?.statuses.entries()??[],([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionUi?.widgets.entries()??[],([a,b])=>({key:a,lines:Array.isArray(b?.lines)?b.lines:[],placement:b?.placement==="belowEditor"?"belowEditor":"aboveEditor"})),pendingExtensionRequests:Array.from(this.extensionUi?.pendingSnapshot.values()??[])};c.queuedMessages={steering:this.hasQueueSnapshot?[...this.localQueue.steering]:[],followUp:[...this.followUpQueue]};try{let b=a.getSessionStats(),d=b?.contextUsage;d&&"number"==typeof d.contextWindow&&d.contextWindow>0&&(c.contextUsage={contextWindow:d.contextWindow,percent:"number"==typeof d.percent?d.percent:null,tokens:"number"==typeof d.tokens?d.tokens:null})}catch{}return c}appendActivity(a){if(!this.runtime)throw Error("Cannot append activity: session not alive");let b=a&&"object"==typeof a&&"type"in a&&"append_activity"===a.type?(0,j.qF)(a):(0,j.l$)(a),c=this.session.sessionManager.appendCustomEntry(j.cP,b);return this.options.onSessionListInvalidate?.(),{entryId:c,activity:b}}async send(a){if(!this.runtime)throw Error("SDK session is not alive");let b=a.type;"get_state"!==b&&"ensure_session"!==b&&this.releaseStartupHold(),this.activeCommandCount+=1,this.resetIdleTimer();let c=this.session;try{switch(b){case"prompt":{let b=(0,p.JT)(a),d=this.promptReceipts.get(b.submissionId);if(d)return d;let e=b.submissionId,f=this.promptInFlight.get(e);if(f)return f;if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");if(c.isCompacting){if(b.images?.length)throw Error("Image attachments cannot be queued while compaction is in progress");let a={submissionId:b.submissionId,sessionId:this.realSessionId,status:"accepted"};return this.followUpQueue=[...this.followUpQueue,b.message],this.promptReceipts.set(b.submissionId,a),this.persistFollowUpQueue(),this.options.onSessionListInvalidate?.(),a}if(!(0,h.kP)(this.realSessionId))throw Error(h.GT);this.promptRunning=!0,this.lastStopReason=null,(0,i.NK)(this.realSessionId,Date.now()),this.notifyRunning();let g=(async()=>{try{await new Promise((d,e)=>{let f=!1,g=()=>{c.isStreaming||c.isCompacting||this.bashRunning||this.promptRunning&&(this.promptRunning=!1,"aborted"!==this.lastStopReason&&"error"!==this.lastStopReason&&(this.lastStopReason="completed"),(0,i.PI)(this.realSessionId),this.notifyRunning(),this.emit({type:"prompt_done"}),this.resetIdleTimer())};c.prompt(b.message,{images:b.images??a.images,streamingBehavior:a.streamingBehavior,source:"rpc",preflightResult:a=>{a&&(f=!0,this.syncIdentityFromSession(),this.setFollowUpHeld(!1),this.options.onSessionListInvalidate?.(),d())}}).then(()=>{if(!f){f=!0;try{(0,l.kb)(c.sessionManager)}catch(a){console.error("[pidance] materialize after prompt failed:",a)}this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.(),d()}g()}).catch(a=>{"aborted"!==this.lastStopReason&&(this.lastStopReason="error"),this.setFollowUpHeld(!0),g(),f||(f=!0,e(a))})});let d={submissionId:b.submissionId,sessionId:this.realSessionId,status:"accepted"};return this.promptReceipts.set(e,d),d}catch(d){this.promptRunning=!1,this.lastStopReason="aborted"===this.lastStopReason?"aborted":"error",this.setFollowUpHeld(!0),(0,i.PI)(this.realSessionId),this.notifyRunning();let a=d instanceof Error?d.message:String(d);this.emit({type:"prompt_error",errorMessage:a}),this.emit({type:"prompt_done"});let c={submissionId:b.submissionId,sessionId:this.realSessionId,status:"rejected"};throw this.promptReceipts.set(e,c),d}finally{this.promptInFlight.delete(e)}})();return this.promptInFlight.set(e,g),g}case"abort":return this.lastStopReason="aborted",this.setFollowUpHeld(!0),this.promptRunning=!1,this.notifyRunning(),await c.abort(),this.notifyRunning(),null;case"get_state":return this.projectState();case"set_model":{let b=String(a.provider??""),d=String(a.modelId??""),e=(0,n.E)(c.modelRuntime,b,d);if(!e)try{e=(await c.modelRuntime.getAvailable()).find(a=>a.provider===b&&a.id===d)}catch{e=void 0}if(!e)throw Error(`Model not found: ${b}/${d}`);return await c.setModel((0,o.eU)(e)),this.options.onSessionListInvalidate?.(),e}case"set_thinking_level":return c.model&&(0,o.yu)(c.model),c.setThinkingLevel(a.level),this.options.onSessionListInvalidate?.(),null;case"compact":{let b=await c.compact("string"==typeof a.customInstructions?a.customInstructions:void 0);return this.options.onSessionListInvalidate?.(),this.notifyRunning(),this.resetIdleTimer(),b}case"steer":return await c.steer(String(a.message??""),a.images),null;case"set_follow_up_queue":{let b=Array.isArray(a.items)?a.items.filter(a=>"string"==typeof a&&a.trim().length>0):[];return this.flushingFollowUp&&this.abortFollowUpFlush(),this.followUpQueue=b,this.persistFollowUpQueue(),this.isSettled()&&b.length>0&&this.scheduleFollowUpFlush(),this.resetIdleTimer(),{ok:!0,queued:this.followUpQueue.length}}case"follow_up":return await c.followUp(String(a.message??""),a.images),null;case"set_session_name":{let b=String(a.name??"").trim();if(!b)throw Error("Session name cannot be empty");return c.setSessionName(b),this.options.onSessionListInvalidate?.(),null}case"set_auto_compaction":return c.setAutoCompactionEnabled(!!a.enabled),null;case"set_auto_retry":return c.setAutoRetryEnabled(!!a.enabled),null;case"clear_queue":return c.clearQueue();case"get_tools":{let a=c.getAllTools(),b=new Set(c.getActiveToolNames());return{source:"sdk",tools:a.map(a=>({name:a.name,description:a.description??"",active:b.has(a.name)}))}}case"set_tools":{let b=Array.isArray(a.tools)?a.tools.filter(a=>"string"==typeof a):[];return c.setActiveToolsByName(b),this.activeToolNames=b,null}case"get_commands":{let a=[];for(let b of c.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of c.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt_template"});try{let b=c.resourceLoader?.getSkills?.();for(let c of b?.skills??[])a.push({name:`skill:${c.name}`,description:c.description,source:"skill",sourceInfo:c.sourceInfo})}catch{}return{commands:a}}case"get_session_stats":return c.getSessionStats();case"bash":if(c.isStreaming)throw Error("Cannot run bash while agent is streaming");this.bashRunning=!0,this.bashCommand={command:String(a.command??""),excludeFromContext:!!a.excludeFromContext,startedAt:Date.now()},this.notifyRunning();try{return await c.executeBash(String(a.command??""),void 0,{excludeFromContext:!!a.excludeFromContext})}finally{this.bashRunning=!1,this.bashCommand=null,this.notifyRunning(),this.resetIdleTimer()}case"abort_bash":return c.abortBash(),this.bashRunning=!1,this.bashCommand=null,this.notifyRunning(),null;case"abort_compaction":return c.abortCompaction(),null;case"extension_ui_response":{let b=s(a.id);if(!b)throw Error("extension_ui_response requires id");let c={...a};return delete c.type,delete c.id,!this.extensionUi?.respond(b,c),this.notifyRunning(),null}case"extension_ui_input":{let b=s(a.id),c="string"==typeof a.data?a.data:"";return b&&this.extensionUi?.inputCustom(b,c),null}case"append_activity":return this.appendActivity(a);case"fork":{if(this.bashRunning)throw Error("Cannot fork while a shell command is running");let b=String(a.entryId??"");if(!b)throw Error("entryId is required");let c=await this.runtime.fork(b);return c.cancelled||(await this.rebindSession(),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()),{cancelled:c.cancelled,newSessionId:c.cancelled?void 0:this.realSessionId,text:c.selectedText}}case"navigate_tree":{if(this.bashRunning)throw Error("Cannot navigate while a shell command is running");let b=s(a.targetId);if(!b)throw Error("targetId is required");let d=await c.navigateTree(b,{summarize:a.summarize,customInstructions:s(a.customInstructions)});if(!d.cancelled&&this.realSessionFile){c.sessionManager.getLeafId();let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries(),d=b.at(-1)?.id;a&&d&&a!==d?(0,k.R3)(this.realSessionFile,a):this.realSessionFile&&(0,k.$9)(this.realSessionFile)}return this.options.onSessionListInvalidate?.(),{cancelled:d.cancelled}}case"select_leaf_exact":{let b=s(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.selectLeafExact(this.sessionId,b);let d=await c.navigateTree(b,{summarize:!1});if(!d.cancelled&&this.realSessionFile){let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries().at(-1)?.id;a&&b&&a!==b?(0,k.R3)(this.realSessionFile,a):(0,k.$9)(this.realSessionFile)}return{cancelled:d.cancelled}}case"branch_from_assistant":{let b=s(a.assistantEntryId);if(!b)throw Error("assistantEntryId is required");if(this.options.navigationActions)return this.options.navigationActions.branchFromAssistant(this.sessionId,b);throw Error("branch_from_assistant is unavailable")}case"create_session_from_leaf":{let b=s(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.createSessionFromLeaf(this.sessionId,b);throw Error("create_session_from_leaf is unavailable")}case"set_branch_label":{let b=s(a.targetId);if(!b)throw Error("targetId is required");let d=void 0===a.label||null===a.label?void 0:String(a.label);return c.sessionManager.appendLabelChange(b,d),this.options.onSessionListInvalidate?.(),null}case"reload":return await c.reload(),await this.rebindSession(),null;case"get_last_assistant_text":return{text:c.getLastAssistantText()};case"ensure_session":return null;default:throw Error(`Unsupported command: ${b}`)}}finally{this.activeCommandCount=Math.max(0,this.activeCommandCount-1),0===this.activeCommandCount&&this.resetIdleTimer()}}destroy(){this.destroyAsync()}async destroyAsync(){if(this.destroyPromise)return this.destroyPromise;if(this._alive||this.runtime){if(this.activeCommandCount>0){if(this._scheduledRecheck)return;this._scheduledRecheck=!0,setTimeout(()=>{this._scheduledRecheck=!1,!this.destroyPromise&&this._alive&&this.destroyAsync()},0)}return this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null,this.startupHoldTimer&&clearTimeout(this.startupHoldTimer),this.startupHoldTimer=null,this.startupHold=!1,this.destroyPromise=(async()=>{this.unsubscribe?.(),this.unsubscribe=null,this.extensionUi?.dispose(),this.extensionUi=null;let a=this.runtime;if(this.runtime=null,a)try{await a.dispose()}catch(a){console.error("[pidance] sdk runtime dispose error:",a)}this.promptRunning=!1,this.bashRunning=!1,this.bashCommand=null,this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],(0,i.PI)(this.realSessionId),this.onDestroyCallback?.(),this.notifyRunning()})(),this.destroyPromise}}}async function t(a){let b=new u(a);return await b.start(),b}d()}catch(a){d(a)}})},5815:(a,b,c)=>{c.d(b,{MG:()=>h,NK:()=>f,PI:()=>g});let d="__piRunningStartedAt";function e(){let a=globalThis;return d in a&&a[d]instanceof Map||(a[d]=new Map),a[d]}function f(a,b){let c=e();c.has(a)||c.set(a,b)}function g(a){e().delete(a)}function h(){return e()}},26773:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>u,A4:()=>m,DU:()=>o,EM:()=>r,Fn:()=>t,HG:()=>q,OF:()=>w});var e=c(40402),f=c(95237);c(68524);var g=c(2416),h=c(5815),i=c(89953),j=a([e,f,g]);function k(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>{globalThis.__piSessions?.forEach(a=>a.destroy())};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function l(){return globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks}function m(a){return k().get(a)}function n(){return[...l().keys()]}async function o(a){let b=l().get(a);if(!b)return null;try{return(await b).realSessionId}catch{return null}}function p(){let a=new Set(n());for(let[b,c]of k())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function q(){return p()}[e,f,g]=j.then?(await j)():j;let y=new Map;function r(a,b=Date.now()){let c={},d=(0,h.MG)(),e=p(),f=new Set(e);for(let a of e){let e=d.get(a)??y.get(a)??b;y.set(a,e),c[a]=e}for(let a of[...y.keys()])f.has(a)||y.delete(a);return c}function s(){return globalThis.__piRunningListeners||(globalThis.__piRunningListeners=new Set),globalThis.__piRunningListeners}function t(a){let b=s();return b.add(a),()=>{b.delete(a)}}function u(){let a=[];for(let[b,c]of k()){let d=c.listPendingExtensionRequests();0!==d.length&&a.push({sessionId:c.sessionId||b,requests:d})}return a}let z="",A=new Set,B=null;function v(){!function a(){let b=new Set(function(){let a=new Set(n());for(let[b,c]of k())c.isAlive()&&a.add(c.sessionId||b);return[...a]}());for(let a of b)(0,i.AZ)(a),A.add(a);for(let a of[...A])b.has(a)||((0,i.Hl)(a),A.delete(a));if(0===b.size){B&&(clearInterval(B),B=null);return}B||(B=setInterval(()=>{a()},8e3),B.unref?.())}();let a=q(),b=u(),c=JSON.stringify({ids:[...a].sort(),pending:b.map(a=>({sessionId:a.sessionId,ids:a.requests.map(a=>a.id??null)}))});if(c!==z)for(let b of(z=c,s()))try{b(a)}catch{}}async function w(a,b,c,d,e){return x(a,b,c,d,e)}async function x(a,b,c,d,f){let h=k(),j=l(),m=h.get(a);if(m?.isAlive())return{session:m,realSessionId:a};let n=j.get(a);if(n)return n;if(!(0,i.kP)(a))throw Error(i.GT);v();let o=(async()=>{try{let j=await (0,g.j1)({sessionId:a,sessionFile:b,cwd:c,toolNames:d,navigationActions:f,onRunningChange:()=>v(),onSessionListInvalidate:()=>(0,e.mD)(),cacheSessionPath:(a,b)=>(0,e.O8)(a,b),onSessionRekeyed:(a,b,c)=>{let d;d=k(),a!==b&&d.delete(a),d.set(b,c),a!==b&&((0,i.kP)(b),(0,i.Hl)(a))}}),l=j.sessionId,m=j.sessionFile;return m&&(0,e.O8)(l,m),l!==a&&(0,i.kP)(l),j.onDestroy(()=>{h.get(l)===j&&h.delete(l),a!==l&&h.get(a)===j&&h.delete(a),(0,i.Hl)(l),a!==l&&(0,i.Hl)(a),v()}),h.set(l,j),j.beginExtensionBinding(),{session:j,realSessionId:l}}catch(b){throw(0,i.Hl)(a),v(),b}})().finally(()=>{j.delete(a),v()});return j.set(a,o),o}d()}catch(a){d(a)}})},31524:(a,b,c)=>{c.d(b,{Ut:()=>e,eU:()=>f,yu:()=>g});let d=["off","minimal","low","medium","high","xhigh","max"];function e(a,b){return a?d.filter(a=>b?.[a]!==null):["off"]}function f(a){if(!a.reasoning)return a;let b=a.thinkingLevelMap,c={...b??{}},d=!1;for(let a of["xhigh","max"])Object.prototype.hasOwnProperty.call(c,a)&&void 0!==c[a]||(c[a]=a,d=!0);return!d&&b?a:{...a,thinkingLevelMap:c}}function g(a){let b=f(a);if(b===a)return a;try{return a.thinkingLevelMap=b.thinkingLevelMap,a}catch{return b}}},37594:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C9:()=>G,DQ:()=>F,Md:()=>E,Yz:()=>D,mB:()=>I});var e=c(29021),f=c(33873),g=c(80547),h=c(60396),i=c(95237),j=c(52960),k=c(79495),l=c(81879),m=c(46935),n=c(31514),o=c(65107),p=c(56429),q=c(40402),r=c(85664),s=c(15461),t=c(76817),u=c(86226),v=c(68524),w=c(89953),x=c(50955),y=c(40239),z=c(5815),A=c(26773),B=c(68816),C=a([g,i,l,p,q,A]);[g,i,l,p,q,A]=C.then?(await C)():C;let F="Subagent sessions are read-only";class G extends Error{constructor(){super(F)}toString(){return this.message}}async function D(a,b){if(await b(a))throw new G}function E(a){let b=a instanceof Error?a.message:String(a);return a instanceof G||b===F?403:b.includes("Session not found")?404:(0,w.wE)(a)||b===w.GT||"Session is being deleted"===b||b.includes("closed while its title")?409:500}let H={listAllSessions:q.dQ,resolveSessionPath:q.os,getRpcSession:p.A4,waitForSessionStart:p.DU,startRpcSession:p.OF,getRunningRpcSessionIds:p.HG,listPendingExtensionUi:p.$k,subscribeRunningSessions:p.Fn,allowFileRoot:g.wz,invalidateSessionListCache:q.mD,openSessionCwd:a=>(0,i.kW)(a).getHeader()?.cwd??process.cwd(),openSessionManager:a=>(0,q.Zx)({filePath:a}),openSessionView:i.kW,reparentSessionFile:i.i5,existsSync:e.existsSync,now:()=>Date.now(),archiveFs:y.Iq},I=function(a={}){let b={...H,...a},c=(0,y.Ki)({fs:b.archiveFs,agentDir:b.archiveAgentDir,resolveSessionPath:b.resolveSessionPath,readSessionHeader:q.eP,isReadOnly:async a=>{let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},isRunning:a=>b.getRunningRpcSessionIds().includes(a),getSessionInfo:async a=>(await b.listAllSessions()).find(b=>b.id===a)??null,invalidateSessionListCache:b.invalidateSessionListCache,now:()=>new Date(b.now()).toISOString()}),d=()=>(0,y.$T)(b.archiveFs??y.Iq,b.archiveAgentDir?.()??(0,h.$M)()),g=new Map,p=async a=>{let c=b.getRpcSession(a);if(c){if("function"==typeof c.destroyAsync)return void await c.destroyAsync();c.isAlive()&&c.destroy()}},C=async(a,b)=>{if(!(0,w.kP)(a))throw Error(w.GT);try{return await b()}finally{(0,w.Hl)(a)}},E=async(a,b)=>(await p(a),C(a,b)),F={async listSessions(){let a=await b.listAllSessions(),{active:c,archived:e}=(0,y.uD)(a,d());return{sessions:c,archivedSessions:e,archivedCount:e.length,runningSessionIds:b.getRunningRpcSessionIds()}},async listArchivedSessions(){let a=await b.listAllSessions();return(0,y.uD)(a,d()).archived},async listActiveSessions(){let a=await b.listAllSessions();return(0,y.uD)(a,d()).active},listAllSessions:async()=>b.listAllSessions(),async isArchived(a){let c=await b.listAllSessions();return(0,y.YV)(c,d()).has(a)},archiveSession:async a=>c.archiveSession(a),restoreSession:async a=>c.restoreSession(a),archiveSessions:async a=>c.archiveSessions(a),restoreSessions:async a=>c.restoreSessions(a),removeArchiveRecordAfterPermanentDelete(a){(0,y.rQ)(b.archiveFs??y.Iq,b.archiveAgentDir?.()??(0,h.$M)(),a)},resolvePath:a=>b.resolveSessionPath(a),getSessionInfo:async a=>a&&"string"==typeof a?(await b.listAllSessions()).find(b=>b.id===a)??null:null,async isReadOnly(a){let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},async getReadView(a){let c=await b.resolveSessionPath(a);if(!c)return null;let d=b.getRpcSession(a),e=d?.inner;return d?.isAlive()&&e?.sessionManager?{source:"live",filePath:c,manager:e.sessionManager}:{source:"disk",filePath:c,manager:b.openSessionManager(c)}},getLive(a){let c=b.getRpcSession(a);return c?.isAlive()?c:void 0},getLiveSession:a=>F.getLive(a),isLive:a=>!!F.getLive(a),async ensureLive(a){if(await D(a,F.isReadOnly),g.has(a))throw Error("Session is being deleted");let c=F.getLive(a);if(c)return c;if((0,w.wy)(a))throw Error(w.GT);let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let e=b.openSessionCwd(d),{session:f}=await b.startRpcSession(a,d,e,void 0,G);return f},destroy(a){b.getRpcSession(a)?.destroy()},async destroyAsync(a){let c=b.getRpcSession(a);c&&("function"==typeof c.destroyAsync?await c.destroyAsync():c.destroy())},deleteSession(a){let c=g.get(a);if(c)return c;let d=(async()=>{await D(a,F.isReadOnly);let c=await b.waitForSessionStart?.(a)??a,d=await b.resolveSessionPath(a);if(!d){try{(0,v.xP)(`sessionQueue.${a}`,null),(0,v.xP)(`sessionQueueHold.${a}`,null)}catch(a){console.error("[pidance] failed to clear queue prefs after missing delete:",a)}return(0,q.BR)(a),b.invalidateSessionListCache(),F.removeArchiveRecordAfterPermanentDelete(a),{skippedSubagents:0}}if((0,w.wy)(a)||(0,w.wy)(c))throw Error(w.GT);let g=(0,q.eP)(d)?.parentSession,h=(0,q.eP)(d)?.id===a?(0,x.ku)(d,a):[],i=b.getRpcSession(c)??b.getRpcSession(a),j=b.getRunningRpcSessionIds();if(i?.isAlive?.()&&(j.includes(a)||j.includes(c)))try{await i.send({type:"abort"})}catch(a){console.error("[pidance] abort before delete failed:",a)}return await F.destroyAsync(i?.sessionId??c),C(i?.sessionId??c,async()=>{let c=d.replace(/\\/g,"/").split("/").slice(0,-1).join("/");try{for(let a of(0,e.readdirSync)(c).filter(a=>a.endsWith(".jsonl")&&(0,f.join)(c,a)!==d)){let e=(0,f.join)(c,a);try{let a=(0,q.eP)(e);a?.type==="session"&&a.parentSession===d&&(a.id?(await b.waitForSessionStart?.(a.id),await E(a.id,()=>{b.reparentSessionFile(e,g)})):b.reparentSessionFile(e,g))}catch{}}}catch{}try{(0,e.unlinkSync)(d)}catch(a){if("ENOENT"!==a.code)throw a}(0,o.$9)(d);let i=(0,f.resolve)(d.slice(0,-6)),j=(0,x.uq)(h,i,q.BR);try{(0,v.xP)(`sessionQueue.${a}`,null),(0,v.xP)(`sessionQueueHold.${a}`,null)}catch(a){console.error("[pidance] failed to clear queue prefs after delete:",a)}return(0,q.BR)(a),b.invalidateSessionListCache(),F.removeArchiveRecordAfterPermanentDelete(a),{skippedSubagents:j}})})();return g.set(a,d),d.finally(()=>{g.get(a)===d&&g.delete(a)})},async start(a,c,d,e){if(await D(a,F.isReadOnly),g.has(a))throw Error("Session is being deleted");return b.startRpcSession(a,c,d,e,G)},send:async(a,b)=>(await F.ensureLive(a)).send(b),async submitPrompt(a,b){await D(a,F.isReadOnly);let c=(0,j.JT)(b);try{let b=await F.send(a,c);if(b&&"object"==typeof b&&b.status)return b;return{submissionId:c.submissionId,sessionId:a,status:"accepted"}}catch(b){if((0,w.wE)(b))throw b;return{submissionId:c.submissionId,sessionId:a,status:"rejected"}}},async getAgentState(a){if(await F.isReadOnly(a))return{live:!1,activeRun:!1,readOnly:!0};let b=F.getLive(a);if(!b)return{live:!1,activeRun:!1,...(0,w.wy)(a)?{lockedByOther:!0}:{}};let c=await b.send({type:"get_state"}),d="function"==typeof b.isRunning?!!b.isRunning():!!(c&&(c.isStreaming||c.isPromptRunning||c.isCompacting||c.isBashRunning));return{live:!0,activeRun:d,lockedByOther:!1,state:c}},async renameSession(a,c){await D(a,F.isReadOnly);let d=c.trim();if(!d)throw Error("name is required");let e=F.getLive(a);if(e?.isAlive()){await e.send({type:"set_session_name",name:d}),b.invalidateSessionListCache();return}let f=await b.resolveSessionPath(a);if(!f)throw Error("Session not found");await E(a,()=>{b.openSessionView(f).appendSessionInfo(d),b.invalidateSessionListCache()})},async autoNameSession(a){await D(a,F.isReadOnly);let b=await F.ensureLive(a);await b.waitUntilReady?.();let c=await F.getNavigationSnapshot(a);if(!c)throw Error("Session not found");let d=c.context.messages??[],e=(0,k.CL)(),f=await (0,k.K)({messages:d,provider:e.provider,modelId:e.modelId,baseUrl:e.baseUrl,api:e.api,apiKey:e.apiKey,headers:e.headers});if(!b.isAlive())throw Error("The session was closed while its title was being generated. Please try again.");try{await b.send({type:"set_session_name",name:f.title})}catch{await F.destroyAsync(a),await F.renameSession(a,f.title)}return{title:f.title,usage:f.usage??null}},async exportSession(a,c){let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");return(0,l.by)(d,c)},async getNavigationSnapshot(a,c={}){let d=await F.getReadView(a);if(!d)return null;let{filePath:e,manager:f}=d,{leafId:g,tree:h,context:i,header:j,sessionName:k}=(0,q.jK)(f,c),l=j?.parentSession?await (0,q.u1)(j.parentSession):void 0,m=(await b.listAllSessions()).find(b=>b.id===a),n=j?{path:e,id:j.id,cwd:j.cwd??"",name:k,created:j.timestamp,modified:j.timestamp,messageCount:i.totalMessageCount??i.messages.length,firstMessage:m?.firstMessage??"(no messages)",parentSessionId:l,...m?.subagent?{subagent:m.subagent,readOnly:!0}:{}}:null;return{filePath:e,leafId:g,tree:h,context:i,header:j,sessionName:k,parentSessionId:l,info:n}},async getContextPage(a,b){let c=await F.getReadView(a);if(!c)return{context:null};let d=c.manager,e=d.getEntries?.()??[],f=(0,q.Uv)(e,b.leafId,{deferThinking:b.deferThinking,deferToolResultImages:b.deferToolResultImages}),g=b.limit;return{context:b.before?(0,m.tr)(f,b.before,g??m._w):null!==g?(0,m.G1)(f,g):{...f,hasMoreBefore:!1,totalMessageCount:f.messages.length}}},async getEntryThinking(a,b,c){let d=await F.getReadView(a);if(!d)return null;let e=d.manager.getEntries().find(a=>a.id===b);if(!e||"message"!==e.type||e.message?.role!=="assistant")return null;let f=e.message.content?.[c];return f&&(0,n.mv)(f.type)?{thinking:(0,n.Ux)(f)}:null},async getToolResultDetails(a,b){let c=await F.getReadView(a);if(!c)return null;let d=c.manager.getEntries().find(a=>"message"===a.type&&a.message?.role==="toolResult"&&a.message.toolCallId===b);return d?{details:d.message?.details??null}:null},async appendActivity(a,c){await D(a,F.isReadOnly);let d=F.getLive(a),e=!!d?.inner?.sessionManager,f=d?.appendActivity;return d?.isAlive()&&e&&"function"==typeof f?await f.call(d,c):await E(a,async()=>{let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let e=(0,r.l$)(c),f=b.openSessionView(d).appendCustomEntry(r.cP,e);return b.invalidateSessionListCache(),{entryId:f,activity:e}})},appendCommandEntry:async(a,c)=>(await D(a,F.isReadOnly),await E(a,async()=>{let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let e=(0,s.fc)(c);if(!e.command)throw Error("command is required");let f=b.openSessionView(d).appendCustomEntry(s.OE,e);return b.invalidateSessionListCache(),{entryId:f,data:e}})),async createNew({cwd:a,command:c}){if(!a||"string"!=typeof a)throw Error("cwd is required");if(!b.existsSync(a))throw Error(`Directory does not exist: ${a}`);let{provider:d,modelId:e,toolNames:f,thinkingLevel:g,...h}=c,j=`__new__${b.now()}`,{session:k,realSessionId:l}=await b.startRpcSession(j,"",a,f,G);if(b.allowFileRoot(a),b.invalidateSessionListCache(),d&&e&&await k.send({type:"set_model",provider:d,modelId:e}),g&&await k.send({type:"set_thinking_level",level:g}),"ensure_session"===h.type){try{let a=k.inner,b=a?.sessionManager;b&&"function"==typeof b.getSessionFile&&(0,i.kb)(b)}catch(a){console.error("[pidance] materialize ensure_session failed:",a)}return{sessionId:l,data:null}}let m=await k.send(h);return{sessionId:l,data:m}},getRunningIds:()=>b.getRunningRpcSessionIds(),getRunningStartedAt(){let a=new Set(b.getRunningRpcSessionIds()),c={};for(let[b,d]of(0,z.MG)())a.has(b)&&(c[b]=d);for(let[b,d]of Object.entries((0,A.EM)()))!a.has(b)||b in c||(c[b]=d);return c},async searchFulltext(a,c={}){let d=await (0,B.s)(a,{limits:void 0!==c.maxHits?{maxHits:c.maxHits}:void 0}),e=c.scope??"active";if("all"===e)return d;let f=await b.listAllSessions(),g=(0,y.$T)(b.archiveFs??y.Iq,b.archiveAgentDir?.()??(0,h.$M)()),i=(0,y.mT)(d.sessionIds,f,g,e);return{...d,sessionIds:d.sessionIds.filter(a=>i.has(a)),hits:d.hits.filter(a=>i.has(a.sessionId))}},listPendingExtensionUi:()=>b.listPendingExtensionUi(),subscribeRunning:a=>b.subscribeRunningSessions(a),async selectLeafExact(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),e=b.getRpcSession(a);if(e?.isAlive?.()&&e.inner?.isBashRunning)throw Error("Cannot switch branch while a shell command is running");return E(a,async()=>{let c=await b.resolveSessionPath(a);if(!c)throw Error("Session not found");let e=b.openSessionView(c),f=e.getLeafId();if(d===f)return{cancelled:!1};if(d===e.getLastEntryId())return(0,o.$9)(c),{cancelled:!1};if(!e.getEntry(d))throw Error(`Entry ${d} not found`);try{return e.branch(d),(0,o.R3)(c,d),{cancelled:!1}}finally{b.invalidateSessionListCache()}})},async branchFromAssistant(a,c){if("string"!=typeof c||""===c.trim())throw Error("assistantEntryId is required");let d=c.trim(),e=b.getRpcSession(a);if(e?.isAlive?.()&&e.inner?.isBashRunning)throw Error("Cannot branch while a shell command is running");return E(a,async()=>{let c=await b.resolveSessionPath(a);if(!c)throw Error("Session not found");let e=b.openSessionView(c),f=e.getLeafId();if(!f)throw Error("Session has no leaf");let g=e.getBranch(f),h=e.getEntry(d);if(!h)throw Error("Entry not found");if("message"!==h.type||h.message?.role!=="assistant")throw Error("Only assistant messages can be branched from");let i=(0,t.wo)(g,d);try{return e.branch(i),i===e.getLastEntryId()?(0,o.$9)(c):(0,o.R3)(c,i),{cancelled:!1}}finally{b.invalidateSessionListCache()}})},async createSessionFromLeaf(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),e=b.getRpcSession(a),f=e?.inner;return E(a,async()=>{let c=(f?.sessionFile||e?.sessionFile)??await b.resolveSessionPath(a);if(!c)throw Error("Session not found");let g=(0,i.kW)(c),h=g.getEntry(d);if(!h)throw Error("Invalid entry ID");let j=d;if("message"===h.type&&h.message?.role==="assistant"){let a=g.getLeafId();if(!a)throw Error("Session has no leaf");let b=g.getBranch(a);j=(0,t.wo)(b,d)}let k=g.getSessionDir(),l=(0,i.G1)(c,k),m=l.createBranchedSession(j);if(!m)throw Error("Failed to create session");(0,i.kb)(l);let n=(0,i.kW)(m,k),o=n.getSessionId();(0,q.O8)(o,m),b.invalidateSessionListCache();let p=f?.model;return p&&(0,u.yN)(n.getEntries().some(a=>"model_change"===a.type),{provider:p.provider,modelId:p.id})&&n.appendModelChange(p.provider,p.id),{cancelled:!1,newSessionId:o}})}},G={selectLeafExact:(a,b)=>F.selectLeafExact(a,b),branchFromAssistant:(a,b)=>F.branchFromAssistant(a,b),createSessionFromLeaf:(a,b)=>F.createSessionFromLeaf(a,b)};return F}();d()}catch(a){d(a)}})},38195:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(716),e=c(87538);function f(a,b,c,e,f,g,h){let i=(0,d.randomUUID)();return new Promise((d,j)=>{let k,l=!1,m=()=>{a.delete(i),b.delete(i),k&&clearTimeout(k),e?.signal?.removeEventListener("abort",o)},n=a=>{l||(l=!0,m(),d(a))},o=()=>n(f);e?.signal?.addEventListener("abort",o,{once:!0}),e?.timeout&&(k=setTimeout(()=>n(f),e.timeout)),a.set(i,{resolve:a=>{try{n(h(a))}catch(a){if(l)return;l=!0,m(),j(a instanceof Error?a:Error(String(a)))}},reject:a=>{l||(l=!0,m(),j(a))}});let p={type:"extension_ui_request",id:i,...g};b.set(i,p),c(p)})}function g(a){let b=new Map,c=new Map,g=new Map,h=new Map,i=new Map,j={select:(d,e,g)=>f(b,c,a,g,void 0,{method:"select",title:d,options:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),confirm:(d,e,g)=>f(b,c,a,g,!1,{method:"confirm",title:d,message:e,timeout:g?.timeout},a=>(!("cancelled"in a)||!a.cancelled)&&"confirmed"in a&&!!a.confirmed),input:(d,e,g)=>f(b,c,a,g,void 0,{method:"input",title:d,placeholder:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),notify(b,c){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"notify",message:b,notifyType:c})},onTerminalInput:()=>()=>{},setStatus(b,c){c?g.set(b,c):g.delete(b),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setStatus",statusKey:b,statusText:c})},setWorkingMessage(){},setWorkingVisible(){},setWorkingIndicator(){},setHiddenThinkingLabel(){},setWidget(b,c,f){if("function"==typeof c){let a=(0,e.tU)(c,(0,e.Lm)());if(null===a)return;c=a}(void 0===c||Array.isArray(c))&&(null==c?h.delete(b):h.set(b,{lines:c,placement:f?.placement}),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setWidget",widgetKey:b,widgetLines:c,widgetPlacement:f?.placement}))},setFooter(){},setHeader(){},setTitle(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setTitle",title:b})},async custom(b){let c=(0,d.randomUUID)();return new Promise(d=>{let f,g=!1,h=b=>{g||(g=!0,i.delete(c),a({type:"extension_ui_request",id:c,method:"custom",closed:!0,lines:[]}),d(b))},k=()=>{if(g)return;let b=[];try{let a=f?.render?.(92);Array.isArray(a)&&(b=a.filter(a=>"string"==typeof a))}catch(a){console.error("[pidance] custom UI render failed:",a)}a({type:"extension_ui_request",id:c,method:"custom",lines:b})};i.set(c,{handleInput:a=>{if("\x03"===a)return void h(void 0);try{f?.handleInput?.(a)}catch(a){console.error("[pidance] custom UI input failed:",a)}},done:h});let l=function(a,b=92,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}(()=>{k()},92,40),m=(0,e.Lm)()??j.theme;Promise.resolve().then(()=>b(l,m,{},h)).then(a=>{g||(f=a,k())}).catch(a=>{console.error("[pidance] custom UI factory failed:",a),h(void 0)})})},pasteToEditor(a){this.setEditorText(a)},setEditorText(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"set_editor_text",text:b})},getEditorText:()=>"",editor:async(d,e)=>f(b,c,a,void 0,void 0,{method:"editor",title:d,prefill:e},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),addAutocompleteProvider(){},setEditorComponent(){},getEditorComponent(){},get theme(){let a=a=>String(a??""),b=(a,b)=>void 0===b?"":String(b);return new Proxy({fg:b,bg:b,bold:a,dim:a,italic:a},{get:(b,c)=>c in b?b[c]:"then"!==c?a:void 0})},getAllThemes:()=>[],getTheme(){},setTheme:()=>({success:!1,error:"Theme switching not supported in Web mode"}),getToolsExpanded:()=>!1,setToolsExpanded(){}};return{uiContext:j,pending:b,statuses:g,widgets:h,pendingSnapshot:c,respond(a,c){let d=b.get(a);return!!d&&(d.resolve(c),!0)},inputCustom(a,b){let c=i.get(a);return!!c&&(c.handleInput(b),!0)},dispose(){for(let[a,d]of b)b.delete(a),c.delete(a),d.reject(Error("Extension UI disposed"));for(let a of i.values())a.done(void 0);i.clear(),g.clear(),h.clear()}}}},40239:(a,b,c)=>{c.d(b,{$T:()=>m,Iq:()=>g,J3:()=>t,Ki:()=>u,YV:()=>q,mT:()=>r,rQ:()=>p,uD:()=>s});var d=c(29021),e=c(33873),f=c(60396);let g={existsSync:d.existsSync,lstatSync:d.lstatSync,mkdirSync:d.mkdirSync,readFileSync:(a,b)=>(0,d.readFileSync)(a,b),writeFileSync:(a,b,c)=>(0,d.writeFileSync)(a,b,c),renameSync:d.renameSync,unlinkSync:d.unlinkSync,readdirSync:d.readdirSync};function h(a=(0,f.$M)()){return(0,e.join)(a,"pidance-archive")}function i(a){return"string"!=typeof a||a.length<8||a.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(a)?null:`${a}.json`}function j(a,b){try{let c=h(b);if(!a.existsSync(c))return null;let d=a.lstatSync(c);if(d.isSymbolicLink()||!d.isDirectory())return null;return c}catch{return null}}function k(a){return"object"==typeof a&&null!==a&&!(1!==a.version||"string"!=typeof a.sessionId||0===a.sessionId.length||"string"!=typeof a.sessionPath||0===a.sessionPath.length||"string"!=typeof a.archivedAt||Number.isNaN(Date.parse(a.archivedAt)))}function l(a,b,c){let d=i(c);if(!d)return null;let f=j(a,b);if(!f)return null;let g=(0,e.join)(f,d);try{if(!a.existsSync(g)||a.lstatSync(g).isSymbolicLink())return null;let b=a.readFileSync(g,"utf8");if(b.length>65536)return null;let d=JSON.parse(b);if(!k(d)||d.sessionId!==c)return null;return d}catch{return null}}function m(a,b){let c=globalThis.__piArchiveRecordsCache;if(c&&Date.now()-c.ts<5e3)return c.records;let d=j(a,b),e=[];if(d){let c=[];try{c=a.readdirSync(d)}catch{c=[]}for(let d of c){let c=function(a){if("string"!=typeof a||!a.endsWith(".json"))return null;let b=a.slice(0,-5);return b.length<8||b.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(b)?null:b}(d);if(!c)continue;let f=l(a,b,c);f&&e.push(f)}}return globalThis.__piArchiveRecordsCache={records:e,ts:Date.now()},e}function n(){globalThis.__piArchiveRecordsCache=void 0}function o(a,b,c){let d=i(c);if(!d)return!1;let f=j(a,b);if(!f)return!1;let g=(0,e.join)(f,d);try{if(!a.existsSync(g))return!1;return a.unlinkSync(g),n(),!a.existsSync(g)}catch{return!1}}function p(a,b,c){o(a,b,c)}function q(a,b){let c=new Map;for(let a of b)c.set(a.sessionId,a);let d=new Set;for(let b of a){let a=c.get(b.id);a&&a.sessionPath===b.path&&d.add(b.id)}return d}function r(a,b,c,d){let e=q(b,c),f=new Set;for(let b of a){let a=e.has(b);("active"===d?!a:a)&&f.add(b)}return f}function s(a,b){let c=q(a,b),d=new Map;for(let a of b)d.set(a.sessionId,a);let e=[],f=[];for(let b of a)if(c.has(b.id)){let a=d.get(b.id);f.push({...b,archivedAt:a?a.archivedAt:void 0})}else e.push(b);return{active:e,archived:f}}class t extends Error{constructor(){super("Session is running; cannot archive while active")}toString(){return this.message}}function u(a){let b=a.fs??g,c=()=>a.agentDir?.()??(0,f.$M)(),d=async d=>{if(await a.isReadOnly(d))throw Error("Subagent sessions are read-only");if(a.isRunning(d))throw new t;let f=await a.resolveSessionPath(d);if(!f)throw Error("Session not found");let g=a.readSessionHeader(f);if(!g||g.id!==d)throw Error("Session header id mismatch");let j={version:1,sessionId:d,sessionPath:f,archivedAt:a.now()};return!function(a,b,c){let d=i(c.sessionId);if(!d)throw Error("Invalid session id");if(!k(c))throw Error("Invalid archive record");let f=function(a,b){let c=h(b);try{a.existsSync(c)||a.mkdirSync(c,{recursive:!0});let b=a.lstatSync(c);if(b.isSymbolicLink()||!b.isDirectory())return null;return c}catch{return null}}(a,b);if(!f)throw Error("Archive directory unavailable");let g=(0,e.join)(f,d),j=(0,e.join)(f,`.${d}.${process.pid}.${Date.now().toString(36)}.tmp`);try{a.writeFileSync(j,JSON.stringify(c),{encoding:"utf8",flag:"wx"}),a.renameSync(j,g),n()}catch(b){try{a.existsSync(j)&&a.unlinkSync(j)}catch{}throw b}}(b,c(),j),a.invalidateSessionListCache(),j.archivedAt},j=async d=>{if(null===l(b,c(),d))throw Error("Session is not archived");if(!await a.resolveSessionPath(d))throw Error("Session not found");if(!o(b,c(),d))throw Error("Failed to remove archive record");return a.invalidateSessionListCache(),a.getSessionInfo(d)},m=async a=>{let b=[],c=[];for(let e of a)try{await d(e),b.push(e)}catch(a){c.push({id:e,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}},p=async a=>{let b=[],c=[];for(let d of a)try{await j(d),b.push(d)}catch(a){c.push({id:d,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}};return{archiveSession:d,restoreSession:j,archiveSessions:m,restoreSessions:p}}},46935:(a,b,c)=>{c.d(b,{G1:()=>h,NN:()=>g,Uf:()=>d,_w:()=>e,tr:()=>i});let d=80,e=80;function f(a,b){return"number"==typeof a&&Number.isFinite(a)?Math.max(1,Math.min(Math.floor(a),500)):b}function g(a,b=d){let c=a.get("limit")??a.get("tail");if(null===c||""===c)return null;let e=Number(c);return!Number.isFinite(e)||e<=0?b:f(e,b)}function h(a,b=d){let c=a.messages.length,e=f(b,d);if(c<=e)return{...a,hasMoreBefore:!1,totalMessageCount:c};let g=c-e;return{messages:a.messages.slice(g),entryIds:a.entryIds.slice(g),thinkingLevel:a.thinkingLevel,model:a.model,hasMoreBefore:!0,totalMessageCount:c}}function i(a,b,c=e){let d=a.messages.length,g=a.entryIds.indexOf(b);if(g<=0)return{messages:[],entryIds:[],thinkingLevel:a.thinkingLevel,model:a.model,hasMoreBefore:!1,totalMessageCount:d};let h=Math.max(0,g-f(c,e));return{messages:a.messages.slice(h,g),entryIds:a.entryIds.slice(h,g),thinkingLevel:a.thinkingLevel,model:a.model,hasMoreBefore:h>0,totalMessageCount:d}}},52960:(a,b,c)=>{function d(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`sub-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function e(a){if(void 0===a)return;if(!Array.isArray(a))throw Error("images must be an array");let b=[];for(let c of a){if(!c||"object"!=typeof c)throw Error("invalid image");let a="string"==typeof c.data?c.data:void 0,d="string"==typeof c.mimeType?c.mimeType:"string"==typeof c.mime_type?c.mime_type:void 0;if(!a||!d)throw Error("invalid image");b.push({type:"image",data:a,mimeType:d})}return b}function f(a){if("string"!=typeof a.message)throw Error("message is required");return a.message}function g(a,b=d){return{type:"prompt",message:f(a),submissionId:"string"==typeof a.submissionId&&a.submissionId.trim()?a.submissionId.trim():b(),images:e(a.images)}}function h(a){return"prompt"===a||"abort"===a||"steer"===a||"follow_up"===a}function i(a,b=d){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("command is required");let c=a.type;if("prompt"===c)return g(a,b);if("abort"===c)return{type:"abort"};if("steer"===c)return{type:"steer",message:f(a),images:e(a.images)};if("follow_up"===c)return{type:"follow_up",message:f(a),images:e(a.images)};throw Error(`Unsupported message command: ${String(c)}`)}c.d(b,{D_:()=>h,JT:()=>g,QR:()=>i})},53023:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Uj:()=>j});var e=c(85664),f=c(93127),g=c(95237),h=a([f,g]);function i(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}[f,g]=h.then?(await h)():h;let k=`
1
+ "use strict";exports.id=7594,exports.ids=[7594],exports.modules={1060:(a,b,c)=>{c.d(b,{Ac:()=>n,GO:()=>i,X:()=>k,_4:()=>d,cV:()=>j,k2:()=>l,oC:()=>m});let d=262144,e={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif"},f={mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",opus:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",weba:"audio/webm"},g={mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",avi:"video/x-msvideo"},h={pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function i(a){return(a.replace(/\\/g,"/").split("/").pop()??"").toLowerCase().split(".").pop()??""}function j(a){return e[i(a)]??null}function k(a){return f[i(a)]??null}function l(a){return g[i(a)]??null}function m(a){return h[i(a)]??null}function n(a){let b=i(a);return"pdf"===b||"docx"===b?b:null}},2416:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{j1:()=>w});var e=c(75430),f=c(60396),g=c(68524),h=c(89953),i=c(5815),j=c(85664),k=c(65107),l=c(95237),m=c(38195),n=c(62693),o=c(31524),p=c(52960),q=c(13737),r=c(60185),s=c(28121),t=c(87538),u=a([e,l,r,s]);function v(a){return"string"==typeof a&&a?a:void 0}[e,l,r,s]=u.then?(await u)():u;class x{static{this.PARTIAL_RENDER_MIN_INTERVAL_MS=100}constructor(a){this.options=a,this.listeners=[],this.runtime=null,this.unsubscribe=null,this.extensionUi=null,this.idleTimer=null,this.startupHoldTimer=null,this.startupHold=!0,this.activeCommandCount=0,this._scheduledRecheck=!1,this.onDestroyCallback=null,this._alive=!0,this.promptRunning=!1,this.lastStopReason=null,this.followUpQueue=[],this.followUpQueueHydrated=!1,this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],this.bashRunning=!1,this.bashCommand=null,this.localQueue={steering:[],followUp:[]},this.promptReceipts=new Map,this.promptInFlight=new Map,this.pendingBinaryBatches=[],this.destroyPromise=null,this.hasQueueSnapshot=!1,this.renderBridgeTheme=(0,t.Lm)(),this.toolRenderStates=new Map,this.realSessionId=a.sessionId,this.realSessionFile=a.sessionFile,this.idleTimeoutMs=a.idleTimeoutMs??3e4,this.agentDir=a.agentDir??(0,f.$M)(),this.activeToolNames=a.toolNames}get sessionId(){return this.realSessionId}get sessionFile(){return this.realSessionFile}listPendingExtensionRequests(){return Array.from(this.extensionUi?.pendingSnapshot.values()??[])}get inner(){let a=this.runtime?.session;if(a)return{sessionManager:a.sessionManager}}isAlive(){return this._alive&&null!==this.runtime}isRunning(){if(!this._alive||!this.runtime)return!1;let a=this.runtime.session;return this.promptRunning||this.bashRunning||a.isStreaming||a.isCompacting}onDestroy(a){this.onDestroyCallback=a}onEvent(a){let b=0===this.listeners.length;return this.listeners.push(a),b&&this.resetIdleTimer(),()=>{let b=this.listeners.length>0;this.listeners=this.listeners.filter(b=>b!==a),b&&0===this.listeners.length&&this.resetIdleTimer()}}beginExtensionBinding(){}async waitForExtensionsBound(){}emit(a){for(let b of this.listeners)try{b(a)}catch(a){console.error("[pidance] sdk host listener error:",a)}}notifyRunning(){this.options.onRunningChange?.()}resetIdleTimer(){if(this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null,!this._alive||!this.runtime||this.startupHold||this.isRunning()||this.flushingFollowUp||this.listeners.length>0)return;if(this.followUpQueue.length>0&&!this.isFollowUpHeld())return void this.scheduleFollowUpFlush();let a=this.idleTimeoutMs;this.idleTimer=setTimeout(()=>{if((this.idleTimer=null,!this.isRunning()&&!this.flushingFollowUp)&&!(this.listeners.length>0)){if(this.followUpQueue.length>0&&!this.isFollowUpHeld())return void this.scheduleFollowUpFlush();this.destroyAsync()}},a)}releaseStartupHold(){this.startupHold&&(this.startupHold=!1,this.startupHoldTimer&&clearTimeout(this.startupHoldTimer),this.startupHoldTimer=null)}isSettled(){return!!this.runtime&&!!this._alive&&!this.isRunning()}isFollowUpHeld(){let a=(0,g.rV)(this.agentDir);return!0===(0,g.ql)(a,`sessionQueueHold.${this.realSessionId}`)}setFollowUpHeld(a){try{(0,g.xP)(`sessionQueueHold.${this.realSessionId}`,!!a||null,this.agentDir)}catch(a){console.error("[pidance] failed to persist follow-up hold:",a)}}hydrateFollowUpQueue(){if(this.followUpQueueHydrated)return;this.followUpQueueHydrated=!0;let a=(0,g.rV)(this.agentDir),b=(0,g.ql)(a,`sessionQueue.${this.realSessionId}`);this.followUpQueue=Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}persistFollowUpQueue(){try{(0,g.xP)(`sessionQueue.${this.realSessionId}`,this.followUpQueue,this.agentDir)}catch(a){console.error("[pidance] failed to persist follow-up queue:",a)}}scheduleFollowUpFlush(){!this._alive||!this.runtime||this.flushingFollowUp||0===this.followUpQueue.length||this.isFollowUpHeld()||this.isSettled()&&(this.flushingFollowUp=!0,this.followUpFlushAsOne=!0===(0,g.rV)(this.agentDir).queueFlushAsOne,this.followUpFlushOriginal=[...this.followUpQueue],this.followUpFlushBatch=this.followUpFlushAsOne?[this.followUpFlushOriginal.join("\n\n")]:[...this.followUpFlushOriginal],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.sendNextFollowUp())}async sendNextFollowUp(){if(!this.flushingFollowUp)return;if(this.isFollowUpHeld())return void this.abortFollowUpFlush();let a=this.followUpFlushBatch[this.followUpFlushCursor];if(void 0===a)return void this.finishFollowUpFlush();if(!this.isSettled())return void setTimeout(()=>{this.flushingFollowUp&&this.followUpFlushCursor<this.followUpFlushBatch.length&&this.sendNextFollowUp()},80);this.followUpFlushConfirmed=!1;try{await this.send({type:"prompt",message:a})}catch(b){let a=b instanceof Error?b.message:String(b);this.emit({type:"follow_up_flush_error",errorMessage:a}),this.abortFollowUpFlush()}}confirmFollowUpFlush(){if(!this.flushingFollowUp||this.followUpFlushConfirmed)return;let a=this.followUpFlushBatch[this.followUpFlushCursor];if(void 0===a)return;if(this.followUpFlushConfirmed=!0,this.followUpFlushAsOne){let a=new Set(this.followUpFlushOriginal);this.followUpQueue=this.followUpQueue.filter(b=>!a.has(b))}else{let b=this.followUpQueue.indexOf(a);b>=0&&this.followUpQueue.splice(b,1)}let b=[...this.followUpQueue];(this.persistFollowUpQueue(),this.emit({type:"follow_up_flushed",sessionId:this.realSessionId,item:a,remaining:b}),this.followUpFlushAsOne)?this.finishFollowUpFlush():(this.followUpFlushCursor+=1,this.followUpFlushCursor>=this.followUpFlushBatch.length?this.finishFollowUpFlush():this.sendNextFollowUp())}abortFollowUpFlush(){this.flushingFollowUp&&(this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],this.persistFollowUpQueue(),this.resetIdleTimer())}finishFollowUpFlush(){this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],this.persistFollowUpQueue(),this.resetIdleTimer(),this.followUpQueue.length>0&&!this.isFollowUpHeld()&&this.scheduleFollowUpFlush()}get session(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.session}get services(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.services}syncIdentityFromSession(){let a=this.session,b=a.sessionId||this.realSessionId,c=a.sessionFile||this.realSessionFile,d=this.realSessionId;this.realSessionId=b,this.realSessionFile=c,c&&this.options.cacheSessionPath?.(b,c),d!==b&&this.options.onSessionRekeyed?.(d,b,this)}async rebindSession(){let a=this.session;this.extensionUi?.dispose(),this.extensionUi=(0,m.t)(a=>{this.trackExtensionSideEffects(a),this.emit(a)}),await a.bindExtensions({uiContext:this.extensionUi.uiContext,mode:"rpc",commandContextActions:{waitForIdle:()=>a.waitForIdle(),newSession:async a=>{let b=await this.runtime.newSession(a);return b.cancelled||await this.rebindSession(),b},fork:async(a,b)=>{let c=await this.runtime.fork(a,b);return c.cancelled||await this.rebindSession(),{cancelled:c.cancelled}},navigateTree:async(b,c)=>({cancelled:(await a.navigateTree(b,{summarize:c?.summarize,customInstructions:c?.customInstructions,replaceInstructions:c?.replaceInstructions,label:c?.label})).cancelled}),switchSession:async(a,b)=>{let c=await this.runtime.switchSession(a,b);return c.cancelled||await this.rebindSession(),c},reload:async()=>{await a.reload()}},onError:a=>{this.setFollowUpHeld(!0),this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})}}),this.unsubscribe?.(),this.unsubscribe=a.subscribe(a=>{this.resetIdleTimer(),this.handleSessionEvent(a)}),this.syncIdentityFromSession()}trackExtensionSideEffects(a){if("extension_ui_request"!==a.type)return;let b=v(a.method);if("setStatus"===b){let b=v(a.statusKey)??v(a.key)??"default",c=v(a.statusText)??v(a.text)??"";c?this.extensionUi?.statuses.set(b,c):this.extensionUi?.statuses.delete(b)}if("setWidget"===b){let b=v(a.widgetKey)??v(a.key)??"default",c=a.widgetLines??a.content;null==c?this.extensionUi?.widgets.delete(b):this.extensionUi?.widgets.set(b,{lines:c,placement:a.widgetPlacement})}this.notifyRunning()}maybeAutoNameSession(){try{let a=this.session?.sessionManager;if(!a||a.getSessionName())return;let b=(a.buildSessionContext().messages??[]).find(a=>"user"===a.role),c=function(a){let b="";"string"==typeof a?b=a:Array.isArray(a)&&(b=a.filter(a=>"object"==typeof a&&null!==a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"));let c=b.replace(/\s+/g," ").trim();if(c)return c.length>60?`${c.slice(0,60)}…`:c}(b?.content);c&&a.appendSessionInfo(c)}catch{}}readStopReasonFromAgentEnd(a){let b=a.messages;if(!Array.isArray(b))return null;for(let a=b.length-1;a>=0;a--){let c=b[a],d=c?.message?.stopReason??c?.stopReason;if("string"==typeof d){if("aborted"===d)return"aborted";if("error"===d||"prompt_error"===d)return"error";return"completed"}}return null}removePendingBinaryBatch(a){this.pendingBinaryBatches=this.pendingBinaryBatches.filter(b=>b.submissionId!==a)}persistPendingBinaryBlocks(a){if(0!==a.length)try{let b=this.session.sessionManager;(0,l.kb)(b);let c=b.getEntries(),d=[...c].reverse().find(a=>"message"===a.type&&a.message?.role==="user"&&"string"==typeof a.id)?.id||b.getLeafId()||void 0;for(let c of a){let a=d?{...c,messageEntryId:d}:c,e=b.appendCustomEntry(q.uG,a);this.emit({type:"message_end",entryId:e,message:(0,q.FH)(a,Date.now())})}(0,l.kb)(b),this.options.onSessionListInvalidate?.()}catch(a){console.error("[pidance] persist binary message failed:",a)}}handleSessionEvent(a){switch(a.type){case"agent_start":this.promptRunning=!0,(0,i.NK)(this.realSessionId,Date.now()),this.notifyRunning();break;case"agent_end":this.promptRunning=!1,this.lastStopReason=this.readStopReasonFromAgentEnd(a)??this.lastStopReason??"completed",("aborted"===this.lastStopReason||"error"===this.lastStopReason)&&this.setFollowUpHeld(!0),(0,i.PI)(this.realSessionId),this.options.onSessionListInvalidate?.(),this.realSessionFile&&(0,k.$9)(this.realSessionFile),this.maybeAutoNameSession(),this.notifyRunning(),this.emit({type:"prompt_done"});break;case"agent_settled":this.promptRunning=!1,this.notifyRunning(),"completed"===this.lastStopReason?this.flushingFollowUp?this.followUpFlushConfirmed?this.sendNextFollowUp():this.confirmFollowUpFlush():this.scheduleFollowUpFlush():this.flushingFollowUp&&("aborted"===this.lastStopReason||"error"===this.lastStopReason)&&this.abortFollowUpFlush();let b="agent_settled"===a.type&&!this.flushingFollowUp&&(0===this.followUpQueue.length||this.isFollowUpHeld());this.resetIdleTimer(),b&&this.destroyAsync();break;case"compaction_start":case"auto_compaction_start":this.notifyRunning();break;case"compaction_end":case"auto_compaction_end":this.notifyRunning(),!0!==a.aborted&&!a.errorMessage&&this.isSettled()&&this.scheduleFollowUpFlush(),this.resetIdleTimer();break;case"message_end":{let b=a.message;if(b?.role==="user"){this.confirmFollowUpFlush();let a=this.pendingBinaryBatches.shift();setImmediate(()=>{try{(0,l.kb)(this.session.sessionManager),this.syncIdentityFromSession(),this.persistPendingBinaryBlocks(a?.blocks??[]),this.options.onSessionListInvalidate?.()}catch(a){console.error("[pidance] materialize after user message failed:",a)}})}break}case"queue_update":{let b=Array.isArray(a.steering)?a.steering.filter(a=>"string"==typeof a):[],c=Array.isArray(a.followUp)?a.followUp.filter(a=>"string"==typeof a):[];this.localQueue={steering:b,followUp:c},this.hasQueueSnapshot=!0}}let c=a;if("agent_end"===a.type)try{let b=this.session.getSessionStats().contextUsage;b&&"number"==typeof b.contextWindow&&b.contextWindow>0&&(c={...a,contextUsage:{contextWindow:b.contextWindow,percent:"number"==typeof b.percent?b.percent:null,tokens:"number"==typeof b.tokens?b.tokens:null}})}catch{}this.emit(this.withRenderedToolLines(c))}withRenderedToolLines(a){try{if(!this.renderBridgeTheme)return a;switch(a.type){case"tool_execution_update":{if(!this.shouldRenderPartialUpdate(a.toolCallId))return a;let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!0,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,t.t_)(b,a.partialResult,{expanded:!0,isPartial:!0},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedLines:d}:a}case"tool_call":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.input,{isPartial:!1,expanded:!0,isError:!1,resultSlot:!1});if(!c)return a;let d=(0,t.GD)(b,a.input,c,b=>this.updateToolRenderLastComponent(a.toolCallId,!1,b));return d?{...a,renderedCallLines:d}:a}case"tool_result":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!1,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,t.t_)(b,{content:a.content,details:a.details,isError:!0===a.isError,...void 0!==a.usage?{usage:a.usage}:{}},{expanded:!0,isPartial:!1},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedResultLines:d}:a}case"message_start":case"message_end":{let b=a.message;if(b?.role!=="custom"||"string"!=typeof b.customType||""===b.customType)return a;let c=this.session.extensionRunner,d="function"==typeof c?.getMessageRenderer?c.getMessageRenderer(b.customType):void 0,e=(0,t.Mf)(d,a.message,this.renderBridgeTheme);return e?{...a,renderedLines:e}:a}default:return a}}catch{return a}}getToolRenderDefinition(a){if("string"==typeof a&&""!==a)try{return this.session.getToolDefinition(a)}catch{return}}buildToolRenderContext(a,b,c){let d=this.getOrCreateToolRenderState(a);return d?{args:b,toolCallId:a,invalidate:()=>{},lastComponent:c.resultSlot?d.lastResultComponent:d.lastCallComponent,state:d.state,cwd:this.realCwd,executionStarted:!0,argsComplete:!0,isPartial:c.isPartial,expanded:c.expanded,showImages:!1,isError:c.isError}:null}getOrCreateToolRenderState(a){if("string"!=typeof a||""===a)return null;let b=this.toolRenderStates.get(a);return b||(b={state:{},lastCallComponent:void 0,lastResultComponent:void 0,lastPartialRenderAt:void 0},this.toolRenderStates.set(a,b)),b}updateToolRenderLastComponent(a,b,c){if("string"!=typeof a||""===a)return;let d=this.toolRenderStates.get(a);d&&(b?d.lastResultComponent=c:d.lastCallComponent=c)}shouldRenderPartialUpdate(a){if("string"!=typeof a||""===a)return!0;let b=Date.now(),c=this.getOrCreateToolRenderState(a);return!c||(void 0===c.lastPartialRenderAt||!(b-c.lastPartialRenderAt<x.PARTIAL_RENDER_MIN_INTERVAL_MS))&&(c.lastPartialRenderAt=b,!0)}get realCwd(){try{return this.session.sessionManager.getHeader()?.cwd||this.options.cwd}catch{return this.options.cwd}}async start(){try{var a,b;let c=(a=this.realSessionFile,b=this.options.cwd,a?(0,l.G1)(a):(0,l.Qu)(b)),d=c.getCwd()||this.options.cwd,f=this.agentDir,g=this.activeToolNames,h=async({cwd:a,agentDir:b,sessionManager:c,sessionStartEvent:d})=>{let f=(0,s._D)({cwd:a,agentDir:b,appendBinary:a=>this.appendBinary(a,c)}),h={name:s.Jv,label:"Send file to user",description:"Publish an agent-created project file as a user-visible attachment with preview/download support.",promptSnippet:"deliver a generated file to the user as a downloadable attachment",promptGuidelines:["When the user needs a generated file, call send_file_to_user; do not only print a local path or paste Base64.","Only report a file as delivered after send_file_to_user returns successfully."],parameters:s.Tv,async execute(a,b,c){let d=await f(b,c);return{content:[{type:"text",text:`Delivered ${d.name} to the user (entry ${d.entryId}).`}],details:d}}},i=await (0,e.createAgentSessionServices)({cwd:a,agentDir:b,resourceLoaderOptions:{appendSystemPromptOverride:s.n3,extensionFactories:[a=>a.registerTool(h)]}});for(let a of i.modelRuntime.getModels())(0,o.yu)(a);return{...await (0,e.createAgentSessionFromServices)({services:i,sessionManager:c,sessionStartEvent:d,tools:g&&g.length>0?g:void 0,noTools:g&&0===g.length?"all":void 0}),services:i,diagnostics:i.diagnostics}};this.runtime=await (0,e.createAgentSessionRuntime)(h,{cwd:d,agentDir:f,sessionManager:c}),this.runtime.setRebindSession(async()=>{await this.rebindSession()}),this.runtime.setBeforeSessionInvalidate(()=>{this.extensionUi?.dispose(),this.unsubscribe?.(),this.unsubscribe=null}),await this.rebindSession(),this.syncIdentityFromSession(),this.hydrateFollowUpQueue(),this.startupHoldTimer=setTimeout(()=>{this.startupHoldTimer=null,this.startupHold=!1,this.resetIdleTimer()},15e3),this.startupHoldTimer.unref?.(),this.resetIdleTimer(),this.followUpQueue.length>0&&!this.isFollowUpHeld()&&this.isSettled()&&this.scheduleFollowUpFlush()}catch(a){throw await this.destroyAsync(),a}}projectState(){let a=this.session,b=a.model,c={stateSources:{rpcGetState:!1,sdkSession:!0,sessionStats:!0,localQueue:!0,localExtensionUi:!0},sessionId:this.realSessionId,sessionFile:this.realSessionFile,sessionName:a.sessionName,isStreaming:a.isStreaming,isCompacting:a.isCompacting,isPromptRunning:this.promptRunning,lastStopReason:this.lastStopReason,isBashRunning:this.bashRunning,pendingBash:this.bashCommand,autoCompactionEnabled:a.autoCompactionEnabled,steeringMode:a.steeringMode,followUpMode:a.followUpMode,thinkingLevel:a.thinkingLevel,systemPrompt:a.systemPrompt??"",model:b?{id:b.id,provider:b.provider,modelId:b.id}:void 0,messageCount:a.messages.length,pendingMessageCount:a.pendingMessageCount,extensionStatuses:Array.from(this.extensionUi?.statuses.entries()??[],([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionUi?.widgets.entries()??[],([a,b])=>({key:a,lines:Array.isArray(b?.lines)?b.lines:[],placement:b?.placement==="belowEditor"?"belowEditor":"aboveEditor"})),pendingExtensionRequests:Array.from(this.extensionUi?.pendingSnapshot.values()??[])};c.queuedMessages={steering:this.hasQueueSnapshot?[...this.localQueue.steering]:[],followUp:[...this.followUpQueue]};try{let b=a.getSessionStats(),d=b?.contextUsage;d&&"number"==typeof d.contextWindow&&d.contextWindow>0&&(c.contextUsage={contextWindow:d.contextWindow,percent:"number"==typeof d.percent?d.percent:null,tokens:"number"==typeof d.tokens?d.tokens:null})}catch{}return c}appendActivity(a){if(!this.runtime)throw Error("Cannot append activity: session not alive");let b=a&&"object"==typeof a&&"type"in a&&"append_activity"===a.type?(0,j.qF)(a):(0,j.l$)(a),c=this.session.sessionManager.appendCustomEntry(j.cP,b);return this.options.onSessionListInvalidate?.(),{entryId:c,activity:b}}appendBinary(a,b){if(!this._alive||!this.runtime||this.destroyPromise)throw Error("Cannot append binary message: session not alive");let c=this.session.sessionManager;if(b&&c!==b)throw Error("Cannot publish file after the session changed");let d=a&&"object"==typeof a&&!Array.isArray(a)?a:{},e="append_binary"===d.type?d.binaryBlock:a,f=(0,r.Nu)(e?[e]:void 0,this.agentDir)[0];if(!f)throw Error("binaryBlock is required");let g=c.appendCustomEntry(q.uG,f);try{this.options.onSessionListInvalidate?.()}catch(a){console.error("[pidance] binary message list notification failed:",a)}try{this.emit({type:"message_end",entryId:g,message:(0,q.FH)(f,Date.now())})}catch(a){console.error("[pidance] binary message event notification failed:",a)}return{entryId:g,binary:f}}async send(a){if(!this.runtime)throw Error("SDK session is not alive");let b=a.type;"get_state"!==b&&"ensure_session"!==b&&this.releaseStartupHold(),this.activeCommandCount+=1,this.resetIdleTimer();let c=this.session;try{switch(b){case"prompt":{let b=(0,p.JT)(a),d=this.promptReceipts.get(b.submissionId);if(d)return d;let e=b.submissionId,f=this.promptInFlight.get(e);if(f)return f;let g=(0,r.Nu)(b.binaryBlocks,this.agentDir);if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");if(c.isCompacting){if(b.images?.length||g.length>0)throw Error("Media attachments cannot be queued while compaction is in progress");let a={submissionId:b.submissionId,sessionId:this.realSessionId,status:"accepted"};return this.followUpQueue=[...this.followUpQueue,b.message],this.promptReceipts.set(b.submissionId,a),this.persistFollowUpQueue(),this.options.onSessionListInvalidate?.(),a}if(!(0,h.kP)(this.realSessionId))throw Error(h.GT);this.promptRunning=!0,this.lastStopReason=null,(0,i.NK)(this.realSessionId,Date.now()),this.notifyRunning();let j=(async()=>{try{await new Promise((d,f)=>{let h=!1,j=()=>{c.isStreaming||c.isCompacting||this.bashRunning||this.promptRunning&&(this.promptRunning=!1,"aborted"!==this.lastStopReason&&"error"!==this.lastStopReason&&(this.lastStopReason="completed"),(0,i.PI)(this.realSessionId),this.notifyRunning(),this.emit({type:"prompt_done"}),this.resetIdleTimer())};c.prompt(b.message,{images:b.images??a.images,streamingBehavior:a.streamingBehavior,source:"rpc",preflightResult:a=>{a&&(h=!0,g.length>0&&this.pendingBinaryBatches.push({submissionId:e,blocks:g}),this.syncIdentityFromSession(),this.setFollowUpHeld(!1),this.options.onSessionListInvalidate?.(),d())}}).then(()=>{if(!h){h=!0;try{(0,l.kb)(c.sessionManager)}catch(a){console.error("[pidance] materialize after prompt failed:",a)}this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.(),d()}j()}).catch(a=>{"aborted"!==this.lastStopReason&&(this.lastStopReason="error"),this.setFollowUpHeld(!0),j(),h||(h=!0,f(a))})});let d={submissionId:b.submissionId,sessionId:this.realSessionId,status:"accepted"};return this.promptReceipts.set(e,d),d}catch(d){this.removePendingBinaryBatch(e),this.promptRunning=!1,this.lastStopReason="aborted"===this.lastStopReason?"aborted":"error",this.setFollowUpHeld(!0),(0,i.PI)(this.realSessionId),this.notifyRunning();let a=d instanceof Error?d.message:String(d);this.emit({type:"prompt_error",errorMessage:a}),this.emit({type:"prompt_done"});let c={submissionId:b.submissionId,sessionId:this.realSessionId,status:"rejected"};throw this.promptReceipts.set(e,c),d}finally{this.promptInFlight.delete(e)}})();return this.promptInFlight.set(e,j),j}case"abort":return this.lastStopReason="aborted",this.setFollowUpHeld(!0),this.promptRunning=!1,this.notifyRunning(),await c.abort(),this.notifyRunning(),null;case"get_state":return this.projectState();case"set_model":{let b=String(a.provider??""),d=String(a.modelId??""),e=(0,n.E)(c.modelRuntime,b,d);if(!e)try{e=(await c.modelRuntime.getAvailable()).find(a=>a.provider===b&&a.id===d)}catch{e=void 0}if(!e)throw Error(`Model not found: ${b}/${d}`);return await c.setModel((0,o.eU)(e)),this.options.onSessionListInvalidate?.(),e}case"set_thinking_level":return c.model&&(0,o.yu)(c.model),c.setThinkingLevel(a.level),this.options.onSessionListInvalidate?.(),null;case"compact":{let b=await c.compact("string"==typeof a.customInstructions?a.customInstructions:void 0);return this.options.onSessionListInvalidate?.(),this.notifyRunning(),this.resetIdleTimer(),b}case"steer":{let b=String(a.message??"");if(!this.isRunning()&&!this.flushingFollowUp)return this.send({type:"prompt",message:b,images:a.images,streamingBehavior:"steer"});return await c.steer(b,a.images),null}case"set_follow_up_queue":{let b=Array.isArray(a.items)?a.items.filter(a=>"string"==typeof a&&a.trim().length>0):[];return this.flushingFollowUp&&this.abortFollowUpFlush(),this.followUpQueue=b,this.persistFollowUpQueue(),this.isSettled()&&b.length>0&&this.scheduleFollowUpFlush(),this.resetIdleTimer(),{ok:!0,queued:this.followUpQueue.length}}case"follow_up":return await c.followUp(String(a.message??""),a.images),null;case"set_session_name":{let b=String(a.name??"").trim();if(!b)throw Error("Session name cannot be empty");return c.setSessionName(b),this.options.onSessionListInvalidate?.(),null}case"set_auto_compaction":return c.setAutoCompactionEnabled(!!a.enabled),null;case"set_auto_retry":return c.setAutoRetryEnabled(!!a.enabled),null;case"clear_queue":return c.clearQueue();case"get_tools":{let a=c.getAllTools(),b=new Set(c.getActiveToolNames());return{source:"sdk",tools:a.map(a=>({name:a.name,description:a.description??"",active:b.has(a.name)}))}}case"set_tools":{let b=Array.isArray(a.tools)?a.tools.filter(a=>"string"==typeof a):[];return c.setActiveToolsByName(b),this.activeToolNames=b,null}case"get_commands":{let a=[];for(let b of c.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of c.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt_template"});try{let b=c.resourceLoader?.getSkills?.();for(let c of b?.skills??[])a.push({name:`skill:${c.name}`,description:c.description,source:"skill",sourceInfo:c.sourceInfo})}catch{}return{commands:a}}case"get_session_stats":return c.getSessionStats();case"bash":if(c.isStreaming)throw Error("Cannot run bash while agent is streaming");this.bashRunning=!0,this.bashCommand={command:String(a.command??""),excludeFromContext:!!a.excludeFromContext,startedAt:Date.now()},this.notifyRunning();try{return await c.executeBash(String(a.command??""),void 0,{excludeFromContext:!!a.excludeFromContext})}finally{this.bashRunning=!1,this.bashCommand=null,this.notifyRunning(),this.resetIdleTimer()}case"abort_bash":return c.abortBash(),this.bashRunning=!1,this.bashCommand=null,this.notifyRunning(),null;case"abort_compaction":return c.abortCompaction(),null;case"extension_ui_response":{let b=v(a.id);if(!b)throw Error("extension_ui_response requires id");let c={...a};return delete c.type,delete c.id,!this.extensionUi?.respond(b,c),this.notifyRunning(),null}case"extension_ui_input":{let b=v(a.id),c="string"==typeof a.data?a.data:"";return b&&this.extensionUi?.inputCustom(b,c),null}case"append_activity":return this.appendActivity(a);case"append_binary":return this.appendBinary(a);case"fork":{if(this.bashRunning)throw Error("Cannot fork while a shell command is running");let b=String(a.entryId??"");if(!b)throw Error("entryId is required");let c=await this.runtime.fork(b);return c.cancelled||(await this.rebindSession(),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()),{cancelled:c.cancelled,newSessionId:c.cancelled?void 0:this.realSessionId,text:c.selectedText}}case"navigate_tree":{if(this.bashRunning)throw Error("Cannot navigate while a shell command is running");let b=v(a.targetId);if(!b)throw Error("targetId is required");let d=await c.navigateTree(b,{summarize:a.summarize,customInstructions:v(a.customInstructions)});if(!d.cancelled&&this.realSessionFile){c.sessionManager.getLeafId();let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries(),d=b.at(-1)?.id;a&&d&&a!==d?(0,k.R3)(this.realSessionFile,a):this.realSessionFile&&(0,k.$9)(this.realSessionFile)}return this.options.onSessionListInvalidate?.(),{cancelled:d.cancelled}}case"select_leaf_exact":{let b=v(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.selectLeafExact(this.sessionId,b);let d=await c.navigateTree(b,{summarize:!1});if(!d.cancelled&&this.realSessionFile){let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries().at(-1)?.id;a&&b&&a!==b?(0,k.R3)(this.realSessionFile,a):(0,k.$9)(this.realSessionFile)}return{cancelled:d.cancelled}}case"branch_from_assistant":{let b=v(a.assistantEntryId);if(!b)throw Error("assistantEntryId is required");if(this.options.navigationActions)return this.options.navigationActions.branchFromAssistant(this.sessionId,b);throw Error("branch_from_assistant is unavailable")}case"create_session_from_leaf":{let b=v(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.createSessionFromLeaf(this.sessionId,b);throw Error("create_session_from_leaf is unavailable")}case"set_branch_label":{let b=v(a.targetId);if(!b)throw Error("targetId is required");let d=void 0===a.label||null===a.label?void 0:String(a.label);return c.sessionManager.appendLabelChange(b,d),this.options.onSessionListInvalidate?.(),null}case"reload":return await c.reload(),await this.rebindSession(),null;case"get_last_assistant_text":return{text:c.getLastAssistantText()};case"ensure_session":return null;default:throw Error(`Unsupported command: ${b}`)}}finally{this.activeCommandCount=Math.max(0,this.activeCommandCount-1),0===this.activeCommandCount&&this.resetIdleTimer()}}destroy(){this.destroyAsync()}async destroyAsync(){if(this.destroyPromise)return this.destroyPromise;if(this._alive||this.runtime){if(this.activeCommandCount>0){if(this._scheduledRecheck)return;this._scheduledRecheck=!0,setTimeout(()=>{this._scheduledRecheck=!1,!this.destroyPromise&&this._alive&&this.destroyAsync()},0);return}return this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null,this.startupHoldTimer&&clearTimeout(this.startupHoldTimer),this.startupHoldTimer=null,this.startupHold=!1,this.destroyPromise=(async()=>{this.unsubscribe?.(),this.unsubscribe=null,this.extensionUi?.dispose(),this.extensionUi=null;let a=this.runtime;if(this.runtime=null,a)try{await a.dispose()}catch(a){console.error("[pidance] sdk runtime dispose error:",a)}this.promptRunning=!1,this.bashRunning=!1,this.bashCommand=null,this.flushingFollowUp=!1,this.followUpFlushBatch=[],this.followUpFlushCursor=0,this.followUpFlushConfirmed=!1,this.followUpFlushAsOne=!1,this.followUpFlushOriginal=[],(0,i.PI)(this.realSessionId),this.onDestroyCallback?.(),this.notifyRunning()})(),this.destroyPromise}}}async function w(a){let b=new x(a);return await b.start(),b}d()}catch(a){d(a)}})},5815:(a,b,c)=>{c.d(b,{MG:()=>h,NK:()=>f,PI:()=>g});let d="__piRunningStartedAt";function e(){let a=globalThis;return d in a&&a[d]instanceof Map||(a[d]=new Map),a[d]}function f(a,b){let c=e();c.has(a)||c.set(a,b)}function g(a){e().delete(a)}function h(){return e()}},26773:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>u,A4:()=>m,DU:()=>o,EM:()=>r,Fn:()=>t,HG:()=>q,OF:()=>w});var e=c(40402),f=c(95237);c(68524);var g=c(2416),h=c(5815),i=c(89953),j=a([e,f,g]);function k(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>{globalThis.__piSessions?.forEach(a=>a.destroy())};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function l(){return globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks}function m(a){return k().get(a)}function n(){return[...l().keys()]}async function o(a){let b=l().get(a);if(!b)return null;try{return(await b).realSessionId}catch{return null}}function p(){let a=new Set(n());for(let[b,c]of k())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function q(){return p()}[e,f,g]=j.then?(await j)():j;let y=new Map;function r(a,b=Date.now()){let c={},d=(0,h.MG)(),e=p(),f=new Set(e);for(let a of e){let e=d.get(a)??y.get(a)??b;y.set(a,e),c[a]=e}for(let a of[...y.keys()])f.has(a)||y.delete(a);return c}function s(){return globalThis.__piRunningListeners||(globalThis.__piRunningListeners=new Set),globalThis.__piRunningListeners}function t(a){let b=s();return b.add(a),()=>{b.delete(a)}}function u(){let a=[];for(let[b,c]of k()){let d=c.listPendingExtensionRequests();0!==d.length&&a.push({sessionId:c.sessionId||b,requests:d})}return a}let z="",A=new Set,B=null;function v(){!function a(){let b=new Set(function(){let a=new Set(n());for(let[b,c]of k())c.isAlive()&&a.add(c.sessionId||b);return[...a]}());for(let a of b)(0,i.AZ)(a),A.add(a);for(let a of[...A])b.has(a)||((0,i.Hl)(a),A.delete(a));if(0===b.size){B&&(clearInterval(B),B=null);return}B||(B=setInterval(()=>{a()},8e3),B.unref?.())}();let a=q(),b=u(),c=JSON.stringify({ids:[...a].sort(),pending:b.map(a=>({sessionId:a.sessionId,ids:a.requests.map(a=>a.id??null)}))});if(c!==z)for(let b of(z=c,s()))try{b(a)}catch{}}async function w(a,b,c,d,e){return x(a,b,c,d,e)}async function x(a,b,c,d,f){let h=k(),j=l(),m=h.get(a);if(m?.isAlive())return{session:m,realSessionId:a};let n=j.get(a);if(n)return n;if(!(0,i.kP)(a))throw Error(i.GT);v();let o=(async()=>{try{let j=await (0,g.j1)({sessionId:a,sessionFile:b,cwd:c,toolNames:d,navigationActions:f,onRunningChange:()=>v(),onSessionListInvalidate:()=>(0,e.mD)(),cacheSessionPath:(a,b)=>(0,e.O8)(a,b),onSessionRekeyed:(a,b,c)=>{let d;d=k(),a!==b&&d.delete(a),d.set(b,c),a!==b&&((0,i.kP)(b),(0,i.Hl)(a))}}),l=j.sessionId,m=j.sessionFile;return m&&(0,e.O8)(l,m),l!==a&&(0,i.kP)(l),j.onDestroy(()=>{h.get(l)===j&&h.delete(l),a!==l&&h.get(a)===j&&h.delete(a),(0,i.Hl)(l),a!==l&&(0,i.Hl)(a),v()}),h.set(l,j),j.beginExtensionBinding(),{session:j,realSessionId:l}}catch(b){throw(0,i.Hl)(a),v(),b}})().finally(()=>{j.delete(a),v()});return j.set(a,o),o}d()}catch(a){d(a)}})},28121:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Jv:()=>r,Tv:()=>t,_D:()=>q,n3:()=>n});var e=c(89477),f=c(42524),g=c(86697),h=c(26238),i=c(69835),j=c(80547),k=c(1060),l=c(60185),m=a([i,j,l]);[i,j,l]=m.then?(await m)():m;let r="send_file_to_user",s="## Pidance file delivery\nWhen the `send_file_to_user` tool is available and you create a file that the user needs to view, download, or play, call it instead of only printing a local path or embedding Base64. The tool publishes a user-visible attachment message: images keep the original for preview and download, audio/video follow the UI playback size policy, and other files get a download card. Only claim that a file was sent after the tool returns success.";function n(a){return a.some(a=>a===s)?a:[...a,s]}let t={type:"object",additionalProperties:!1,properties:{path:{type:"string",description:"Absolute or current-project-relative path of the file to deliver."},name:{type:"string",description:"Optional filename shown to the user; the source basename is used by default."}},required:["path"]};function o(a){if(a?.aborted)throw a.reason instanceof Error?a.reason:Error("file delivery aborted")}async function p(a,b){let c,d;if("string"!=typeof a||!a.trim())throw Error("path is required");let f=(0,g.resolve)(b,a.trim()),h=(0,j.bk)()?null:await (0,j.mc)();if(h&&!(0,j.A$)(f,h))throw Error("file path is not allowed");try{c=(0,e.lstatSync)(f)}catch{throw Error("file not found")}if(c.isSymbolicLink())throw Error("symbolic-link sources are not allowed");if(!c.isFile())throw Error("path must be a regular file");try{d=(0,e.realpathSync)(f)}catch{throw Error("file path could not be resolved")}if(h&&!(0,j.A$)(d,h))throw Error("file path is not allowed");return{path:d,stat:c}}function q(a){return async function(b,c){let d;o(c);let j=await p(b.path,a.cwd),m=j.path,n="string"==typeof b.name&&b.name.trim()?b.name.trim():(0,g.basename)(m),q="number"==typeof e.constants.O_NOFOLLOW?e.constants.O_NOFOLLOW:0,r="number"==typeof e.constants.O_NONBLOCK?e.constants.O_NONBLOCK:0,s=await (0,f.open)(m,e.constants.O_RDONLY|q|r);try{let b=await s.stat();if(!b.isFile())throw Error("path must be a regular file");if(0!==j.stat.dev&&0!==j.stat.ino&&(b.dev!==j.stat.dev||b.ino!==j.stat.ino))throw Error("file changed during open");if(b.size>i.Gt)throw Error(`file exceeds ${i.Gt} bytes`);o(c);let f=(0,e.createReadStream)("",{fd:s.fd,autoClose:!1,signal:c});d=await (0,i.xd)(n,h.Readable.toWeb(f),a.agentDir,i.Gt),o(c);let g=(0,l.iU)({path:d.path,name:d.name,mimeType:(0,k.cV)(m)??(0,k.X)(m)??(0,k.k2)(m)??(0,k.oC)(m)??({txt:"text/plain",md:"text/markdown",json:"application/json",csv:"text/csv",html:"text/html",xml:"application/xml",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar"})[(0,k.GO)(m)]??"application/octet-stream",size:d.size},a.agentDir),{entryId:p}=a.appendBinary(g);return d=void 0,{entryId:p,name:g.name,size:g.size}}finally{if(await s.close().catch(()=>{}),d)try{(0,e.unlinkSync)(d.path)}catch{}}}}d()}catch(a){d(a)}})},31524:(a,b,c)=>{c.d(b,{Ut:()=>e,eU:()=>f,yu:()=>g});let d=["off","minimal","low","medium","high","xhigh","max"];function e(a,b){return a?d.filter(a=>b?.[a]!==null):["off"]}function f(a){if(!a.reasoning)return a;let b=a.thinkingLevelMap,c={...b??{}},d=!1;for(let a of["xhigh","max"])Object.prototype.hasOwnProperty.call(c,a)&&void 0!==c[a]||(c[a]=a,d=!0);return!d&&b?a:{...a,thinkingLevelMap:c}}function g(a){let b=f(a);if(b===a)return a;try{return a.thinkingLevelMap=b.thinkingLevelMap,a}catch{return b}}},37594:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C9:()=>G,DQ:()=>F,Md:()=>E,Yz:()=>D,mB:()=>I});var e=c(29021),f=c(33873),g=c(80547),h=c(60396),i=c(95237),j=c(52960),k=c(79495),l=c(81879),m=c(46935),n=c(31514),o=c(65107),p=c(56429),q=c(40402),r=c(85664),s=c(15461),t=c(76817),u=c(86226),v=c(68524),w=c(89953),x=c(50955),y=c(40239),z=c(5815),A=c(26773),B=c(68816),C=a([g,i,l,p,q,A]);[g,i,l,p,q,A]=C.then?(await C)():C;let F="Subagent sessions are read-only";class G extends Error{constructor(){super(F)}toString(){return this.message}}async function D(a,b){if(await b(a))throw new G}function E(a){let b=a instanceof Error?a.message:String(a);return a instanceof G||b===F?403:b.includes("Session not found")?404:(0,w.wE)(a)||b===w.GT||"Session is being deleted"===b||b.includes("closed while its title")?409:500}let H={listAllSessions:q.dQ,resolveSessionPath:q.os,getRpcSession:p.A4,waitForSessionStart:p.DU,startRpcSession:p.OF,getRunningRpcSessionIds:p.HG,listPendingExtensionUi:p.$k,subscribeRunningSessions:p.Fn,allowFileRoot:g.wz,invalidateSessionListCache:q.mD,openSessionCwd:a=>(0,i.kW)(a).getHeader()?.cwd??process.cwd(),openSessionManager:a=>(0,q.Zx)({filePath:a}),openSessionView:i.kW,reparentSessionFile:i.i5,existsSync:e.existsSync,now:()=>Date.now(),archiveFs:y.Iq},I=function(a={}){let b={...H,...a},c=(0,y.Ki)({fs:b.archiveFs,agentDir:b.archiveAgentDir,resolveSessionPath:b.resolveSessionPath,readSessionHeader:q.eP,isReadOnly:async a=>{let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},isRunning:a=>b.getRunningRpcSessionIds().includes(a),getSessionInfo:async a=>(await b.listAllSessions()).find(b=>b.id===a)??null,invalidateSessionListCache:b.invalidateSessionListCache,now:()=>new Date(b.now()).toISOString()}),d=()=>(0,y.$T)(b.archiveFs??y.Iq,b.archiveAgentDir?.()??(0,h.$M)()),g=new Map,p=async a=>{let c=b.getRpcSession(a);if(c){if("function"==typeof c.destroyAsync)return void await c.destroyAsync();c.isAlive()&&c.destroy()}},C=async(a,b)=>{if(!(0,w.kP)(a))throw Error(w.GT);try{return await b()}finally{(0,w.Hl)(a)}},E=async(a,b)=>(await p(a),C(a,b)),F={async listSessions(){let a=await b.listAllSessions(),{active:c,archived:e}=(0,y.uD)(a,d());return{sessions:c,archivedSessions:e,archivedCount:e.length,runningSessionIds:b.getRunningRpcSessionIds()}},async listArchivedSessions(){let a=await b.listAllSessions();return(0,y.uD)(a,d()).archived},async listActiveSessions(){let a=await b.listAllSessions();return(0,y.uD)(a,d()).active},listAllSessions:async()=>b.listAllSessions(),async isArchived(a){let c=await b.listAllSessions();return(0,y.YV)(c,d()).has(a)},archiveSession:async a=>c.archiveSession(a),restoreSession:async a=>c.restoreSession(a),archiveSessions:async a=>c.archiveSessions(a),restoreSessions:async a=>c.restoreSessions(a),removeArchiveRecordAfterPermanentDelete(a){(0,y.rQ)(b.archiveFs??y.Iq,b.archiveAgentDir?.()??(0,h.$M)(),a)},resolvePath:a=>b.resolveSessionPath(a),getSessionInfo:async a=>a&&"string"==typeof a?(await b.listAllSessions()).find(b=>b.id===a)??null:null,async isReadOnly(a){let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},async getReadView(a){let c=await b.resolveSessionPath(a);if(!c)return null;let d=b.getRpcSession(a),e=d?.inner;return d?.isAlive()&&e?.sessionManager?{source:"live",filePath:c,manager:e.sessionManager}:{source:"disk",filePath:c,manager:b.openSessionManager(c)}},getLive(a){let c=b.getRpcSession(a);return c?.isAlive()?c:void 0},getLiveSession:a=>F.getLive(a),isLive:a=>!!F.getLive(a),async ensureLive(a){if(await D(a,F.isReadOnly),g.has(a))throw Error("Session is being deleted");let c=F.getLive(a);if(c)return c;if((0,w.wy)(a))throw Error(w.GT);let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let e=b.openSessionCwd(d),{session:f}=await b.startRpcSession(a,d,e,void 0,G);return f},destroy(a){b.getRpcSession(a)?.destroy()},async destroyAsync(a){let c=b.getRpcSession(a);c&&("function"==typeof c.destroyAsync?await c.destroyAsync():c.destroy())},deleteSession(a){let c=g.get(a);if(c)return c;let d=(async()=>{await D(a,F.isReadOnly);let c=await b.waitForSessionStart?.(a)??a,d=await b.resolveSessionPath(a);if(!d){try{(0,v.xP)(`sessionQueue.${a}`,null),(0,v.xP)(`sessionQueueHold.${a}`,null)}catch(a){console.error("[pidance] failed to clear queue prefs after missing delete:",a)}return(0,q.BR)(a),b.invalidateSessionListCache(),F.removeArchiveRecordAfterPermanentDelete(a),{skippedSubagents:0}}if((0,w.wy)(a)||(0,w.wy)(c))throw Error(w.GT);let g=(0,q.eP)(d)?.parentSession,h=(0,q.eP)(d)?.id===a?(0,x.ku)(d,a):[],i=b.getRpcSession(c)??b.getRpcSession(a),j=b.getRunningRpcSessionIds();if(i?.isAlive?.()&&(j.includes(a)||j.includes(c)))try{await i.send({type:"abort"})}catch(a){console.error("[pidance] abort before delete failed:",a)}return await F.destroyAsync(i?.sessionId??c),C(i?.sessionId??c,async()=>{let c=d.replace(/\\/g,"/").split("/").slice(0,-1).join("/");try{for(let a of(0,e.readdirSync)(c).filter(a=>a.endsWith(".jsonl")&&(0,f.join)(c,a)!==d)){let e=(0,f.join)(c,a);try{let a=(0,q.eP)(e);a?.type==="session"&&a.parentSession===d&&(a.id?(await b.waitForSessionStart?.(a.id),await E(a.id,()=>{b.reparentSessionFile(e,g)})):b.reparentSessionFile(e,g))}catch{}}}catch{}try{(0,e.unlinkSync)(d)}catch(a){if("ENOENT"!==a.code)throw a}(0,o.$9)(d);let i=(0,f.resolve)(d.slice(0,-6)),j=(0,x.uq)(h,i,q.BR);try{(0,v.xP)(`sessionQueue.${a}`,null),(0,v.xP)(`sessionQueueHold.${a}`,null)}catch(a){console.error("[pidance] failed to clear queue prefs after delete:",a)}return(0,q.BR)(a),b.invalidateSessionListCache(),F.removeArchiveRecordAfterPermanentDelete(a),{skippedSubagents:j}})})();return g.set(a,d),d.finally(()=>{g.get(a)===d&&g.delete(a)})},async start(a,c,d,e){if(await D(a,F.isReadOnly),g.has(a))throw Error("Session is being deleted");return b.startRpcSession(a,c,d,e,G)},send:async(a,b)=>(await F.ensureLive(a)).send(b),async submitPrompt(a,b){await D(a,F.isReadOnly);let c=(0,j.JT)(b);try{let b=await F.send(a,c);if(b&&"object"==typeof b&&b.status)return b;return{submissionId:c.submissionId,sessionId:a,status:"accepted"}}catch(b){if((0,w.wE)(b))throw b;return{submissionId:c.submissionId,sessionId:a,status:"rejected"}}},async getAgentState(a){if(await F.isReadOnly(a))return{live:!1,activeRun:!1,readOnly:!0};let b=F.getLive(a);if(!b)return{live:!1,activeRun:!1,...(0,w.wy)(a)?{lockedByOther:!0}:{}};let c=await b.send({type:"get_state"}),d="function"==typeof b.isRunning?!!b.isRunning():!!(c&&(c.isStreaming||c.isPromptRunning||c.isCompacting||c.isBashRunning));return{live:!0,activeRun:d,lockedByOther:!1,state:c}},async renameSession(a,c){await D(a,F.isReadOnly);let d=c.trim();if(!d)throw Error("name is required");let e=F.getLive(a);if(e?.isAlive()){await e.send({type:"set_session_name",name:d}),b.invalidateSessionListCache();return}let f=await b.resolveSessionPath(a);if(!f)throw Error("Session not found");await E(a,()=>{b.openSessionView(f).appendSessionInfo(d),b.invalidateSessionListCache()})},async autoNameSession(a){await D(a,F.isReadOnly);let b=await F.ensureLive(a);await b.waitUntilReady?.();let c=await F.getNavigationSnapshot(a);if(!c)throw Error("Session not found");let d=c.context.messages??[],e=(0,k.CL)(),f=await (0,k.K)({messages:d,provider:e.provider,modelId:e.modelId,baseUrl:e.baseUrl,api:e.api,apiKey:e.apiKey,headers:e.headers});if(!b.isAlive())throw Error("The session was closed while its title was being generated. Please try again.");try{await b.send({type:"set_session_name",name:f.title})}catch{await F.destroyAsync(a),await F.renameSession(a,f.title)}return{title:f.title,usage:f.usage??null}},async exportSession(a,c){let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");return(0,l.by)(d,c)},async getNavigationSnapshot(a,c={}){let d=await F.getReadView(a);if(!d)return null;let{filePath:e,manager:f}=d,{leafId:g,tree:h,context:i,header:j,sessionName:k}=(0,q.jK)(f,c),l=j?.parentSession?await (0,q.u1)(j.parentSession):void 0,m=(await b.listAllSessions()).find(b=>b.id===a),n=j?{path:e,id:j.id,cwd:j.cwd??"",name:k,created:j.timestamp,modified:j.timestamp,messageCount:i.totalMessageCount??i.messages.length,firstMessage:m?.firstMessage??"(no messages)",parentSessionId:l,...m?.subagent?{subagent:m.subagent,readOnly:!0}:{}}:null;return{filePath:e,leafId:g,tree:h,context:i,header:j,sessionName:k,parentSessionId:l,info:n}},async getContextPage(a,b){let c=await F.getReadView(a);if(!c)return{context:null};let d=c.manager,e=d.getEntries?.()??[],f=(0,q.Uv)(e,b.leafId,{deferThinking:b.deferThinking,deferToolResultImages:b.deferToolResultImages}),g=b.limit;return{context:b.before?(0,m.tr)(f,b.before,g??m._w):null!==g?(0,m.G1)(f,g):{...f,hasMoreBefore:!1,totalMessageCount:f.messages.length}}},async getEntryThinking(a,b,c){let d=await F.getReadView(a);if(!d)return null;let e=d.manager.getEntries().find(a=>a.id===b);if(!e||"message"!==e.type||e.message?.role!=="assistant")return null;let f=e.message.content?.[c];return f&&(0,n.mv)(f.type)?{thinking:(0,n.Ux)(f)}:null},async getToolResultDetails(a,b){let c=await F.getReadView(a);if(!c)return null;let d=c.manager.getEntries().find(a=>"message"===a.type&&a.message?.role==="toolResult"&&a.message.toolCallId===b);return d?{details:d.message?.details??null,content:Array.isArray(d.message?.content)?d.message.content:[]}:null},async appendActivity(a,c){await D(a,F.isReadOnly);let d=F.getLive(a),e=!!d?.inner?.sessionManager,f=d?.appendActivity;return d?.isAlive()&&e&&"function"==typeof f?await f.call(d,c):await E(a,async()=>{let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let e=(0,r.l$)(c),f=b.openSessionView(d).appendCustomEntry(r.cP,e);return b.invalidateSessionListCache(),{entryId:f,activity:e}})},appendCommandEntry:async(a,c)=>(await D(a,F.isReadOnly),await E(a,async()=>{let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let e=(0,s.fc)(c);if(!e.command)throw Error("command is required");let f=b.openSessionView(d).appendCustomEntry(s.OE,e);return b.invalidateSessionListCache(),{entryId:f,data:e}})),async createNew({cwd:a,command:c}){if(!a||"string"!=typeof a)throw Error("cwd is required");if(!b.existsSync(a))throw Error(`Directory does not exist: ${a}`);let{provider:d,modelId:e,toolNames:f,thinkingLevel:g,...h}=c,j=`__new__${b.now()}`,{session:k,realSessionId:l}=await b.startRpcSession(j,"",a,f,G);if(b.allowFileRoot(a),b.invalidateSessionListCache(),d&&e&&await k.send({type:"set_model",provider:d,modelId:e}),g&&await k.send({type:"set_thinking_level",level:g}),"ensure_session"===h.type){try{let a=k.inner,b=a?.sessionManager;b&&"function"==typeof b.getSessionFile&&(0,i.kb)(b)}catch(a){console.error("[pidance] materialize ensure_session failed:",a)}return{sessionId:l,data:null}}let m=await k.send(h);return{sessionId:l,data:m}},getRunningIds:()=>b.getRunningRpcSessionIds(),getRunningStartedAt(){let a=new Set(b.getRunningRpcSessionIds()),c={};for(let[b,d]of(0,z.MG)())a.has(b)&&(c[b]=d);for(let[b,d]of Object.entries((0,A.EM)()))!a.has(b)||b in c||(c[b]=d);return c},async searchFulltext(a,c={}){let d=await (0,B.s)(a,{limits:void 0!==c.maxHits?{maxHits:c.maxHits}:void 0}),e=c.scope??"active";if("all"===e)return d;let f=await b.listAllSessions(),g=(0,y.$T)(b.archiveFs??y.Iq,b.archiveAgentDir?.()??(0,h.$M)()),i=(0,y.mT)(d.sessionIds,f,g,e);return{...d,sessionIds:d.sessionIds.filter(a=>i.has(a)),hits:d.hits.filter(a=>i.has(a.sessionId))}},listPendingExtensionUi:()=>b.listPendingExtensionUi(),subscribeRunning:a=>b.subscribeRunningSessions(a),async selectLeafExact(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),e=b.getRpcSession(a);if(e?.isAlive?.()&&e.inner?.isBashRunning)throw Error("Cannot switch branch while a shell command is running");return E(a,async()=>{let c=await b.resolveSessionPath(a);if(!c)throw Error("Session not found");let e=b.openSessionView(c),f=e.getLeafId();if(d===f)return{cancelled:!1};if(d===e.getLastEntryId())return(0,o.$9)(c),{cancelled:!1};if(!e.getEntry(d))throw Error(`Entry ${d} not found`);try{return e.branch(d),(0,o.R3)(c,d),{cancelled:!1}}finally{b.invalidateSessionListCache()}})},async branchFromAssistant(a,c){if("string"!=typeof c||""===c.trim())throw Error("assistantEntryId is required");let d=c.trim(),e=b.getRpcSession(a);if(e?.isAlive?.()&&e.inner?.isBashRunning)throw Error("Cannot branch while a shell command is running");return E(a,async()=>{let c=await b.resolveSessionPath(a);if(!c)throw Error("Session not found");let e=b.openSessionView(c),f=e.getLeafId();if(!f)throw Error("Session has no leaf");let g=e.getBranch(f),h=e.getEntry(d);if(!h)throw Error("Entry not found");if("message"!==h.type||h.message?.role!=="assistant")throw Error("Only assistant messages can be branched from");let i=(0,t.wo)(g,d);try{return e.branch(i),i===e.getLastEntryId()?(0,o.$9)(c):(0,o.R3)(c,i),{cancelled:!1}}finally{b.invalidateSessionListCache()}})},async createSessionFromLeaf(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),e=b.getRpcSession(a),f=e?.inner;return E(a,async()=>{let c=(f?.sessionFile||e?.sessionFile)??await b.resolveSessionPath(a);if(!c)throw Error("Session not found");let g=(0,i.kW)(c),h=g.getEntry(d);if(!h)throw Error("Invalid entry ID");let j=d;if("message"===h.type&&h.message?.role==="assistant"){let a=g.getLeafId();if(!a)throw Error("Session has no leaf");let b=g.getBranch(a);j=(0,t.wo)(b,d)}let k=g.getSessionDir(),l=(0,i.G1)(c,k),m=l.createBranchedSession(j);if(!m)throw Error("Failed to create session");(0,i.kb)(l);let n=(0,i.kW)(m,k),o=n.getSessionId();(0,q.O8)(o,m),b.invalidateSessionListCache();let p=f?.model;return p&&(0,u.yN)(n.getEntries().some(a=>"model_change"===a.type),{provider:p.provider,modelId:p.id})&&n.appendModelChange(p.provider,p.id),{cancelled:!1,newSessionId:o}})}},G={selectLeafExact:(a,b)=>F.selectLeafExact(a,b),branchFromAssistant:(a,b)=>F.branchFromAssistant(a,b),createSessionFromLeaf:(a,b)=>F.createSessionFromLeaf(a,b)};return F}();d()}catch(a){d(a)}})},38195:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(716),e=c(87538);function f(a,b,c,e,f,g,h){let i=(0,d.randomUUID)();return new Promise((d,j)=>{let k,l=!1,m=()=>{a.delete(i),b.delete(i),k&&clearTimeout(k),e?.signal?.removeEventListener("abort",o)},n=a=>{l||(l=!0,m(),d(a))},o=()=>n(f);e?.signal?.addEventListener("abort",o,{once:!0}),e?.timeout&&(k=setTimeout(()=>n(f),e.timeout)),a.set(i,{resolve:a=>{try{n(h(a))}catch(a){if(l)return;l=!0,m(),j(a instanceof Error?a:Error(String(a)))}},reject:a=>{l||(l=!0,m(),j(a))}});let p={type:"extension_ui_request",id:i,...g};b.set(i,p),c(p)})}function g(a){let b=new Map,c=new Map,g=new Map,h=new Map,i=new Map,j={select:(d,e,g)=>f(b,c,a,g,void 0,{method:"select",title:d,options:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),confirm:(d,e,g)=>f(b,c,a,g,!1,{method:"confirm",title:d,message:e,timeout:g?.timeout},a=>(!("cancelled"in a)||!a.cancelled)&&"confirmed"in a&&!!a.confirmed),input:(d,e,g)=>f(b,c,a,g,void 0,{method:"input",title:d,placeholder:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),notify(b,c){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"notify",message:b,notifyType:c})},onTerminalInput:()=>()=>{},setStatus(b,c){c?g.set(b,c):g.delete(b),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setStatus",statusKey:b,statusText:c})},setWorkingMessage(){},setWorkingVisible(){},setWorkingIndicator(){},setHiddenThinkingLabel(){},setWidget(b,c,f){if("function"==typeof c){let a=(0,e.tU)(c,(0,e.Lm)());if(null===a)return;c=a}(void 0===c||Array.isArray(c))&&(null==c?h.delete(b):h.set(b,{lines:c,placement:f?.placement}),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setWidget",widgetKey:b,widgetLines:c,widgetPlacement:f?.placement}))},setFooter(){},setHeader(){},setTitle(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setTitle",title:b})},async custom(b){let c=(0,d.randomUUID)();return new Promise(d=>{let f,g=!1,h=b=>{g||(g=!0,i.delete(c),a({type:"extension_ui_request",id:c,method:"custom",closed:!0,lines:[]}),d(b))},k=()=>{if(g)return;let b=[];try{let a=f?.render?.(92);Array.isArray(a)&&(b=a.filter(a=>"string"==typeof a))}catch(a){console.error("[pidance] custom UI render failed:",a)}a({type:"extension_ui_request",id:c,method:"custom",lines:b})};i.set(c,{handleInput:a=>{if("\x03"===a)return void h(void 0);try{f?.handleInput?.(a)}catch(a){console.error("[pidance] custom UI input failed:",a)}},done:h});let l=function(a,b=92,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}(()=>{k()},92,40),m=(0,e.Lm)()??j.theme;Promise.resolve().then(()=>b(l,m,{},h)).then(a=>{g||(f=a,k())}).catch(a=>{console.error("[pidance] custom UI factory failed:",a),h(void 0)})})},pasteToEditor(a){this.setEditorText(a)},setEditorText(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"set_editor_text",text:b})},getEditorText:()=>"",editor:async(d,e)=>f(b,c,a,void 0,void 0,{method:"editor",title:d,prefill:e},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),addAutocompleteProvider(){},setEditorComponent(){},getEditorComponent(){},get theme(){let a=a=>String(a??""),b=(a,b)=>void 0===b?"":String(b);return new Proxy({fg:b,bg:b,bold:a,dim:a,italic:a},{get:(b,c)=>c in b?b[c]:"then"!==c?a:void 0})},getAllThemes:()=>[],getTheme(){},setTheme:()=>({success:!1,error:"Theme switching not supported in Web mode"}),getToolsExpanded:()=>!1,setToolsExpanded(){}};return{uiContext:j,pending:b,statuses:g,widgets:h,pendingSnapshot:c,respond(a,c){let d=b.get(a);return!!d&&(d.resolve(c),!0)},inputCustom(a,b){let c=i.get(a);return!!c&&(c.handleInput(b),!0)},dispose(){for(let[a,d]of b)b.delete(a),c.delete(a),d.reject(Error("Extension UI disposed"));for(let a of i.values())a.done(void 0);i.clear(),g.clear(),h.clear()}}}},40239:(a,b,c)=>{c.d(b,{$T:()=>m,Iq:()=>g,J3:()=>t,Ki:()=>u,YV:()=>q,mT:()=>r,rQ:()=>p,uD:()=>s});var d=c(29021),e=c(33873),f=c(60396);let g={existsSync:d.existsSync,lstatSync:d.lstatSync,mkdirSync:d.mkdirSync,readFileSync:(a,b)=>(0,d.readFileSync)(a,b),writeFileSync:(a,b,c)=>(0,d.writeFileSync)(a,b,c),renameSync:d.renameSync,unlinkSync:d.unlinkSync,readdirSync:d.readdirSync};function h(a=(0,f.$M)()){return(0,e.join)(a,"pidance-archive")}function i(a){return"string"!=typeof a||a.length<8||a.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(a)?null:`${a}.json`}function j(a,b){try{let c=h(b);if(!a.existsSync(c))return null;let d=a.lstatSync(c);if(d.isSymbolicLink()||!d.isDirectory())return null;return c}catch{return null}}function k(a){return"object"==typeof a&&null!==a&&!(1!==a.version||"string"!=typeof a.sessionId||0===a.sessionId.length||"string"!=typeof a.sessionPath||0===a.sessionPath.length||"string"!=typeof a.archivedAt||Number.isNaN(Date.parse(a.archivedAt)))}function l(a,b,c){let d=i(c);if(!d)return null;let f=j(a,b);if(!f)return null;let g=(0,e.join)(f,d);try{if(!a.existsSync(g)||a.lstatSync(g).isSymbolicLink())return null;let b=a.readFileSync(g,"utf8");if(b.length>65536)return null;let d=JSON.parse(b);if(!k(d)||d.sessionId!==c)return null;return d}catch{return null}}function m(a,b){let c=globalThis.__piArchiveRecordsCache;if(c&&Date.now()-c.ts<5e3)return c.records;let d=j(a,b),e=[];if(d){let c=[];try{c=a.readdirSync(d)}catch{c=[]}for(let d of c){let c=function(a){if("string"!=typeof a||!a.endsWith(".json"))return null;let b=a.slice(0,-5);return b.length<8||b.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(b)?null:b}(d);if(!c)continue;let f=l(a,b,c);f&&e.push(f)}}return globalThis.__piArchiveRecordsCache={records:e,ts:Date.now()},e}function n(){globalThis.__piArchiveRecordsCache=void 0}function o(a,b,c){let d=i(c);if(!d)return!1;let f=j(a,b);if(!f)return!1;let g=(0,e.join)(f,d);try{if(!a.existsSync(g))return!1;return a.unlinkSync(g),n(),!a.existsSync(g)}catch{return!1}}function p(a,b,c){o(a,b,c)}function q(a,b){let c=new Map;for(let a of b)c.set(a.sessionId,a);let d=new Set;for(let b of a){let a=c.get(b.id);a&&a.sessionPath===b.path&&d.add(b.id)}return d}function r(a,b,c,d){let e=q(b,c),f=new Set;for(let b of a){let a=e.has(b);("active"===d?!a:a)&&f.add(b)}return f}function s(a,b){let c=q(a,b),d=new Map;for(let a of b)d.set(a.sessionId,a);let e=[],f=[];for(let b of a)if(c.has(b.id)){let a=d.get(b.id);f.push({...b,archivedAt:a?a.archivedAt:void 0})}else e.push(b);return{active:e,archived:f}}class t extends Error{constructor(){super("Session is running; cannot archive while active")}toString(){return this.message}}function u(a){let b=a.fs??g,c=()=>a.agentDir?.()??(0,f.$M)(),d=async d=>{if(await a.isReadOnly(d))throw Error("Subagent sessions are read-only");if(a.isRunning(d))throw new t;let f=await a.resolveSessionPath(d);if(!f)throw Error("Session not found");let g=a.readSessionHeader(f);if(!g||g.id!==d)throw Error("Session header id mismatch");let j={version:1,sessionId:d,sessionPath:f,archivedAt:a.now()};return!function(a,b,c){let d=i(c.sessionId);if(!d)throw Error("Invalid session id");if(!k(c))throw Error("Invalid archive record");let f=function(a,b){let c=h(b);try{a.existsSync(c)||a.mkdirSync(c,{recursive:!0});let b=a.lstatSync(c);if(b.isSymbolicLink()||!b.isDirectory())return null;return c}catch{return null}}(a,b);if(!f)throw Error("Archive directory unavailable");let g=(0,e.join)(f,d),j=(0,e.join)(f,`.${d}.${process.pid}.${Date.now().toString(36)}.tmp`);try{a.writeFileSync(j,JSON.stringify(c),{encoding:"utf8",flag:"wx"}),a.renameSync(j,g),n()}catch(b){try{a.existsSync(j)&&a.unlinkSync(j)}catch{}throw b}}(b,c(),j),a.invalidateSessionListCache(),j.archivedAt},j=async d=>{if(null===l(b,c(),d))throw Error("Session is not archived");if(!await a.resolveSessionPath(d))throw Error("Session not found");if(!o(b,c(),d))throw Error("Failed to remove archive record");return a.invalidateSessionListCache(),a.getSessionInfo(d)},m=async a=>{let b=[],c=[];for(let e of a)try{await d(e),b.push(e)}catch(a){c.push({id:e,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}},p=async a=>{let b=[],c=[];for(let d of a)try{await j(d),b.push(d)}catch(a){c.push({id:d,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}};return{archiveSession:d,restoreSession:j,archiveSessions:m,restoreSessions:p}}},46935:(a,b,c)=>{c.d(b,{G1:()=>h,NN:()=>g,Uf:()=>d,_w:()=>e,tr:()=>i});let d=80,e=80;function f(a,b){return"number"==typeof a&&Number.isFinite(a)?Math.max(1,Math.min(Math.floor(a),500)):b}function g(a,b=d){let c=a.get("limit")??a.get("tail");if(null===c||""===c)return null;let e=Number(c);return!Number.isFinite(e)||e<=0?b:f(e,b)}function h(a,b=d){let c=a.messages.length,e=f(b,d);if(c<=e)return{...a,hasMoreBefore:!1,totalMessageCount:c};let g=c-e;return{messages:a.messages.slice(g),entryIds:a.entryIds.slice(g),thinkingLevel:a.thinkingLevel,model:a.model,hasMoreBefore:!0,totalMessageCount:c}}function i(a,b,c=e){let d=a.messages.length,g=a.entryIds.indexOf(b);if(g<=0)return{messages:[],entryIds:[],thinkingLevel:a.thinkingLevel,model:a.model,hasMoreBefore:!1,totalMessageCount:d};let h=Math.max(0,g-f(c,e));return{messages:a.messages.slice(h,g),entryIds:a.entryIds.slice(h,g),thinkingLevel:a.thinkingLevel,model:a.model,hasMoreBefore:h>0,totalMessageCount:d}}},52960:(a,b,c)=>{c.d(b,{D_:()=>i,JT:()=>h,QR:()=>j});var d=c(13737);function e(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`sub-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function f(a){if(void 0===a)return;if(!Array.isArray(a))throw Error("images must be an array");let b=[];for(let c of a){if(!c||"object"!=typeof c)throw Error("invalid image");let a="string"==typeof c.data?c.data:void 0,e="string"==typeof c.mimeType?c.mimeType:"string"==typeof c.mime_type?c.mime_type:void 0,f=(0,d.Ln)(e);if(!a||!f?.startsWith("image/"))throw Error("invalid image");if(a.length>4194304)throw Error("invalid image: payload too large");b.push({type:"image",data:a,mimeType:f})}return b}function g(a){if("string"!=typeof a.message)throw Error("message is required");return a.message}function h(a,b=e){return{type:"prompt",message:g(a),submissionId:"string"==typeof a.submissionId&&a.submissionId.trim()?a.submissionId.trim():b(),images:f(a.images),binaryBlocks:function(a){if(void 0===a)return;if(!Array.isArray(a))throw Error("binaryBlocks must be an array");if(a.length>32)throw Error("too many binary blocks");let b=[];for(let c of a){if(!c||"object"!=typeof c||Array.isArray(c))throw Error("invalid binary block");let a="string"==typeof c.path?c.path.trim():"",e="string"==typeof c.name?c.name.trim():"",f=(0,d.Ln)(c.mimeType),g=c.size,h=void 0===c.previewPath?void 0:"string"==typeof c.previewPath?c.previewPath.trim():null;if(!a||!e||!f||!Number.isSafeInteger(g)||g<0||null===h)throw Error("invalid binary block");b.push({path:a,name:e,mimeType:f,size:g,...h?{previewPath:h}:{}})}return b}(a.binaryBlocks)}}function i(a){return"prompt"===a||"abort"===a||"steer"===a||"follow_up"===a}function j(a,b=e){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("command is required");let c=a.type;if("prompt"===c)return h(a,b);if("abort"===c)return{type:"abort"};if("steer"===c)return{type:"steer",message:g(a),images:f(a.images)};if("follow_up"===c)return{type:"follow_up",message:g(a),images:f(a.images)};throw Error(`Unsupported message command: ${String(c)}`)}},53023:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Uj:()=>j});var e=c(85664),f=c(93127),g=c(95237),h=a([f,g]);function i(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}[f,g]=h.then?(await h)():h;let k=`
2
2
  .pidance-activity{margin:1.5rem 0;padding:1rem 1.25rem;border:1px solid #ccc;border-radius:8px;background:#fafafa;color:#222;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}
3
3
  .pidance-activity h2{margin:0 0 0.75rem;font-size:1.1rem;font-weight:600}
4
4
  .pidance-activity-card{margin:0.75rem 0;padding:0.75rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff}
@@ -10,7 +10,7 @@
10
10
  .pidance-activity-kind{display:inline-block;padding:0.1rem 0.45rem;border-radius:4px;background:#eee;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;font-size:11px}
11
11
  .pidance-activity-card h3{margin:0 0 0.5rem;font-size:1rem;font-weight:600;word-break:break-word}
12
12
  .pidance-activity-content{margin:0;padding:0.5rem 0.65rem;border-radius:4px;background:#f5f5f5;color:#111;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;overflow-x:auto}
13
- `.trim();function j(a,b,c={}){let d=(0,g.kW)(b);return function(a,b,c={}){let d=function(a,b={}){let c=b.leafId,d="string"==typeof c&&c.length>0?c:void 0;if(void 0!==d&&!a.getEntry(d))throw new f.Zq(`Invalid leafId: ${d}`);let g=void 0!==d?a.getBranch(d):a.getBranch(),h=[];for(let a of g){if(!(0,e.o7)(a))continue;let b=(0,e.p_)(a.data);if(!b)continue;let c={entryId:a.id,activity:b};"string"==typeof a.timestamp&&a.timestamp.length>0&&(c.timestamp=a.timestamp),h.push(c)}return h}(b,c),g=function(a){if(0===a.length)return"";let b=a.map(a=>{let{activity:b,entryId:c,timestamp:d}=a,e=i(b.kind),f=i(b.title),g=i(b.content),h=[`<span class="pidance-activity-kind">${e}</span>`];return void 0!==d&&h.push(`<time datetime="${i(d)}">${i(d)}</time>`),void 0!==b.source&&h.push(`<span class="pidance-activity-source">source: ${i(b.source)}</span>`),void 0!==b.requestId&&h.push(`<span class="pidance-activity-request-id">requestId: ${i(b.requestId)}</span>`),`<article class="pidance-activity-card" data-kind="${e}" data-entry-id="${i(c)}"><div class="pidance-activity-meta">${h.join("")}</div><h3>${f}</h3><pre class="pidance-activity-content">${g}</pre></article>`}).join("\n");return['<section class="pidance-activity" id="pidance-session-activity" aria-label="Session activity">',`<style>${k}</style>`,"<h2>Session activity</h2>",b,"</section>"].join("\n")}(d);return function(a,b){let c;if(0===b.length)return a;let d=/<\/body\s*>/i.exec(a);if(!d||void 0===d.index)return`${a}${b}`;let e=d.index,f=d[0],g=/<\/body\s*>/gi;for(;null!==(c=g.exec(a));)e=c.index,f=c[0];return a.slice(0,e)+b+"\n"+f+a.slice(e+f.length)}(a,g)}(a,d,c)}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>e.$k,A4:()=>e.A4,DU:()=>e.DU,Fn:()=>e.Fn,HG:()=>e.HG,OF:()=>e.OF});var e=c(26773),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},62693:(a,b,c)=>{c.d(b,{E:()=>d});function d(a,b,c){let d=a.getModel?.(b,c);return d||a.getAvailableSnapshot?.().find(a=>a.provider===b&&a.id===c)}},68524:(a,b,c)=>{c.d(b,{ql:()=>l,rU:()=>n,rV:()=>i,xP:()=>m});var d=c(89477),e=c(86697),f=c(60396);function g(a=(0,f.$M)()){return(0,e.join)(a,"pidance-preferences.json")}function h(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function i(a=(0,f.$M)()){let b=g(a);if(!(0,d.existsSync)(b))return{};try{let a=JSON.parse((0,d.readFileSync)(b,"utf8"));return h(a)?a:{}}catch{return{}}}function j(a,b){let c=g(a),f=(0,e.dirname)(c);(0,d.existsSync)(f)||(0,d.mkdirSync)(f,{recursive:!0,mode:448});let h=`${c}.lock`,i=Date.now()+15e3,j=null;for(;null===j;)try{j=(0,d.openSync)(h,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;try{Date.now()-(0,d.statSync)(h).mtimeMs>6e4&&(0,d.unlinkSync)(h)}catch{}if(Date.now()>=i)throw Error("Timed out acquiring Pidance preferences lock");!function(){let a=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(a,0,0,10)}()}try{return b()}finally{(0,d.closeSync)(j);try{(0,d.unlinkSync)(h)}catch{}}}function k(a,b){let c=g(b),f=(0,e.dirname)(c);(0,d.existsSync)(f)||(0,d.mkdirSync)(f,{recursive:!0,mode:448});let h=`${c}.${process.pid}.${Date.now()}.tmp`;try{(0,d.writeFileSync)(h,JSON.stringify(a,null,2),{flag:"wx",mode:384}),(0,d.renameSync)(h,c)}catch(a){try{(0,d.unlinkSync)(h)}catch{}throw a}}function l(a,b){let c=b.split("."),d=a;for(let a of c){if("object"!=typeof d||null===d)return;d=d[a]}return d}function m(a,b,c=(0,f.$M)()){j(c,()=>{let d=i(c);!function(a,b,c){let d=b.split("."),e=a;for(let a=0;a<d.length-1;a++){let b=d[a],c=e[b];("object"!=typeof c||null===c||Array.isArray(c))&&(e[b]={}),e=e[b]}let f=d[d.length-1];null==c?delete e[f]:e[f]=c}(d,a,b),k(d,c)})}function n(a,b=(0,f.$M)()){j(b,()=>{k(function(a,b){let c={...a};for(let[a,d]of Object.entries(b))h(d)&&h(c[a])?c[a]={...c[a],...d}:c[a]=d;return c}(i(b),a),b)})}},68816:(a,b,c)=>{c.d(b,{s:()=>q});var d=c(89477),e=c(25680),f=c(86697),g=c(60396);let h={maxHits:40,maxFiles:120,maxBytesPerFile:2097152,maxTotalBytes:0x2000000,snippetRadius:48},i=/\b(OR|AND|NOT|NEAR)\b/,j=/"([^"]*)"|(\S+)/g,k=new Set(["and","or","not","near"]);function l(a,b,c=h.snippetRadius){let d=a.replace(/\s+/g," ").trim();if(!d)return"";let e=b.trim();if(!e)return d.slice(0,2*c);let f=d.toLowerCase().indexOf(e.toLowerCase());if(f<0)return d.length>2*c?`${d.slice(0,2*c)}…`:d;let g=Math.max(0,f-c),i=Math.min(d.length,f+e.length+c),j=g>0?"…":"",k=i<d.length?"…":"";return`${j}${d.slice(g,i)}${k}`}function m(a,b){if(!b(a))return!1;try{return(0,d.statSync)(a).isFile()&&(0,d.statSync)(a).size>0}catch{return!1}}function n(a){let b=function(){try{let a=c(79868);if("function"==typeof a?.DatabaseSync)return a.DatabaseSync}catch{}try{let{createRequire:a}=c(55822),b=a(__filename)("node:sqlite");if("function"==typeof b?.DatabaseSync)return b.DatabaseSync}catch{}return null}();if(!b)return null;let d=a.replace(/\\/g,"/"),e=`file:${d}?mode=ro&immutable=1`;try{return new b(e,{readOnly:!0})}catch{}try{return new b(a,{readOnly:!0})}catch{return null}}async function o(a,b,c=h){let f,g=b.trim().toLowerCase();if(!g)return[];let i=0;try{i=(0,d.statSync)(a).size}catch{return[]}if(i<=0||i>c.maxBytesPerFile)return[];let j=[],k=(f=(a.replace(/\\/g,"/").split("/").pop()??"").match(/_([0-9a-fA-F-]{8,})\.jsonl$/),f?.[1]??null),m=0,n=(0,d.createReadStream)(a,{encoding:"utf8"}),p=(0,e.createInterface)({input:n,crlfDelay:1/0});try{for await(let a of p){if((m+=Buffer.byteLength(a,"utf8")+1)>c.maxBytesPerFile)break;let d=function(a){let b,c=a.trim();if(!c||"{"!==c[0])return null;try{b=JSON.parse(c)}catch{return null}if(!b||"object"!=typeof b)return null;let d=b;if("session"===d.type&&"string"==typeof d.id)return{sessionId:d.id,text:""};if("message"!==d.type)return null;let e=d.message;if(!e||"object"!=typeof e)return null;let f="string"==typeof e.role?e.role:void 0;if("user"!==f&&"assistant"!==f&&"system"!==f)return null;let g=function(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a){if("string"==typeof c){b.push(c);continue}c&&"object"==typeof c&&("string"==typeof c.text?b.push(c.text):"string"==typeof c.content?b.push(c.content):"string"==typeof c.thinking&&b.push(c.thinking))}return b.join("\n").trim()}(e.content);return g?{messageId:"string"==typeof d.id?d.id:void 0,role:f,timestamp:"string"==typeof d.timestamp?d.timestamp:"string"==typeof e.timestamp?e.timestamp:void 0,text:g}:null}(a);if(d){if(d.sessionId){k=d.sessionId;continue}k&&d.text.toLowerCase().includes(g)&&j.push({sessionId:k,role:d.role,snippet:l(d.text,b,c.snippetRadius),timestamp:d.timestamp??"",messageId:d.messageId})}}}catch{}finally{p.close(),n.destroy()}return j}function p(a){let b=new Set,c=[];for(let d of a)b.has(d.sessionId)||(b.add(d.sessionId),c.push(d.sessionId));return c}async function q(a,b={}){let c=a.trim(),e={...h,...b.limits},r={...{getAgentDir:g.$M,resolveHermesDbPath:a=>(function(a,b=d.existsSync){let c=(0,f.join)(a,"hermes-memory-config.json");if(b(c))try{let h=JSON.parse((0,d.readFileSync)(c,"utf8"));if("string"==typeof h.memoryDir&&h.memoryDir.trim()){var e,g;let c=(e=h.memoryDir.trim(),g=a,"~"===e?process.env.HOME??g:e.startsWith("~/")||e.startsWith("~\\")?(0,f.join)(process.env.HOME??g,e.slice(2)):e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e)?e:(0,f.join)(g,e)),d=(0,f.join)(c,"sessions.db");if(b(d)&&m(d,b))return d}}catch{}for(let c of[(0,f.join)(a,"pi-hermes-memory","sessions.db"),(0,f.join)(a,"memory","sessions.db")])if(b(c)&&m(c,b))return c;return null})(a),openSqliteReadonly:n,listJsonlFiles:a=>(function(a,b){if(!(0,d.existsSync)(a))return[];let c=[],e=a=>{let g;if(!(c.length>=b)){try{g=(0,d.readdirSync)(a,{withFileTypes:!0})}catch{return}for(let d of(g.sort((a,b)=>b.name.localeCompare(a.name)),g)){if(c.length>=b)return;let g=(0,f.join)(a,d.name);if(d.isDirectory()){e(g);continue}d.isFile()&&d.name.endsWith(".jsonl")&&c.push(g)}}};return e(a),c})(a,h.maxFiles),scanJsonlFile:o,existsSync:d.existsSync},...b.deps};if(!c)return{query:"",source:"none",hits:[],sessionIds:[]};let s=r.getAgentDir(),t=r.resolveHermesDbPath(s);if(t){let a=r.openSqliteReadonly(t);if(a)try{let b=function(a,b,c){let d=d=>{let e=`
13
+ `.trim();function j(a,b,c={}){let d=(0,g.kW)(b);return function(a,b,c={}){let d=function(a,b={}){let c=b.leafId,d="string"==typeof c&&c.length>0?c:void 0;if(void 0!==d&&!a.getEntry(d))throw new f.Zq(`Invalid leafId: ${d}`);let g=void 0!==d?a.getBranch(d):a.getBranch(),h=[];for(let a of g){if(!(0,e.o7)(a))continue;let b=(0,e.p_)(a.data);if(!b)continue;let c={entryId:a.id,activity:b};"string"==typeof a.timestamp&&a.timestamp.length>0&&(c.timestamp=a.timestamp),h.push(c)}return h}(b,c),g=function(a){if(0===a.length)return"";let b=a.map(a=>{let{activity:b,entryId:c,timestamp:d}=a,e=i(b.kind),f=i(b.title),g=i(b.content),h=[`<span class="pidance-activity-kind">${e}</span>`];return void 0!==d&&h.push(`<time datetime="${i(d)}">${i(d)}</time>`),void 0!==b.source&&h.push(`<span class="pidance-activity-source">source: ${i(b.source)}</span>`),void 0!==b.requestId&&h.push(`<span class="pidance-activity-request-id">requestId: ${i(b.requestId)}</span>`),`<article class="pidance-activity-card" data-kind="${e}" data-entry-id="${i(c)}"><div class="pidance-activity-meta">${h.join("")}</div><h3>${f}</h3><pre class="pidance-activity-content">${g}</pre></article>`}).join("\n");return['<section class="pidance-activity" id="pidance-session-activity" aria-label="Session activity">',`<style>${k}</style>`,"<h2>Session activity</h2>",b,"</section>"].join("\n")}(d);return function(a,b){let c;if(0===b.length)return a;let d=/<\/body\s*>/i.exec(a);if(!d||void 0===d.index)return`${a}${b}`;let e=d.index,f=d[0],g=/<\/body\s*>/gi;for(;null!==(c=g.exec(a));)e=c.index,f=c[0];return a.slice(0,e)+b+"\n"+f+a.slice(e+f.length)}(a,g)}(a,d,c)}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>e.$k,A4:()=>e.A4,DU:()=>e.DU,Fn:()=>e.Fn,HG:()=>e.HG,OF:()=>e.OF});var e=c(26773),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},60185:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Nu:()=>m,iU:()=>l});var e=c(89477),f=c(86697),g=c(60396),h=c(69835),i=c(13737),j=a([h]);h=(j.then?(await j)():j)[0];class n extends Error{constructor(a){super(a),this.name="BinaryMessageError"}}function k(a,b){let c,d,g=(0,e.realpathSync)((0,h.eq)(b));try{c=(0,e.realpathSync)((0,f.resolve)(a))}catch{throw new n("binary media file not found")}let i=(0,f.relative)(g,c);if(!i||".."===i||i.startsWith(`..${f.sep}`)||(0,f.isAbsolute)(i))throw new n("binary media path is not allowed");try{d=(0,e.statSync)(c)}catch{throw new n("binary media file not found")}if(!d.isFile())throw new n("binary media must be a file");return{path:c.replace(/\\/g,"/"),size:d.size}}function l(a,b=(0,g.$M)(),c){if(!a||"object"!=typeof a||"string"!=typeof a.name||!a.name.trim()||"string"!=typeof a.path||!a.path.trim())throw new n("invalid binary block");let d=(0,i.Ln)(a.mimeType);if(!d)throw new n("invalid binary MIME type");let e=(0,h.uF)(a.name);if(!e)throw new n("binary file name is required");let f=k(a.path,b),j=a.previewPath?k(a.previewPath,b):void 0;return(0,i.PB)({path:f.path,name:e,mimeType:d,size:f.size,...j?{previewPath:j.path}:{}},c)}function m(a,b=(0,g.$M)()){if(!a||0===a.length)return[];if(a.length>32)throw new n("too many binary blocks");return a.map(a=>l(a,b))}d()}catch(a){d(a)}})},62693:(a,b,c)=>{c.d(b,{E:()=>d});function d(a,b,c){let d=a.getModel?.(b,c);return d||a.getAvailableSnapshot?.().find(a=>a.provider===b&&a.id===c)}},68524:(a,b,c)=>{c.d(b,{ql:()=>l,rU:()=>n,rV:()=>i,xP:()=>m});var d=c(89477),e=c(86697),f=c(60396);function g(a=(0,f.$M)()){return(0,e.join)(a,"pidance-preferences.json")}function h(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function i(a=(0,f.$M)()){let b=g(a);if(!(0,d.existsSync)(b))return{};try{let a=JSON.parse((0,d.readFileSync)(b,"utf8"));return h(a)?a:{}}catch{return{}}}function j(a,b){let c=g(a),f=(0,e.dirname)(c);(0,d.existsSync)(f)||(0,d.mkdirSync)(f,{recursive:!0,mode:448});let h=`${c}.lock`,i=Date.now()+15e3,j=null;for(;null===j;)try{j=(0,d.openSync)(h,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;try{Date.now()-(0,d.statSync)(h).mtimeMs>6e4&&(0,d.unlinkSync)(h)}catch{}if(Date.now()>=i)throw Error("Timed out acquiring Pidance preferences lock");!function(){let a=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(a,0,0,10)}()}try{return b()}finally{(0,d.closeSync)(j);try{(0,d.unlinkSync)(h)}catch{}}}function k(a,b){let c=g(b),f=(0,e.dirname)(c);(0,d.existsSync)(f)||(0,d.mkdirSync)(f,{recursive:!0,mode:448});let h=`${c}.${process.pid}.${Date.now()}.tmp`;try{(0,d.writeFileSync)(h,JSON.stringify(a,null,2),{flag:"wx",mode:384}),(0,d.renameSync)(h,c)}catch(a){try{(0,d.unlinkSync)(h)}catch{}throw a}}function l(a,b){let c=b.split("."),d=a;for(let a of c){if("object"!=typeof d||null===d)return;d=d[a]}return d}function m(a,b,c=(0,f.$M)()){j(c,()=>{let d=i(c);!function(a,b,c){let d=b.split("."),e=a;for(let a=0;a<d.length-1;a++){let b=d[a],c=e[b];("object"!=typeof c||null===c||Array.isArray(c))&&(e[b]={}),e=e[b]}let f=d[d.length-1];null==c?delete e[f]:e[f]=c}(d,a,b),k(d,c)})}function n(a,b=(0,f.$M)()){j(b,()=>{k(function(a,b){let c={...a};for(let[a,d]of Object.entries(b))if(null===d)delete c[a];else if(h(d)&&h(c[a])){let b={...c[a]};for(let[a,c]of Object.entries(d))null===c?delete b[a]:b[a]=c;c[a]=b}else c[a]=d;return c}(i(b),a),b)})}},68816:(a,b,c)=>{c.d(b,{s:()=>q});var d=c(89477),e=c(25680),f=c(86697),g=c(60396);let h={maxHits:40,maxFiles:120,maxBytesPerFile:2097152,maxTotalBytes:0x2000000,snippetRadius:48},i=/\b(OR|AND|NOT|NEAR)\b/,j=/"([^"]*)"|(\S+)/g,k=new Set(["and","or","not","near"]);function l(a,b,c=h.snippetRadius){let d=a.replace(/\s+/g," ").trim();if(!d)return"";let e=b.trim();if(!e)return d.slice(0,2*c);let f=d.toLowerCase().indexOf(e.toLowerCase());if(f<0)return d.length>2*c?`${d.slice(0,2*c)}…`:d;let g=Math.max(0,f-c),i=Math.min(d.length,f+e.length+c),j=g>0?"…":"",k=i<d.length?"…":"";return`${j}${d.slice(g,i)}${k}`}function m(a,b){if(!b(a))return!1;try{return(0,d.statSync)(a).isFile()&&(0,d.statSync)(a).size>0}catch{return!1}}function n(a){let b=function(){try{let a=c(79868);if("function"==typeof a?.DatabaseSync)return a.DatabaseSync}catch{}try{let{createRequire:a}=c(55822),b=a(__filename)("node:sqlite");if("function"==typeof b?.DatabaseSync)return b.DatabaseSync}catch{}return null}();if(!b)return null;let d=a.replace(/\\/g,"/"),e=`file:${d}?mode=ro&immutable=1`;try{return new b(e,{readOnly:!0})}catch{}try{return new b(a,{readOnly:!0})}catch{return null}}async function o(a,b,c=h){let f,g=b.trim().toLowerCase();if(!g)return[];let i=0;try{i=(0,d.statSync)(a).size}catch{return[]}if(i<=0||i>c.maxBytesPerFile)return[];let j=[],k=(f=(a.replace(/\\/g,"/").split("/").pop()??"").match(/_([0-9a-fA-F-]{8,})\.jsonl$/),f?.[1]??null),m=0,n=(0,d.createReadStream)(a,{encoding:"utf8"}),p=(0,e.createInterface)({input:n,crlfDelay:1/0});try{for await(let a of p){if((m+=Buffer.byteLength(a,"utf8")+1)>c.maxBytesPerFile)break;let d=function(a){let b,c=a.trim();if(!c||"{"!==c[0])return null;try{b=JSON.parse(c)}catch{return null}if(!b||"object"!=typeof b)return null;let d=b;if("session"===d.type&&"string"==typeof d.id)return{sessionId:d.id,text:""};if("message"!==d.type)return null;let e=d.message;if(!e||"object"!=typeof e)return null;let f="string"==typeof e.role?e.role:void 0;if("user"!==f&&"assistant"!==f&&"system"!==f)return null;let g=function(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a){if("string"==typeof c){b.push(c);continue}c&&"object"==typeof c&&("string"==typeof c.text?b.push(c.text):"string"==typeof c.content?b.push(c.content):"string"==typeof c.thinking&&b.push(c.thinking))}return b.join("\n").trim()}(e.content);return g?{messageId:"string"==typeof d.id?d.id:void 0,role:f,timestamp:"string"==typeof d.timestamp?d.timestamp:"string"==typeof e.timestamp?e.timestamp:void 0,text:g}:null}(a);if(d){if(d.sessionId){k=d.sessionId;continue}k&&d.text.toLowerCase().includes(g)&&j.push({sessionId:k,role:d.role,snippet:l(d.text,b,c.snippetRadius),timestamp:d.timestamp??"",messageId:d.messageId})}}}catch{}finally{p.close(),n.destroy()}return j}function p(a){let b=new Set,c=[];for(let d of a)b.has(d.sessionId)||(b.add(d.sessionId),c.push(d.sessionId));return c}async function q(a,b={}){let c=a.trim(),e={...h,...b.limits},r={...{getAgentDir:g.$M,resolveHermesDbPath:a=>(function(a,b=d.existsSync){let c=(0,f.join)(a,"hermes-memory-config.json");if(b(c))try{let h=JSON.parse((0,d.readFileSync)(c,"utf8"));if("string"==typeof h.memoryDir&&h.memoryDir.trim()){var e,g;let c=(e=h.memoryDir.trim(),g=a,"~"===e?process.env.HOME??g:e.startsWith("~/")||e.startsWith("~\\")?(0,f.join)(process.env.HOME??g,e.slice(2)):e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e)?e:(0,f.join)(g,e)),d=(0,f.join)(c,"sessions.db");if(b(d)&&m(d,b))return d}}catch{}for(let c of[(0,f.join)(a,"pi-hermes-memory","sessions.db"),(0,f.join)(a,"memory","sessions.db")])if(b(c)&&m(c,b))return c;return null})(a),openSqliteReadonly:n,listJsonlFiles:a=>(function(a,b){if(!(0,d.existsSync)(a))return[];let c=[],e=a=>{let g;if(!(c.length>=b)){try{g=(0,d.readdirSync)(a,{withFileTypes:!0})}catch{return}for(let d of(g.sort((a,b)=>b.name.localeCompare(a.name)),g)){if(c.length>=b)return;let g=(0,f.join)(a,d.name);if(d.isDirectory()){e(g);continue}d.isFile()&&d.name.endsWith(".jsonl")&&c.push(g)}}};return e(a),c})(a,h.maxFiles),scanJsonlFile:o,existsSync:d.existsSync},...b.deps};if(!c)return{query:"",source:"none",hits:[],sessionIds:[]};let s=r.getAgentDir(),t=r.resolveHermesDbPath(s);if(t){let a=r.openSqliteReadonly(t);if(a)try{let b=function(a,b,c){let d=d=>{let e=`
14
14
  SELECT
15
15
  m.session_id AS session_id,
16
16
  m.role AS role,
@@ -35,7 +35,7 @@
35
35
  WHERE m.content LIKE ? ESCAPE '\\'
36
36
  ORDER BY m.timestamp DESC
37
37
  LIMIT ?
38
- `,e=`%${b.trim().replace(/[\\%_]/g,"\\$&")}%`;return a.prepare(d).all(e,c).filter(a=>"string"==typeof a.session_id&&a.session_id).map(a=>({sessionId:a.session_id,role:"string"==typeof a.role?a.role:void 0,snippet:l(String(a.content??""),b),timestamp:"string"==typeof a.timestamp?a.timestamp:"",messageId:"string"==typeof a.message_id?a.message_id:void 0}))}catch{return[]}}(a,c,e.maxHits);return{query:c,source:"fts",hits:b,sessionIds:p(b)}}catch{}finally{try{a.close()}catch{}}}let u=(0,f.join)(s,"sessions");if(!r.existsSync(u))return{query:c,source:"jsonl",hits:[],sessionIds:[]};let v=r.listJsonlFiles(u).slice(0,e.maxFiles),w=[],x=0;for(let a of v){if(w.length>=e.maxHits)break;let b=0;try{b=(0,d.statSync)(a).size}catch{continue}if(!(b<=0)){if(x+b>e.maxTotalBytes)break;for(let d of(x+=b,await r.scanJsonlFile(a,c,e)))if(w.push(d),w.length>=e.maxHits)break}}return w.sort((a,b)=>(b.timestamp||"").localeCompare(a.timestamp||"")),{query:c,source:"jsonl",hits:w.slice(0,e.maxHits),sessionIds:p(w)}}},69835:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lj:()=>p,Md:()=>o,eq:()=>l,ki:()=>n,qo:()=>k,uF:()=>m});var e=c(29021),f=c(33873),g=c(55511),h=c(60396),i=c(80547),j=a([i]);i=(j.then?(await j)():j)[0];let o=0x1900000,p=0x6400000;function k(a=(0,h.$M)()){return(0,i.Nw)((0,f.join)(a,"pidance-attachments"))}function l(a=(0,h.$M)()){let b=k(a);return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0,mode:448}),(0,i.wz)(b),b}function m(a){let b=(a.replace(/\\/g,"/").split("/").pop()??"file").replace(/\0/g,"").replace(/^\.+/,"").trim()||"file";if(b.length<=180)return b;let c=b.lastIndexOf(".");if(c>0&&b.length-c<=20){let a=b.slice(c);return b.slice(0,180-a.length)+a}return b.slice(0,180)}function n(a,b,c=(0,h.$M)()){let d=l(c),j=function(a,b=Date.now()){let c=m(a),d=new Date(b).toISOString().replace(/[:.]/g,"-"),e=(0,g.randomUUID)().slice(0,8);return`${d}_${e}_${c}`}(a),k=(0,f.join)(d,j);return(0,e.writeFileSync)(k,b,{flag:"wx",mode:384}),{path:(0,i.Nw)(k),name:m(a),storedName:j,size:b.length}}d()}catch(a){d(a)}})},76817:(a,b,c)=>{c.d(b,{wo:()=>d});function d(a,b){let c=a.findIndex(a=>a.id===b);if(-1===c)return b;let d=b;for(let b=c+1;b<a.length;b+=1){let c=a[b];if("message"===c.type&&c.message?.role==="user")break;d=c.id}return d}},79495:(a,b,c)=>{c.d(b,{CL:()=>n,K:()=>k});var d=c(89477),e=c(60396),f=c(92395);let g=`Create a concise title for this session based on the conversation above.
38
+ `,e=`%${b.trim().replace(/[\\%_]/g,"\\$&")}%`;return a.prepare(d).all(e,c).filter(a=>"string"==typeof a.session_id&&a.session_id).map(a=>({sessionId:a.session_id,role:"string"==typeof a.role?a.role:void 0,snippet:l(String(a.content??""),b),timestamp:"string"==typeof a.timestamp?a.timestamp:"",messageId:"string"==typeof a.message_id?a.message_id:void 0}))}catch{return[]}}(a,c,e.maxHits);return{query:c,source:"fts",hits:b,sessionIds:p(b)}}catch{}finally{try{a.close()}catch{}}}let u=(0,f.join)(s,"sessions");if(!r.existsSync(u))return{query:c,source:"jsonl",hits:[],sessionIds:[]};let v=r.listJsonlFiles(u).slice(0,e.maxFiles),w=[],x=0;for(let a of v){if(w.length>=e.maxHits)break;let b=0;try{b=(0,d.statSync)(a).size}catch{continue}if(!(b<=0)){if(x+b>e.maxTotalBytes)break;for(let d of(x+=b,await r.scanJsonlFile(a,c,e)))if(w.push(d),w.length>=e.maxHits)break}}return w.sort((a,b)=>(b.timestamp||"").localeCompare(a.timestamp||"")),{query:c,source:"jsonl",hits:w.slice(0,e.maxHits),sessionIds:p(w)}}},69835:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Gt:()=>u,Lj:()=>t,Md:()=>s,eq:()=>n,ki:()=>r,qo:()=>m,uF:()=>o,xd:()=>q});var e=c(29021),f=c(33873),g=c(55511),h=c(27910),i=c(77725),j=c(60396),k=c(80547),l=a([k]);k=(l.then?(await l)():l)[0];let s=0x1900000,t=0x6400000,u=0x20000000;function m(a=(0,j.$M)()){return(0,k.Nw)((0,f.join)(a,"pidance-attachments"))}function n(a=(0,j.$M)()){let b=m(a);return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0,mode:448}),(0,k.wz)(b),b}function o(a){let b=(a.replace(/\\/g,"/").split("/").pop()??"file").replace(/\0/g,"").replace(/^\.+/,"").trim()||"file";if(b.length<=180)return b;let c=b.lastIndexOf(".");if(c>0&&b.length-c<=20){let a=b.slice(c);return b.slice(0,180-a.length)+a}return b.slice(0,180)}function p(a,b=Date.now()){let c=o(a),d=new Date(b).toISOString().replace(/[:.]/g,"-"),e=(0,g.randomUUID)().slice(0,8);return`${d}_${e}_${c}`}async function q(a,b,c=(0,j.$M)(),d=u){let l=n(c),m=p(a),r=(0,f.join)(l,m),s=(0,f.join)(l,`.${m}.${(0,g.randomUUID)()}.tmp`),t=0,v=new h.Transform({transform(a,b,c){let e=Buffer.isBuffer(a)?a:Buffer.from(a);(t+=e.length)>d?c(Error(`message media exceeds ${d} bytes`)):c(null,e)}});try{await (0,i.pipeline)(h.Readable.fromWeb(b),v,(0,e.createWriteStream)(s,{flags:"wx",mode:384})),(0,e.renameSync)(s,r)}catch(a){try{(0,e.unlinkSync)(s)}catch{}throw a}return{path:(0,k.Nw)(r),name:o(a),storedName:m,size:t}}function r(a,b,c=(0,j.$M)()){let d=n(c),g=p(a),h=(0,f.join)(d,g);return(0,e.writeFileSync)(h,b,{flag:"wx",mode:384}),{path:(0,k.Nw)(h),name:o(a),storedName:g,size:b.length}}d()}catch(a){d(a)}})},76817:(a,b,c)=>{c.d(b,{wo:()=>d});function d(a,b){let c=a.findIndex(a=>a.id===b);if(-1===c)return b;let d=b;for(let b=c+1;b<a.length;b+=1){let c=a[b];if("message"===c.type&&c.message?.role==="user")break;d=c.id}return d}},79495:(a,b,c)=>{c.d(b,{CL:()=>n,K:()=>k});var d=c(89477),e=c(60396),f=c(92395);let g=`Create a concise title for this session based on the conversation above.
39
39
 
40
40
  Requirements:
41
41
  - Match the primary language used by the user.
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={716:a=>{a.exports=require("node:crypto")},4984:a=>{a.exports=require("readline")},9956:a=>{a.exports=require("undici")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},53861:(a,b,c)=>{async function d(){let{configureHttpDispatcher:a}=await c.e(2349).then(c.bind(c,42349));a();let{configurePiSubagentBinaryFromPackage:b}=await c.e(9874).then(c.bind(c,29874)),d=b();d?console.log(`[pidance] subagent Pi CLI: ${d}`):console.error("[pidance] 未解析到包内 Pi CLI(@earendil-works/pi-coding-agent package.json#bin.pi)。subagent 可能失败。"),console.log("[pidance] 主 Agent runtime: 同进程 Pi SDK 0.84.4");try{let{recoverFollowUpQueues:a}=await c.e(5304).then(c.bind(c,35304));a()}catch(a){console.error("[pidance] recover follow-up queues failed:",a)}}c.r(b),c.d(b,{register:()=>d})},62228:a=>{a.exports=require("node:os")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86697:a=>{a.exports=require("node:path")},89477:a=>{a.exports=require("node:fs")},93351:a=>{a.exports=require("node:events")}};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={716:a=>{a.exports=require("node:crypto")},4984:a=>{a.exports=require("readline")},9956:a=>{a.exports=require("undici")},21820:a=>{a.exports=require("os")},26238:a=>{a.exports=require("node:stream")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},42524:a=>{a.exports=require("node:fs/promises")},53861:(a,b,c)=>{async function d(){let{configureHttpDispatcher:a}=await c.e(2349).then(c.bind(c,42349));a();let{configurePiSubagentBinaryFromPackage:b}=await c.e(9874).then(c.bind(c,29874)),d=b();d?console.log(`[pidance] subagent Pi CLI: ${d}`):console.error("[pidance] 未解析到包内 Pi CLI(@earendil-works/pi-coding-agent package.json#bin.pi)。subagent 可能失败。"),console.log("[pidance] 主 Agent runtime: 同进程 Pi SDK 0.85.1");try{let{recoverFollowUpQueues:a}=await c.e(5304).then(c.bind(c,35304));a()}catch(a){console.error("[pidance] recover follow-up queues failed:",a)}}c.r(b),c.d(b,{register:()=>d})},55511:a=>{a.exports=require("crypto")},62228:a=>{a.exports=require("node:os")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},77725:a=>{a.exports=require("stream/promises")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86697:a=>{a.exports=require("node:path")},89477:a=>{a.exports=require("node:fs")},93351:a=>{a.exports=require("node:events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=53861);module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/9Tr9m3GjZ3RcbmXYktF98/_buildManifest.js","static/9Tr9m3GjZ3RcbmXYktF98/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d2379fd13c5c78c6.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-907785a527d8128b.js","static/chunks/main-app-06b2b50b226e40d1.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/D3J3Vy5KeFVcNZer-F-b3/_buildManifest.js","static/D3J3Vy5KeFVcNZer-F-b3/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d2379fd13c5c78c6.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-907785a527d8128b.js","static/chunks/main-app-06b2b50b226e40d1.js"],rootMainFilesTree:{},pages:{"/_app":[]}};