auvrynt 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +239 -0
  3. package/dist/blender-client.js +109 -0
  4. package/dist/blender-tools.js +930 -0
  5. package/dist/cli.js +370 -0
  6. package/dist/config.js +211 -0
  7. package/dist/connection-status.js +91 -0
  8. package/dist/db/client.js +22 -0
  9. package/dist/db/schema.js +29 -0
  10. package/dist/dotnet-tools.js +223 -0
  11. package/dist/git-worktrees.js +134 -0
  12. package/dist/git.js +41 -0
  13. package/dist/godot-animation-tilemap.js +82 -0
  14. package/dist/godot-csharp-build.js +93 -0
  15. package/dist/godot-csharp-project.js +157 -0
  16. package/dist/godot-csharp-runner.js +146 -0
  17. package/dist/godot-csharp-semantic.js +161 -0
  18. package/dist/godot-csharp-validate.js +71 -0
  19. package/dist/godot-dotnet-env.js +169 -0
  20. package/dist/godot-editor-bridge.js +140 -0
  21. package/dist/godot-gdscript.js +824 -0
  22. package/dist/godot-project-settings.js +223 -0
  23. package/dist/godot-runtime-testing.js +249 -0
  24. package/dist/godot-tools.js +183 -0
  25. package/dist/image-tools.js +157 -0
  26. package/dist/logger.js +76 -0
  27. package/dist/oauth-provider.js +266 -0
  28. package/dist/pi-tools.js +81 -0
  29. package/dist/processes.js +218 -0
  30. package/dist/review-checkpoints.js +142 -0
  31. package/dist/roots.js +53 -0
  32. package/dist/search-discovery.js +271 -0
  33. package/dist/serena-manager.js +443 -0
  34. package/dist/serena-tools.js +411 -0
  35. package/dist/server.js +2835 -0
  36. package/dist/skills.js +45 -0
  37. package/dist/ui/.vite/manifest.json +2520 -0
  38. package/dist/ui/assets/abap-CLvhMVsD.js +1 -0
  39. package/dist/ui/assets/actionscript-3--17pq3dv.js +1 -0
  40. package/dist/ui/assets/ada-C5qYipkI.js +1 -0
  41. package/dist/ui/assets/andromeeda-vGVdxbeo.js +1 -0
  42. package/dist/ui/assets/angular-html-BJqQFYI6.js +1 -0
  43. package/dist/ui/assets/angular-ts-CMJECO0Y.js +1 -0
  44. package/dist/ui/assets/apache-U0d_L8uA.js +1 -0
  45. package/dist/ui/assets/apex-CGTLDQj6.js +1 -0
  46. package/dist/ui/assets/apl-DWeXpBBr.js +1 -0
  47. package/dist/ui/assets/applescript-CCn79oCD.js +1 -0
  48. package/dist/ui/assets/ara-4CJ0cIlV.js +1 -0
  49. package/dist/ui/assets/asciidoc-DE70LPWp.js +1 -0
  50. package/dist/ui/assets/asm-Cmm7eHzH.js +1 -0
  51. package/dist/ui/assets/astro-CLbttLOq.js +1 -0
  52. package/dist/ui/assets/aurora-x-CDeNXAV0.js +1 -0
  53. package/dist/ui/assets/awk-BWXHIvNe.js +1 -0
  54. package/dist/ui/assets/ayu-dark-DluEY0Gj.js +1 -0
  55. package/dist/ui/assets/ayu-light-C3h-C4tm.js +1 -0
  56. package/dist/ui/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  57. package/dist/ui/assets/ballerina-B7ZEbQpA.js +1 -0
  58. package/dist/ui/assets/bat-Bo4NYOV-.js +1 -0
  59. package/dist/ui/assets/beancount-D-usSTwE.js +1 -0
  60. package/dist/ui/assets/berry-DKpUyyne.js +1 -0
  61. package/dist/ui/assets/bibtex-Ci_nEsc7.js +1 -0
  62. package/dist/ui/assets/bicep-CUHmPFLl.js +1 -0
  63. package/dist/ui/assets/bird2-C2hNVINV.js +1 -0
  64. package/dist/ui/assets/blade-BOzY0P2V.js +1 -0
  65. package/dist/ui/assets/bsl-BkkzgIyY.js +1 -0
  66. package/dist/ui/assets/c-BG-8uJvh.js +1 -0
  67. package/dist/ui/assets/c3-CnJL0r0V.js +1 -0
  68. package/dist/ui/assets/cadence-CQ2zXKGN.js +1 -0
  69. package/dist/ui/assets/cairo-DLTphjLi.js +1 -0
  70. package/dist/ui/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
  71. package/dist/ui/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
  72. package/dist/ui/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
  73. package/dist/ui/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
  74. package/dist/ui/assets/clarity-SemFz856.js +1 -0
  75. package/dist/ui/assets/clojure-DqKBuwfJ.js +1 -0
  76. package/dist/ui/assets/cmake-Bj61d0ZC.js +1 -0
  77. package/dist/ui/assets/cobol-I_17IuGe.js +1 -0
  78. package/dist/ui/assets/codeowners-C8r90Shi.js +1 -0
  79. package/dist/ui/assets/codeql-oeQT6MSM.js +1 -0
  80. package/dist/ui/assets/coffee-C0B8hmok.js +1 -0
  81. package/dist/ui/assets/common-lisp-Cv5bFMCO.js +1 -0
  82. package/dist/ui/assets/coq-BrsZFFmf.js +1 -0
  83. package/dist/ui/assets/cpp-DDJXt6Vs.js +1 -0
  84. package/dist/ui/assets/crystal-Bexqace6.js +1 -0
  85. package/dist/ui/assets/csharp-Ct8U2NOr.js +1 -0
  86. package/dist/ui/assets/css-DSQhw_9R.js +1 -0
  87. package/dist/ui/assets/csv-Dx-8-gkx.js +1 -0
  88. package/dist/ui/assets/cue-CE9AQfxI.js +1 -0
  89. package/dist/ui/assets/cypher-ClKdZ_lG.js +1 -0
  90. package/dist/ui/assets/d-qD-0Kul2.js +1 -0
  91. package/dist/ui/assets/dark-plus-Cs2F2srj.js +1 -0
  92. package/dist/ui/assets/dart-DkHntEIa.js +1 -0
  93. package/dist/ui/assets/dax-BkyTk9wS.js +1 -0
  94. package/dist/ui/assets/desktop-Dlh5hvp9.js +1 -0
  95. package/dist/ui/assets/diff-woXpYk--.js +1 -0
  96. package/dist/ui/assets/docker-IyjqRm3v.js +1 -0
  97. package/dist/ui/assets/dotenv-_5a1GRtc.js +1 -0
  98. package/dist/ui/assets/dracula-BHWKrbxM.js +1 -0
  99. package/dist/ui/assets/dracula-soft-5eyTD99u.js +1 -0
  100. package/dist/ui/assets/dream-maker-DW3nJb8Q.js +1 -0
  101. package/dist/ui/assets/edge-Z8YYkHOr.js +1 -0
  102. package/dist/ui/assets/elixir-CG9uKtAF.js +1 -0
  103. package/dist/ui/assets/elm-GfWG2IfT.js +1 -0
  104. package/dist/ui/assets/emacs-lisp-C9PiwqqW.js +1 -0
  105. package/dist/ui/assets/erb-xe89e73J.js +1 -0
  106. package/dist/ui/assets/erlang-Cphh6RMH.js +1 -0
  107. package/dist/ui/assets/everforest-dark-sB-x3p7T.js +1 -0
  108. package/dist/ui/assets/everforest-light-Df2xbC6M.js +1 -0
  109. package/dist/ui/assets/fennel-DQxkIbk2.js +1 -0
  110. package/dist/ui/assets/fish-BJitypiv.js +1 -0
  111. package/dist/ui/assets/fluent-C03EYrpw.js +1 -0
  112. package/dist/ui/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
  113. package/dist/ui/assets/fortran-free-form-CYNrtFtB.js +1 -0
  114. package/dist/ui/assets/fsharp-D13ZGOAj.js +1 -0
  115. package/dist/ui/assets/gdresource-C0sCabJj.js +1 -0
  116. package/dist/ui/assets/gdscript-Cp2uCuqX.js +1 -0
  117. package/dist/ui/assets/gdshader-CBce3t8t.js +1 -0
  118. package/dist/ui/assets/genie-CV2tkWYe.js +1 -0
  119. package/dist/ui/assets/gherkin-DExj1W_8.js +1 -0
  120. package/dist/ui/assets/git-commit-BSykSTBG.js +1 -0
  121. package/dist/ui/assets/git-rebase-CoTL_uSE.js +1 -0
  122. package/dist/ui/assets/github-dark-C-LZuMrd.js +1 -0
  123. package/dist/ui/assets/github-dark-default-DXG-b-1a.js +1 -0
  124. package/dist/ui/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  125. package/dist/ui/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  126. package/dist/ui/assets/github-light-EUqPIrTm.js +1 -0
  127. package/dist/ui/assets/github-light-default-BXViO-2h.js +1 -0
  128. package/dist/ui/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  129. package/dist/ui/assets/gleam-CSRkHgEL.js +1 -0
  130. package/dist/ui/assets/glimmer-js-DAn4UCSu.js +1 -0
  131. package/dist/ui/assets/glimmer-ts-Tjyi6Gh5.js +1 -0
  132. package/dist/ui/assets/glsl-CtTDZoqR.js +1 -0
  133. package/dist/ui/assets/gn-ilITqXS6.js +1 -0
  134. package/dist/ui/assets/gnuplot-7GGW24-e.js +1 -0
  135. package/dist/ui/assets/go-BJwz_mda.js +1 -0
  136. package/dist/ui/assets/graphql-D5gcC_Jk.js +1 -0
  137. package/dist/ui/assets/groovy-CacY0gHj.js +1 -0
  138. package/dist/ui/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  139. package/dist/ui/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  140. package/dist/ui/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  141. package/dist/ui/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  142. package/dist/ui/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  143. package/dist/ui/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  144. package/dist/ui/assets/hack-BJXY27dt.js +1 -0
  145. package/dist/ui/assets/haml-BLfFoZf7.js +1 -0
  146. package/dist/ui/assets/handlebars-Dw6CWkvN.js +1 -0
  147. package/dist/ui/assets/haskell-D8IpX4py.js +1 -0
  148. package/dist/ui/assets/haxe-OTjmBuCE.js +1 -0
  149. package/dist/ui/assets/hcl-Dh228itO.js +1 -0
  150. package/dist/ui/assets/heavy-payload-Dcg0-F-S.js +4 -0
  151. package/dist/ui/assets/hjson-CxZEssPk.js +1 -0
  152. package/dist/ui/assets/hlsl-Cvrh5tZx.js +1 -0
  153. package/dist/ui/assets/horizon-CE9ld1lL.js +1 -0
  154. package/dist/ui/assets/horizon-bright-Br1oVSNq.js +1 -0
  155. package/dist/ui/assets/houston-CsvMBhTu.js +1 -0
  156. package/dist/ui/assets/html-CAcAWvoN.js +1 -0
  157. package/dist/ui/assets/html-derivative-8aSW2E_7.js +1 -0
  158. package/dist/ui/assets/http-B2YR_3V1.js +1 -0
  159. package/dist/ui/assets/hurl-BnDJ9Zhf.js +1 -0
  160. package/dist/ui/assets/hxml-B0Qn7Nwc.js +1 -0
  161. package/dist/ui/assets/hy-CZbG8q4J.js +1 -0
  162. package/dist/ui/assets/imba-DsUTQ-LC.js +1 -0
  163. package/dist/ui/assets/ini-B5eOa1yu.js +1 -0
  164. package/dist/ui/assets/java-Doxi4W8u.js +1 -0
  165. package/dist/ui/assets/javascript-BbRdEqti.js +1 -0
  166. package/dist/ui/assets/jinja-CS3Tpv_Q.js +1 -0
  167. package/dist/ui/assets/jison-BkPGYVHR.js +1 -0
  168. package/dist/ui/assets/json-BMt1m3m8.js +1 -0
  169. package/dist/ui/assets/json5-BR5RXkoi.js +1 -0
  170. package/dist/ui/assets/jsonc-CYpm1nAK.js +1 -0
  171. package/dist/ui/assets/jsonl-CmCQp5Yx.js +1 -0
  172. package/dist/ui/assets/jsonnet-CJTPZ8u_.js +1 -0
  173. package/dist/ui/assets/jssm-DXw9l8Rf.js +1 -0
  174. package/dist/ui/assets/jsx-CQKrJXXY.js +1 -0
  175. package/dist/ui/assets/julia-BuN7i2du.js +1 -0
  176. package/dist/ui/assets/just-BswEPFPu.js +1 -0
  177. package/dist/ui/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
  178. package/dist/ui/assets/kanagawa-lotus-BN08jTvb.js +1 -0
  179. package/dist/ui/assets/kanagawa-wave-CTweb8Dz.js +1 -0
  180. package/dist/ui/assets/kdl-CsD5j6eV.js +1 -0
  181. package/dist/ui/assets/kotlin-DhhofPvG.js +1 -0
  182. package/dist/ui/assets/kusto-BUv0MjJC.js +1 -0
  183. package/dist/ui/assets/laserwave-C_8bwKvT.js +1 -0
  184. package/dist/ui/assets/latex-DU2VyFfA.js +1 -0
  185. package/dist/ui/assets/lean-CewbzKMR.js +1 -0
  186. package/dist/ui/assets/less-DVTAwKKz.js +1 -0
  187. package/dist/ui/assets/light-plus-DVQuIRkW.js +1 -0
  188. package/dist/ui/assets/liquid-Cmz1L3dq.js +1 -0
  189. package/dist/ui/assets/llvm-Cm23YOpf.js +1 -0
  190. package/dist/ui/assets/log-BNLmms1o.js +1 -0
  191. package/dist/ui/assets/logo-Cluzi2Zq.js +1 -0
  192. package/dist/ui/assets/lua-CfVXhkaJ.js +1 -0
  193. package/dist/ui/assets/luau-CNKltnaQ.js +1 -0
  194. package/dist/ui/assets/make-Dixweg8N.js +1 -0
  195. package/dist/ui/assets/markdown-BYOwaDjH.js +1 -0
  196. package/dist/ui/assets/marko-C5bfqGiA.js +1 -0
  197. package/dist/ui/assets/material-theme-Bm3Qr25_.js +1 -0
  198. package/dist/ui/assets/material-theme-darker-2IIEA8gg.js +1 -0
  199. package/dist/ui/assets/material-theme-lighter-uhdI0v04.js +1 -0
  200. package/dist/ui/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  201. package/dist/ui/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  202. package/dist/ui/assets/matlab-D7qyCx1q.js +1 -0
  203. package/dist/ui/assets/mdc-CVBXYfyq.js +1 -0
  204. package/dist/ui/assets/mdx-DQZ5AkYe.js +1 -0
  205. package/dist/ui/assets/mermaid-Bk4SNUv9.js +1 -0
  206. package/dist/ui/assets/min-dark-BSWPekZh.js +1 -0
  207. package/dist/ui/assets/min-light-DDpmG2fV.js +1 -0
  208. package/dist/ui/assets/mipsasm-BMqwQI7S.js +1 -0
  209. package/dist/ui/assets/mojo-BgCJLMeH.js +1 -0
  210. package/dist/ui/assets/monokai-CdkpiU2Y.js +1 -0
  211. package/dist/ui/assets/moonbit-CaWjb8XO.js +1 -0
  212. package/dist/ui/assets/move-B1IS1UjX.js +1 -0
  213. package/dist/ui/assets/narrat-_X_XdTYD.js +1 -0
  214. package/dist/ui/assets/nextflow-Bbiyy34d.js +1 -0
  215. package/dist/ui/assets/nextflow-groovy-Dc_ddanL.js +1 -0
  216. package/dist/ui/assets/nginx-CzJafxLa.js +1 -0
  217. package/dist/ui/assets/night-owl-DhmEMT88.js +1 -0
  218. package/dist/ui/assets/night-owl-light-eJ-hLW7d.js +1 -0
  219. package/dist/ui/assets/nim-DABKtHtM.js +1 -0
  220. package/dist/ui/assets/nix-IvuFDN5E.js +1 -0
  221. package/dist/ui/assets/nord-Cb4Vim4T.js +1 -0
  222. package/dist/ui/assets/nushell-DcLAeLz5.js +1 -0
  223. package/dist/ui/assets/objective-c-D1A_Heim.js +1 -0
  224. package/dist/ui/assets/objective-cpp-BsSzOQcm.js +1 -0
  225. package/dist/ui/assets/ocaml-O90oeIOV.js +1 -0
  226. package/dist/ui/assets/odin-B1RWQWA5.js +1 -0
  227. package/dist/ui/assets/one-dark-pro-CLwyXe_n.js +1 -0
  228. package/dist/ui/assets/one-light-D7Lr4KcI.js +1 -0
  229. package/dist/ui/assets/openscad-BUDT5pXO.js +1 -0
  230. package/dist/ui/assets/pascal-4ZHwLPI5.js +1 -0
  231. package/dist/ui/assets/perl-CBh7L3lZ.js +1 -0
  232. package/dist/ui/assets/php-DFbI9q5p.js +1 -0
  233. package/dist/ui/assets/pierre-dark-sU4Zdns8.js +1 -0
  234. package/dist/ui/assets/pierre-dark-soft-HXgun5vs.js +1 -0
  235. package/dist/ui/assets/pierre-light-DWBk51d8.js +1 -0
  236. package/dist/ui/assets/pierre-light-soft-CodEzPxf.js +1 -0
  237. package/dist/ui/assets/pkl-ot-7Btpt.js +1 -0
  238. package/dist/ui/assets/plastic-DQwYfKfQ.js +1 -0
  239. package/dist/ui/assets/plsql-DGHpHOYJ.js +1 -0
  240. package/dist/ui/assets/po-BiJDBrnU.js +1 -0
  241. package/dist/ui/assets/poimandres-DRFjx7u4.js +1 -0
  242. package/dist/ui/assets/polar-C7UOKdEL.js +1 -0
  243. package/dist/ui/assets/postcss-BXeXVLqQ.js +1 -0
  244. package/dist/ui/assets/powerquery-DNMTfnFr.js +1 -0
  245. package/dist/ui/assets/powershell-DshXNtvi.js +1 -0
  246. package/dist/ui/assets/prisma-BsRQq5mF.js +1 -0
  247. package/dist/ui/assets/prolog-iXnhIJG7.js +1 -0
  248. package/dist/ui/assets/proto-DB4EqR-F.js +1 -0
  249. package/dist/ui/assets/pug-C_PxC7gO.js +1 -0
  250. package/dist/ui/assets/puppet-CDv2pdJW.js +1 -0
  251. package/dist/ui/assets/purescript-9MfHhQsQ.js +1 -0
  252. package/dist/ui/assets/python-gzcpVVnB.js +1 -0
  253. package/dist/ui/assets/qml-DtngoFFK.js +1 -0
  254. package/dist/ui/assets/qmldir-DCQb3MpD.js +1 -0
  255. package/dist/ui/assets/qss-Fe1Jh2GI.js +1 -0
  256. package/dist/ui/assets/r-DohkcevW.js +1 -0
  257. package/dist/ui/assets/racket-DcIDlBhZ.js +1 -0
  258. package/dist/ui/assets/raku-B3gFvitq.js +1 -0
  259. package/dist/ui/assets/razor-C4t8J0_E.js +1 -0
  260. package/dist/ui/assets/red-CJ3rzSJv.js +1 -0
  261. package/dist/ui/assets/reg-CRGYupPL.js +1 -0
  262. package/dist/ui/assets/regexp-OGbTbjgY.js +1 -0
  263. package/dist/ui/assets/rel-BtDbiS_P.js +1 -0
  264. package/dist/ui/assets/review-payload-C5Qz60Kq.js +1 -0
  265. package/dist/ui/assets/riscv-Ckw8ddFX.js +1 -0
  266. package/dist/ui/assets/ron-VUp2lXgN.js +1 -0
  267. package/dist/ui/assets/rose-pine-BthvhNj6.js +1 -0
  268. package/dist/ui/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
  269. package/dist/ui/assets/rose-pine-moon-hon4tzzS.js +1 -0
  270. package/dist/ui/assets/rosmsg-CAekHB0j.js +1 -0
  271. package/dist/ui/assets/rst-CfBbbcvC.js +1 -0
  272. package/dist/ui/assets/ruby-Bw0mpxHY.js +1 -0
  273. package/dist/ui/assets/rust-Cfkwpbl8.js +1 -0
  274. package/dist/ui/assets/sas-Cs3s9JOf.js +1 -0
  275. package/dist/ui/assets/sass-DXrisJhu.js +1 -0
  276. package/dist/ui/assets/scala-DKOlJaKm.js +1 -0
  277. package/dist/ui/assets/scheme-DQCgrYNe.js +1 -0
  278. package/dist/ui/assets/scss-sRxNJS54.js +1 -0
  279. package/dist/ui/assets/sdbl-bTVj8UrX.js +1 -0
  280. package/dist/ui/assets/shaderlab-TOUzSsQk.js +1 -0
  281. package/dist/ui/assets/shellscript-B0X6wh0R.js +1 -0
  282. package/dist/ui/assets/shellsession-D2FdOioR.js +1 -0
  283. package/dist/ui/assets/slack-dark-DnToyrRv.js +1 -0
  284. package/dist/ui/assets/slack-ochin-B2OO5cIa.js +1 -0
  285. package/dist/ui/assets/smalltalk-B16xEiuN.js +1 -0
  286. package/dist/ui/assets/snazzy-light-4G7pJPwS.js +1 -0
  287. package/dist/ui/assets/solarized-dark-DV17i1UV.js +1 -0
  288. package/dist/ui/assets/solarized-light-DSh2HLQt.js +1 -0
  289. package/dist/ui/assets/solidity-CKzVLygQ.js +1 -0
  290. package/dist/ui/assets/soy-s6g9OjJ1.js +1 -0
  291. package/dist/ui/assets/sparql-D_iOobhT.js +1 -0
  292. package/dist/ui/assets/splunk-BC2Px7Mm.js +1 -0
  293. package/dist/ui/assets/sql-DVTnh5V-.js +1 -0
  294. package/dist/ui/assets/ssh-config-BgfXC-Er.js +1 -0
  295. package/dist/ui/assets/stata-DFIDiXF9.js +1 -0
  296. package/dist/ui/assets/stylus-B6D30XZt.js +1 -0
  297. package/dist/ui/assets/surrealql-DVfrsLyg.js +1 -0
  298. package/dist/ui/assets/svelte-D5GsxESq.js +1 -0
  299. package/dist/ui/assets/swift-DonLKvLd.js +1 -0
  300. package/dist/ui/assets/synthwave-84-nFMaYfgc.js +1 -0
  301. package/dist/ui/assets/system-verilog-DJ5XKQeo.js +1 -0
  302. package/dist/ui/assets/systemd-BxMlprV5.js +1 -0
  303. package/dist/ui/assets/talonscript-CohzipZa.js +1 -0
  304. package/dist/ui/assets/tasl-DMoTqEGO.js +1 -0
  305. package/dist/ui/assets/tcl-CZd0xW_V.js +1 -0
  306. package/dist/ui/assets/templ-DI-Zyqzd.js +1 -0
  307. package/dist/ui/assets/terraform-DswuEJGm.js +1 -0
  308. package/dist/ui/assets/tex-WHHmlbJI.js +1 -0
  309. package/dist/ui/assets/tokyo-night-oM2G3aXe.js +1 -0
  310. package/dist/ui/assets/toml-CcmNWLt0.js +1 -0
  311. package/dist/ui/assets/ts-tags-Dwpo2RFJ.js +1 -0
  312. package/dist/ui/assets/tsv-sltzmVWM.js +1 -0
  313. package/dist/ui/assets/tsx-ph_idaAW.js +1 -0
  314. package/dist/ui/assets/turtle-ByJddavk.js +1 -0
  315. package/dist/ui/assets/twig-YO17jFjR.js +1 -0
  316. package/dist/ui/assets/typescript-CbAxjhkl.js +1 -0
  317. package/dist/ui/assets/typespec-B88KGewJ.js +1 -0
  318. package/dist/ui/assets/typst-DI99ib-x.js +1 -0
  319. package/dist/ui/assets/useFileDiffInstance-B2DLX3Vg.js +244 -0
  320. package/dist/ui/assets/v-DETTlOr0.js +1 -0
  321. package/dist/ui/assets/vala-zf12oZj6.js +1 -0
  322. package/dist/ui/assets/vb-Djn5o6TS.js +1 -0
  323. package/dist/ui/assets/verilog-CiiDBU1e.js +1 -0
  324. package/dist/ui/assets/vesper-D5bVUKB1.js +1 -0
  325. package/dist/ui/assets/vhdl-BroJfC0k.js +1 -0
  326. package/dist/ui/assets/viml-DvXPmvsu.js +1 -0
  327. package/dist/ui/assets/vitesse-black-fwtXNY1n.js +1 -0
  328. package/dist/ui/assets/vitesse-dark-BZCL-v6S.js +1 -0
  329. package/dist/ui/assets/vitesse-light-VbXTXTou.js +1 -0
  330. package/dist/ui/assets/vue-CraHL-Ps.js +1 -0
  331. package/dist/ui/assets/vue-html-e9tyZNtS.js +1 -0
  332. package/dist/ui/assets/vue-vine-CofmxaUb.js +1 -0
  333. package/dist/ui/assets/vyper-CgoNMtux.js +1 -0
  334. package/dist/ui/assets/wasm-BnjxR4X6.js +1 -0
  335. package/dist/ui/assets/wasm-ByWQv1Qj.js +1 -0
  336. package/dist/ui/assets/wenyan-C8pVoKbM.js +1 -0
  337. package/dist/ui/assets/wgsl-BsKzXJz4.js +1 -0
  338. package/dist/ui/assets/wikitext-ClFFjSW2.js +1 -0
  339. package/dist/ui/assets/wit-DdvCle-K.js +1 -0
  340. package/dist/ui/assets/wolfram-DLL8P-h_.js +1 -0
  341. package/dist/ui/assets/workspace-app-8--oTbCd.css +1 -0
  342. package/dist/ui/assets/workspace-app-C5QsE314.js +118 -0
  343. package/dist/ui/assets/xml-BWSdPZHm.js +1 -0
  344. package/dist/ui/assets/xsl-BtCt7Hx8.js +1 -0
  345. package/dist/ui/assets/yaml-BZiTw7cQ.js +1 -0
  346. package/dist/ui/assets/zenscript-BnlCZFoB.js +1 -0
  347. package/dist/ui/assets/zig-CMLA9XwU.js +1 -0
  348. package/dist/ui/workspace-app.html +15 -0
  349. package/dist/user-config.js +57 -0
  350. package/dist/view-image.js +104 -0
  351. package/dist/web-tools.js +200 -0
  352. package/dist/window-capture.js +74 -0
  353. package/dist/workspace-store.js +125 -0
  354. package/dist/workspaces.js +226 -0
  355. package/docs/DEVELOPMENT_TOOLS.md +95 -0
  356. package/docs/assets/auvrynt-logo-light.png +0 -0
  357. package/docs/assets/auvrynt-screenshot.png +0 -0
  358. package/docs/chatgpt-coding-workflow.md +143 -0
  359. package/docs/configuration.md +132 -0
  360. package/docs/gotchas.md +215 -0
  361. package/docs/security.md +100 -0
  362. package/docs/setup.md +132 -0
  363. package/package.json +70 -0
  364. package/scripts/dev-server.mjs +120 -0
