@henlii/pidance 0.2.37 → 0.2.40

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 (334) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +12 -9
  3. package/.next/build-manifest.json +6 -6
  4. package/.next/prerender-manifest.json +18 -3
  5. package/.next/required-server-files.json +29 -9
  6. package/.next/routes-manifest.json +20 -0
  7. package/.next/server/app/_global-error/page.js +2 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.meta +16 -5
  11. package/.next/server/app/_global-error.rsc +3 -3
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +16 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +1 -2
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.meta +16 -5
  19. package/.next/server/app/_not-found.rsc +7 -7
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +7 -7
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +20 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/about/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  25. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  26. package/.next/server/app/api/agent/[id]/route.js +1 -1
  27. package/.next/server/app/api/agent/new/route.js +1 -1
  28. package/.next/server/app/api/agent/running/events/route.js +2 -2
  29. package/.next/server/app/api/agent/running/route.js +1 -1
  30. package/.next/server/app/api/agent/submissions/[submissionId]/route.js +1 -1
  31. package/.next/server/app/api/agent-settings/route.js +2 -2
  32. package/.next/server/app/api/attachments/route.js +1 -1
  33. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  34. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  35. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  36. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  37. package/.next/server/app/api/auth/providers/route.js +1 -1
  38. package/.next/server/app/api/auth/ui-session/route.js +1 -1
  39. package/.next/server/app/api/auth/ui-sessions/[id]/route.js +1 -1
  40. package/.next/server/app/api/auth/ui-sessions/route.js +1 -1
  41. package/.next/server/app/api/cwd/browse/route.js +1 -1
  42. package/.next/server/app/api/cwd/create/route.js +1 -1
  43. package/.next/server/app/api/cwd/validate/route.js +1 -1
  44. package/.next/server/app/api/default-cwd/route.js +1 -1
  45. package/.next/server/app/api/file-index/route.js +1 -1
  46. package/.next/server/app/api/files/[...path]/route.js +3 -3
  47. package/.next/server/app/api/files/save-as/route.js +1 -1
  48. package/.next/server/app/api/git/diff/route.js +1 -1
  49. package/.next/server/app/api/git/status/route.js +1 -1
  50. package/.next/server/app/api/home/route.js +1 -1
  51. package/.next/server/app/api/message-media/route.js +1 -1
  52. package/.next/server/app/api/models/enabled/route.js +1 -0
  53. package/.next/server/app/api/models/enabled/route_client-reference-manifest.js +1 -0
  54. package/.next/server/app/api/models/refresh/route.js +1 -0
  55. package/.next/server/app/api/models/refresh/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/models/route.js +1 -1
  57. package/.next/server/app/api/models-config/raw/route.js +1 -1
  58. package/.next/server/app/api/models-config/route.js +1 -1
  59. package/.next/server/app/api/models-config/test/route.js +1 -1
  60. package/.next/server/app/api/plugins/route.js +1 -1
  61. package/.next/server/app/api/plugins/search/route.js +1 -1
  62. package/.next/server/app/api/plugins/updates/route.js +2 -1
  63. package/.next/server/app/api/preferences/route.js +1 -1
  64. package/.next/server/app/api/project-assets/route.js +2 -2
  65. package/.next/server/app/api/prompts/route.js +1 -1
  66. package/.next/server/app/api/pty/route.js +4 -3
  67. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/command-entry/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  71. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  72. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  73. package/.next/server/app/api/sessions/[id]/info/route.js +1 -1
  74. package/.next/server/app/api/sessions/[id]/lock/route.js +1 -0
  75. package/.next/server/app/api/sessions/[id]/lock/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/sessions/[id]/outline/route.js +1 -1
  77. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/tool-results/[toolCallId]/route.js +1 -1
  80. package/.next/server/app/api/sessions/route.js +1 -1
  81. package/.next/server/app/api/sessions/search/route.js +1 -1
  82. package/.next/server/app/api/settings/raw/route.js +2 -2
  83. package/.next/server/app/api/settings/remote/route.js +1 -1
  84. package/.next/server/app/api/skills/check/route.js +1 -1
  85. package/.next/server/app/api/skills/install/route.js +1 -1
  86. package/.next/server/app/api/skills/route.js +2 -2
  87. package/.next/server/app/api/skills/search/route.js +1 -1
  88. package/.next/server/app/api/skills/update/route.js +1 -1
  89. package/.next/server/app/api/subagent-runs/route.js +1 -1
  90. package/.next/server/app/api/update/apply/route.js +2 -2
  91. package/.next/server/app/api/update/check/route.js +1 -1
  92. package/.next/server/app/icon.png/route.js +1 -1
  93. package/.next/server/app/index.html +1 -1
  94. package/.next/server/app/index.meta +11 -4
  95. package/.next/server/app/index.rsc +5 -5
  96. package/.next/server/app/index.segments/__PAGE__.segment.rsc +19 -3
  97. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  98. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  99. package/.next/server/app/page.js +13 -14
  100. package/.next/server/app/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app-paths-manifest.json +12 -9
  102. package/.next/server/chunks/1069.js +1 -1
  103. package/.next/server/chunks/1207.js +2 -2
  104. package/.next/server/chunks/1813.js +1 -1
  105. package/.next/server/chunks/2325.js +2 -2
  106. package/.next/server/chunks/2430.js +193 -0
  107. package/.next/server/chunks/329.js +1 -1
  108. package/.next/server/chunks/3379.js +1 -1
  109. package/.next/server/chunks/3557.js +1 -1
  110. package/.next/server/chunks/3908.js +1 -0
  111. package/.next/server/chunks/3960.js +1 -1
  112. package/.next/server/chunks/4127.js +1 -1
  113. package/.next/server/chunks/42.js +1 -0
  114. package/.next/server/chunks/4367.js +1 -1
  115. package/.next/server/chunks/4511.js +1 -0
  116. package/.next/server/chunks/4674.js +1 -1
  117. package/.next/server/chunks/4741.js +152 -7
  118. package/.next/server/chunks/4980.js +1 -1
  119. package/.next/server/chunks/5274.js +1 -1
  120. package/.next/server/chunks/5277.js +1 -1
  121. package/.next/server/chunks/5304.js +2 -2
  122. package/.next/server/chunks/5318.js +1 -1
  123. package/.next/server/chunks/5420.js +1 -0
  124. package/.next/server/chunks/5726.js +1 -1
  125. package/.next/server/chunks/7307.js +1 -1
  126. package/.next/server/chunks/7594.js +11 -11
  127. package/.next/server/chunks/7818.js +1 -0
  128. package/.next/server/chunks/8443.js +1 -0
  129. package/.next/server/chunks/8645.js +1 -1
  130. package/.next/server/chunks/9032.js +1 -0
  131. package/.next/server/chunks/9280.js +3 -3
  132. package/.next/server/chunks/940.js +1 -1
  133. package/.next/server/chunks/9460.js +2 -0
  134. package/.next/server/chunks/981.js +1 -1
  135. package/.next/server/instrumentation.js +1 -1
  136. package/.next/server/middleware-build-manifest.js +1 -1
  137. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  138. package/.next/server/middleware.js +151 -6
  139. package/.next/server/pages/404.html +1 -1
  140. package/.next/server/pages/500.html +1 -1
  141. package/.next/server/prefetch-hints.json +39 -1
  142. package/.next/server/server-reference-manifest.json +1 -1
  143. package/.next/static/chunks/{1377.e883e13864574c26.js → 1377.540f9477711dcf8f.js} +1 -1
  144. package/.next/static/chunks/{3308.23eadd1744bb967c.js → 3308.c0a1a01bfd826d65.js} +2 -2
  145. package/.next/static/chunks/{370.57cfa27da8567918.js → 370.8e8f3cf8eb0e29dd.js} +1 -1
  146. package/.next/static/chunks/3794-0a1186eb85c3950f.js +52 -0
  147. package/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
  148. package/.next/static/chunks/6121.eb9023b1cbc78ee2.js +1 -0
  149. package/.next/static/chunks/{5519-9fb47277a49697d8.js → 7444-80a846a8795bf6f4.js} +1 -1
  150. package/.next/static/chunks/{776.fe8e64ab3669a915.js → 776.4d418d68f76336c7.js} +1 -1
  151. package/.next/static/chunks/{8233.a465d18b04719c6d.js → 8233.e3b47a59bd72a3b3.js} +1 -1
  152. package/.next/static/chunks/{90542734.b75ad0df50bf68f5.js → 90542734.ae439f2382f58c51.js} +1 -1
  153. package/.next/static/chunks/9780-3879ff424362f71a.js +1 -0
  154. package/.next/static/chunks/app/_global-error/page-8f70dda1817cd20c.js +1 -0
  155. package/.next/static/chunks/app/api/about/route-8f70dda1817cd20c.js +1 -0
  156. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-8f70dda1817cd20c.js +1 -0
  157. package/.next/static/chunks/app/api/agent/[id]/events/route-8f70dda1817cd20c.js +1 -0
  158. package/.next/static/chunks/app/api/agent/[id]/route-8f70dda1817cd20c.js +1 -0
  159. package/.next/static/chunks/app/api/agent/new/route-8f70dda1817cd20c.js +1 -0
  160. package/.next/static/chunks/app/api/agent/running/events/route-8f70dda1817cd20c.js +1 -0
  161. package/.next/static/chunks/app/api/agent/running/route-8f70dda1817cd20c.js +1 -0
  162. package/.next/static/chunks/app/api/agent/submissions/[submissionId]/route-8f70dda1817cd20c.js +1 -0
  163. package/.next/static/chunks/app/api/agent-settings/route-8f70dda1817cd20c.js +1 -0
  164. package/.next/static/chunks/app/api/attachments/route-8f70dda1817cd20c.js +1 -0
  165. package/.next/static/chunks/app/api/auth/all-providers/route-8f70dda1817cd20c.js +1 -0
  166. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-8f70dda1817cd20c.js +1 -0
  167. package/.next/static/chunks/app/api/auth/login/[provider]/route-8f70dda1817cd20c.js +1 -0
  168. package/.next/static/chunks/app/api/auth/logout/[provider]/route-8f70dda1817cd20c.js +1 -0
  169. package/.next/static/chunks/app/api/auth/providers/route-8f70dda1817cd20c.js +1 -0
  170. package/.next/static/chunks/app/api/auth/ui-session/route-8f70dda1817cd20c.js +1 -0
  171. package/.next/static/chunks/app/api/auth/ui-sessions/[id]/route-8f70dda1817cd20c.js +1 -0
  172. package/.next/static/chunks/app/api/auth/ui-sessions/route-8f70dda1817cd20c.js +1 -0
  173. package/.next/static/chunks/app/api/cwd/browse/route-8f70dda1817cd20c.js +1 -0
  174. package/.next/static/chunks/app/api/cwd/create/route-8f70dda1817cd20c.js +1 -0
  175. package/.next/static/chunks/app/api/cwd/validate/route-8f70dda1817cd20c.js +1 -0
  176. package/.next/static/chunks/app/api/default-cwd/route-8f70dda1817cd20c.js +1 -0
  177. package/.next/static/chunks/app/api/file-index/route-8f70dda1817cd20c.js +1 -0
  178. package/.next/static/chunks/app/api/files/[...path]/route-8f70dda1817cd20c.js +1 -0
  179. package/.next/static/chunks/app/api/files/save-as/route-8f70dda1817cd20c.js +1 -0
  180. package/.next/static/chunks/app/api/git/diff/route-8f70dda1817cd20c.js +1 -0
  181. package/.next/static/chunks/app/api/git/status/route-8f70dda1817cd20c.js +1 -0
  182. package/.next/static/chunks/app/api/home/route-8f70dda1817cd20c.js +1 -0
  183. package/.next/static/chunks/app/api/message-media/route-8f70dda1817cd20c.js +1 -0
  184. package/.next/static/chunks/app/api/models/enabled/route-8f70dda1817cd20c.js +1 -0
  185. package/.next/static/chunks/app/api/models/refresh/route-8f70dda1817cd20c.js +1 -0
  186. package/.next/static/chunks/app/api/models/route-8f70dda1817cd20c.js +1 -0
  187. package/.next/static/chunks/app/api/models-config/raw/route-8f70dda1817cd20c.js +1 -0
  188. package/.next/static/chunks/app/api/models-config/route-8f70dda1817cd20c.js +1 -0
  189. package/.next/static/chunks/app/api/models-config/test/route-8f70dda1817cd20c.js +1 -0
  190. package/.next/static/chunks/app/api/plugins/route-8f70dda1817cd20c.js +1 -0
  191. package/.next/static/chunks/app/api/plugins/search/route-8f70dda1817cd20c.js +1 -0
  192. package/.next/static/chunks/app/api/plugins/updates/route-8f70dda1817cd20c.js +1 -0
  193. package/.next/static/chunks/app/api/preferences/route-8f70dda1817cd20c.js +1 -0
  194. package/.next/static/chunks/app/api/project-assets/route-8f70dda1817cd20c.js +1 -0
  195. package/.next/static/chunks/app/api/prompts/route-8f70dda1817cd20c.js +1 -0
  196. package/.next/static/chunks/app/api/pty/route-8f70dda1817cd20c.js +1 -0
  197. package/.next/static/chunks/app/api/sessions/[id]/archive/route-8f70dda1817cd20c.js +1 -0
  198. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-8f70dda1817cd20c.js +1 -0
  199. package/.next/static/chunks/app/api/sessions/[id]/command-entry/route-8f70dda1817cd20c.js +1 -0
  200. package/.next/static/chunks/app/api/sessions/[id]/context/route-8f70dda1817cd20c.js +1 -0
  201. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-8f70dda1817cd20c.js +1 -0
  202. package/.next/static/chunks/app/api/sessions/[id]/export/route-8f70dda1817cd20c.js +1 -0
  203. package/.next/static/chunks/app/api/sessions/[id]/info/route-8f70dda1817cd20c.js +1 -0
  204. package/.next/static/chunks/app/api/sessions/[id]/lock/route-8f70dda1817cd20c.js +1 -0
  205. package/.next/static/chunks/app/api/sessions/[id]/outline/route-8f70dda1817cd20c.js +1 -0
  206. package/.next/static/chunks/app/api/sessions/[id]/route-8f70dda1817cd20c.js +1 -0
  207. package/.next/static/chunks/app/api/sessions/[id]/state/route-8f70dda1817cd20c.js +1 -0
  208. package/.next/static/chunks/app/api/sessions/[id]/tool-results/[toolCallId]/route-8f70dda1817cd20c.js +1 -0
  209. package/.next/static/chunks/app/api/sessions/route-8f70dda1817cd20c.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/search/route-8f70dda1817cd20c.js +1 -0
  211. package/.next/static/chunks/app/api/settings/raw/route-8f70dda1817cd20c.js +1 -0
  212. package/.next/static/chunks/app/api/settings/remote/route-8f70dda1817cd20c.js +1 -0
  213. package/.next/static/chunks/app/api/skills/check/route-8f70dda1817cd20c.js +1 -0
  214. package/.next/static/chunks/app/api/skills/install/route-8f70dda1817cd20c.js +1 -0
  215. package/.next/static/chunks/app/api/skills/route-8f70dda1817cd20c.js +1 -0
  216. package/.next/static/chunks/app/api/skills/search/route-8f70dda1817cd20c.js +1 -0
  217. package/.next/static/chunks/app/api/skills/update/route-8f70dda1817cd20c.js +1 -0
  218. package/.next/static/chunks/app/api/subagent-runs/route-8f70dda1817cd20c.js +1 -0
  219. package/.next/static/chunks/app/api/update/apply/route-8f70dda1817cd20c.js +1 -0
  220. package/.next/static/chunks/app/api/update/check/route-8f70dda1817cd20c.js +1 -0
  221. package/.next/static/chunks/app/page-03ce7a25f33f4d70.js +24 -0
  222. package/.next/static/chunks/{da12927c.00775c0e4542fd3e.js → da12927c.476aa688a637649c.js} +2 -2
  223. package/.next/static/chunks/{e868780c-16e43c5968ccf2bf.js → e868780c-1584512c612787d7.js} +1 -1
  224. package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
  225. package/.next/static/chunks/main-1b407bf74905d84a.js +5 -0
  226. package/.next/static/chunks/{main-app-06b2b50b226e40d1.js → main-app-d353053e6467499a.js} +1 -1
  227. package/.next/static/chunks/next/dist/client/components/builtin/app-error-8f70dda1817cd20c.js +1 -0
  228. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-8f70dda1817cd20c.js +1 -0
  229. package/.next/static/chunks/next/dist/client/components/builtin/not-found-8f70dda1817cd20c.js +1 -0
  230. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8f70dda1817cd20c.js +1 -0
  231. package/.next/static/chunks/{webpack-d2379fd13c5c78c6.js → webpack-2423c4442766d244.js} +1 -1
  232. package/.next/static/css/1ad5c09cc7ca816b.css +1 -0
  233. package/.next/static/qrH41YQOkbPr0RvEZs8IZ/_buildManifest.js +1 -0
  234. package/README.en.md +10 -1
  235. package/README.md +10 -1
  236. package/bin/pidance-auth-gate.js +41 -11
  237. package/bin/pidance-http-server.js +7 -0
  238. package/bin/pidance.js +5 -1
  239. package/bin/pty-manager.cjs +65 -12
  240. package/bin/pty-process.cjs +135 -0
  241. package/bin/pty-worker.js +17 -3
  242. package/bin/pty-ws.js +126 -3
  243. package/package.json +6 -4
  244. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
  245. package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
  246. package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
  247. package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
  248. package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -7
  249. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
  250. package/.next/server/app/index.segments/_head.segment.rsc +0 -6
  251. package/.next/server/app/index.segments/_index.segment.rsc +0 -7
  252. package/.next/server/chunks/188.js +0 -1
  253. package/.next/server/chunks/319.js +0 -45
  254. package/.next/server/chunks/6953.js +0 -1
  255. package/.next/server/chunks/8359.js +0 -2
  256. package/.next/server/chunks/9935.js +0 -1
  257. package/.next/static/WyhxhOSSU4IaU7cnCvJTt/_buildManifest.js +0 -1
  258. package/.next/static/chunks/3794-907785a527d8128b.js +0 -32
  259. package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -1
  260. package/.next/static/chunks/6121.5b8cb3199531d194.js +0 -1
  261. package/.next/static/chunks/9780-190981a7d5f4799b.js +0 -1
  262. package/.next/static/chunks/app/_global-error/page-7c63ab7d3880fba7.js +0 -1
  263. package/.next/static/chunks/app/api/about/route-7c63ab7d3880fba7.js +0 -1
  264. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-7c63ab7d3880fba7.js +0 -1
  265. package/.next/static/chunks/app/api/agent/[id]/events/route-7c63ab7d3880fba7.js +0 -1
  266. package/.next/static/chunks/app/api/agent/[id]/route-7c63ab7d3880fba7.js +0 -1
  267. package/.next/static/chunks/app/api/agent/new/route-7c63ab7d3880fba7.js +0 -1
  268. package/.next/static/chunks/app/api/agent/running/events/route-7c63ab7d3880fba7.js +0 -1
  269. package/.next/static/chunks/app/api/agent/running/route-7c63ab7d3880fba7.js +0 -1
  270. package/.next/static/chunks/app/api/agent/submissions/[submissionId]/route-7c63ab7d3880fba7.js +0 -1
  271. package/.next/static/chunks/app/api/agent-settings/route-7c63ab7d3880fba7.js +0 -1
  272. package/.next/static/chunks/app/api/attachments/route-7c63ab7d3880fba7.js +0 -1
  273. package/.next/static/chunks/app/api/auth/all-providers/route-7c63ab7d3880fba7.js +0 -1
  274. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-7c63ab7d3880fba7.js +0 -1
  275. package/.next/static/chunks/app/api/auth/login/[provider]/route-7c63ab7d3880fba7.js +0 -1
  276. package/.next/static/chunks/app/api/auth/logout/[provider]/route-7c63ab7d3880fba7.js +0 -1
  277. package/.next/static/chunks/app/api/auth/providers/route-7c63ab7d3880fba7.js +0 -1
  278. package/.next/static/chunks/app/api/auth/ui-session/route-7c63ab7d3880fba7.js +0 -1
  279. package/.next/static/chunks/app/api/auth/ui-sessions/[id]/route-7c63ab7d3880fba7.js +0 -1
  280. package/.next/static/chunks/app/api/auth/ui-sessions/route-7c63ab7d3880fba7.js +0 -1
  281. package/.next/static/chunks/app/api/cwd/browse/route-7c63ab7d3880fba7.js +0 -1
  282. package/.next/static/chunks/app/api/cwd/create/route-7c63ab7d3880fba7.js +0 -1
  283. package/.next/static/chunks/app/api/cwd/validate/route-7c63ab7d3880fba7.js +0 -1
  284. package/.next/static/chunks/app/api/default-cwd/route-7c63ab7d3880fba7.js +0 -1
  285. package/.next/static/chunks/app/api/file-index/route-7c63ab7d3880fba7.js +0 -1
  286. package/.next/static/chunks/app/api/files/[...path]/route-7c63ab7d3880fba7.js +0 -1
  287. package/.next/static/chunks/app/api/files/save-as/route-7c63ab7d3880fba7.js +0 -1
  288. package/.next/static/chunks/app/api/git/diff/route-7c63ab7d3880fba7.js +0 -1
  289. package/.next/static/chunks/app/api/git/status/route-7c63ab7d3880fba7.js +0 -1
  290. package/.next/static/chunks/app/api/home/route-7c63ab7d3880fba7.js +0 -1
  291. package/.next/static/chunks/app/api/message-media/route-7c63ab7d3880fba7.js +0 -1
  292. package/.next/static/chunks/app/api/models/route-7c63ab7d3880fba7.js +0 -1
  293. package/.next/static/chunks/app/api/models-config/raw/route-7c63ab7d3880fba7.js +0 -1
  294. package/.next/static/chunks/app/api/models-config/route-7c63ab7d3880fba7.js +0 -1
  295. package/.next/static/chunks/app/api/models-config/test/route-7c63ab7d3880fba7.js +0 -1
  296. package/.next/static/chunks/app/api/plugins/route-7c63ab7d3880fba7.js +0 -1
  297. package/.next/static/chunks/app/api/plugins/search/route-7c63ab7d3880fba7.js +0 -1
  298. package/.next/static/chunks/app/api/plugins/updates/route-7c63ab7d3880fba7.js +0 -1
  299. package/.next/static/chunks/app/api/preferences/route-7c63ab7d3880fba7.js +0 -1
  300. package/.next/static/chunks/app/api/project-assets/route-7c63ab7d3880fba7.js +0 -1
  301. package/.next/static/chunks/app/api/prompts/route-7c63ab7d3880fba7.js +0 -1
  302. package/.next/static/chunks/app/api/pty/route-7c63ab7d3880fba7.js +0 -1
  303. package/.next/static/chunks/app/api/sessions/[id]/archive/route-7c63ab7d3880fba7.js +0 -1
  304. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-7c63ab7d3880fba7.js +0 -1
  305. package/.next/static/chunks/app/api/sessions/[id]/command-entry/route-7c63ab7d3880fba7.js +0 -1
  306. package/.next/static/chunks/app/api/sessions/[id]/context/route-7c63ab7d3880fba7.js +0 -1
  307. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-7c63ab7d3880fba7.js +0 -1
  308. package/.next/static/chunks/app/api/sessions/[id]/export/route-7c63ab7d3880fba7.js +0 -1
  309. package/.next/static/chunks/app/api/sessions/[id]/info/route-7c63ab7d3880fba7.js +0 -1
  310. package/.next/static/chunks/app/api/sessions/[id]/outline/route-7c63ab7d3880fba7.js +0 -1
  311. package/.next/static/chunks/app/api/sessions/[id]/route-7c63ab7d3880fba7.js +0 -1
  312. package/.next/static/chunks/app/api/sessions/[id]/state/route-7c63ab7d3880fba7.js +0 -1
  313. package/.next/static/chunks/app/api/sessions/[id]/tool-results/[toolCallId]/route-7c63ab7d3880fba7.js +0 -1
  314. package/.next/static/chunks/app/api/sessions/route-7c63ab7d3880fba7.js +0 -1
  315. package/.next/static/chunks/app/api/sessions/search/route-7c63ab7d3880fba7.js +0 -1
  316. package/.next/static/chunks/app/api/settings/raw/route-7c63ab7d3880fba7.js +0 -1
  317. package/.next/static/chunks/app/api/settings/remote/route-7c63ab7d3880fba7.js +0 -1
  318. package/.next/static/chunks/app/api/skills/check/route-7c63ab7d3880fba7.js +0 -1
  319. package/.next/static/chunks/app/api/skills/install/route-7c63ab7d3880fba7.js +0 -1
  320. package/.next/static/chunks/app/api/skills/route-7c63ab7d3880fba7.js +0 -1
  321. package/.next/static/chunks/app/api/skills/search/route-7c63ab7d3880fba7.js +0 -1
  322. package/.next/static/chunks/app/api/skills/update/route-7c63ab7d3880fba7.js +0 -1
  323. package/.next/static/chunks/app/api/subagent-runs/route-7c63ab7d3880fba7.js +0 -1
  324. package/.next/static/chunks/app/api/update/apply/route-7c63ab7d3880fba7.js +0 -1
  325. package/.next/static/chunks/app/api/update/check/route-7c63ab7d3880fba7.js +0 -1
  326. package/.next/static/chunks/app/page-d0e064d91cca6351.js +0 -24
  327. package/.next/static/chunks/framework-711ef29bc66f648c.js +0 -1
  328. package/.next/static/chunks/main-8e7ef001ea9dd641.js +0 -5
  329. package/.next/static/chunks/next/dist/client/components/builtin/app-error-7c63ab7d3880fba7.js +0 -1
  330. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-7c63ab7d3880fba7.js +0 -1
  331. package/.next/static/chunks/next/dist/client/components/builtin/not-found-7c63ab7d3880fba7.js +0 -1
  332. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7c63ab7d3880fba7.js +0 -1
  333. package/.next/static/css/846691607ee7f74d.css +0 -1
  334. /package/.next/static/{WyhxhOSSU4IaU7cnCvJTt → qrH41YQOkbPr0RvEZs8IZ}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=329,exports.ids=[329],exports.modules={7635:(a,b,c)=>{"use strict";c.d(b,{JF:()=>l,OW:()=>p,Um:()=>q,gl:()=>m,jT:()=>o,uy:()=>n});var d=c(716),e=c(89477),f=c.n(e),g=c(86697),h=c.n(g),i=c(62228);let j={existsSync:a=>f().existsSync(a),readFileSync:(a,b)=>f().readFileSync(a,b),writeFileSync:(a,b,c)=>f().writeFileSync(a,b,c),renameSync:(a,b)=>f().renameSync(a,b),mkdirSync:(a,b)=>{f().mkdirSync(a,b)}};function k(a){let b=a??process.env.PI_CODING_AGENT_DIR??h().join((0,i.homedir)(),".pi","agent");return h().join(b,"pidance-server.json")}function l(a,b){if(!a||!b||!b.salt||!b.hash)return!1;try{let c=Buffer.from(b.hash,"hex"),e=Buffer.from(b.salt,"hex");if(0===c.length||0===e.length)return!1;let f=(0,d.scryptSync)(a.normalize().trim(),e,c.length);return f.length===c.length&&(0,d.timingSafeEqual)(f,c)}catch{return!1}}function m(a){return!!a?.passwordHash}function n(a=k(),b=j){let c={passwordHash:null,remoteEnabled:!1,port:null};try{if(!b.existsSync(a))return c;let d=b.readFileSync(a,"utf8"),e=JSON.parse(d),f=e.passwordHash,g=f&&"object"==typeof f&&"string"==typeof f.salt&&"string"==typeof f.hash?{salt:f.salt,hash:f.hash}:null,h="number"==typeof e.port&&Number.isInteger(e.port)&&e.port>=1&&e.port<=65535?e.port:null;return{passwordHash:g,remoteEnabled:!0===e.remoteEnabled,port:h}}catch{return c}}function o(a,b=k(),c=j){c.mkdirSync(h().dirname(b),{recursive:!0});let d=`${b}.tmp-${process.pid}`;c.writeFileSync(d,JSON.stringify(a,null,2),{mode:384}),c.renameSync(d,b)}function p(a,b){return"string"==typeof a&&a.length>0||m(b)}function q(a,b,c){let e=a.passwordHash,f=!1,g="string"==typeof b.password&&b.password.length>0;if(g&&!0===b.clearPassword)return{error:"bad_request"};if(g){var h;let a,c;if(b.password.length<6)return{error:"password_too_short"};h=b.password,a=(0,d.randomBytes)(16),c=(0,d.scryptSync)(h.normalize().trim(),a,64),e={salt:a.toString("hex"),hash:c.toString("hex")},f=!0}else!0===b.clearPassword&&(e=null,f=null!==a.passwordHash);let i=b.remoteEnabled??a.remoteEnabled,j=a.port;if(void 0!==b.port)if(null===b.port)j=null;else{if(!("number"==typeof b.port&&Number.isInteger(b.port))||!(b.port>=1)||!(b.port<=65535))return{error:"port_invalid"};j=b.port}let k=p(c,{passwordHash:e,remoteEnabled:i,port:j});return i&&!k?{error:"remote_requires_password"}:{config:{passwordHash:e,remoteEnabled:i,port:j},changedPassword:f}}},24813:(a,b,c)=>{"use strict";c.d(b,{$k:()=>w,BA:()=>k,BE:()=>y,D6:()=>u,K6:()=>J,Lo:()=>v,NA:()=>r,Nq:()=>A,RH:()=>L,Rv:()=>j,TO:()=>O,YF:()=>C,Zw:()=>N,aH:()=>l,bS:()=>p,eI:()=>I,fV:()=>B,hx:()=>M,in:()=>K,n2:()=>m,oQ:()=>x,uZ:()=>q,x7:()=>D});var d=c(716),e=c(89477),f=c.n(e),g=c(86697),h=c.n(g),i=c(62228);let j="pidance_ui_session",k="pidance_device_id",l=31536e7;function m(a){return a?l:432e5}function n(a){return("string"==typeof a?Buffer.from(a,"utf8"):a).toString("base64url")}function o(a){return n(JSON.stringify(a))}function p(a,b){if(!a)return null;for(let c of a.split(";")){let a=c.indexOf("=");if(a<=0||c.slice(0,a).trim()!==b)continue;let d=c.slice(a+1).trim();try{return decodeURIComponent(d)}catch{return d}}return null}function q(a){let{name:b,value:c,maxAgeSeconds:d,secure:e}=a,f=Math.max(0,Math.floor(d)),g=0===f?"Thu, 01 Jan 1970 00:00:00 GMT":new Date(Date.now()+1e3*f).toUTCString(),h=[`${b}=${c}`,"Path=/","HttpOnly","SameSite=Strict",`Max-Age=${f}`,`Expires=${g}`];return e&&h.push("Secure"),h.join("; ")}function r(a,b){if(b){let a=b.split(",")[0]?.trim().toLowerCase();if("https"===a)return!0;if("http"===a)return!1}try{return"https:"===new URL(a).protocol}catch{return!1}}function s(a){let b=a??process.env.PI_CODING_AGENT_DIR??h().join((0,i.homedir)(),".pi","agent");return h().join(b,"pidance-ui-jwt-secret")}let t={readFileSync:(a,b)=>f().readFileSync(a,b),writeFileSync:(a,b,c)=>f().writeFileSync(a,b,c),mkdirSync:(a,b)=>{f().mkdirSync(a,b)},existsSync:a=>f().existsSync(a)};function u(a=process.env,b=s(),c=t){let e=a.PIDANCE_UI_JWT_SECRET||a.OPENCODE_JWT_SECRET;if("string"==typeof e&&e.length>0)return e.trim();try{if(c.existsSync(b)){let a=c.readFileSync(b,"utf8").trim();if(a)return a}}catch{}let f=(0,d.randomBytes)(32).toString("hex");try{c.mkdirSync(h().dirname(b),{recursive:!0}),c.writeFileSync(b,f,{mode:384})}catch{}return f}function v(a=process.env,b=s(),c=t){if(a.PIDANCE_UI_JWT_SECRET||a.OPENCODE_JWT_SECRET)throw Error("Cannot rotate secret while PIDANCE_UI_JWT_SECRET/OPENCODE_JWT_SECRET is set");let e=(0,d.randomBytes)(32).toString("hex");return c.mkdirSync(h().dirname(b),{recursive:!0}),c.writeFileSync(b,e,{mode:384}),e}function w(a,b,c=Date.now(),e){let f=Math.floor(c/1e3),g=f+Math.max(1,Math.floor(b/1e3)),h=o({alg:"HS256",typ:"JWT"}),i=o({type:"ui-session",iat:f,exp:g,...e?{jti:e}:{}}),j=`${h}.${i}`,k=(0,d.createHmac)("sha256",a).update(j).digest();return`${j}.${n(k)}`}function x(a,b,c=Date.now()){let e;if(!a||!b)return{valid:!1,jti:null};let f=a.split(".");if(3!==f.length)return{valid:!1,jti:null};let[g,h,i]=f,j=`${g}.${h}`,k=(0,d.createHmac)("sha256",b).update(j).digest();try{e=Buffer.from(i,"base64url")}catch{return{valid:!1,jti:null}}if(e.length!==k.length||!(0,d.timingSafeEqual)(e,k))return{valid:!1,jti:null};try{let a=JSON.parse(Buffer.from(h,"base64url").toString("utf8"));if("ui-session"!==a.type||"number"!=typeof a.exp||1e3*a.exp<=c)return{valid:!1,jti:null};return{valid:!0,jti:"string"==typeof a.jti&&a.jti.length>0?a.jti:null}}catch{return{valid:!1,jti:null}}}function y(a,b){if(!a||!b)return!1;let c=(0,d.createHash)("sha256").update(a.normalize().trim(),"utf8").digest(),e=(0,d.createHash)("sha256").update(b.normalize().trim(),"utf8").digest();return c.length===e.length&&(0,d.timingSafeEqual)(c,e)}let z=new Map;function A(a,b=Date.now()){let c=z.get(a);if(!c)return{allowed:!0,remaining:10,retryAfterSeconds:0,limit:10};if(c.lockedUntil>b)return{allowed:!1,remaining:0,retryAfterSeconds:Math.ceil((c.lockedUntil-b)/1e3),limit:10};if(b-c.windowStart>3e5)return z.delete(a),{allowed:!0,remaining:10,retryAfterSeconds:0,limit:10};let d=Math.max(0,10-c.fails);return{allowed:d>0,remaining:d,retryAfterSeconds:0,limit:10}}function B(a,b=Date.now()){let c=z.get(a);(!c||b-c.windowStart>3e5)&&(c={fails:0,windowStart:b,lockedUntil:0}),c.fails+=1,c.fails>=10&&(c.lockedUntil=b+9e5),z.set(a,c)}function C(a){z.delete(a)}function D(a){let b=a["x-forwarded-for"];if("string"==typeof b&&b.trim())return b.split(",")[0].trim().replace(/^::ffff:/,"");let c=a["x-real-ip"];return"string"==typeof c&&c.trim()?c.trim().replace(/^::ffff:/,""):"unknown"}let E={existsSync:a=>f().existsSync(a),readFileSync:(a,b)=>f().readFileSync(a,b),writeFileSync:(a,b,c)=>f().writeFileSync(a,b,c),renameSync:(a,b)=>f().renameSync(a,b),mkdirSync:(a,b)=>{f().mkdirSync(a,b)},openSync:(a,b,c)=>f().openSync(a,b,c),closeSync:a=>f().closeSync(a),unlinkSync:a=>f().unlinkSync(a),statSync:a=>f().statSync(a)};function F(a,b,c){let{openSync:d,closeSync:e,unlinkSync:f,statSync:g}=b;if(!d||!e||!f||!g)return c();b.mkdirSync(h().dirname(a),{recursive:!0});let i=`${a}.lock`,j=Date.now()+5e3,k=null;for(;null===k;)try{k=d(i,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;try{Date.now()-g(i).mtimeMs>3e4&&f(i)}catch{}if(Date.now()>=j)throw Error("Timed out acquiring ui sessions lock");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}try{return c()}finally{try{e(k)}catch{}try{f(i)}catch{}}}function G(a){let b=a??process.env.PI_CODING_AGENT_DIR??h().join((0,i.homedir)(),".pi","agent");return h().join(b,"pidance-ui-sessions.json")}function H(a,b,c){c.mkdirSync(h().dirname(b),{recursive:!0});let d=`${b}.tmp-${process.pid}`;c.writeFileSync(d,JSON.stringify({devices:a},null,2),{mode:384}),c.renameSync(d,b)}function I(a=G(),b=E,c=Date.now()){try{if(!b.existsSync(a))return[];var d=b.readFileSync(a,"utf8");let e=JSON.parse(d);if(!e||!Array.isArray(e.devices))return[];let f=[];for(let a of e.devices)a&&"object"==typeof a&&"string"==typeof a.id&&"string"==typeof a.label&&"number"==typeof a.createdAt&&"number"==typeof a.expiresAt&&a.expiresAt>c&&f.push(a);return f}catch{return[]}}function J(a,b=G(),c=E,d=Date.now()){F(b,c,()=>{let e=I(b,c,d),f=e.findIndex(b=>b.id===a.id);f>=0?e[f]=a:e.push(a),H(e,b,c)})}function K(a){let b=p(a,k);return"string"==typeof b&&/^[0-9a-f]{32}$/.test(b)?b:null}function L(a,b=G(),c=E,d=Date.now()){F(b,c,()=>{H(I(b,c,d).filter(b=>b.id!==a),b,c)})}function M(a=G(),b=E){F(a,b,()=>H([],a,b))}function N(a){if(!a)return"Unknown device";let b=/Edg\/(\d+)/.exec(a)?.[1]??/Chrome\/(\d+)/.exec(a)?.[1]??/Firefox\/(\d+)/.exec(a)?.[1]??/Safari\/(\d+)/.exec(a)?.[1]?a.includes("Edg/")?"Edge":a.includes("Chrome/")?"Chrome":a.includes("Firefox/")?"Firefox":"Safari":"Browser",c=/Windows NT (\d+\.?\d*)/.exec(a)?"Windows":/Mac OS X/.test(a)?"macOS":/Android/.test(a)?"Android":/iPhone|iPad|iPod/.test(a)?"iOS":/Linux/.test(a)?"Linux":null,d=c?`${b} \xb7 ${c}`:b;return d.length>60?`${d.slice(0,57)}...`:d}function O(a,b,c=Date.now(),d,e){let f=p(a,j);if(!f)return!1;let{valid:g,jti:h}=x(f,b,c);return!!g&&(!h||function(a,b=G(),c=E,d=Date.now()){return!!a&&I(b,c,d).some(b=>b.id===a)}(h,d,e,c))}},78335:()=>{},78749:(a,b,c)=>{"use strict";c.d(b,{IM:()=>e,dK:()=>f}),c(55511),c(91645),c(24813);var d=c(7635);function e(a){let b=a.PIDANCE_PASSWORD&&a.PIDANCE_PASSWORD.length>0?a.PIDANCE_PASSWORD:a.PI_WEB_PASSWORD;return"string"==typeof b&&b.length>0?b:null}function f(a,b){return null!==e(a)||(0,d.gl)(b)}},96487:()=>{}};
1
+ exports.id=329,exports.ids=[329],exports.modules={7635:(a,b,c)=>{"use strict";c.d(b,{JF:()=>l,OW:()=>p,Um:()=>q,gl:()=>m,jT:()=>o,uy:()=>n});var d=c(716),e=c(89477),f=c.n(e),g=c(86697),h=c.n(g),i=c(62228);let j={existsSync:a=>f().existsSync(a),readFileSync:(a,b)=>f().readFileSync(a,b),writeFileSync:(a,b,c)=>f().writeFileSync(a,b,c),renameSync:(a,b)=>f().renameSync(a,b),mkdirSync:(a,b)=>{f().mkdirSync(a,b)}};function k(a){let b=a??process.env.PI_CODING_AGENT_DIR??h().join((0,i.homedir)(),".pi","agent");return h().join(b,"pidance-server.json")}function l(a,b){if(!a||!b||!b.salt||!b.hash)return!1;try{let c=Buffer.from(b.hash,"hex"),e=Buffer.from(b.salt,"hex");if(0===c.length||0===e.length)return!1;let f=(0,d.scryptSync)(a.normalize().trim(),e,c.length);return f.length===c.length&&(0,d.timingSafeEqual)(f,c)}catch{return!1}}function m(a){return!!a?.passwordHash}function n(a=k(),b=j){let c={passwordHash:null,remoteEnabled:!1,port:null};try{if(!b.existsSync(a))return c;let d=b.readFileSync(a,"utf8"),e=JSON.parse(d),f=e.passwordHash,g=f&&"object"==typeof f&&"string"==typeof f.salt&&"string"==typeof f.hash?{salt:f.salt,hash:f.hash}:null,h="number"==typeof e.port&&Number.isInteger(e.port)&&e.port>=1&&e.port<=65535?e.port:null;return{passwordHash:g,remoteEnabled:!0===e.remoteEnabled,port:h}}catch{return c}}function o(a,b=k(),c=j){c.mkdirSync(h().dirname(b),{recursive:!0});let d=`${b}.tmp-${process.pid}`;c.writeFileSync(d,JSON.stringify(a,null,2),{mode:384}),c.renameSync(d,b)}function p(a,b){return"string"==typeof a&&a.length>0||m(b)}function q(a,b,c){let e=a.passwordHash,f=!1,g="string"==typeof b.password&&b.password.length>0;if(g&&!0===b.clearPassword)return{error:"bad_request"};if(g){var h;let a,c;if(b.password.length<6)return{error:"password_too_short"};h=b.password,a=(0,d.randomBytes)(16),c=(0,d.scryptSync)(h.normalize().trim(),a,64),e={salt:a.toString("hex"),hash:c.toString("hex")},f=!0}else!0===b.clearPassword&&(e=null,f=null!==a.passwordHash);let i=b.remoteEnabled??a.remoteEnabled,j=a.port;if(void 0!==b.port)if(null===b.port)j=null;else{if(!("number"==typeof b.port&&Number.isInteger(b.port))||!(b.port>=1)||!(b.port<=65535))return{error:"port_invalid"};j=b.port}let k=p(c,{passwordHash:e,remoteEnabled:i,port:j});return i&&!k?{error:"remote_requires_password"}:{config:{passwordHash:e,remoteEnabled:i,port:j},changedPassword:f}}},24813:(a,b,c)=>{"use strict";c.d(b,{$k:()=>w,BA:()=>k,BE:()=>y,D6:()=>u,K6:()=>E,Lo:()=>v,NA:()=>r,RH:()=>G,Rv:()=>j,TO:()=>J,Zw:()=>I,aH:()=>l,bS:()=>p,eI:()=>D,hx:()=>H,in:()=>F,n2:()=>m,oQ:()=>x,uZ:()=>q});var d=c(716),e=c(89477),f=c.n(e),g=c(86697),h=c.n(g),i=c(62228);let j="pidance_ui_session",k="pidance_device_id",l=31536e7;function m(a){return a?l:432e5}function n(a){return("string"==typeof a?Buffer.from(a,"utf8"):a).toString("base64url")}function o(a){return n(JSON.stringify(a))}function p(a,b){if(!a)return null;for(let c of a.split(";")){let a=c.indexOf("=");if(a<=0||c.slice(0,a).trim()!==b)continue;let d=c.slice(a+1).trim();try{return decodeURIComponent(d)}catch{return d}}return null}function q(a){let{name:b,value:c,maxAgeSeconds:d,secure:e}=a,f=Math.max(0,Math.floor(d)),g=0===f?"Thu, 01 Jan 1970 00:00:00 GMT":new Date(Date.now()+1e3*f).toUTCString(),h=[`${b}=${c}`,"Path=/","HttpOnly","SameSite=Lax",`Max-Age=${f}`,`Expires=${g}`];return e&&h.push("Secure"),h.join("; ")}function r(a,b){if(b){let a=b.split(",")[0]?.trim().toLowerCase();if("https"===a)return!0;if("http"===a)return!1}try{return"https:"===new URL(a).protocol}catch{return!1}}function s(a){let b=a??process.env.PI_CODING_AGENT_DIR??h().join((0,i.homedir)(),".pi","agent");return h().join(b,"pidance-ui-jwt-secret")}let t={readFileSync:(a,b)=>f().readFileSync(a,b),writeFileSync:(a,b,c)=>f().writeFileSync(a,b,c),mkdirSync:(a,b)=>{f().mkdirSync(a,b)},existsSync:a=>f().existsSync(a)};function u(a=process.env,b=s(),c=t){let e=a.PIDANCE_UI_JWT_SECRET||a.OPENCODE_JWT_SECRET;if("string"==typeof e&&e.length>0)return e.trim();try{if(c.existsSync(b)){let a=c.readFileSync(b,"utf8").trim();if(a)return a}}catch{}let f=(0,d.randomBytes)(32).toString("hex");try{c.mkdirSync(h().dirname(b),{recursive:!0}),c.writeFileSync(b,f,{mode:384})}catch{}return f}function v(a=process.env,b=s(),c=t){if(a.PIDANCE_UI_JWT_SECRET||a.OPENCODE_JWT_SECRET)throw Error("Cannot rotate secret while PIDANCE_UI_JWT_SECRET/OPENCODE_JWT_SECRET is set");let e=(0,d.randomBytes)(32).toString("hex");return c.mkdirSync(h().dirname(b),{recursive:!0}),c.writeFileSync(b,e,{mode:384}),e}function w(a,b,c=Date.now(),e){let f=Math.floor(c/1e3),g=f+Math.max(1,Math.floor(b/1e3)),h=o({alg:"HS256",typ:"JWT"}),i=o({type:"ui-session",iat:f,exp:g,...e?{jti:e}:{}}),j=`${h}.${i}`,k=(0,d.createHmac)("sha256",a).update(j).digest();return`${j}.${n(k)}`}function x(a,b,c=Date.now()){let e;if(!a||!b)return{valid:!1,jti:null};let f=a.split(".");if(3!==f.length)return{valid:!1,jti:null};let[g,h,i]=f,j=`${g}.${h}`,k=(0,d.createHmac)("sha256",b).update(j).digest();try{e=Buffer.from(i,"base64url")}catch{return{valid:!1,jti:null}}if(e.length!==k.length||!(0,d.timingSafeEqual)(e,k))return{valid:!1,jti:null};try{let a=JSON.parse(Buffer.from(h,"base64url").toString("utf8"));if("ui-session"!==a.type||"number"!=typeof a.exp||1e3*a.exp<=c)return{valid:!1,jti:null};return{valid:!0,jti:"string"==typeof a.jti&&a.jti.length>0?a.jti:null}}catch{return{valid:!1,jti:null}}}function y(a,b){if(!a||!b)return!1;let c=(0,d.createHash)("sha256").update(a.normalize().trim(),"utf8").digest(),e=(0,d.createHash)("sha256").update(b.normalize().trim(),"utf8").digest();return c.length===e.length&&(0,d.timingSafeEqual)(c,e)}let z={existsSync:a=>f().existsSync(a),readFileSync:(a,b)=>f().readFileSync(a,b),writeFileSync:(a,b,c)=>f().writeFileSync(a,b,c),renameSync:(a,b)=>f().renameSync(a,b),mkdirSync:(a,b)=>{f().mkdirSync(a,b)},openSync:(a,b,c)=>f().openSync(a,b,c),closeSync:a=>f().closeSync(a),unlinkSync:a=>f().unlinkSync(a),statSync:a=>f().statSync(a)};function A(a,b,c){let{openSync:d,closeSync:e,unlinkSync:f,statSync:g}=b;if(!d||!e||!f||!g)return c();b.mkdirSync(h().dirname(a),{recursive:!0});let i=`${a}.lock`,j=Date.now()+5e3,k=null;for(;null===k;)try{k=d(i,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;try{Date.now()-g(i).mtimeMs>3e4&&f(i)}catch{}if(Date.now()>=j)throw Error("Timed out acquiring ui sessions lock");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}try{return c()}finally{try{e(k)}catch{}try{f(i)}catch{}}}function B(a){let b=a??process.env.PI_CODING_AGENT_DIR??h().join((0,i.homedir)(),".pi","agent");return h().join(b,"pidance-ui-sessions.json")}function C(a,b,c){c.mkdirSync(h().dirname(b),{recursive:!0});let d=`${b}.tmp-${process.pid}`;c.writeFileSync(d,JSON.stringify({devices:a},null,2),{mode:384}),c.renameSync(d,b)}function D(a=B(),b=z,c=Date.now()){try{if(!b.existsSync(a))return[];var d=b.readFileSync(a,"utf8");let e=JSON.parse(d);if(!e||!Array.isArray(e.devices))return[];let f=[];for(let a of e.devices)a&&"object"==typeof a&&"string"==typeof a.id&&"string"==typeof a.label&&"number"==typeof a.createdAt&&"number"==typeof a.expiresAt&&a.expiresAt>c&&f.push(a);return f}catch{return[]}}function E(a,b=B(),c=z,d=Date.now()){A(b,c,()=>{let e=D(b,c,d),f=e.findIndex(b=>b.id===a.id);f>=0?e[f]=a:e.push(a),C(e,b,c)})}function F(a){let b=p(a,k);return"string"==typeof b&&/^[0-9a-f]{32}$/.test(b)?b:null}function G(a,b=B(),c=z,d=Date.now()){A(b,c,()=>{C(D(b,c,d).filter(b=>b.id!==a),b,c)})}function H(a=B(),b=z){A(a,b,()=>C([],a,b))}function I(a){if(!a)return"Unknown device";let b=/Edg\/(\d+)/.exec(a)?.[1]??/Chrome\/(\d+)/.exec(a)?.[1]??/Firefox\/(\d+)/.exec(a)?.[1]??/Safari\/(\d+)/.exec(a)?.[1]?a.includes("Edg/")?"Edge":a.includes("Chrome/")?"Chrome":a.includes("Firefox/")?"Firefox":"Safari":"Browser",c=/Windows NT (\d+\.?\d*)/.exec(a)?"Windows":/Mac OS X/.test(a)?"macOS":/Android/.test(a)?"Android":/iPhone|iPad|iPod/.test(a)?"iOS":/Linux/.test(a)?"Linux":null,d=c?`${b} \xb7 ${c}`:b;return d.length>60?`${d.slice(0,57)}...`:d}function J(a,b,c=Date.now(),d,e){let f=p(a,j);if(!f)return!1;let{valid:g,jti:h}=x(f,b,c);return!!g&&(!h||function(a,b=B(),c=z,d=Date.now()){return!!a&&D(b,c,d).some(b=>b.id===a)}(h,d,e,c))}},78335:()=>{},78749:(a,b,c)=>{"use strict";c.d(b,{IM:()=>e,dK:()=>f,v1:()=>g}),c(55511),c(91645),c(24813);var d=c(7635);function e(a){let b,c=globalThis.__piAuthPassword;return c?c.value:"string"==typeof(b=a.PIDANCE_PASSWORD&&a.PIDANCE_PASSWORD.length>0?a.PIDANCE_PASSWORD:a.PI_WEB_PASSWORD)&&b.length>0?b:null}function f(a,b){return null!==e(a)||(0,d.gl)(b)}function g(a,b){if("1"===b.PIDANCE_TRUST_PROXY||"true"===b.PIDANCE_TRUST_PROXY){let b=a.xForwardedFor?.split(",")[0]?.trim();if(b)return b.replace(/^::ffff:/,"")}let c=a.peerAddress?.trim();return c?c.replace(/^::ffff:/,""):"unknown"}},96487:()=>{}};