@macintacos/caret 1.4.1 → 1.5.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 (177) hide show
  1. package/.claude-plugin/plugin.json +2 -1
  2. package/README.md +4 -3
  3. package/commands/doctor.md +9 -9
  4. package/dist/cli.js +5926 -4851
  5. package/hooks/hooks.json +1 -0
  6. package/mod/band.d.ts +5 -0
  7. package/mod/hooks/band.tsx +84 -0
  8. package/opencode/caret.plugin.v2.ts +36 -6
  9. package/opencode/commands/doctor.md +10 -10
  10. package/package.json +6 -4
  11. package/ui/dist/assets/{ada-C5qYipkI.js → ada-X3Y2mlq2.js} +1 -1
  12. package/ui/dist/assets/{ahk-CA9gdOdF.js → ahk-DwADkxyd.js} +1 -1
  13. package/ui/dist/assets/{angular-html-yY3ygMZZ.js → angular-html-qVQ4C4o_.js} +1 -1
  14. package/ui/dist/assets/{angular-ts-CfoJFBTQ.js → angular-ts-EK5Kpiok.js} +1 -1
  15. package/ui/dist/assets/{apl-DT7k7bw4.js → apl-DkOo45EZ.js} +1 -1
  16. package/ui/dist/assets/{astro-CJZXIXFd.js → astro-DiCafZrp.js} +1 -1
  17. package/ui/dist/assets/beancount-C2IN4Vk8.js +1 -0
  18. package/ui/dist/assets/{blade-D9JiJjrS.js → blade-BTJ7AhWu.js} +1 -1
  19. package/ui/dist/assets/{c-D0Y9hqRQ.js → c-CsbUy4Dz.js} +1 -1
  20. package/ui/dist/assets/{chapel-D7yn7jxF.js → chapel-DpoSYw7F.js} +1 -1
  21. package/ui/dist/assets/{clike-D_6L3tnO.js → clike-xvONpD0Z.js} +1 -1
  22. package/ui/dist/assets/{cobol-ON3ke5xj.js → cobol-CUJ4b23B.js} +1 -1
  23. package/ui/dist/assets/{coffee-BYtoZsQ6.js → coffee-BXmFtcUl.js} +1 -1
  24. package/ui/dist/assets/coq-CGaSfhwR.js +1 -0
  25. package/ui/dist/assets/{cpp-ksKJapDi.js → cpp-8j7sTms0.js} +1 -1
  26. package/ui/dist/assets/crystal-Bl6YKCG_.js +1 -0
  27. package/ui/dist/assets/{crystal-2UizyKGm.js → crystal-DNZCLxLj.js} +1 -1
  28. package/ui/dist/assets/csharp-dmMxLVLW.js +1 -0
  29. package/ui/dist/assets/css-qlALwXNw.js +1 -0
  30. package/ui/dist/assets/dart-CHZY9Xhz.js +1 -0
  31. package/ui/dist/assets/{dist-Lc2Es7Pl.js → dist--iE_Uraw.js} +1 -1
  32. package/ui/dist/assets/{dist-CUrPqCJM.js → dist-BUdhGqN6.js} +1 -1
  33. package/ui/dist/assets/dist-BW8E7IFp.js +12 -0
  34. package/ui/dist/assets/{dist-DOXluTcG.js → dist-BsN4uwD3.js} +1 -1
  35. package/ui/dist/assets/{dist-BubrR0xG.js → dist-BtudxTi6.js} +1 -1
  36. package/ui/dist/assets/dist-BzruqOsf.js +1 -0
  37. package/ui/dist/assets/dist-C0kJT6Lc.js +1 -0
  38. package/ui/dist/assets/{dist-CjIRqXSt.js → dist-C5H8xzaz.js} +1 -1
  39. package/ui/dist/assets/dist-CB20dMA4.js +1 -0
  40. package/ui/dist/assets/dist-CMFZirm7.js +1 -0
  41. package/ui/dist/assets/{dist-R5oGZF-x.js → dist-CYb_vx5W.js} +1 -1
  42. package/ui/dist/assets/{dist-BdX-zXTt.js → dist-Cd-j6irP.js} +1 -1
  43. package/ui/dist/assets/{dist-TxQM6vOw.js → dist-CrA0chnO.js} +1 -1
  44. package/ui/dist/assets/{dist-BWCMQAHO.js → dist-D8cv9-6G.js} +1 -1
  45. package/ui/dist/assets/dist-DjmYaBKK.js +1 -0
  46. package/ui/dist/assets/{dist-CJI9XKY6.js → dist-DsnAu5ap.js} +1 -1
  47. package/ui/dist/assets/{dist-DyhOeNTK.js → dist-JmWLG_PM.js} +1 -1
  48. package/ui/dist/assets/dist-ldnZ9m94.js +1 -0
  49. package/ui/dist/assets/dotenv-CuH5my32.js +1 -0
  50. package/ui/dist/assets/{dylan-BCDoL_-p.js → dylan-S7ucR4pR.js} +1 -1
  51. package/ui/dist/assets/{edge-CQXgfN6f.js → edge-lQhDsIq4.js} +1 -1
  52. package/ui/dist/assets/{elixir-Bq5Vdfdz.js → elixir-KszFncrP.js} +1 -1
  53. package/ui/dist/assets/{elm-Drj2uRJz.js → elm-Dqe2R2wa.js} +1 -1
  54. package/ui/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  55. package/ui/dist/assets/{erb-DR5atT5u.js → erb-BnrfByrh.js} +1 -1
  56. package/ui/dist/assets/forth-D6RzAl64.js +1 -0
  57. package/ui/dist/assets/{git-rebase-qqDOUY4y.js → git-rebase-BDscUCID.js} +1 -1
  58. package/ui/dist/assets/{glimmer-js-swrKPqN7.js → glimmer-js-bhLtRJb5.js} +1 -1
  59. package/ui/dist/assets/{glimmer-ts-B2b_vXqT.js → glimmer-ts-BYViMEFk.js} +1 -1
  60. package/ui/dist/assets/{glsl-CuJlzsa0.js → glsl-Cpk2pGFt.js} +1 -1
  61. package/ui/dist/assets/gn-CAXYAgV-.js +1 -0
  62. package/ui/dist/assets/{graphql-N5XL4Igl.js → graphql-CkOJ7M-b.js} +1 -1
  63. package/ui/dist/assets/groovy-CUrWKPia.js +1 -0
  64. package/ui/dist/assets/{hack-DAjYMpAQ.js → hack-BW0ZnP7T.js} +1 -1
  65. package/ui/dist/assets/{haml-bCL8XrBO.js → haml-CyPw2pP2.js} +1 -1
  66. package/ui/dist/assets/handlebars-BLJrIa2a.js +1 -0
  67. package/ui/dist/assets/{html-C_jnzgd_.js → html-CovmzHZW.js} +1 -1
  68. package/ui/dist/assets/{html-derivative-BpHLgdTe.js → html-derivative-uUnrNlDA.js} +1 -1
  69. package/ui/dist/assets/{http-C9gOztuo.js → http-V8-emqXn.js} +1 -1
  70. package/ui/dist/assets/{hurl-BXoVnMal.js → hurl-BVPscIjK.js} +1 -1
  71. package/ui/dist/assets/index-Bh5kFacs.css +1 -0
  72. package/ui/dist/assets/index-CmRCy8ln.js +4402 -0
  73. package/ui/dist/assets/{java-ChvIR-vI.js → java-B7EAkw4g.js} +1 -1
  74. package/ui/dist/assets/{javascript-BtM5a1-k.js → javascript-DgfWn5VS.js} +1 -1
  75. package/ui/dist/assets/javascript-lS2r2ifg.js +1 -0
  76. package/ui/dist/assets/{jinja-pvNd4qzh.js → jinja-CclKQ1j3.js} +1 -1
  77. package/ui/dist/assets/{jison-sfvdVpT7.js → jison-3TCso6ry.js} +1 -1
  78. package/ui/dist/assets/{json-CNZpiPKJ.js → json-Dt0uvard.js} +1 -1
  79. package/ui/dist/assets/{jsx-DZDMTAk_.js → jsx-BS8w9yi4.js} +1 -1
  80. package/ui/dist/assets/{julia-BL7qk1iT.js → julia-BUWxYWs0.js} +1 -1
  81. package/ui/dist/assets/{just-uod8WSY3.js → just-DG7KPqff.js} +1 -1
  82. package/ui/dist/assets/latex-DsfZsCcM.js +1 -0
  83. package/ui/dist/assets/{liquid-BawoDryy.js → liquid-CxDSipCW.js} +1 -1
  84. package/ui/dist/assets/{lua-DWiK1E2i.js → lua-BSmyZdUb.js} +1 -1
  85. package/ui/dist/assets/{lua-CiA1ziua.js → lua-DPCEkfD_.js} +1 -1
  86. package/ui/dist/assets/luau-VGWVLoqX.js +1 -0
  87. package/ui/dist/assets/marko-BWlnpqQw.js +1 -0
  88. package/ui/dist/assets/{mdc-Bmg-n7wg.js → mdc-eaLNe5kQ.js} +1 -1
  89. package/ui/dist/assets/moonbit-D9W784E_.js +1 -0
  90. package/ui/dist/assets/nextflow-CSgcYZcx.js +1 -0
  91. package/ui/dist/assets/{nextflow-groovy-DJMQeKeT.js → nextflow-groovy-D7IRt6Pp.js} +1 -1
  92. package/ui/dist/assets/{nginx-BMaDbqW3.js → nginx-C-ORUuei.js} +1 -1
  93. package/ui/dist/assets/{nginx-6CyLwTv5.js → nginx-WuEiJASv.js} +1 -1
  94. package/ui/dist/assets/{nim-qQvA9F3H.js → nim-DURQt8pC.js} +1 -1
  95. package/ui/dist/assets/nsis-viPvXFiq.js +1 -0
  96. package/ui/dist/assets/{ntriples-B9h1VB_g.js → ntriples-CzMBulkp.js} +1 -1
  97. package/ui/dist/assets/nushell--0fT3PI1.js +1 -0
  98. package/ui/dist/assets/{org-CZPJg31I.js → org-DF-_PQyb.js} +1 -1
  99. package/ui/dist/assets/{perl-BHwT64Dn.js → perl-EsnDEwQm.js} +1 -1
  100. package/ui/dist/assets/php-qqUCY8u7.js +1 -0
  101. package/ui/dist/assets/{powershell-BcIto6Sf.js → powershell-D8WpQPaX.js} +1 -1
  102. package/ui/dist/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +1 -1
  103. package/ui/dist/assets/pug-BqCHZ5xT.js +1 -0
  104. package/ui/dist/assets/{pug-BVUwFWbq.js → pug-DBzX-Yjm.js} +1 -1
  105. package/ui/dist/assets/{qml-CLSmNp_i.js → qml-FU0hHOzz.js} +1 -1
  106. package/ui/dist/assets/{r-EIHOgDPx.js → r-B1R3kKI3.js} +1 -1
  107. package/ui/dist/assets/{razor-BPii5bUu.js → razor-DFHHY-nP.js} +1 -1
  108. package/ui/dist/assets/{regexp-CWI8pQZM.js → regexp-bNGHCeT-.js} +1 -1
  109. package/ui/dist/assets/{rst-IDb7GnpL.js → rst-t_M_4h4V.js} +1 -1
  110. package/ui/dist/assets/{ruby-JHA-t8UR.js → ruby-CMCln8Kh.js} +1 -1
  111. package/ui/dist/assets/ruby-ChfNwlCY.js +1 -0
  112. package/ui/dist/assets/rust-DpiIf5JO.js +1 -0
  113. package/ui/dist/assets/{sas-Dlys6wEq.js → sas-aj8KmYmR.js} +1 -1
  114. package/ui/dist/assets/{scss-DQ3TetHN.js → scss-CK4Kg7zq.js} +1 -1
  115. package/ui/dist/assets/{shellscript-DZ2dKShG.js → shellscript-vERKF4sn.js} +1 -1
  116. package/ui/dist/assets/{shellsession-CCP03ZF7.js → shellsession-v8u6MLz4.js} +1 -1
  117. package/ui/dist/assets/{sieve-BAxa3IjF.js → sieve-tLWDfEkZ.js} +1 -1
  118. package/ui/dist/assets/solr-B78wSQJQ.js +1 -0
  119. package/ui/dist/assets/{soy-e3nnrv7u.js → soy-DpaBWgD_.js} +1 -1
  120. package/ui/dist/assets/sql-CHWh70q1.js +1 -0
  121. package/ui/dist/assets/{stata-COrW6kNx.js → stata-uTaTVul9.js} +1 -1
  122. package/ui/dist/assets/{surrealql-CYe8f-Bp.js → surrealql-CaHw_Gex.js} +1 -1
  123. package/ui/dist/assets/{svelte-CuoMH8V_.js → svelte-C9w3Y1KH.js} +1 -1
  124. package/ui/dist/assets/{templ-BaMURml8.js → templ-BMIzyzvj.js} +1 -1
  125. package/ui/dist/assets/{tex-Clsc8t8H.js → tex-HiBB66nZ.js} +1 -1
  126. package/ui/dist/assets/{tiki-AK6FwT8q.js → tiki-CvUEFusT.js} +1 -1
  127. package/ui/dist/assets/{ts-tags-BAg5C1ub.js → ts-tags-Bq2_8owA.js} +1 -1
  128. package/ui/dist/assets/{tsx-rMIupNhm.js → tsx-DPhZ_mW8.js} +1 -1
  129. package/ui/dist/assets/twig-BINOenEN.js +1 -0
  130. package/ui/dist/assets/{typescript-3GSK8yFX.js → typescript-DpX28Q13.js} +1 -1
  131. package/ui/dist/assets/typespec-BGhR2SqG.js +1 -0
  132. package/ui/dist/assets/{typst-CGKkM3pT.js → typst-DKxhFqTr.js} +1 -1
  133. package/ui/dist/assets/{verilog-7LoJAqYT.js → verilog-CjI9Y6RI.js} +1 -1
  134. package/ui/dist/assets/{vue-DcXRtF34.js → vue-Rgy4EXPq.js} +1 -1
  135. package/ui/dist/assets/{vue-html-BIR8K8bh.js → vue-html-DkO7PDTd.js} +1 -1
  136. package/ui/dist/assets/{vue-vine-IEgILria.js → vue-vine-DytETe0m.js} +1 -1
  137. package/ui/dist/assets/{xml-CIHnIn95.js → xml-1TgE5Q65.js} +1 -1
  138. package/ui/dist/assets/{xsl-CaZZ2eEQ.js → xsl-87-g_ngb.js} +1 -1
  139. package/ui/dist/assets/{yaml-Dj6iHQsO.js → yaml-BrsuA1y0.js} +1 -1
  140. package/ui/dist/index.html +3 -3
  141. package/ui/dist/assets/beancount-D-usSTwE.js +0 -1
  142. package/ui/dist/assets/coq-DuBRPxYg.js +0 -1
  143. package/ui/dist/assets/crystal-Bsdphhtm.js +0 -1
  144. package/ui/dist/assets/csharp-oqKa8noW.js +0 -1
  145. package/ui/dist/assets/css-BiY6DdoY.js +0 -1
  146. package/ui/dist/assets/dart-CnvKMtbv.js +0 -1
  147. package/ui/dist/assets/dist-C3j3DCXP.js +0 -1
  148. package/ui/dist/assets/dist-CfuU_6ln.js +0 -1
  149. package/ui/dist/assets/dist-D0Ats_4w.js +0 -1
  150. package/ui/dist/assets/dist-DOswrDst.js +0 -12
  151. package/ui/dist/assets/dist-DXn_f-MA.js +0 -1
  152. package/ui/dist/assets/dist-ryZq9scv.js +0 -1
  153. package/ui/dist/assets/dist-szzEpuzi.js +0 -1
  154. package/ui/dist/assets/dotenv-_5a1GRtc.js +0 -1
  155. package/ui/dist/assets/emacs-lisp-c_oH4hRZ.js +0 -1
  156. package/ui/dist/assets/forth-Cezjo90N.js +0 -1
  157. package/ui/dist/assets/gn-ilITqXS6.js +0 -1
  158. package/ui/dist/assets/groovy-CUpZ7dEl.js +0 -1
  159. package/ui/dist/assets/handlebars-DHKgZM6S.js +0 -1
  160. package/ui/dist/assets/index-FmL6-rOV.css +0 -1
  161. package/ui/dist/assets/index-jwD-lIWV.js +0 -6899
  162. package/ui/dist/assets/javascript-DoL9Wb-Q.js +0 -1
  163. package/ui/dist/assets/latex-dpi8HpbG.js +0 -1
  164. package/ui/dist/assets/luau-C2pBCSgt.js +0 -1
  165. package/ui/dist/assets/marko-BXkudM8D.js +0 -1
  166. package/ui/dist/assets/moonbit-DgjMoLWr.js +0 -1
  167. package/ui/dist/assets/nextflow-BJtWHP5T.js +0 -1
  168. package/ui/dist/assets/nsis-CfSuhXs5.js +0 -1
  169. package/ui/dist/assets/nushell-DHYfO66s.js +0 -1
  170. package/ui/dist/assets/php-D8NTgrbg.js +0 -1
  171. package/ui/dist/assets/pug-Gsm0M45u.js +0 -1
  172. package/ui/dist/assets/ruby-BjXV7-Qa.js +0 -1
  173. package/ui/dist/assets/rust-Cfkwpbl8.js +0 -1
  174. package/ui/dist/assets/solr-BBopId9w.js +0 -1
  175. package/ui/dist/assets/sql-CkwaWr-O.js +0 -1
  176. package/ui/dist/assets/twig-DqwvPhpg.js +0 -1
  177. package/ui/dist/assets/typespec-BRdr0IET.js +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "caret",
