@baique/pi-web-sky 0.1.35 → 0.1.37

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 (483) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -11
  3. package/.next/build-manifest.json +4 -4
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +2 -2
  7. package/.next/required-server-files.js +6 -6
  8. package/.next/required-server-files.json +6 -6
  9. package/.next/server/app/_global-error/page.js +2 -2
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +3 -3
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +2 -2
  24. package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/agent/[id]/events/route.js +3 -3
  26. package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/agent/[id]/route.js +2 -2
  28. package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/agent/new/route.js +1 -1
  30. package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/agent/running/route.js +1 -1
  32. package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/app-update/route.js +1 -1
  34. package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  36. package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/auth/login/[provider]/route.js +3 -3
  40. package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  42. package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/auth/providers/route.js +1 -1
  44. package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/boards/[id]/canvas/route.js +1 -1
  46. package/.next/server/app/api/boards/[id]/canvas/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/boards/[id]/edges/[eid]/route.js +1 -1
  48. package/.next/server/app/api/boards/[id]/edges/[eid]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/boards/[id]/edges/route.js +1 -1
  50. package/.next/server/app/api/boards/[id]/edges/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/boards/[id]/nodes/[nid]/route.js +1 -1
  52. package/.next/server/app/api/boards/[id]/nodes/[nid]/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/boards/[id]/nodes/route.js +1 -1
  54. package/.next/server/app/api/boards/[id]/nodes/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/boards/[id]/reconcile-task-edges/route.js +1 -1
  56. package/.next/server/app/api/boards/[id]/reconcile-task-edges/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/boards/[id]/route.js +1 -1
  58. package/.next/server/app/api/boards/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/boards/purge-orphans/route.js +1 -1
  60. package/.next/server/app/api/boards/purge-orphans/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/boards/reorder/route.js +1 -1
  62. package/.next/server/app/api/boards/reorder/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/boards/route.js +1 -1
  64. package/.next/server/app/api/boards/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/cwd/browse/route.js +1 -1
  66. package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/cwd/validate/route.js +2 -2
  68. package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/default-cwd/route.js +2 -2
  70. package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/file-index/route.js +2 -2
  72. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/files/[...path]/route.js +2 -2
  74. package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/git/diff/route.js +1 -1
  76. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/git/status/route.js +1 -1
  78. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/home/route.js +1 -1
  80. package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/mcp/route.js +2 -2
  82. package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/models/route.js +2 -2
  84. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  86. package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/models-config/discover/route.js +1 -1
  88. package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/models-config/route.js +1 -1
  90. package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/models-config/test/route.js +1 -1
  92. package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/plugins/route.js +2 -2
  94. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/project-trust/route.js +2 -2
  96. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/quota/route.js +1 -1
  98. package/.next/server/app/api/quota/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/search/route.js +2 -2
  100. package/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/sessions/[id]/auto-name/route.js +3 -3
  102. package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/sessions/[id]/context/route.js +2 -2
  104. package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +2 -2
  106. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
  108. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  110. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/sessions/[id]/state/route.js +2 -2
  112. package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/sessions/[id]/todos/route.js +2 -2
  114. package/.next/server/app/api/sessions/[id]/todos/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/sessions/route.js +2 -2
  116. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/skills/check/route.js +1 -1
  118. package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
  119. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/skills/install/route.js +2 -2
  121. package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/skills/route.js +2 -31
  123. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  124. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/skills/search/route.js +1 -1
  126. package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/skills/update/route.js +1 -1
  128. package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
  129. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/task-card-questions/[id]/answer/route.js +1 -1
  131. package/.next/server/app/api/task-card-questions/[id]/answer/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/task-card-questions/route.js +1 -1
  133. package/.next/server/app/api/task-card-questions/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/task-cards/[id]/route.js +1 -1
  135. package/.next/server/app/api/task-cards/[id]/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/task-cards/route.js +1 -1
  137. package/.next/server/app/api/task-cards/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/task-scheduler/status/route.js +1 -1
  139. package/.next/server/app/api/task-scheduler/status/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/tasks/[id]/board/route.js +1 -1
  141. package/.next/server/app/api/tasks/[id]/board/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/tasks/[id]/route.js +1 -1
  143. package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/tasks/reorder/route.js +1 -1
  145. package/.next/server/app/api/tasks/reorder/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/tasks/route.js +1 -1
  147. package/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/terminal/[id]/events/route.js +3 -3
  149. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/terminal/[id]/route.js +2 -2
  151. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/terminal/route.js +2 -2
  153. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/route.js +2 -2
  155. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/favicon.ico/route.js +1 -1
  157. package/.next/server/app/index.html +1 -1
  158. package/.next/server/app/index.rsc +5 -5
  159. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  160. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  161. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  162. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  163. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/page.js +3 -3
  165. package/.next/server/app/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app-paths-manifest.json +11 -11
  167. package/.next/server/chunks/2404.js +2 -2
  168. package/.next/server/chunks/2430.js +4 -4
  169. package/.next/server/chunks/3500.js +30 -0
  170. package/.next/server/chunks/4226.js +2 -2
  171. package/.next/server/chunks/542.js +11 -6
  172. package/.next/server/chunks/5794.js +2 -2
  173. package/.next/server/chunks/6429.js +1 -1
  174. package/.next/server/chunks/898.js +2 -2
  175. package/.next/server/instrumentation.js +1 -1
  176. package/.next/server/middleware-build-manifest.js +1 -1
  177. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  178. package/.next/server/middleware.js +3 -3
  179. package/.next/server/next-font-manifest.js +1 -1
  180. package/.next/server/next-font-manifest.json +1 -1
  181. package/.next/server/pages/404.html +1 -1
  182. package/.next/server/pages/500.html +1 -1
  183. package/.next/server/server-reference-manifest.json +1 -1
  184. package/.next/static/chunks/5315.dba7515ae6e139ae.js +4 -0
  185. package/.next/static/chunks/{7999.f4ab221861378788.js → 7999.879d5a20e8641752.js} +1 -1
  186. package/.next/static/chunks/app/_not-found/{page-af4fe23994cb3d66.js → page-8cea8d8de35f4da4.js} +1 -1
  187. package/.next/static/chunks/app/{layout-1d9a7a44fbc92d2e.js → layout-c4ca28ccc08bc975.js} +1 -1
  188. package/.next/static/chunks/app/{page-6d6779a81a0a7639.js → page-c9ead38525a85686.js} +3 -3
  189. package/.next/static/chunks/{main-app-b3e8a8d15d83e1f0.js → main-app-dd2385a1a5a588df.js} +1 -1
  190. package/.next/static/chunks/next/dist/client/components/builtin/global-error-be943dcb89867ab9.js +1 -0
  191. package/.next/static/chunks/{webpack-fa4f40085b1ec1ac.js → webpack-4bbf04891e910713.js} +1 -1
  192. package/.next/static/css/422c7dc0faa04d89.css +1 -0
  193. package/.next/trace +8 -9
  194. package/.next/trace-build +1 -1
  195. package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
  196. package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
  197. package/.next/types/app/api/agent/[id]/route.ts +1 -1
  198. package/.next/types/app/api/agent/new/route.ts +1 -1
  199. package/.next/types/app/api/agent/running/route.ts +1 -1
  200. package/.next/types/app/api/app-update/route.ts +1 -1
  201. package/.next/types/app/api/auth/all-providers/route.ts +1 -1
  202. package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
  203. package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
  204. package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
  205. package/.next/types/app/api/auth/providers/route.ts +1 -1
  206. package/.next/types/app/api/boards/[id]/canvas/route.ts +1 -1
  207. package/.next/types/app/api/boards/[id]/edges/[eid]/route.ts +1 -1
  208. package/.next/types/app/api/boards/[id]/edges/route.ts +1 -1
  209. package/.next/types/app/api/boards/[id]/nodes/[nid]/route.ts +1 -1
  210. package/.next/types/app/api/boards/[id]/nodes/route.ts +1 -1
  211. package/.next/types/app/api/boards/[id]/reconcile-task-edges/route.ts +1 -1
  212. package/.next/types/app/api/boards/[id]/route.ts +1 -1
  213. package/.next/types/app/api/boards/purge-orphans/route.ts +1 -1
  214. package/.next/types/app/api/boards/reorder/route.ts +1 -1
  215. package/.next/types/app/api/boards/route.ts +1 -1
  216. package/.next/types/app/api/cwd/browse/route.ts +1 -1
  217. package/.next/types/app/api/cwd/validate/route.ts +1 -1
  218. package/.next/types/app/api/default-cwd/route.ts +1 -1
  219. package/.next/types/app/api/file-index/route.ts +1 -1
  220. package/.next/types/app/api/files/[...path]/route.ts +1 -1
  221. package/.next/types/app/api/git/diff/route.ts +1 -1
  222. package/.next/types/app/api/git/status/route.ts +1 -1
  223. package/.next/types/app/api/home/route.ts +1 -1
  224. package/.next/types/app/api/mcp/route.ts +1 -1
  225. package/.next/types/app/api/models/route.ts +1 -1
  226. package/.next/types/app/api/models-config/catalog/route.ts +1 -1
  227. package/.next/types/app/api/models-config/discover/route.ts +1 -1
  228. package/.next/types/app/api/models-config/route.ts +1 -1
  229. package/.next/types/app/api/models-config/test/route.ts +1 -1
  230. package/.next/types/app/api/plugins/route.ts +1 -1
  231. package/.next/types/app/api/project-trust/route.ts +1 -1
  232. package/.next/types/app/api/quota/route.ts +1 -1
  233. package/.next/types/app/api/search/route.ts +1 -1
  234. package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
  235. package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
  236. package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
  237. package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
  238. package/.next/types/app/api/sessions/[id]/route.ts +1 -1
  239. package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
  240. package/.next/types/app/api/sessions/[id]/todos/route.ts +1 -1
  241. package/.next/types/app/api/sessions/route.ts +1 -1
  242. package/.next/types/app/api/skills/check/route.ts +1 -1
  243. package/.next/types/app/api/skills/install/route.ts +1 -1
  244. package/.next/types/app/api/skills/route.ts +1 -1
  245. package/.next/types/app/api/skills/search/route.ts +1 -1
  246. package/.next/types/app/api/skills/update/route.ts +1 -1
  247. package/.next/types/app/api/task-card-questions/[id]/answer/route.ts +1 -1
  248. package/.next/types/app/api/task-card-questions/route.ts +1 -1
  249. package/.next/types/app/api/task-cards/[id]/route.ts +1 -1
  250. package/.next/types/app/api/task-cards/route.ts +1 -1
  251. package/.next/types/app/api/task-scheduler/status/route.ts +1 -1
  252. package/.next/types/app/api/tasks/[id]/board/route.ts +1 -1
  253. package/.next/types/app/api/tasks/[id]/route.ts +1 -1
  254. package/.next/types/app/api/tasks/reorder/route.ts +1 -1
  255. package/.next/types/app/api/tasks/route.ts +1 -1
  256. package/.next/types/app/api/terminal/[id]/events/route.ts +1 -1
  257. package/.next/types/app/api/terminal/[id]/route.ts +1 -1
  258. package/.next/types/app/api/terminal/route.ts +1 -1
  259. package/.next/types/app/api/worktrees/route.ts +1 -1
  260. package/.next/types/app/layout.ts +1 -1
  261. package/.next/types/app/page.ts +1 -1
  262. package/bin/pi-web-sky.js +15 -20
  263. package/lib/agent-client.test.mjs +64 -0
  264. package/lib/agent-client.ts +53 -0
  265. package/lib/agent-event-connection.test.mjs +193 -0
  266. package/lib/agent-event-connection.ts +202 -0
  267. package/lib/agent-event-stream.test.mjs +155 -0
  268. package/lib/agent-event-stream.ts +132 -0
  269. package/lib/agent-event-wire.test.mjs +278 -0
  270. package/lib/agent-event-wire.ts +107 -0
  271. package/lib/agent-phase.ts +24 -0
  272. package/lib/allowed-roots.ts +31 -0
  273. package/lib/ansi.test.mjs +52 -0
  274. package/lib/ansi.ts +211 -0
  275. package/lib/api-types.ts +139 -0
  276. package/lib/app-update.test.mjs +27 -0
  277. package/lib/app-update.ts +28 -0
  278. package/lib/atomic-file.test.mjs +37 -0
  279. package/lib/atomic-file.ts +34 -0
  280. package/lib/audit-session.ts +235 -0
  281. package/lib/bash-output.test.mjs +63 -0
  282. package/lib/bash-output.ts +53 -0
  283. package/lib/bg-image.ts +129 -0
  284. package/lib/board-events.ts +83 -0
  285. package/lib/board-purge.test.mjs +66 -0
  286. package/lib/board-purge.ts +65 -0
  287. package/lib/board-search.test.mjs +110 -0
  288. package/lib/board-search.ts +63 -0
  289. package/lib/board-store.test.mjs +542 -0
  290. package/lib/board-store.ts +794 -0
  291. package/lib/board-types.ts +96 -0
  292. package/lib/board-utils.ts +17 -0
  293. package/lib/bounded-form-data.test.mjs +54 -0
  294. package/lib/bounded-form-data.ts +49 -0
  295. package/lib/browser-notifications.test.mjs +167 -0
  296. package/lib/browser-notifications.ts +104 -0
  297. package/lib/chat-lazy-load.test.mjs +140 -0
  298. package/lib/chat-lazy-load.ts +64 -0
  299. package/lib/clipboard-paths.test.mjs +140 -0
  300. package/lib/clipboard-paths.ts +192 -0
  301. package/lib/clipboard.ts +18 -0
  302. package/lib/compaction-summary.test.mjs +44 -0
  303. package/lib/compaction-summary.ts +34 -0
  304. package/lib/custom-ui-terminal.test.mjs +32 -0
  305. package/lib/custom-ui-terminal.ts +27 -0
  306. package/lib/deepseek-pricing.test.mjs +120 -0
  307. package/lib/deepseek-pricing.ts +71 -0
  308. package/lib/directory-browser.test.mjs +60 -0
  309. package/lib/directory-browser.ts +83 -0
  310. package/lib/draft-stash.test.mjs +91 -0
  311. package/lib/draft-stash.ts +102 -0
  312. package/lib/draft-store.ts +105 -0
  313. package/lib/dropdown-direction.ts +27 -0
  314. package/lib/extension-command.test.mjs +63 -0
  315. package/lib/extension-command.ts +81 -0
  316. package/lib/file-access.test.mjs +31 -0
  317. package/lib/file-access.ts +59 -0
  318. package/lib/file-dirent.test.mjs +56 -0
  319. package/lib/file-dirent.ts +17 -0
  320. package/lib/file-explorer-state.test.mjs +63 -0
  321. package/lib/file-explorer-state.ts +36 -0
  322. package/lib/file-fuzzy.test.mjs +29 -0
  323. package/lib/file-fuzzy.ts +189 -0
  324. package/lib/file-links.test.mjs +92 -0
  325. package/lib/file-links.ts +148 -0
  326. package/lib/file-paths.ts +43 -0
  327. package/lib/file-types.test.mjs +34 -0
  328. package/lib/file-types.ts +73 -0
  329. package/lib/file-upload.test.mjs +70 -0
  330. package/lib/file-upload.ts +59 -0
  331. package/lib/file-viewer-state.test.mjs +20 -0
  332. package/lib/file-viewer-state.ts +15 -0
  333. package/lib/frontmatter.test.mjs +55 -0
  334. package/lib/frontmatter.ts +87 -0
  335. package/lib/git-changes.test.mjs +52 -0
  336. package/lib/git-changes.ts +232 -0
  337. package/lib/git-status.ts +47 -0
  338. package/lib/git-types.ts +29 -0
  339. package/lib/http-dispatcher.test.mjs +83 -0
  340. package/lib/http-dispatcher.ts +86 -0
  341. package/lib/i18n/format.test.mjs +19 -0
  342. package/lib/i18n/format.ts +60 -0
  343. package/lib/i18n/messages/en.ts +662 -0
  344. package/lib/i18n/messages/zh-CN.ts +661 -0
  345. package/lib/i18n/registry.test.mjs +32 -0
  346. package/lib/i18n/registry.ts +43 -0
  347. package/lib/i18n/types.ts +15 -0
  348. package/lib/image-attachments.test.mjs +27 -0
  349. package/lib/image-attachments.ts +56 -0
  350. package/lib/initial-navigation.test.mjs +65 -0
  351. package/lib/initial-navigation.ts +15 -0
  352. package/lib/markdown.test.mjs +104 -0
  353. package/lib/markdown.ts +347 -0
  354. package/lib/message-display.test.mjs +130 -0
  355. package/lib/message-display.ts +47 -0
  356. package/lib/model-catalog.test.mjs +327 -0
  357. package/lib/model-catalog.ts +414 -0
  358. package/lib/model-discovery-auth.ts +58 -0
  359. package/lib/model-discovery.test.mjs +50 -0
  360. package/lib/model-discovery.ts +75 -0
  361. package/lib/model-id-preference.ts +46 -0
  362. package/lib/model-scope.test.mjs +193 -0
  363. package/lib/model-scope.ts +198 -0
  364. package/lib/models-cache.test.mjs +122 -0
  365. package/lib/models-cache.ts +90 -0
  366. package/lib/models-config-store.test.mjs +200 -0
  367. package/lib/models-config-store.ts +84 -0
  368. package/lib/next-config-esm.test.mjs +14 -0
  369. package/lib/next-config.test.mjs +13 -0
  370. package/lib/node-version.test.mjs +33 -0
  371. package/lib/normalize.test.mjs +54 -0
  372. package/lib/normalize.ts +63 -0
  373. package/lib/npx.ts +62 -0
  374. package/lib/panel-layout.test.mjs +56 -0
  375. package/lib/panel-layout.ts +52 -0
  376. package/lib/patch.test.mjs +110 -0
  377. package/lib/patch.ts +134 -0
  378. package/lib/path-security.ts +42 -0
  379. package/lib/paths.test.mjs +58 -0
  380. package/lib/paths.ts +71 -0
  381. package/lib/pi-types.ts +183 -0
  382. package/lib/pi-web-options.test.mjs +63 -0
  383. package/lib/process-lifecycle.test.mjs +83 -0
  384. package/lib/project-command-env.test.mjs +298 -0
  385. package/lib/project-command-env.ts +129 -0
  386. package/lib/project-groups.test.mjs +60 -0
  387. package/lib/project-groups.ts +53 -0
  388. package/lib/project-identity.test.mjs +37 -0
  389. package/lib/project-identity.ts +26 -0
  390. package/lib/project-tree.test.mjs +115 -0
  391. package/lib/project-tree.ts +176 -0
  392. package/lib/project-trust.test.mjs +117 -0
  393. package/lib/project-trust.ts +48 -0
  394. package/lib/prompt-recovery.test.mjs +33 -0
  395. package/lib/prompt-recovery.ts +47 -0
  396. package/lib/provider-api-key-route.test.mjs +12 -0
  397. package/lib/provider-credential-store.test.mjs +126 -0
  398. package/lib/provider-credential-store.ts +114 -0
  399. package/lib/provider-listing-runtime.ts +37 -0
  400. package/lib/provider-listing.test.mjs +114 -0
  401. package/lib/provider-listing.ts +118 -0
  402. package/lib/provider-services.ts +64 -0
  403. package/lib/request-security.test.mjs +256 -0
  404. package/lib/request-security.ts +136 -0
  405. package/lib/rpc-manager-shutdown.test.mjs +372 -0
  406. package/lib/rpc-manager-widgets.test.mjs +342 -0
  407. package/lib/rpc-manager.test.mjs +139 -0
  408. package/lib/rpc-manager.ts +1703 -0
  409. package/lib/rpc-session-info.test.mjs +93 -0
  410. package/lib/session-delete.test.mjs +53 -0
  411. package/lib/session-delete.ts +86 -0
  412. package/lib/session-file-references-core.ts +82 -0
  413. package/lib/session-file-references.test.mjs +91 -0
  414. package/lib/session-file-references.ts +29 -0
  415. package/lib/session-path.test.mjs +24 -0
  416. package/lib/session-path.ts +11 -0
  417. package/lib/session-reader.pagination.test.mjs +115 -0
  418. package/lib/session-reader.test.mjs +446 -0
  419. package/lib/session-reader.ts +548 -0
  420. package/lib/session-resolve.test.mjs +65 -0
  421. package/lib/session-row-context-menu.test.mjs +46 -0
  422. package/lib/session-row-context-menu.ts +29 -0
  423. package/lib/session-scanner.test.mjs +151 -0
  424. package/lib/session-scanner.ts +238 -0
  425. package/lib/session-search.test.mjs +173 -0
  426. package/lib/session-search.ts +284 -0
  427. package/lib/session-stats.ts +26 -0
  428. package/lib/session-timing.test.mjs +107 -0
  429. package/lib/session-timing.ts +45 -0
  430. package/lib/session-title.test.mjs +284 -0
  431. package/lib/session-title.ts +255 -0
  432. package/lib/skill-frontmatter.test.mjs +75 -0
  433. package/lib/skill-frontmatter.ts +40 -0
  434. package/lib/skill-lock.test.mjs +182 -0
  435. package/lib/skill-lock.ts +146 -0
  436. package/lib/skill-updates.test.mjs +182 -0
  437. package/lib/skill-updates.ts +263 -0
  438. package/lib/skills-service.ts +16 -0
  439. package/lib/slash-display.test.mjs +122 -0
  440. package/lib/slash-display.ts +30 -0
  441. package/lib/sqlite-db.test.mjs +140 -0
  442. package/lib/sqlite-db.ts +205 -0
  443. package/lib/startup-preferences.test.mjs +130 -0
  444. package/lib/startup-preferences.ts +65 -0
  445. package/lib/streaming-message.test.mjs +212 -0
  446. package/lib/streaming-message.ts +151 -0
  447. package/lib/subagent-widget.test.mjs +87 -0
  448. package/lib/subagent-widget.ts +109 -0
  449. package/lib/sync-room-server.mjs +137 -0
  450. package/lib/task-card-store.test.mjs +309 -0
  451. package/lib/task-card-store.ts +559 -0
  452. package/lib/task-scheduler.ts +498 -0
  453. package/lib/task-store.test.mjs +216 -0
  454. package/lib/task-store.ts +271 -0
  455. package/lib/terminal-input.test.mjs +46 -0
  456. package/lib/terminal-input.ts +63 -0
  457. package/lib/terminal-manager.test.mjs +71 -0
  458. package/lib/terminal-manager.ts +245 -0
  459. package/lib/tool-execution-progress.test.mjs +32 -0
  460. package/lib/tool-execution-progress.ts +29 -0
  461. package/lib/tool-names.ts +25 -0
  462. package/lib/tool-preset-preference.test.mjs +72 -0
  463. package/lib/tool-preset-preference.ts +41 -0
  464. package/lib/tool-presets.test.mjs +56 -0
  465. package/lib/tool-presets.ts +42 -0
  466. package/lib/turn-written-files.test.mjs +137 -0
  467. package/lib/turn-written-files.ts +60 -0
  468. package/lib/types.ts +349 -0
  469. package/lib/wallpaper-settings.ts +191 -0
  470. package/lib/web-auth.test.mjs +50 -0
  471. package/lib/web-auth.ts +45 -0
  472. package/lib/workspace-memory.test.mjs +129 -0
  473. package/lib/workspace-memory.ts +98 -0
  474. package/lib/worktree.test.mjs +50 -0
  475. package/lib/worktree.ts +250 -0
  476. package/package.json +3 -1
  477. package/server.mjs +34 -0
  478. package/.next/server/chunks/7513.js +0 -30
  479. package/.next/static/chunks/5315.03de3c6abd8b283e.js +0 -4
  480. package/.next/static/chunks/next/dist/client/components/builtin/global-error-00a4badaccb388e6.js +0 -1
  481. package/.next/static/css/cf25164cb7c04d95.css +0 -1
  482. /package/.next/static/{Ud6Y2ONkGuPVFbo1xZQvk → 7sDSz-wW-RWYnxh1l6-fD}/_buildManifest.js +0 -0
  483. /package/.next/static/{Ud6Y2ONkGuPVFbo1xZQvk → 7sDSz-wW-RWYnxh1l6-fD}/_ssgManifest.js +0 -0
