groove-dev 0.27.137 → 0.27.138

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 (488) hide show
  1. package/node_modules/@groove-dev/cli/package.json +1 -1
  2. package/node_modules/@groove-dev/daemon/package.json +1 -1
  3. package/node_modules/@groove-dev/daemon/src/adaptive.js +26 -16
  4. package/node_modules/@groove-dev/daemon/src/journalist.js +62 -24
  5. package/node_modules/@groove-dev/daemon/src/model-lab.js +6 -5
  6. package/node_modules/@groove-dev/daemon/src/rotator.js +5 -7
  7. package/{packages/gui/dist/assets/codemirror-DRQdprYi.js → node_modules/@groove-dev/gui/dist/assets/codemirror-BYKpdS2W.js} +1 -1
  8. package/{packages/gui/dist/assets/index-BrZHF7pK.js → node_modules/@groove-dev/gui/dist/assets/index-DcNgRadn.js} +1764 -1764
  9. package/node_modules/@groove-dev/gui/dist/assets/index-EY6WfKWH.css +1 -0
  10. package/node_modules/@groove-dev/gui/dist/index.html +3 -3
  11. package/node_modules/@groove-dev/gui/package.json +2 -1
  12. package/node_modules/@groove-dev/gui/src/components/editor/code-editor.jsx +81 -63
  13. package/node_modules/@groove-dev/gui/src/components/editor/editor-status-bar.jsx +66 -0
  14. package/node_modules/@groove-dev/gui/src/components/lab/system-prompt-editor.jsx +21 -24
  15. package/node_modules/@groove-dev/gui/src/stores/groove.js +5 -0
  16. package/node_modules/@uiw/codemirror-theme-abcdef/README.md +152 -0
  17. package/node_modules/@uiw/codemirror-theme-abcdef/cjs/index.d.ts +5 -0
  18. package/node_modules/@uiw/codemirror-theme-abcdef/cjs/index.js +95 -0
  19. package/node_modules/@uiw/codemirror-theme-abcdef/cjs/package.json +1 -0
  20. package/node_modules/@uiw/codemirror-theme-abcdef/esm/index.d.ts +5 -0
  21. package/node_modules/@uiw/codemirror-theme-abcdef/esm/index.js +84 -0
  22. package/node_modules/@uiw/codemirror-theme-abcdef/esm/package.json +1 -0
  23. package/node_modules/@uiw/codemirror-theme-abcdef/package.json +50 -0
  24. package/node_modules/@uiw/codemirror-theme-abcdef/src/index.ts +52 -0
  25. package/node_modules/@uiw/codemirror-theme-abyss/README.md +150 -0
  26. package/node_modules/@uiw/codemirror-theme-abyss/cjs/color.d.ts +25 -0
  27. package/node_modules/@uiw/codemirror-theme-abyss/cjs/color.js +31 -0
  28. package/node_modules/@uiw/codemirror-theme-abyss/cjs/index.d.ts +5 -0
  29. package/node_modules/@uiw/codemirror-theme-abyss/cjs/index.js +103 -0
  30. package/node_modules/@uiw/codemirror-theme-abyss/cjs/package.json +1 -0
  31. package/node_modules/@uiw/codemirror-theme-abyss/esm/color.d.ts +25 -0
  32. package/node_modules/@uiw/codemirror-theme-abyss/esm/color.js +25 -0
  33. package/node_modules/@uiw/codemirror-theme-abyss/esm/index.d.ts +5 -0
  34. package/node_modules/@uiw/codemirror-theme-abyss/esm/index.js +93 -0
  35. package/node_modules/@uiw/codemirror-theme-abyss/esm/package.json +1 -0
  36. package/node_modules/@uiw/codemirror-theme-abyss/package.json +45 -0
  37. package/node_modules/@uiw/codemirror-theme-abyss/src/color.ts +25 -0
  38. package/node_modules/@uiw/codemirror-theme-abyss/src/index.ts +52 -0
  39. package/node_modules/@uiw/codemirror-theme-androidstudio/README.md +153 -0
  40. package/node_modules/@uiw/codemirror-theme-androidstudio/cjs/index.d.ts +5 -0
  41. package/node_modules/@uiw/codemirror-theme-androidstudio/cjs/index.js +66 -0
  42. package/node_modules/@uiw/codemirror-theme-androidstudio/cjs/package.json +1 -0
  43. package/node_modules/@uiw/codemirror-theme-androidstudio/esm/index.d.ts +5 -0
  44. package/node_modules/@uiw/codemirror-theme-androidstudio/esm/index.js +55 -0
  45. package/node_modules/@uiw/codemirror-theme-androidstudio/esm/package.json +1 -0
  46. package/node_modules/@uiw/codemirror-theme-androidstudio/package.json +50 -0
  47. package/node_modules/@uiw/codemirror-theme-androidstudio/src/index.ts +40 -0
  48. package/node_modules/@uiw/codemirror-theme-andromeda/README.md +149 -0
  49. package/node_modules/@uiw/codemirror-theme-andromeda/cjs/color.d.ts +26 -0
  50. package/node_modules/@uiw/codemirror-theme-andromeda/cjs/color.js +32 -0
  51. package/node_modules/@uiw/codemirror-theme-andromeda/cjs/index.d.ts +5 -0
  52. package/node_modules/@uiw/codemirror-theme-andromeda/cjs/index.js +106 -0
  53. package/node_modules/@uiw/codemirror-theme-andromeda/cjs/package.json +1 -0
  54. package/node_modules/@uiw/codemirror-theme-andromeda/esm/color.d.ts +26 -0
  55. package/node_modules/@uiw/codemirror-theme-andromeda/esm/color.js +26 -0
  56. package/node_modules/@uiw/codemirror-theme-andromeda/esm/index.d.ts +5 -0
  57. package/node_modules/@uiw/codemirror-theme-andromeda/esm/index.js +96 -0
  58. package/node_modules/@uiw/codemirror-theme-andromeda/esm/package.json +1 -0
  59. package/node_modules/@uiw/codemirror-theme-andromeda/package.json +45 -0
  60. package/node_modules/@uiw/codemirror-theme-andromeda/src/color.ts +26 -0
  61. package/node_modules/@uiw/codemirror-theme-andromeda/src/index.ts +56 -0
  62. package/node_modules/@uiw/codemirror-theme-atomone/README.md +151 -0
  63. package/node_modules/@uiw/codemirror-theme-atomone/cjs/index.d.ts +5 -0
  64. package/node_modules/@uiw/codemirror-theme-atomone/cjs/index.js +69 -0
  65. package/node_modules/@uiw/codemirror-theme-atomone/cjs/package.json +1 -0
  66. package/node_modules/@uiw/codemirror-theme-atomone/esm/index.d.ts +5 -0
  67. package/node_modules/@uiw/codemirror-theme-atomone/esm/index.js +58 -0
  68. package/node_modules/@uiw/codemirror-theme-atomone/esm/package.json +1 -0
  69. package/node_modules/@uiw/codemirror-theme-atomone/package.json +50 -0
  70. package/node_modules/@uiw/codemirror-theme-atomone/src/index.ts +48 -0
  71. package/node_modules/@uiw/codemirror-theme-aura/README.md +151 -0
  72. package/node_modules/@uiw/codemirror-theme-aura/cjs/index.d.ts +5 -0
  73. package/node_modules/@uiw/codemirror-theme-aura/cjs/index.js +99 -0
  74. package/node_modules/@uiw/codemirror-theme-aura/cjs/package.json +1 -0
  75. package/node_modules/@uiw/codemirror-theme-aura/esm/index.d.ts +5 -0
  76. package/node_modules/@uiw/codemirror-theme-aura/esm/index.js +89 -0
  77. package/node_modules/@uiw/codemirror-theme-aura/esm/package.json +1 -0
  78. package/node_modules/@uiw/codemirror-theme-aura/package.json +50 -0
  79. package/node_modules/@uiw/codemirror-theme-aura/src/index.ts +51 -0
  80. package/node_modules/@uiw/codemirror-theme-basic/README.md +159 -0
  81. package/node_modules/@uiw/codemirror-theme-basic/cjs/dark.d.ts +5 -0
  82. package/node_modules/@uiw/codemirror-theme-basic/cjs/dark.js +156 -0
  83. package/node_modules/@uiw/codemirror-theme-basic/cjs/index.d.ts +2 -0
  84. package/node_modules/@uiw/codemirror-theme-basic/cjs/index.js +27 -0
  85. package/node_modules/@uiw/codemirror-theme-basic/cjs/light.d.ts +5 -0
  86. package/node_modules/@uiw/codemirror-theme-basic/cjs/light.js +153 -0
  87. package/node_modules/@uiw/codemirror-theme-basic/cjs/package.json +1 -0
  88. package/node_modules/@uiw/codemirror-theme-basic/dark.d.ts +6 -0
  89. package/node_modules/@uiw/codemirror-theme-basic/esm/dark.d.ts +5 -0
  90. package/node_modules/@uiw/codemirror-theme-basic/esm/dark.js +146 -0
  91. package/node_modules/@uiw/codemirror-theme-basic/esm/index.d.ts +2 -0
  92. package/node_modules/@uiw/codemirror-theme-basic/esm/index.js +2 -0
  93. package/node_modules/@uiw/codemirror-theme-basic/esm/light.d.ts +5 -0
  94. package/node_modules/@uiw/codemirror-theme-basic/esm/light.js +143 -0
  95. package/node_modules/@uiw/codemirror-theme-basic/esm/package.json +1 -0
  96. package/node_modules/@uiw/codemirror-theme-basic/light.d.ts +6 -0
  97. package/node_modules/@uiw/codemirror-theme-basic/package.json +63 -0
  98. package/node_modules/@uiw/codemirror-theme-basic/src/dark.ts +76 -0
  99. package/node_modules/@uiw/codemirror-theme-basic/src/index.ts +2 -0
  100. package/node_modules/@uiw/codemirror-theme-basic/src/light.ts +81 -0
  101. package/node_modules/@uiw/codemirror-theme-bbedit/README.md +151 -0
  102. package/node_modules/@uiw/codemirror-theme-bbedit/cjs/index.d.ts +5 -0
  103. package/node_modules/@uiw/codemirror-theme-bbedit/cjs/index.js +77 -0
  104. package/node_modules/@uiw/codemirror-theme-bbedit/cjs/package.json +1 -0
  105. package/node_modules/@uiw/codemirror-theme-bbedit/esm/index.d.ts +5 -0
  106. package/node_modules/@uiw/codemirror-theme-bbedit/esm/index.js +67 -0
  107. package/node_modules/@uiw/codemirror-theme-bbedit/esm/package.json +1 -0
  108. package/node_modules/@uiw/codemirror-theme-bbedit/package.json +50 -0
  109. package/node_modules/@uiw/codemirror-theme-bbedit/src/index.ts +44 -0
  110. package/node_modules/@uiw/codemirror-theme-bespin/README.md +151 -0
  111. package/node_modules/@uiw/codemirror-theme-bespin/cjs/index.d.ts +5 -0
  112. package/node_modules/@uiw/codemirror-theme-bespin/cjs/index.js +72 -0
  113. package/node_modules/@uiw/codemirror-theme-bespin/cjs/package.json +1 -0
  114. package/node_modules/@uiw/codemirror-theme-bespin/esm/index.d.ts +5 -0
  115. package/node_modules/@uiw/codemirror-theme-bespin/esm/index.js +61 -0
  116. package/node_modules/@uiw/codemirror-theme-bespin/esm/package.json +1 -0
  117. package/node_modules/@uiw/codemirror-theme-bespin/package.json +50 -0
  118. package/node_modules/@uiw/codemirror-theme-bespin/src/index.ts +46 -0
  119. package/node_modules/@uiw/codemirror-theme-console/README.md +160 -0
  120. package/node_modules/@uiw/codemirror-theme-console/cjs/dark.d.ts +4 -0
  121. package/node_modules/@uiw/codemirror-theme-console/cjs/dark.js +36 -0
  122. package/node_modules/@uiw/codemirror-theme-console/cjs/index.d.ts +2 -0
  123. package/node_modules/@uiw/codemirror-theme-console/cjs/index.js +27 -0
  124. package/node_modules/@uiw/codemirror-theme-console/cjs/light.d.ts +4 -0
  125. package/node_modules/@uiw/codemirror-theme-console/cjs/light.js +36 -0
  126. package/node_modules/@uiw/codemirror-theme-console/cjs/package.json +1 -0
  127. package/node_modules/@uiw/codemirror-theme-console/dark.d.ts +6 -0
  128. package/node_modules/@uiw/codemirror-theme-console/esm/dark.d.ts +4 -0
  129. package/node_modules/@uiw/codemirror-theme-console/esm/dark.js +26 -0
  130. package/node_modules/@uiw/codemirror-theme-console/esm/index.d.ts +2 -0
  131. package/node_modules/@uiw/codemirror-theme-console/esm/index.js +2 -0
  132. package/node_modules/@uiw/codemirror-theme-console/esm/light.d.ts +4 -0
  133. package/node_modules/@uiw/codemirror-theme-console/esm/light.js +26 -0
  134. package/node_modules/@uiw/codemirror-theme-console/esm/package.json +1 -0
  135. package/node_modules/@uiw/codemirror-theme-console/light.d.ts +6 -0
  136. package/node_modules/@uiw/codemirror-theme-console/package.json +62 -0
  137. package/node_modules/@uiw/codemirror-theme-console/src/dark.ts +27 -0
  138. package/node_modules/@uiw/codemirror-theme-console/src/index.ts +2 -0
  139. package/node_modules/@uiw/codemirror-theme-console/src/light.ts +27 -0
  140. package/node_modules/@uiw/codemirror-theme-copilot/README.md +149 -0
  141. package/node_modules/@uiw/codemirror-theme-copilot/cjs/color.d.ts +25 -0
  142. package/node_modules/@uiw/codemirror-theme-copilot/cjs/color.js +31 -0
  143. package/node_modules/@uiw/codemirror-theme-copilot/cjs/index.d.ts +5 -0
  144. package/node_modules/@uiw/codemirror-theme-copilot/cjs/index.js +106 -0
  145. package/node_modules/@uiw/codemirror-theme-copilot/cjs/package.json +1 -0
  146. package/node_modules/@uiw/codemirror-theme-copilot/esm/color.d.ts +25 -0
  147. package/node_modules/@uiw/codemirror-theme-copilot/esm/color.js +25 -0
  148. package/node_modules/@uiw/codemirror-theme-copilot/esm/index.d.ts +5 -0
  149. package/node_modules/@uiw/codemirror-theme-copilot/esm/index.js +96 -0
  150. package/node_modules/@uiw/codemirror-theme-copilot/esm/package.json +1 -0
  151. package/node_modules/@uiw/codemirror-theme-copilot/package.json +45 -0
  152. package/node_modules/@uiw/codemirror-theme-copilot/src/color.ts +25 -0
  153. package/node_modules/@uiw/codemirror-theme-copilot/src/index.ts +56 -0
  154. package/node_modules/@uiw/codemirror-theme-darcula/README.md +151 -0
  155. package/node_modules/@uiw/codemirror-theme-darcula/cjs/index.d.ts +5 -0
  156. package/node_modules/@uiw/codemirror-theme-darcula/cjs/index.js +72 -0
  157. package/node_modules/@uiw/codemirror-theme-darcula/cjs/package.json +1 -0
  158. package/node_modules/@uiw/codemirror-theme-darcula/esm/index.d.ts +5 -0
  159. package/node_modules/@uiw/codemirror-theme-darcula/esm/index.js +61 -0
  160. package/node_modules/@uiw/codemirror-theme-darcula/esm/package.json +1 -0
  161. package/node_modules/@uiw/codemirror-theme-darcula/package.json +50 -0
  162. package/node_modules/@uiw/codemirror-theme-darcula/src/index.ts +46 -0
  163. package/node_modules/@uiw/codemirror-theme-dracula/README.md +151 -0
  164. package/node_modules/@uiw/codemirror-theme-dracula/cjs/index.d.ts +5 -0
  165. package/node_modules/@uiw/codemirror-theme-dracula/cjs/index.js +69 -0
  166. package/node_modules/@uiw/codemirror-theme-dracula/cjs/package.json +1 -0
  167. package/node_modules/@uiw/codemirror-theme-dracula/esm/index.d.ts +5 -0
  168. package/node_modules/@uiw/codemirror-theme-dracula/esm/index.js +58 -0
  169. package/node_modules/@uiw/codemirror-theme-dracula/esm/package.json +1 -0
  170. package/node_modules/@uiw/codemirror-theme-dracula/package.json +50 -0
  171. package/node_modules/@uiw/codemirror-theme-dracula/src/index.ts +48 -0
  172. package/node_modules/@uiw/codemirror-theme-duotone/README.md +156 -0
  173. package/node_modules/@uiw/codemirror-theme-duotone/cjs/index.d.ts +9 -0
  174. package/node_modules/@uiw/codemirror-theme-duotone/cjs/index.js +115 -0
  175. package/node_modules/@uiw/codemirror-theme-duotone/cjs/package.json +1 -0
  176. package/node_modules/@uiw/codemirror-theme-duotone/esm/index.d.ts +9 -0
  177. package/node_modules/@uiw/codemirror-theme-duotone/esm/index.js +102 -0
  178. package/node_modules/@uiw/codemirror-theme-duotone/esm/package.json +1 -0
  179. package/node_modules/@uiw/codemirror-theme-duotone/package.json +50 -0
  180. package/node_modules/@uiw/codemirror-theme-duotone/src/index.ts +79 -0
  181. package/node_modules/@uiw/codemirror-theme-eclipse/README.md +145 -0
  182. package/node_modules/@uiw/codemirror-theme-eclipse/cjs/index.d.ts +5 -0
  183. package/node_modules/@uiw/codemirror-theme-eclipse/cjs/index.js +78 -0
  184. package/node_modules/@uiw/codemirror-theme-eclipse/cjs/package.json +1 -0
  185. package/node_modules/@uiw/codemirror-theme-eclipse/esm/index.d.ts +5 -0
  186. package/node_modules/@uiw/codemirror-theme-eclipse/esm/index.js +68 -0
  187. package/node_modules/@uiw/codemirror-theme-eclipse/esm/package.json +1 -0
  188. package/node_modules/@uiw/codemirror-theme-eclipse/package.json +50 -0
  189. package/node_modules/@uiw/codemirror-theme-eclipse/src/index.ts +44 -0
  190. package/node_modules/@uiw/codemirror-theme-github/README.md +154 -0
  191. package/node_modules/@uiw/codemirror-theme-github/cjs/index.d.ts +9 -0
  192. package/node_modules/@uiw/codemirror-theme-github/cjs/index.js +156 -0
  193. package/node_modules/@uiw/codemirror-theme-github/cjs/package.json +1 -0
  194. package/node_modules/@uiw/codemirror-theme-github/esm/index.d.ts +9 -0
  195. package/node_modules/@uiw/codemirror-theme-github/esm/index.js +143 -0
  196. package/node_modules/@uiw/codemirror-theme-github/esm/package.json +1 -0
  197. package/node_modules/@uiw/codemirror-theme-github/package.json +50 -0
  198. package/node_modules/@uiw/codemirror-theme-github/src/index.ts +86 -0
  199. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/README.md +153 -0
  200. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/cjs/index.d.ts +8 -0
  201. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/cjs/index.js +296 -0
  202. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/cjs/package.json +1 -0
  203. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/esm/index.d.ts +8 -0
  204. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/esm/index.js +283 -0
  205. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/esm/package.json +1 -0
  206. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/package.json +50 -0
  207. package/node_modules/@uiw/codemirror-theme-gruvbox-dark/src/index.ts +203 -0
  208. package/node_modules/@uiw/codemirror-theme-kimbie/README.md +149 -0
  209. package/node_modules/@uiw/codemirror-theme-kimbie/cjs/color.d.ts +25 -0
  210. package/node_modules/@uiw/codemirror-theme-kimbie/cjs/color.js +31 -0
  211. package/node_modules/@uiw/codemirror-theme-kimbie/cjs/index.d.ts +5 -0
  212. package/node_modules/@uiw/codemirror-theme-kimbie/cjs/index.js +103 -0
  213. package/node_modules/@uiw/codemirror-theme-kimbie/cjs/package.json +1 -0
  214. package/node_modules/@uiw/codemirror-theme-kimbie/esm/color.d.ts +25 -0
  215. package/node_modules/@uiw/codemirror-theme-kimbie/esm/color.js +25 -0
  216. package/node_modules/@uiw/codemirror-theme-kimbie/esm/index.d.ts +5 -0
  217. package/node_modules/@uiw/codemirror-theme-kimbie/esm/index.js +93 -0
  218. package/node_modules/@uiw/codemirror-theme-kimbie/esm/package.json +1 -0
  219. package/node_modules/@uiw/codemirror-theme-kimbie/package.json +45 -0
  220. package/node_modules/@uiw/codemirror-theme-kimbie/src/color.ts +25 -0
  221. package/node_modules/@uiw/codemirror-theme-kimbie/src/index.ts +52 -0
  222. package/node_modules/@uiw/codemirror-theme-material/README.md +161 -0
  223. package/node_modules/@uiw/codemirror-theme-material/cjs/index.d.ts +12 -0
  224. package/node_modules/@uiw/codemirror-theme-material/cjs/index.js +247 -0
  225. package/node_modules/@uiw/codemirror-theme-material/cjs/package.json +1 -0
  226. package/node_modules/@uiw/codemirror-theme-material/esm/index.d.ts +12 -0
  227. package/node_modules/@uiw/codemirror-theme-material/esm/index.js +235 -0
  228. package/node_modules/@uiw/codemirror-theme-material/esm/package.json +1 -0
  229. package/node_modules/@uiw/codemirror-theme-material/package.json +50 -0
  230. package/node_modules/@uiw/codemirror-theme-material/src/index.ts +129 -0
  231. package/node_modules/@uiw/codemirror-theme-monokai/README.md +149 -0
  232. package/node_modules/@uiw/codemirror-theme-monokai/cjs/color.d.ts +25 -0
  233. package/node_modules/@uiw/codemirror-theme-monokai/cjs/color.js +31 -0
  234. package/node_modules/@uiw/codemirror-theme-monokai/cjs/index.d.ts +5 -0
  235. package/node_modules/@uiw/codemirror-theme-monokai/cjs/index.js +103 -0
  236. package/node_modules/@uiw/codemirror-theme-monokai/cjs/package.json +1 -0
  237. package/node_modules/@uiw/codemirror-theme-monokai/esm/color.d.ts +25 -0
  238. package/node_modules/@uiw/codemirror-theme-monokai/esm/color.js +25 -0
  239. package/node_modules/@uiw/codemirror-theme-monokai/esm/index.d.ts +5 -0
  240. package/node_modules/@uiw/codemirror-theme-monokai/esm/index.js +93 -0
  241. package/node_modules/@uiw/codemirror-theme-monokai/esm/package.json +1 -0
  242. package/node_modules/@uiw/codemirror-theme-monokai/package.json +45 -0
  243. package/node_modules/@uiw/codemirror-theme-monokai/src/color.ts +25 -0
  244. package/node_modules/@uiw/codemirror-theme-monokai/src/index.ts +52 -0
  245. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/README.md +151 -0
  246. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/cjs/color.d.ts +25 -0
  247. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/cjs/color.js +31 -0
  248. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/cjs/index.d.ts +5 -0
  249. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/cjs/index.js +103 -0
  250. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/cjs/package.json +1 -0
  251. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/color.d.ts +25 -0
  252. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/color.js +25 -0
  253. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/index.d.ts +5 -0
  254. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/index.js +93 -0
  255. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/package.json +1 -0
  256. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/package.json +46 -0
  257. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/src/color.ts +25 -0
  258. package/node_modules/@uiw/codemirror-theme-monokai-dimmed/src/index.ts +52 -0
  259. package/node_modules/@uiw/codemirror-theme-noctis-lilac/README.md +149 -0
  260. package/node_modules/@uiw/codemirror-theme-noctis-lilac/cjs/index.d.ts +5 -0
  261. package/node_modules/@uiw/codemirror-theme-noctis-lilac/cjs/index.js +83 -0
  262. package/node_modules/@uiw/codemirror-theme-noctis-lilac/cjs/package.json +1 -0
  263. package/node_modules/@uiw/codemirror-theme-noctis-lilac/esm/index.d.ts +5 -0
  264. package/node_modules/@uiw/codemirror-theme-noctis-lilac/esm/index.js +73 -0
  265. package/node_modules/@uiw/codemirror-theme-noctis-lilac/esm/package.json +1 -0
  266. package/node_modules/@uiw/codemirror-theme-noctis-lilac/package.json +50 -0
  267. package/node_modules/@uiw/codemirror-theme-noctis-lilac/src/index.ts +49 -0
  268. package/node_modules/@uiw/codemirror-theme-nord/README.md +149 -0
  269. package/node_modules/@uiw/codemirror-theme-nord/cjs/index.d.ts +5 -0
  270. package/node_modules/@uiw/codemirror-theme-nord/cjs/index.js +159 -0
  271. package/node_modules/@uiw/codemirror-theme-nord/cjs/package.json +1 -0
  272. package/node_modules/@uiw/codemirror-theme-nord/esm/index.d.ts +5 -0
  273. package/node_modules/@uiw/codemirror-theme-nord/esm/index.js +149 -0
  274. package/node_modules/@uiw/codemirror-theme-nord/esm/package.json +1 -0
  275. package/node_modules/@uiw/codemirror-theme-nord/package.json +50 -0
  276. package/node_modules/@uiw/codemirror-theme-nord/src/index.ts +77 -0
  277. package/node_modules/@uiw/codemirror-theme-okaidia/README.md +147 -0
  278. package/node_modules/@uiw/codemirror-theme-okaidia/cjs/index.d.ts +5 -0
  279. package/node_modules/@uiw/codemirror-theme-okaidia/cjs/index.js +69 -0
  280. package/node_modules/@uiw/codemirror-theme-okaidia/cjs/package.json +1 -0
  281. package/node_modules/@uiw/codemirror-theme-okaidia/esm/index.d.ts +5 -0
  282. package/node_modules/@uiw/codemirror-theme-okaidia/esm/index.js +59 -0
  283. package/node_modules/@uiw/codemirror-theme-okaidia/esm/package.json +1 -0
  284. package/node_modules/@uiw/codemirror-theme-okaidia/package.json +50 -0
  285. package/node_modules/@uiw/codemirror-theme-okaidia/src/index.ts +41 -0
  286. package/node_modules/@uiw/codemirror-theme-quietlight/README.md +149 -0
  287. package/node_modules/@uiw/codemirror-theme-quietlight/cjs/color.d.ts +25 -0
  288. package/node_modules/@uiw/codemirror-theme-quietlight/cjs/color.js +31 -0
  289. package/node_modules/@uiw/codemirror-theme-quietlight/cjs/index.d.ts +5 -0
  290. package/node_modules/@uiw/codemirror-theme-quietlight/cjs/index.js +104 -0
  291. package/node_modules/@uiw/codemirror-theme-quietlight/cjs/package.json +1 -0
  292. package/node_modules/@uiw/codemirror-theme-quietlight/esm/color.d.ts +25 -0
  293. package/node_modules/@uiw/codemirror-theme-quietlight/esm/color.js +25 -0
  294. package/node_modules/@uiw/codemirror-theme-quietlight/esm/index.d.ts +5 -0
  295. package/node_modules/@uiw/codemirror-theme-quietlight/esm/index.js +94 -0
  296. package/node_modules/@uiw/codemirror-theme-quietlight/esm/package.json +1 -0
  297. package/node_modules/@uiw/codemirror-theme-quietlight/package.json +45 -0
  298. package/node_modules/@uiw/codemirror-theme-quietlight/src/color.ts +25 -0
  299. package/node_modules/@uiw/codemirror-theme-quietlight/src/index.ts +53 -0
  300. package/node_modules/@uiw/codemirror-theme-red/README.md +149 -0
  301. package/node_modules/@uiw/codemirror-theme-red/cjs/color.d.ts +25 -0
  302. package/node_modules/@uiw/codemirror-theme-red/cjs/color.js +31 -0
  303. package/node_modules/@uiw/codemirror-theme-red/cjs/index.d.ts +5 -0
  304. package/node_modules/@uiw/codemirror-theme-red/cjs/index.js +103 -0
  305. package/node_modules/@uiw/codemirror-theme-red/cjs/package.json +1 -0
  306. package/node_modules/@uiw/codemirror-theme-red/esm/color.d.ts +25 -0
  307. package/node_modules/@uiw/codemirror-theme-red/esm/color.js +25 -0
  308. package/node_modules/@uiw/codemirror-theme-red/esm/index.d.ts +5 -0
  309. package/node_modules/@uiw/codemirror-theme-red/esm/index.js +93 -0
  310. package/node_modules/@uiw/codemirror-theme-red/esm/package.json +1 -0
  311. package/node_modules/@uiw/codemirror-theme-red/package.json +45 -0
  312. package/node_modules/@uiw/codemirror-theme-red/src/color.ts +25 -0
  313. package/node_modules/@uiw/codemirror-theme-red/src/index.ts +52 -0
  314. package/node_modules/@uiw/codemirror-theme-solarized/README.md +160 -0
  315. package/node_modules/@uiw/codemirror-theme-solarized/cjs/dark-color.d.ts +26 -0
  316. package/node_modules/@uiw/codemirror-theme-solarized/cjs/dark-color.js +32 -0
  317. package/node_modules/@uiw/codemirror-theme-solarized/cjs/dark.d.ts +5 -0
  318. package/node_modules/@uiw/codemirror-theme-solarized/cjs/dark.js +104 -0
  319. package/node_modules/@uiw/codemirror-theme-solarized/cjs/index.d.ts +2 -0
  320. package/node_modules/@uiw/codemirror-theme-solarized/cjs/index.js +27 -0
  321. package/node_modules/@uiw/codemirror-theme-solarized/cjs/light-color.d.ts +26 -0
  322. package/node_modules/@uiw/codemirror-theme-solarized/cjs/light-color.js +32 -0
  323. package/node_modules/@uiw/codemirror-theme-solarized/cjs/light.d.ts +5 -0
  324. package/node_modules/@uiw/codemirror-theme-solarized/cjs/light.js +104 -0
  325. package/node_modules/@uiw/codemirror-theme-solarized/cjs/package.json +1 -0
  326. package/node_modules/@uiw/codemirror-theme-solarized/dark.d.ts +6 -0
  327. package/node_modules/@uiw/codemirror-theme-solarized/esm/dark-color.d.ts +26 -0
  328. package/node_modules/@uiw/codemirror-theme-solarized/esm/dark-color.js +26 -0
  329. package/node_modules/@uiw/codemirror-theme-solarized/esm/dark.d.ts +5 -0
  330. package/node_modules/@uiw/codemirror-theme-solarized/esm/dark.js +94 -0
  331. package/node_modules/@uiw/codemirror-theme-solarized/esm/index.d.ts +2 -0
  332. package/node_modules/@uiw/codemirror-theme-solarized/esm/index.js +2 -0
  333. package/node_modules/@uiw/codemirror-theme-solarized/esm/light-color.d.ts +26 -0
  334. package/node_modules/@uiw/codemirror-theme-solarized/esm/light-color.js +26 -0
  335. package/node_modules/@uiw/codemirror-theme-solarized/esm/light.d.ts +5 -0
  336. package/node_modules/@uiw/codemirror-theme-solarized/esm/light.js +94 -0
  337. package/node_modules/@uiw/codemirror-theme-solarized/esm/package.json +1 -0
  338. package/node_modules/@uiw/codemirror-theme-solarized/light.d.ts +6 -0
  339. package/node_modules/@uiw/codemirror-theme-solarized/package.json +63 -0
  340. package/node_modules/@uiw/codemirror-theme-solarized/src/dark-color.ts +26 -0
  341. package/node_modules/@uiw/codemirror-theme-solarized/src/dark.ts +53 -0
  342. package/node_modules/@uiw/codemirror-theme-solarized/src/index.ts +2 -0
  343. package/node_modules/@uiw/codemirror-theme-solarized/src/light-color.ts +26 -0
  344. package/node_modules/@uiw/codemirror-theme-solarized/src/light.ts +53 -0
  345. package/node_modules/@uiw/codemirror-theme-sublime/README.md +147 -0
  346. package/node_modules/@uiw/codemirror-theme-sublime/cjs/index.d.ts +5 -0
  347. package/node_modules/@uiw/codemirror-theme-sublime/cjs/index.js +73 -0
  348. package/node_modules/@uiw/codemirror-theme-sublime/cjs/package.json +1 -0
  349. package/node_modules/@uiw/codemirror-theme-sublime/esm/index.d.ts +5 -0
  350. package/node_modules/@uiw/codemirror-theme-sublime/esm/index.js +62 -0
  351. package/node_modules/@uiw/codemirror-theme-sublime/esm/package.json +1 -0
  352. package/node_modules/@uiw/codemirror-theme-sublime/package.json +50 -0
  353. package/node_modules/@uiw/codemirror-theme-sublime/src/index.ts +42 -0
  354. package/node_modules/@uiw/codemirror-theme-tokyo-night/README.md +151 -0
  355. package/node_modules/@uiw/codemirror-theme-tokyo-night/cjs/index.d.ts +5 -0
  356. package/node_modules/@uiw/codemirror-theme-tokyo-night/cjs/index.js +99 -0
  357. package/node_modules/@uiw/codemirror-theme-tokyo-night/cjs/package.json +1 -0
  358. package/node_modules/@uiw/codemirror-theme-tokyo-night/esm/index.d.ts +5 -0
  359. package/node_modules/@uiw/codemirror-theme-tokyo-night/esm/index.js +89 -0
  360. package/node_modules/@uiw/codemirror-theme-tokyo-night/esm/package.json +1 -0
  361. package/node_modules/@uiw/codemirror-theme-tokyo-night/package.json +50 -0
  362. package/node_modules/@uiw/codemirror-theme-tokyo-night/src/index.ts +51 -0
  363. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/README.md +153 -0
  364. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/cjs/index.d.ts +5 -0
  365. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/cjs/index.js +100 -0
  366. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/cjs/package.json +1 -0
  367. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/esm/index.d.ts +5 -0
  368. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/esm/index.js +90 -0
  369. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/esm/package.json +1 -0
  370. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/package.json +51 -0
  371. package/node_modules/@uiw/codemirror-theme-tokyo-night-day/src/index.ts +51 -0
  372. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/README.md +153 -0
  373. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/cjs/index.d.ts +5 -0
  374. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/cjs/index.js +100 -0
  375. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/cjs/package.json +1 -0
  376. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/esm/index.d.ts +5 -0
  377. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/esm/index.js +90 -0
  378. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/esm/package.json +1 -0
  379. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/package.json +51 -0
  380. package/node_modules/@uiw/codemirror-theme-tokyo-night-storm/src/index.ts +51 -0
  381. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/README.md +151 -0
  382. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/cjs/color.d.ts +25 -0
  383. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/cjs/color.js +31 -0
  384. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/cjs/index.d.ts +5 -0
  385. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/cjs/index.js +103 -0
  386. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/cjs/package.json +1 -0
  387. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/color.d.ts +25 -0
  388. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/color.js +25 -0
  389. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/index.d.ts +5 -0
  390. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/index.js +93 -0
  391. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/package.json +1 -0
  392. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/package.json +45 -0
  393. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/src/color.ts +25 -0
  394. package/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/src/index.ts +52 -0
  395. package/node_modules/@uiw/codemirror-theme-vscode/README.md +161 -0
  396. package/node_modules/@uiw/codemirror-theme-vscode/cjs/dark.d.ts +5 -0
  397. package/node_modules/@uiw/codemirror-theme-vscode/cjs/dark.js +98 -0
  398. package/node_modules/@uiw/codemirror-theme-vscode/cjs/index.d.ts +2 -0
  399. package/node_modules/@uiw/codemirror-theme-vscode/cjs/index.js +27 -0
  400. package/node_modules/@uiw/codemirror-theme-vscode/cjs/light.d.ts +5 -0
  401. package/node_modules/@uiw/codemirror-theme-vscode/cjs/light.js +98 -0
  402. package/node_modules/@uiw/codemirror-theme-vscode/cjs/package.json +1 -0
  403. package/node_modules/@uiw/codemirror-theme-vscode/esm/dark.d.ts +5 -0
  404. package/node_modules/@uiw/codemirror-theme-vscode/esm/dark.js +85 -0
  405. package/node_modules/@uiw/codemirror-theme-vscode/esm/index.d.ts +2 -0
  406. package/node_modules/@uiw/codemirror-theme-vscode/esm/index.js +2 -0
  407. package/node_modules/@uiw/codemirror-theme-vscode/esm/light.d.ts +5 -0
  408. package/node_modules/@uiw/codemirror-theme-vscode/esm/light.js +85 -0
  409. package/node_modules/@uiw/codemirror-theme-vscode/esm/package.json +1 -0
  410. package/node_modules/@uiw/codemirror-theme-vscode/package.json +44 -0
  411. package/node_modules/@uiw/codemirror-theme-vscode/src/dark.ts +82 -0
  412. package/node_modules/@uiw/codemirror-theme-vscode/src/index.ts +2 -0
  413. package/node_modules/@uiw/codemirror-theme-vscode/src/light.ts +82 -0
  414. package/node_modules/@uiw/codemirror-theme-white/README.md +160 -0
  415. package/node_modules/@uiw/codemirror-theme-white/cjs/dark-color.d.ts +26 -0
  416. package/node_modules/@uiw/codemirror-theme-white/cjs/dark-color.js +32 -0
  417. package/node_modules/@uiw/codemirror-theme-white/cjs/dark.d.ts +5 -0
  418. package/node_modules/@uiw/codemirror-theme-white/cjs/dark.js +110 -0
  419. package/node_modules/@uiw/codemirror-theme-white/cjs/index.d.ts +2 -0
  420. package/node_modules/@uiw/codemirror-theme-white/cjs/index.js +27 -0
  421. package/node_modules/@uiw/codemirror-theme-white/cjs/light-color.d.ts +26 -0
  422. package/node_modules/@uiw/codemirror-theme-white/cjs/light-color.js +32 -0
  423. package/node_modules/@uiw/codemirror-theme-white/cjs/light.d.ts +5 -0
  424. package/node_modules/@uiw/codemirror-theme-white/cjs/light.js +110 -0
  425. package/node_modules/@uiw/codemirror-theme-white/cjs/package.json +1 -0
  426. package/node_modules/@uiw/codemirror-theme-white/esm/dark-color.d.ts +26 -0
  427. package/node_modules/@uiw/codemirror-theme-white/esm/dark-color.js +26 -0
  428. package/node_modules/@uiw/codemirror-theme-white/esm/dark.d.ts +5 -0
  429. package/node_modules/@uiw/codemirror-theme-white/esm/dark.js +100 -0
  430. package/node_modules/@uiw/codemirror-theme-white/esm/index.d.ts +2 -0
  431. package/node_modules/@uiw/codemirror-theme-white/esm/index.js +2 -0
  432. package/node_modules/@uiw/codemirror-theme-white/esm/light-color.d.ts +26 -0
  433. package/node_modules/@uiw/codemirror-theme-white/esm/light-color.js +26 -0
  434. package/node_modules/@uiw/codemirror-theme-white/esm/light.d.ts +5 -0
  435. package/node_modules/@uiw/codemirror-theme-white/esm/light.js +100 -0
  436. package/node_modules/@uiw/codemirror-theme-white/esm/package.json +1 -0
  437. package/node_modules/@uiw/codemirror-theme-white/package.json +56 -0
  438. package/node_modules/@uiw/codemirror-theme-white/src/dark-color.ts +26 -0
  439. package/node_modules/@uiw/codemirror-theme-white/src/dark.ts +57 -0
  440. package/node_modules/@uiw/codemirror-theme-white/src/index.ts +2 -0
  441. package/node_modules/@uiw/codemirror-theme-white/src/light-color.ts +26 -0
  442. package/node_modules/@uiw/codemirror-theme-white/src/light.ts +57 -0
  443. package/node_modules/@uiw/codemirror-theme-xcode/README.md +154 -0
  444. package/node_modules/@uiw/codemirror-theme-xcode/cjs/index.d.ts +9 -0
  445. package/node_modules/@uiw/codemirror-theme-xcode/cjs/index.js +119 -0
  446. package/node_modules/@uiw/codemirror-theme-xcode/cjs/package.json +1 -0
  447. package/node_modules/@uiw/codemirror-theme-xcode/esm/index.d.ts +9 -0
  448. package/node_modules/@uiw/codemirror-theme-xcode/esm/index.js +104 -0
  449. package/node_modules/@uiw/codemirror-theme-xcode/esm/package.json +1 -0
  450. package/node_modules/@uiw/codemirror-theme-xcode/package.json +44 -0
  451. package/node_modules/@uiw/codemirror-theme-xcode/src/index.ts +75 -0
  452. package/node_modules/@uiw/codemirror-themes/README.md +391 -0
  453. package/node_modules/@uiw/codemirror-themes/cjs/index.d.ts +46 -0
  454. package/node_modules/@uiw/codemirror-themes/cjs/index.js +84 -0
  455. package/node_modules/@uiw/codemirror-themes/cjs/package.json +1 -0
  456. package/node_modules/@uiw/codemirror-themes/esm/index.d.ts +46 -0
  457. package/node_modules/@uiw/codemirror-themes/esm/index.js +78 -0
  458. package/node_modules/@uiw/codemirror-themes/esm/package.json +1 -0
  459. package/node_modules/@uiw/codemirror-themes/package.json +56 -0
  460. package/node_modules/@uiw/codemirror-themes/src/index.tsx +128 -0
  461. package/node_modules/@uiw/codemirror-themes-all/README.md +406 -0
  462. package/node_modules/@uiw/codemirror-themes-all/cjs/index.d.ts +35 -0
  463. package/node_modules/@uiw/codemirror-themes-all/cjs/index.js +390 -0
  464. package/node_modules/@uiw/codemirror-themes-all/cjs/package.json +1 -0
  465. package/node_modules/@uiw/codemirror-themes-all/esm/index.d.ts +35 -0
  466. package/node_modules/@uiw/codemirror-themes-all/esm/index.js +35 -0
  467. package/node_modules/@uiw/codemirror-themes-all/esm/package.json +1 -0
  468. package/node_modules/@uiw/codemirror-themes-all/package.json +86 -0
  469. package/node_modules/@uiw/codemirror-themes-all/src/index.ts +35 -0
  470. package/package.json +1 -1
  471. package/packages/cli/package.json +1 -1
  472. package/packages/daemon/package.json +1 -1
  473. package/packages/daemon/src/adaptive.js +26 -16
  474. package/packages/daemon/src/journalist.js +62 -24
  475. package/packages/daemon/src/model-lab.js +6 -5
  476. package/packages/daemon/src/rotator.js +5 -7
  477. package/{node_modules/@groove-dev/gui/dist/assets/codemirror-DRQdprYi.js → packages/gui/dist/assets/codemirror-BYKpdS2W.js} +1 -1
  478. package/{node_modules/@groove-dev/gui/dist/assets/index-BrZHF7pK.js → packages/gui/dist/assets/index-DcNgRadn.js} +1764 -1764
  479. package/packages/gui/dist/assets/index-EY6WfKWH.css +1 -0
  480. package/packages/gui/dist/index.html +3 -3
  481. package/packages/gui/package.json +2 -1
  482. package/packages/gui/src/components/editor/code-editor.jsx +81 -63
  483. package/packages/gui/src/components/editor/editor-status-bar.jsx +66 -0
  484. package/packages/gui/src/components/lab/system-prompt-editor.jsx +21 -24
  485. package/packages/gui/src/stores/groove.js +5 -0
  486. package/model-workspace/LAB-ASSISTANT-BUILD-PLAN.md +0 -341
  487. package/node_modules/@groove-dev/gui/dist/assets/index-DIfiwdKl.css +0 -1
  488. package/packages/gui/dist/assets/index-DIfiwdKl.css +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/cli",
