@chainingintention/pi-web-cn 2.202610.4 → 2.202611.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1010) hide show
  1. package/README.md +4 -2
  2. package/dist/bin/pi-web-server.sh +91 -0
  3. package/dist/bin/pi-web-sessiond.sh +91 -0
  4. package/dist/bin/pi-web.sh +91 -0
  5. package/dist/cli.js +33 -29
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client/assets/3d-Dr68X8h8.svg +1 -0
  8. package/dist/client/assets/PiWebApp-D9e-Nrxi.js +3952 -0
  9. package/dist/client/assets/SettingsDialog-BvlvoXvD.js +1129 -0
  10. package/dist/client/assets/abap-uAHVFerN.svg +1 -0
  11. package/dist/client/assets/abc-CXjdSXsv.svg +1 -0
  12. package/dist/client/assets/actionscript-BCkIwjgm.svg +1 -0
  13. package/dist/client/assets/ada-GL6JWmc_.svg +1 -0
  14. package/dist/client/assets/adobe-illustrator-DhGvkpwi.svg +1 -0
  15. package/dist/client/assets/adobe-photoshop-0hmnA7cm.svg +1 -0
  16. package/dist/client/assets/adobe-swc-myFGSGFT.svg +1 -0
  17. package/dist/client/assets/adonis-SdGYdzCA.svg +1 -0
  18. package/dist/client/assets/advpl-BWLgf_Ky.svg +1 -0
  19. package/dist/client/assets/advpl-include-DYgH3R0u.svg +1 -0
  20. package/dist/client/assets/advpl-ptm-C5Y5ffZi.svg +1 -0
  21. package/dist/client/assets/advpl-tlpp-BAlVwpPL.svg +1 -0
  22. package/dist/client/assets/agent-DAWBwR7s.svg +1 -0
  23. package/dist/client/assets/amplify-BAWPaFFb.svg +1 -0
  24. package/dist/client/assets/android-TigHCxTb.svg +1 -0
  25. package/dist/client/assets/angular-D2ijCUIg.svg +1 -0
  26. package/dist/client/assets/angular-component-eczQQRE6.svg +1 -0
  27. package/dist/client/assets/angular-directive-C_jq8cjP.svg +1 -0
  28. package/dist/client/assets/angular-guard-B4iC5rXF.svg +1 -0
  29. package/dist/client/assets/angular-interceptor-CJvi6DuQ.svg +1 -0
  30. package/dist/client/assets/angular-pipe-BQZMATB_.svg +1 -0
  31. package/dist/client/assets/angular-service-DHYn6jIk.svg +1 -0
  32. package/dist/client/assets/antlr-DkzdiGgY.svg +1 -0
  33. package/dist/client/assets/apiblueprint-BDRvCIBM.svg +1 -0
  34. package/dist/client/assets/apollo-BAVoyYDs.svg +1 -0
  35. package/dist/client/assets/applescript-Bm_R8YT0.svg +1 -0
  36. package/dist/client/assets/apps-script-6efl-CXu.svg +1 -0
  37. package/dist/client/assets/appveyor-6B1suIBr.svg +1 -0
  38. package/dist/client/assets/appwrite-D7AlK8SW.svg +1 -0
  39. package/dist/client/assets/architecture-CtuqF8rD.svg +1 -0
  40. package/dist/client/assets/arduino-DFxCIupZ.svg +1 -0
  41. package/dist/client/assets/asciidoc-DUAdVwVP.svg +1 -0
  42. package/dist/client/assets/assembly-BKikEKKy.svg +1 -0
  43. package/dist/client/assets/astro-Bivf18eC.svg +1 -0
  44. package/dist/client/assets/astro-config-Cr5suFul.svg +1 -0
  45. package/dist/client/assets/astyle-BiqOWu-0.svg +1 -0
  46. package/dist/client/assets/audio-B4FatEUD.svg +1 -0
  47. package/dist/client/assets/aurelia-CnUjHPcZ.svg +1 -0
  48. package/dist/client/assets/authors-DdaDoKVR.svg +1 -0
  49. package/dist/client/assets/auto-BOO_fhxh.svg +1 -0
  50. package/dist/client/assets/autohotkey-D87F33UG.svg +1 -0
  51. package/dist/client/assets/autoit-DQTGS66r.svg +1 -0
  52. package/dist/client/assets/azure-DMSkMABH.svg +1 -0
  53. package/dist/client/assets/azure-pipelines-CcGJw3Rl.svg +1 -0
  54. package/dist/client/assets/babel-DFMbiqHA.svg +1 -0
  55. package/dist/client/assets/ballerina-BT8MyHl8.svg +1 -0
  56. package/dist/client/assets/bashly-settings-Ch9mIpw9.svg +1 -0
  57. package/dist/client/assets/bazel-CPXexffJ.svg +1 -0
  58. package/dist/client/assets/bbx-CB-6IYxw.svg +1 -0
  59. package/dist/client/assets/beancount-DR_GSwds.svg +1 -0
  60. package/dist/client/assets/bench-js-DOHd4EZB.svg +1 -0
  61. package/dist/client/assets/bench-jsx-CLJJl81D.svg +1 -0
  62. package/dist/client/assets/bench-ts-BM8GsfrF.svg +1 -0
  63. package/dist/client/assets/bibliography-D3emS1pd.svg +1 -0
  64. package/dist/client/assets/bibtex-style-CVY4tTiP.svg +1 -0
  65. package/dist/client/assets/bicep-BMMGt18P.svg +1 -0
  66. package/dist/client/assets/biome-Bf2373dl.svg +1 -0
  67. package/dist/client/assets/bitbucket-BQr8Az5R.svg +1 -0
  68. package/dist/client/assets/bithound-BOh7-s-G.svg +1 -0
  69. package/dist/client/assets/blender-B7Vz8gxa.svg +1 -0
  70. package/dist/client/assets/blink-DVWcfhba.svg +1 -0
  71. package/dist/client/assets/blitz-B4hhOxPa.svg +1 -0
  72. package/dist/client/assets/bower-CkFcC1Ou.svg +1 -0
  73. package/dist/client/assets/brainfuck-BXozg9z7.svg +1 -0
  74. package/dist/client/assets/browserlist-CUbhNMS9.svg +1 -0
  75. package/dist/client/assets/bruno-CoSNrNfv.svg +1 -0
  76. package/dist/client/assets/buck-BRuOl0ko.svg +1 -0
  77. package/dist/client/assets/bucklescript-TfoVgTnq.svg +1 -0
  78. package/dist/client/assets/buildkite-BrDKWLhW.svg +1 -0
  79. package/dist/client/assets/bun-CZtgPBjt.svg +1 -0
  80. package/dist/client/assets/c-CCkhSkL9.svg +1 -0
  81. package/dist/client/assets/c3-J0cVtsWq.svg +1 -0
  82. package/dist/client/assets/cabal-CQb4_DnV.svg +1 -0
  83. package/dist/client/assets/caddy-ywaArsUF.svg +1 -0
  84. package/dist/client/assets/cadence-BRBsaulT.svg +1 -0
  85. package/dist/client/assets/cairo-Cls19dwE.svg +1 -0
  86. package/dist/client/assets/cake-DpuWz3gE.svg +1 -0
  87. package/dist/client/assets/capacitor-CugB3p3d.svg +1 -0
  88. package/dist/client/assets/capnp-DtxOZ2_z.svg +1 -0
  89. package/dist/client/assets/cbx-QvSmyWq4.svg +1 -0
  90. package/dist/client/assets/cds-Bi3ghsEA.svg +1 -0
  91. package/dist/client/assets/certificate-B5QPOK_C.svg +1 -0
  92. package/dist/client/assets/changelog-mhp3hE32.svg +1 -0
  93. package/dist/client/assets/chess-4hVz24Rg.svg +1 -0
  94. package/dist/client/assets/chromatic-DRZoj4Hg.svg +1 -0
  95. package/dist/client/assets/chrome-ox3b9yI4.svg +1 -0
  96. package/dist/client/assets/circleci-DubwoSEv.svg +1 -0
  97. package/dist/client/assets/citation-ldCt-JF8.svg +1 -0
  98. package/dist/client/assets/clangd-bL8W2_13.svg +1 -0
  99. package/dist/client/assets/claude-DypBvzkn.svg +1 -0
  100. package/dist/client/assets/cline-Dd7x4bMT.svg +1 -0
  101. package/dist/client/assets/clojure-wfCfR06G.svg +1 -0
  102. package/dist/client/assets/cloudfoundry-BS-9yLUv.svg +1 -0
  103. package/dist/client/assets/cmake-B7q-R28A.svg +1 -0
  104. package/dist/client/assets/coala-D4YHPVOS.svg +1 -0
  105. package/dist/client/assets/cobol-wDz3o6g-.svg +1 -0
  106. package/dist/client/assets/coconut-C7cPswso.svg +1 -0
  107. package/dist/client/assets/code-climate-BJrwzyOv.svg +1 -0
  108. package/dist/client/assets/codecov-CXg1oY95.svg +1 -0
  109. package/dist/client/assets/codeowners-D_rztV49.svg +1 -0
  110. package/dist/client/assets/coderabbit-ai-DGoTDlyw.svg +1 -0
  111. package/dist/client/assets/coffee-D5JGmA63.svg +1 -0
  112. package/dist/client/assets/coldfusion-DhOnvVS_.svg +1 -0
  113. package/dist/client/assets/coloredpetrinets-DY894G_S.svg +1 -0
  114. package/dist/client/assets/command-Df3AkI2A.svg +1 -0
  115. package/dist/client/assets/commitizen-9SU1u7to.svg +1 -0
  116. package/dist/client/assets/commitlint-3vvjpxJt.svg +1 -0
  117. package/dist/client/assets/composerShortcuts-BggqvE9J.js +31 -0
  118. package/dist/client/assets/concourse-DAGkX2vY.svg +1 -0
  119. package/dist/client/assets/conduct-2Bm8RK0N.svg +1 -0
  120. package/dist/client/assets/console-pcgGAn8Z.svg +1 -0
  121. package/dist/client/assets/contentlayer-vXTwXOHk.svg +1 -0
  122. package/dist/client/assets/context-CebLrksE.svg +1 -0
  123. package/dist/client/assets/contributing-DLcmDS34.svg +1 -0
  124. package/dist/client/assets/controller-Doc75EnV.svg +1 -0
  125. package/dist/client/assets/copilot-DBlNrZ6L.svg +1 -0
  126. package/dist/client/assets/cpp-DT2939hp.svg +1 -0
  127. package/dist/client/assets/craco-BySmcQ23.svg +1 -0
  128. package/dist/client/assets/credits-GALyqcNu.svg +1 -0
  129. package/dist/client/assets/crystal-BbNQlJLs.svg +1 -0
  130. package/dist/client/assets/csharp-D5ZKsaqY.svg +1 -0
  131. package/dist/client/assets/css-JKwEyWYb.svg +1 -0
  132. package/dist/client/assets/css-map-Ctu4D9Ve.svg +1 -0
  133. package/dist/client/assets/cucumber-B3ZYwjRe.svg +1 -0
  134. package/dist/client/assets/cuda-CRW2z42A.svg +1 -0
  135. package/dist/client/assets/cue-ni2TTLiZ.svg +1 -0
  136. package/dist/client/assets/cursor-CJahHGg2.svg +1 -0
  137. package/dist/client/assets/cypress-DR0JRbfI.svg +1 -0
  138. package/dist/client/assets/d-B87zyVMx.svg +1 -0
  139. package/dist/client/assets/dart-Dx2oVcaR.svg +1 -0
  140. package/dist/client/assets/dart_generated-Wk58pte9.svg +1 -0
  141. package/dist/client/assets/database-B_oKaDcf.svg +1 -0
  142. package/dist/client/assets/deepsource-DUTIJ9mv.svg +1 -0
  143. package/dist/client/assets/denizenscript-BJc2vgOS.svg +1 -0
  144. package/dist/client/assets/deno-CyFvrzCm.svg +1 -0
  145. package/dist/client/assets/dependabot-BgJkJLU3.svg +1 -0
  146. package/dist/client/assets/dependencies-update-CdGy9ujO.svg +1 -0
  147. package/dist/client/assets/dhall-Dmhh82EO.svg +1 -0
  148. package/dist/client/assets/diff-6SXDCokN.svg +1 -0
  149. package/dist/client/assets/dinophp-D9hQnqAR.svg +1 -0
  150. package/dist/client/assets/disc-h_dLNGEL.svg +1 -0
  151. package/dist/client/assets/django-N1UNAXk1.svg +1 -0
  152. package/dist/client/assets/dll-1DkaBp0q.svg +1 -0
  153. package/dist/client/assets/docker-CfHcr61D.svg +1 -0
  154. package/dist/client/assets/doctex-installer-Cs7SA-ct.svg +1 -0
  155. package/dist/client/assets/document-o-3iA9GQ.svg +1 -0
  156. package/dist/client/assets/dotjs-DIyH7Gzv.svg +1 -0
  157. package/dist/client/assets/drawio-2RVDLi9g.svg +1 -0
  158. package/dist/client/assets/drizzle-hhBCZx1t.svg +1 -0
  159. package/dist/client/assets/drone-KvQ2n-xY.svg +1 -0
  160. package/dist/client/assets/dtx-DdGk8fFj.svg +1 -0
  161. package/dist/client/assets/duc-CHcAZQos.svg +1 -0
  162. package/dist/client/assets/dune-DuGO6qDA.svg +1 -0
  163. package/dist/client/assets/edge-ChHKXrYp.svg +1 -0
  164. package/dist/client/assets/editorconfig-BUzUAwRX.svg +1 -0
  165. package/dist/client/assets/ejs-D_Li05n3.svg +1 -0
  166. package/dist/client/assets/elixir-75mYTx2s.svg +1 -0
  167. package/dist/client/assets/elm-DE_LIp02.svg +1 -0
  168. package/dist/client/assets/email-G8mUttGa.svg +1 -0
  169. package/dist/client/assets/ember-B1y9-Oks.svg +1 -0
  170. package/dist/client/assets/epub-DPvrBCNf.svg +1 -0
  171. package/dist/client/assets/erlang-DosS6spf.svg +1 -0
  172. package/dist/client/assets/esbuild-DV6xNZ-T.svg +1 -0
  173. package/dist/client/assets/eslint-IU_g232-.svg +1 -0
  174. package/dist/client/assets/excalidraw-BllKd-7L.svg +1 -0
  175. package/dist/client/assets/exe-SfcXmkQy.svg +1 -0
  176. package/dist/client/assets/expo-B4PonO4I.svg +1 -0
  177. package/dist/client/assets/external-Bawe0tSn.js +1 -0
  178. package/dist/client/assets/fastlane-C4SZDg50.svg +1 -0
  179. package/dist/client/assets/favicon-VsCcG-A-.svg +1 -0
  180. package/dist/client/assets/figma-C8Gjq2Xj.svg +1 -0
  181. package/dist/client/assets/file-BEIHQH8Q.svg +256 -0
  182. package/dist/client/assets/firebase-DHIO0glR.svg +1 -0
  183. package/dist/client/assets/flash-Dck7x_rj.svg +1 -0
  184. package/dist/client/assets/flow-DD4KQiTg.svg +1 -0
  185. package/dist/client/assets/font-ChbWr8nk.svg +1 -0
  186. package/dist/client/assets/forth-C3qwGqMh.svg +1 -0
  187. package/dist/client/assets/fortran-B0jORJ3v.svg +1 -0
  188. package/dist/client/assets/foxpro-D3Wp1B1h.svg +1 -0
  189. package/dist/client/assets/freemarker-BLonnh3h.svg +1 -0
  190. package/dist/client/assets/fsharp-QwwPC8x_.svg +1 -0
  191. package/dist/client/assets/fusebox-DqjzyXyI.svg +1 -0
  192. package/dist/client/assets/gamemaker-C82Pt646.svg +1 -0
  193. package/dist/client/assets/garden-BUsWpFKW.svg +1 -0
  194. package/dist/client/assets/gatsby-OA1TADMJ.svg +1 -0
  195. package/dist/client/assets/gcp-CW2RG_Wp.svg +1 -0
  196. package/dist/client/assets/gemfile-1RY6BqSx.svg +1 -0
  197. package/dist/client/assets/gemini-CIgUY8Tg.svg +1 -0
  198. package/dist/client/assets/gemini-ai-Bwe7HeFb.svg +1 -0
  199. package/dist/client/assets/git-BEMs8TOZ.svg +1 -0
  200. package/dist/client/assets/gitlab-zt07_Oa4.svg +1 -0
  201. package/dist/client/assets/gitpod-BtZJQuF0.svg +1 -0
  202. package/dist/client/assets/gleam-CKPcrRAD.svg +1 -0
  203. package/dist/client/assets/gnuplot-BvFqM0ms.svg +1 -0
  204. package/dist/client/assets/go-ByY4sxRu.svg +1 -0
  205. package/dist/client/assets/go-mod-CB6BWQDr.svg +1 -0
  206. package/dist/client/assets/godot-C1EmL4jR.svg +1 -0
  207. package/dist/client/assets/godot-assets-D-FMsuJX.svg +1 -0
  208. package/dist/client/assets/google-BnrMOJ4V.svg +1 -0
  209. package/dist/client/assets/gradle-zsQ12U1q.svg +1 -0
  210. package/dist/client/assets/grafana-alloy-D2DQ33BM.svg +1 -0
  211. package/dist/client/assets/grain-5NkvKROL.svg +1 -0
  212. package/dist/client/assets/graphcool-CInCTIdE.svg +1 -0
  213. package/dist/client/assets/graphql-DnNt2maR.svg +1 -0
  214. package/dist/client/assets/gridsome-C2H5SpaD.svg +1 -0
  215. package/dist/client/assets/groovy-B93RxI7a.svg +1 -0
  216. package/dist/client/assets/grunt-cwitasVS.svg +1 -0
  217. package/dist/client/assets/gulp-BIZ8EAl0.svg +1 -0
  218. package/dist/client/assets/h-1bd73y8t.svg +1 -0
  219. package/dist/client/assets/hack-Bsd1y9bu.svg +1 -0
  220. package/dist/client/assets/hadolint-D1aEtESc.svg +1 -0
  221. package/dist/client/assets/haml-BKq8hU-U.svg +1 -0
  222. package/dist/client/assets/handlebars-Dem98Ago.svg +1 -0
  223. package/dist/client/assets/happo-B64XokX0.svg +1 -0
  224. package/dist/client/assets/hardhat-ByFzkuf4.svg +1 -0
  225. package/dist/client/assets/harmonix-CUh3S11M.svg +1 -0
  226. package/dist/client/assets/haskell-C6GxEwdX.svg +1 -0
  227. package/dist/client/assets/haxe-DdxZWPQy.svg +1 -0
  228. package/dist/client/assets/hcl-BJiZ3gWE.svg +1 -0
  229. package/dist/client/assets/helm-CF4Mi35z.svg +1 -0
  230. package/dist/client/assets/heroku-B6vPz_TJ.svg +1 -0
  231. package/dist/client/assets/hex-BuGJuqn1.svg +1 -0
  232. package/dist/client/assets/hip-DB4xe1Ab.svg +1 -0
  233. package/dist/client/assets/histoire-BMTufysg.svg +1 -0
  234. package/dist/client/assets/hjson-Dl4ZTgK4.svg +1 -0
  235. package/dist/client/assets/horusec-z6vyrVAy.svg +1 -0
  236. package/dist/client/assets/hosts-BydfWJ9z.svg +1 -0
  237. package/dist/client/assets/hpp-HerxyIaC.svg +1 -0
  238. package/dist/client/assets/html-BNRzQ3jk.svg +1 -0
  239. package/dist/client/assets/http-Cp7RCu8F.svg +1 -0
  240. package/dist/client/assets/huff-t3uGT10D.svg +1 -0
  241. package/dist/client/assets/hurl-S3Fvmz3R.svg +1 -0
  242. package/dist/client/assets/husky-A0ALYNcp.svg +1 -0
  243. package/dist/client/assets/i18n-BezCQ09L.svg +1 -0
  244. package/dist/client/assets/idris-CfHPjxcM.svg +1 -0
  245. package/dist/client/assets/ifanr-cloud-DnqgZYHA.svg +1 -0
  246. package/dist/client/assets/image-DYZiZ4CP.svg +1 -0
  247. package/dist/client/assets/imba-C1Q6aK1I.svg +1 -0
  248. package/dist/client/assets/index-0z4D-18M.js +2 -0
  249. package/dist/client/assets/installation-p19cVXO7.svg +1 -0
  250. package/dist/client/assets/instructions-CaWEzdge.svg +1 -0
  251. package/dist/client/assets/ionic-Xp-47Icg.svg +1 -0
  252. package/dist/client/assets/istanbul-DJKvMwnq.svg +1 -0
  253. package/dist/client/assets/jar-BaN44U3v.svg +1 -0
  254. package/dist/client/assets/java-QyMrrPma.svg +1 -0
  255. package/dist/client/assets/javaclass-BU8_3KBR.svg +1 -0
  256. package/dist/client/assets/javascript-CQjpTQab.svg +1 -0
  257. package/dist/client/assets/javascript-map-BQGiWnDM.svg +1 -0
  258. package/dist/client/assets/jenkins-Bf7aNz-w.svg +1 -0
  259. package/dist/client/assets/jest-BgbiFFEd.svg +1 -0
  260. package/dist/client/assets/jinja-4WR9tA6i.svg +1 -0
  261. package/dist/client/assets/jsconfig-ZAi6fTF1.svg +1 -0
  262. package/dist/client/assets/json-NsberLUP.svg +1 -0
  263. package/dist/client/assets/json_schema-sOuobP_H.svg +1 -0
  264. package/dist/client/assets/jsr-CWVSPSyV.svg +1 -0
  265. package/dist/client/assets/julia-DCKDSo9T.svg +1 -0
  266. package/dist/client/assets/jupyter-BKV2q0IB.svg +1 -0
  267. package/dist/client/assets/just-WQgcj-TR.svg +1 -0
  268. package/dist/client/assets/karma-Dm3AtiMd.svg +1 -0
  269. package/dist/client/assets/kcl-CyzArNE1.svg +1 -0
  270. package/dist/client/assets/key-CrFjkQiv.svg +1 -0
  271. package/dist/client/assets/keystatic-BECeLiHJ.svg +1 -0
  272. package/dist/client/assets/kivy-baDYR7ar.svg +1 -0
  273. package/dist/client/assets/kl-Dy3qeUbd.svg +1 -0
  274. package/dist/client/assets/knip-BWpBMXqu.svg +1 -0
  275. package/dist/client/assets/kotlin-DcjME28v.svg +1 -0
  276. package/dist/client/assets/kubernetes-B5EEXb3e.svg +1 -0
  277. package/dist/client/assets/kusto-CIjvTfRW.svg +1 -0
  278. package/dist/client/assets/label-AKZOJqFh.svg +1 -0
  279. package/dist/client/assets/laravel-DWauj5w4.svg +1 -0
  280. package/dist/client/assets/latexmk-DQ0u8QMa.svg +1 -0
  281. package/dist/client/assets/lbx-BMCQe48q.svg +1 -0
  282. package/dist/client/assets/lean-COOrALn9.svg +1 -0
  283. package/dist/client/assets/lefthook-DClcp3br.svg +1 -0
  284. package/dist/client/assets/lerna-BsWY3uYS.svg +1 -0
  285. package/dist/client/assets/less-0c0PeB1Z.svg +1 -0
  286. package/dist/client/assets/liara-CSN9sJzE.svg +1 -0
  287. package/dist/client/assets/lib-B-NXM8aC.svg +1 -0
  288. package/dist/client/assets/license-DmydDYqK.svg +1 -0
  289. package/dist/client/assets/lighthouse-CtbIoCdK.svg +1 -0
  290. package/dist/client/assets/lilypond-CBSm3LFL.svg +1 -0
  291. package/dist/client/assets/lintstaged-Bj1Eddi5.svg +1 -0
  292. package/dist/client/assets/liquid-ClnkrScY.svg +1 -0
  293. package/dist/client/assets/lisp-CMn3epg5.svg +1 -0
  294. package/dist/client/assets/lit-CJ6w1GHF.js +2 -0
  295. package/dist/client/assets/livescript-B5PkWD8e.svg +1 -0
  296. package/dist/client/assets/lock-DRloBj1S.svg +1 -0
  297. package/dist/client/assets/log-Db6NwxHZ.svg +1 -0
  298. package/dist/client/assets/lolcode-C6q6fY1O.svg +1 -0
  299. package/dist/client/assets/lottie-ExyLYhtq.svg +1 -0
  300. package/dist/client/assets/lua-CUh_Iwk8.svg +1 -0
  301. package/dist/client/assets/luau-De_4eP_9.svg +1 -0
  302. package/dist/client/assets/lynx-B49IBNBN.svg +1 -0
  303. package/dist/client/assets/lyric-Bm3UlVp3.svg +1 -0
  304. package/dist/client/assets/macaulay2-0YotwNnE.svg +1 -0
  305. package/dist/client/assets/main-DDgPZEYp.js +2 -0
  306. package/dist/client/assets/makefile-B2WlY55Y.svg +1 -0
  307. package/dist/client/assets/markdoc-DjROVW5I.svg +1 -0
  308. package/dist/client/assets/markdoc-config-BpVRhg1B.svg +1 -0
  309. package/dist/client/assets/markdown-Bm_LLmmi.svg +1 -0
  310. package/dist/client/assets/markdownlint-D4M2LXbH.svg +1 -0
  311. package/dist/client/assets/markojs-BohUrSLp.svg +1 -0
  312. package/dist/client/assets/mathematica-BGWNQXSR.svg +1 -0
  313. package/dist/client/assets/maven-BffVB5hm.svg +1 -0
  314. package/dist/client/assets/mdsvex-Dc9CFJJa.svg +1 -0
  315. package/dist/client/assets/mdx-D6qa5U8C.svg +1 -0
  316. package/dist/client/assets/mercurial-BDoD6ubd.svg +1 -0
  317. package/dist/client/assets/merlin-D5wTXfO4.svg +1 -0
  318. package/dist/client/assets/mermaid-BTscZDRS.svg +1 -0
  319. package/dist/client/assets/meson-dcvm8lmo.svg +1 -0
  320. package/dist/client/assets/metro-XIyWX0Go.svg +1 -0
  321. package/dist/client/assets/minecraft-CE8xXE3-.svg +1 -0
  322. package/dist/client/assets/minecraft-fabric-wG6LwgIf.svg +1 -0
  323. package/dist/client/assets/mint-Cb-YXACo.svg +1 -0
  324. package/dist/client/assets/mist-DAm4UkTw.svg +1 -0
  325. package/dist/client/assets/mjml-C_r30C5E.svg +1 -0
  326. package/dist/client/assets/mocha-BF5_j65C.svg +1 -0
  327. package/dist/client/assets/modernizr-89IMS8eL.svg +1 -0
  328. package/dist/client/assets/mojo-CscjT2Jm.svg +1 -0
  329. package/dist/client/assets/moon-_L_nTq1_.svg +1 -0
  330. package/dist/client/assets/moonscript-Ayut2PrD.svg +1 -0
  331. package/dist/client/assets/mrpack-BVpGpKVf.svg +1 -0
  332. package/dist/client/assets/mxml-B21Nbdgw.svg +1 -0
  333. package/dist/client/assets/nano-staged-CAVSFkY8.svg +1 -0
  334. package/dist/client/assets/ndst-DpYLiHkx.svg +1 -0
  335. package/dist/client/assets/nest-CUu_iPqI.svg +1 -0
  336. package/dist/client/assets/netlify-Bb7vRMfV.svg +1 -0
  337. package/dist/client/assets/next-2gAImGWJ.svg +1 -0
  338. package/dist/client/assets/nextflow-dPJG5e3G.svg +1 -0
  339. package/dist/client/assets/nginx-Ss9U_SJ3.svg +1 -0
  340. package/dist/client/assets/nim-CXHB5kuH.svg +1 -0
  341. package/dist/client/assets/nix-DoxxkZ2k.svg +1 -0
  342. package/dist/client/assets/nodejs-Czg5JT6z.svg +1 -0
  343. package/dist/client/assets/nodemon-CprsexAJ.svg +1 -0
  344. package/dist/client/assets/npm-BSKPS9CC.svg +1 -0
  345. package/dist/client/assets/nuget-D_mqKH22.svg +1 -0
  346. package/dist/client/assets/nunjucks-CSL1En7R.svg +1 -0
  347. package/dist/client/assets/nuxt-BszScKzK.svg +1 -0
  348. package/dist/client/assets/nx-CTIqtdbG.svg +1 -0
  349. package/dist/client/assets/objective-c-3E5wWl6u.svg +1 -0
  350. package/dist/client/assets/objective-cpp-DjpoLOMo.svg +1 -0
  351. package/dist/client/assets/ocaml-T4fLeZFT.svg +1 -0
  352. package/dist/client/assets/odin-DlWnbZWN.svg +1 -0
  353. package/dist/client/assets/onnx-C6WInyrb.svg +1 -0
  354. package/dist/client/assets/opa-D5GoZW5M.svg +1 -0
  355. package/dist/client/assets/opam-3IZadro4.svg +1 -0
  356. package/dist/client/assets/openapi-DjlVyoOp.svg +1 -0
  357. package/dist/client/assets/opencode-BaYncWio.svg +1 -0
  358. package/dist/client/assets/opentofu-jFw9lQBP.svg +1 -0
  359. package/dist/client/assets/otne-SLiO8whA.svg +1 -0
  360. package/dist/client/assets/oxc-DN6_023j.svg +1 -0
  361. package/dist/client/assets/packship-UyLXQ_8n.svg +1 -0
  362. package/dist/client/assets/palette-C0GOsJgu.svg +1 -0
  363. package/dist/client/assets/panda-D469wGns.svg +1 -0
  364. package/dist/client/assets/parcel-BrXQSBYb.svg +1 -0
  365. package/dist/client/assets/pascal-oxGvvJ_x.svg +1 -0
  366. package/dist/client/assets/pawn-BvapPd-t.svg +1 -0
  367. package/dist/client/assets/payload-Cks6N40-.svg +1 -0
  368. package/dist/client/assets/pdf-DtjgBDdX.svg +1 -0
  369. package/dist/client/assets/pdm-CbwhGqOl.svg +1 -0
  370. package/dist/client/assets/peg-BJdFn78b.svg +1 -0
  371. package/dist/client/assets/percy-CWbuYL05.svg +1 -0
  372. package/dist/client/assets/perl-DUX0zwsQ.svg +1 -0
  373. package/dist/client/assets/php-5lebFt-d.svg +1 -0
  374. package/dist/client/assets/php-cs-fixer-D3Vv91zO.svg +1 -0
  375. package/dist/client/assets/phpstan-D9FJYotS.svg +1 -0
  376. package/dist/client/assets/phpunit-BlNyjrEw.svg +1 -0
  377. package/dist/client/assets/pinejs-CDuWmsOY.svg +1 -0
  378. package/dist/client/assets/pipeline-CCHJ-CIC.svg +1 -0
  379. package/dist/client/assets/pkl-CzHZDqdt.svg +1 -0
  380. package/dist/client/assets/plastic-CvMMB3c5.svg +1 -0
  381. package/dist/client/assets/playwright-C8c_RKic.svg +1 -0
  382. package/dist/client/assets/plop-D4uymN-_.svg +1 -0
  383. package/dist/client/assets/pm2-ecosystem-Cv28zGx9.svg +1 -0
  384. package/dist/client/assets/pnpm-ndvMXYUu.svg +1 -0
  385. package/dist/client/assets/poetry-ClZfXo_0.svg +1 -0
  386. package/dist/client/assets/postcss-g3C3DDoi.svg +1 -0
  387. package/dist/client/assets/posthtml-BkDCsIkz.svg +1 -0
  388. package/dist/client/assets/powerpoint-CCXYfzLu.svg +1 -0
  389. package/dist/client/assets/powershell-DnXi9Rjx.svg +1 -0
  390. package/dist/client/assets/pre-commit-DXbl2unR.svg +1 -0
  391. package/dist/client/assets/preload-helper-CRzLMJPS.js +1 -0
  392. package/dist/client/assets/prettier-DFxlFAp4.svg +1 -0
  393. package/dist/client/assets/prisma-BgG1MIwh.svg +1 -0
  394. package/dist/client/assets/processing-B1bs0VmW.svg +1 -0
  395. package/dist/client/assets/prolog-CxwCfnlm.svg +1 -0
  396. package/dist/client/assets/prompt-7jgVTNou.svg +1 -0
  397. package/dist/client/assets/proto-Bv4-L0XU.svg +1 -0
  398. package/dist/client/assets/protractor-CJWv1lK-.svg +1 -0
  399. package/dist/client/assets/pug-BXlORXuH.svg +1 -0
  400. package/dist/client/assets/puppet-CKCVJvZX.svg +1 -0
  401. package/dist/client/assets/puppeteer-DDZkfQNZ.svg +1 -0
  402. package/dist/client/assets/purescript-CUdIfJrp.svg +1 -0
  403. package/dist/client/assets/python-misc-BZ5TXfdG.svg +1 -0
  404. package/dist/client/assets/python-oHA753pt.svg +1 -0
  405. package/dist/client/assets/pytorch-f0udCMaw.svg +1 -0
  406. package/dist/client/assets/qsharp-BaFNvoXS.svg +1 -0
  407. package/dist/client/assets/quarto-zhC7oGOB.svg +1 -0
  408. package/dist/client/assets/quasar-BXE2pW5w.svg +1 -0
  409. package/dist/client/assets/quokka-DrMOw93T.svg +1 -0
  410. package/dist/client/assets/r-AQewf3lz.svg +1 -0
  411. package/dist/client/assets/racket-BCyLzvrP.svg +1 -0
  412. package/dist/client/assets/raml-WDbT4cRb.svg +1 -0
  413. package/dist/client/assets/razor-BAUCpTxC.svg +1 -0
  414. package/dist/client/assets/rbxmk-CZ9pB7X6.svg +1 -0
  415. package/dist/client/assets/rc-BDgxm_A8.svg +1 -0
  416. package/dist/client/assets/react-CdMrIyLK.svg +1 -0
  417. package/dist/client/assets/react_ts-9WeLJBIj.svg +1 -0
  418. package/dist/client/assets/readme-BSIQKZwq.svg +1 -0
  419. package/dist/client/assets/reason-m9vOqeqw.svg +1 -0
  420. package/dist/client/assets/red-Dzf3O8j4.svg +1 -0
  421. package/dist/client/assets/regedit-DJzxfiQN.svg +1 -0
  422. package/dist/client/assets/remark-C55cxr93.svg +1 -0
  423. package/dist/client/assets/remix-Bk2h4zH7.svg +1 -0
  424. package/dist/client/assets/renovate-zzi8oRFv.svg +1 -0
  425. package/dist/client/assets/replit-BpeMxcBh.svg +1 -0
  426. package/dist/client/assets/requiredTerminalPlugin-ZZOwUcbr.js +3 -0
  427. package/dist/client/assets/rescript-interface-a87dYX5u.svg +1 -0
  428. package/dist/client/assets/rescript-qPAwtDLa.svg +1 -0
  429. package/dist/client/assets/restql-CnZcZpny.svg +1 -0
  430. package/dist/client/assets/riot-DjRzaRVp.svg +1 -0
  431. package/dist/client/assets/roadmap-DWpVc5P5.svg +1 -0
  432. package/dist/client/assets/roblox-Bv5zbklC.svg +1 -0
  433. package/dist/client/assets/robot-Cto_i8jo.svg +1 -0
  434. package/dist/client/assets/robots-COnOCAqh.svg +1 -0
  435. package/dist/client/assets/rocket-CAmUpMm6.svg +1 -0
  436. package/dist/client/assets/rolldown-Cy_4AzVW.svg +1 -0
  437. package/dist/client/assets/rollup-2ZkmBeWV.svg +1 -0
  438. package/dist/client/assets/rome-Cq3lb2xY.svg +1 -0
  439. package/dist/client/assets/routing-BNxHhbXZ.svg +1 -0
  440. package/dist/client/assets/rspec-CoEmfx5H.svg +1 -0
  441. package/dist/client/assets/rstack-DzJ3cPXM.svg +1 -0
  442. package/dist/client/assets/rubocop-CokGq15J.svg +1 -0
  443. package/dist/client/assets/ruby-DTGQ4xCM.svg +1 -0
  444. package/dist/client/assets/ruff-BN0KpNzC.svg +1 -0
  445. package/dist/client/assets/rust-B122pUHY.svg +1 -0
  446. package/dist/client/assets/salt-B8j0OVNV.svg +1 -0
  447. package/dist/client/assets/san-C0UnyaU4.svg +1 -0
  448. package/dist/client/assets/sas-RNoBA0-Y.svg +1 -0
  449. package/dist/client/assets/sass-B7y5mYt_.svg +1 -0
  450. package/dist/client/assets/sbt-DosCci-d.svg +1 -0
  451. package/dist/client/assets/scala-CsGkKwl5.svg +1 -0
  452. package/dist/client/assets/scheme-CS2UbTis.svg +1 -0
  453. package/dist/client/assets/scons-CyqfFgvx.svg +1 -0
  454. package/dist/client/assets/screwdriver-DjTKuDz7.svg +1 -0
  455. package/dist/client/assets/search-fq7VxV09.svg +1 -0
  456. package/dist/client/assets/semantic-release-BbLzZX96.svg +1 -0
  457. package/dist/client/assets/semgrep-Cl6VUQtd.svg +1 -0
  458. package/dist/client/assets/sentry-MrouyD-P.svg +1 -0
  459. package/dist/client/assets/sequelize-BQWikTCs.svg +1 -0
  460. package/dist/client/assets/serverless-C7Jdn6_T.svg +1 -0
  461. package/dist/client/assets/settings-CtzL1evz.svg +1 -0
  462. package/dist/client/assets/shader-BZXKDeiD.svg +1 -0
  463. package/dist/client/assets/shellcheck-BgWOclub.svg +1 -0
  464. package/dist/client/assets/simulink-yQnKyx__.svg +1 -0
  465. package/dist/client/assets/siyuan-CPWD86-6.svg +1 -0
  466. package/dist/client/assets/sketch-NbltjaPf.svg +1 -0
  467. package/dist/client/assets/skill-BThvgH87.svg +1 -0
  468. package/dist/client/assets/slim-CTjdZAfz.svg +1 -0
  469. package/dist/client/assets/slint-B0xbkqgr.svg +1 -0
  470. package/dist/client/assets/slug-CWkQgR9s.svg +1 -0
  471. package/dist/client/assets/smarty-BXDiLQNt.svg +1 -0
  472. package/dist/client/assets/sml-DMkoWEN5.svg +1 -0
  473. package/dist/client/assets/snakemake-xG7xUrdI.svg +1 -0
  474. package/dist/client/assets/snapcraft-zvgAcZ4p.svg +1 -0
  475. package/dist/client/assets/snowpack-l0uHt304.svg +1 -0
  476. package/dist/client/assets/snyk-DCW3rtvv.svg +1 -0
  477. package/dist/client/assets/solidity-C4TQWJKU.svg +1 -0
  478. package/dist/client/assets/sonarcloud-ClLIXGyx.svg +1 -0
  479. package/dist/client/assets/spwn-31WG9ftR.svg +1 -0
  480. package/dist/client/assets/stackblitz-ZX6aBRKb.svg +1 -0
  481. package/dist/client/assets/stan-CPcUXbxB.svg +1 -0
  482. package/dist/client/assets/steadybit-BZtlLY-3.svg +1 -0
  483. package/dist/client/assets/stencil-D0FNO32O.svg +1 -0
  484. package/dist/client/assets/stitches-BYlEJvuz.svg +1 -0
  485. package/dist/client/assets/storybook-KxGhpZYa.svg +1 -0
  486. package/dist/client/assets/stryker-CYflxT_R.svg +1 -0
  487. package/dist/client/assets/sty-C4HqHV4z.svg +1 -0
  488. package/dist/client/assets/stylable-Bi9Gr97T.svg +1 -0
  489. package/dist/client/assets/styleSources-CdF2T_pj.js +1 -0
  490. package/dist/client/assets/stylelint-JSbd-yhE.svg +1 -0
  491. package/dist/client/assets/styles-BwN5rgmt.js +10 -0
  492. package/dist/client/assets/styles-DK4aKhCE.js +1 -0
  493. package/dist/client/assets/stylus-ZoqbP9jE.svg +1 -0
  494. package/dist/client/assets/sublime-DFvp_Ess.svg +1 -0
  495. package/dist/client/assets/subtitles-BNOc1mEf.svg +1 -0
  496. package/dist/client/assets/supabase-CX7cap86.svg +1 -0
  497. package/dist/client/assets/svelte-B8HKO6BX.svg +1 -0
  498. package/dist/client/assets/svelte_js-C_RKcwSP.svg +1 -0
  499. package/dist/client/assets/svelte_ts-APH7lcVp.svg +1 -0
  500. package/dist/client/assets/svg-DVy7iktw.svg +1 -0
  501. package/dist/client/assets/svgo-CJXaeDEN.svg +1 -0
  502. package/dist/client/assets/svgr-Dn8OFGar.svg +1 -0
  503. package/dist/client/assets/swagger-Dqyrwr4g.svg +1 -0
  504. package/dist/client/assets/sway-C1Kkif7r.svg +1 -0
  505. package/dist/client/assets/swc-BUhoW8cb.svg +1 -0
  506. package/dist/client/assets/swift-D4_pkWil.svg +1 -0
  507. package/dist/client/assets/syncpack-DtZ994Gf.svg +1 -0
  508. package/dist/client/assets/table-YhsaNNk_.svg +1 -0
  509. package/dist/client/assets/tailwindcss-DODJSdj1.svg +1 -0
  510. package/dist/client/assets/tape-DGYhnMht.svg +1 -0
  511. package/dist/client/assets/taskfile-f5DM79_-.svg +1 -0
  512. package/dist/client/assets/tauri-DBBtDoCo.svg +1 -0
  513. package/dist/client/assets/taze-BPR9LgXp.svg +1 -0
  514. package/dist/client/assets/tcl-CiAJKGaA.svg +1 -0
  515. package/dist/client/assets/teal-WyfAQok0.svg +1 -0
  516. package/dist/client/assets/templ-BHla0pe-.svg +1 -0
  517. package/dist/client/assets/template-qJWiB5gQ.svg +1 -0
  518. package/dist/client/assets/terraform-R86_iPhv.svg +1 -0
  519. package/dist/client/assets/test-js-A34KrdbK.svg +1 -0
  520. package/dist/client/assets/test-jsx-C2PQBkQP.svg +1 -0
  521. package/dist/client/assets/test-ts-fdt299ek.svg +1 -0
  522. package/dist/client/assets/tex-DpewR4UN.svg +1 -0
  523. package/dist/client/assets/textlint-pjwsbDhs.svg +1 -0
  524. package/dist/client/assets/themeCatalog-B3yda95n.js +1 -0
  525. package/dist/client/assets/themePreference-BBiJxLjs.js +1 -0
  526. package/dist/client/assets/themeStartup-0b02tNrh.js +2 -0
  527. package/dist/client/assets/tilt-Dwon5dv-.svg +1 -0
  528. package/dist/client/assets/tldraw-BnDJmluq.svg +1 -0
  529. package/dist/client/assets/tobi-CQ-666uh.svg +1 -0
  530. package/dist/client/assets/tobimake-DzDbTYW1.svg +1 -0
  531. package/dist/client/assets/toc-nUTycYjl.svg +1 -0
  532. package/dist/client/assets/todo-CpcorlsE.svg +1 -0
  533. package/dist/client/assets/toml-DvUt-GOd.svg +1 -0
  534. package/dist/client/assets/toon-CGe9RDKY.svg +1 -0
  535. package/dist/client/assets/travis-CH6zNy43.svg +1 -0
  536. package/dist/client/assets/tree-epW9JaxP.svg +1 -0
  537. package/dist/client/assets/trigger-CqdxCyG0.svg +1 -0
  538. package/dist/client/assets/tsconfig-ROp_YdWL.svg +1 -0
  539. package/dist/client/assets/tsdoc-BEXcYgLD.svg +1 -0
  540. package/dist/client/assets/tsdown-B96z16my.svg +1 -0
  541. package/dist/client/assets/tsil-D-U9yWS8.svg +1 -0
  542. package/dist/client/assets/tune-DISlqKNZ.svg +1 -0
  543. package/dist/client/assets/turborepo-CWNwoZtI.svg +1 -0
  544. package/dist/client/assets/twig-CA70AYNK.svg +1 -0
  545. package/dist/client/assets/twine-BPJsGZd2.svg +1 -0
  546. package/dist/client/assets/typedoc-FY7jFoGW.svg +1 -0
  547. package/dist/client/assets/typescript-DjjXqw-n.svg +1 -0
  548. package/dist/client/assets/typescript-def-CTN5WM5i.svg +1 -0
  549. package/dist/client/assets/typst-CnDSkp_i.svg +1 -0
  550. package/dist/client/assets/uiua-BOsurlxn.svg +1 -0
  551. package/dist/client/assets/umi-DYOjFi8w.svg +1 -0
  552. package/dist/client/assets/uml-CYijxuna.svg +1 -0
  553. package/dist/client/assets/unity-CRNCEoK6.svg +1 -0
  554. package/dist/client/assets/unlicense-DG_b3BEE.svg +1 -0
  555. package/dist/client/assets/unocss-MqLuLfeL.svg +1 -0
  556. package/dist/client/assets/url-hE4h5p6b.svg +1 -0
  557. package/dist/client/assets/uv-DRTOVSi_.svg +1 -0
  558. package/dist/client/assets/vagrant-YnxMTuKe.svg +1 -0
  559. package/dist/client/assets/vala-m_i2ZWns.svg +1 -0
  560. package/dist/client/assets/vanilla-extract-76H6-A4R.svg +1 -0
  561. package/dist/client/assets/varnish-CX3oiNcp.svg +1 -0
  562. package/dist/client/assets/vedic-D6-oQUka.svg +1 -0
  563. package/dist/client/assets/velite-nLLNxKBA.svg +1 -0
  564. package/dist/client/assets/velocity-CSvfE9yM.svg +1 -0
  565. package/dist/client/assets/vercel-CgKLo9IO.svg +1 -0
  566. package/dist/client/assets/verdaccio-gsdiCbvv.svg +1 -0
  567. package/dist/client/assets/verified-BFLtqroG.svg +1 -0
  568. package/dist/client/assets/verilog-CbZvRaae.svg +1 -0
  569. package/dist/client/assets/verse-D_RZ0Bz0.svg +1 -0
  570. package/dist/client/assets/vfl-8CAM-hjs.svg +1 -0
  571. package/dist/client/assets/video-qxpJXkH6.svg +1 -0
  572. package/dist/client/assets/vim-CB8qTVuS.svg +1 -0
  573. package/dist/client/assets/virtual-Hoc2XbZN.svg +1 -0
  574. package/dist/client/assets/visualstudio-BHj2x5q7.svg +1 -0
  575. package/dist/client/assets/vite-JKzchVew.svg +1 -0
  576. package/dist/client/assets/vitest-Cl4_wKFu.svg +1 -0
  577. package/dist/client/assets/vlang-C3-DMUIm.svg +1 -0
  578. package/dist/client/assets/vscode-BtTXhPua.svg +1 -0
  579. package/dist/client/assets/vue-BlenztPP.svg +1 -0
  580. package/dist/client/assets/vue-config-o7yPAADv.svg +1 -0
  581. package/dist/client/assets/wakatime-DNz7qcxZ.svg +1 -0
  582. package/dist/client/assets/wallaby-C0UIkEOa.svg +1 -0
  583. package/dist/client/assets/wally-Ds1quKSG.svg +1 -0
  584. package/dist/client/assets/warp-B3X5Zoeh.svg +1 -0
  585. package/dist/client/assets/watchman-7EFq9LSa.svg +1 -0
  586. package/dist/client/assets/webassembly-Bs4UtU2T.svg +1 -0
  587. package/dist/client/assets/webhint-B4I6V0Ee.svg +1 -0
  588. package/dist/client/assets/webpack-zo2uWGOg.svg +1 -0
  589. package/dist/client/assets/wepy-Cho54Qlr.svg +1 -0
  590. package/dist/client/assets/werf-BW9FiKe5.svg +1 -0
  591. package/dist/client/assets/windicss-C_8y516i.svg +1 -0
  592. package/dist/client/assets/wolframlanguage-D6C1WBYh.svg +1 -0
  593. package/dist/client/assets/word-BcPLm6YH.svg +1 -0
  594. package/dist/client/assets/wrangler-CjgAkoTg.svg +1 -0
  595. package/dist/client/assets/wxt-c6drtC9H.svg +1 -0
  596. package/dist/client/assets/xaml-DE72OHNQ.svg +1 -0
  597. package/dist/client/assets/xmake-4WNmmIJj.svg +1 -0
  598. package/dist/client/assets/xml-S4aCxoUr.svg +1 -0
  599. package/dist/client/assets/yaml-DPTMsOTP.svg +1 -0
  600. package/dist/client/assets/yang-N-7dP4WI.svg +1 -0
  601. package/dist/client/assets/yarn-Cios8OFX.svg +1 -0
  602. package/dist/client/assets/zeabur-kqbNXTTH.svg +1 -0
  603. package/dist/client/assets/zig-CdphsgLN.svg +1 -0
  604. package/dist/client/assets/zip-GDnEynqi.svg +1 -0
  605. package/dist/client/assets/zizmor-IsFFdy6W.svg +1 -0
  606. package/dist/client/index.html +12 -6
  607. package/dist/config.js +233 -87
  608. package/dist/config.js.map +1 -1
  609. package/dist/configSessionNamingMigration.js +63 -0
  610. package/dist/configSessionNamingMigration.js.map +1 -0
  611. package/dist/nativeServices/serviceDoctor.js +3 -3
  612. package/dist/nativeServices/serviceDoctor.js.map +1 -1
  613. package/dist/nativeServices/servicePlan.js +53 -23
  614. package/dist/nativeServices/servicePlan.js.map +1 -1
  615. package/dist/nativeServices/serviceProbe.js +27 -7
  616. package/dist/nativeServices/serviceProbe.js.map +1 -1
  617. package/dist/pi-packages/relays/markdownDocument.js +8 -9
  618. package/dist/pi-packages/relays/pi-web-plugin.js +11 -11
  619. package/dist/pi-packages/relays/relayDiscovery.js +5 -1
  620. package/dist/pi-packages/relays/relays.messages.js +38 -0
  621. package/dist/pi-packages/relays/relaysLocalization.js +19 -0
  622. package/dist/pi-packages/relays/relaysPanelElement.js +151 -96
  623. package/dist/pi-packages/scheduled-tasks/browser/pi-web-plugin.js +1135 -0
  624. package/dist/pi-packages/scheduled-tasks/domain.js +63 -0
  625. package/dist/pi-packages/scheduled-tasks/extensions/index.js +710 -0
  626. package/dist/pi-packages/scheduled-tasks/package.json +30 -0
  627. package/dist/pi-packages/scheduled-tasks/scheduler.js +89 -0
  628. package/dist/pi-packages/scheduled-tasks/server-plugin.js +9872 -0
  629. package/dist/pi-packages/scheduled-tasks/service.js +178 -0
  630. package/dist/pi-packages/scheduled-tasks/skills/scheduled-tasks/SKILL.md +30 -0
  631. package/dist/pi-packages/scheduled-tasks/sqlite.js +18 -0
  632. package/dist/pi-packages/scheduled-tasks/store.js +230 -0
  633. package/dist/pi-packages/scheduled-tasks/vite.browser.config.mjs +16 -0
  634. package/dist/pi-packages/scheduled-tasks/vite.companion.config.mjs +17 -0
  635. package/dist/pi-packages/scheduled-tasks/vite.config.mjs +17 -0
  636. package/dist/pi-packages/session-naming/config.js +78 -0
  637. package/dist/pi-packages/session-naming/extensions/index.js +74 -0
  638. package/dist/pi-packages/session-naming/generator.js +76 -0
  639. package/dist/pi-packages/session-naming/package.json +15 -0
  640. package/dist/pi-packages/workflows/browser/pi-web-plugin.js +10 -7
  641. package/dist/pi-packages/workflows/browser/workflows.messages.js +32 -0
  642. package/dist/pi-packages/workflows/browser/worktreeDialog.js +71 -50
  643. package/dist/pi-packages/workflows/server-plugin.js +137 -23
  644. package/dist/pi-web-plugins/audio/audioElement.js +61 -0
  645. package/dist/pi-web-plugins/audio/audioFormats.js +18 -0
  646. package/dist/pi-web-plugins/audio/byteRange.js +21 -0
  647. package/dist/pi-web-plugins/audio/package.json +10 -0
  648. package/dist/pi-web-plugins/audio/pi-web-plugin.js +39 -0
  649. package/dist/pi-web-plugins/audio/server.js +71 -0
  650. package/dist/pi-web-plugins/code-highlight/browser/pi-web-plugin.js +4 -4
  651. package/dist/pi-web-plugins/custom-ui-codex/README.md +2 -0
  652. package/dist/pi-web-plugins/custom-ui-codex/chat-settings.css +15 -2
  653. package/dist/pi-web-plugins/custom-ui-codex/codex.css +8 -0
  654. package/dist/pi-web-plugins/custom-ui-codex/fileIcons.js +30 -0
  655. package/dist/pi-web-plugins/custom-ui-codex/package.json +8 -1
  656. package/dist/pi-web-plugins/custom-ui-codex/pi-web-plugin.js +8 -8
  657. package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +256 -242
  658. package/dist/pi-web-plugins/git/browser/git-panel.js +138 -59
  659. package/dist/pi-web-plugins/git/browser/git.messages.js +47 -0
  660. package/dist/pi-web-plugins/git/browser/gitFileIcon.js +71 -0
  661. package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +21 -4
  662. package/dist/pi-web-plugins/git/server-plugin.js +5 -3
  663. package/dist/pi-web-plugins/info/info.messages.js +66 -0
  664. package/dist/pi-web-plugins/info/infoInternals.js +217 -217
  665. package/dist/pi-web-plugins/info/pi-web-plugin.js +19 -14
  666. package/dist/pi-web-plugins/language-spanish/catalogs.js +1896 -0
  667. package/dist/pi-web-plugins/language-spanish/package.json +14 -0
  668. package/dist/pi-web-plugins/language-spanish/pi-web-plugin.js +90 -0
  669. package/dist/pi-web-plugins/language-swedish/catalogs.js +1896 -0
  670. package/dist/pi-web-plugins/language-swedish/package.json +14 -0
  671. package/dist/pi-web-plugins/language-swedish/pi-web-plugin.js +89 -0
  672. package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +4 -4
  673. package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +71 -66
  674. package/dist/pi-web-plugins/terminal/bunPtyProvider.js +109 -0
  675. package/dist/pi-web-plugins/terminal/nodePtyProvider.js +75 -0
  676. package/dist/pi-web-plugins/terminal/nodePtySpawnHelper.js +36 -0
  677. package/dist/pi-web-plugins/terminal/ptyComposition.js +12 -0
  678. package/dist/pi-web-plugins/terminal/ptyProvider.js +2 -0
  679. package/dist/pi-web-plugins/terminal/server-plugin.js +42 -14
  680. package/dist/pi-web-plugins/terminal/terminalService.js +218 -76
  681. package/dist/pi-web-plugins/themes/assets/graphite.css +56 -0
  682. package/dist/pi-web-plugins/themes/assets/paper.css +56 -0
  683. package/dist/pi-web-plugins/themes/package.json +21 -0
  684. package/dist/pi-web-plugins/updates/pi-web-plugin.js +200 -155
  685. package/dist/pi-web-plugins/updates/updates.messages.js +59 -0
  686. package/dist/pi-web-plugins/updates/updatesLogic.js +27 -29
  687. package/dist/pi-web-plugins/workspace-tasks/config.js +18 -19
  688. package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +13 -8
  689. package/dist/pi-web-plugins/workspace-tasks/tasks.messages.js +45 -0
  690. package/dist/pi-web-plugins/workspace-tasks/tasksLocalization.js +33 -0
  691. package/dist/pi-web-plugins/workspace-tasks/tasksPanelElement.js +75 -46
  692. package/dist/pi-web-plugins/workspace-tasks/workspaceTasksClient.js +7 -33
  693. package/dist/pi-web-plugins/zh-cn/bundled.json +31 -18
  694. package/dist/pi-web-plugins/zh-cn/catalogs.json +1803 -0
  695. package/dist/pi-web-plugins/zh-cn/components.json +2 -0
  696. package/dist/pi-web-plugins/zh-cn/files.json +7 -0
  697. package/dist/pi-web-plugins/zh-cn/main.json +5 -1
  698. package/dist/pi-web-plugins/zh-cn/management-errors.json +6 -0
  699. package/dist/pi-web-plugins/zh-cn/pi-web-plugin.js +13 -4
  700. package/dist/pi-web-plugins/zh-cn/server-main.json +4 -4
  701. package/dist/pi-web-plugins/zh-cn/server.json +1 -1
  702. package/dist/piWebVersionReport.js +2 -0
  703. package/dist/piWebVersionReport.js.map +1 -1
  704. package/dist/plugin-api.d.ts +202 -8
  705. package/dist/runtimePreflight.js +14 -0
  706. package/dist/runtimePreflight.js.map +1 -0
  707. package/dist/server/activity/workspaceActivityService.js +18 -1
  708. package/dist/server/activity/workspaceActivityService.js.map +1 -1
  709. package/dist/server/app.js +48 -10
  710. package/dist/server/app.js.map +1 -1
  711. package/dist/server/configRoutes.js +117 -139
  712. package/dist/server/configRoutes.js.map +1 -1
  713. package/dist/server/configUpdates.js +104 -0
  714. package/dist/server/configUpdates.js.map +1 -0
  715. package/dist/server/deploymentIdentity.js +12 -10
  716. package/dist/server/deploymentIdentity.js.map +1 -1
  717. package/dist/server/deploymentIdentityRoutes.js +2 -1
  718. package/dist/server/deploymentIdentityRoutes.js.map +1 -1
  719. package/dist/server/diagnostics/nodePtyNativeModule.js +0 -18
  720. package/dist/server/diagnostics/nodePtyNativeModule.js.map +1 -1
  721. package/dist/server/diagnostics/terminalPrerequisites.js +54 -0
  722. package/dist/server/diagnostics/terminalPrerequisites.js.map +1 -0
  723. package/dist/server/index.js +9 -0
  724. package/dist/server/index.js.map +1 -1
  725. package/dist/server/knownAutoInstallPiPackages.js +6 -0
  726. package/dist/server/knownAutoInstallPiPackages.js.map +1 -1
  727. package/dist/server/knownPiPackages.js +4 -4
  728. package/dist/server/knownPiPackages.js.map +1 -1
  729. package/dist/server/machines/machineClient.js +39 -17
  730. package/dist/server/machines/machineClient.js.map +1 -1
  731. package/dist/server/machines/machinePluginProxyRoutes.js +3 -1
  732. package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -1
  733. package/dist/server/machines/machineProxyRoutes.js +60 -9
  734. package/dist/server/machines/machineProxyRoutes.js.map +1 -1
  735. package/dist/server/machines/machineService.js +81 -13
  736. package/dist/server/machines/machineService.js.map +1 -1
  737. package/dist/server/machines/machineStore.js.map +1 -1
  738. package/dist/server/managementAgents.js +179 -0
  739. package/dist/server/managementAgents.js.map +1 -0
  740. package/dist/server/managementAgentsRoutes.js +42 -0
  741. package/dist/server/managementAgentsRoutes.js.map +1 -0
  742. package/dist/server/managementEmbed.js +27 -44
  743. package/dist/server/managementEmbed.js.map +1 -1
  744. package/dist/server/managementEntryRoutes.js +51 -0
  745. package/dist/server/managementEntryRoutes.js.map +1 -0
  746. package/dist/server/managementEntryTickets.js +46 -0
  747. package/dist/server/managementEntryTickets.js.map +1 -0
  748. package/dist/server/managementTransportLimits.js +5 -0
  749. package/dist/server/managementTransportLimits.js.map +1 -0
  750. package/dist/server/navigationPreferenceRoutes.js +20 -1
  751. package/dist/server/navigationPreferenceRoutes.js.map +1 -1
  752. package/dist/server/normalAuth.js +3 -1
  753. package/dist/server/normalAuth.js.map +1 -1
  754. package/dist/server/notices/serverNoticeStore.js +4 -0
  755. package/dist/server/notices/serverNoticeStore.js.map +1 -1
  756. package/dist/server/piPackageService.js +15 -1
  757. package/dist/server/piPackageService.js.map +1 -1
  758. package/dist/server/piWebPluginCatalog.js +23 -11
  759. package/dist/server/piWebPluginCatalog.js.map +1 -1
  760. package/dist/server/piWebPluginLifecycle.js +14 -4
  761. package/dist/server/piWebPluginLifecycle.js.map +1 -1
  762. package/dist/server/piWebPluginService.js +11 -5
  763. package/dist/server/piWebPluginService.js.map +1 -1
  764. package/dist/server/piWebStatus.js +12 -10
  765. package/dist/server/piWebStatus.js.map +1 -1
  766. package/dist/server/piWebStatusCache.js +3 -1
  767. package/dist/server/piWebStatusCache.js.map +1 -1
  768. package/dist/server/plugins/pluginBackendRegistry.js +229 -4
  769. package/dist/server/plugins/pluginBackendRegistry.js.map +1 -1
  770. package/dist/server/plugins/pluginBackendResourceProxyRoutes.js +40 -0
  771. package/dist/server/plugins/pluginBackendResourceProxyRoutes.js.map +1 -0
  772. package/dist/server/plugins/pluginBackendResourceResponse.js +84 -0
  773. package/dist/server/plugins/pluginBackendResourceResponse.js.map +1 -0
  774. package/dist/server/plugins/projectPluginSettings.js +9 -2
  775. package/dist/server/plugins/projectPluginSettings.js.map +1 -1
  776. package/dist/server/plugins/serverPluginCatalogCapability.js +7 -2
  777. package/dist/server/plugins/serverPluginCatalogCapability.js.map +1 -1
  778. package/dist/server/plugins/serverPluginPiSessionsCapability.js +16 -3
  779. package/dist/server/plugins/serverPluginPiSessionsCapability.js.map +1 -1
  780. package/dist/server/plugins/serverPluginRuntime.js +25 -9
  781. package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
  782. package/dist/server/plugins/serverPluginSessionLifecycleCapability.js +87 -0
  783. package/dist/server/plugins/serverPluginSessionLifecycleCapability.js.map +1 -0
  784. package/dist/server/requestLogging.js +1 -1
  785. package/dist/server/requestLogging.js.map +1 -1
  786. package/dist/server/sessiond/agentHttpDispatcher.js +14 -7
  787. package/dist/server/sessiond/agentHttpDispatcher.js.map +1 -1
  788. package/dist/server/sessiond/autoInstallPiPackageSources.js +54 -0
  789. package/dist/server/sessiond/autoInstallPiPackageSources.js.map +1 -0
  790. package/dist/server/sessiond/autoInstallPiPackages.js +77 -30
  791. package/dist/server/sessiond/autoInstallPiPackages.js.map +1 -1
  792. package/dist/server/sessiond/pluginBackendChannelRoutes.js +3 -13
  793. package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -1
  794. package/dist/server/sessiond/pluginBackendResourceRoutes.js +62 -0
  795. package/dist/server/sessiond/pluginBackendResourceRoutes.js.map +1 -0
  796. package/dist/server/sessiond/pluginSessionLifecycleRoutes.js +45 -0
  797. package/dist/server/sessiond/pluginSessionLifecycleRoutes.js.map +1 -0
  798. package/dist/server/sessiond/sessionProxyRoutes.js +55 -11
  799. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
  800. package/dist/server/sessiond/sessionServiceDependencies.js +3 -0
  801. package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
  802. package/dist/server/sessiond.js +46 -15
  803. package/dist/server/sessiond.js.map +1 -1
  804. package/dist/server/sessions/askUserDomain.js +24 -2
  805. package/dist/server/sessions/askUserDomain.js.map +1 -1
  806. package/dist/server/sessions/askUserTool.js +1 -1
  807. package/dist/server/sessions/askUserTool.js.map +1 -1
  808. package/dist/server/sessions/dockerEnvironmentFacts.js +10 -9
  809. package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
  810. package/dist/server/sessions/mcpOAuthCredentialAdapter.js +4 -4
  811. package/dist/server/sessions/mcpOAuthCredentialAdapter.js.map +1 -1
  812. package/dist/server/sessions/piSessionService.js +500 -259
  813. package/dist/server/sessions/piSessionService.js.map +1 -1
  814. package/dist/server/sessions/requestHumanInterventionTool.js +27 -0
  815. package/dist/server/sessions/requestHumanInterventionTool.js.map +1 -0
  816. package/dist/server/sessions/sendSessionMessageTool.js +32 -0
  817. package/dist/server/sessions/sendSessionMessageTool.js.map +1 -0
  818. package/dist/server/sessions/sessionActivityCoordinator.js.map +1 -1
  819. package/dist/server/sessions/sessionCleanup.js +18 -1
  820. package/dist/server/sessions/sessionCleanup.js.map +1 -1
  821. package/dist/server/sessions/sessionCommandService.js +58 -52
  822. package/dist/server/sessions/sessionCommandService.js.map +1 -1
  823. package/dist/server/sessions/sessionContentSearch.js +103 -30
  824. package/dist/server/sessions/sessionContentSearch.js.map +1 -1
  825. package/dist/server/sessions/sessionIntervention.js +29 -0
  826. package/dist/server/sessions/sessionIntervention.js.map +1 -0
  827. package/dist/server/sessions/sessionNameGenerator.js +0 -60
  828. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  829. package/dist/server/sessions/sessionNotificationStore.js +2 -1
  830. package/dist/server/sessions/sessionNotificationStore.js.map +1 -1
  831. package/dist/server/sessions/sessionRoutes.js +25 -1
  832. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  833. package/dist/server/sessions/sessionSummaryScanner.js +8 -0
  834. package/dist/server/sessions/sessionSummaryScanner.js.map +1 -1
  835. package/dist/server/sessions/sessionTreeProjection.js +108 -97
  836. package/dist/server/sessions/sessionTreeProjection.js.map +1 -1
  837. package/dist/server/sessions/sessionUiEvents.js +2 -0
  838. package/dist/server/sessions/sessionUiEvents.js.map +1 -1
  839. package/dist/server/sessions/sessionUnreadStore.js +11 -1
  840. package/dist/server/sessions/sessionUnreadStore.js.map +1 -1
  841. package/dist/server/sessions/spawnSubsessionTool.js +66 -15
  842. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  843. package/dist/server/sessions/subsessionCompletionDelivery.js +6 -3
  844. package/dist/server/sessions/subsessionCompletionDelivery.js.map +1 -1
  845. package/dist/server/sessions/subsessionCompletionInbox.js +6 -9
  846. package/dist/server/sessions/subsessionCompletionInbox.js.map +1 -1
  847. package/dist/server/status/machineStatusService.js +15 -3
  848. package/dist/server/status/machineStatusService.js.map +1 -1
  849. package/dist/server/storage/navigationPreferenceStore.js +11 -0
  850. package/dist/server/storage/navigationPreferenceStore.js.map +1 -1
  851. package/dist/server/storage/sessionPinStore.js +95 -0
  852. package/dist/server/storage/sessionPinStore.js.map +1 -0
  853. package/dist/server/terminals/maintenanceExecutionContext.js +18 -0
  854. package/dist/server/terminals/maintenanceExecutionContext.js.map +1 -0
  855. package/dist/server/terminals/maintenanceTerminalCapability.js +25 -0
  856. package/dist/server/terminals/maintenanceTerminalCapability.js.map +1 -0
  857. package/dist/server/terminals/requiredTerminalService.js.map +1 -1
  858. package/dist/server/terminals/terminalStatusRoutes.js +22 -0
  859. package/dist/server/terminals/terminalStatusRoutes.js.map +1 -0
  860. package/dist/server/themeBootstrap.js +123 -0
  861. package/dist/server/themeBootstrap.js.map +1 -0
  862. package/dist/server/themeCatalog.js +206 -0
  863. package/dist/server/themeCatalog.js.map +1 -0
  864. package/dist/server/themeMetadata.js +74 -0
  865. package/dist/server/themeMetadata.js.map +1 -0
  866. package/dist/server/webSocketBridge.js +16 -12
  867. package/dist/server/webSocketBridge.js.map +1 -1
  868. package/dist/server/webSocketPayloadLimit.js +17 -0
  869. package/dist/server/webSocketPayloadLimit.js.map +1 -0
  870. package/dist/server/workspaceExplorerRoutes.js +3 -1
  871. package/dist/server/workspaceExplorerRoutes.js.map +1 -1
  872. package/dist/server/workspaces/effectivePathAccess.js +1 -1
  873. package/dist/server/workspaces/effectivePathAccess.js.map +1 -1
  874. package/dist/server/workspaces/projectPiWebConfig.js +30 -7
  875. package/dist/server/workspaces/projectPiWebConfig.js.map +1 -1
  876. package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js +2 -0
  877. package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js.map +1 -1
  878. package/dist/server/workspaces/workspaceProviderRegistry.js +6 -2
  879. package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
  880. package/dist/server/workspaces/workspaceRemovalService.js +6 -4
  881. package/dist/server/workspaces/workspaceRemovalService.js.map +1 -1
  882. package/dist/server-plugin-api.d.ts +39 -1
  883. package/dist/server-plugin-api.js +18 -3
  884. package/dist/server-plugin-api.js.map +1 -1
  885. package/dist/sessiond/sessionDaemonClient.js +7 -1
  886. package/dist/sessiond/sessionDaemonClient.js.map +1 -1
  887. package/dist/sessiond/sessionDaemonTerminalStatus.js +27 -0
  888. package/dist/sessiond/sessionDaemonTerminalStatus.js.map +1 -0
  889. package/dist/shared/apiTypes.js +4 -0
  890. package/dist/shared/apiTypes.js.map +1 -1
  891. package/dist/shared/capabilities.js +6 -0
  892. package/dist/shared/capabilities.js.map +1 -1
  893. package/dist/shared/commandOutputPresentation.js +17 -0
  894. package/dist/shared/commandOutputPresentation.js.map +1 -0
  895. package/dist/shared/commandResultPresentation.js +51 -0
  896. package/dist/shared/commandResultPresentation.js.map +1 -0
  897. package/dist/shared/configResolution.js +99 -0
  898. package/dist/shared/configResolution.js.map +1 -0
  899. package/dist/shared/defaultLocalization.js +60 -0
  900. package/dist/shared/defaultLocalization.js.map +1 -0
  901. package/dist/shared/federatedRoutes.js +13 -1
  902. package/dist/shared/federatedRoutes.js.map +1 -1
  903. package/dist/shared/installationName.js +21 -0
  904. package/dist/shared/installationName.js.map +1 -0
  905. package/dist/shared/localization.d.ts +55 -0
  906. package/dist/shared/localization.js +4 -0
  907. package/dist/shared/machineStatus.js +2 -0
  908. package/dist/shared/machineStatus.js.map +1 -1
  909. package/dist/shared/managedAgents.js +2 -0
  910. package/dist/shared/managedAgents.js.map +1 -0
  911. package/dist/shared/piWebConfigParsing.js +16 -30
  912. package/dist/shared/piWebConfigParsing.js.map +1 -1
  913. package/dist/shared/piWebRuntime.js +17 -0
  914. package/dist/shared/piWebRuntime.js.map +1 -0
  915. package/dist/shared/piWebStatusParsing.js +5 -0
  916. package/dist/shared/piWebStatusParsing.js.map +1 -1
  917. package/dist/shared/pluginApiTypes.d.ts +49 -7
  918. package/dist/shared/pluginBackendProtocol.js +24 -0
  919. package/dist/shared/pluginBackendProtocol.js.map +1 -1
  920. package/dist/shared/pluginCatalogTypes.d.ts +8 -0
  921. package/dist/shared/pluginCatalogTypes.js +15 -0
  922. package/dist/shared/pluginCatalogTypes.js.map +1 -1
  923. package/dist/shared/pluginResourceMetadata.js +58 -0
  924. package/dist/shared/pluginResourceMetadata.js.map +1 -0
  925. package/dist/shared/pluginSessionLifecycleTypes.d.ts +24 -0
  926. package/dist/shared/pluginSessionLifecycleTypes.js +56 -0
  927. package/dist/shared/pluginSessionLifecycleTypes.js.map +1 -0
  928. package/dist/shared/serverNoticePresentation.d.ts +9 -0
  929. package/dist/shared/serverNoticePresentation.js +12 -0
  930. package/dist/shared/serverNoticePresentation.js.map +1 -0
  931. package/dist/shared/sessionActivityPresentation.js +73 -0
  932. package/dist/shared/sessionActivityPresentation.js.map +1 -0
  933. package/dist/shared/sessionNotificationPresentation.js +16 -0
  934. package/dist/shared/sessionNotificationPresentation.js.map +1 -0
  935. package/dist/shared/terminalCommandRun.js +4 -0
  936. package/dist/shared/terminalCommandRun.js.map +1 -1
  937. package/dist/shared/terminalServiceStatus.js +14 -0
  938. package/dist/shared/terminalServiceStatus.js.map +1 -0
  939. package/dist/shared/terminalTitlePresentation.d.ts +10 -0
  940. package/dist/shared/terminalTitlePresentation.js +13 -0
  941. package/dist/shared/terminalTitlePresentation.js.map +1 -0
  942. package/dist/shared/themeCatalog.js +2 -0
  943. package/dist/shared/themeCatalog.js.map +1 -0
  944. package/dist/shared/themePreference.js +1 -0
  945. package/dist/shared/themePreference.js.map +1 -1
  946. package/dist/shared/thinkingLevels.d.ts +29 -0
  947. package/dist/shared/thinkingLevels.js +6 -4
  948. package/dist/shared/thinkingLevels.js.map +1 -1
  949. package/dist/shared/versionCheckPolicy.js +10 -0
  950. package/dist/shared/versionCheckPolicy.js.map +1 -0
  951. package/dist/shared/workspaceRemovalPresentation.d.ts +8 -0
  952. package/dist/shared/workspaceRemovalPresentation.js +10 -0
  953. package/dist/shared/workspaceRemovalPresentation.js.map +1 -0
  954. package/docs/README.md +7 -3
  955. package/docs/assets/pi-web-desktop-graphite.png +0 -0
  956. package/docs/assets/pi-web-desktop-paper.png +0 -0
  957. package/docs/assets/pi-web-desktop-pi-web-dark.png +0 -0
  958. package/docs/assets/pi-web-desktop-pi-web-light.png +0 -0
  959. package/docs/assets/pi-web-desktop.png +0 -0
  960. package/docs/assets/pi-web-mobile-graphite.png +0 -0
  961. package/docs/assets/pi-web-mobile-paper.png +0 -0
  962. package/docs/assets/pi-web-mobile-pi-web-dark.png +0 -0
  963. package/docs/assets/pi-web-mobile-pi-web-light.png +0 -0
  964. package/docs/assets/pi-web-mobile-themes.gif +0 -0
  965. package/docs/assets/pi-web-mobile.png +0 -0
  966. package/docs/assets/pi-web-tablet-graphite.png +0 -0
  967. package/docs/assets/pi-web-tablet-paper.png +0 -0
  968. package/docs/assets/pi-web-tablet-pi-web-dark.png +0 -0
  969. package/docs/assets/pi-web-tablet-pi-web-light.png +0 -0
  970. package/docs/assets/pi-web-tablet-themes.gif +0 -0
  971. package/docs/assets/pi-web-tablet.png +0 -0
  972. package/docs/assets/pi-web-themes.gif +0 -0
  973. package/docs/config.md +196 -56
  974. package/docs/plugins.md +370 -26
  975. package/docs/scheduled-tasks.md +127 -0
  976. package/package.json +43 -19
  977. package/dist/client/assets/CommandPicker-gK2biReF.js +0 -70
  978. package/dist/client/assets/PiWebApp-Do_8tp5d.js +0 -3761
  979. package/dist/client/assets/SettingsDialog-vGDo1-BJ.js +0 -1015
  980. package/dist/client/assets/index-Ura0RJyr.js +0 -2
  981. package/dist/client/assets/managementEmbed-Bx8Mwzdw.js +0 -2
  982. package/dist/client/assets/preload-helper-XpATwJ5c.js +0 -1
  983. package/dist/pi-packages/captains-log/README.md +0 -11
  984. package/dist/pi-packages/captains-log/dist/browser/channelProtocol.js +0 -29
  985. package/dist/pi-packages/captains-log/dist/browser/index.js +0 -143
  986. package/dist/pi-packages/captains-log/dist/browser/markdown.js +0 -68
  987. package/dist/pi-packages/captains-log/dist/browser/panel.js +0 -148
  988. package/dist/pi-packages/captains-log/dist/browser/protocol.js +0 -26
  989. package/dist/pi-packages/captains-log/dist/companion.js +0 -126
  990. package/dist/pi-packages/captains-log/dist/roundtrip.js +0 -62
  991. package/dist/pi-packages/captains-log/dist/server.js +0 -210
  992. package/dist/pi-packages/captains-log/dist/store.js +0 -75
  993. package/dist/pi-packages/captains-log/docs/usage.md +0 -29
  994. package/dist/pi-packages/captains-log/i18n.js +0 -7
  995. package/dist/pi-packages/captains-log/package.json +0 -35
  996. package/dist/pi-packages/captains-log/tsconfig.json +0 -21
  997. package/dist/pi-packages/captains-log/vite.config.mjs +0 -28
  998. package/examples/session-bridge-plugin/README.md +0 -20
  999. package/examples/session-bridge-plugin/docs/usage.md +0 -54
  1000. package/examples/session-bridge-plugin/package.json +0 -26
  1001. package/examples/session-bridge-plugin/src/browser/index.ts +0 -87
  1002. package/examples/session-bridge-plugin/src/browser/protocol.ts +0 -24
  1003. package/examples/session-bridge-plugin/src/companion.ts +0 -65
  1004. package/examples/session-bridge-plugin/src/reviewRun.ts +0 -39
  1005. package/examples/session-bridge-plugin/src/server.ts +0 -85
  1006. package/examples/session-bridge-plugin/src/store.ts +0 -80
  1007. package/examples/session-bridge-plugin/tsconfig.json +0 -21
  1008. /package/dist/{client/assets/classic-CyM97Akm.css → pi-web-plugins/themes/assets/classic.css} +0 -0
  1009. /package/dist/{client/assets/pi-web-dark-D_KtbM95.css → pi-web-plugins/themes/assets/pi-web-dark.css} +0 -0
  1010. /package/dist/{client/assets/pi-web-light-DSNLMIBI.css → pi-web-plugins/themes/assets/pi-web-light.css} +0 -0
