@goldenlustre/agent-studio 1.0.1

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 (711) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +63 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/diagnostics/framework.json +1 -0
  6. package/.next/export-marker.json +6 -0
  7. package/.next/images-manifest.json +68 -0
  8. package/.next/next-minimal-server.js.nft.json +1 -0
  9. package/.next/next-server.js.nft.json +1 -0
  10. package/.next/package.json +1 -0
  11. package/.next/prerender-manifest.json +217 -0
  12. package/.next/react-loadable-manifest.json +2367 -0
  13. package/.next/required-server-files.js +388 -0
  14. package/.next/required-server-files.json +388 -0
  15. package/.next/routes-manifest.json +485 -0
  16. package/.next/server/app/_global-error/page.js +31 -0
  17. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  18. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/_global-error.html +1 -0
  20. package/.next/server/app/_global-error.meta +27 -0
  21. package/.next/server/app/_global-error.rsc +14 -0
  22. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  23. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
  24. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  25. package/.next/server/app/_not-found/page.js +1 -0
  26. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  27. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/_not-found.html +1 -0
  29. package/.next/server/app/_not-found.meta +27 -0
  30. package/.next/server/app/_not-found.rsc +21 -0
  31. package/.next/server/app/_not-found.segments/_full.segment.rsc +21 -0
  32. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +25 -0
  33. package/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -0
  34. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
  35. package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -0
  36. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/agent/[id]/events/route.js +3 -0
  38. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
  39. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
  40. package/.next/server/app/api/agent/[id]/lease/route.js +1 -0
  41. package/.next/server/app/api/agent/[id]/lease/route.js.nft.json +1 -0
  42. package/.next/server/app/api/agent/[id]/lease/route_client-reference-manifest.js +1 -0
  43. package/.next/server/app/api/agent/[id]/route.js +1 -0
  44. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
  45. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/agent/new/route.js +1 -0
  47. package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
  48. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
  49. package/.next/server/app/api/agent/running/route.js +1 -0
  50. package/.next/server/app/api/agent/running/route.js.nft.json +1 -0
  51. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -0
  52. package/.next/server/app/api/app-update/route.js +1 -0
  53. package/.next/server/app/api/app-update/route.js.nft.json +1 -0
  54. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
  55. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
  56. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
  57. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
  58. package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
  59. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
  60. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
  61. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
  62. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
  63. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
  64. package/.next/server/app/api/auth/providers/route.js +1 -0
  65. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
  66. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/cwd/browse/route.js +1 -0
  68. package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -0
  69. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/cwd/mkdir/route.js +1 -0
  71. package/.next/server/app/api/cwd/mkdir/route.js.nft.json +1 -0
  72. package/.next/server/app/api/cwd/mkdir/route_client-reference-manifest.js +1 -0
  73. package/.next/server/app/api/cwd/validate/route.js +1 -0
  74. package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -0
  75. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/default-cwd/route.js +1 -0
  77. package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
  78. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
  79. package/.next/server/app/api/file-index/route.js +1 -0
  80. package/.next/server/app/api/file-index/route.js.nft.json +1 -0
  81. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
  82. package/.next/server/app/api/files/[...path]/route.js +49 -0
  83. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
  84. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
  85. package/.next/server/app/api/git/diff/route.js +6 -0
  86. package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
  87. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/git/status/route.js +6 -0
  89. package/.next/server/app/api/git/status/route.js.nft.json +1 -0
  90. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
  91. package/.next/server/app/api/home/route.js +1 -0
  92. package/.next/server/app/api/home/route.js.nft.json +1 -0
  93. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/models/route.js +1 -0
  95. package/.next/server/app/api/models/route.js.nft.json +1 -0
  96. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  97. package/.next/server/app/api/models-config/catalog/route.js +1 -0
  98. package/.next/server/app/api/models-config/catalog/route.js.nft.json +1 -0
  99. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/models-config/discover/route.js +1 -0
  101. package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -0
  102. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
  103. package/.next/server/app/api/models-config/route.js +1 -0
  104. package/.next/server/app/api/models-config/route.js.nft.json +1 -0
  105. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/models-config/test/route.js +1 -0
  107. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
  108. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
  109. package/.next/server/app/api/plugins/check/route.js +1 -0
  110. package/.next/server/app/api/plugins/check/route.js.nft.json +1 -0
  111. package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/plugins/route.js +1 -0
  113. package/.next/server/app/api/plugins/route.js.nft.json +1 -0
  114. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  115. package/.next/server/app/api/project-trust/route.js +1 -0
  116. package/.next/server/app/api/project-trust/route.js.nft.json +1 -0
  117. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/provider-usage/query/route.js +1 -0
  119. package/.next/server/app/api/provider-usage/query/route.js.nft.json +1 -0
  120. package/.next/server/app/api/provider-usage/query/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/api/push/config/route.js +1 -0
  122. package/.next/server/app/api/push/config/route.js.nft.json +1 -0
  123. package/.next/server/app/api/push/config/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/push/subscribe/route.js +1 -0
  125. package/.next/server/app/api/push/subscribe/route.js.nft.json +1 -0
  126. package/.next/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/api/sessions/[id]/auto-name/route.js +10 -0
  128. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -0
  129. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
  131. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
  132. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
  133. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
  134. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -0
  135. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -0
  137. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js.nft.json +1 -0
  138. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/sessions/[id]/export/route.js +54 -0
  140. package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -0
  141. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/sessions/[id]/route.js +1 -0
  143. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
  144. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
  146. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -0
  147. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/sessions/route.js +1 -0
  149. package/.next/server/app/api/sessions/route.js.nft.json +1 -0
  150. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/sessions/search/route.js +1 -0
  152. package/.next/server/app/api/sessions/search/route.js.nft.json +1 -0
  153. package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/skills/check/route.js +1 -0
  155. package/.next/server/app/api/skills/check/route.js.nft.json +1 -0
  156. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/skills/install/route.js +1 -0
  158. package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
  159. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/skills/route.js +4 -0
  161. package/.next/server/app/api/skills/route.js.nft.json +1 -0
  162. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/skills/search/route.js +1 -0
  164. package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
  165. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/skills/update/route.js +1 -0
  167. package/.next/server/app/api/skills/update/route.js.nft.json +1 -0
  168. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/subagents/[id]/route.js +1 -0
  170. package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -0
  171. package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/subagents/profiles/route.js +1 -0
  173. package/.next/server/app/api/subagents/profiles/route.js.nft.json +1 -0
  174. package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/subagents/settings/route.js +1 -0
  176. package/.next/server/app/api/subagents/settings/route.js.nft.json +1 -0
  177. package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app/api/terminal/[id]/events/route.js +4 -0
  179. package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -0
  180. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -0
  181. package/.next/server/app/api/terminal/[id]/route.js +1 -0
  182. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -0
  183. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -0
  184. package/.next/server/app/api/terminal/route.js +1 -0
  185. package/.next/server/app/api/terminal/route.js.nft.json +1 -0
  186. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -0
  187. package/.next/server/app/api/tools/settings/route.js +1 -0
  188. package/.next/server/app/api/tools/settings/route.js.nft.json +1 -0
  189. package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -0
  190. package/.next/server/app/api/web-auth/route.js +1 -0
  191. package/.next/server/app/api/web-auth/route.js.nft.json +1 -0
  192. package/.next/server/app/api/web-auth/route_client-reference-manifest.js +1 -0
  193. package/.next/server/app/api/worktrees/route.js +1 -0
  194. package/.next/server/app/api/worktrees/route.js.nft.json +1 -0
  195. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
  196. package/.next/server/app/dashboard/page.js +1 -0
  197. package/.next/server/app/dashboard/page.js.nft.json +1 -0
  198. package/.next/server/app/dashboard/page_client-reference-manifest.js +1 -0
  199. package/.next/server/app/dashboard.html +1 -0
  200. package/.next/server/app/dashboard.meta +26 -0
  201. package/.next/server/app/dashboard.rsc +25 -0
  202. package/.next/server/app/dashboard.segments/_full.segment.rsc +25 -0
  203. package/.next/server/app/dashboard.segments/_tree.segment.rsc +6 -0
  204. package/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +29 -0
  205. package/.next/server/app/favicon.ico/route.js +1 -0
  206. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  207. package/.next/server/app/favicon.ico.body +0 -0
  208. package/.next/server/app/favicon.ico.meta +1 -0
  209. package/.next/server/app/index.html +1 -0
  210. package/.next/server/app/index.meta +21 -0
  211. package/.next/server/app/index.rsc +22 -0
  212. package/.next/server/app/index.segments/__PAGE__.segment.rsc +25 -0
  213. package/.next/server/app/index.segments/_full.segment.rsc +22 -0
  214. package/.next/server/app/index.segments/_tree.segment.rsc +7 -0
  215. package/.next/server/app/login/page.js +1 -0
  216. package/.next/server/app/login/page.js.nft.json +1 -0
  217. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  218. package/.next/server/app/login.html +1 -0
  219. package/.next/server/app/login.meta +26 -0
  220. package/.next/server/app/login.rsc +25 -0
  221. package/.next/server/app/login.segments/_full.segment.rsc +25 -0
  222. package/.next/server/app/login.segments/_tree.segment.rsc +6 -0
  223. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +29 -0
  224. package/.next/server/app/manifest.webmanifest/route.js +17 -0
  225. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  226. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  227. package/.next/server/app/manifest.webmanifest.body +1 -0
  228. package/.next/server/app/manifest.webmanifest.meta +1 -0
  229. package/.next/server/app/page.js +305 -0
  230. package/.next/server/app/page.js.nft.json +1 -0
  231. package/.next/server/app/page_client-reference-manifest.js +1 -0
  232. package/.next/server/app-paths-manifest.json +63 -0
  233. package/.next/server/chunks/1094.js +160 -0
  234. package/.next/server/chunks/1515.js +1 -0
  235. package/.next/server/chunks/1555.js +1 -0
  236. package/.next/server/chunks/1601.js +24 -0
  237. package/.next/server/chunks/1625.js +1 -0
  238. package/.next/server/chunks/1800.js +1 -0
  239. package/.next/server/chunks/1813.js +1 -0
  240. package/.next/server/chunks/1860.js +1 -0
  241. package/.next/server/chunks/2075.js +23 -0
  242. package/.next/server/chunks/2106.js +1 -0
  243. package/.next/server/chunks/2169.js +36 -0
  244. package/.next/server/chunks/2190.js +1 -0
  245. package/.next/server/chunks/2243.js +1 -0
  246. package/.next/server/chunks/2325.js +82 -0
  247. package/.next/server/chunks/2349.js +1 -0
  248. package/.next/server/chunks/2408.js +1 -0
  249. package/.next/server/chunks/2430.js +193 -0
  250. package/.next/server/chunks/2452.js +93 -0
  251. package/.next/server/chunks/2744.js +1 -0
  252. package/.next/server/chunks/2903.js +1 -0
  253. package/.next/server/chunks/295.js +1 -0
  254. package/.next/server/chunks/3012.js +1 -0
  255. package/.next/server/chunks/3157.js +1 -0
  256. package/.next/server/chunks/3186.js +86 -0
  257. package/.next/server/chunks/3379.js +1 -0
  258. package/.next/server/chunks/3383.js +27 -0
  259. package/.next/server/chunks/3569.js +1 -0
  260. package/.next/server/chunks/3618.js +1 -0
  261. package/.next/server/chunks/3869.js +8 -0
  262. package/.next/server/chunks/3894.js +1 -0
  263. package/.next/server/chunks/426.js +14 -0
  264. package/.next/server/chunks/4267.js +1 -0
  265. package/.next/server/chunks/4315.js +1 -0
  266. package/.next/server/chunks/4367.js +1 -0
  267. package/.next/server/chunks/4372.js +1 -0
  268. package/.next/server/chunks/4538.js +24 -0
  269. package/.next/server/chunks/4548.js +1 -0
  270. package/.next/server/chunks/4563.js +38 -0
  271. package/.next/server/chunks/4674.js +1 -0
  272. package/.next/server/chunks/4741.js +165 -0
  273. package/.next/server/chunks/4815.js +3 -0
  274. package/.next/server/chunks/4980.js +1 -0
  275. package/.next/server/chunks/5029.js +1 -0
  276. package/.next/server/chunks/5318.js +1 -0
  277. package/.next/server/chunks/5582.js +8 -0
  278. package/.next/server/chunks/5974.js +77 -0
  279. package/.next/server/chunks/6052.js +141 -0
  280. package/.next/server/chunks/611.js +1 -0
  281. package/.next/server/chunks/6253.js +104 -0
  282. package/.next/server/chunks/6337.js +1 -0
  283. package/.next/server/chunks/6366.js +80 -0
  284. package/.next/server/chunks/6429.js +14 -0
  285. package/.next/server/chunks/673.js +287 -0
  286. package/.next/server/chunks/6763.js +1 -0
  287. package/.next/server/chunks/6916.js +226 -0
  288. package/.next/server/chunks/703.js +1 -0
  289. package/.next/server/chunks/7233.js +1 -0
  290. package/.next/server/chunks/7265.js +215 -0
  291. package/.next/server/chunks/7307.js +1 -0
  292. package/.next/server/chunks/7561.js +1 -0
  293. package/.next/server/chunks/7710.js +1 -0
  294. package/.next/server/chunks/7744.js +64 -0
  295. package/.next/server/chunks/7790.js +1 -0
  296. package/.next/server/chunks/7799.js +34 -0
  297. package/.next/server/chunks/7872.js +1 -0
  298. package/.next/server/chunks/8106.js +1 -0
  299. package/.next/server/chunks/8294.js +1 -0
  300. package/.next/server/chunks/8333.js +79 -0
  301. package/.next/server/chunks/835.js +1 -0
  302. package/.next/server/chunks/8397.js +41 -0
  303. package/.next/server/chunks/8604.js +115 -0
  304. package/.next/server/chunks/8713.js +148 -0
  305. package/.next/server/chunks/8782.js +153 -0
  306. package/.next/server/chunks/8920.js +62 -0
  307. package/.next/server/chunks/922.js +5 -0
  308. package/.next/server/chunks/9280.js +255 -0
  309. package/.next/server/chunks/9486.js +1 -0
  310. package/.next/server/chunks/9509.js +1 -0
  311. package/.next/server/chunks/9510.js +90 -0
  312. package/.next/server/chunks/974.js +1 -0
  313. package/.next/server/functions-config-manifest.json +26 -0
  314. package/.next/server/instrumentation.js +1 -0
  315. package/.next/server/instrumentation.js.nft.json +1 -0
  316. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  317. package/.next/server/middleware-build-manifest.js +1 -0
  318. package/.next/server/middleware-manifest.json +6 -0
  319. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  320. package/.next/server/middleware.js +163 -0
  321. package/.next/server/middleware.js.nft.json +1 -0
  322. package/.next/server/next-font-manifest.js +1 -0
  323. package/.next/server/next-font-manifest.json +1 -0
  324. package/.next/server/pages/404.html +1 -0
  325. package/.next/server/pages/500.html +1 -0
  326. package/.next/server/pages-manifest.json +4 -0
  327. package/.next/server/prefetch-hints.json +67 -0
  328. package/.next/server/server-reference-manifest.js +1 -0
  329. package/.next/server/server-reference-manifest.json +1 -0
  330. package/.next/server/webpack-runtime.js +1 -0
  331. package/.next/static/4P8ZaTlYayjQDjQClWJy6/_buildManifest.js +1 -0
  332. package/.next/static/4P8ZaTlYayjQDjQClWJy6/_ssgManifest.js +1 -0
  333. package/.next/static/chunks/103.23142a67b02246a8.js +215 -0
  334. package/.next/static/chunks/1032.12b382a9096ab2a4.js +1 -0
  335. package/.next/static/chunks/1063.775c442bdbeef08b.js +1 -0
  336. package/.next/static/chunks/1278-bfacfce6a4683b1d.js +1 -0
  337. package/.next/static/chunks/1327.09252bb80616cc3a.js +1 -0
  338. package/.next/static/chunks/1708.d029f8776e4578de.js +1 -0
  339. package/.next/static/chunks/1781.866132cea8e77cd0.js +1 -0
  340. package/.next/static/chunks/1ba63609.b2ae90f43319a29e.js +153 -0
  341. package/.next/static/chunks/2081.47b6e9391094055f.js +1 -0
  342. package/.next/static/chunks/2181.ba21239d3ac39f81.js +1 -0
  343. package/.next/static/chunks/2258.4defa30121ef44a5.js +1 -0
  344. package/.next/static/chunks/2325.23caf22075e51aa5.js +1 -0
  345. package/.next/static/chunks/2356.523277bb8c6bf72a.js +23 -0
  346. package/.next/static/chunks/2418.b5d9e177e10a686e.js +1 -0
  347. package/.next/static/chunks/2480.cf27ca02e5b19761.js +24 -0
  348. package/.next/static/chunks/2539.c5a4f2fd8e421c70.js +41 -0
  349. package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
  350. package/.next/static/chunks/268.72794ee2773c2060.js +80 -0
  351. package/.next/static/chunks/2695.6f49435bae1e6f33.js +90 -0
  352. package/.next/static/chunks/2703.495a65ed14b2f094.js +36 -0
  353. package/.next/static/chunks/2821.934bcf60fbdc28c6.js +1 -0
  354. package/.next/static/chunks/3220-18bc83f919a12624.js +1 -0
  355. package/.next/static/chunks/3251.0dce7a0a0ff67235.js +1 -0
  356. package/.next/static/chunks/3308.be8762955e7155d1.js +73 -0
  357. package/.next/static/chunks/3336.a76f9485fe7cb762.js +1 -0
  358. package/.next/static/chunks/370.8e8f3cf8eb0e29dd.js +1 -0
  359. package/.next/static/chunks/3716.72bf4c9d7325debd.js +1 -0
  360. package/.next/static/chunks/3794-d29203733ca4633c.js +52 -0
  361. package/.next/static/chunks/398.ffa02af9062a3950.js +77 -0
  362. package/.next/static/chunks/3995.eca0f5bef1fc3ae5.js +38 -0
  363. package/.next/static/chunks/4004.74b9bcf5478b1663.js +160 -0
  364. package/.next/static/chunks/4202.8440832386f023c7.js +226 -0
  365. package/.next/static/chunks/4238.6f102dcbcf2ae339.js +141 -0
  366. package/.next/static/chunks/4405.7a19458960a1058e.js +287 -0
  367. package/.next/static/chunks/4424.fd0c93a807a333e1.js +1 -0
  368. package/.next/static/chunks/4866.d1060b4faf2ae1e2.js +1 -0
  369. package/.next/static/chunks/4970.8a63b4953b0e4946.js +1 -0
  370. package/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
  371. package/.next/static/chunks/5020.9ac8d0dc8390bb6e.js +1 -0
  372. package/.next/static/chunks/5137.f163e94c74a94d01.js +1 -0
  373. package/.next/static/chunks/5242.7b643c6b3394cac1.js +1 -0
  374. package/.next/static/chunks/5361.afc00ab2626bacbf.js +1 -0
  375. package/.next/static/chunks/5521.cfdf2cfc6db31407.js +1 -0
  376. package/.next/static/chunks/5526.ff46471041fdcb79.js +86 -0
  377. package/.next/static/chunks/5681.dd0e66b0de16e54b.js +27 -0
  378. package/.next/static/chunks/5772-ddd18c0d4b7715e5.js +3 -0
  379. package/.next/static/chunks/5957-b660df0f813517f8.js +7 -0
  380. package/.next/static/chunks/6121.eb9023b1cbc78ee2.js +1 -0
  381. package/.next/static/chunks/6161.4836cd7d031026bf.js +1 -0
  382. package/.next/static/chunks/6195.1153369f5f8b13a2.js +24 -0
  383. package/.next/static/chunks/6210-c32a36a8be764701.js +1 -0
  384. package/.next/static/chunks/6294.24f510c0c3e3714c.js +1 -0
  385. package/.next/static/chunks/6654.16f727522ec47f5a.js +1 -0
  386. package/.next/static/chunks/6794.f746d8fbbf248ecf.js +93 -0
  387. package/.next/static/chunks/7256.e07cf52d87d40252.js +1 -0
  388. package/.next/static/chunks/7268.236544be8e242c16.js +1 -0
  389. package/.next/static/chunks/7331.2add3c4e125a2dba.js +104 -0
  390. package/.next/static/chunks/7543.89f7b805ed0f2901.js +1 -0
  391. package/.next/static/chunks/8200.a36b9f8c983c6b9e.js +5 -0
  392. package/.next/static/chunks/869.7152372b662e31af.js +1 -0
  393. package/.next/static/chunks/8863.fa0320ea586efb3b.js +1 -0
  394. package/.next/static/chunks/8885.cf60cac98bf8b70c.js +79 -0
  395. package/.next/static/chunks/8901.e117d206a917bda0.js +1 -0
  396. package/.next/static/chunks/90542734.ae439f2382f58c51.js +1 -0
  397. package/.next/static/chunks/918.6a9bbe564e4a2d0f.js +115 -0
  398. package/.next/static/chunks/934.9006461bd0548660.js +1 -0
  399. package/.next/static/chunks/9522.c7c6e9c330f9ba6b.js +1 -0
  400. package/.next/static/chunks/9614.3221013d7f0af27f.js +64 -0
  401. package/.next/static/chunks/9698.4d09a99b9d99f3e5.js +148 -0
  402. package/.next/static/chunks/9705.40a82b97f214e28b.js +1 -0
  403. package/.next/static/chunks/973.88e865b52eff479a.js +8 -0
  404. package/.next/static/chunks/9764.2669775c6e107a01.js +62 -0
  405. package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
  406. package/.next/static/chunks/993e5495.8797001fcfcf2889.js +62 -0
  407. package/.next/static/chunks/9974.9a0f79beca65e8c4.js +34 -0
  408. package/.next/static/chunks/app/_global-error/page-6fb6d0fc9ffa5f9a.js +1 -0
  409. package/.next/static/chunks/app/_not-found/page-d96c49ae6914bfa4.js +1 -0
  410. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-6fb6d0fc9ffa5f9a.js +1 -0
  411. package/.next/static/chunks/app/api/agent/[id]/events/route-6fb6d0fc9ffa5f9a.js +1 -0
  412. package/.next/static/chunks/app/api/agent/[id]/lease/route-6fb6d0fc9ffa5f9a.js +1 -0
  413. package/.next/static/chunks/app/api/agent/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
  414. package/.next/static/chunks/app/api/agent/new/route-6fb6d0fc9ffa5f9a.js +1 -0
  415. package/.next/static/chunks/app/api/agent/running/route-6fb6d0fc9ffa5f9a.js +1 -0
  416. package/.next/static/chunks/app/api/app-update/route-6fb6d0fc9ffa5f9a.js +1 -0
  417. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6fb6d0fc9ffa5f9a.js +1 -0
  418. package/.next/static/chunks/app/api/auth/login/[provider]/route-6fb6d0fc9ffa5f9a.js +1 -0
  419. package/.next/static/chunks/app/api/auth/logout/[provider]/route-6fb6d0fc9ffa5f9a.js +1 -0
  420. package/.next/static/chunks/app/api/auth/providers/route-6fb6d0fc9ffa5f9a.js +1 -0
  421. package/.next/static/chunks/app/api/cwd/browse/route-6fb6d0fc9ffa5f9a.js +1 -0
  422. package/.next/static/chunks/app/api/cwd/mkdir/route-6fb6d0fc9ffa5f9a.js +1 -0
  423. package/.next/static/chunks/app/api/cwd/validate/route-6fb6d0fc9ffa5f9a.js +1 -0
  424. package/.next/static/chunks/app/api/default-cwd/route-6fb6d0fc9ffa5f9a.js +1 -0
  425. package/.next/static/chunks/app/api/file-index/route-6fb6d0fc9ffa5f9a.js +1 -0
  426. package/.next/static/chunks/app/api/files/[...path]/route-6fb6d0fc9ffa5f9a.js +1 -0
  427. package/.next/static/chunks/app/api/git/diff/route-6fb6d0fc9ffa5f9a.js +1 -0
  428. package/.next/static/chunks/app/api/git/status/route-6fb6d0fc9ffa5f9a.js +1 -0
  429. package/.next/static/chunks/app/api/home/route-6fb6d0fc9ffa5f9a.js +1 -0
  430. package/.next/static/chunks/app/api/models/route-6fb6d0fc9ffa5f9a.js +1 -0
  431. package/.next/static/chunks/app/api/models-config/catalog/route-6fb6d0fc9ffa5f9a.js +1 -0
  432. package/.next/static/chunks/app/api/models-config/discover/route-6fb6d0fc9ffa5f9a.js +1 -0
  433. package/.next/static/chunks/app/api/models-config/route-6fb6d0fc9ffa5f9a.js +1 -0
  434. package/.next/static/chunks/app/api/models-config/test/route-6fb6d0fc9ffa5f9a.js +1 -0
  435. package/.next/static/chunks/app/api/plugins/check/route-6fb6d0fc9ffa5f9a.js +1 -0
  436. package/.next/static/chunks/app/api/plugins/route-6fb6d0fc9ffa5f9a.js +1 -0
  437. package/.next/static/chunks/app/api/project-trust/route-6fb6d0fc9ffa5f9a.js +1 -0
  438. package/.next/static/chunks/app/api/provider-usage/query/route-6fb6d0fc9ffa5f9a.js +1 -0
  439. package/.next/static/chunks/app/api/push/config/route-6fb6d0fc9ffa5f9a.js +1 -0
  440. package/.next/static/chunks/app/api/push/subscribe/route-6fb6d0fc9ffa5f9a.js +1 -0
  441. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6fb6d0fc9ffa5f9a.js +1 -0
  442. package/.next/static/chunks/app/api/sessions/[id]/context/route-6fb6d0fc9ffa5f9a.js +1 -0
  443. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-6fb6d0fc9ffa5f9a.js +1 -0
  444. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-6fb6d0fc9ffa5f9a.js +1 -0
  445. package/.next/static/chunks/app/api/sessions/[id]/export/route-6fb6d0fc9ffa5f9a.js +1 -0
  446. package/.next/static/chunks/app/api/sessions/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
  447. package/.next/static/chunks/app/api/sessions/[id]/state/route-6fb6d0fc9ffa5f9a.js +1 -0
  448. package/.next/static/chunks/app/api/sessions/route-6fb6d0fc9ffa5f9a.js +1 -0
  449. package/.next/static/chunks/app/api/sessions/search/route-6fb6d0fc9ffa5f9a.js +1 -0
  450. package/.next/static/chunks/app/api/skills/check/route-6fb6d0fc9ffa5f9a.js +1 -0
  451. package/.next/static/chunks/app/api/skills/install/route-6fb6d0fc9ffa5f9a.js +1 -0
  452. package/.next/static/chunks/app/api/skills/route-6fb6d0fc9ffa5f9a.js +1 -0
  453. package/.next/static/chunks/app/api/skills/search/route-6fb6d0fc9ffa5f9a.js +1 -0
  454. package/.next/static/chunks/app/api/skills/update/route-6fb6d0fc9ffa5f9a.js +1 -0
  455. package/.next/static/chunks/app/api/subagents/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
  456. package/.next/static/chunks/app/api/subagents/profiles/route-6fb6d0fc9ffa5f9a.js +1 -0
  457. package/.next/static/chunks/app/api/subagents/settings/route-6fb6d0fc9ffa5f9a.js +1 -0
  458. package/.next/static/chunks/app/api/terminal/[id]/events/route-6fb6d0fc9ffa5f9a.js +1 -0
  459. package/.next/static/chunks/app/api/terminal/[id]/route-6fb6d0fc9ffa5f9a.js +1 -0
  460. package/.next/static/chunks/app/api/terminal/route-6fb6d0fc9ffa5f9a.js +1 -0
  461. package/.next/static/chunks/app/api/tools/settings/route-6fb6d0fc9ffa5f9a.js +1 -0
  462. package/.next/static/chunks/app/api/web-auth/route-6fb6d0fc9ffa5f9a.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/route-6fb6d0fc9ffa5f9a.js +1 -0
  464. package/.next/static/chunks/app/dashboard/page-3fe3dc57705a63ce.js +1 -0
  465. package/.next/static/chunks/app/layout-1c894a9ed80f6c37.js +1 -0
  466. package/.next/static/chunks/app/login/page-3df3bb529e8f8209.js +1 -0
  467. package/.next/static/chunks/app/manifest.webmanifest/route-6fb6d0fc9ffa5f9a.js +1 -0
  468. package/.next/static/chunks/app/page-87a6d3433302904d.js +283 -0
  469. package/.next/static/chunks/bf2ff291.3a109dffc1fe84af.js +122 -0
  470. package/.next/static/chunks/d3ac728e-7964f816a1ca64e5.js +1 -0
  471. package/.next/static/chunks/da12927c.476aa688a637649c.js +82 -0
  472. package/.next/static/chunks/db9d41be.e72ce090a86a3691.js +1 -0
  473. package/.next/static/chunks/e868780c-1584512c612787d7.js +18 -0
  474. package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
  475. package/.next/static/chunks/main-app-dc456095eb2e47ee.js +1 -0
  476. package/.next/static/chunks/main-dac5ab3797407fcb.js +5 -0
  477. package/.next/static/chunks/next/dist/client/components/builtin/app-error-6fb6d0fc9ffa5f9a.js +1 -0
  478. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6fb6d0fc9ffa5f9a.js +1 -0
  479. package/.next/static/chunks/next/dist/client/components/builtin/global-error-29630f7a1a12c467.js +1 -0
  480. package/.next/static/chunks/next/dist/client/components/builtin/not-found-6fb6d0fc9ffa5f9a.js +1 -0
  481. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6fb6d0fc9ffa5f9a.js +1 -0
  482. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  483. package/.next/static/chunks/webpack-1b16208bb4ccd9c1.js +1 -0
  484. package/.next/static/css/4cbedad236d913cb.css +1 -0
  485. package/.next/static/css/88714c00e109ce28.css +1 -0
  486. package/.next/static/css/bb9361c7f832a89d.css +1 -0
  487. package/.next/static/css/d71318cebb94818f.css +1 -0
  488. package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
  489. package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
  490. package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
  491. package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
  492. package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
  493. package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
  494. package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  495. package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  496. package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  497. package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  498. package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  499. package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  500. package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  501. package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  502. package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  503. package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  504. package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  505. package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  506. package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  507. package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  508. package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  509. package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  510. package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  511. package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  512. package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  513. package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  514. package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  515. package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  516. package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  517. package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  518. package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  519. package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  520. package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  521. package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  522. package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  523. package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  524. package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  525. package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  526. package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  527. package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  528. package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  529. package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  530. package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  531. package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  532. package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  533. package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  534. package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  535. package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  536. package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  537. package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  538. package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  539. package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  540. package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  541. package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  542. package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  543. package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  544. package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  545. package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  546. package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  547. package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  548. package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  549. package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  550. package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  551. package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  552. package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  553. package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  554. package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
  555. package/.next/trace +41 -0
  556. package/.next/trace-build +1 -0
  557. package/.next/types/app/api/agent/[id]/bash-output/route.ts +353 -0
  558. package/.next/types/app/api/agent/[id]/events/route.ts +353 -0
  559. package/.next/types/app/api/agent/[id]/lease/route.ts +353 -0
  560. package/.next/types/app/api/agent/[id]/route.ts +353 -0
  561. package/.next/types/app/api/agent/new/route.ts +353 -0
  562. package/.next/types/app/api/agent/running/route.ts +353 -0
  563. package/.next/types/app/api/app-update/route.ts +353 -0
  564. package/.next/types/app/api/auth/api-key/[provider]/route.ts +353 -0
  565. package/.next/types/app/api/auth/login/[provider]/route.ts +353 -0
  566. package/.next/types/app/api/auth/logout/[provider]/route.ts +353 -0
  567. package/.next/types/app/api/auth/providers/route.ts +353 -0
  568. package/.next/types/app/api/cwd/browse/route.ts +353 -0
  569. package/.next/types/app/api/cwd/mkdir/route.ts +353 -0
  570. package/.next/types/app/api/cwd/validate/route.ts +353 -0
  571. package/.next/types/app/api/default-cwd/route.ts +353 -0
  572. package/.next/types/app/api/file-index/route.ts +353 -0
  573. package/.next/types/app/api/files/[...path]/route.ts +353 -0
  574. package/.next/types/app/api/git/diff/route.ts +353 -0
  575. package/.next/types/app/api/git/status/route.ts +353 -0
  576. package/.next/types/app/api/home/route.ts +353 -0
  577. package/.next/types/app/api/models/route.ts +353 -0
  578. package/.next/types/app/api/models-config/catalog/route.ts +353 -0
  579. package/.next/types/app/api/models-config/discover/route.ts +353 -0
  580. package/.next/types/app/api/models-config/route.ts +353 -0
  581. package/.next/types/app/api/models-config/test/route.ts +353 -0
  582. package/.next/types/app/api/plugins/check/route.ts +353 -0
  583. package/.next/types/app/api/plugins/route.ts +353 -0
  584. package/.next/types/app/api/project-trust/route.ts +353 -0
  585. package/.next/types/app/api/provider-usage/query/route.ts +353 -0
  586. package/.next/types/app/api/push/config/route.ts +353 -0
  587. package/.next/types/app/api/push/subscribe/route.ts +353 -0
  588. package/.next/types/app/api/sessions/[id]/auto-name/route.ts +353 -0
  589. package/.next/types/app/api/sessions/[id]/context/route.ts +353 -0
  590. package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +353 -0
  591. package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +353 -0
  592. package/.next/types/app/api/sessions/[id]/export/route.ts +353 -0
  593. package/.next/types/app/api/sessions/[id]/route.ts +353 -0
  594. package/.next/types/app/api/sessions/[id]/state/route.ts +353 -0
  595. package/.next/types/app/api/sessions/route.ts +353 -0
  596. package/.next/types/app/api/sessions/search/route.ts +353 -0
  597. package/.next/types/app/api/skills/check/route.ts +353 -0
  598. package/.next/types/app/api/skills/install/route.ts +353 -0
  599. package/.next/types/app/api/skills/route.ts +353 -0
  600. package/.next/types/app/api/skills/search/route.ts +353 -0
  601. package/.next/types/app/api/skills/update/route.ts +353 -0
  602. package/.next/types/app/api/subagents/[id]/route.ts +353 -0
  603. package/.next/types/app/api/subagents/profiles/route.ts +353 -0
  604. package/.next/types/app/api/subagents/settings/route.ts +353 -0
  605. package/.next/types/app/api/terminal/[id]/events/route.ts +353 -0
  606. package/.next/types/app/api/terminal/[id]/route.ts +353 -0
  607. package/.next/types/app/api/terminal/route.ts +353 -0
  608. package/.next/types/app/api/tools/settings/route.ts +353 -0
  609. package/.next/types/app/api/web-auth/route.ts +353 -0
  610. package/.next/types/app/api/worktrees/route.ts +353 -0
  611. package/.next/types/app/dashboard/page.ts +89 -0
  612. package/.next/types/app/layout.ts +89 -0
  613. package/.next/types/app/login/page.ts +89 -0
  614. package/.next/types/app/page.ts +89 -0
  615. package/.next/types/cache-life.d.ts +146 -0
  616. package/.next/types/package.json +1 -0
  617. package/.next/types/root-params.d.ts +3 -0
  618. package/.next/types/routes.d.ts +128 -0
  619. package/.next/types/validator.ts +574 -0
  620. package/LICENSE +21 -0
  621. package/README.ja.md +134 -0
  622. package/README.md +184 -0
  623. package/README.ru.md +134 -0
  624. package/README.zh-CN.md +136 -0
  625. package/bin/agent-studio-options.js +89 -0
  626. package/bin/agent-studio.js +132 -0
  627. package/bin/node-version.js +35 -0
  628. package/bin/pi-web-options.js +89 -0
  629. package/bin/pi-web.js +132 -0
  630. package/bin/prepare-terminal.js +14 -0
  631. package/bin/process-lifecycle.js +81 -0
  632. package/next.config.ts +79 -0
  633. package/package.json +91 -0
  634. package/public/icons/agent-studio-icon.svg +46 -0
  635. package/public/icons/agent-studio-logo.png +0 -0
  636. package/public/icons/agent-studio-logo.svg +47 -0
  637. package/public/icons/apple-touch-icon.png +0 -0
  638. package/public/icons/catppuccin/LICENSE +22 -0
  639. package/public/icons/catppuccin/README.md +10 -0
  640. package/public/icons/catppuccin/latte/_file.svg +3 -0
  641. package/public/icons/catppuccin/latte/_folder.svg +3 -0
  642. package/public/icons/catppuccin/latte/_folder_open.svg +3 -0
  643. package/public/icons/catppuccin/latte/bash.svg +7 -0
  644. package/public/icons/catppuccin/latte/bun-lock.svg +8 -0
  645. package/public/icons/catppuccin/latte/config.svg +3 -0
  646. package/public/icons/catppuccin/latte/css.svg +6 -0
  647. package/public/icons/catppuccin/latte/database.svg +3 -0
  648. package/public/icons/catppuccin/latte/docker.svg +3 -0
  649. package/public/icons/catppuccin/latte/env.svg +3 -0
  650. package/public/icons/catppuccin/latte/eslint.svg +6 -0
  651. package/public/icons/catppuccin/latte/git.svg +6 -0
  652. package/public/icons/catppuccin/latte/go.svg +3 -0
  653. package/public/icons/catppuccin/latte/graphql.svg +3 -0
  654. package/public/icons/catppuccin/latte/html.svg +6 -0
  655. package/public/icons/catppuccin/latte/javascript-react.svg +8 -0
  656. package/public/icons/catppuccin/latte/javascript.svg +6 -0
  657. package/public/icons/catppuccin/latte/json.svg +3 -0
  658. package/public/icons/catppuccin/latte/lock.svg +3 -0
  659. package/public/icons/catppuccin/latte/markdown.svg +3 -0
  660. package/public/icons/catppuccin/latte/ms-word.svg +6 -0
  661. package/public/icons/catppuccin/latte/next.svg +6 -0
  662. package/public/icons/catppuccin/latte/npm-lock.svg +7 -0
  663. package/public/icons/catppuccin/latte/pdf.svg +3 -0
  664. package/public/icons/catppuccin/latte/python.svg +8 -0
  665. package/public/icons/catppuccin/latte/rust.svg +6 -0
  666. package/public/icons/catppuccin/latte/sass.svg +3 -0
  667. package/public/icons/catppuccin/latte/terraform.svg +3 -0
  668. package/public/icons/catppuccin/latte/toml.svg +3 -0
  669. package/public/icons/catppuccin/latte/typescript-react.svg +8 -0
  670. package/public/icons/catppuccin/latte/typescript.svg +6 -0
  671. package/public/icons/catppuccin/latte/yaml.svg +3 -0
  672. package/public/icons/catppuccin/mocha/_file.svg +3 -0
  673. package/public/icons/catppuccin/mocha/_folder.svg +3 -0
  674. package/public/icons/catppuccin/mocha/_folder_open.svg +3 -0
  675. package/public/icons/catppuccin/mocha/bash.svg +7 -0
  676. package/public/icons/catppuccin/mocha/bun-lock.svg +8 -0
  677. package/public/icons/catppuccin/mocha/config.svg +3 -0
  678. package/public/icons/catppuccin/mocha/css.svg +6 -0
  679. package/public/icons/catppuccin/mocha/database.svg +3 -0
  680. package/public/icons/catppuccin/mocha/docker.svg +3 -0
  681. package/public/icons/catppuccin/mocha/env.svg +3 -0
  682. package/public/icons/catppuccin/mocha/eslint.svg +6 -0
  683. package/public/icons/catppuccin/mocha/git.svg +6 -0
  684. package/public/icons/catppuccin/mocha/go.svg +3 -0
  685. package/public/icons/catppuccin/mocha/graphql.svg +3 -0
  686. package/public/icons/catppuccin/mocha/html.svg +6 -0
  687. package/public/icons/catppuccin/mocha/javascript-react.svg +8 -0
  688. package/public/icons/catppuccin/mocha/javascript.svg +6 -0
  689. package/public/icons/catppuccin/mocha/json.svg +3 -0
  690. package/public/icons/catppuccin/mocha/lock.svg +3 -0
  691. package/public/icons/catppuccin/mocha/markdown.svg +3 -0
  692. package/public/icons/catppuccin/mocha/ms-word.svg +6 -0
  693. package/public/icons/catppuccin/mocha/next.svg +6 -0
  694. package/public/icons/catppuccin/mocha/npm-lock.svg +7 -0
  695. package/public/icons/catppuccin/mocha/pdf.svg +3 -0
  696. package/public/icons/catppuccin/mocha/python.svg +8 -0
  697. package/public/icons/catppuccin/mocha/rust.svg +6 -0
  698. package/public/icons/catppuccin/mocha/sass.svg +3 -0
  699. package/public/icons/catppuccin/mocha/terraform.svg +3 -0
  700. package/public/icons/catppuccin/mocha/toml.svg +3 -0
  701. package/public/icons/catppuccin/mocha/typescript-react.svg +8 -0
  702. package/public/icons/catppuccin/mocha/typescript.svg +6 -0
  703. package/public/icons/catppuccin/mocha/yaml.svg +3 -0
  704. package/public/icons/favicon.svg +20 -0
  705. package/public/icons/icon-192.png +0 -0
  706. package/public/icons/icon-512.png +0 -0
  707. package/public/logo-preview.html +50 -0
  708. package/public/offline.html +83 -0
  709. package/public/provider-icons.svg +54 -0
  710. package/public/sw.js +166 -0
  711. package/public/sw.test.mjs +177 -0