@@ -0,0 +1,132 @@
1
+ # Configuration Reference
2
+
3
+ Auvrynt can be configured through `auvrynt init`, persisted config files, or
4
+ environment variables.
5
+
6
+ The default files are:
7
+
8
+ ```text
9
+ ~/.auvrynt/config.json
10
+ ~/.auvrynt/auth.json
11
+ ```
12
+
13
+ Use another config directory with:
14
+
15
+ ```bash
16
+ AUVRYNT_CONFIG_DIR=/path/to/config npx auvrynt serve
17
+ ```
18
+
19
+ ## Commands
20
+
21
+ ```bash
22
+ npx auvrynt init
23
+ npx auvrynt serve
24
+ npx auvrynt doctor
25
+ npx auvrynt config get
26
+ npx auvrynt config set publicBaseUrl https://auvrynt.example.com
27
+ ```
28
+
29
+ ## Core Environment Variables
30
+
31
+ | Variable | Purpose |
32
+ | --- | --- |
33
+ | `HOST` | Local bind host. Defaults to `127.0.0.1`. |
34
+ | `PORT` | Local port. Defaults to `49321`. |
35
+ | `AUVRYNT_ALLOWED_ROOTS` | Comma-separated local roots that workspaces may open. |
36
+ | `AUVRYNT_PUBLIC_BASE_URL` | Public origin for the server, without `/mcp`. |
37
+ | `AUVRYNT_ALLOWED_HOSTS` | Optional Host header allowlist override. |
38
+ | `AUVRYNT_OAUTH_OWNER_TOKEN` | Owner password for OAuth approval. Must be at least 16 characters. |
39
+ | `AUVRYNT_WORKTREE_ROOT` | Directory for managed Git worktrees. Defaults to `~/.auvrynt/worktrees`. |
40
+ | `AUVRYNT_STATE_DIR` | Directory for SQLite state. Defaults to `~/.local/share/auvrynt`. |
41
+
42
+ ## OAuth
43
+
44
+ Auvrynt uses a single-user OAuth approval flow.
45
+
46
+ | Variable | Default |
47
+ | --- | --- |
48
+ | `AUVRYNT_OAUTH_ACCESS_TOKEN_TTL_SECONDS` | `3600` |
49
+ | `AUVRYNT_OAUTH_REFRESH_TOKEN_TTL_SECONDS` | `2592000` |
50
+ | `AUVRYNT_OAUTH_SCOPES` | `auvrynt` |
51
+ | `AUVRYNT_OAUTH_ALLOWED_REDIRECT_HOSTS` | `chatgpt.com,localhost,127.0.0.1` |
52
+
53
+ MCP clients discover metadata from:
54
+
55
+ ```text
56
+ /.well-known/oauth-protected-resource/mcp
57
+ /.well-known/oauth-authorization-server
58
+ ```
59
+
60
+ ## Tool Modes
61
+
62
+ `AUVRYNT_TOOL_NAMING` controls tool names.
63
+
64
+ | Value | Behavior |
65
+ | --- | --- |
66
+ | `short` | Default. Uses `read`, `edit`, `bash`, and related names. |
67
+ | `legacy` | Uses `read_file`, `edit_file`, `run_shell`, and related names. |
68
+
69
+ `AUVRYNT_TOOL_MODE` controls the tool surface.
70
+
71
+ | Value | Behavior |
72
+ | --- | --- |
73
+ | `minimal` | Default. Disables dedicated search and list tools. Clients use the shell tool with `rg`, `grep`, `find`, `ls`, or `tree` for inspection. |
74
+ | `full` | Enables dedicated `grep`, `glob`, and `ls` tools. |
75
+
76
+ ## Widgets
77
+
78
+ `AUVRYNT_WIDGETS` controls ChatGPT Apps iframe usage.
79
+
80
+ | Value | Behavior |
81
+ | --- | --- |
82
+ | `full` | Default. Widget UI is attached to exposed workspace, file, edit, and shell tools. |
83
+ | `changes` | Enables the aggregate `show_changes` tool and attaches widget UI to `open_workspace` and `show_changes`. |
84
+ | `off` | Disables widget UI. |
85
+
86
+ ## Skills
87
+
88
+ | Variable | Purpose |
89
+ | --- | --- |
90
+ | `AUVRYNT_SKILLS` | Set to `0` to hide skills. Enabled by default. |
91
+ | `AUVRYNT_AGENT_DIR` | Defaults to `~/.codex`. |
92
+ | `AUVRYNT_SKILL_PATHS` | Optional comma-separated skill directories. |
93
+
94
+ Example:
95
+
96
+ ```bash
97
+ AUVRYNT_SKILL_PATHS="$HOME/.codex/skills,$HOME/.claude/skills" \
98
+ npx auvrynt serve
99
+ ```
100
+
101
+ ## Logging
102
+
103
+ | Variable | Default |
104
+ | --- | --- |
105
+ | `AUVRYNT_LOG_LEVEL` | `info` |
106
+ | `AUVRYNT_LOG_FORMAT` | `json` |
107
+ | `AUVRYNT_LOG_REQUESTS` | `1` |
108
+ | `AUVRYNT_LOG_ASSETS` | `0` |
109
+ | `AUVRYNT_LOG_TOOL_CALLS` | `1` |
110
+ | `AUVRYNT_LOG_SHELL_COMMANDS` | `0` |
111
+ | `AUVRYNT_TRUST_PROXY` | `0` |
112
+
113
+ Set `AUVRYNT_LOG_FORMAT=pretty` for local debugging.
114
+
115
+ Set `AUVRYNT_LOG_SHELL_COMMANDS=1` only when you intentionally want command
116
+ previews in logs.
117
+
118
+ ## Env-Only Example
119
+
120
+ ```bash
121
+ AUVRYNT_OAUTH_OWNER_TOKEN="$(openssl rand -base64 32)" \
122
+ AUVRYNT_ALLOWED_ROOTS="$HOME/personal,$HOME/work" \
123
+ AUVRYNT_PUBLIC_BASE_URL="https://auvrynt.example.com" \
124
+ AUVRYNT_WORKTREE_ROOT="$HOME/.auvrynt/worktrees" \
125
+ AUVRYNT_TOOL_MODE="minimal" \
126
+ AUVRYNT_TOOL_NAMING="short" \
127
+ AUVRYNT_WIDGETS="full" \
128
+ npx auvrynt serve
129
+ ```
130
+
131
+ The environment assignments must be part of the same command invocation, or
132
+ exported first.
@@ -0,0 +1,215 @@
1
+ # Troubleshooting Gotchas
2
+
3
+ This page collects the setup issues users are most likely to hit.
4
+
5
+ ## `auvrynt` Command Not Found
6
+
7
+ Use `npx`:
8
+
9
+ ```bash
10
+ npx auvrynt init
11
+ npx auvrynt serve
12
+ ```
13
+
14
+ If you installed globally, confirm npm's global bin directory is on `PATH`.
15
+
16
+ ## Unsupported Node Version
17
+
18
+ Auvrynt requires Node `>=20.12 <27`.
19
+
20
+ Check:
21
+
22
+ ```bash
23
+ node --version
24
+ ```
25
+
26
+ Install Node 22 LTS with your preferred version manager such as `nvm`, `fnm`, or
27
+ `mise`.
28
+
29
+ ## `better-sqlite3` Could Not Load
30
+
31
+ This usually means native dependencies were installed under a different Node
32
+ runtime.
33
+
34
+ Try:
35
+
36
+ ```bash
37
+ npm rebuild better-sqlite3
38
+ ```
39
+
40
+ Then run:
41
+
42
+ ```bash
43
+ npx auvrynt doctor
44
+ ```
45
+
46
+ Release starts run a native dependency check before launching.
47
+
48
+ ## Public URL Includes `/mcp`
49
+
50
+ Use the origin for setup:
51
+
52
+ ```text
53
+ https://your-tunnel-host.example.com
54
+ ```
55
+
56
+ Use the MCP endpoint in the client:
57
+
58
+ ```text
59
+ https://your-tunnel-host.example.com/mcp
60
+ ```
61
+
62
+ If you saved the wrong value:
63
+
64
+ ```bash
65
+ npx auvrynt config set publicBaseUrl https://your-tunnel-host.example.com
66
+ ```
67
+
68
+ ## Tunnel URL Changed
69
+
70
+ Temporary tunnels often change URLs between runs.
71
+
72
+ For a one-off run:
73
+
74
+ ```bash
75
+ AUVRYNT_PUBLIC_BASE_URL="https://new-tunnel.example.com" npx auvrynt serve
76
+ ```
77
+
78
+ For a stable URL:
79
+
80
+ ```bash
81
+ npx auvrynt config set publicBaseUrl https://auvrynt.example.com
82
+ ```
83
+
84
+ ## Host Header Or 403 Problems
85
+
86
+ Auvrynt derives allowed hosts from the configured public URL.
87
+
88
+ Run:
89
+
90
+ ```bash
91
+ npx auvrynt doctor
92
+ ```
93
+
94
+ Confirm the public URL hostname appears in allowed hosts. If you changed tunnel
95
+ URLs, update `publicBaseUrl`.
96
+
97
+ Use this only for intentional local debugging:
98
+
99
+ ```bash
100
+ AUVRYNT_ALLOWED_HOSTS="*" npx auvrynt serve
101
+ ```
102
+
103
+ ## OAuth Redirect Host Rejected
104
+
105
+ By default, Auvrynt allows redirects for:
106
+
107
+ ```text
108
+ chatgpt.com
109
+ localhost
110
+ 127.0.0.1
111
+ ```
112
+
113
+ If another MCP client uses a different redirect host, configure:
114
+
115
+ ```bash
116
+ AUVRYNT_OAUTH_ALLOWED_REDIRECT_HOSTS="chatgpt.com,example.com" npx auvrynt serve
117
+ ```
118
+
119
+ ## Owner Password Not Accepted
120
+
121
+ Make sure you are entering the Owner password from:
122
+
123
+ ```text
124
+ ~/.auvrynt/auth.json
125
+ ```
126
+
127
+ To regenerate setup:
128
+
129
+ ```bash
130
+ npx auvrynt init --force
131
+ ```
132
+
133
+ ## Unknown `workspaceId`
134
+
135
+ `workspaceId` values are session identifiers. If the server restarts and the
136
+ client receives an unknown workspace error, call `open_workspace` again for that
137
+ project.
138
+
139
+ Workspace session metadata is persisted, but clients should still treat
140
+ `open_workspace` as the way to begin a fresh working session.
141
+
142
+ ## Workspace Path Rejected
143
+
144
+ The path must be inside one of the allowed roots configured during setup.
145
+
146
+ Run:
147
+
148
+ ```bash
149
+ npx auvrynt config get
150
+ ```
151
+
152
+ Then either open a project under an allowed root or rerun setup:
153
+
154
+ ```bash
155
+ npx auvrynt init --force
156
+ ```
157
+
158
+ ## Worktree Mode Fails
159
+
160
+ Worktree mode requires:
161
+
162
+ - Git installed
163
+ - the path is inside a Git repository
164
+ - the repository has at least one commit
165
+ - the requested `baseRef` resolves to a commit
166
+
167
+ For a new repository, create the first commit or use checkout mode.
168
+
169
+ Uncommitted source checkout changes are not copied into the managed worktree.
170
+ Commit, stash, or ask the model to work in checkout mode if those changes are
171
+ needed.
172
+
173
+ ## Windows Shell Commands Fail
174
+
175
+ Auvrynt shell execution requires Bash. Native PowerShell and `cmd.exe` command
176
+ execution are not supported yet.
177
+
178
+ Install Git for Windows and use Git Bash, or use WSL, MSYS2, or Cygwin Bash.
179
+
180
+ Run:
181
+
182
+ ```bash
183
+ npx auvrynt doctor
184
+ ```
185
+
186
+ Confirm Bash is detected.
187
+
188
+ ## Skills Do Not Appear
189
+
190
+ Skills are enabled by default. Check:
191
+
192
+ ```bash
193
+ AUVRYNT_SKILLS=1 npx auvrynt serve
194
+ ```
195
+
196
+ Auvrynt looks in:
197
+
198
+ - `AUVRYNT_AGENT_DIR`, defaulting to `~/.codex`
199
+ - project `.pi/skills`
200
+ - `AUVRYNT_SKILL_PATHS`
201
+
202
+ If a skill appears in `open_workspace`, the model must read that skill's
203
+ `SKILL.md` before reading other files inside the skill directory.
204
+
205
+ ## Review Card Does Not Appear
206
+
207
+ Per-tool widget cards are enabled by default with:
208
+
209
+ ```bash
210
+ AUVRYNT_WIDGETS=full
211
+ ```
212
+
213
+ The aggregate `show_changes` tool is only exposed with
214
+ `AUVRYNT_WIDGETS=changes`. Plain MCP clients may ignore ChatGPT Apps widget
215
+ metadata and only show text results.
@@ -0,0 +1,100 @@
1
+ # Security Model
2
+
3
+ Auvrynt exposes local coding capabilities over MCP. Treat it as remote access
4
+ to your development machine.
5
+
6
+ The security model is simple:
7
+
8
+ - you choose a narrow filesystem allowlist
9
+ - the MCP endpoint requires OAuth approval with your Owner password
10
+ - Host headers are allowlisted from the configured public URL
11
+ - every coding action happens through explicit MCP tool calls
12
+
13
+ ## Filesystem Allowlist
14
+
15
+ Auvrynt only opens workspaces under configured roots.
16
+
17
+ Good examples:
18
+
19
+ ```text
20
+ ~/work
21
+ ~/personal/open-source
22
+ ```
23
+
24
+ Avoid broad roots:
25
+
26
+ ```text
27
+ ~
28
+ /
29
+ C:\
30
+ ```
31
+
32
+ The narrower the root, the easier it is to reason about what the MCP client can
33
+ reach.
34
+
35
+ ## Owner Password
36
+
37
+ `auvrynt init` generates an Owner password and stores it in:
38
+
39
+ ```text
40
+ ~/.auvrynt/auth.json
41
+ ```
42
+
43
+ When an MCP client connects, Auvrynt shows an approval page. Enter the Owner
44
+ password only when you intentionally want that client to access this server.
45
+
46
+ For env-driven deployments, set a long random value:
47
+
48
+ ```bash
49
+ AUVRYNT_OAUTH_OWNER_TOKEN="$(openssl rand -base64 32)"
50
+ ```
51
+
52
+ ## Public URL And Host Allowlist
53
+
54
+ Auvrynt needs `AUVRYNT_PUBLIC_BASE_URL` so MCP clients can discover OAuth
55
+ metadata and connect to the correct resource.
56
+
57
+ The value should be the origin only:
58
+
59
+ ```text
60
+ https://your-tunnel-host.example.com
61
+ ```
62
+
63
+ Do not include `/mcp` in `AUVRYNT_PUBLIC_BASE_URL`.
64
+
65
+ By default, Auvrynt derives allowed Host headers from the local host and public
66
+ URL. Use `AUVRYNT_ALLOWED_HOSTS=*` only for intentional local debugging.
67
+
68
+ ## Tunnels
69
+
70
+ Auvrynt does not manage tunnels. Your tunnel or reverse proxy should point to:
71
+
72
+ ```text
73
+ http://127.0.0.1:49321
74
+ ```
75
+
76
+ Prefer adding Cloudflare Access, Tailscale identity controls, or equivalent
77
+ protection in front of public tunnels. Auvrynt OAuth still protects the MCP
78
+ endpoint, but the tunnel URL should not be treated as a secret.
79
+
80
+ ## Shell Access
81
+
82
+ The shell tool is powerful by design. It is meant for tests, builds, git, and
83
+ package scripts.
84
+
85
+ Filesystem path containment applies to Auvrynt file tools. Shell commands run
86
+ as local commands and can do what your user account can do. This is why the MCP
87
+ client must be trusted and the Owner password must stay private.
88
+
89
+ ## Worktrees
90
+
91
+ Managed worktrees reduce accidental edits to your active checkout, but they are
92
+ not a security boundary. They are a workflow boundary for isolated coding
93
+ sessions.
94
+
95
+ ## Logs
96
+
97
+ By default, Auvrynt logs requests and tool calls. Shell command previews are
98
+ disabled unless `AUVRYNT_LOG_SHELL_COMMANDS=1`.
99
+
100
+ Do not enable shell command logging if commands may contain secrets.
package/docs/setup.md ADDED
@@ -0,0 +1,132 @@
1
+ # Setup Guide
2
+
3
+ This guide is for users who want ChatGPT or another MCP host to work in local
4
+ projects through Auvrynt.
5
+
6
+ ## Requirements
7
+
8
+ - Node `>=20.12 <27`; Node 22 LTS is recommended
9
+ - npm
10
+ - Git
11
+ - Bash, including Git Bash or WSL on Windows
12
+ - a public HTTPS URL that forwards to the local Auvrynt server
13
+
14
+ Auvrynt does not create the public tunnel for you. Use Cloudflare Tunnel,
15
+ ngrok, Pinggy, Tailscale Funnel, or your own HTTPS reverse proxy.
16
+
17
+ ## Install And Configure
18
+
19
+ Run:
20
+
21
+ ```bash
22
+ npx auvrynt init
23
+ ```
24
+
25
+ The setup flow asks one question at a time.
26
+
27
+ ### Project Roots
28
+
29
+ Choose the folders ChatGPT is allowed to open through Auvrynt. Keep this
30
+ narrow.
31
+
32
+ Examples:
33
+
34
+ ```text
35
+ ~/personal,~/work
36
+ ```
37
+
38
+ ```text
39
+ /Users/alice/dev,/Users/alice/work
40
+ ```
41
+
42
+ ```text
43
+ C:\Users\alice\dev,C:\Users\alice\work
44
+ ```
45
+
46
+ ### Local Port
47
+
48
+ The default is `49321`.
49
+
50
+ The local MCP URL is:
51
+
52
+ ```text
53
+ http://127.0.0.1:49321/mcp
54
+ ```
55
+
56
+ ### Public Base URL
57
+
58
+ Start your tunnel or reverse proxy before entering this value. Point the tunnel
59
+ at:
60
+
61
+ ```text
62
+ http://127.0.0.1:49321
63
+ ```
64
+
65
+ Enter the public origin without `/mcp`:
66
+
67
+ ```text
68
+ https://your-tunnel-host.example.com
69
+ ```
70
+
71
+ Configure the MCP client with the full MCP endpoint:
72
+
73
+ ```text
74
+ https://your-tunnel-host.example.com/mcp
75
+ ```
76
+
77
+ ## Start The Server
78
+
79
+ Run:
80
+
81
+ ```bash
82
+ npx auvrynt serve
83
+ ```
84
+
85
+ If your tunnel URL changes for one run, override it without rewriting config:
86
+
87
+ ```bash
88
+ AUVRYNT_PUBLIC_BASE_URL="https://new-tunnel.example.com" npx auvrynt serve
89
+ ```
90
+
91
+ For a stable public URL, persist it:
92
+
93
+ ```bash
94
+ npx auvrynt config set publicBaseUrl https://auvrynt.example.com
95
+ npx auvrynt serve
96
+ ```
97
+
98
+ ## Approve The Client
99
+
100
+ When ChatGPT, Claude, or another MCP client connects, Auvrynt shows an Owner
101
+ password approval page. Enter the Owner password printed during setup.
102
+
103
+ The default config files are:
104
+
105
+ ```text
106
+ ~/.auvrynt/config.json
107
+ ~/.auvrynt/auth.json
108
+ ```
109
+
110
+ Keep `auth.json` private.
111
+
112
+ ## Check Your Setup
113
+
114
+ Run:
115
+
116
+ ```bash
117
+ npx auvrynt doctor
118
+ ```
119
+
120
+ The doctor command reports the resolved config, Node version, Node ABI, platform,
121
+ Git, Bash, public URL, allowed hosts, and SQLite native dependency status.
122
+
123
+ ## Running From A Local Checkout
124
+
125
+ If you are developing Auvrynt itself instead of using the published package:
126
+
127
+ ```bash
128
+ npm install --include=dev
129
+ npm run dev
130
+ ```
131
+
132
+ The same setup rules apply.
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "auvrynt",
3
+ "version": "1.0.1",
4
+ "description": "Expose a secure local coding workspace through an MCP server.",
5
+ "type": "module",
6
+ "main": "dist/server.js",
7
+ "engines": {
8
+ "node": ">=20.12 <27"
9
+ },
10
+ "bin": {
11
+ "auvrynt": "dist/cli.js"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "docs",
16
+ "scripts",
17
+ "README.md"
18
+ ],
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "scripts": {
23
+ "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
24
+ "build": "npm run clean && npm run build:app && tsc -p tsconfig.build.json",
25
+ "build:app": "vite build",
26
+ "dev": "node scripts/dev-server.mjs",
27
+ "start": "node dist/cli.js serve",
28
+ "test": "tsx src/config.test.ts && tsx src/roots.test.ts && tsx src/skills.test.ts && tsx src/view-image.test.ts && tsx src/processes.test.ts && tsx src/search-discovery.test.ts && tsx src/web-tools.test.ts && tsx src/image-tools.test.ts && tsx src/dotnet-tools.test.ts && tsx src/godot-tools.test.ts && tsx src/godot-dotnet-env.test.ts && tsx src/godot-csharp-project.test.ts && tsx src/godot-csharp-runner.test.ts && tsx src/godot-csharp-semantic.test.ts && tsx src/blender-tools.test.ts && tsx src/godot-gdscript.test.ts && tsx src/review-checkpoints.test.ts && tsx src/workspaces.test.ts",
29
+ "typecheck": "tsc -p tsconfig.json --noEmit"
30
+ },
31
+ "keywords": [],
32
+ "author": "",
33
+ "license": "MIT",
34
+ "dependencies": {
35
+ "@clack/prompts": "^1.5.1",
36
+ "@earendil-works/pi-coding-agent": "^0.79.4",
37
+ "@modelcontextprotocol/ext-apps": "^1.7.2",
38
+ "@modelcontextprotocol/sdk": "^1.29.0",
39
+ "@pierre/diffs": "^1.2.5",
40
+ "better-sqlite3": "^12.11.1",
41
+ "drizzle-orm": "^0.45.2",
42
+ "express": "^5.2.1",
43
+ "react": "^19.2.6",
44
+ "react-dom": "^19.2.6",
45
+ "semver": "^7.8.4",
46
+ "zod": "^4.4.3"
47
+ },
48
+ "devDependencies": {
49
+ "@types/better-sqlite3": "^7.6.13",
50
+ "@types/express": "^5.0.6",
51
+ "@types/node": "^25.9.1",
52
+ "@types/react": "^19.2.15",
53
+ "@types/react-dom": "^19.2.3",
54
+ "@types/semver": "^7.7.1",
55
+ "@vitejs/plugin-react": "^6.0.2",
56
+ "tsx": "^4.22.3",
57
+ "typescript": "^6.0.3",
58
+ "vite": "^8.0.14"
59
+ },
60
+ "overrides": {
61
+ "protobufjs": "7.6.4",
62
+ "ws": "8.21.0"
63
+ },
64
+ "allowScripts": {
65
+ "better-sqlite3@12.11.1": true,
66
+ "esbuild@0.28.1": true,
67
+ "protobufjs@7.6.4": true,
68
+ "@google/genai@1.52.0": true
69
+ }
70
+ }