3
- "version": "0.27.137",
3
+ "version": "0.27.138",
4
4
  "description": "GROOVE CLI — manage AI coding agents from your terminal",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/daemon",
3
- "version": "0.27.137",
3
+ "version": "0.27.138",
4
4
  "description": "GROOVE daemon — agent orchestration engine",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -98,15 +98,21 @@ export class AdaptiveThresholds {
98
98
  return { score, threshold: newThreshold, converged: profile.converged };
99
99
  }
100
100
 
101
- scoreSession(signals) {
101
+ scoreSession(signals, options = {}) {
102
102
  // Score 0-100 based on quality signals.
103
103
  // Low score → rotate sooner (threshold decreases)
104
104
  // High score → allow more context (threshold increases)
105
+ //
106
+ // Self-managing providers (Claude Code) get reduced penalties because
107
+ // their normal debugging patterns — polling, retrying commands, hitting
108
+ // errors during investigation — look identical to degradation signals
109
+ // but are expected productive behavior.
110
+ const selfManages = options.selfManagesContext ?? false;
105
111
  let score = 70; // Baseline: decent session
106
112
 
107
- // Error rate: each error costs 5 points
113
+ // Error rate: -5 per error normally, -2 for self-managing (errors during debugging are expected)
108
114
  const errorCount = signals.errorCount || 0;
109
- score -= errorCount * 5;
115
+ score -= errorCount * (selfManages ? 2 : 5);
110
116
 
111
117
  // Repetitions: 3+ Write/Edit to the same file in a sliding window
112
118
  const repetitions = signals.repetitions || 0;
@@ -121,7 +127,7 @@ export class AdaptiveThresholds {
121
127
  const toolFailures = signals.toolFailures || 0;
122
128
  if (toolCalls > 0) {
123
129
  const successRate = (toolCalls - toolFailures) / toolCalls;
124
- score += Math.round((successRate - 0.8) * 20);
130
+ score += Math.round((successRate - 0.8) * (selfManages ? 10 : 20));
125
131
  }
126
132
 
127
133
  // File churn: same file written 5+ times — genuine circular refactoring
@@ -130,26 +136,30 @@ export class AdaptiveThresholds {
130
136
 
131
137
  // Error trend: increasing errors in second half = degradation
132
138
  const errorTrend = signals.errorTrend || 0;
133
- if (errorTrend > 0) score -= errorTrend * 6; // getting worse
134
- if (errorTrend < 0) score += 3; // getting better (small bonus)
139
+ if (errorTrend > 0) score -= errorTrend * (selfManages ? 3 : 6);
140
+ if (errorTrend < 0) score += 3;
135
141
 
136
142
  // Files written: productivity signal
137
143
  const filesWritten = signals.filesWritten || 0;
138
144
  score += Math.min(filesWritten * 2, 10); // Cap at +10
139
145
 
140
- // Output length decay: assistant responses shrinking dramatically
141
- if (signals.outputLengthDecay) score -= 10;
146
+ // The following signals are skipped for self-managing providers because
147
+ // they're false positives during debugging:
148
+ // - outputLengthDecay: shorter responses = narrowing in on a problem
149
+ // - toolOutputVolume: reading logs/large files is expected
150
+ // - turnLatencyTrend: thinking longer about hard problems is fine
151
+ // - bashRepetition: polling (sleep + check) is a normal pattern
152
+ if (!selfManages) {
153
+ if (signals.outputLengthDecay) score -= 10;
142
154
 
143
- // Tool output volume: bloated context from large tool results
144
- const toolVol = signals.toolOutputVolume || 0;
145
- if (toolVol === 2) score -= 10;
146
- else if (toolVol === 1) score -= 5;
155
+ const toolVol = signals.toolOutputVolume || 0;
156
+ if (toolVol === 2) score -= 10;
157
+ else if (toolVol === 1) score -= 5;
147
158
 
148
- // Turn latency trend: agent slowing down significantly
149
- if (signals.turnLatencyTrend) score -= 5;
159
+ if (signals.turnLatencyTrend) score -= 5;
150
160
 
151
- // Bash repetition: agent stuck running identical commands
152
- if (signals.bashRepetition) score -= 8;
161
+ if (signals.bashRepetition) score -= 8;
162
+ }
153
163
 
154
164
  // Clamp to 0-100
155
165
  return Math.max(0, Math.min(100, score));
@@ -443,24 +443,47 @@ export class Journalist {
443
443
  `Scope: ${agent.scope?.join(', ') || 'unrestricted'}${dir}`,
444
444
  `Rotation reason: ${reason}`,
445
445
  '',
446
- 'Analyze the session log below and produce a structured handoff brief.',
446
+ 'Analyze the FULL session log below and produce a structured handoff brief.',
447
+ 'The next agent must be able to continue this work without repeating anything.',
447
448
  '',
448
449
  'Output EXACTLY these sections, in this priority order:',
449
450
  '',
451
+ '## Investigation Path',
452
+ '(Chronological narrative of what was explored and why. For each major step:',
453
+ ' what was tried, what the result was, and whether it was ruled out or remains viable.',
454
+ ' The next agent must know the full path taken to avoid retreading ground.)',
455
+ '',
456
+ '## Current State',
457
+ '(Where things stand right now. What is the current hypothesis or approach?',
458
+ ' What was the agent actively working on when rotated? What is the next step?)',
459
+ '',
460
+ '## What Was Ruled Out',
461
+ '(Approaches, files, or theories that were investigated and eliminated.',
462
+ ' Include WHY each was ruled out so the next agent does not retry them.)',
463
+ '',
464
+ '## Key Findings',
465
+ '(Important discoveries: root causes identified, relevant code locations,',
466
+ ' configuration details, error patterns, dependencies found. Name files,',
467
+ ' functions, and line numbers.)',
468
+ '',
450
469
  '## Unresolved Errors',
451
- '(What failed, what was tried, and what to avoid repeating.)',
470
+ '(Errors still occurring. Include exact error messages and context.)',
471
+ '',
472
+ '## User Messages',
473
+ '(EVERY message the user typed, verbatim or near-verbatim. These are critical —',
474
+ ' the user must never have to repeat themselves after a rotation. Include all',
475
+ ' instructions, questions, corrections, and context the user provided.)',
452
476
  '',
453
477
  '## User Constraints',
454
478
  '(Explicit user directives, must/never/avoid/use instructions.)',
455
479
  '',
456
- '## Last 5 Tool Calls',
480
+ '## Last 15 Tool Calls',
457
481
  '(Compact list of the most recent meaningful tool calls and outcomes.)',
458
482
  '',
459
- '## Accomplishments',
460
- '(What was completed. Name files, functions, and line numbers.)',
461
- '',
462
483
  'Be specific. Name files, functions, and line numbers. Do not summarize vaguely.',
463
- 'Keep your response under 1500 characters.',
484
+ 'Preserve the investigation narrative the next agent needs to understand the',
485
+ 'journey, not just the destination.',
486
+ 'Keep your response under 4000 characters.',
464
487
  '',
465
488
  '---',
466
489
  '',
@@ -469,8 +492,8 @@ export class Journalist {
469
492
  ];
470
493
 
471
494
  let totalChars = 0;
472
- const cap = 15_000;
473
- for (const entry of entries.slice(-200)) {
495
+ const cap = 40_000;
496
+ for (const entry of entries.slice(-500)) {
474
497
  const line = this.formatEntry(entry);
475
498
  if (totalChars + line.length > cap) break;
476
499
  parts.push(line);
@@ -861,7 +884,14 @@ export class Journalist {
861
884
  ? `- Quality profile: ${specialization.avgQualityScore}/100 across ${specialization.sessionCount} sessions`
862
885
  : '';
863
886
 
864
- const recentChain = this.daemon.memory?.getRecentHandoffMarkdown(agent.role, 1, 1500, agent.workingDir, agent.teamId) || '';
887
+ const recentChain = this.daemon.memory?.getRecentHandoffMarkdown(agent.role, 3, 3000, agent.workingDir, agent.teamId) || '';
888
+
889
+ // User messages from the session log — these are the actual things the user typed.
890
+ // They must always be preserved: if a user said it, the next agent needs to see it.
891
+ const userMessages = entries
892
+ .filter((e) => e.type === 'user' && e.text)
893
+ .map((e) => `- "${e.text.slice(0, 500)}"`)
894
+ .join('\n');
865
895
 
866
896
  const agentFeedback = this.getUserFeedback(agent.id).slice(-5);
867
897
  const conversationSummary = agentFeedback.length > 0
@@ -870,7 +900,7 @@ export class Journalist {
870
900
 
871
901
  const recentTools = entries
872
902
  .filter((e) => e.type === 'tool' || e.type === 'error')
873
- .slice(-5)
903
+ .slice(-15)
874
904
  .map((e) => `- ${e.type === 'error' ? 'ERROR ' : ''}${e.tool}: ${(e.input || e.text || '').slice(0, 200)}`)
875
905
  .join('\n');
876
906
 
@@ -907,24 +937,32 @@ export class Journalist {
907
937
 
908
938
  const fallbackRecentTools = entries
909
939
  .filter((e) => e.type === 'tool' || e.type === 'error')
910
- .slice(-5)
940
+ .slice(-15)
911
941
  .map((e) => `- ${e.type === 'error' ? 'ERROR ' : ''}${e.tool}: ${(e.input || '').slice(0, 200)}`)
912
942
  .join('\n');
913
943
 
944
+ // Build investigation timeline from thinking entries — these capture reasoning and decisions
945
+ const thinkingEntries = entries
946
+ .filter((e) => e.type === 'thinking' && e.text && e.text.length > 80)
947
+ .slice(-10)
948
+ .map((e) => `- ${e.text.slice(0, 400)}`)
949
+ .join('\n');
950
+
914
951
  const fallbackParts = [];
952
+ if (thinkingEntries) fallbackParts.push(`## Investigation Path\n\n${thinkingEntries}`);
915
953
  if (errorSummary) fallbackParts.push(`## Unresolved Errors\n\n${errorSummary}`);
916
- if (fallbackRecentTools) fallbackParts.push(`## Last 5 Tool Calls\n\n${fallbackRecentTools}`);
954
+ if (fallbackRecentTools) fallbackParts.push(`## Last 15 Tool Calls\n\n${fallbackRecentTools}`);
917
955
  if (fileChangesSummary) fallbackParts.push(`## Files Modified\n\n${fileChangesSummary}`);
918
956
  if (resultSummary) fallbackParts.push(`## Accomplishments\n\n${resultSummary}`);
919
957
  sessionSummary = fallbackParts.join('\n\n');
920
958
  }
921
959
 
922
- // For quality_degradation rotations, drop user messages (already in session summary)
923
- const includeUserMessages = options.reason !== 'quality_degradation';
924
-
925
960
  // Cap Original Task to 1000 chars — task descriptions for debugging can be long
926
961
  const originalTask = agent.prompt ? agent.prompt.slice(0, 1000) + (agent.prompt.length > 1000 ? '…' : '') : '';
927
962
 
963
+ // Combine user messages from session log and feedback API — never drop these
964
+ const allUserMessages = [userMessages, conversationSummary].filter(Boolean).join('\n');
965
+
928
966
  let brief = [
929
967
  `# Handoff Brief — ${agent.name} (${agent.role})`,
930
968
  ``,
@@ -933,14 +971,14 @@ export class Journalist {
933
971
  `Rotation: ${options.reason || 'manual'}${options.qualityScore ? ` (quality: ${options.qualityScore}/100)` : ''} | Tokens: ${agent.tokensUsed}`,
934
972
  specLine,
935
973
  ``,
936
- // Priority order: session summary (contains unresolved errors) first,
937
- // then constraints, then discoveries, then tools so the most critical
938
- // debugging context survives even if the brief hits the hard cap.
974
+ // Priority order: session summary first, then user messages (never drop
975
+ // if the user typed it, the next agent must see it), then constraints,
976
+ // then discoveries, then tools. Most critical context survives truncation.
939
977
  sessionSummary ? `## Session Summary\n\n${sessionSummary}\n` : '',
978
+ allUserMessages ? `## User Messages (do not ask user to repeat these)\n\n${allUserMessages}\n` : '',
940
979
  constraints ? `## Project Constraints (must follow)\n\n${constraints}\n` : '',
941
980
  discoveries ? `## Known Issues & Fixes\n\n${discoveries}\n` : '',
942
- recentTools ? `## Last 5 Tool Calls\n\n${recentTools}\n` : '',
943
- includeUserMessages && conversationSummary ? `## Recent User Messages\n\n${conversationSummary}\n` : '',
981
+ recentTools ? `## Last 15 Tool Calls\n\n${recentTools}\n` : '',
944
982
  recentChain ? `## Rotation History\n\n${recentChain}\n` : '',
945
983
  originalTask ? `## Original Task\n\n${originalTask}\n` : '',
946
984
  ``,
@@ -948,9 +986,9 @@ export class Journalist {
948
986
  `Continue seamlessly — finish the work and deliver the output.`,
949
987
  ].filter(Boolean).join('\n');
950
988
 
951
- // Hard cap: 8000 chars — enough for debugging context without overwhelming the new agent
952
- if (brief.length > 8000) {
953
- brief = brief.slice(0, 7950) + '\n\n[Brief truncated — see session logs for full context]';
989
+ // Hard cap: 16000 chars — investigation context needs room to preserve the full narrative
990
+ if (brief.length > 16000) {
991
+ brief = brief.slice(0, 15950) + '\n\n[Brief truncated — see session logs for full context]';
954
992
  }
955
993
 
956
994
  return brief;
@@ -4,8 +4,6 @@
4
4
  import { resolve } from 'path';
5
5
  import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, unlinkSync } from 'fs';
6
6
  import { randomUUID } from 'crypto';
7
- import { Readable } from 'stream';
8
-
9
7
  const RUNTIME_TYPES = ['ollama', 'vllm', 'llama-cpp', 'tgi', 'openai-compatible'];
10
8
  const DEFAULT_OLLAMA_ENDPOINT = 'http://localhost:11434';
11
9
 
@@ -249,11 +247,14 @@ export class ModelLab {
249
247
  throw new Error(errMsg);
250
248
  }
251
249
 
252
- const nodeStream = Readable.fromWeb(resp.body);
250
+ const reader = resp.body.getReader();
251
+ const decoder = new TextDecoder();
253
252
  let buffer = '';
254
253
 
255
- for await (const chunk of nodeStream) {
256
- buffer += typeof chunk === 'string' ? chunk : chunk.toString('utf8');
254
+ while (true) {
255
+ const { done, value } = await reader.read();
256
+ if (done) break;
257
+ buffer += decoder.decode(value, { stream: true });
257
258
  const lines = buffer.split('\n');
258
259
  buffer = lines.pop() || '';
259
260
 
@@ -145,15 +145,12 @@ export class Rotator extends EventEmitter {
145
145
  }
146
146
 
147
147
  const signals = signalsEarly;
148
- let score = this.daemon.adaptive.scoreSession(signals);
148
+ const providerForScore = getProvider(agent.provider);
149
+ const selfManages = providerForScore?.constructor?.managesOwnContext ?? false;
150
+ let score = this.daemon.adaptive.scoreSession(signals, { selfManagesContext: selfManages });
149
151
 
150
152
  // Age penalties: only for providers that don't manage their own context.
151
- // Claude Code handles context internally via compaction — long sessions
152
- // are normal and productive. Penalizing age causes premature rotation
153
- // that destroys active debugging context and creates restart loops.
154
- const providerForAge = getProvider(agent.provider);
155
- const selfManagesForAge = providerForAge?.constructor?.managesOwnContext ?? false;
156
- if (!selfManagesForAge) {
153
+ if (!selfManages) {
157
154
  if (ageSec > 1800) score -= 5;
158
155
  if (ageSec > 3600) score -= 10;
159
156
  if (ageSec > 7200) score -= 15;
@@ -385,6 +382,7 @@ export class Rotator extends EventEmitter {
385
382
  contextUsage: agent.contextUsage,
386
383
  reason: options.reason || 'manual',
387
384
  qualityScore: options.qualityScore || null,
385
+ qualitySignals: options.signals || null,
388
386
  timestamp: new Date().toISOString(),
389
387
  };
390
388