@@ -0,0 +1,179 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { chmod, lstat, mkdir, open, realpath, rename, rm, writeFile } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ import { withFileMutationQueue } from "../piSdk.js";
5
+ import { UserFacingError } from "../shared/i18n.js";
6
+ import { managedAgentsFileContent } from "./managementEmbed.js";
7
+ const MAX_AGENTS_BYTES = 1024 * 1024;
8
+ const STATE_FILE = "agents-instructions-state.json";
9
+ export class ManagedAgentsConflictError extends UserFacingError {
10
+ constructor() { super("managementAgents.conflict", "AGENTS.md changed. Review the latest version before deciding."); }
11
+ }
12
+ export async function managedAgentsStatus(projectPath, project) {
13
+ if (project.agentsInstructions === undefined || project.agentsInstructions.trim() === "")
14
+ return { available: false };
15
+ const root = await realpath(projectPath);
16
+ return statusFromSnapshot(root, await snapshot(root, project));
17
+ }
18
+ export async function decideManagedAgents(projectPath, project, decision) {
19
+ if (project.agentsInstructions === undefined || project.agentsInstructions.trim() === "")
20
+ throw new UserFacingError("managementAgents.unavailable", "No managed AGENTS.md template is available.");
21
+ const root = await realpath(projectPath);
22
+ return withFileMutationQueue(join(root, "AGENTS.md"), async () => {
23
+ const before = await snapshot(root, project);
24
+ if (before.revision !== decision.revision)
25
+ throw new ManagedAgentsConflictError();
26
+ await statusFromSnapshot(root, before);
27
+ const stateDirectory = await safeDirectory(root, ".pi-web", true);
28
+ if (decision.action === "overwrite") {
29
+ if (before.content !== undefined)
30
+ await backupAgents(root, before.content);
31
+ await atomicWrite(root, "AGENTS.md", before.desired, before.mode ?? 0o600, async () => {
32
+ if ((await snapshot(root, project)).revision !== before.revision)
33
+ throw new ManagedAgentsConflictError();
34
+ });
35
+ }
36
+ const after = await snapshot(root, project);
37
+ if (decision.action === "keep" && after.revision !== before.revision)
38
+ throw new ManagedAgentsConflictError();
39
+ await atomicWrite(stateDirectory, STATE_FILE, `${JSON.stringify({ version: 1, templateFingerprint: after.templateFingerprint })}\n`);
40
+ return statusFromSnapshot(root, after);
41
+ });
42
+ }
43
+ async function snapshot(root, project) {
44
+ const instructions = project.agentsInstructions ?? "";
45
+ const desired = project.agentsInstructionsPolicy === "replace-managed"
46
+ ? managedAgentsFileContent(instructions, project.agentsInstructionsRevision) : instructions;
47
+ const templateRevision = project.agentsInstructionsRevision ?? hash(desired).slice(0, 16);
48
+ const templateModifiedAt = project.agentsInstructionsUpdatedAt ?? null;
49
+ const templateFingerprint = hash(JSON.stringify([hash(desired), templateRevision, templateModifiedAt]));
50
+ const file = await readRegularFile(root, "AGENTS.md");
51
+ const revision = hash(JSON.stringify([templateFingerprint, file?.stamp ?? null]));
52
+ return { desired, templateRevision, templateModifiedAt, templateFingerprint, revision, content: file?.content, mode: file?.mode, modifiedAt: file?.modifiedAt ?? null };
53
+ }
54
+ async function statusFromSnapshot(root, current) {
55
+ const stateDirectory = await safeDirectory(root, ".pi-web", false);
56
+ const state = stateDirectory === undefined ? undefined : await readRegularFile(stateDirectory, STATE_FILE);
57
+ let acknowledged;
58
+ if (state !== undefined) {
59
+ const value = JSON.parse(state.content.toString("utf8"));
60
+ if (typeof value !== "object" || value === null || !("version" in value) || value.version !== 1
61
+ || !("templateFingerprint" in value) || typeof value.templateFingerprint !== "string") {
62
+ throw new UserFacingError("managementAgents.invalidState", "Managed AGENTS.md review state is invalid.");
63
+ }
64
+ acknowledged = value.templateFingerprint;
65
+ }
66
+ const newerTemplate = current.templateModifiedAt !== null && (current.modifiedAt === null
67
+ || Date.parse(current.templateModifiedAt) > Date.parse(current.modifiedAt));
68
+ return {
69
+ available: true,
70
+ pending: newerTemplate && current.content?.toString("utf8") !== current.desired && acknowledged !== current.templateFingerprint,
71
+ revision: current.revision,
72
+ modifiedAt: current.modifiedAt,
73
+ templateRevision: current.templateRevision,
74
+ templateModifiedAt: current.templateModifiedAt,
75
+ };
76
+ }
77
+ async function readRegularFile(root, name) {
78
+ const target = join(root, name);
79
+ let stat;
80
+ try {
81
+ stat = await lstat(target);
82
+ }
83
+ catch (error) {
84
+ if (isMissing(error))
85
+ return undefined;
86
+ throw error;
87
+ }
88
+ if (!stat.isFile() || stat.isSymbolicLink())
89
+ throw unsafePath();
90
+ if (stat.size > MAX_AGENTS_BYTES)
91
+ throw new UserFacingError("managementAgents.tooLarge", "Managed AGENTS.md files must not exceed 1 MiB.");
92
+ const handle = await open(target, "r");
93
+ try {
94
+ const opened = await handle.stat();
95
+ if (opened.ino !== stat.ino || opened.dev !== stat.dev || await realpath(target) !== target)
96
+ throw unsafePath();
97
+ const buffer = Buffer.alloc(MAX_AGENTS_BYTES + 1);
98
+ const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
99
+ if (bytesRead > MAX_AGENTS_BYTES)
100
+ throw new UserFacingError("managementAgents.tooLarge", "Managed AGENTS.md files must not exceed 1 MiB.");
101
+ const content = buffer.subarray(0, bytesRead);
102
+ const after = await handle.stat();
103
+ if (after.mtimeMs !== opened.mtimeMs || after.ctimeMs !== opened.ctimeMs || after.size !== opened.size)
104
+ throw new ManagedAgentsConflictError();
105
+ return { content, mode: after.mode & 0o7777, modifiedAt: after.mtime.toISOString(), stamp: [after.mtimeMs, after.ctimeMs, after.size, after.ino, after.mode, hash(content)] };
106
+ }
107
+ finally {
108
+ await handle.close();
109
+ }
110
+ }
111
+ async function safeDirectory(root, name, create) {
112
+ const target = join(root, name);
113
+ if (create) {
114
+ try {
115
+ await mkdir(target);
116
+ }
117
+ catch (error) {
118
+ if (!isCode(error, "EEXIST"))
119
+ throw error;
120
+ }
121
+ }
122
+ let stat;
123
+ try {
124
+ stat = await lstat(target);
125
+ }
126
+ catch (error) {
127
+ if (isMissing(error) && !create)
128
+ return undefined;
129
+ throw error;
130
+ }
131
+ if (!stat.isDirectory() || stat.isSymbolicLink() || await realpath(target) !== target)
132
+ throw unsafePath();
133
+ return target;
134
+ }
135
+ async function atomicWrite(root, name, content, mode = 0o600, beforeCommit) {
136
+ if (await realpath(root) !== root)
137
+ throw unsafePath();
138
+ await readRegularFile(root, name);
139
+ const temporary = join(root, `.${name}.${randomUUID()}.tmp`);
140
+ try {
141
+ // Create privately, then restore the exact mode independently of the process umask.
142
+ await writeFile(temporary, content, { flag: "wx", mode: 0o600 });
143
+ await chmod(temporary, mode);
144
+ await beforeCommit?.();
145
+ if (await realpath(root) !== root)
146
+ throw unsafePath();
147
+ await readRegularFile(root, name);
148
+ await rename(temporary, join(root, name));
149
+ }
150
+ finally {
151
+ await rm(temporary, { force: true });
152
+ }
153
+ }
154
+ async function backupAgents(root, content) {
155
+ const stateDirectory = await safeDirectory(root, ".pi-web", true);
156
+ const backupDirectory = await safeDirectory(stateDirectory, "agents-backups", true);
157
+ const timestamp = new Date().toISOString().replace(/[-:]/g, "").replace(/\.\d{3}Z$/, "Z");
158
+ const fingerprint = hash(content).slice(0, 12);
159
+ for (let attempt = 0; attempt < 11; attempt += 1) {
160
+ const suffix = attempt === 0 ? "" : attempt < 10 ? `-${String(attempt)}` : `-${randomUUID().slice(0, 8)}`;
161
+ try {
162
+ if (await realpath(backupDirectory) !== backupDirectory)
163
+ throw unsafePath();
164
+ const target = join(backupDirectory, `AGENTS.${timestamp}.${fingerprint}${suffix}.md`);
165
+ await writeFile(target, content, { flag: "wx", mode: 0o600 });
166
+ await chmod(target, 0o600);
167
+ return;
168
+ }
169
+ catch (error) {
170
+ if (!isCode(error, "EEXIST") || attempt === 10)
171
+ throw error;
172
+ }
173
+ }
174
+ }
175
+ function hash(value) { return createHash("sha256").update(value).digest("hex"); }
176
+ function isCode(error, code) { return error instanceof Error && "code" in error && error.code === code; }
177
+ function isMissing(error) { return isCode(error, "ENOENT"); }
178
+ function unsafePath() { return new UserFacingError("managementAgents.unsafePath", "Managed AGENTS.md paths must be ordinary files and directories inside the workspace."); }
179
+ //# sourceMappingURL=managementAgents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementAgents.js","sourceRoot":"","sources":["../../src/server/managementAgents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { createTranslator, UserFacingError, userFacingErrorMessage } from "../shared/i18n.js";
2
+ import { decideManagedAgents, managedAgentsStatus, ManagedAgentsConflictError } from "./managementAgents.js";
3
+ import { managementContextForRequest } from "./managementEmbed.js";
4
+ import { resolveManagedWorkspaceContext } from "./workspaces/workspaceRouteContext.js";
5
+ import { workspaceCatalogHttpStatus } from "./workspaces/workspaceCatalog.js";
6
+ export function registerManagementAgentsRoutes(app, workspaces, prefix = "/api", runtime, translate = createTranslator("en", {})) {
7
+ app.route({
8
+ method: ["GET", "POST"],
9
+ url: `${prefix}/projects/:projectId/workspaces/:workspaceId/agents-instructions`,
10
+ handler: async (request, reply) => {
11
+ let context;
12
+ try {
13
+ context = await managementContextForRequest(request, runtime, reply);
14
+ }
15
+ catch (error) {
16
+ return reply.code(401).send({ error: userFacingErrorMessage(error, translate) });
17
+ }
18
+ if (context === undefined)
19
+ return reply.code(403).send({ error: translate("managementAgents.managementOnly", "Managed AGENTS.md review is only available in management mode.") });
20
+ try {
21
+ const workspace = await resolveManagedWorkspaceContext(workspaces, runtime, context, request.params.projectId, request.params.workspaceId, { createManagedProject: false });
22
+ const entry = context.projects.find((item) => item.id === workspace.project.id) ?? { id: workspace.project.id, name: workspace.project.name };
23
+ if (request.method === "GET")
24
+ return await managedAgentsStatus(workspace.root, entry);
25
+ return await decideManagedAgents(workspace.root, entry, parseDecision(request.body));
26
+ }
27
+ catch (error) {
28
+ const unauthorized = error instanceof UserFacingError && error.messageKey === "managementError.project.is.not.authorized.for.this.management.session";
29
+ return reply.code(error instanceof ManagedAgentsConflictError ? 409 : unauthorized ? 403 : workspaceCatalogHttpStatus(error, 400)).send({ error: userFacingErrorMessage(error, translate) });
30
+ }
31
+ },
32
+ });
33
+ }
34
+ function parseDecision(value) {
35
+ if (typeof value !== "object" || value === null || !("action" in value) || (value.action !== "overwrite" && value.action !== "keep")
36
+ || !("revision" in value) || typeof value.revision !== "string" || !/^[a-f0-9]{64}$/.test(value.revision)
37
+ || Object.keys(value).some((key) => key !== "action" && key !== "revision")) {
38
+ throw new UserFacingError("managementAgents.invalidDecision", "Choose whether to overwrite AGENTS.md using the current revision.");
39
+ }
40
+ return { action: value.action, revision: value.revision };
41
+ }
42
+ //# sourceMappingURL=managementAgentsRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementAgentsRoutes.js","sourceRoot":"","sources":["../../src/server/managementAgentsRoutes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { createTranslator, UserFacingError } from "../shared/i18n.js";
2
2
  import { createHash, createHmac, randomBytes, timingSafeEqual } from "node:crypto";