@@ -0,0 +1,80 @@
1
+ "use strict";exports.id=6366,exports.ids=[6366],exports.modules={1487:(a,b,c)=>{c.d(b,{P:()=>g});var d=c(45313),e=c(58715),f=c(95097),g=(0,f.K)((a,b,c,f)=>{a.attr("class",c);let{width:g,height:j,x:k,y:l}=h(a,b);(0,d.a$)(a,j,g,f);let m=i(k,l,g,j,b);a.attr("viewBox",m),e.R.debug(`viewBox configured: ${m} with padding: ${b}`)},"setupViewPortForSVG"),h=(0,f.K)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),i=(0,f.K)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox")},30917:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(95097),e=c(69085),f=(0,d.K)((a,b)=>{let c;return"sandbox"===b&&(c=(0,e.Ltv)("#i"+a)),("sandbox"===b?(0,e.Ltv)(c.nodes()[0].contentDocument.body):(0,e.Ltv)("body")).select(`[id="${a}"]`)},"getDiagramElement")},56366:(a,b,c)=>{c.d(b,{diagram:()=>u});var d=c(30917),e=c(1487),f=c(78832);c(32844),c(11878),c(8312),c(7423),c(69819),c(59343),c(73669);var g=c(64922),h=c(45313),i=c(58715),j=c(95097),k=c(69085),l=c(75899),m=c(14120),n=function(){var a=(0,j.K)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],c=[1,10],d=[1,11],e=[1,12],f=[1,13],g=[1,23],h=[1,24],i=[1,25],k=[1,26],l=[1,27],m=[1,19],n=[1,28],o=[1,29],p=[1,20],q=[1,18],r=[1,21],s=[1,22],t=[1,36],u=[1,37],v=[1,38],w=[1,39],x=[1,40],y=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],z=[1,45],A=[1,46],B=[1,55],C=[40,48,50,51,52,71,72],D=[1,66],E=[1,64],F=[1,61],G=[1,65],H=[1,67],I=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],J=[66,67,68,69,70],K=[1,85],L=[1,84],M=[1,82],N=[1,83],O=[6,10,42,47],P=[6,10,13,41,42,47,48,49],Q=[1,93],R=[1,92],S=[1,91],T=[19,58],U=[1,102],V=[1,101],W=[19,58,61,63],X={trace:(0,j.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:(0,j.K)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:f[h-1].push(f[h]),this.$=f[h-1];break;case 4:case 5:case 55:case 56:case 57:case 58:case 82:case 65:case 67:case 70:this.$=f[h];break;case 8:d.addEntity(f[h-4]),d.addEntity(f[h-2]),d.addRelationship(f[h-4],f[h],f[h-2],f[h-3]);break;case 9:d.addEntity(f[h-8]),d.addEntity(f[h-4]),d.addRelationship(f[h-8],f[h],f[h-4],f[h-5]),d.setClass([f[h-8]],f[h-6]),d.setClass([f[h-4]],f[h-2]);break;case 10:d.addEntity(f[h-6]),d.addEntity(f[h-2]),d.addRelationship(f[h-6],f[h],f[h-2],f[h-3]),d.setClass([f[h-6]],f[h-4]);break;case 11:d.addEntity(f[h-6]),d.addEntity(f[h-4]),d.addRelationship(f[h-6],f[h],f[h-4],f[h-5]),d.setClass([f[h-4]],f[h-2]);break;case 12:d.addEntity(f[h-3]),d.addAttributes(f[h-3],f[h-1]);break;case 13:d.addEntity(f[h-5]),d.addAttributes(f[h-5],f[h-1]),d.setClass([f[h-5]],f[h-3]);break;case 14:d.addEntity(f[h-2]);break;case 15:d.addEntity(f[h-4]),d.setClass([f[h-4]],f[h-2]);break;case 16:d.addEntity(f[h]);break;case 17:d.addEntity(f[h-2]),d.setClass([f[h-2]],f[h]);break;case 18:d.addEntity(f[h-6],f[h-4]),d.addAttributes(f[h-6],f[h-1]);break;case 19:d.addEntity(f[h-8],f[h-6]),d.addAttributes(f[h-8],f[h-1]),d.setClass([f[h-8]],f[h-3]);break;case 20:d.addEntity(f[h-5],f[h-3]);break;case 21:d.addEntity(f[h-7],f[h-5]),d.setClass([f[h-7]],f[h-2]);break;case 22:d.addEntity(f[h-3],f[h-1]);break;case 23:d.addEntity(f[h-5],f[h-3]),d.setClass([f[h-5]],f[h]);break;case 24:case 25:this.$=f[h].trim(),d.setAccTitle(this.$);break;case 26:case 27:this.$=f[h].trim(),d.setAccDescription(this.$);break;case 32:d.setDirection("TB");break;case 33:d.setDirection("BT");break;case 34:d.setDirection("RL");break;case 35:d.setDirection("LR");break;case 36:this.$=f[h-3],d.addClass(f[h-2],f[h-1]);break;case 37:case 38:case 59:case 68:case 43:this.$=[f[h]];break;case 39:case 40:this.$=f[h-2].concat([f[h]]);break;case 41:this.$=f[h-2],d.setClass(f[h-1],f[h]);break;case 42:this.$=f[h-3],d.addCssStyles(f[h-2],f[h-1]);break;case 44:case 69:f[h-2].push(f[h]),this.$=f[h-2];break;case 46:case 66:this.$=f[h-1]+f[h];break;case 54:case 80:case 81:case 71:this.$=f[h].replace(/"/g,"");break;case 60:f[h].push(f[h-1]),this.$=f[h];break;case 61:this.$={type:f[h-1],name:f[h]};break;case 62:this.$={type:f[h-2],name:f[h-1],keys:f[h]};break;case 63:this.$={type:f[h-2],name:f[h-1],comment:f[h]};break;case 64:this.$={type:f[h-3],name:f[h-2],keys:f[h-1],comment:f[h]};break;case 72:this.$={cardA:f[h],relType:f[h-1],cardB:f[h-2]};break;case 73:this.$=d.Cardinality.ZERO_OR_ONE;break;case 74:this.$=d.Cardinality.ZERO_OR_MORE;break;case 75:this.$=d.Cardinality.ONE_OR_MORE;break;case 76:this.$=d.Cardinality.ONLY_ONE;break;case 77:this.$=d.Cardinality.MD_PARENT;break;case 78:this.$=d.Identification.NON_IDENTIFYING;break;case 79:this.$=d.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},a(b,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:c,24:d,26:e,28:f,29:14,30:15,31:16,32:17,33:g,34:h,35:i,36:k,37:l,40:m,43:n,44:o,48:p,50:q,51:r,52:s},a(b,[2,7],{1:[2,1]}),a(b,[2,3]),{9:30,11:9,22:c,24:d,26:e,28:f,29:14,30:15,31:16,32:17,33:g,34:h,35:i,36:k,37:l,40:m,43:n,44:o,48:p,50:q,51:r,52:s},a(b,[2,5]),a(b,[2,6]),a(b,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:t,67:u,68:v,69:w,70:x}),{23:[1,41]},{25:[1,42]},{27:[1,43]},a(b,[2,27]),a(b,[2,28]),a(b,[2,29]),a(b,[2,30]),a(b,[2,31]),a(y,[2,54]),a(y,[2,55]),a(y,[2,56]),a(y,[2,57]),a(y,[2,58]),a(b,[2,32]),a(b,[2,33]),a(b,[2,34]),a(b,[2,35]),{16:44,40:z,41:A},{16:47,40:z,41:A},{16:48,40:z,41:A},a(b,[2,4]),{11:49,40:m,48:p,50:q,51:r,52:s},{16:50,40:z,41:A},{18:51,19:[1,52],53:53,54:54,58:B},{11:56,40:m,48:p,50:q,51:r,52:s},{65:57,71:[1,58],72:[1,59]},a(C,[2,73]),a(C,[2,74]),a(C,[2,75]),a(C,[2,76]),a(C,[2,77]),a(b,[2,24]),a(b,[2,25]),a(b,[2,26]),{13:D,38:60,41:E,42:F,45:62,46:63,48:G,49:H},a(I,[2,37]),a(I,[2,38]),{16:68,40:z,41:A,42:F},{13:D,38:69,41:E,42:F,45:62,46:63,48:G,49:H},{13:[1,70],15:[1,71]},a(b,[2,17],{64:35,12:72,17:[1,73],42:F,66:t,67:u,68:v,69:w,70:x}),{19:[1,74]},a(b,[2,14]),{18:75,19:[2,59],53:53,54:54,58:B},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:t,67:u,68:v,69:w,70:x},a(J,[2,78]),a(J,[2,79]),{6:K,10:L,39:81,42:M,47:N},{40:[1,86],41:[1,87]},a(O,[2,43],{46:88,13:D,41:E,48:G,49:H}),a(P,[2,45]),a(P,[2,50]),a(P,[2,51]),a(P,[2,52]),a(P,[2,53]),a(b,[2,41],{42:F}),{6:K,10:L,39:89,42:M,47:N},{14:90,40:Q,50:R,73:S},{16:94,40:z,41:A},{11:95,40:m,48:p,50:q,51:r,52:s},{18:96,19:[1,97],53:53,54:54,58:B},a(b,[2,12]),{19:[2,60]},a(T,[2,61],{56:98,57:99,60:100,62:U,63:V}),a([19,58,62,63],[2,67]),{58:[2,66]},a(b,[2,22],{15:[1,104],17:[1,103]}),a([40,48,50,51,52],[2,72]),a(b,[2,36]),{13:D,41:E,45:105,46:63,48:G,49:H},a(b,[2,47]),a(b,[2,48]),a(b,[2,49]),a(I,[2,39]),a(I,[2,40]),a(P,[2,46]),a(b,[2,42]),a(b,[2,8]),a(b,[2,80]),a(b,[2,81]),a(b,[2,82]),{13:[1,106],42:F},{13:[1,108],15:[1,107]},{19:[1,109]},a(b,[2,15]),a(T,[2,62],{57:110,61:[1,111],63:V}),a(T,[2,63]),a(W,[2,68]),a(T,[2,71]),a(W,[2,70]),{18:112,19:[1,113],53:53,54:54,58:B},{16:114,40:z,41:A},a(O,[2,44],{46:88,13:D,41:E,48:G,49:H}),{14:115,40:Q,50:R,73:S},{16:116,40:z,41:A},{14:117,40:Q,50:R,73:S},a(b,[2,13]),a(T,[2,64]),{60:118,62:U},{19:[1,119]},a(b,[2,20]),a(b,[2,23],{17:[1,120],42:F}),a(b,[2,11]),{13:[1,121],42:F},a(b,[2,10]),a(W,[2,69]),a(b,[2,18]),{18:122,19:[1,123],53:53,54:54,58:B},{14:124,40:Q,50:R,73:S},{19:[1,125]},a(b,[2,21]),a(b,[2,9]),a(b,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:(0,j.K)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,j.K)(function(a){var b=this,c=[0],d=[],e=[null],f=[],g=this.table,h="",i=0,k=0,l=0,m=f.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;f.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,j.K)(function(a){c.length=c.length-2*a,e.length=e.length-a,f.length=f.length-a},"popStack"),(0,j.K)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=g[v]&&g[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],g[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(i+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),e.push(n.yytext),f.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(k=n.yyleng,h=n.yytext,i=n.yylineno,q=n.yylloc,l>0&&l--);break;case 2:if(z=this.productions_[w[1]][1],C.$=e[e.length-z],C._$={first_line:f[f.length-(z||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(z||1)].first_column,last_column:f[f.length-1].last_column},r&&(C._$.range=[f[f.length-(z||1)].range[0],f[f.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[h,k,i,o,w[1],e,f].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),e=e.slice(0,-1*z),f=f.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),e.push(C.$),f.push(C._$),A=g[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function Y(){this.yy={}}return X.lexer={EOF:1,parseError:(0,j.K)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,j.K)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,j.K)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,j.K)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,j.K)(function(){return this._more=!0,this},"more"),reject:(0,j.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,j.K)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,j.K)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,j.K)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,j.K)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,j.K)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,j.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,j.K)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,j.K)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,j.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,j.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,j.K)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,j.K)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,j.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,j.K)(function(a,b,c,d){switch(c){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 29:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 31:case 38:break;case 13:return 8;case 14:return 50;case 15:return 73;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 41:return 49;case 20:case 40:return 42;case 21:return 15;case 22:case 39:return 13;case 24:return 62;case 25:case 26:case 28:return 58;case 27:this.begin("block_bq");break;case 30:return 63;case 32:return this.popState(),19;case 33:case 80:return b.yytext[0];case 34:return 20;case 35:return 21;case 36:return this.begin("style"),44;case 37:return this.popState(),10;case 42:return this.begin("style"),37;case 43:return 43;case 44:case 48:case 49:case 67:return 66;case 45:case 46:case 47:case 55:case 57:case 69:return 68;case 50:case 51:case 52:case 53:case 54:case 56:case 68:return 67;case 58:case 59:case 61:case 62:case 63:case 66:return 69;case 60:return 51;case 64:return 52;case 65:return 48;case 70:return 70;case 71:case 74:case 75:case 76:return 71;case 72:case 73:return 72;case 77:return 41;case 78:return 47;case 79:return 40;case 81:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[37,38,39,40,41,77,78],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[28,29],inclusive:!1},block:{rules:[23,24,25,26,27,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,34,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,79,80,81],inclusive:!0}}},(0,j.K)(Y,"Parser"),Y.prototype=X,X.Parser=Y,new Y}();n.parser=n;var o=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=h.SV,this.getAccTitle=h.iN,this.setAccDescription=h.EI,this.getAccDescription=h.m7,this.setDiagramTitle=h.ke,this.getDiagramTitle=h.ab,this.getConfig=(0,j.K)(()=>(0,h.D7)().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,j.K)(this,"ErDB")}addEntity(a,b=""){return this.entities.has(a)?!this.entities.get(a)?.alias&&b&&(this.entities.get(a).alias=b,i.R.info(`Add alias '${b}' to entity '${a}'`)):(this.entities.set(a,{id:`entity-${a}-${this.entities.size}`,label:a,attributes:[],alias:b,shape:"erBox",look:(0,h.D7)().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),i.R.info("Added new entity :",a)),this.entities.get(a)}getEntity(a){return this.entities.get(a)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(a,b){let c,d=this.addEntity(a);for(c=b.length-1;c>=0;c--)b[c].keys||(b[c].keys=[]),b[c].comment||(b[c].comment=""),d.attributes.push(b[c]),i.R.debug("Added attribute ",b[c].name)}addRelationship(a,b,c,d){let e=this.entities.get(a),f=this.entities.get(c);if(!e||!f)return;let g={entityA:e.id,roleA:b,entityB:f.id,relSpec:d};this.relationships.push(g),i.R.debug("Added new relationship :",g)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(a){this.direction=a}getCompiledStyles(a){let b=[];for(let c of a){let a=this.classes.get(c);a?.styles&&(b=[...b,...a.styles??[]].map(a=>a.trim())),a?.textStyles&&(b=[...b,...a.textStyles??[]].map(a=>a.trim()))}return b}addCssStyles(a,b){for(let c of a){let a=this.entities.get(c);if(!b||!a)return;for(let c of b)a.cssStyles.push(c)}}addClass(a,b){a.forEach(a=>{let c=this.classes.get(a);void 0===c&&(c={id:a,styles:[],textStyles:[]},this.classes.set(a,c)),b&&b.forEach(function(a){if(/color/.exec(a)){let b=a.replace("fill","bgFill");c.textStyles.push(b)}c.styles.push(a)})})}setClass(a,b){for(let c of a){let a=this.entities.get(c);if(a)for(let c of b)a.cssClasses+=" "+c}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],(0,h.IU)()}getData(){let a=[],b=[],c=(0,h.D7)(),d=0;for(let b of this.entities.keys()){let c=this.entities.get(b);c&&(c.cssCompiledStyles=this.getCompiledStyles(c.cssClasses.split(" ")),c.colorIndex=d++,a.push(c))}let e=0;for(let a of this.relationships){let d={id:(0,g.rY)(a.entityA,a.entityB,{prefix:"id",counter:e++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==a.relSpec.relType?"solid":"dashed",look:c.look,labelType:"markdown"};b.push(d)}return{nodes:a,edges:b,other:{},config:c,direction:"TB"}}},p={};(0,j.V)(p,{draw:()=>q});var q=(0,j.K)(async function(a,b,c,j){i.R.info("REF0:"),i.R.info("Drawing er diagram (unified)",b);let{securityLevel:l,er:m,layout:n}=(0,h.D7)(),o=j.db.getData(),p=(0,d.A)(b,l);o.type=j.type,o.layoutAlgorithm=(0,f.q7)(n),o.config.flowchart.nodeSpacing=m?.nodeSpacing||140,o.config.flowchart.rankSpacing=m?.rankSpacing||80,o.direction=j.db.getDirection();let{config:q}=o,{look:r}=q;"neo"===r?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=b,await (0,f.XX)(o,p),"elk"===o.layoutAlgorithm&&p.select(".edges").lower();let s=p.selectAll('[id*="-background"]');Array.from(s).length>0&&s.each(function(){let a=(0,k.Ltv)(this),b=a.attr("id").replace("-background",""),c=p.select(`#${CSS.escape(b)}`);if(!c.empty()){let b=c.attr("transform");a.attr("transform",b)}}),g._K.insertTitle(p,"erDiagramTitleText",m?.titleTopMargin??25,j.db.getDiagramTitle()),(0,e.P)(p,8,"erDiagram",m?.useMaxWidth??!0)},"draw"),r=(0,j.K)((a,b)=>{let c=l.A,d=c(a,"r"),e=c(a,"g"),f=c(a,"b");return m.A(d,e,f,b)},"fade"),s=new Set(["redux-color","redux-dark-color"]),t=(0,j.K)(a=>{let{theme:b,look:c,bkgColorArray:d,borderColorArray:e}=a;if(!s.has(b))return"";let f=d?.length>0,g="";for(let b=0;b<a.THEME_COLOR_LIMIT;b++)g+=`
2
+
3
+ [data-look="${c}"][data-color-id="color-${b}"].node path {
4
+ stroke: ${e[b]};
5
+ ${f?`fill: ${d[b]};`:""}
6
+ }
7
+
8
+ [data-look="${c}"][data-color-id="color-${b}"].node rect {
9
+ stroke: ${e[b]};
10
+ ${f?`fill: ${d[b]};`:""}
11
+ }
12
+ `;return g},"genColor"),u={parser:n,get db(){return new o},renderer:p,styles:(0,j.K)(a=>{let{look:b,theme:c,erEdgeLabelBackground:d,strokeWidth:e}=a;return`
13
+ ${t(a)}
14
+ .entityBox {
15
+ fill: ${a.mainBkg};
16
+ stroke: ${a.nodeBorder};
17
+ }
18
+
19
+ .relationshipLabelBox {
20
+ fill: ${a.tertiaryColor};
21
+ opacity: 0.7;
22
+ background-color: ${a.tertiaryColor};
23
+ rect {
24
+ opacity: 0.5;
25
+ }
26
+ }
27
+
28
+ .labelBkg {
29
+ background-color: ${s.has(c)&&d?d:r(a.tertiaryColor,.5)};
30
+ }
31
+
32
+ .edgeLabel {
33
+ background-color: ${s.has(c)&&d?d:a.edgeLabelBackground};
34
+ }
35
+ .edgeLabel .label rect {
36
+ fill: ${s.has(c)&&d?d:a.edgeLabelBackground};
37
+ }
38
+ .edgeLabel .label text {
39
+ fill: ${a.textColor};
40
+ }
41
+
42
+ .edgeLabel .label {
43
+ fill: ${a.nodeBorder};
44
+ font-size: 14px;
45
+ }
46
+
47
+ .label {
48
+ font-family: ${a.fontFamily};
49
+ color: ${a.nodeTextColor||a.textColor};
50
+ }
51
+
52
+ .edge-pattern-dashed {
53
+ stroke-dasharray: 8,8;
54
+ }
55
+
56
+ .node rect,
57
+ .node circle,
58
+ .node ellipse,
59
+ .node polygon
60
+ {
61
+ fill: ${a.mainBkg};
62
+ stroke: ${a.nodeBorder};
63
+ stroke-width: ${"neo"===b?e:"1px"};
64
+ }
65
+
66
+ .relationshipLine {
67
+ stroke: ${a.lineColor};
68
+ stroke-width: ${"neo"===b?e:"1px"};
69
+ fill: none;
70
+ }
71
+
72
+ .marker {
73
+ fill: none !important;
74
+ stroke: ${a.lineColor} !important;
75
+ stroke-width: 1;
76
+ }
77
+ [data-look=neo].labelBkg {
78
+ background-color: ${r(a.tertiaryColor,.5)};
79
+ }
80
+ `},"getStyles")}},75899:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(73946),e=c(363);let f=(a,b)=>d.A.lang.round(e.A.parse(a)[b])}};
@@ -0,0 +1,14 @@
1
+ "use strict";exports.id=6429,exports.ids=[6429],exports.modules={305:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Up:()=>r,dp:()=>q,wQ:()=>m});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);g=(j.then?(await j)():j)[0];let s=["read","bash","edit","write"],t=new Set(["bash","powershell"]);function k(a,b=process.platform){return"win32"===b&&a?.includes("powershell")===!0&&!a.includes("bash")}function l(a,b){let c=b?"powershell":"bash",d=[];for(let b of a){let a=t.has(b)?c:b;d.includes(a)||d.push(a)}return d}function m(a,b,c=process.platform){return l(a,k(b,c))}function n(a=(0,g.getAgentDir)()){return(0,f.join)(a,"settings.json")}function o(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if("object"!=typeof b||null===b||Array.isArray(b))throw Error("Invalid settings.json: expected an object");return b}function p(a){if(void 0!==a.defaultTools){if(!Array.isArray(a.defaultTools)||a.defaultTools.some(a=>"string"!=typeof a))throw Error("Invalid settings.json: defaultTools must be an array of strings");return a.defaultTools}}async function q(a=n(),b=process.platform){if(!(0,e.existsSync)(a))return!1;let c=await i().lock(a,{realpath:!1,retries:10});try{return k(p(o(a)),b)}finally{await c()}}async function r(a,b=n(),c=process.platform){if("win32"!==c)throw Error("PowerShell tool settings are only available on Windows");(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0});try{(0,e.writeFileSync)(b,"{}",{flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let d=await i().lock(b,{realpath:!1,retries:10});try{let c=o(b),d=p(c)??s,f=l(d,a);d.some(a=>t.has(a))||f.push(a?"powershell":"bash"),c.defaultTools=f,(0,e.writeFileSync)(b,JSON.stringify(c,null,2),"utf8"),(0,e.chmodSync)(b,384)}finally{await d()}return a}d()}catch(a){d(a)}})},7667:(a,b,c)=>{c.d(b,{V:()=>d});class d{enqueue(a,b,c,d,e){let f,g=this.parents.get(a)??{limit:1,active:0,items:[]};g.limit=Math.max(1,Math.floor(b)||1);let h=new Promise((a,b)=>{f={run:c,onState:d,onCancel:e,resolve:a,reject:b,state:"queued",cancelled:!1}});return g.items.push(f),this.parents.set(a,g),d("queued"),this.pump(a,g),{promise:h,cancel:()=>"queued"===f.state&&!f.cancelled&&(f.cancelled=!0,Promise.resolve(f.onCancel?.()).then(()=>f.resolve(void 0),a=>f.reject(a)),this.pump(a,g),!0)}}pump(a,b){for(;b.active<b.limit&&b.items.length>0;){let c=b.items.shift();c.cancelled||(c.state="running",c.onState("running"),b.active+=1,c.run().then(c.resolve,c.reject).finally(()=>{b.active-=1,this.pump(a,b),0===b.active&&0===b.items.length&&this.parents.delete(a)}))}}constructor(){this.parents=new Map}}},12568:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{s:()=>t});var e=c(75430),f=c(46753),g=c(7048),h=c(20644),i=c(99324),j=c(72498),k=c(305),l=c(27367),m=c(7667),n=c(24923),o=c(77598),p=a([e,f,g,j,k,l]);[e,f,g,j,k,l]=p.then?(await p)():p;let u=new Set(["off","minimal","low","medium","high","xhigh","max"]);function q(){return globalThis.__piSubagentRuns||(globalThis.__piSubagentRuns=new Map),globalThis.__piSubagentRuns}function r(){return globalThis.__piSubagentQueue||(globalThis.__piSubagentQueue=new m.V),globalThis.__piSubagentQueue}async function s(a,b){if(b)try{await (0,n.IL)(a,b.path);return}catch(a){return`Worktree retained at ${b.path}: ${a instanceof Error?a.message:String(a)}`}}function t(a){async function b(b){let d;if(!(a.isBuiltInSubagentsEnabled??l.N)())throw Error("AgentStudio built-in sub-agents are disabled");let e=b.parentContext.sessionManager.getSessionId(),f=await c(b.sessionId);if(!f)throw Error(`Subagent not found: ${b.sessionId}`);if(f.parentSessionId!==e)throw Error("Subagent does not belong to this parent session");if("running"===f.status||"queued"===f.status)throw Error("Subagent is already running");let h=a.getSession(e);if(!h?.isAlive())throw Error("Parent session is no longer available");let i=f.sessionPath||await a.resolveSessionPath(b.sessionId);if(!i)throw Error(`Subagent session file not found: ${b.sessionId}`);let j=a.getSession(b.sessionId);if(j?.isAlive()||(j=await a.reopenSession(b.sessionId,i)),!j.isAlive())throw Error("Subagent session is no longer available");if(j.isRunning())throw Error("Subagent is already running");let k=b.runInBackground??f.runInBackground,m={...f,parentToolCallId:b.parentToolCallId,task:b.task,description:b.description.trim()||f.description,runInBackground:k,status:"queued",completedAt:void 0,result:void 0,error:void 0},n=j.inner.sessionManager,o=new Promise(a=>{d=a}),p={run:m,completion:o,abortRequested:!1};q().set(b.sessionId,p),b.onUpdate?.(m),a.invalidateSessionList();let s=()=>{p.abortRequested=!0,"queued"===p.run.status?p.cancelQueued?.():j.inner.abort()};k||b.signal?.addEventListener("abort",s,{once:!0});let t=async()=>{let c;if(p.abortRequested){let a={...m,status:"aborted",completedAt:new Date().toISOString()};return n.appendCustomEntry(g.pv,{version:1,status:"aborted",completedAt:a.completedAt}),p.run=a,q().delete(b.sessionId),d(a),a}p.run={...p.run,status:"running"},n.appendCustomEntry(g.o2,{version:1,status:"running"}),b.onUpdate?.(p.run);try{await j.inner.prompt(b.task,{source:"rpc"});let a=j.inner.getLastAssistantText()?.trim();c={...m,status:p.abortRequested?"aborted":"completed",completedAt:new Date().toISOString(),...a?{result:a}:{}}}catch(a){c={...m,status:p.abortRequested||b.signal?.aborted?"aborted":"failed",completedAt:new Date().toISOString(),...!p.abortRequested&&!b.signal?.aborted?{error:a instanceof Error?a.message:String(a)}:{}}}finally{b.signal?.removeEventListener("abort",s)}return n.appendCustomEntry(g.pv,{version:1,status:c.status,completedAt:c.completedAt,...c.result?{result:c.result}:{},...c.error?{error:c.error}:{}}),p.run=c,b.onUpdate?.(c),q().delete(b.sessionId),a.invalidateSessionList(),c},u=r().enqueue(e,(0,l.hd)().maxConcurrent,t,c=>{"queued"===c&&n.appendCustomEntry(g.o2,{version:1,status:"queued"}),p.run={...p.run,status:c},b.onUpdate?.(p.run),a.invalidateSessionList()},()=>{if("queued"!==p.run.status)return;let c={...m,status:"aborted",completedAt:new Date().toISOString()};n.appendCustomEntry(g.pv,{version:1,status:"aborted",completedAt:c.completedAt}),p.run=c,b.onUpdate?.(c),q().delete(b.sessionId),a.invalidateSessionList(),d(c)});return p.cancelQueued=u.cancel,u.promise.then(d,a=>d({...m,status:"failed",completedAt:new Date().toISOString(),error:a instanceof Error?a.message:String(a)})),{run:p.run,completion:o}}async function c(b){let c=q().get(b);if(c)return c.run;let d=a.getSession(b);if(d?.isAlive()){let a=(0,g.$u)(d.inner.sessionManager.getEntries(),b,d.sessionFile);if(a&&d.isRunning())return{...a,status:"running"};if(a)return a}let f=await a.resolveSessionPath(b);if(!f)return null;let h=e.SessionManager.open(f);return(0,g.$u)(h.getEntries(),b,f)}async function d(b,c){let d=a.getSession(b);if(!d?.isAlive()||!d.isRunning())throw Error("Subagent is not running");if(!c.trim())throw Error("Steering message is required");await d.inner.steer(c.trim())}async function m(b){let c=a.getSession(b.parentSessionId);if(!c?.isAlive()){let d=await a.resolveSessionPath(b.parentSessionId);if(!d)throw Error(`Parent session not found: ${b.parentSessionId}`);c=await a.reopenSession(b.parentSessionId,d)}if(await c.waitUntilReady(),!c.isAlive())throw Error(`Parent session is no longer available: ${b.parentSessionId}`);await c.inner.sendCustomMessage({customType:"pi-web:subagent-notification",content:(0,f.J8)(b),display:!0,details:(0,f.o2)(b)},{deliverAs:"followUp",triggerTurn:!0})}async function p(b){let c=a.getSession(b),d=q().get(b);if(d?.run.status==="queued"){if(d.abortRequested=!0,!d.cancelQueued?.())throw Error("Subagent is no longer queued");return}if(!c?.isAlive()||!c.isRunning())throw Error("Subagent is not running");d&&(d.abortRequested=!0),await c.inner.abort()}return{extensionRuntime:{start:async function(b){let c;if(!(a.isBuiltInSubagentsEnabled??l.N)())throw Error("AgentStudio built-in sub-agents are disabled");let d=b.parentContext.sessionManager.getSessionId(),f=a.getSession(d);if(!f?.isAlive())throw Error("Parent session is no longer available");if(!f.sessionFile)throw Error("Parent session must be persisted before starting a subagent");try{let m,p,t,v=(0,g.rh)(f.cwd,b.profile);if(!v)throw Error(`Unknown or disabled subagent profile: ${b.profile}`);let w=b.runInBackground??v.runInBackground,x="off"===v.isolation?void 0:b.isolation??v.isolation;"worktree"===x&&(c=await (0,n.l)(f.cwd,`pi-web-agent-${(0,o.randomUUID)()}`));let y=c?.path??f.cwd,z=b.inheritContext??v.inheritContext,A=b.maxTurns??v.maxTurns;if(void 0!==A&&(!Number.isFinite(A)||A<0))throw Error("max_turns must be a non-negative number");let B=A&&A>0?Math.floor(A):void 0,C=b.thinking??v.thinking??f.inner.agent.state?.thinkingLevel;if(C&&!u.has(C))throw Error(`Invalid subagent thinking level: ${C}`);let D=(0,e.getAgentDir)(),E=f.inner.modelRuntime,F=e.SettingsManager.create(y,D),G=z?`The following is the active conversation context from the parent session. Use it only as background for the delegated task:
2
+ ${p=f.inner.sessionManager.buildSessionContext().messages,(t=JSON.stringify(p)).length<=5e4?t:`${t.slice(0,5e4)}
3
+ [Parent context truncated]`}`:void 0,H=(0,i.vH)(f.cwd,b.inputFiles??[]),I=(0,h.r)({profileSystemPrompt:v.systemPrompt,tools:v.tools,loadSkills:v.loadSkills,loadExtensions:v.loadExtensions,promptMode:v.promptMode,task:(0,i.jN)(b.task,H),inheritedParentContext:G}),{chatOnly:J,appendSystemPrompt:K,delegatedTask:L}=I;J||(0,e.initTheme)();let M=await (0,e.createAgentSessionServices)({cwd:y,agentDir:D,modelRuntime:E,settingsManager:F,resourceLoaderOptions:{noExtensions:!v.loadExtensions,noSkills:!v.loadSkills,noPromptTemplates:!0,noThemes:!0,noContextFiles:!0,...J||void 0!==I.exactSystemPrompt?{systemPrompt:" ",systemPromptOverride:()=>void 0}:{},appendSystemPrompt:K},...v.loadExtensions||v.loadSkills?{resourceLoaderReloadOptions:(0,j.Fk)(y,D)}:{}}),N=v.loadExtensions?v.extensionTools?.length?(0,g.gY)(M.resourceLoader.getExtensions().extensions,v.extensionTools):M.resourceLoader.getExtensions().extensions.flatMap(a=>[...a.tools.keys()]):[],O=(0,k.wQ)((0,g.I6)(v.tools,N),F.getDefaultTools()),P=c?e.SessionManager.create(y,void 0,{parentSession:f.sessionFile}):e.SessionManager.create(f.cwd,void 0,{parentSession:f.sessionFile}),Q=new Date().toISOString(),R={version:1,parentSessionId:d,parentSessionPath:f.sessionFile,parentToolCallId:b.parentToolCallId,profile:v.name,description:b.description.trim()||v.displayName,task:b.task,runInBackground:w,createdAt:Q,resourceSnapshot:{version:1,appendSystemPrompt:[...K],tools:[...O],loadSkills:v.loadSkills,loadExtensions:v.loadExtensions,...void 0!==I.exactSystemPrompt?{exactSystemPrompt:I.exactSystemPrompt}:{}},...c?{worktreePath:c.path,worktreeBranch:c.branch}:{}};P.appendCustomEntry(g.tP,R),P.appendSessionInfo(R.description);let S=function(a,b){if(!b?.trim())return;let c=b.trim(),d=c.indexOf("/");if(d>0){let b=c.slice(0,d),e=c.slice(d+1),f=a.getModel(b,e);if(!f)throw Error(`Subagent model not found: ${c}`);return f}let e=a.getModels().filter(a=>a.id===c);if(1===e.length)return e[0];if(0===e.length)throw Error(`Subagent model not found: ${c}`);throw Error(`Subagent model is ambiguous; use provider/modelId: ${c}`)}(E,b.model??v.model),T=f.inner.model,{session:U}=await (0,e.createAgentSessionFromServices)({services:M,sessionManager:P,model:S??T,...C?{thinkingLevel:C}:{},tools:O,excludeTools:[...g.st]});a.registerSession(U,{...void 0!==I.exactSystemPrompt?{exactSystemPrompt:I.exactSystemPrompt}:{},chatOnly:J});let V={sessionId:U.sessionId,sessionPath:U.sessionFile??P.getSessionFile()??"",parentSessionId:d,parentToolCallId:b.parentToolCallId,profile:v.name,description:R.description,task:b.task,runInBackground:w,status:"queued",createdAt:Q,...c?{worktreePath:c.path,worktreeBranch:c.branch}:{}},W=0,X=!1,Y=!1,Z=B?U.subscribe(a=>{"turn_end"===a.type&&(W+=1,!Y&&W>=B?(Y=!0,U.steer("You have reached your turn limit. Wrap up immediately and provide your final answer now.")):Y&&W>=B+1&&(X=!0,U.abort()))}):()=>{},$=new Promise(a=>{m=a}),_={run:V,completion:$,abortRequested:!1};q().set(V.sessionId,_),b.onUpdate?.(V),a.invalidateSessionList();let aa=()=>{_.abortRequested=!0,"queued"===_.run.status?_.cancelQueued?.():U.abort()};w||b.signal?.addEventListener("abort",aa,{once:!0});let ab=async()=>{let d;if(_.abortRequested){let d={...V,status:"aborted",completedAt:new Date().toISOString()};return P.appendCustomEntry(g.pv,{version:1,status:"aborted",completedAt:d.completedAt}),await s(f.cwd,c),_.run=d,b.onUpdate?.(d),q().delete(V.sessionId),a.invalidateSessionList(),d}_.run={..._.run,status:"running"},P.appendCustomEntry(g.o2,{version:1,status:"running"}),b.onUpdate?.(_.run),a.invalidateSessionList();try{await U.prompt(L,{source:"rpc",...J?{preflightResult:a=>{a&&U.agent.state&&(U.agent.state.systemPrompt=v.systemPrompt)}}:{}});let a=U.getLastAssistantText()?.trim(),b=_.abortRequested&&!X;d={...V,status:b?"aborted":"completed",completedAt:new Date().toISOString(),...a?{result:a}:{}}}catch(e){let a=U.getLastAssistantText()?.trim(),c=_.abortRequested||b.signal?.aborted;d={...V,status:c?"aborted":X?"completed":"failed",completedAt:new Date().toISOString(),...a?{result:a}:{},...!c&&!X?{error:e instanceof Error?e.message:String(e)}:{}}}finally{Z(),b.signal?.removeEventListener("abort",aa)}let e=await s(f.cwd,c);e&&(d={...d,worktreeCleanupError:e});let h={version:1,status:d.status,completedAt:d.completedAt,...d.result?{result:d.result}:{},...d.error?{error:d.error}:{},...d.worktreeCleanupError?{worktreeCleanupError:d.worktreeCleanupError}:{}};return P.appendCustomEntry(g.pv,h),_.run=d,b.onUpdate?.(d),q().delete(V.sessionId),a.invalidateSessionList(),d},ac=async()=>{if("queued"!==_.run.status)return;let d={...V,status:"aborted",completedAt:new Date().toISOString()},e=await s(f.cwd,c),h=e?{...d,worktreeCleanupError:e}:d;P.appendCustomEntry(g.pv,{version:1,status:"aborted",completedAt:h.completedAt,...e?{worktreeCleanupError:e}:{}}),_.run=h,b.onUpdate?.(h),q().delete(V.sessionId),a.invalidateSessionList(),m(h)},ad=r().enqueue(d,(0,l.hd)().maxConcurrent,ab,c=>{"queued"===c&&P.appendCustomEntry(g.o2,{version:1,status:"queued"}),b.onUpdate?.({..._.run,status:c}),_.run={..._.run,status:c},a.invalidateSessionList()},ac);return _.cancelQueued=ad.cancel,ad.promise.then(m,a=>{m({...V,status:"failed",completedAt:new Date().toISOString(),error:a instanceof Error?a.message:String(a)})}),{run:_.run,completion:_.completion}}catch(a){if(c)try{await (0,n.IL)(f.cwd,c.path)}catch{}throw a}},resume:b,get:c,steer:d,notifyParent:m},get:c,steer:d,abort:p}}d()}catch(a){d(a)}})},18904:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>k,p:()=>j});var e=c(75430),f=a([e]);e=(f.then?(await f)():f)[0];let l=new Set(["off","minimal","low","medium","high","xhigh","max"]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}function h(a){return a.includes("*")||a.includes("?")||a.includes("[")}function i(a,b){let c=a.toLowerCase(),d=b.filter(a=>`${a.provider}/${a.id}`.toLowerCase()===c);return d.length>0?d:b.filter(a=>a.id.toLowerCase()===c)}async function j(a,b){let c=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===c.length)return{visible:await a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let d=await a.getAvailable();for(let a of c){if(h(a))continue;let b=i(a,d);if(0===b.length){let c=a.lastIndexOf(":"),e=c>=0?a.slice(c+1):"";l.has(e)&&(b=i(a.slice(0,c),d))}if(b.length>1){let c=b.map(a=>`${a.provider}/${a.id}`).sort().join(", ");throw Error(`Ambiguous enabledModels entry "${a}" matches multiple models: ${c}. Use provider/modelId.`)}}let{scopedModels:f,diagnostics:g}=await (0,e.resolveModelScopeWithDiagnostics)(c,{getAvailable:async()=>d}),j=g.filter(a=>"no-match"!==a.code||0===f.length||!function(a){if(!h(a))return!1;let b=a.lastIndexOf(":");return b<0||l.has(a.slice(b+1))}(a.pattern)).map(a=>a.message);if(0===f.length)return{visible:d,scopedModels:[],thinkingLevelPins:{},warnings:j};let k={};for(let a of f)a.thinkingLevel&&(k[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:k,warnings:j}}function k(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,i=e?void 0:h??a.scopedModels[0],j=e||i||!d?void 0:a.visible.find(a=>g(a,d)),l=e??i?.model??j,m=f??i,n=b.thinkingLevel??m?.thinkingLevel;return{...l?{model:l}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},20644:(a,b,c)=>{c.d(b,{r:()=>d});function d(a){let b=0===a.tools.length&&!a.loadSkills&&!a.loadExtensions,c="replace"===a.promptMode,d=[a.profileSystemPrompt];return a.inheritedParentContext&&!b&&d.push(a.inheritedParentContext),{chatOnly:b,appendSystemPrompt:d,delegatedTask:a.inheritedParentContext&&b?`${a.task}
4
+
5
+ ${a.inheritedParentContext}`:a.task,...b||c?{exactSystemPrompt:a.profileSystemPrompt}:{}}}},21560:(a,b,c)=>{c.d(b,{b5:()=>j,dS:()=>h,vw:()=>i});var d=c(41761);let e="pi-web:tool-selection",f=new Set(d.C1);function g(a){if(!("object"!=typeof a||null===a||Array.isArray(a))&&!(1!==a.version||!Array.isArray(a.tools)||a.tools.some(a=>"string"!=typeof a||!f.has(a))))return[...new Set(a.tools)]}function h(a){for(let b=a.length-1;b>=0;b-=1){let c=a[b];if("custom"!==c.type||c.customType!==e)continue;let d=g(c.data);if(void 0!==d)return d}}function i(a){let b=g({version:1,tools:a});if(void 0===b)throw Error("toolNames must contain only built-in tool names");return b}function j(a,b){a.appendCustomEntry(e,{version:1,tools:[...b]})}},27367:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{N:()=>m,UF:()=>p,UM:()=>o,ef:()=>n,hd:()=>l});var e=c(73024),f=c(76760),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let p=32;function j(a=(0,g.getAgentDir)()){return(0,f.join)(a,"agents","settings.json")}function k(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if(null===b||"object"!=typeof b||Array.isArray(b))throw Error("Invalid subagent settings: expected an object");return b}function l(a=j()){var b,c,d;let e=k(a);return c=!0===e.builtInEnabled,b=e.maxConcurrent,d="number"==typeof b&&Number.isInteger(b)&&b>=1&&b<=p?b:10,Object.defineProperty({builtInEnabled:c},"maxConcurrent",{value:d,enumerable:!1,configurable:!0})}function m(a=j()){try{return l(a).builtInEnabled}catch{return!1}}function n(a,b=j()){let c=k(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,builtInEnabled:a},null,2)),l(b)}function o(a,b=j()){if(!Number.isInteger(a)||a<1||a>p)throw Error(`maxConcurrent must be an integer between 1 and ${p}`);let c=k(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,maxConcurrent:a},null,2)),l(b)}d()}catch(a){d(a)}})},28967:(a,b,c)=>{function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){let c=d(),e=c.entries.get(a);if(e){if(e.expiresAt>Date.now())return Promise.resolve(e.data);c.entries.delete(a)}let f=c.inFlight.get(a);if(f)return f;let g=c.generation,h=Promise.resolve().then(b).then(b=>{if(c.generation===g&&c.inFlight.get(a)===h){let d=Date.now();for(let[a,b]of c.entries)b.expiresAt<=d&&c.entries.delete(a);for(;c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(a,{data:b,expiresAt:d+6e4})}return b}).finally(()=>{c.inFlight.get(a)===h&&c.inFlight.delete(a)});return c.inFlight.set(a,h),h}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},30590:(a,b,c)=>{c.d(b,{o:()=>d});async function d(a,b,c){if(!b.model&&!b.thinkingLevel)return{modelDefaultChanged:!1};let d=!1;return b.model&&c.model&&b.model.provider===c.model.provider&&b.model.modelId===c.model.modelId&&(a.setDefaultModelAndProvider(c.model.provider,c.model.modelId),d=!0),b.thinkingLevel&&(c.supportsThinking||"off"!==c.thinkingLevel)&&a.setDefaultThinkingLevel(c.thinkingLevel),await a.flush(),{modelDefaultChanged:d}}},36899:(a,b,c)=>{c.d(b,{M:()=>d,c:()=>e});let d={noExtensions:!0,noSkills:!0,noPromptTemplates:!0,noThemes:!0,noContextFiles:!1,systemPrompt:" ",appendSystemPrompt:[" "],systemPromptOverride:()=>void 0,appendSystemPromptOverride:()=>[]};function e(a){return a.map(a=>a.content).join("\n\n")}},46753:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{J8:()=>k,U6:()=>m,Vj:()=>l,o2:()=>j});var e=c(28802),f=c(75430),g=c(7048),h=c(99324),i=a([e,f,g]);[e,f,g]=i.then?(await i)():i;let n="pi-web-subagents",o=`<inline:${n}>`,p=new Set(g.st),q="pi-subagents";function j(a){return{kind:"pi-web-subagent",sessionId:a.sessionId,profile:a.profile,description:a.description,status:a.status,runInBackground:a.runInBackground,createdAt:a.createdAt,...a.completedAt?{completedAt:a.completedAt}:{},...a.error?{error:a.error}:{},...a.worktreePath?{worktreePath:a.worktreePath}:{},...a.worktreeBranch?{worktreeBranch:a.worktreeBranch}:{},...a.worktreeCleanupError?{worktreeCleanupError:a.worktreeCleanupError}:{}}}function k(a){return"starting"===a.status||"running"===a.status?`Subagent ${a.sessionId} is ${a.status}.`:"completed"===a.status?a.result?.trim()||"Subagent completed without text output.":"aborted"===a.status?`Subagent ${a.sessionId} was stopped.`:"interrupted"===a.status?`Subagent ${a.sessionId} was interrupted before completion.`:`Subagent ${a.sessionId} failed: ${a.error??"Unknown error"}`}function l(a,b,c=()=>!0){return{name:n,hidden:!0,factory:d=>{let g;if(!c())return;let i=b().filter(a=>a.enabled),l=i.map(a=>a.name),m=l.length>0?l.join(", "):"none";d.registerTool((0,f.defineTool)({name:"Agent",label:"Agent",description:`Delegate a focused task to a configured subagent. Each subagent runs as a full, inspectable Pi session. Use background mode for independent work and foreground mode when the result is needed immediately.
6
+
7
+ Available agent types:
8
+ ${(g=i.filter(a=>a.enabled),0===g.length?"No subagent profiles are currently enabled.":g.map(a=>{let b=[`Tools: ${a.tools.length>0?a.tools.join(", "):"none"}`];return a.model&&b.push(`Model: ${a.model}`),`- ${a.name}: ${a.description} (${b.join("; ")})`}).join("\n"))}`,promptSnippet:"Delegate a focused task to an inspectable subagent session",promptGuidelines:["Use Agent for a focused task that benefits from an isolated context.","Use multiple background Agent calls in the same response for independent parallel work.","Do not duplicate work already delegated to a running subagent."],executionMode:"parallel",parameters:e.Type.Object({subagent_type:e.Type.Optional(e.Type.String({description:`Configured agent profile. Available types: ${m}. Default: general-purpose.`})),prompt:e.Type.String({description:"The complete task for the subagent."}),resume:e.Type.Optional(e.Type.String({description:"Existing subagent session ID to continue instead of creating a new session."})),input_files:e.Type.Optional(e.Type.Array(e.Type.String(),{description:"UTF-8 text files under the session cwd to include with the task.",maxItems:h.Wv})),description:e.Type.String({description:"Short activity label shown in the UI."}),run_in_background:e.Type.Optional(e.Type.Boolean({description:"Return immediately and notify this session when complete."})),model:e.Type.Optional(e.Type.String({description:"Optional provider/modelId override."})),thinking:e.Type.Optional(e.Type.String({description:"Optional thinking level override."})),max_turns:e.Type.Optional(e.Type.Number({description:"Optional positive agent turn limit."})),inherit_context:e.Type.Optional(e.Type.Boolean({description:"Include the parent session's active conversation context."})),isolation:e.Type.Optional(e.Type.String({description:"Run the subagent in an isolated git worktree."}))}),async execute(b,c,d,e,f){try{let g=c.resume?.trim(),h=g?await a.resume({parentContext:f,parentToolCallId:b,sessionId:g,task:c.prompt,description:c.description,...void 0!==c.run_in_background?{runInBackground:c.run_in_background}:{},signal:d,onUpdate:a=>e?.({content:[{type:"text",text:`${a.profile}: ${a.description} (${a.status})`}],details:j(a)})}):await a.start({parentContext:f,parentToolCallId:b,profile:c.subagent_type??"general-purpose",task:c.prompt,...c.input_files?{inputFiles:c.input_files}:{},description:c.description,...void 0!==c.run_in_background?{runInBackground:c.run_in_background}:{},...c.model?{model:c.model}:{},...c.thinking?{thinking:c.thinking}:{},...c.max_turns?{maxTurns:c.max_turns}:{},...void 0!==c.inherit_context?{inheritContext:c.inherit_context}:{},..."worktree"===c.isolation?{isolation:"worktree"}:{},signal:d,onUpdate:a=>e?.({content:[{type:"text",text:`${a.profile}: ${a.description} (${a.status})`}],details:j(a)})});if(h.run.runInBackground)return h.completion.then(b=>a.notifyParent(b)).catch(a=>{console.error("[pi-web] failed to deliver subagent completion:",a instanceof Error?a.message:a)}),{content:[{type:"text",text:`Subagent started in background. Session ID: ${h.run.sessionId}. You will be notified when it completes.`}],details:j(h.run)};let i=await h.completion;return{content:[{type:"text",text:k(i)}],details:j(i),..."failed"===i.status?{isError:!0}:{}}}catch(a){return{content:[{type:"text",text:a instanceof Error?a.message:String(a)}],details:void 0,isError:!0}}}})),d.registerTool((0,f.defineTool)({name:"get_subagent_result",label:"Get agent result",description:"Check an inspectable subagent session and retrieve its latest result.",parameters:e.Type.Object({agent_id:e.Type.String({description:"Subagent session ID."}),wait:e.Type.Optional(e.Type.Boolean({description:"Wait until the subagent finishes."}))}),async execute(b,c,d){let e=await a.get(c.agent_id);if(!e)return{content:[{type:"text",text:`Subagent not found: ${c.agent_id}`}],details:void 0,isError:!0};for(;c.wait&&("starting"===e.status||"running"===e.status);)if(await new Promise((a,b)=>{let c=()=>{clearTimeout(e),b(Error("Result wait aborted"))},e=setTimeout(()=>{d?.removeEventListener("abort",c),a()},500);d?.aborted?c():d?.addEventListener("abort",c,{once:!0})}),!(e=await a.get(c.agent_id)))return{content:[{type:"text",text:`Subagent not found: ${c.agent_id}`}],details:void 0,isError:!0};return{content:[{type:"text",text:k(e)}],details:j(e),..."failed"===e.status?{isError:!0}:{}}}})),d.registerTool((0,f.defineTool)({name:"steer_subagent",label:"Steer agent",description:"Send a steering message to a currently running subagent session.",parameters:e.Type.Object({agent_id:e.Type.String({description:"Subagent session ID."}),message:e.Type.String({description:"Instruction to inject after the current tool execution."})}),async execute(b,c){try{return await a.steer(c.agent_id,c.message),{content:[{type:"text",text:`Steering message sent to ${c.agent_id}.`}],details:void 0}}catch(a){return{content:[{type:"text",text:a instanceof Error?a.message:String(a)}],details:void 0,isError:!0}}}}))}}}function m(a){let b=a.extensions.find(a=>a.path===o);if(!b?.tools.has("Agent"))return a;let c=new Set(a.extensions.filter(a=>a.path!==o).filter(a=>{let b=(a.sourceInfo?.source??"").replace(/^npm:/,"").split("@")[0],c=a.path.replaceAll("\\","/").split("/");return b===q||c.some(a=>a===q)}).filter(a=>[...p].some(b=>a.tools.has(b))).map(a=>a.path));return 0===c.size?a:{...a,extensions:a.extensions.filter(a=>!c.has(a.path)),errors:a.errors.filter(a=>!c.has(a.path)&&(a.path!==o||![...c].some(b=>[...p].some(c=>a.error===`Tool "${c}" conflicts with ${b}`))))}}d()}catch(a){d(a)}})},53303:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ds:()=>j,J1:()=>h,eD:()=>i});var e=c(75430),f=c(76760),g=a([e]);e=(g.then?(await g)():g)[0];let k="pi-web-project-command-environment",l=`<inline:${k}>`;function h(a={}){let{agentBinDir:b=(0,f.join)((0,e.getAgentDir)(),"bin"),baseEnvironment:c=process.env,localOperations:d=(0,e.createLocalBashOperations)({shellPath:a.shellPath}),platform:g=process.platform}=a;return{exec(a,e,f){var h;let i,j,k,l=(h=function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}(f.env??c,g),i="win32"===g?Object.keys(h).find(a=>"PATH"===a.toUpperCase())??"PATH":"PATH",j="win32"===g?";":":",(k=h[i]??"").split(j).filter(Boolean).includes(b)||(h[i]=[b,k].filter(Boolean).join(j)),h);return d.exec(a,e,{...f,env:l})}}}function i(a){return{name:k,hidden:!0,factory:b=>{let c=(0,e.createBashToolDefinition)(a.cwd);b.registerTool({...c,execute:(b,c,d,f,g)=>(0,e.createBashToolDefinition)(a.cwd,{commandPrefix:a.settings.getShellCommandPrefix(),operations:h({shellPath:a.settings.getShellPath()})}).execute(b,c,d,f,g)})}}}function j(a){let b=a.extensions.findIndex(a=>a.path===l);if(b<0)return a;let c=a.extensions.slice(0,b).find(a=>a.tools.has("bash"));return c?{...a,extensions:a.extensions.filter((a,c)=>c!==b),errors:a.errors.filter(a=>a.path!==l||a.error!==`Tool "bash" conflicts with ${c.path}`)}:a}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$Z:()=>K,A4:()=>J,Bp:()=>L,HG:()=>O,OF:()=>Q,Zo:()=>F,_I:()=>M,d_:()=>E,oA:()=>N,wW:()=>G,x8:()=>P});var e=c(75430),f=c(29862),g=c(55511),h=c(29021),i=c(33873),j=c(78970),k=c(28967),l=c(18904),m=c(53303),n=c(40402),o=c(72498),p=c(30590),q=c(92243),r=c(95412),s=c(71069),t=c(46753),u=c(7048),v=c(12568),w=c(27367),x=c(305),y=c(36899),z=c(21560),A=a([e,f,l,m,n,o,q,t,u,v,w,x]);[e,f,l,m,n,o,q,t,u,v,w,x]=A.then?(await A)():A;let R=new Set(["agent_end","agent_settled","auto_compaction_end","compaction_end"]),S=function(a=process.env.PI_WEB_IDLE_TIMEOUT_MS){if(void 0!==a&&""!==a.trim()){let b=Number(a);if(Number.isFinite(b)&&b>=0&&b<=0x7fffffff)return b;console.warn(`[pi-web] invalid PI_WEB_IDLE_TIMEOUT_MS "${a}", falling back to 10 minutes`)}return 6e5}(),T=new Set(["fork","clone"]),U=new Set(["get_state","get_session_stats","get_last_assistant_text","get_tools","get_commands","extension_ui_response","extension_ui_input"]),V=["read","bash","powershell","edit","write","grep","find","ls"],W=new Set(["off","minimal","low","medium","high","xhigh","max"]);class X extends e.Theme{constructor(){super({muted:"",text:"",thinkingXhigh:"",searchMatchText:""},{selectedBg:""},"truecolor")}fg(...[,a]){return a}bg(...[,a]){return a}bold(a){return a}italic(a){return a}underline(a){return a}inverse(a){return a}strikethrough(a){return a}getFgAnsi(){return""}getBgAnsi(){return""}getThinkingBorderColor(){return a=>a}getBashModeBorderColor(){return a=>a}}let Y=new X,Z=new f.KeybindingsManager(f.TUI_KEYBINDINGS);function B(a,b){if(0===b.length)return[];let c=new Set(V),d=(0,x.wQ)(b,a.settingsManager.getDefaultTools()),e=a.getAllTools().map(a=>a.name).filter(a=>!c.has(a));return[...new Set([...d,...e])]}class ${constructor(a,b={}){this.inner=a,this.listeners=[],this.activeToolEvents=new Map,this.pendingUiResponses=new Map,this.pendingUiRequests=new Map,this.activeCustomUis=new Map,this.extensionUiAbortController=new AbortController,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.activeExtensionWidgets=new Map,this.extensionWidgetGenerations=new Map,this.extensionWidgetsResetting=!1,this.pendingPromptCount=0,this.activeMutatingCommands=0,this.sessionReplacement=null,this.agentRunNeedsCompletion=!1,this.promptAdmissionTail=Promise.resolve(),this.extensionsBound=!1,this.extensionBindingPromise=null,this.extensionBindingError=null,this.unsubscribe=null,this.idleTimer=null,this.onDestroyCallback=null,this.shutdownPromise=null,this.sessionShutdownEmitted=!1,this.forceShutdownOnIdle=!1,this._alive=!0,this.exactSystemPrompt=b.exactSystemPrompt,this.chatOnly=b.chatOnly??!1,this.onAgentRunComplete=b.onAgentRunComplete,this.suppressCompletionNotifications=b.suppressCompletionNotifications??!1,this.installExactSystemPromptContinuation(),this.applyExactSystemPrompt()}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}get cwd(){return this.inner.sessionManager.getCwd()}get streamingMessage(){return this.inner.agent.state?.streamingMessage}get isStreaming(){return this.inner.isStreaming}isAlive(){return this._alive}isRunning(){return this._alive&&(this.pendingPromptCount>0||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)}isChatOnly(){return this.chatOnly}hasSuppressedCompletionNotifications(){return this.suppressCompletionNotifications}start(){this.unsubscribe=this.inner.subscribe(a=>{"agent_start"===a.type&&(this.agentRunNeedsCompletion=!0),"agent_end"===a.type&&(0,n.mD)();let b=a.toolCallId;"string"==typeof b&&("tool_execution_start"===a.type||"tool_execution_update"===a.type?this.activeToolEvents.set(b,a):"tool_execution_end"===a.type&&this.activeToolEvents.delete(b)),R.has(a.type)&&this.resetIdleTimer(),this.emit(a),"agent_settled"===a.type&&this.notifyAgentRunCompleteIfIdle()}),this.resetIdleTimer()}notifyAgentRunCompleteIfIdle(){if(!(!this.agentRunNeedsCompletion||this.isRunning())&&(this.agentRunNeedsCompletion=!1,!this.suppressCompletionNotifications))try{this.onAgentRunComplete?.(this.sessionId)}catch(a){console.error("[pi-web] completion listener failed:",a instanceof Error?a.message:a)}}beginExtensionBinding(){this.ensureExtensionsBound().catch(a=>{console.error("[pi-web] failed to dispatch session_start to extensions:",a instanceof Error?a.message:a)})}async waitUntilReady(){await this.waitForExtensionsBound()}ensureExtensionsBound(){return this.extensionsBound?(this.applyExactSystemPrompt(),Promise.resolve()):(this.extensionBindingPromise||(this.extensionBindingError=null,this.extensionBindingPromise=(async()=>{if(!this._alive)return;let a=this.createExtensionUiContext();if("function"==typeof this.inner.bindExtensions){let b=this.inner.bindExtensions;await b.call(this.inner,{uiContext:a,mode:"rpc",commandContextActions:this.createExtensionCommandContextActions(),shutdownHandler:()=>this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",notifyType:"warning",message:"Extension requested shutdown, but shutdown is not supported in AgentStudio."}),onError:a=>this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})})}else this.inner.extensionRunner.setUIContext?.(a,"rpc");this.extensionsBound=!0,this.applyExactSystemPrompt(),console.log(`[pi-web] session_start dispatched to extensions for session ${this.inner.sessionId}`)})().catch(a=>{throw this.extensionBindingError=a,a})),this.extensionBindingPromise)}async waitForExtensionsBound(){try{this.extensionBindingPromise&&await this.extensionBindingPromise}catch(a){throw a instanceof Error?a:Error(String(a))}if(this.extensionBindingError)throw this.extensionBindingError instanceof Error?this.extensionBindingError:Error(String(this.extensionBindingError))}shouldWaitForExtensions(a){return"prompt"===a||"steer"===a||"follow_up"===a||"get_commands"===a||"get_state"===a}async withFinalIdleReset(a){try{return await a()}finally{this.resetIdleTimer()}}applyExactSystemPrompt(){this.exactSystemPrompt&&this.inner.agent.state&&(this.inner.agent.state.systemPrompt=this.exactSystemPrompt())}installExactSystemPromptContinuation(){if(!this.exactSystemPrompt)return;let a=this.inner.agent.prepareNextTurnWithContext;this.inner.agent.prepareNextTurnWithContext=async(b,c)=>{let d=await a?.(b,c);return{...d,context:{...d?.context??b.context,systemPrompt:this.exactSystemPrompt()}}}}setActiveToolSelection(a){this.inner.setActiveToolsByName(B(this.inner,a)),this.applyExactSystemPrompt()}emit(a){for(let b of this.listeners)try{b(a)}catch(b){console.error(`[pi-web] failed to deliver ${a.type} event:`,b instanceof Error?b.message:b)}}async acquirePromptAdmission(){let a,b=this.promptAdmissionTail;return this.promptAdmissionTail=new Promise(b=>{a=b}),await b,a}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this._alive&&0!==S&&(this.isRunning()||(this.forceShutdownOnIdle=!1),this.idleTimer=setTimeout(()=>{!this.forceShutdownOnIdle&&(this.isRunning()||(0,r.Vj)({sessionId:this.sessionId,sessionFile:this.sessionFile||void 0}))?this.resetIdleTimer():this.shutdown().catch(a=>{console.error("[pi-web] failed to shut down idle session:",a instanceof Error?a.message:a)})},S))}persistBashOnlySession(){let a=this.inner.sessionManager,b=a.getSessionFile();if(!b||(0,h.existsSync)(b))return;let c=a.getHeader();if(!c)return;let d=[c,...a.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,h.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"}),a.flushed=!0,(0,n.O8)(this.inner.sessionId,b)}onEvent(a){for(let b of(this.listeners.push(a),this.pendingUiRequests.values()))a(b);for(let b of this.activeToolEvents.values())a(b);return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async withSessionReplacement(a,b){if(this.sessionReplacement)throw Error("Session is already being copied");this.sessionReplacement=a;try{return await b()}finally{this._alive&&(this.sessionReplacement=null)}}isSessionRunningForReplacement(){return this.inner.isBashRunning||this.inner.isStreaming||this.inner.isCompacting||this.pendingPromptCount>0}async shutdownAfterSessionReplacement(a){try{await this.shutdown()}catch(b){console.error(`[pi-web] ${a} succeeded, but source session shutdown failed:`,b instanceof Error?b.message:b)}}async send(a){let b=a.type,c=U.has(b);if(this.sessionReplacement&&!c)throw Error("Session is being copied to a new session");if(T.has(b)&&this.activeMutatingCommands>0)throw Error(`Cannot ${b} while another session command is running`);let d=!c;d&&(this.activeMutatingCommands+=1);try{if("get_state"!==b&&this.resetIdleTimer(),this.shouldWaitForExtensions(b)&&await this.waitForExtensionsBound(),this.sessionReplacement&&!c)throw Error("Session is being copied to a new session");if("prompt"===b||"steer"===b||"follow_up"===b){let b=(0,j.kc)(a.images);if(b)throw Error(b)}switch(b){case"prompt":{let b=await this.acquirePromptAdmission();try{let b,c,d;if(this.inner.isBashRunning)throw Error("Cannot send a prompt while a shell command is running");this.extensionUiAbortController.signal.aborted&&(this.extensionUiAbortController=new AbortController);let e=a.images,f=a.streamingBehavior,g=!1,h=!1,i=!1,j=new Promise((a,d)=>{b=()=>{g=!0,this.agentRunNeedsCompletion=!0,h||(h=!0,a())},c=a=>{h||(h=!0,d(a))}}),k=()=>{i||(i=!0,this.pendingPromptCount=Math.max(0,this.pendingPromptCount-1),this.resetIdleTimer(),this.notifyAgentRunCompleteIfIdle())};this.pendingPromptCount+=1;try{d=this.inner.prompt(a.message,{...e?.length?{images:e}:{},...f?{streamingBehavior:f}:{},source:"rpc",preflightResult:a=>{a&&(this.applyExactSystemPrompt(),b())}})}catch(a){throw k(),a}return d.then(()=>{b(),k(),f||this.emit({type:"prompt_done"})},a=>{c(a),k(),(0,n.mD)(),g&&(this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),f||this.emit({type:"prompt_done"}))}).catch(a=>{console.error("[pi-web] prompt completion handler failed:",a instanceof Error?a.message:a)}),await j,null}finally{b()}}case"abort":this.forceShutdownOnIdle=!0,this.extensionUiAbortController.abort(new DOMException("Extension UI cancelled by Stop","AbortError"));try{return await this.withFinalIdleReset(()=>this.inner.abort()),null}finally{this.isRunning()||(this.forceShutdownOnIdle=!1)}case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isPromptRunning:this.pendingPromptCount>0,isBashRunning:this.inner.isBashRunning,isCompacting:this.inner.isCompacting,autoCompactionEnabled:this.inner.autoCompactionEnabled,autoRetryEnabled:this.inner.autoRetryEnabled,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:this.inner.pendingMessageCount,queuedMessages:{steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]},contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:this.inner.agent.state?.systemPrompt??"",thinkingLevel:this.inner.agent.state?.thinkingLevel??"off",extensionStatuses:this.getExtensionStatuses(),extensionWidgets:this.getExtensionWidgets()}}case"set_model":{let{provider:b,modelId:c}=a,d=this.inner.modelRuntime.getModel(b,c);if(d||(await this.inner.modelRuntime.refresh({allowNetwork:!1}),d=this.inner.modelRuntime.getModel(b,c)),!d)throw Error(`Model not found: ${b}/${c}`);return await this.inner.setModel(d),(0,k.kn)(),(0,n.mD)(),{id:d.id,provider:d.provider}}case"fork":if(this.isSessionRunningForReplacement())throw Error("Cannot fork while the session is running");return this.withSessionReplacement("fork",async()=>{let b,c,d=a.entryId,f=this.inner.sessionManager,g=this.inner.sessionFile;if(!f.isPersisted())return{cancelled:!0};if(!g)throw Error("Persisted session is missing a session file");let i=f.getEntry(d);if(!i)throw Error("Invalid entry ID for forking");let j=f.getSessionDir();if(i.parentId){let a=(c=e.SessionManager.open(g,j)).createBranchedSession(i.parentId);if(!a)throw Error("Failed to create forked session");b=a}else b=(c=e.SessionManager.create(f.getCwd(),j,{parentSession:g})).getSessionFile();if(!(0,h.existsSync)(b)){let a=c.getHeader();if(!a)throw Error("Forked session is missing a session header");let d=[a,...c.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,h.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"})}let k=c.getSessionId();return(0,n.O8)(k,b),(0,n.mD)(),await this.shutdownAfterSessionReplacement("fork"),{cancelled:!1,newSessionId:k}});case"fork_branch":{if(this.isSessionRunningForReplacement())throw Error("Cannot fork while the session is running");let b=a.entryId,c=this.inner.sessionManager,d=this.inner.sessionFile;if(!c.isPersisted())return{cancelled:!0};if(!d)throw Error("Persisted session is missing a session file");if(!c.getEntry(b))throw Error("Invalid entry ID for forking");let f=c.getSessionDir(),g=e.SessionManager.open(d,f).createBranchedSession(b);if(!g)throw Error("Failed to create forked session");let h=e.SessionManager.open(g,f).getSessionId();return(0,n.O8)(h,g),(0,n.mD)(),{cancelled:!1,newSessionId:h}}case"clone":{if(this.isSessionRunningForReplacement())throw Error("Cannot clone while the session is running");let b=this.inner.sessionManager,c=this.inner.sessionFile,d="string"==typeof a.leafId?a.leafId:b.getLeafId(),f=d&&b.getBranch(d).some(a=>"message"===a.type&&"assistant"===a.message.role);if(!b.isPersisted()||!d||!f||!c||!(0,h.existsSync)(c))return{cancelled:!0};return this.withSessionReplacement("clone",async()=>{let a=b.getSessionDir(),f=e.SessionManager.open(c,a).createBranchedSession(d);if(!f||!(0,h.existsSync)(f))throw Error("Failed to clone current session branch");let g=e.SessionManager.open(f,a).getSessionId();return(0,n.O8)(g,f),(0,n.mD)(),await this.shutdownAfterSessionReplacement("clone"),{cancelled:!1,newSessionId:g}})}case"navigate_tree":if(this.inner.isBashRunning)throw Error("Cannot navigate while a shell command is running");return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),(0,n.mD)(),null}case"compact":try{return await this.withFinalIdleReset(()=>this.inner.compact(a.customInstructions))}finally{(0,n.mD)()}case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return this.inner.setSessionName(b),(0,n.mD)(),null}case"get_session_stats":return{...this.inner.getSessionStats(),sessionName:this.inner.sessionManager.getSessionName()};case"get_last_assistant_text":return{text:this.inner.getLastAssistantText()??""};case"set_auto_compaction":return this.inner.setAutoCompactionEnabled(a.enabled),null;case"clear_queue":return this.inner.clearQueue();case"steer":{let b=a.images;return await this.inner.steer(a.message,b?.length?b:void 0),null}case"follow_up":{let b=a.images;return await this.inner.followUp(a.message,b?.length?b:void 0),null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({...a,active:b.has(a.name)}))}case"get_commands":{let a=[];for(let b of this.inner.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of this.inner.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt",sourceInfo:b.sourceInfo});for(let b of this.inner.resourceLoader.getSkills().skills)a.push({name:`skill:${b.name}`,description:b.description,source:"skill",sourceInfo:b.sourceInfo});return{commands:a}}case"set_tools":{let b=a.toolNames;return this.setActiveToolSelection(b),null}case"reload":{this.extensionUiAbortController.signal.aborted&&(this.extensionUiAbortController=new AbortController);let a=this.inner.getActiveToolNames();return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.resetExtensionWidgetsForReload(),this.syncProjectTrust(),await this.inner.reload(),this.setActiveToolSelection(a),"function"!=typeof this.inner.bindExtensions&&this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc"),this.applyExactSystemPrompt(),(0,k.kn)(),{success:!0}}case"abort_compaction":return this.inner.abortCompaction(),null;case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"set_auto_retry":return this.inner.setAutoRetryEnabled(a.enabled),null;case"bash":{if(this.pendingPromptCount>0||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext,operations:(0,m.J1)({shellPath:this.inner.settingsManager.getShellPath()})});try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,n.mD)()}}case"abort_bash":return this.forceShutdownOnIdle=!0,this.inner.abortBash(),null;default:throw Error(`Unsupported command: ${b}`)}}finally{d&&(this.activeMutatingCommands=Math.max(0,this.activeMutatingCommands-1))}}destroy(){if(!this._alive)return;for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear(),this.activeToolEvents.clear(),this.clearExtensionWidgets(!1);let a=()=>{try{this.inner.dispose()}finally{this.onDestroyCallback?.()}};if(this.sessionShutdownEmitted)return void a();this.sessionShutdownEmitted=!0;let b=this.inner.extensionRunner?.emit;"function"!=typeof b?a():(async()=>b.call(this.inner.extensionRunner,{type:"session_shutdown",reason:"quit"}))().catch(a=>{console.error("[pi-web] session_shutdown before dispose failed:",a instanceof Error?a.message:a)}).finally(a)}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}this.sessionShutdownEmitted||(this.sessionShutdownEmitted=!0,await this.inner.extensionRunner.emit?.({type:"session_shutdown",reason:"quit"}))}finally{this.destroy()}})(),this.shutdownPromise):void 0}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}nextExtensionWidgetGeneration(a){let b=(this.extensionWidgetGenerations.get(a)??0)+1;return this.extensionWidgetGenerations.set(a,b),b}disposeExtensionWidgetComponent(a){if(!a||"object"!=typeof a&&"function"!=typeof a)return;let b=a.dispose;if("function"==typeof b)try{b.call(a)}catch{}}emitExtensionWidgetClear(a){this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:void 0,widgetPlacement:void 0})}clearExtensionWidget(a,b=!0){let c=this.nextExtensionWidgetGeneration(a),d=this.activeExtensionWidgets.get(a);return this.activeExtensionWidgets.delete(a),this.extensionWidgets.delete(a),d&&this.disposeExtensionWidgetComponent(d.component),this.extensionWidgetGenerations.get(a)!==c||b&&this.emitExtensionWidgetClear(a),c}clearExtensionWidgets(a){for(let b of new Set([...this.extensionWidgets.keys(),...this.activeExtensionWidgets.keys()]))this.clearExtensionWidget(b,a)}resetExtensionWidgetsForReload(){this.extensionWidgetsResetting=!0;try{for(let a of[...this.activeExtensionWidgets.keys()])this.clearExtensionWidget(a);this.extensionWidgets.clear()}finally{this.extensionWidgetsResetting=!1}}emitExtensionWidgetError(a,b){this.emit({type:"extension_error",extensionPath:`extension-widget:${a}`,event:"setWidget",error:b instanceof Error?b.message:String(b)})}failExtensionWidget(a,b,c,d,e){if(this.extensionWidgetGenerations.get(a)!==b)return void this.disposeExtensionWidgetComponent(e);let f=this.activeExtensionWidgets.get(a),g=!d;f?.generation===b?(g=f.rendered||!f.clearEmitted,this.activeExtensionWidgets.delete(a),this.disposeExtensionWidgetComponent(f.component)):this.disposeExtensionWidgetComponent(e),this.extensionWidgetGenerations.get(a)!==b||(this.extensionWidgets.delete(a),g&&this.emitExtensionWidgetClear(a)),this.emitExtensionWidgetError(a,c)}renderExtensionWidget(a){let b;if(this.activeExtensionWidgets.get(a.key)!==a||this.extensionWidgetGenerations.get(a.key)!==a.generation)return;try{b=a.component.render(s.p1)}catch(b){this.failExtensionWidget(a.key,a.generation,b,a.clearEmitted);return}if(!Array.isArray(b)||!b.every(a=>"string"==typeof a))return void this.failExtensionWidget(a.key,a.generation,Error("Extension widget render must return string[]"),a.clearEmitted);if(this.activeExtensionWidgets.get(a.key)!==a||this.extensionWidgetGenerations.get(a.key)!==a.generation)return;let c=b;this.extensionWidgets.set(a.key,{key:a.key,lines:c,placement:a.placement}),a.rendered=!0,this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a.key,widgetLines:c,widgetPlacement:a.placement})}setExtensionWidgetFactory(a,b,c){let d,e=this.extensionWidgets.has(a)||this.activeExtensionWidgets.has(a),f=this.clearExtensionWidget(a,e);if(this.extensionWidgetGenerations.get(a)!==f)return;let g=(0,s.TQ)(()=>{let b=this.activeExtensionWidgets.get(a);b?.generation===f&&this.renderExtensionWidget(b)},s.p1);try{d=b(g,Y)}catch(b){this.failExtensionWidget(a,f,b,e);return}if(this.extensionWidgetGenerations.get(a)!==f)return void this.disposeExtensionWidgetComponent(d);if(!d||"object"!=typeof d&&"function"!=typeof d||"function"!=typeof d.render)return void this.failExtensionWidget(a,f,Error("Extension widget factory must return a component with render(width)"),e,d);let h={key:a,component:d,placement:c?.placement??"aboveEditor",generation:f,clearEmitted:e,rendered:!1};this.activeExtensionWidgets.set(a,h),this.renderExtensionWidget(h)}getCustomUiWidth(a){if(!a||"object"!=typeof a)return s.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return s.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):92}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){let c=this.activeCustomUis.get(a);if(c&&"string"==typeof b)try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=this.extensionUiAbortController.signal;if(c.aborted)return Promise.reject(c.reason);let d=(0,g.randomUUID)(),e=this.getCustomUiWidth(b);return new Promise((b,f)=>{let g=!1,h=(0,s.TQ)(()=>{let a=this.activeCustomUis.get(d);a&&this.emitCustomUiRender(d,a)},e),i=a=>{g||(g=!0,c.removeEventListener("abort",k),c.aborted?f(c.reason):b(a))},j=a=>{this.activeCustomUis.has(d)?this.closeCustomUi(d,a):i(a)},k=()=>j(void 0);c.addEventListener("abort",k,{once:!0}),Promise.resolve().then(()=>g?void 0:a(h,Y,Z,j)).then(a=>{if(g){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void i(void 0);let b={component:a,width:e,resolve:a=>i(a),settled:!1};this.activeCustomUis.set(d,b),this.emitCustomUiRender(d,b)}).catch(a=>{g||(this.emit({type:"extension_error",extensionPath:`custom-ui:${d}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),i(void 0))})})}requestExtensionUi(a,b,c,d,e){if(e?.aborted)return Promise.resolve(b);let f=this.extensionUiAbortController.signal;if(f.aborted)return Promise.reject(f.reason);let h=e?AbortSignal.any([e,f]):f,i=(0,g.randomUUID)(),j={type:"extension_ui_request",id:i,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}};return new Promise((a,e)=>{let g,k=!1,l=()=>{g&&clearTimeout(g),h.removeEventListener("abort",n),this.pendingUiRequests.delete(i),this.pendingUiResponses.delete(i),this.emit({type:"extension_ui_closed",id:i})},m=b=>{k||(k=!0,l(),f.aborted?e(f.reason):a(b))},n=()=>m(b);d&&(g=setTimeout(()=>m(b),d)),h.addEventListener("abort",n,{once:!0}),this.pendingUiRequests.set(i,j),this.pendingUiResponses.set(i,{resolve:a=>m(c(a)),cancel:()=>m(b)}),this.emit(j)})}createExtensionUiContext(){return{select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{if(!this._alive||this.extensionWidgetsResetting)return;if("function"==typeof b)return void this.setExtensionWidgetFactory(a,b,c);if(void 0!==b&&!Array.isArray(b))return;if(void 0===b)return void this.clearExtensionWidget(a);let d=this.activeExtensionWidgets.has(a)?this.clearExtensionWidget(a):this.nextExtensionWidgetGeneration(a);this.extensionWidgetGenerations.get(a)===d&&(this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return Y},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in AgentStudio extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}createExtensionCommandContextActions(){return{waitForIdle:async()=>{let a=this.inner.agent;await a.waitForIdle?.()},newSession:async()=>({cancelled:!0}),fork:async()=>({cancelled:!0}),navigateTree:async(a,b)=>({cancelled:(await this.inner.navigateTree(a,{summarize:b?.summarize})).cancelled}),switchSession:async()=>({cancelled:!0}),reload:async()=>{this.extensionStatuses.clear(),this.resetExtensionWidgetsForReload(),this.syncProjectTrust(),await this.inner.reload({beforeSessionStart:()=>{this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc")}}),this.applyExactSystemPrompt()}}}syncProjectTrust(){let a=(0,o.Y1)(this.cwd,(0,e.getAgentDir)());this.inner.settingsManager.setProjectTrusted(a.trusted)}}function C(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>{let a=Array.from(globalThis.__piSessions?.values()??[]);Promise.allSettled(a.map(a=>a.shutdown()))};process.once("exit",()=>globalThis.__piSessions?.forEach(a=>a.destroy())),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function D(a){let b=C(),c=a.sessionId;a.sessionFile&&(0,n.O8)(c,a.sessionFile),a.onDestroy(()=>b.delete(c)),b.set(c,a),a.start(),a.isChatOnly()||a.beginExtensionBinding()}let _=(0,v.s)({getSession:a=>C().get(a),registerSession:(a,b)=>{let c=new $(a,{...b?.exactSystemPrompt!==void 0?{exactSystemPrompt:()=>b.exactSystemPrompt}:{},chatOnly:b?.chatOnly,suppressCompletionNotifications:!0});D(c)},reopenSession:async(a,b)=>(await Q(a,b,void 0)).session,resolveSessionPath:n.os,invalidateSessionList:n.mD,isBuiltInSubagentsEnabled:w.N});function E(a){return _.get(a)}function F(a,b){return _.steer(a,b)}function G(a){return _.abort(a)}function H(a){let b=(0,i.resolve)(a);try{return(0,h.realpathSync)(b)}catch{return b}}function I(){return globalThis.__piStartingSessionCwds||(globalThis.__piStartingSessionCwds=new Map),globalThis.__piStartingSessionCwds}function J(a){return C().get(a)}async function K(a,b,c){let d=(0,z.vw)(c),f=J(a);if(!f?.isAlive()){if(!b)throw Error("Session not found");let c=e.SessionManager.open(b,void 0);if((0,u.ph)(c.getEntries()))throw Error("Subagent tool selection is fixed by its profile");(0,z.b5)(c,d),(0,n.mD)();let f=await Q(a,b,void 0);return{session:f.session,sessionId:f.realSessionId,recreated:!1}}if(f.isRunning())throw Error("Cannot change tools while the session is running");if((0,u.ph)(f.inner.sessionManager.getEntries()))throw Error("Subagent tool selection is fixed by its profile");let i="function"!=typeof f.isChatOnly||"function"!=typeof f.setActiveToolSelection||f.isChatOnly()!==(0===d.length);if((0,z.b5)(f.inner.sessionManager,d),(0,n.mD)(),!i)return f.setActiveToolSelection(d),{session:f,sessionId:a,recreated:!1};let j=f.sessionFile&&(0,h.existsSync)(f.sessionFile)?f.sessionFile:void 0,k=f.cwd,l=f.inner.model,m=f.inner.agent.state?.thinkingLevel;if(await f.shutdown(),j){let b=await Q(a,j,void 0);return{session:b.session,sessionId:b.realSessionId,recreated:!0}}let o=await Q(`__recreate__${(0,g.randomUUID)()}`,"",k,{toolNames:d,...l?{initialModel:{provider:l.provider,modelId:l.id}}:{},allowInitialModelFallback:!0,...m&&W.has(m)?{thinkingLevel:m}:{}});return{session:o.session,sessionId:o.realSessionId,recreated:!0}}function L(a={}){let b=[];for(let c of C().values()){if("function"!=typeof c.isAlive||!c.isAlive())continue;let d=c.inner?.sessionManager;if(!d)continue;let e=d.getHeader(),f=d.getEntries(),g=f.filter(a=>"message"===a.type),i=g.find(a=>"user"===a.message.role),j=d.getSessionFile()??c.sessionFile,k=!!(j&&(0,h.existsSync)(j)),l=(0,u.$u)(f,e?.id??c.sessionId,j??"");if(!k&&!a.includeTransient&&(!c.isRunning()||!i))continue;let m=e?.timestamp??f[0]?.timestamp??new Date().toISOString(),n=new Date(m).getTime(),o=Number.isNaN(n)?Date.now():n;for(let a of g){let b=function(a){if("user"!==a.message.role&&"assistant"!==a.message.role)return;if("number"==typeof a.message.timestamp)return a.message.timestamp;let b=new Date(a.timestamp).getTime();return Number.isNaN(b)?void 0:b}(a);void 0!==b&&(o=Math.max(o,b))}b.push({path:j??"",id:e?.id??c.sessionId,cwd:e?.cwd??c.cwd,name:d.getSessionName(),created:m,modified:new Date(o).toISOString(),messageCount:g.length,firstMessage:i&&function(a){if("bashExecution"===a.message.role)return"";let b=a.message.content;return"string"==typeof b?b:b.map(a=>"text"===a.type?a.text:"").filter(Boolean).join(" ")}(i)||"(no messages)",...l?{parentSessionId:l.parentSessionId,relation:{kind:"subagent",parentSessionId:l.parentSessionId,profile:l.profile,description:l.description,status:c.isRunning()?"running":l.status}}:{},transient:!k})}return b}function M(a){let b=H(a);return!!I().has(b)||Array.from(C().values()).some(a=>H(a.cwd)===b&&a.isRunning())}async function N(a){let b=H(a),c=Array.from(C().values()).filter(a=>H(a.cwd)===b);return await Promise.all(c.map(a=>a.shutdown())),c.length}function O(){let a=new Set;for(let[b,c]of C())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function P(){let a=new Set;for(let[b,c]of C())c.isRunning()&&c.hasSuppressedCompletionNotifications()&&a.add(c.sessionId||b);return[...a]}async function Q(a,b,c,d={}){let f,g,h,{initialModel:i,allowInitialModelFallback:j,thinkingLevel:r}=d,s=void 0===d.toolNames?void 0:(0,z.vw)(d.toolNames),v=C(),x=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),A=v.get(a);if(A?.isAlive())return{session:A,realSessionId:a};let E=x.get(a);if(E)return E;if(b)f=e.SessionManager.open(b,void 0);else{if(!c)throw Error("cwd is required for a new session");f=e.SessionManager.create(c,void 0)}let F=f.getCwd(),G=b?(0,u.ph)(f.getEntries()):null,J=G?void 0:(0,z.dS)(f.getEntries()),K=G?.tools??J??s;G||void 0!==J||void 0===s||(0,z.b5)(f,s);let L=!!(G?.loadExtensions||G?.loadSkills),M=K?.length===0&&!L,N=(g=I(),h=H(F),g.set(h,(g.get(h)??0)+1),()=>{let a=(g.get(h)??1)-1;a>0?g.set(h,a):g.delete(h)}),O=(async()=>{M||(0,e.initTheme)();let a=(0,e.getAgentDir)(),b=G?.tools;G||void 0===K||(b=0===K.length?[]:void 0);let c=G?L?(0,o.Fk)(F,a):void 0:M?void 0:(0,o.Fk)(F,a),d=e.SettingsManager.create(F,a),g=await (0,e.createAgentSessionServices)({cwd:F,agentDir:a,settingsManager:d,resourceLoaderOptions:G?{noExtensions:!G.loadExtensions,noSkills:!G.loadSkills,noPromptTemplates:!0,noThemes:!0,noContextFiles:!0,...M?{systemPrompt:" ",systemPromptOverride:()=>void 0}:{},appendSystemPrompt:G.appendSystemPrompt}:M?y.M:{extensionFactories:[(0,m.eD)({cwd:F,settings:d}),(0,t.Vj)(_.extensionRuntime,()=>(0,u.IR)(F),w.N)],extensionsOverride:a=>(0,m.Ds)((0,t.U6)(a))},...c?{resourceLoaderReloadOptions:c}:{}}),h=await (0,l.p)(g.modelRuntime,g.settingsManager.getEnabledModels()),s=i&&(!j||h.visible.some(a=>a.provider===i.provider&&a.id===i.modelId))?i:void 0,v=g.settingsManager.getDefaultProvider(),x=g.settingsManager.getDefaultModel(),z=f.getBranch(),A=z.some(a=>"message"===a.type),C=A?(0,n.Vg)(z):null,E=C?g.modelRuntime.getModel(C.provider,C.modelId):void 0,H=A?null:(0,l.I)(h,{...s?{requestedModel:s}:{},...v&&x?{defaultModel:{provider:v,modelId:x}}:{},...r?{thinkingLevel:r}:{}}),I=E&&g.modelRuntime.hasConfiguredAuth(E.provider)?E:H?.model,{session:J}=await (0,e.createAgentSessionFromServices)({services:g,sessionManager:f,...I?{model:I}:{},...H?.thinkingLevel?{thinkingLevel:H.thinkingLevel}:{},...h.scopedModels.length>0?{scopedModels:[...h.scopedModels]}:{},...void 0!==b?{tools:b}:{},...G?{excludeTools:[...u.st]}:{}});(await (0,p.o)(g.settingsManager,{...s?{model:s}:{},...r?{thinkingLevel:r}:{}},{...J.model?{model:{provider:J.model.provider,modelId:J.model.id}}:{},thinkingLevel:J.thinkingLevel,supportsThinking:J.supportsThinking()})).modelDefaultChanged&&(0,k.kn)(),G||M||J.setActiveToolsByName(B(J,K??J.getActiveToolNames()));let N=G?.exactSystemPrompt!==void 0?()=>G.exactSystemPrompt:M?G?()=>G.appendSystemPrompt[0]??"":()=>(0,y.c)(J.resourceLoader.getAgentsFiles().agentsFiles):void 0,O=new $(J,{exactSystemPrompt:N,chatOnly:M,onAgentRunComplete:a=>{(0,q.lB)(a).catch(a=>{console.error("[pi-web] failed to send completion push:",a instanceof Error?a.message:a)})},suppressCompletionNotifications:!!G}),P=J.sessionId;return D(O),{session:O,realSessionId:P}})().finally(()=>{x.delete(a),N()});return x.set(a,O),O}d()}catch(a){d(a)}})},71069:(a,b,c)=>{c.d(b,{TQ:()=>e,p1:()=>d});let d=92;function e(a,b=d,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){if(!(a&&(0,e.hasTrustRequiringProjectResources)(a)))return{requiresTrust:!1,trusted:!0};let c=new e.ProjectTrustStore(b);return{requiresTrust:!0,trusted:!0===c.get(a)}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},78970:(a,b,c)=>{c.d(b,{kc:()=>d});function d(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}},95412:(a,b,c)=>{function d(a,b){if("string"!=typeof a||0===a.trim().length)throw Error(`Session liveness provider ${b} must be a non-empty string`)}c.d(b,{Vj:()=>j,mb:()=>h,u4:()=>i});let e=function(){let a,b=globalThis,c=Symbol.for("@agegr/pi-web/session-liveness/v1"),e=b[c];if(e&&"object"==typeof e&&1===e.version&&"function"==typeof e.register&&"function"==typeof e.hasActiveProvider)return e;let f=(a=new Map,{version:1,register(b){if(!b||"object"!=typeof b)throw Error("Session liveness provider must be an object");if(d(b.name,"name"),d(b.sessionId,"sessionId"),void 0!==b.sessionFile&&d(b.sessionFile,"sessionFile"),"function"!=typeof b.isActive)throw Error("Session liveness provider isActive must be a function");let c=Symbol(b.name);a.set(c,b);let e=!1;return()=>{e||(e=!0,a.delete(c))}},hasActiveProvider(b){let c=new Set([b.sessionId,b.sessionFile].filter(a=>!!a));for(let b of a.values())if(c.has(b.sessionId)||b.sessionFile&&c.has(b.sessionFile))try{let a=b.isActive();if("boolean"!=typeof a)throw Error("isActive() must return a boolean");if(a)return!0}catch(a){return console.error(`[pi-web] Session liveness provider '${b.name}' failed; preserving the session:`,a),!0}return!1}});return b[c]=f,f}();function f(){let a=globalThis,b=Symbol.for("@agegr/pi-web/session-liveness-leases/v1"),c=a[b];if(c instanceof Map)return c;let d=new Map;return a[b]=d,d}function g(a){a.timer&&clearTimeout(a.timer),a.timer=setTimeout(()=>{!a.released&&a.expiresAt<=Date.now()?a.release():a.released||g(a)},Math.max(1,a.expiresAt-Date.now()));let b=a.timer.unref;b?.call(a.timer)}function h(a){var b;let c=f(),d=(b={name:"pi-web-selected-session",sessionId:a,isActive:()=>!h.released&&h.expiresAt>Date.now()},e.register(b)),h={sessionId:a,expiresAt:Date.now()+9e4,released:!1,timer:null,renew:()=>{h.released||(h.expiresAt=Date.now()+9e4,g(h))},release:()=>{if(h.released)return;h.released=!0,h.timer&&clearTimeout(h.timer),d();let b=c.get(a);b?.delete(h),b?.size===0&&c.delete(a)}},i=c.get(a)??new Set;return i.add(h),c.set(a,i),g(h),h}function i(a){let b=f().get(a);if(!b)return 0;let c=0;for(let a of[...b]){if(a.released||a.expiresAt<=Date.now()){a.release();continue}a.renew(),c+=1}return c}function j(a){return e.hasActiveProvider(a)}},99324:(a,b,c)=>{c.d(b,{Wv:()=>h,jN:()=>j,vH:()=>i});var d=c(29021),e=c(33873),f=c(82536),g=c(58864);let h=8;function i(a,b){if(b.length>h)throw Error(`Agent input_files accepts at most ${h} files`);let c=(0,d.realpathSync)(a),i=new Set([c]),j=new TextDecoder("utf-8",{fatal:!0}),k=new Set,l=[],m=0;for(let h of b){let b,n;if(!h.trim())throw Error("Agent input_files paths must not be empty");try{b=(0,d.realpathSync)((0,e.resolve)(a,h))}catch{throw Error(`Agent input file does not exist: ${h}`)}if(!(0,f.o)(b,i))throw Error(`Agent input file is outside the session cwd: ${h}`);if(!(0,d.statSync)(b).isFile())throw Error(`Agent input path is not a file: ${h}`);if(k.has(b))continue;k.add(b);let o=(0,d.readFileSync)(b);if((m+=o.byteLength)>524288)throw Error("Agent input_files exceeds the 524288-byte total limit");try{n=j.decode(o)}catch{throw Error(`Agent input file is not valid UTF-8 text: ${h}`)}l.push({path:(0,g.W3)((0,e.relative)(c,b)),content:n})}return l}function j(a,b){if(0===b.length)return a;let c=b.map(a=>`<document path=${JSON.stringify(a.path)}>
9
+ ${a.content}
10
+ </document>`).join("\n\n");return`${a}
11
+
12
+ <documents>
13
+ ${c}
14
+ </documents>`}}};