@sunshinelife83/hearth 1.0.0

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 (436) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +323 -0
  3. package/bin/hearth-agentd.js +4 -0
  4. package/bin/hearth.js +4 -0
  5. package/bin/run-entrypoint.js +20 -0
  6. package/dist/agent-tools.js +738 -0
  7. package/dist/app-version.js +16 -0
  8. package/dist/apply-patch.js +402 -0
  9. package/dist/artifact-error.js +8 -0
  10. package/dist/artifact-tools.js +377 -0
  11. package/dist/cli-workspace.js +36 -0
  12. package/dist/cli.js +1086 -0
  13. package/dist/config-migration.js +82 -0
  14. package/dist/config-schema.js +136 -0
  15. package/dist/config.js +115 -0
  16. package/dist/context/context-tools.js +150 -0
  17. package/dist/context/repo-map.js +102 -0
  18. package/dist/dashboard/app.js +226 -0
  19. package/dist/dashboard/index.html +45 -0
  20. package/dist/dashboard/landing.html +57 -0
  21. package/dist/dashboard/styles.css +23 -0
  22. package/dist/dashboard.js +271 -0
  23. package/dist/db/client.js +29 -0
  24. package/dist/db/migrations.js +262 -0
  25. package/dist/db/schema.js +85 -0
  26. package/dist/device-tokens.js +61 -0
  27. package/dist/git-worktrees.js +134 -0
  28. package/dist/git.js +41 -0
  29. package/dist/incoming-artifacts.js +378 -0
  30. package/dist/local-agent-acp.js +768 -0
  31. package/dist/local-agent-adapters.js +20 -0
  32. package/dist/local-agent-availability.js +92 -0
  33. package/dist/local-agent-catalog.js +51 -0
  34. package/dist/local-agent-claude.js +334 -0
  35. package/dist/local-agent-client.js +519 -0
  36. package/dist/local-agent-codex.js +532 -0
  37. package/dist/local-agent-config.js +34 -0
  38. package/dist/local-agent-daemon-lifecycle.js +195 -0
  39. package/dist/local-agent-daemon-main.js +86 -0
  40. package/dist/local-agent-daemon-protocol.js +302 -0
  41. package/dist/local-agent-daemon.js +407 -0
  42. package/dist/local-agent-errors.js +378 -0
  43. package/dist/local-agent-grok.js +202 -0
  44. package/dist/local-agent-manager.js +715 -0
  45. package/dist/local-agent-opencode.js +463 -0
  46. package/dist/local-agent-path.js +24 -0
  47. package/dist/local-agent-pi-sandbox.js +472 -0
  48. package/dist/local-agent-pi.js +298 -0
  49. package/dist/local-agent-presentation.js +104 -0
  50. package/dist/local-agent-profiles.js +127 -0
  51. package/dist/local-agent-runtime-pool.js +481 -0
  52. package/dist/local-agent-runtime.js +1 -0
  53. package/dist/local-agent-store.js +193 -0
  54. package/dist/local-agent-targets.js +97 -0
  55. package/dist/logger.js +97 -0
  56. package/dist/machine-id.js +35 -0
  57. package/dist/mcp-modern-server.js +65 -0
  58. package/dist/oauth-provider.js +331 -0
  59. package/dist/oauth-store.js +144 -0
  60. package/dist/onboarding.js +35 -0
  61. package/dist/orchestration/brief.js +70 -0
  62. package/dist/orchestration/lanes.js +145 -0
  63. package/dist/orchestration/result.js +46 -0
  64. package/dist/orchestration/scope.js +61 -0
  65. package/dist/pi-tools.js +58 -0
  66. package/dist/policy/command-policy.js +104 -0
  67. package/dist/policy/env-allowlist.js +96 -0
  68. package/dist/policy/sandbox.js +68 -0
  69. package/dist/policy/workspace-profiles.js +47 -0
  70. package/dist/process-journal.js +116 -0
  71. package/dist/process-platform.js +49 -0
  72. package/dist/process-sessions.js +388 -0
  73. package/dist/rate-limit.js +77 -0
  74. package/dist/request-meta.js +9 -0
  75. package/dist/review-checkpoints.js +349 -0
  76. package/dist/roots.js +37 -0
  77. package/dist/server-shutdown.js +12 -0
  78. package/dist/server.js +980 -0
  79. package/dist/skills.js +84 -0
  80. package/dist/snapshot-manager.js +123 -0
  81. package/dist/stdio-server.js +80 -0
  82. package/dist/task-store.js +203 -0
  83. package/dist/task-tools.js +455 -0
  84. package/dist/tool-surfaces/claude.js +220 -0
  85. package/dist/tool-surfaces/codex.js +255 -0
  86. package/dist/tool-surfaces/index.js +15 -0
  87. package/dist/tool-surfaces/shared.js +228 -0
  88. package/dist/tool-surfaces/types.js +27 -0
  89. package/dist/ui/.vite/manifest.json +2544 -0
  90. package/dist/ui/assets/abap-CLvhMVsD.js +1 -0
  91. package/dist/ui/assets/actionscript-3--17pq3dv.js +1 -0
  92. package/dist/ui/assets/ada-C5qYipkI.js +1 -0
  93. package/dist/ui/assets/andromeeda-vGVdxbeo.js +1 -0
  94. package/dist/ui/assets/angular-html-DrbO3_Xe.js +1 -0
  95. package/dist/ui/assets/angular-ts-CmTVzHJx.js +1 -0
  96. package/dist/ui/assets/apache-U0d_L8uA.js +1 -0
  97. package/dist/ui/assets/apex-CGTLDQj6.js +1 -0
  98. package/dist/ui/assets/apl-BOpCpqXf.js +1 -0
  99. package/dist/ui/assets/applescript-CCn79oCD.js +1 -0
  100. package/dist/ui/assets/ara-4CJ0cIlV.js +1 -0
  101. package/dist/ui/assets/asciidoc-DE70LPWp.js +1 -0
  102. package/dist/ui/assets/asm-Cmm7eHzH.js +1 -0
  103. package/dist/ui/assets/astro-CxPeBwei.js +1 -0
  104. package/dist/ui/assets/aurora-x-CDeNXAV0.js +1 -0
  105. package/dist/ui/assets/awk-BWXHIvNe.js +1 -0
  106. package/dist/ui/assets/ayu-dark-DluEY0Gj.js +1 -0
  107. package/dist/ui/assets/ayu-light-C3h-C4tm.js +1 -0
  108. package/dist/ui/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  109. package/dist/ui/assets/ballerina-B7ZEbQpA.js +1 -0
  110. package/dist/ui/assets/bat-Bo4NYOV-.js +1 -0
  111. package/dist/ui/assets/beancount-D-usSTwE.js +1 -0
  112. package/dist/ui/assets/berry-DKpUyyne.js +1 -0
  113. package/dist/ui/assets/bibtex-Ci_nEsc7.js +1 -0
  114. package/dist/ui/assets/bicep-CUHmPFLl.js +1 -0
  115. package/dist/ui/assets/bird2-C2hNVINV.js +1 -0
  116. package/dist/ui/assets/blade-DtsAAG4P.js +1 -0
  117. package/dist/ui/assets/bsl-BkkzgIyY.js +1 -0
  118. package/dist/ui/assets/c-D9hLjNUM.js +1 -0
  119. package/dist/ui/assets/c3-CnJL0r0V.js +1 -0
  120. package/dist/ui/assets/cadence-CQ2zXKGN.js +1 -0
  121. package/dist/ui/assets/cairo-DLTphjLi.js +1 -0
  122. package/dist/ui/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
  123. package/dist/ui/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
  124. package/dist/ui/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
  125. package/dist/ui/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
  126. package/dist/ui/assets/clarity-SemFz856.js +1 -0
  127. package/dist/ui/assets/clojure-DqKBuwfJ.js +1 -0
  128. package/dist/ui/assets/cmake-Bj61d0ZC.js +1 -0
  129. package/dist/ui/assets/cobol-C1SWlvZm.js +1 -0
  130. package/dist/ui/assets/codeowners-C8r90Shi.js +1 -0
  131. package/dist/ui/assets/codeql-oeQT6MSM.js +1 -0
  132. package/dist/ui/assets/coffee-B71R3v2U.js +1 -0
  133. package/dist/ui/assets/common-lisp-Cv5bFMCO.js +1 -0
  134. package/dist/ui/assets/coq-BrsZFFmf.js +1 -0
  135. package/dist/ui/assets/cpp--5a4c3v4.js +1 -0
  136. package/dist/ui/assets/crystal-AtqWYtE0.js +1 -0
  137. package/dist/ui/assets/csharp-Ct8U2NOr.js +1 -0
  138. package/dist/ui/assets/css-CbqKSHI-.js +1 -0
  139. package/dist/ui/assets/csv-Dx-8-gkx.js +1 -0
  140. package/dist/ui/assets/cue-CE9AQfxI.js +1 -0
  141. package/dist/ui/assets/cypher-ClKdZ_lG.js +1 -0
  142. package/dist/ui/assets/d-qD-0Kul2.js +1 -0
  143. package/dist/ui/assets/dark-plus-Cs2F2srj.js +1 -0
  144. package/dist/ui/assets/dart-DkHntEIa.js +1 -0
  145. package/dist/ui/assets/dax-BkyTk9wS.js +1 -0
  146. package/dist/ui/assets/desktop-Dlh5hvp9.js +1 -0
  147. package/dist/ui/assets/diff-woXpYk--.js +1 -0
  148. package/dist/ui/assets/docker-IyjqRm3v.js +1 -0
  149. package/dist/ui/assets/dotenv-_5a1GRtc.js +1 -0
  150. package/dist/ui/assets/dracula-BHWKrbxM.js +1 -0
  151. package/dist/ui/assets/dracula-soft-5eyTD99u.js +1 -0
  152. package/dist/ui/assets/dream-maker-DW3nJb8Q.js +1 -0
  153. package/dist/ui/assets/edge-BPwY_RrJ.js +1 -0
  154. package/dist/ui/assets/elixir-DVH2yLJf.js +1 -0
  155. package/dist/ui/assets/elm-BrleA6gS.js +1 -0
  156. package/dist/ui/assets/emacs-lisp-C9PiwqqW.js +1 -0
  157. package/dist/ui/assets/erb-2SHiYe30.js +1 -0
  158. package/dist/ui/assets/erlang-Cphh6RMH.js +1 -0
  159. package/dist/ui/assets/everforest-dark-sB-x3p7T.js +1 -0
  160. package/dist/ui/assets/everforest-light-Df2xbC6M.js +1 -0
  161. package/dist/ui/assets/fennel-DQxkIbk2.js +1 -0
  162. package/dist/ui/assets/fish-BJitypiv.js +1 -0
  163. package/dist/ui/assets/fluent-C03EYrpw.js +1 -0
  164. package/dist/ui/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
  165. package/dist/ui/assets/fortran-free-form-CYNrtFtB.js +1 -0
  166. package/dist/ui/assets/fsharp-D13ZGOAj.js +1 -0
  167. package/dist/ui/assets/gdresource-C0sCabJj.js +1 -0
  168. package/dist/ui/assets/gdscript-Cp2uCuqX.js +1 -0
  169. package/dist/ui/assets/gdshader-CBce3t8t.js +1 -0
  170. package/dist/ui/assets/genie-CV2tkWYe.js +1 -0
  171. package/dist/ui/assets/gherkin-DExj1W_8.js +1 -0
  172. package/dist/ui/assets/git-commit-BSykSTBG.js +1 -0
  173. package/dist/ui/assets/git-rebase-Bc7atMaV.js +1 -0
  174. package/dist/ui/assets/github-dark-C-LZuMrd.js +1 -0
  175. package/dist/ui/assets/github-dark-default-DXG-b-1a.js +1 -0
  176. package/dist/ui/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  177. package/dist/ui/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  178. package/dist/ui/assets/github-light-EUqPIrTm.js +1 -0
  179. package/dist/ui/assets/github-light-default-BXViO-2h.js +1 -0
  180. package/dist/ui/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  181. package/dist/ui/assets/gleam-CSRkHgEL.js +1 -0
  182. package/dist/ui/assets/glimmer-js-DXeTDPtW.js +1 -0
  183. package/dist/ui/assets/glimmer-ts-CEOoXHU4.js +1 -0
  184. package/dist/ui/assets/glsl-5-43-Gsg.js +1 -0
  185. package/dist/ui/assets/gn-ilITqXS6.js +1 -0
  186. package/dist/ui/assets/gnuplot-7GGW24-e.js +1 -0
  187. package/dist/ui/assets/go-BJwz_mda.js +1 -0
  188. package/dist/ui/assets/graphql-Bk7Ah1KA.js +1 -0
  189. package/dist/ui/assets/groovy-CacY0gHj.js +1 -0
  190. package/dist/ui/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  191. package/dist/ui/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  192. package/dist/ui/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  193. package/dist/ui/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  194. package/dist/ui/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  195. package/dist/ui/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  196. package/dist/ui/assets/hack-DUHz4rCJ.js +1 -0
  197. package/dist/ui/assets/haml-BPCuuTPR.js +1 -0
  198. package/dist/ui/assets/handlebars-CHxmUsnU.js +1 -0
  199. package/dist/ui/assets/haskell-D8IpX4py.js +1 -0
  200. package/dist/ui/assets/haxe-OTjmBuCE.js +1 -0
  201. package/dist/ui/assets/hcl-Dh228itO.js +1 -0
  202. package/dist/ui/assets/hjson-CxZEssPk.js +1 -0
  203. package/dist/ui/assets/hlsl-Cvrh5tZx.js +1 -0
  204. package/dist/ui/assets/horizon-CE9ld1lL.js +1 -0
  205. package/dist/ui/assets/horizon-bright-Br1oVSNq.js +1 -0
  206. package/dist/ui/assets/houston-CsvMBhTu.js +1 -0
  207. package/dist/ui/assets/html-BBJqizz0.js +1 -0
  208. package/dist/ui/assets/html-derivative-ShTPCcKN.js +1 -0
  209. package/dist/ui/assets/http-VFTyziwA.js +1 -0
  210. package/dist/ui/assets/hurl-B8yxTa4r.js +1 -0
  211. package/dist/ui/assets/hxml-B0Qn7Nwc.js +1 -0
  212. package/dist/ui/assets/hy-CZbG8q4J.js +1 -0
  213. package/dist/ui/assets/imba-DsUTQ-LC.js +1 -0
  214. package/dist/ui/assets/ini-B5eOa1yu.js +1 -0
  215. package/dist/ui/assets/java-BZ5DAgJZ.js +1 -0
  216. package/dist/ui/assets/javascript-C_zuIEaC.js +1 -0
  217. package/dist/ui/assets/jinja-DWd6xfNr.js +1 -0
  218. package/dist/ui/assets/jison-BbY63d1V.js +1 -0
  219. package/dist/ui/assets/json-C4DnajZs.js +1 -0
  220. package/dist/ui/assets/json5-BR5RXkoi.js +1 -0
  221. package/dist/ui/assets/jsonc-CYpm1nAK.js +1 -0
  222. package/dist/ui/assets/jsonl-CmCQp5Yx.js +1 -0
  223. package/dist/ui/assets/jsonnet-CJTPZ8u_.js +1 -0
  224. package/dist/ui/assets/jssm-DXw9l8Rf.js +1 -0
  225. package/dist/ui/assets/jsx-C4AACieZ.js +1 -0
  226. package/dist/ui/assets/julia-sRu7EFMW.js +1 -0
  227. package/dist/ui/assets/just-DpZ9Sx1v.js +1 -0
  228. package/dist/ui/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
  229. package/dist/ui/assets/kanagawa-lotus-BN08jTvb.js +1 -0
  230. package/dist/ui/assets/kanagawa-wave-CTweb8Dz.js +1 -0
  231. package/dist/ui/assets/kdl-CsD5j6eV.js +1 -0
  232. package/dist/ui/assets/kotlin-DhhofPvG.js +1 -0
  233. package/dist/ui/assets/kusto-BUv0MjJC.js +1 -0
  234. package/dist/ui/assets/laserwave-C_8bwKvT.js +1 -0
  235. package/dist/ui/assets/latex-B6a_uum7.js +1 -0
  236. package/dist/ui/assets/lean-CewbzKMR.js +1 -0
  237. package/dist/ui/assets/less-DVTAwKKz.js +1 -0
  238. package/dist/ui/assets/light-plus-DVQuIRkW.js +1 -0
  239. package/dist/ui/assets/liquid-B2sVpjjr.js +1 -0
  240. package/dist/ui/assets/llvm-Cm23YOpf.js +1 -0
  241. package/dist/ui/assets/log-BNLmms1o.js +1 -0
  242. package/dist/ui/assets/logo-Cluzi2Zq.js +1 -0
  243. package/dist/ui/assets/lua-DxJJll61.js +1 -0
  244. package/dist/ui/assets/luau-CNKltnaQ.js +1 -0
  245. package/dist/ui/assets/make-Dixweg8N.js +1 -0
  246. package/dist/ui/assets/markdown-BYOwaDjH.js +1 -0
  247. package/dist/ui/assets/marko-Dx8mw-Wx.js +1 -0
  248. package/dist/ui/assets/material-theme-Bm3Qr25_.js +1 -0
  249. package/dist/ui/assets/material-theme-darker-2IIEA8gg.js +1 -0
  250. package/dist/ui/assets/material-theme-lighter-uhdI0v04.js +1 -0
  251. package/dist/ui/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  252. package/dist/ui/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  253. package/dist/ui/assets/matlab-D7qyCx1q.js +1 -0
  254. package/dist/ui/assets/mdc-vNKeXEwR.js +1 -0
  255. package/dist/ui/assets/mdx-DQZ5AkYe.js +1 -0
  256. package/dist/ui/assets/mermaid-Bk4SNUv9.js +1 -0
  257. package/dist/ui/assets/min-dark-BSWPekZh.js +1 -0
  258. package/dist/ui/assets/min-light-DDpmG2fV.js +1 -0
  259. package/dist/ui/assets/mipsasm-BMqwQI7S.js +1 -0
  260. package/dist/ui/assets/mojo-BgCJLMeH.js +1 -0
  261. package/dist/ui/assets/monokai-CdkpiU2Y.js +1 -0
  262. package/dist/ui/assets/moonbit-CaWjb8XO.js +1 -0
  263. package/dist/ui/assets/move-B1IS1UjX.js +1 -0
  264. package/dist/ui/assets/narrat-_X_XdTYD.js +1 -0
  265. package/dist/ui/assets/nextflow-Bbiyy34d.js +1 -0
  266. package/dist/ui/assets/nextflow-groovy-Dc_ddanL.js +1 -0
  267. package/dist/ui/assets/nginx-DScQAGLT.js +1 -0
  268. package/dist/ui/assets/night-owl-DhmEMT88.js +1 -0
  269. package/dist/ui/assets/night-owl-light-eJ-hLW7d.js +1 -0
  270. package/dist/ui/assets/nim-lAJch9uT.js +1 -0
  271. package/dist/ui/assets/nix-IvuFDN5E.js +1 -0
  272. package/dist/ui/assets/nord-Cb4Vim4T.js +1 -0
  273. package/dist/ui/assets/nushell-DcLAeLz5.js +1 -0
  274. package/dist/ui/assets/objective-c-D1A_Heim.js +1 -0
  275. package/dist/ui/assets/objective-cpp-BsSzOQcm.js +1 -0
  276. package/dist/ui/assets/ocaml-O90oeIOV.js +1 -0
  277. package/dist/ui/assets/odin-B1RWQWA5.js +1 -0
  278. package/dist/ui/assets/one-dark-pro-CLwyXe_n.js +1 -0
  279. package/dist/ui/assets/one-light-D7Lr4KcI.js +1 -0
  280. package/dist/ui/assets/openscad-BUDT5pXO.js +1 -0
  281. package/dist/ui/assets/pascal-4ZHwLPI5.js +1 -0
  282. package/dist/ui/assets/perl-C_GkVo_E.js +1 -0
  283. package/dist/ui/assets/php-DziV3K6J.js +1 -0
  284. package/dist/ui/assets/pierre-dark-CpLgRqie.js +1 -0
  285. package/dist/ui/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +1 -0
  286. package/dist/ui/assets/pierre-dark-soft-kZQmAZld.js +1 -0
  287. package/dist/ui/assets/pierre-dark-tritanopia-CpjhbsIL.js +1 -0
  288. package/dist/ui/assets/pierre-dark-vibrant-CpQYzh95.js +1 -0
  289. package/dist/ui/assets/pierre-light-CoaEpmwp.js +1 -0
  290. package/dist/ui/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +1 -0
  291. package/dist/ui/assets/pierre-light-soft-lWLdNTOI.js +1 -0
  292. package/dist/ui/assets/pierre-light-tritanopia-CEbqgOJL.js +1 -0
  293. package/dist/ui/assets/pierre-light-vibrant-D80Fkn33.js +1 -0
  294. package/dist/ui/assets/pkl-ot-7Btpt.js +1 -0
  295. package/dist/ui/assets/plastic-DQwYfKfQ.js +1 -0
  296. package/dist/ui/assets/plsql-DGHpHOYJ.js +1 -0
  297. package/dist/ui/assets/po-BiJDBrnU.js +1 -0
  298. package/dist/ui/assets/poimandres-DRFjx7u4.js +1 -0
  299. package/dist/ui/assets/polar-C7UOKdEL.js +1 -0
  300. package/dist/ui/assets/postcss-BXeXVLqQ.js +1 -0
  301. package/dist/ui/assets/powerquery-DNMTfnFr.js +1 -0
  302. package/dist/ui/assets/powershell-DshXNtvi.js +1 -0
  303. package/dist/ui/assets/prisma-BsRQq5mF.js +1 -0
  304. package/dist/ui/assets/prolog-iXnhIJG7.js +1 -0
  305. package/dist/ui/assets/proto-DB4EqR-F.js +1 -0
  306. package/dist/ui/assets/pug-z75UIWVK.js +1 -0
  307. package/dist/ui/assets/puppet-CDv2pdJW.js +1 -0
  308. package/dist/ui/assets/purescript-9MfHhQsQ.js +1 -0
  309. package/dist/ui/assets/python-gzcpVVnB.js +1 -0
  310. package/dist/ui/assets/qml-Cmm4coz1.js +1 -0
  311. package/dist/ui/assets/qmldir-DCQb3MpD.js +1 -0
  312. package/dist/ui/assets/qss-Fe1Jh2GI.js +1 -0
  313. package/dist/ui/assets/r-Brd0axBE.js +1 -0
  314. package/dist/ui/assets/racket-DcIDlBhZ.js +1 -0
  315. package/dist/ui/assets/raku-B3gFvitq.js +1 -0
  316. package/dist/ui/assets/razor-DSbwmoiu.js +1 -0
  317. package/dist/ui/assets/red-CJ3rzSJv.js +1 -0
  318. package/dist/ui/assets/reg-CRGYupPL.js +1 -0
  319. package/dist/ui/assets/regexp-Bs3Uk-pY.js +1 -0
  320. package/dist/ui/assets/rel-BtDbiS_P.js +1 -0
  321. package/dist/ui/assets/review-payload-CbwCBKB1.js +1580 -0
  322. package/dist/ui/assets/riscv-Ckw8ddFX.js +1 -0
  323. package/dist/ui/assets/ron-VUp2lXgN.js +1 -0
  324. package/dist/ui/assets/rose-pine-BthvhNj6.js +1 -0
  325. package/dist/ui/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
  326. package/dist/ui/assets/rose-pine-moon-hon4tzzS.js +1 -0
  327. package/dist/ui/assets/rosmsg-CAekHB0j.js +1 -0
  328. package/dist/ui/assets/rst-ChIyKpUC.js +1 -0
  329. package/dist/ui/assets/ruby-BdAmvOMO.js +1 -0
  330. package/dist/ui/assets/rust-Cfkwpbl8.js +1 -0
  331. package/dist/ui/assets/sas-DpXn8hc5.js +1 -0
  332. package/dist/ui/assets/sass-DXrisJhu.js +1 -0
  333. package/dist/ui/assets/scala-DKOlJaKm.js +1 -0
  334. package/dist/ui/assets/scheme-DQCgrYNe.js +1 -0
  335. package/dist/ui/assets/scss-atX1Uuef.js +1 -0
  336. package/dist/ui/assets/sdbl-bTVj8UrX.js +1 -0
  337. package/dist/ui/assets/shaderlab-TOUzSsQk.js +1 -0
  338. package/dist/ui/assets/shellscript-BqgcAeMK.js +1 -0
  339. package/dist/ui/assets/shellsession-DfQSMRN5.js +1 -0
  340. package/dist/ui/assets/slack-dark-DnToyrRv.js +1 -0
  341. package/dist/ui/assets/slack-ochin-B2OO5cIa.js +1 -0
  342. package/dist/ui/assets/smalltalk-B16xEiuN.js +1 -0
  343. package/dist/ui/assets/snazzy-light-4G7pJPwS.js +1 -0
  344. package/dist/ui/assets/solarized-dark-DV17i1UV.js +1 -0
  345. package/dist/ui/assets/solarized-light-DSh2HLQt.js +1 -0
  346. package/dist/ui/assets/solidity-CKzVLygQ.js +1 -0
  347. package/dist/ui/assets/soy-DzP7zZTB.js +1 -0
  348. package/dist/ui/assets/sparql-D_iOobhT.js +1 -0
  349. package/dist/ui/assets/splunk-BC2Px7Mm.js +1 -0
  350. package/dist/ui/assets/sql-gmaLk66z.js +1 -0
  351. package/dist/ui/assets/ssh-config-BgfXC-Er.js +1 -0
  352. package/dist/ui/assets/stata-CJ0YTMcV.js +1 -0
  353. package/dist/ui/assets/stylus-B6D30XZt.js +1 -0
  354. package/dist/ui/assets/surrealql-LH7FciQz.js +1 -0
  355. package/dist/ui/assets/svelte-BME2PU6V.js +1 -0
  356. package/dist/ui/assets/swift-DonLKvLd.js +1 -0
  357. package/dist/ui/assets/synthwave-84-nFMaYfgc.js +1 -0
  358. package/dist/ui/assets/system-verilog-DJ5XKQeo.js +1 -0
  359. package/dist/ui/assets/systemd-BxMlprV5.js +1 -0
  360. package/dist/ui/assets/talonscript-CohzipZa.js +1 -0
  361. package/dist/ui/assets/tasl-DMoTqEGO.js +1 -0
  362. package/dist/ui/assets/tcl-CZd0xW_V.js +1 -0
  363. package/dist/ui/assets/templ-DHBNIfYW.js +1 -0
  364. package/dist/ui/assets/terraform-DswuEJGm.js +1 -0
  365. package/dist/ui/assets/tex-C8-kPEzO.js +1 -0
  366. package/dist/ui/assets/tokyo-night-oM2G3aXe.js +1 -0
  367. package/dist/ui/assets/toml-CcmNWLt0.js +1 -0
  368. package/dist/ui/assets/ts-tags-CiewV0vR.js +1 -0
  369. package/dist/ui/assets/tsv-sltzmVWM.js +1 -0
  370. package/dist/ui/assets/tsx-CUYPqmnq.js +1 -0
  371. package/dist/ui/assets/turtle-ByJddavk.js +1 -0
  372. package/dist/ui/assets/twig-BTkvsl0b.js +1 -0
  373. package/dist/ui/assets/typescript-DDQMaPwj.js +1 -0
  374. package/dist/ui/assets/typespec-B88KGewJ.js +1 -0
  375. package/dist/ui/assets/typst-DI99ib-x.js +1 -0
  376. package/dist/ui/assets/v-DETTlOr0.js +1 -0
  377. package/dist/ui/assets/vala-zf12oZj6.js +1 -0
  378. package/dist/ui/assets/vb-Djn5o6TS.js +1 -0
  379. package/dist/ui/assets/verilog-CiiDBU1e.js +1 -0
  380. package/dist/ui/assets/vesper-D5bVUKB1.js +1 -0
  381. package/dist/ui/assets/vhdl-BroJfC0k.js +1 -0
  382. package/dist/ui/assets/viml-DvXPmvsu.js +1 -0
  383. package/dist/ui/assets/vitesse-black-fwtXNY1n.js +1 -0
  384. package/dist/ui/assets/vitesse-dark-BZCL-v6S.js +1 -0
  385. package/dist/ui/assets/vitesse-light-VbXTXTou.js +1 -0
  386. package/dist/ui/assets/vue-BH5SEWRH.js +1 -0
  387. package/dist/ui/assets/vue-html-BT7yeYez.js +1 -0
  388. package/dist/ui/assets/vue-vine-Cs5IN2rs.js +1 -0
  389. package/dist/ui/assets/vyper-CgoNMtux.js +1 -0
  390. package/dist/ui/assets/wasm-BnjxR4X6.js +1 -0
  391. package/dist/ui/assets/wasm-ByWQv1Qj.js +1 -0
  392. package/dist/ui/assets/wenyan-C8pVoKbM.js +1 -0
  393. package/dist/ui/assets/wgsl-BsKzXJz4.js +1 -0
  394. package/dist/ui/assets/wikitext-ClFFjSW2.js +1 -0
  395. package/dist/ui/assets/wit-DdvCle-K.js +1 -0
  396. package/dist/ui/assets/wolfram-DLL8P-h_.js +1 -0
  397. package/dist/ui/assets/workspace-app-B_BnSEHO.css +1 -0
  398. package/dist/ui/assets/workspace-app-DSFpnrIC.js +115 -0
  399. package/dist/ui/assets/xml-D3_1BEcO.js +1 -0
  400. package/dist/ui/assets/xsl-BBOCDn4Y.js +1 -0
  401. package/dist/ui/assets/yaml-lThBDT45.js +1 -0
  402. package/dist/ui/assets/zenscript-BnlCZFoB.js +1 -0
  403. package/dist/ui/assets/zig-CMLA9XwU.js +1 -0
  404. package/dist/ui/workspace-app.html +15 -0
  405. package/dist/user-config.js +228 -0
  406. package/dist/verification.js +74 -0
  407. package/dist/workspace-store.js +133 -0
  408. package/dist/workspaces.js +433 -0
  409. package/docs/adr/devspace-x-implementation-adrs.md +159 -0
  410. package/docs/agent-profile-schema.md +203 -0
  411. package/docs/artifact-exchange.md +44 -0
  412. package/docs/assets/devspace-logo-light.png +0 -0
  413. package/docs/assets/devspace-screenshot.png +0 -0
  414. package/docs/assets/v11-review-ui-after.png +0 -0
  415. package/docs/assets/v11-review-ui-before.png +0 -0
  416. package/docs/chatgpt-coding-workflow.md +215 -0
  417. package/docs/configuration.md +217 -0
  418. package/docs/gotchas.md +294 -0
  419. package/docs/local-agent-daemon.md +101 -0
  420. package/docs/security.md +197 -0
  421. package/docs/setup.md +174 -0
  422. package/examples/agents/claude-implementer.md +30 -0
  423. package/examples/agents/codex-explorer.md +27 -0
  424. package/examples/agents/codex-qa-tester.md +29 -0
  425. package/examples/agents/codex-worker.md +25 -0
  426. package/examples/agents/copilot-reviewer.md +25 -0
  427. package/examples/agents/cursor-agent-worker.md +26 -0
  428. package/examples/agents/grok-builder.md +10 -0
  429. package/examples/agents/opencode-explorer.md +27 -0
  430. package/examples/agents/pi-reviewer.md +27 -0
  431. package/package.json +102 -0
  432. package/schema/v1/hearth.schema.json +529 -0
  433. package/scripts/copy-dashboard.mjs +9 -0
  434. package/scripts/fix-node-pty-permissions.mjs +22 -0
  435. package/scripts/generate-config-schema.ts +9 -0
  436. package/skills/subagents/SKILL.md +57 -0