3
- "version": "1.4.1",
3
+ "version": "1.5.0",
4
4
  "description": "Review, annotate, and approve Claude Code plans in a local web UI.",
5
5
  "author": { "name": "macintacos" },
6
6
  "homepage": "https://github.com/macintacos/caret",
@@ -15,6 +15,7 @@
15
15
  "approval",
16
16
  "annotation"
17
17
  ],
18
+ "types": "./mod/band.d.ts",
18
19
  "mcpServers": {
19
20
  "caret": {
20
21
  "command": "${CLAUDE_PLUGIN_ROOT}/bin/caret",
package/README.md CHANGED
@@ -90,9 +90,10 @@ your browser instead of the terminal prompt. There you:
90
90
 
91
91
  - **Read** the plan as rendered HTML.
92
92
  - **Annotate** — select any passage to attach an inline comment.
93
- - **Decide** — **Approve** (optionally also switching the session into accept-edits or
94
- auto mode) or **Request changes**, which sends your comments back to the agent to revise
95
- and re-present.
93
+ - **Decide** — **Approve** — with any comments you've left, applied without another
94
+ planning round (optionally also switching the session into accept-edits or auto mode) or
95
+ **Request changes**, which sends your comments back to the agent to revise and
96
+ re-present.
96
97
 
97
98
  > [!TIP]
98
99
  > You don't have to wait to be intercepted: `/caret:plan <what you want done>` asks the
@@ -3,14 +3,14 @@ description: Diagnose this caret install — run caret doctor, relay each failin
3
3
  ---
4
4
 
5
5
  caret's `doctor` subcommand renders a verdict over a one-shot, read-only snapshot of the
6
- local install: a `checks:` block naming what is wrong and how to fix it, then the state it
7
- read that from — running caret processes, daemon identity, lock/port state, effective
8
- settings, review counts, the agent adapter's install-state probe (plugin version, enabled
9
- state, and whether a manual hook sits in the agent's user settings), log sizes and error
10
- counts, recent failures grouped by review with their codes, install/runtime info, and
11
- system basics. The report is **always redacted** (home paths become `~`, usernames in
12
- foreign home paths are censored) and never contains plan, prompt, or feedback bodies, nor
13
- any log message, error or stack text — it exists to be shared.
6
+ local install: the failing checks first, each with the command that fixes it, then the
7
+ passing ones, then the state it read them from — running caret processes, daemon identity,
8
+ lock/port state, effective settings, review counts, the agent adapter's install-state
9
+ probe (plugin version, enabled state, and whether a manual hook sits in the agent's user
10
+ settings), log sizes and error counts, recent failures grouped by review with their codes,
11
+ install/runtime info, and system basics. The report is **always redacted** (home paths
12
+ become `~`, usernames in foreign home paths are censored) and never contains plan, prompt,
13
+ or feedback bodies, nor any log message, error or stack text — it exists to be shared.
14
14
 
15
15
  ## 1. Run it
16
16
 
@@ -47,7 +47,7 @@ one. What each id means:
47
47
  | `opencode-caret-version` | OpenCode would load a caret behind the published one | the check's remedy verbatim |
48
48
 
49
49
  An `unknown` check is not a failure: it names its own `reason` — no network, an unreadable
50
- config, or a report section that never collected, which also shows as `<name> error: …`
50
+ config, or a report section that never collected, which also shows as an `error` line
51
51
  (`"error": "…"` under `--json`) and leaves the check with no detail. A doctor run offline
52
52
  reaching one is the normal case; present it as-is rather than treating it as a failure of
53
53
  this command. A daemon that is simply not running is not one of these — it reports