3
3
  import { homedir } from "node:os";
4
- import { mkdir, readFile, realpath, writeFile } from "node:fs/promises";
4
+ import { lstat, mkdir, realpath, writeFile } from "node:fs/promises";
5
5
  import { join, relative, resolve, sep, isAbsolute } from "node:path";
6
6
  import { isRecord } from "../shared/piWebConfigParsing.js";
7
7
  import { createFixedTtlSessionStore, readCookie } from "./httpSessions.js";
@@ -64,11 +64,14 @@ export async function managementContextForRequest(request, runtime, reply) {
64
64
  throw error;
65
65
  }
66
66
  await runtime.prepareContext?.(context);
67
+ establishManagementSession(request, reply, runtime, context);
68
+ return context;
69
+ }
70
+ export function establishManagementSession(request, reply, runtime, context) {
67
71
  if (reply !== undefined && runtime.createSession !== undefined) {
68
72
  const session = runtime.createSession(context);
69
73
  writeSessionCookie(reply, runtime.sessionCookieName ?? MANAGEMENT_SESSION_COOKIE, session, isSecureRequest(request));
70
74
  }
71
- return context;
72
75
  }
73
76
  async function prepareManagementContext(runtime, context) {
74
77
  await runtime.prepareContext?.(context);
@@ -306,6 +309,7 @@ function parseProjectEntry(value) {
306
309
  const agentsInstructions = optionalContentField(value, "agentsInstructions");
307
310
  const agentsInstructionsPolicy = parseAgentsInstructionsPolicy(value["agentsInstructionsPolicy"]);
308
311
  const agentsInstructionsRevision = optionalStringField(value, "agentsInstructionsRevision");
312
+ const agentsInstructionsUpdatedAt = parseAgentsInstructionsUpdatedAt(value["agentsInstructionsUpdatedAt"]);
309
313
  const agentsInstructionsReplaceIfMatches = Array.isArray(value["agentsInstructionsReplaceIfMatches"])
310
314
  ? contentArray(value["agentsInstructionsReplaceIfMatches"])
311
315
  : undefined;
@@ -317,6 +321,7 @@ function parseProjectEntry(value) {
317
321
  ...(agentsInstructions === undefined ? {} : { agentsInstructions }),
318
322
  ...(agentsInstructionsPolicy === undefined ? {} : { agentsInstructionsPolicy }),
319
323
  ...(agentsInstructionsRevision === undefined ? {} : { agentsInstructionsRevision }),
324
+ ...(agentsInstructionsUpdatedAt === undefined ? {} : { agentsInstructionsUpdatedAt }),
320
325
  ...(agentsInstructionsReplaceIfMatches === undefined ? {} : { agentsInstructionsReplaceIfMatches }),
321
326
  };
322
327
  }
@@ -327,61 +332,39 @@ function parseAgentsInstructionsPolicy(value) {
327
332
  return value;
328
333
  throw new Error("Management embed project entry is invalid");
329
334
  }
335
+ function parseAgentsInstructionsUpdatedAt(value) {
336
+ if (value === undefined)
337
+ return undefined;
338
+ if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/.test(value)
339
+ || !Number.isFinite(Date.parse(value)) || new Date(`${value.slice(0, 19)}Z`).toISOString().slice(0, 19) !== value.slice(0, 19)) {
340
+ throw new Error("Management embed project entry is invalid");
341
+ }
342
+ return new Date(value).toISOString();
343
+ }
330
344
  async function ensureManagedProjectAgentsFile(projectPath, project) {
331
345
  const instructions = project.agentsInstructions;
332
346
  if (instructions === undefined || instructions.trim() === "")
333
347
  return;
334
- if (project.agentsInstructionsPolicy === "replace-managed") {
335
- await replaceManagedProjectAgentsFile(projectPath, instructions, project.agentsInstructionsRevision, project.agentsInstructionsReplaceIfMatches ?? []);
336
- return;
337
- }
348
+ const content = project.agentsInstructionsPolicy === "replace-managed"
349
+ ? managedAgentsFileContent(instructions, project.agentsInstructionsRevision) : instructions;
338
350
  try {
339
- await writeFile(join(projectPath, "AGENTS.md"), instructions, { encoding: "utf8", flag: "wx" });
351
+ await lstat(join(projectPath, "AGENTS.md"));
352
+ return;
340
353
  }
341
354
  catch (error) {
342
- if (isNodeErrorWithCode(error, "EEXIST"))
343
- return;
344
- throw error;
355
+ if (!isNodeErrorWithCode(error, "ENOENT"))
356
+ throw error;
345
357
  }
346
- }
347
- async function replaceManagedProjectAgentsFile(projectPath, instructions, revision, replaceIfMatches) {
348
- const target = join(projectPath, "AGENTS.md");
349
- const content = managedAgentsFileContent(instructions, revision);
350
358
  try {
351
- await writeFile(target, content, { encoding: "utf8", flag: "wx" });
352
- return;
359
+ await writeFile(join(projectPath, "AGENTS.md"), content, { encoding: "utf8", flag: "wx" });
353
360
  }
354
361
  catch (error) {
355
- if (!isNodeErrorWithCode(error, "EEXIST"))
356
- throw error;
357
- }
358
- const existing = await readFile(target, "utf8");
359
- if (!isManagedAgentsFile(existing) && !replaceIfMatches.some((baseline) => normalizeAgentsInstructions(baseline) === normalizeAgentsInstructions(existing)))
360
- return;
361
- if (existing === content)
362
- return;
363
- await backupManagedAgentsFile(projectPath, existing);
364
- await writeFile(target, content, "utf8");
365
- }
366
- async function backupManagedAgentsFile(projectPath, content) {
367
- const backupDir = join(projectPath, ".pi-web", "agents-backups");
368
- await mkdir(backupDir, { recursive: true });
369
- const timestamp = new Date().toISOString().replace(/[-:]/g, "").replace(/\.\d{3}Z$/, "Z");
370
- const fingerprint = createHash("sha256").update(content).digest("hex").slice(0, 12);
371
- for (let attempt = 0; attempt < 10; attempt += 1) {
372
- const suffix = attempt === 0 ? "" : `-${String(attempt)}`;
373
- try {
374
- await writeFile(join(backupDir, `AGENTS.${timestamp}.${fingerprint}${suffix}.md`), content, { encoding: "utf8", flag: "wx" });
362
+ if (isNodeErrorWithCode(error, "EEXIST"))
375
363
  return;
376
- }
377
- catch (error) {
378
- if (!isNodeErrorWithCode(error, "EEXIST"))
379
- throw error;
380
- }
364
+ throw error;
381
365
  }
382
- await writeFile(join(backupDir, `AGENTS.${timestamp}.${fingerprint}-${randomBytes(4).toString("hex")}.md`), content, { encoding: "utf8", flag: "wx" });
383
366
  }