package/docs/setup.md ADDED
@@ -0,0 +1,174 @@
1
+ # Setup Guide
2
+
3
+ This guide covers ChatGPT and Coding Agents using Hearth with local projects.
4
+
5
+ ## Requirements
6
+
7
+ - Node `>=22.19 <27`
8
+ - npm
9
+ - Git
10
+ - Bash, including Git Bash or WSL on Windows
11
+ - a public HTTPS URL that forwards to the local Hearth server, only when
12
+ ChatGPT will connect
13
+
14
+ Hearth does not create the public tunnel for you. ChatGPT users need a public
15
+ HTTPS URL forwarding to the local server: their own reverse proxy or tunnel,
16
+ or Hearth's relay-free direct exposure (own domain + TLS, see
17
+ `hearth expose`).
18
+
19
+ ## Install And Configure
20
+
21
+ Run:
22
+
23
+ ```bash
24
+ npx @sunshinelife83/hearth init
25
+ ```
26
+
27
+ The setup flow asks one question at a time.
28
+
29
+ First choose where you will use Hearth: ChatGPT, Coding Agents, or both.
30
+ Hearth uses that answer to skip setup that does not apply to you.
31
+
32
+ ### Project roots
33
+
34
+ If you selected ChatGPT, choose the project folders it may open through
35
+ Hearth. Keep this narrow.
36
+
37
+ Examples:
38
+
39
+ ```text
40
+ ~/personal,~/work
41
+ ```
42
+
43
+ ```text
44
+ /Users/alice/dev,/Users/alice/work
45
+ ```
46
+
47
+ ```text
48
+ C:\Users\alice\dev,C:\Users\alice\work
49
+ ```
50
+
51
+ A Coding Agents-only setup skips this question. Direct `hearth agents`
52
+ commands use the current Git project, or the current directory outside a
53
+ repository, with the authority of your local shell. MCP workspace operations
54
+ remain limited to the roots configured for ChatGPT.
55
+
56
+ ### Coding Agents
57
+
58
+ Setup detects supported Coding Agents and asks which ones Hearth may use.
59
+ These choices are stored as provider objects under `subagents` in
60
+ `~/.hearth/config.jsonc`.
61
+
62
+ If you selected Coding Agents, setup prints:
63
+
64
+ ```bash
65
+ npx skills add Waishnav/hearth --skill subagents --global
66
+ ```
67
+
68
+ The Skills CLI asks which installed Coding Agents should receive the skill.
69
+ The skill uses `hearth agents targets`, `run`, `continue`, `show`, and `ls`.
70
+ These commands do not require `hearth serve`.
71
+
72
+ ### Connect ChatGPT
73
+
74
+ Setup only asks for a public URL if you selected ChatGPT. Start your tunnel or
75
+ reverse proxy first and point it at:
76
+
77
+ ```text
78
+ http://127.0.0.1:7176
79
+ ```
80
+
81
+ Proxy the whole Hearth server from the root path of your tunnel or reverse
82
+ proxy — never mount only `/mcp`. Hearth also serves OAuth discovery and
83
+ authorization routes outside `/mcp`, and a path-scoped mount can strip `/mcp`
84
+ before the request reaches Hearth (arriving as `/` and failing).
85
+
86
+ Enter the public origin without `/mcp`:
87
+
88
+ ```text
89
+ https://your-tunnel-host.example.com
90
+ ```
91
+
92
+ Configure the MCP client with the full MCP endpoint:
93
+
94
+ ```text
95
+ https://your-tunnel-host.example.com/mcp
96
+ ```
97
+
98
+ Protocol compatibility is automatic. Hearth serves MCP 2026-07-28 requests
99
+ directly and handles older 2025-era clients statelessly on the same endpoint;
100
+ there is no client-protocol setting to maintain.
101
+
102
+ A Coding Agents-only setup skips this section.
103
+
104
+ ## Start The Server
105
+
106
+ Run:
107
+
108
+ ```bash
109
+ npx @sunshinelife83/hearth serve
110
+ ```
111
+
112
+ If your tunnel URL changes, update the persisted value before starting:
113
+
114
+ ```bash
115
+ npx @sunshinelife83/hearth config set publicBaseUrl https://hearth.example.com
116
+ npx @sunshinelife83/hearth serve
117
+ ```
118
+
119
+ Use the origin only — never append `/mcp` to `publicBaseUrl`. The client URL is
120
+ `<origin>/mcp`. `hearth doctor --fix` repairs a saved `/mcp` suffix.
121
+
122
+ ## Connect A Host (ChatGPT / Claude / Generic)
123
+
124
+ Run:
125
+
126
+ ```bash
127
+ npx @sunshinelife83/hearth connect
128
+ ```
129
+
130
+ It prints this PC's machine label, public `/mcp` URL, and copy-paste steps per
131
+ host. Use `hearth connect chatgpt|claude|generic` for one host. The dashboard
132
+ Connect tab shows the same. Keep one public URL per PC: OAuth
133
+ tokens are bound to that machine's resource URL and Owner password. The
134
+ machine label is diagnostic only and does not prevent cloning (see
135
+ `docs/security.md`).
136
+
137
+ ## Approve The Client
138
+
139
+ When ChatGPT, Claude, or another MCP client connects, Hearth shows an Owner
140
+ password approval page. Enter the Owner password printed during setup.
141
+
142
+ The default config files are:
143
+
144
+ ```text
145
+ ~/.hearth/config.jsonc
146
+ ~/.hearth/auth.json
147
+ ```
148
+
149
+ Keep `auth.json` private.
150
+
151
+ ## Check Your Setup
152
+
153
+ Run:
154
+
155
+ ```bash
156
+ npx @sunshinelife83/hearth doctor
157
+ ```
158
+
159
+ The doctor command reports the resolved config, Node version, Node ABI, platform,
160
+ Git, Bash, public URL, allowed hosts, and SQLite native dependency status.
161
+
162
+ ## Running From A Local Checkout
163
+
164
+ If you are developing Hearth itself instead of using the published package:
165
+
166
+ Local checkout development additionally requires pnpm 11.25.0, the version
167
+ pinned in `package.json`. Install it with `npm install --global pnpm@11.25.0`.
168
+
169
+ ```bash
170
+ pnpm install --frozen-lockfile
171
+ pnpm dev
172
+ ```
173
+
174
+ The same setup rules apply.
@@ -0,0 +1,30 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: claude-implementer
4
+ description: Implementation profile for multi-file changes, careful refactors, and failing test repair.
5
+ provider: claude
6
+ model: sonnet
7
+ effort: high
8
+ ---
9
+
10
+ Take ownership of the requested implementation while keeping the change narrow.
11
+ Start by locating the smallest set of files that define the behavior, then make
12
+ the change in the existing style.
13
+
14
+ Working rules:
15
+
16
+ - Preserve existing public behavior unless the prompt explicitly asks to change it.
17
+ - Avoid broad rewrites, dependency churn, formatting-only edits, and speculative cleanup.
18
+ - Update or add focused tests when behavior changes.
19
+ - Run the most relevant checks available for the touched area, or explain why they could not run.
20
+ - If the task is ambiguous or blocked by missing context, stop with a clear blocker instead of guessing.
21
+
22
+ Report:
23
+
24
+ ```text
25
+ summary:
26
+ tests_run:
27
+ blockers:
28
+ risks:
29
+ follow_up_needed:
30
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: codex-explorer
4
+ description: Read-only profile for bounded codebase questions, architecture tracing, and risk discovery.
5
+ provider: codex
6
+ model: gpt-5.4-mini
7
+ effort: high
8
+ ---
9
+
10
+ Investigate without editing. Use this profile to answer bounded questions such
11
+ as how a feature works, where a behavior is implemented, what depends on a
12
+ module, or which files are relevant before a change.
13
+
14
+ - Do not modify files.
15
+ - Prefer direct evidence from code over broad repository summaries.
16
+ - Cite file paths, symbols, and commands that support the conclusion.
17
+ - Separate confirmed facts from inferences.
18
+ - Call out unknowns that would require running the app, inspecting external state, or asking the user.
19
+
20
+ Report:
21
+
22
+ ```text
23
+ answer:
24
+ evidence:
25
+ relevant_files:
26
+ unknowns:
27
+ ```
@@ -0,0 +1,29 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: codex-qa-tester
4
+ description: Manual QA profile for browser testing, workflow verification, and regression checks.
5
+ provider: codex
6
+ model: gpt-5.4-mini
7
+ effort: high
8
+ ---
9
+
10
+ Verify the requested user workflow from the outside, like a QA pass before
11
+ release. Prefer running the app and using browser tools when the task involves
12
+ UI, navigation, forms, visual states, or end-to-end behavior.
13
+
14
+ - Do not modify files.
15
+ - Start from the acceptance criteria in the prompt; turn vague requests into a small checklist.
16
+ - Use the browser to exercise real interactions when a local preview or dev server is available.
17
+ - Cover the main happy path plus at least one realistic edge or failure state.
18
+ - Capture exact reproduction steps for every issue found.
19
+ - Distinguish confirmed failures from untested risks.
20
+
21
+ Report:
22
+
23
+ ```text
24
+ qa_summary:
25
+ checks_run:
26
+ issues_found:
27
+ reproduction_steps:
28
+ untested_risks:
29
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: codex-worker
4
+ description: Implementation profile for focused coding tasks with clear acceptance criteria.
5
+ provider: codex
6
+ model: gpt-5.4
7
+ ---
8
+
9
+ Implement the requested change with minimal surface area. Use this profile when
10
+ the prompt already defines the desired behavior or acceptance criteria.
11
+
12
+ - Read nearby code before editing.
13
+ - Match existing project patterns instead of introducing new abstractions.
14
+ - Keep unrelated files, formatting, and dependency metadata untouched.
15
+ - Prefer targeted tests for the changed behavior.
16
+ - Surface build, test, or environment failures exactly; do not summarize them as success.
17
+
18
+ Report:
19
+
20
+ ```text
21
+ summary:
22
+ tests_run:
23
+ blockers:
24
+ notes:
25
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: copilot-reviewer
4
+ description: Read-only review profile for bug risk, regressions, and missing test coverage.
5
+ provider: copilot
6
+ ---
7
+
8
+ Review the requested code path or diff without editing. Prioritize concrete
9
+ bugs, behavior regressions, security issues, and missing tests over style
10
+ preferences.
11
+
12
+ - Do not modify files.
13
+ - Lead with findings ordered by severity.
14
+ - Tie each finding to a specific file, symbol, or behavior.
15
+ - Ignore purely subjective style feedback unless it creates a maintenance risk.
16
+ - If no issue is found, say that clearly and mention any residual test or runtime risk.
17
+
18
+ Report:
19
+
20
+ ```text
21
+ findings:
22
+ evidence:
23
+ test_gaps:
24
+ residual_risk:
25
+ ```
@@ -0,0 +1,26 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: cursor-agent-worker
4
+ description: Implementation profile for UI-heavy changes, small refactors, and alternative solution passes.
5
+ provider: cursor
6
+ model: composer-2.5-fast
7
+ ---
8
+
9
+ Work on the requested change with a bias toward practical, shippable edits. This
10
+ profile is useful for UI polish, small refactors, and trying an alternate
11
+ implementation path.
12
+
13
+ - Keep edits scoped to the requested workflow or component.
14
+ - Preserve existing visual language and interaction patterns.
15
+ - Avoid changing data contracts or public APIs unless the prompt asks for it.
16
+ - Check responsive and empty/error states when touching UI.
17
+ - Report what was verified and what still needs a human look.
18
+
19
+ Report:
20
+
21
+ ```text
22
+ summary:
23
+ verification:
24
+ blockers:
25
+ open_questions:
26
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: grok-builder
3
+ description: Implement a focused change with Grok Build.
4
+ provider: grok
5
+ model: grok-4.5
6
+ effort: low
7
+ ---
8
+
9
+ Implement the requested change in the current workspace. Inspect the existing
10
+ patterns first, keep the patch focused, and report the verification you ran.
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: opencode-explorer
4
+ description: Read-only profile for fast relevant-file discovery and small architecture questions.
5
+ provider: opencode
6
+ model: opencode/deepseek-v4-flash-free
7
+ effort: high
8
+ ---
9
+
10
+ Find the answer quickly without editing. Use this profile when the main need is
11
+ to identify relevant files, understand a small code path, or gather enough
12
+ context before implementation.
13
+
14
+ - Do not modify files.
15
+ - Search first, then read only the files needed to answer the prompt.
16
+ - Prefer precise file paths and symbols over broad summaries.
17
+ - Keep the response short unless the code path is genuinely complex.
18
+ - State uncertainty when evidence is incomplete.
19
+
20
+ Report:
21
+
22
+ ```text
23
+ answer:
24
+ evidence:
25
+ relevant_files:
26
+ unknowns:
27
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema: hearth-agent/v1
3
+ name: pi-reviewer
4
+ description: Read-only review profile for quick risk checks and targeted implementation questions.
5
+ provider: pi
6
+ model: openai-codex/gpt-5.5
7
+ effort: high
8
+ ---
9
+
10
+ Review or investigate only the area requested. This profile is best for quick
11
+ risk checks, small diffs, and targeted questions where a concise answer is more
12
+ valuable than a broad audit.
13
+
14
+ - Do not modify files.
15
+ - Focus on actionable issues that could affect correctness, safety, or tests.
16
+ - Cite the specific code evidence for each point.
17
+ - Avoid broad rewrite suggestions unless the current design blocks the requested behavior.
18
+ - Keep low-confidence observations under `unknowns`.
19
+
20
+ Report:
21
+
22
+ ```text
23
+ findings:
24
+ evidence:
25
+ risk_level:
26
+ unknowns:
27
+ ```
package/package.json ADDED
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "@sunshinelife83/hearth",
3
+ "version": "1.0.0",
4
+ "description": "Expose a secure local coding workspace through an MCP server.",
5
+ "keywords": [],
6
+ "homepage": "https://github.com/Waishnav/hearth#readme",
7
+ "bugs": {
8
+ "url": "https://github.com/Waishnav/hearth/issues"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/Waishnav/hearth.git"
13
+ },
14
+ "license": "MIT",
15
+ "author": "Mounib Bouchareb <mounib.bouchareb16@gmail.com>",
16
+ "type": "module",
17
+ "main": "dist/server.js",
18
+ "bin": {
19
+ "hearth": "bin/hearth.js",
20
+ "hearth-agentd": "bin/hearth-agentd.js"
21
+ },
22
+ "directories": {
23
+ "doc": "docs",
24
+ "example": "examples",
25
+ "test": "test"
26
+ },
27
+ "files": [
28
+ "bin",
29
+ "dist",
30
+ "docs",
31
+ "examples",
32
+ "schema",
33
+ "scripts",
34
+ "skills",
35
+ "README.md"
36
+ ],
37
+ "dependencies": {
38
+ "@agentclientprotocol/sdk": "^1.1.0",
39
+ "@anthropic-ai/claude-agent-sdk": "0.3.200",
40
+ "@anthropic-ai/sandbox-runtime": "0.0.71",
41
+ "@clack/prompts": "^1.5.1",
42
+ "@earendil-works/pi-coding-agent": "^0.80.3",
43
+ "@modelcontextprotocol/ext-apps": "^1.7.2",
44
+ "@modelcontextprotocol/node": "^2.0.0",
45
+ "@modelcontextprotocol/sdk": "^1.29.0",
46
+ "@modelcontextprotocol/server": "^2.0.0",
47
+ "@opencode-ai/sdk": "^1.17.13",
48
+ "@pierre/diffs": "^1.3.6",
49
+ "better-result": "^2.10.0",
50
+ "better-sqlite3": "^12.10.0",
51
+ "cross-spawn": "^7.0.6",
52
+ "diff": "^8.0.3",
53
+ "drizzle-orm": "^0.45.2",
54
+ "express": "^5.2.1",
55
+ "jsonc-parser": "^3.3.1",
56
+ "lucide": "^1.24.0",
57
+ "react": "^19.2.6",
58
+ "react-dom": "^19.2.6",
59
+ "semver": "^7.8.4",
60
+ "yaml": "^2.9.0",
61
+ "zod": "^4.4.3"
62
+ },
63
+ "devDependencies": {
64
+ "@types/better-sqlite3": "^7.6.13",
65
+ "@types/express": "^5.0.6",
66
+ "@types/node": "^25.9.1",
67
+ "@types/react": "^19.2.15",
68
+ "@types/react-dom": "^19.2.3",
69
+ "@types/semver": "^7.7.1",
70
+ "@vitejs/plugin-react": "^6.0.2",
71
+ "tsx": "^4.22.3",
72
+ "typescript": "^6.0.3",
73
+ "vite": "^8.0.14"
74
+ },
75
+ "optionalDependencies": {
76
+ "node-pty": "^1.1.0"
77
+ },
78
+ "engines": {
79
+ "node": ">=22.19 <27"
80
+ },
81
+ "publishConfig": {
82
+ "access": "public"
83
+ },
84
+ "overrides": {
85
+ "protobufjs": "7.6.4",
86
+ "ws": "8.21.0",
87
+ "undici": "8.5.0"
88
+ },
89
+ "scripts": {
90
+ "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
91
+ "build": "pnpm clean && pnpm build:app && pnpm build:dashboard && tsc -p tsconfig.build.json",
92
+ "build:dashboard": "node scripts/copy-dashboard.mjs",
93
+ "build:app": "vite build",
94
+ "dev": "tsx watch --clear-screen=false src/cli.ts serve",
95
+ "postinstall": "node scripts/fix-node-pty-permissions.mjs",
96
+ "schema:config": "tsx scripts/generate-config-schema.ts",
97
+ "start": "node dist/cli.js serve",
98
+ "test": "tsx --test --test-concurrency=1 \"src/**/*.test.ts\"",
99
+ "test:package-install": "tsx --test --test-concurrency=1 \"test/package-install-smoke.test.ts\"",
100
+ "typecheck": "tsc -p tsconfig.json --noEmit"
101
+ }
102
+ }