@@ -0,0 +1,661 @@
1
+ import type { LocalePlugin } from "../types";
2
+
3
+ /** Pi Web 内置简体中文语言包。 */
4
+ export const zhCNLocale: LocalePlugin = {
5
+ id: "zh-CN",
6
+ label: "简体中文",
7
+ messages: {
8
+ "common.ok": "确定",
9
+ "common.close": "关闭",
10
+ "common.language": "语言",
11
+ "common.models": "模型",
12
+ "common.skills": "技能",
13
+ "common.plugins": "插件",
14
+ "appUpdate.releaseNotes": "Pi Web v{version} 可用,查看更新说明",
15
+ "sidebar.hide": "隐藏侧边栏",
16
+ "sidebar.show": "显示侧边栏",
17
+ "theme.light": "浅色模式(点击切换到深色)",
18
+ "theme.dark": "深色模式(点击切换到跟随系统)",
19
+ "theme.auto": "跟随系统(点击切换到浅色)",
20
+ "history.full": "历史",
21
+ "history.unsaved": "会话保存后才能查看历史",
22
+ "history.label": "历史",
23
+ "nav.stats": "统计",
24
+ "nav.todo": "TODO",
25
+ "title.generating": "正在生成...",
26
+ "title.updated": "标题已更新",
27
+ "title.failed": "生成失败",
28
+ "title.generate": "生成标题",
29
+ "title.unsaved": "会话保存后才能生成标题",
30
+ "title.noMessages": "请先发送消息,再为会话命名",
31
+ "title.generateSession": "生成会话标题",
32
+ "system.prompt": "系统提示词",
33
+ "system.empty": "系统提示词为空(工具已禁用)",
34
+ "system.load": "系统提示词尚未加载",
35
+ "system.loading": "正在加载系统提示词…",
36
+ "system.label": "系统",
37
+ "session.info": "会话信息",
38
+ "session.task": "任务",
39
+ "session.name": "名称",
40
+ "session.file": "会话文件",
41
+ "session.inMemory": "内存中",
42
+ "session.id": "ID",
43
+ "session.user": "用户",
44
+ "session.assistant": "助手",
45
+ "session.toolCalls": "工具调用",
46
+ "session.toolResults": "工具结果",
47
+ "session.total": "总计",
48
+ "session.input": "输入",
49
+ "session.output": "输出",
50
+ "session.cacheRead": "缓存读取",
51
+ "session.cacheWrite": "缓存写入",
52
+ "session.cost": "费用",
53
+ "session.context": "上下文",
54
+ "session.cacheHitRate": "平均缓存命中率",
55
+ "session.copy": "复制{value}",
56
+ "session.copied": "已复制",
57
+ "session.title": "会话信息",
58
+ "session.load": "发送消息或运行 /session 以加载会话信息",
59
+ "session.infoSection": "会话信息",
60
+ "session.projectSection": "项目信息",
61
+ "session.messages": "消息",
62
+ "session.tokens": "Token",
63
+ "session.totalActive": "活跃时长",
64
+ "session.copyFile": "复制文件路径",
65
+ "session.copyId": "复制会话 ID",
66
+ "session.projectDir": "项目目录",
67
+ "session.gitBranch": "Git 分支",
68
+ "session.gitWorktree": "Worktree",
69
+ "session.copyProjectDir": "复制项目目录",
70
+ "session.copyGitBranch": "复制 Git 分支",
71
+ "session.copyGitWorktree": "复制 worktree 路径",
72
+ "workspace.opening": "正在打开工作区...",
73
+ "workspace.unable": "无法打开工作区",
74
+ "workspace.selectSession": "从侧边栏选择一个会话",
75
+ "workspace.getStarted": "开始使用",
76
+ "workspace.selectProject": "从侧边栏选择项目目录",
77
+ "workspace.addModels": "点击底部的“模型”按钮添加模型",
78
+ "workspace.stepProject": "从侧边栏选择项目目录",
79
+ "workspace.stepModels": "点击底部的“模型”按钮添加模型",
80
+ "files.hidePanel": "隐藏文件面板",
81
+ "files.showPanel": "显示文件面板",
82
+ "files.noneOpen": "没有打开的文件",
83
+ "layout.resizeSidebar": "调整侧边栏宽度",
84
+ "layout.resizeFilePanel": "调整文件面板宽度",
85
+ "layout.resizeHint": "拖动调整宽度。双击或按 Enter 恢复默认值。",
86
+ "sidebar.new": "新建",
87
+ "sidebar.newSessionTitle": "在 {path} 中新建会话",
88
+ "sidebar.refresh": "刷新",
89
+ "sidebar.selectProject": "选择项目…",
90
+ "sidebar.filterProjects": "筛选项目…",
91
+ "sidebar.noMatchingProjects": "没有匹配的项目",
92
+ "sidebar.useDefaultDirectory": "使用默认目录",
93
+ "sidebar.customPath": "自定义路径…",
94
+ "directoryPicker.selectDirectory": "选择目录",
95
+ "directoryPicker.goToParent": "转到上级目录",
96
+ "directoryPicker.directoryPath": "目录路径",
97
+ "directoryPicker.goToDirectory": "转到目录",
98
+ "directoryPicker.go": "转到",
99
+ "directoryPicker.loadingDirectories": "正在加载目录…",
100
+ "directoryPicker.noSubdirectories": "没有子目录",
101
+ "directoryPicker.openBeforeSelecting": "选择前请先打开此路径",
102
+ "directoryPicker.selectCurrentDirectory": "选择当前目录",
103
+ "directoryPicker.selectThisFolder": "选择此文件夹",
104
+ "directoryPicker.noDrives": "未找到盘符",
105
+ "sidebar.checking": "检查中…",
106
+ "sidebar.open": "打开",
107
+ "sidebar.cancel": "取消",
108
+ "sidebar.openRepoRoot": "打开仓库根目录",
109
+ "sidebar.openRepoRootTitle": "打开仓库根目录以管理 worktree。",
110
+ "sidebar.gitRepoRootOnly": "仅 Git 仓库根目录",
111
+ "sidebar.gitRepoRootOnlyTitle": "只能在 Git 仓库根目录使用 worktree。",
112
+ "sidebar.worktrees": "Worktrees...",
113
+ "sidebar.checkingWorktrees": "正在检查此目录的 worktree。",
114
+ "sidebar.filterWorktrees": "筛选 worktree…",
115
+ "sidebar.noMatchingWorktrees": "没有匹配的 worktree",
116
+ "sidebar.switchWorktree": "切换 worktree",
117
+ "sidebar.switchWorktreeTitle": "切换 worktree:{path}",
118
+ "sidebar.main": "主分支",
119
+ "sidebar.forceRemoveCheckout": "存在未提交的更改。强制移除 checkout?",
120
+ "sidebar.force": "强制移除",
121
+ "sidebar.createWorktreeTitle": "为分支创建 worktree checkout",
122
+ "sidebar.newWorktree": "新建 worktree…",
123
+ "sidebar.branchName": "分支名称",
124
+ "sidebar.creating": "创建中…",
125
+ "sidebar.create": "创建",
126
+ "sidebar.uploadFilesTitle": "将文件上传到项目根目录",
127
+ "sidebar.uploadFiles": "上传文件",
128
+ "sidebar.refreshExplorer": "刷新文件浏览器",
129
+ "sidebar.changedFiles": "{count} 个变更文件",
130
+ "sidebar.loading": "加载中...",
131
+ "sidebar.noSessions": "未找到会话",
132
+ "sidebar.agentRunning": "Agent 运行中…",
133
+ "sidebar.newActivity": "有新活动",
134
+ "sidebar.newSessionActivity": "会话有新活动",
135
+ "sidebar.deleteSession": "删除 {title}?此操作不可恢复",
136
+ "sidebar.rename": "重命名",
137
+ "sidebar.pin": "置顶",
138
+ "sidebar.unpin": "取消置顶",
139
+ "sidebar.pinTask": "置顶任务",
140
+ "sidebar.unpinTask": "取消置顶任务",
141
+ "sidebar.pinned": "已置顶",
142
+ "sidebar.taskRunning": "{count} 个会话运行中",
143
+ "sidebar.moreActions": "更多操作",
144
+ "sidebar.delete": "删除",
145
+
146
+ "sidebar.expandForks": "展开分叉",
147
+ "sidebar.collapseForks": "折叠分叉",
148
+ "sidebar.taskOpenBoard": "打开看板",
149
+ "sidebar.messagesCount": "{count} 条消息",
150
+ "sidebar.views": "视图",
151
+ "sidebar.sessionTab": "会话",
152
+ "sidebar.boardsTab": "看板",
153
+ "sidebar.filesTab": "文件",
154
+ "sidebar.tasks": "任务",
155
+ "sidebar.tempSessions": "聊天",
156
+ "sidebar.newTask": "新建任务…",
157
+ "sidebar.taskName": "任务名称",
158
+ "sidebar.newTaskSession": "新建任务会话",
159
+ "sidebar.loadMoreSessions": "加载更多({count})",
160
+ "sidebar.resizeTasks": "拖拽调整任务区高度",
161
+ "sidebar.deleteTask": "删除任务",
162
+ "sidebar.deleteTaskConfirm": "删除任务「{name}」及其下 {count} 个会话?此操作不可恢复",
163
+ "boards.system": "系统",
164
+ "boards.title": "看板",
165
+ "boards.dragToAdd": "从侧栏拖入会话以添加",
166
+ "boards.dropToAdd": "松手添加会话",
167
+ "boards.loadingSession": "正在加载会话…",
168
+ "boards.sessionMissing": "会话已不存在",
169
+ "boards.collapse": "收合",
170
+ "boards.workbenchLimit": "同时只支持展开一个工作台",
171
+ "boards.create": "创建",
172
+ "boards.running": "运行中",
173
+ "boards.runningDesc": "跨项目自动聚合所有运行中的会话",
174
+ "boards.project": "项目",
175
+ "boards.empty": "还没有看板 — 新建一个吧",
176
+ "boards.new": "新建看板…",
177
+ "boards.rename": "改名",
178
+ "boards.delete": "删除",
179
+ "boards.deleteConfirmTitle": "删除看板?",
180
+ "boards.deleteConfirm": "将删除看板及其节点/连线,会话本身不受影响。",
181
+ "boards.cancel": "取消",
182
+ "boards.namePlaceholder": "看板名称",
183
+ "boards.loadingCanvas": "正在加载画布…",
184
+ "boards.runningEmpty": "当前没有运行中的会话 — 运行中的会话会自动出现在这里",
185
+ "boards.emptyCanvas": "空看板 — 从侧栏添加会话({count} 个节点)",
186
+ "boards.back": "返回",
187
+ "boards.switchBoard": "切换看板",
188
+ "boards.addSession": "添加会话",
189
+ "boards.connect": "连线",
190
+ "boards.connectDesc": "连接两张卡片(先点起点,再点终点)",
191
+ "boards.autoLayout": "自动布局",
192
+ "boards.autoLayoutDesc": "自动布局暂未开放",
193
+ "boards.cleanup": "清理失效",
194
+ "boards.clearDesc": "清空画布(删除所有卡片/便笺/连线)",
195
+ "boards.clearConfirm": "确定清空整张画布?此操作不可撤销。",
196
+ "boards.clearTaskBoardDesc": "清空画布(仅清连线/便笺/文本,会话卡片保留)",
197
+ "boards.clearTaskConfirm": "确定清空画布?连线/便笺/文本将被删除,会话卡片会保留(会话数据不受影响)。",
198
+ "boards.conflictReload": "画布已被其他窗口/设备修改,已自动加载最新版本(未保存的改动已丢弃)",
199
+ "boards.reloadCanvas": "重新加载画布(从服务器刷新所有内容)",
200
+ "boards.scrimTitle": "调节画布磨砂",
201
+ "boards.scrimAlpha": "透明度",
202
+ "boards.scrimBlur": "磨砂强度",
203
+ "boards.noSessions": "没有会话",
204
+ "boards.newSession": "新建会话",
205
+ "boards.draftPlaceholder": "新建会话 — 输入消息开始聊天…",
206
+ "boards.searchPlaceholder": "搜索卡片标题或便笺…",
207
+ "boards.searchNoResults": "没有匹配的节点",
208
+ "boards.searchSession": "会话",
209
+ "boards.searchNote": "便笺",
210
+ "search.placeholder": "搜索会话…", "search.indexing": "正在建立索引…",
211
+ "search.noResults": "没有匹配的会话",
212
+ "search.empty": "输入关键词搜索会话标题或对话内容",
213
+ "search.title": "标题",
214
+ "sidebar.worktreePath": "Worktree:{path}",
215
+ "sidebar.removeWorktreeTitle": "移除 worktree checkout {path};保留分支",
216
+ "files.modified": "已修改",
217
+ "files.added": "已添加",
218
+ "files.deleted": "已删除",
219
+ "files.renamed": "已重命名",
220
+ "files.untracked": "未跟踪",
221
+ "files.conflict": "冲突",
222
+ "files.newlyUploaded": "刚上传",
223
+ "files.containsChangedFiles": "包含已更改文件",
224
+ "files.insertPath": "将路径插入聊天",
225
+ "files.mention": "提及",
226
+ "files.download": "下载文件",
227
+ "files.dismissError": "关闭错误",
228
+ "files.addUploadedFile": "将上传的文件添加到聊天",
229
+ "files.addAllUploadedFiles": "将所有上传的文件添加到聊天",
230
+ "files.dismissUploadResults": "关闭上传结果",
231
+ "files.loading": "正在加载文件...",
232
+ "files.searchPlaceholder": "搜索文件…",
233
+ "files.noFiles": "未找到文件",
234
+ "files.explorer": "文件浏览器",
235
+ "files.changedCount": "{count} 个文件",
236
+ "files.changeStats": "{count} 个变更文件,新增 {additions} 行,删除 {deletions} 行",
237
+ "files.conflictSummary": "已有 {count} 个文件:{files}",
238
+ "files.cannotReplace": "无法替换:{files}",
239
+ "files.replace": "替换",
240
+ "files.skipExisting": "跳过已有文件",
241
+ "files.cancel": "取消",
242
+ "files.checking": "正在检查文件",
243
+ "files.uploading": "正在上传,{progress}%",
244
+ "chat.loadingSession": "正在加载会话...",
245
+ "chat.runningTool": "正在运行工具...",
246
+ "chat.generatingToolInput": "正在生成参数...",
247
+ "chat.runningNamedTool": "正在运行 {name}...",
248
+ "chat.runningTools": "正在运行 {names}...",
249
+ "chat.runningToolsMore": "正在运行 {names}(另有 {count} 个)...",
250
+ "chat.waitingModel": "正在等待模型...",
251
+ "chat.runningCommand": "正在运行命令...",
252
+ "chat.commandBusy": "正在执行 {name}…",
253
+ "chat.thinking": "正在思考...",
254
+ "chat.processDetails": "处理详情",
255
+ "chat.message": "条消息",
256
+ "chat.messages": "条消息",
257
+ "chat.toolCall": "次工具调用",
258
+ "chat.toolCalls": "次工具调用",
259
+ "chat.collapseProcess": "收起处理详情",
260
+ "chat.expandProcess": "展开处理详情",
261
+ "chat.filesWritten": "改动的文件",
262
+ "chat.openWrittenFile": "打开 {name}",
263
+ "chat.loadEarlier": "向上滚动以加载更早的消息(隐藏 {count} 条)",
264
+ "chat.extensionRequest": "扩展请求",
265
+ "chat.cancel": "取消",
266
+ "chat.confirm": "确认",
267
+ "chat.submit": "提交",
268
+ "chat.extensionInput": "扩展终端输入",
269
+ "chat.extensionPanel": "扩展面板",
270
+ "chat.extensionWidgets": "扩展组件",
271
+ "chat.extensionWidgetAbove": "输入框上方组件",
272
+ "chat.extensionWidgetBelow": "输入框下方组件",
273
+ "chat.extensionWidgetLine": "{count} 行",
274
+ "chat.extensionWidgetLines": "{count} 行",
275
+ "chat.close": "关闭",
276
+ "chat.extensionInspect": "详情",
277
+ "chat.extensionNoDetail": "暂无详细过程(可尝试刷新后重试)",
278
+ "chat.queued": "已排队 · {count}",
279
+ "chat.recall": "移回输入框",
280
+ "chat.recallTitle": "移除所有排队消息并将其放回输入框编辑",
281
+ "chat.retrying": "正在重试({attempt}/{max})…",
282
+ "chat.loadingCommands": "正在加载命令...",
283
+ "chat.slashCommands": "斜杠命令 · {label}",
284
+ "chat.tabEnter": "Tab / Enter",
285
+ "chat.noCommands": "未找到扩展、提示词或技能命令",
286
+ "chat.match": "1 个匹配项",
287
+ "chat.matches": "{count} 个匹配项",
288
+ "chat.command": "1 个命令",
289
+ "chat.commands": "{count} 个命令",
290
+ "chat.loadingFiles": "正在加载文件...",
291
+ "chat.files": "文件 · {label}{hint}",
292
+ "chat.searching": "搜索中…",
293
+ "chat.noMatchingFiles": "未找到匹配的文件",
294
+ "chat.searchingAll": " · 正在搜索所有文件…",
295
+ "chat.indexTruncated": " · 索引不完整",
296
+ "chat.steerPlaceholder": "立即引导 / 排队后续消息...",
297
+ "chat.agentPlaceholder": "Agent 运行中…",
298
+ "chat.messagePlaceholder": "消息…输入 / 使用命令,输入 @ 查找文件",
299
+ "chat.taskPlaceholder": "[{task}] - 消息…输入 / 使用命令,输入 @ 查找文件",
300
+ "chat.steer": "引导",
301
+ "chat.followUp": "后续消息",
302
+ "chat.send": "发送",
303
+ "chat.attachImage": "附加图片",
304
+ "chat.previewImage": "预览图片",
305
+ "chat.filterModels": "筛选模型…",
306
+ "chat.noMatchingModels": "没有匹配的模型",
307
+ "chat.showModelId": "显示 ID",
308
+ "chat.moreControls": "更多控件",
309
+ "chat.collapseControls": "收起控件",
310
+ "chat.shell": "Shell",
311
+ "chat.outputLocal": "输出保留在本地",
312
+ "chat.outputModel": "输出发送给模型",
313
+ "chat.noTools": "不使用工具",
314
+ "chat.readOnlyTools": "{count} 个只读内置工具",
315
+ "chat.builtInTools": "{count} 个内置工具",
316
+ "chat.allBuiltInTools": "全部内置工具",
317
+ "chat.changeReasoning": "更改推理级别:{level}",
318
+ "chat.changeReasoningLabel": "更改推理级别",
319
+ "chat.changeToolPreset": "更改工具预设",
320
+ "chat.stopCompaction": "停止压缩",
321
+ "chat.compactContext": "压缩上下文",
322
+ "chat.compacting": "正在压缩…",
323
+ "chat.compact": "压缩",
324
+ "chat.scrollToLatest": "回到底部",
325
+ "bg.title": "背景图",
326
+ "bg.choose": "选择图片…",
327
+ "bg.replace": "更换图片…",
328
+ "bg.remove": "移除背景图",
329
+ "bg.hint": "原图保存在浏览器本地,不重新编码、不上传。",
330
+ "bg.repeat": "平铺(横向重复)",
331
+ "bg.fill": "边缘色彩填充",
332
+ "bg.adjust": "调整横向位置…",
333
+ "bg.adjustHint": "左右拖拽调整壁纸位置",
334
+ "bg.adjustDone": "移动完成",
335
+ "bg.reset": "重置位置",
336
+ "bg.bubbleOpacity": "气泡透明度",
337
+ "bg.bubbleBlur": "磨砂强度",
338
+ "bg.bubbleReset": "重置气泡",
339
+ "chat.stopAgent": "停止 Agent",
340
+ "chat.stop": "停止",
341
+ "chat.disableSound": "关闭完成提示音",
342
+ "chat.enableSound": "开启完成提示音",
343
+ "chat.thinkingUseDefault": "使用 pi 默认设置",
344
+ "chat.thinkingOff": "关闭推理",
345
+ "chat.thinkingMinimal": "最低限度推理",
346
+ "chat.thinkingLow": "低强度推理",
347
+ "chat.thinkingMedium": "中等强度推理",
348
+ "chat.thinkingHigh": "高强度推理",
349
+ "chat.thinkingXhigh": "超高强度推理",
350
+ "chat.thinkingMax": "最高强度推理",
351
+ "chat.builtIn": "内置",
352
+ "chat.extensions": "扩展",
353
+ "chat.prompts": "提示词",
354
+ "chat.skills": "技能",
355
+ "chat.dormant": "休眠",
356
+ "chat.commandCompact": "压缩上下文,可选附加说明",
357
+ "chat.commandReload": "重新加载扩展、技能、提示词和工具",
358
+ "chat.commandName": "设置会话显示名称",
359
+ "chat.commandSession": "显示会话消息、Token 和费用统计",
360
+ "chat.commandCopy": "复制最后一条助手消息",
361
+ "chat.compacted": "已压缩",
362
+ "chat.tokensSaved": "节省 {saved}",
363
+ "i18n.close": "关闭",
364
+ "i18n.copy": "复制",
365
+ "i18n.pin": "钉",
366
+ "i18n.pinTitle": "钉住此消息(生成可拖拽/缩放的浮窗)",
367
+ "i18n.copied": "已复制",
368
+ "i18n.cancel": "取消",
369
+ "i18n.save": "保存",
370
+ "i18n.saving": "保存中…",
371
+ "i18n.saved": "已保存",
372
+ "i18n.remove": "移除",
373
+ "i18n.removing": "移除中…",
374
+ "i18n.delete": "删除",
375
+ "i18n.loading": "加载中...",
376
+ "i18n.search": "搜索",
377
+ "i18n.refresh": "刷新",
378
+ "i18n.update": "更新",
379
+ "i18n.updating": "更新中...",
380
+ "i18n.check": "检查",
381
+ "i18n.checking": "检查中...",
382
+ "i18n.install": "安装",
383
+ "i18n.installing": "安装中...",
384
+ "i18n.noResults": "没有结果",
385
+ "i18n.searchProviders": "搜索 Provider…",
386
+ "i18n.noProviders": "没有匹配的 Provider",
387
+ "i18n.newModel": "新模型",
388
+ "i18n.addProvider": "添加 Provider",
389
+ "i18n.selectProviderModel": "选择 Provider 或模型",
390
+ "i18n.visibleInPrompt": "在模型提示词中可见,点击以禁用",
391
+ "i18n.hiddenFromPrompt": "在模型提示词中隐藏,点击以启用",
392
+ "i18n.dormant": "休眠",
393
+ "i18n.hiddenButInvocable": "对模型隐藏,仍可手动调用",
394
+ "i18n.skillSearchPlaceholder": "例如 react、testing、deploy",
395
+ "i18n.searching": "搜索中…",
396
+ "i18n.noSkills": "未找到技能",
397
+ "i18n.checkUpdates": "检查更新",
398
+ "i18n.updates": "项更新",
399
+ "i18n.noResolvedResources": "没有已解析资源",
400
+ "i18n.enablePackage": "启用包",
401
+ "i18n.disablePackage": "禁用包",
402
+ "i18n.filtered": "已筛选",
403
+ "i18n.openSessionToReload": "打开会话后才能重新加载",
404
+ "i18n.notFound": "未找到",
405
+ "i18n.noPlugins": "未配置插件",
406
+ "trust.resourcesNotLoaded": "受限模式",
407
+ "trust.trustProject": "信任项目",
408
+ "trust.trusting": "正在信任...",
409
+ "trust.cancel": "取消",
410
+ "trust.dialogTitle": "信任此项目?",
411
+ "trust.dialogBody": "项目资源可以运行本地代码。请仅信任你了解其内容的项目。",
412
+ "trust.skillsNotLoaded": "此项目尚未受信任,项目技能未加载。",
413
+ "trust.pluginsNotLoaded": "此项目尚未受信任,项目插件未加载。",
414
+ "trust.projectScopeUnavailable": "项目资源未加载时,无法安装到项目范围。",
415
+ "i18n.creatingSession": "正在创建新会话…",
416
+ "i18n.creating": "创建中…",
417
+ "i18n.subscription": "订阅",
418
+ "i18n.subscriptions": "订阅服务",
419
+ "i18n.customEndpoint": "自定义端点格式",
420
+ "i18n.noChanges": "没有更改",
421
+ "i18n.branches": "分支",
422
+ "i18n.noActiveSession": "没有活动会话",
423
+ "i18n.noBranches": "此会话没有分支",
424
+ "i18n.source": "源代码",
425
+ "i18n.preview": "预览",
426
+ "i18n.diff": "Diff",
427
+ "i18n.downloadFile": "下载文件",
428
+ "i18n.liveSync": "实时同步已启用",
429
+ "i18n.notWatching": "未监视",
430
+ "i18n.fileViewMode": "文件视图模式",
431
+ "i18n.compareHead": "比较工作区与 HEAD",
432
+ "i18n.mentionSelectedLines": "提及所选行",
433
+ "i18n.disableWrap": "禁用自动换行",
434
+ "i18n.enableWrap": "启用自动换行",
435
+ "i18n.htmlPreview": "HTML 预览",
436
+ "i18n.previewFile": "预览 {file}",
437
+ "i18n.invalidMermaid": "Mermaid 图表无效",
438
+ "i18n.renderingMermaid": "正在渲染 Mermaid 图表",
439
+ "i18n.previewAfterStreaming": "流式输出完成后可预览",
440
+ "i18n.showMermaidSource": "显示 Mermaid 源码",
441
+ "i18n.previewMermaid": "预览 Mermaid 图表",
442
+ "i18n.openMermaidViewer": "打开图表查看器",
443
+ "i18n.mermaidViewer": "Mermaid 图表查看器",
444
+ "i18n.mermaidDiagram": "Mermaid 图表",
445
+ "i18n.zoomOut": "缩小",
446
+ "i18n.zoomIn": "放大",
447
+ "i18n.fitToWidth": "适应宽度",
448
+ "models.discoveryFetching": "正在导入模型…",
449
+ "models.discoveryFetch": "导入模型…",
450
+ "models.discoveryFilterPlaceholder": "筛选 {count} 个模型…",
451
+ "models.discoveryFilter": "筛选上游模型",
452
+ "models.discoverySelectShown": "选择当前结果",
453
+ "models.discoveryNoMatches": "没有匹配的模型。",
454
+ "models.discoveryAdded": "已添加",
455
+ "models.discoveryShowing": "显示前 {shown} 个,共 {total} 个",
456
+ "models.discoveryFetched": "已获取 {count} 个模型",
457
+ "models.discoveryAddSelected": "添加所选模型",
458
+ "models.discoveryAddSelectedCount": "添加所选模型({count})",
459
+ "models.catalogSource": "来源:models.dev ↗",
460
+ "models.catalogFilling": "正在填入模型信息…",
461
+ "models.catalogFill": "填入模型信息",
462
+ "models.catalogFilled": "已填入 {count} 个字段",
463
+ "models.catalogNoEmptyFields": "没有需要填入的空字段",
464
+ "models.catalogNoExactMatch": "models.dev 中没有精确匹配",
465
+ "models.catalogPriceProvider": "价格已匹配 Provider {provider}",
466
+ "models.catalogPriceBaseUrl": "价格已按 Base URL 匹配 {provider}",
467
+ "models.catalogPriceConsensus": "价格得到 {support}/{total} 条记录支持",
468
+ "models.catalogPriceUnreliable": "未找到可靠价格",
469
+ "models.catalogUndo": "撤销",
470
+ "models.capabilities": "能力",
471
+ "models.reasoning": "推理 / 思考",
472
+ "models.imageInput": "图片输入",
473
+ "models.modelSpecs": "模型规格",
474
+ "models.contextWindow": "上下文窗口(tokens)",
475
+ "models.maxOutputTokens": "最大输出 tokens",
476
+ "models.costPerMillion": "每百万 tokens 价格",
477
+ "models.costInput": "输入",
478
+ "models.costOutput": "输出",
479
+ "models.costCacheRead": "缓存读取",
480
+ "models.costCacheWrite": "缓存写入",
481
+ "models.notProvided": "未提供",
482
+ "models.editCosts": "编辑价格",
483
+ "models.finishEditingCosts": "完成",
484
+ "models.costAllRequired": "请输入有效的非负价格;留空项将按 0 保存。",
485
+ "models.advancedSettings": "高级设置",
486
+ "models.providerDefaults": "沿用 Provider 默认设置",
487
+ "models.headersSummary": "Headers:{count}",
488
+ "models.compatSummary": "兼容性:{count}",
489
+ "models.thinkingSummary": "思考等级:{count}",
490
+ "models.apiOverride": "API 覆盖",
491
+ "models.headers": "Headers",
492
+ "models.headersHelp": "仅添加到该模型的请求中,并覆盖 Provider 的同名 Header。",
493
+ "models.compatibility": "兼容性",
494
+ "models.deepSeekThinkingCompat": "DeepSeek 思考兼容",
495
+ "models.developerRole": "使用 developer role 传递系统提示词",
496
+ "models.thinkingLevelMap": "思考等级映射",
497
+ "models.clearAll": "全部清除",
498
+ "i18n.testingModel": "正在测试模型连接...",
499
+ "i18n.connected": "已连接",
500
+ "i18n.failed": "失败",
501
+ "i18n.test": "测试",
502
+ "i18n.testConnection": "测试模型连接",
503
+ "i18n.provider": "Provider",
504
+ "i18n.model": "模型",
505
+ "i18n.providerName": "Provider 名称",
506
+ "i18n.rename": "重命名",
507
+ "i18n.default": "默认",
508
+ "i18n.disabled": "已禁用",
509
+ "i18n.noResources": "没有资源",
510
+ "i18n.unknown": "未知",
511
+ "i18n.installedVersion": "已安装 {version}",
512
+ "i18n.configuredVersion": "已配置 {version}",
513
+ "i18n.extensions": "扩展",
514
+ "i18n.prompts": "提示词",
515
+ "i18n.themes": "主题",
516
+ "i18n.resourceCount": "{count}{label}",
517
+ "i18n.extensionShort": "扩展",
518
+ "i18n.skillShort": "技能",
519
+ "i18n.promptShort": "提示词",
520
+ "i18n.themeShort": "主题",
521
+ "i18n.custom": "自定义",
522
+ "i18n.clearAll": "清除全部",
523
+ "i18n.connectedSuccessfully": "连接成功。",
524
+ "i18n.notConnected": "未连接",
525
+ "i18n.configured": "已配置",
526
+ "i18n.notConfigured": "未配置",
527
+ "i18n.openingBrowser": "正在打开浏览器…",
528
+ "i18n.submit": "提交",
529
+ "i18n.login": "登录",
530
+ "i18n.relogin": "重新登录",
531
+ "i18n.disconnect": "断开连接",
532
+ "i18n.networkError": "网络错误",
533
+ "i18n.continuing": "继续中…",
534
+ "i18n.skills": "技能",
535
+ "i18n.plugins": "插件",
536
+ "i18n.addSkill": "添加技能",
537
+ "i18n.addPlugin": "添加插件",
538
+ "i18n.selectSkill": "选择技能",
539
+ "i18n.selectPackage": "选择包",
540
+ "i18n.updateAvailable": "有可用更新",
541
+ "i18n.upToDate": "已是最新",
542
+ "i18n.automaticChecksUnavailable": "自动检查不可用",
543
+ "i18n.checkFailed": "检查失败",
544
+ "i18n.installed": "已安装",
545
+ "i18n.status": "状态",
546
+ "i18n.version": "版本",
547
+ "i18n.package": "包",
548
+ "i18n.resources": "资源",
549
+ "i18n.installedPath": "安装路径",
550
+ "i18n.cwd": "CWD",
551
+ "i18n.resolvedResources": "已解析资源",
552
+ "i18n.reloadSession": "重新加载会话",
553
+ "i18n.reloading": "重新加载中...",
554
+ "i18n.packageRemoved": "包已移除。",
555
+ "i18n.packageInstalled": "包已安装。",
556
+ "i18n.packageUpdated": "包已更新。",
557
+ "i18n.packageDisabled": "包已禁用。",
558
+ "i18n.packageEnabled": "包已启用。",
559
+ "i18n.sessionReloaded": "会话已重新加载。",
560
+ "i18n.thinking": "思考",
561
+ "i18n.largeMessageReveal": "消息内容过大({size})。点击以纯文本查看 — 已禁用 markdown 渲染以避免页面卡顿。",
562
+ "i18n.loadingThinking": "正在加载思考内容...",
563
+ "i18n.copyMessage": "复制消息",
564
+ "i18n.editFromHere": "从此处编辑",
565
+ "i18n.editFromHereTitle": "从此处编辑,此会话内创建分支",
566
+ "i18n.newSession": "新会话",
567
+ "i18n.newSessionTitle": "新会话,从此处创建独立副本",
568
+ "i18n.estimatedTokens": "流式输出期间的估算 Token 数",
569
+ "i18n.noOutput": "(无输出)",
570
+ "i18n.noSummary": "(无摘要)",
571
+ "i18n.conversationCompacted": "会话已压缩",
572
+ "i18n.compactionDescription": "此处之前的会话历史已压缩为以下摘要:",
573
+ "i18n.fileContext": "文件上下文:{details}",
574
+ "i18n.readFiles": "读取的文件",
575
+ "i18n.modifiedFiles": "修改的文件",
576
+ "i18n.hiddenExtensionMessage": "隐藏的扩展消息",
577
+ "i18n.noMessage": "(无消息)",
578
+ "i18n.showExtensionMessage": "显示扩展消息",
579
+ "i18n.collapse": "收起",
580
+ "i18n.expand": "展开",
581
+ "i18n.hideDetails": "隐藏详情",
582
+ "i18n.showDetails": "显示详情",
583
+ "i18n.thinkingUnavailable": "思考内容不可用",
584
+ "i18n.before": "之前",
585
+ "i18n.after": "之后",
586
+ "i18n.sessionComplete": "任务完成",
587
+ "i18n.taskFinished": "任务已完成。",
588
+ "i18n.attentionNeeded": "Pi 需要你的操作",
589
+ "i18n.extensionInputNeeded": "扩展正在等待你的输入。",
590
+ "todo.title": "任务",
591
+ "todo.completed": "已完成",
592
+ "todo.empty": "暂无任务,可以让 agent 添加。",
593
+ "notice.title": "通知",
594
+ "notice.empty": "暂无通知",
595
+ "notice.expand": "展开详情",
596
+ "notice.collapse": "收起",
597
+ "notice.remove": "移除通知",
598
+ "notice.clearAll": "全部清理",
599
+ "terminal.title": "终端",
600
+ "terminal.new": "新建终端",
601
+ "terminal.all": "全部终端",
602
+ "terminal.exited": "已退出",
603
+ "terminal.cleanupDisconnected": "清理失联终端",
604
+ "terminal.empty": "暂无终端会话",
605
+ "terminal.createFirst": "新建终端会话",
606
+ "terminal.close": "结束进程并关闭",
607
+ "terminal.resize": "拖拽调整终端大小",
608
+ "terminal.drag": "拖拽移动终端位置",
609
+ "mcp.sectionTitle": "MCP 服务器",
610
+ "mcp.addButton": "添加MCP",
611
+ "mcp.emptyList": "暂无 MCP 服务器,点击下方\"添加MCP\"创建",
612
+ "mcp.emptyDetail": "选择左侧一个 MCP 服务器,或点击\"添加MCP\"",
613
+ "mcp.itemEnabled": "已启用",
614
+ "mcp.itemDisabled": "已禁用",
615
+ "mcp.addTitle": "添加 MCP 服务器",
616
+ "mcp.editTitle": "编辑 MCP:{name}",
617
+ "mcp.modeBasic": "基础配置",
618
+ "mcp.modeJson": "JSON 高级",
619
+ "mcp.nameLabel": "名称",
620
+ "mcp.namePlaceholder": "如 github",
621
+ "mcp.specLabel": "命令 或 URL(http/https 开头识别为 URL)",
622
+ "mcp.specPlaceholder": "npx -y @modelcontextprotocol/server-github 或 https://example.com/mcp",
623
+ "mcp.argsLabel": "附加参数(可选,空格分隔)",
624
+ "mcp.jsonLabel": "服务器定义(JSON)—— 支持 command/url/socket、args、env、lifecycle、directTools、timeout 等全部字段",
625
+ "mcp.loadingDef": "加载配置中...",
626
+ "mcp.jsonEmpty": "JSON 不能为空",
627
+ "mcp.jsonParseError": "JSON 解析失败:{message}",
628
+ "mcp.jsonNotObject": "JSON 必须是对象,如 {\"command\":\"npx\",\"args\":[\"-y\",\"...\"]}",
629
+ "mcp.jsonNeedsEntry": "JSON 需要包含 command、url 或 socket 之一",
630
+ "mcp.save": "保存",
631
+ "mcp.saveEdit": "保存修改",
632
+ "mcp.saving": "保存中...",
633
+ "mcp.cancel": "取消",
634
+ "mcp.enable": "启用",
635
+ "mcp.disable": "禁用",
636
+ "mcp.disabledBadge": "已禁用",
637
+ "mcp.test": "测试连接",
638
+ "mcp.testing": "测试中...",
639
+ "mcp.edit": "编辑",
640
+ "mcp.delete": "删除",
641
+ "mcp.moveToGlobal": "移动至global",
642
+ "mcp.moveToProject": "移动至project",
643
+ "mcp.kindCommand": "命令",
644
+ "mcp.kindUrl": "URL",
645
+ "mcp.kindSocket": "Socket",
646
+ "mcp.fieldType": "类型",
647
+ "mcp.fieldArgs": "参数",
648
+ "mcp.fieldEnv": "环境变量",
649
+ "mcp.fieldOptions": "选项",
650
+ "mcp.fieldSource": "来源",
651
+ "mcp.fieldCwd": "CWD",
652
+ "mcp.msgEnabled": "已启用 {name}(执行 /reload 生效)",
653
+ "mcp.msgDisabled": "已禁用 {name}(执行 /reload 生效)",
654
+ "mcp.msgDeleted": "已删除 {name}",
655
+ "mcp.msgMoved": "已移动 {name} → {scope}(执行 /reload 生效)",
656
+ "mcp.msgUpdated": "已更新 {name}(执行 /reload 生效)",
657
+ "mcp.msgAdded": "已添加 {name}(执行 /reload 生效)",
658
+ "mcp.msgTestResult": "测试 {name}:{result}",
659
+ "mcp.msgTestError": "测试 {name}:{error}",
660
+ },
661
+ };