384
- function managedAgentsFileContent(instructions, revision) {
367
+ export function managedAgentsFileContent(instructions, revision) {
385
368
  const normalizedInstructions = normalizeAgentsInstructions(instructions);
386
369
  const resolvedRevision = revision ?? createHash("sha256").update(normalizedInstructions).digest("hex").slice(0, 16);
387
370
  return `${MANAGED_AGENTS_MARKER_PREFIX}${JSON.stringify({ source: "management-embed", revision: resolvedRevision })}${MANAGED_AGENTS_MARKER_SUFFIX}\n${normalizedInstructions}`;
@@ -400,7 +383,7 @@ async function ensureRealDirectory(path) {
400
383
  async function pathForManagedProjectEntry(projectRoot, context, project, options) {
401
384
  const entryRoot = project.root?.trim();
402
385
  if (entryRoot !== undefined && entryRoot !== "")
403
- return assertManagedCwd(projectRoot, context, entryRoot);
386
+ return assertManagedCwd(projectRoot, context, entryRoot, options);
404
387
  return managedProjectPath(projectRoot, context.user.rootUserId, project.id, options);
405
388
  }
406
389
  function isExpiredManagementTokenError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"managementEmbed.js","sourceRoot":"","sources":["../../src/server/managementEmbed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managementEmbed.js","sourceRoot":"","sources":["../../src/server/managementEmbed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { createTranslator } from "../shared/i18n.js";
2
+ import { isRecord } from "../shared/piWebConfigParsing.js";
3
+ import { encodeManagementContext, establishManagementSession } from "./managementEmbed.js";
4
+ import { ManagementEntryTickets } from "./managementEntryTickets.js";
5
+ import { MANAGEMENT_CONTEXT_HEADER_LIMIT, MANAGEMENT_ENTRY_BODY_LIMIT } from "./managementTransportLimits.js";
6
+ // Gateway login endpoints, deliberately not federated machine APIs.
7
+ export function registerManagementEntryRoutes(app, runtime, t = createTranslator("en", {}), tickets = new ManagementEntryTickets()) {
8
+ app.addHook("onClose", () => { tickets.clear(); return Promise.resolve(); });
9
+ app.post("/api/management-entry-tickets", { bodyLimit: MANAGEMENT_ENTRY_BODY_LIMIT }, async (request, reply) => {
10
+ reply.header("cache-control", "no-store");
11
+ if (runtime?.enabled !== true || runtime.createSession === undefined) {
12
+ return reply.code(503).send({ error: t("managementEntry.unavailable", "Management entry is unavailable") });
13
+ }
14
+ if (!isRecord(request.body) || typeof request.body["token"] !== "string" || request.body["token"].trim() === "") {
15
+ return reply.code(400).send({ error: t("managementEntry.tokenRequired", "A signed management entry token is required") });
16
+ }
17
+ let context;
18
+ try {
19
+ // Never accept a browser Cookie as authorization for minting new entries.
20
+ context = await runtime.authenticate(request.body["token"]);
21
+ }
22
+ catch {
23
+ return reply.code(401).send({ error: t("managementEntry.invalidToken", "Management entry token is invalid or expired") });
24
+ }
25
+ if (encodeManagementContext(context).length > MANAGEMENT_CONTEXT_HEADER_LIMIT) {
26
+ return reply.code(413).send({ error: t("managementEntry.tooLarge", "Management entry context is too large") });
27
+ }
28
+ const entry = tickets.create(context);
29
+ if (entry === undefined)
30
+ return reply.code(503).send({ error: t("managementEntry.busy", "Management entry is busy or expired; request a new entry") });
31
+ const response = { entryPath: `management-entry?ticket=${entry.ticket}`, expiresAt: entry.expiresAt };
32
+ return reply.code(201).send(response);
33
+ });
34
+ app.get("/management-entry", { exposeHeadRoute: false }, async (request, reply) => {
35
+ reply.header("cache-control", "no-store").header("referrer-policy", "no-referrer");
36
+ const ticket = isRecord(request.query) ? request.query["ticket"] : undefined;
37
+ const context = typeof ticket === "string" ? tickets.take(ticket) : undefined;
38
+ if (runtime?.enabled !== true || runtime.createSession === undefined || context === undefined) {
39
+ return reply.code(401).send({ error: t("managementEntry.invalidTicket", "Management entry has expired or was already used; return to the platform") });
40
+ }
41
+ try {
42
+ await runtime.prepareContext?.(context);
43
+ }
44
+ catch {
45
+ return reply.code(503).send({ error: t("managementEntry.unavailable", "Management entry is unavailable") });
46
+ }
47
+ establishManagementSession(request, reply, runtime, context);
48
+ return reply.redirect("./?embed=management", 303);
49
+ });
50
+ }
51
+ //# sourceMappingURL=managementEntryRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementEntryRoutes.js","sourceRoot":"","sources":["../../src/server/managementEntryRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { randomBytes } from "node:crypto";
2
+ const TICKET_TTL_MS = 60_000;
3
+ const MAX_PENDING_TICKETS = 256;
4
+ const MAX_PENDING_BYTES = 8 * 1024 * 1024;
5
+ export class ManagementEntryTickets {
6
+ constructor(now = Date.now) {
7
+ this.now = now;
8
+ this.entries = new Map();
9
+ this.bytes = 0;
10
+ }
11
+ create(context) {
12
+ this.prune();
13
+ const bytes = Buffer.byteLength(JSON.stringify(context));
14
+ if (this.entries.size >= MAX_PENDING_TICKETS || this.bytes + bytes > MAX_PENDING_BYTES)
15
+ return undefined;
16
+ const expiresAt = Math.min(this.now() + TICKET_TTL_MS, context.expiresAt === undefined ? Infinity : Date.parse(context.expiresAt));
17
+ if (!Number.isFinite(expiresAt) || expiresAt <= this.now())
18
+ return undefined;
19
+ const ticket = randomBytes(32).toString("base64url");
20
+ this.entries.set(ticket, { context, expiresAt, bytes });
21
+ this.bytes += bytes;
22
+ return { ticket, expiresAt: new Date(expiresAt).toISOString() };
23
+ }
24
+ take(ticket) {
25
+ this.prune();
26
+ const entry = this.entries.get(ticket);
27
+ if (entry === undefined)
28
+ return undefined;
29
+ this.entries.delete(ticket);
30
+ this.bytes -= entry.bytes;
31
+ return entry.context;
32
+ }
33
+ clear() {
34
+ this.entries.clear();
35
+ this.bytes = 0;
36
+ }
37
+ prune() {
38
+ for (const [ticket, entry] of this.entries) {
39
+ if (entry.expiresAt > this.now())
40
+ continue;
41
+ this.entries.delete(ticket);
42
+ this.bytes -= entry.bytes;
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=managementEntryTickets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementEntryTickets.js","sourceRoot":"","sources":["../../src/server/managementEntryTickets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAM,OAAO,sBAAsB;IAIjC,YAA6B,MAAoB,IAAI,CAAC,GAAG;QAA5B,QAAG,GAAH,GAAG,CAAyB;QAHxC,YAAO,GAAG,IAAI,GAAG,EAAiF,CAAC;QAC5G,UAAK,GAAG,CAAC,CAAC;IAE0C,CAAC;IAE7D,MAAM,CAAC,OAA+B;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,mBAAmB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,iBAAiB;YAAE,OAAO,SAAS,CAAC;QACzG,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,SAAS,CAAC;QAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QAC1B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEO,KAAK;QACX,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;gBAAE,SAAS;YAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ // Entry JSON and trusted gateway-to-daemon context have separate transport budgets.
2
+ export const MANAGEMENT_ENTRY_BODY_LIMIT = 1024 * 1024;
3
+ export const MANAGEMENT_CONTEXT_HEADER_LIMIT = 1024 * 1024;
4
+ export const SESSIOND_MAX_HEADER_SIZE = MANAGEMENT_CONTEXT_HEADER_LIMIT + 64 * 1024;
5
+ //# sourceMappingURL=managementTransportLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementTransportLimits.js","sourceRoot":"","sources":["../../src/server/managementTransportLimits.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,+BAA+B,GAAG,EAAE,GAAG,IAAI,CAAC"}