@vaclav-synacek/pi-coding-agent-termux 0.45.7

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 (478) hide show
  1. package/CHANGELOG.md +1961 -0
  2. package/README.md +1392 -0
  3. package/dist/cli/args.d.ts +42 -0
  4. package/dist/cli/args.d.ts.map +1 -0
  5. package/dist/cli/args.js +248 -0
  6. package/dist/cli/args.js.map +1 -0
  7. package/dist/cli/file-processor.d.ts +15 -0
  8. package/dist/cli/file-processor.d.ts.map +1 -0
  9. package/dist/cli/file-processor.js +79 -0
  10. package/dist/cli/file-processor.js.map +1 -0
  11. package/dist/cli/list-models.d.ts +9 -0
  12. package/dist/cli/list-models.d.ts.map +1 -0
  13. package/dist/cli/list-models.js +92 -0
  14. package/dist/cli/list-models.js.map +1 -0
  15. package/dist/cli/session-picker.d.ts +9 -0
  16. package/dist/cli/session-picker.d.ts.map +1 -0
  17. package/dist/cli/session-picker.js +32 -0
  18. package/dist/cli/session-picker.js.map +1 -0
  19. package/dist/cli.d.ts +3 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +10 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/config.d.ts +61 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +141 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/core/agent-session.d.ts +523 -0
  28. package/dist/core/agent-session.d.ts.map +1 -0
  29. package/dist/core/agent-session.js +1795 -0
  30. package/dist/core/agent-session.js.map +1 -0
  31. package/dist/core/auth-storage.d.ts +112 -0
  32. package/dist/core/auth-storage.d.ts.map +1 -0
  33. package/dist/core/auth-storage.js +297 -0
  34. package/dist/core/auth-storage.js.map +1 -0
  35. package/dist/core/bash-executor.d.ts +47 -0
  36. package/dist/core/bash-executor.d.ts.map +1 -0
  37. package/dist/core/bash-executor.js +211 -0
  38. package/dist/core/bash-executor.js.map +1 -0
  39. package/dist/core/compaction/branch-summarization.d.ts +84 -0
  40. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  41. package/dist/core/compaction/branch-summarization.js +235 -0
  42. package/dist/core/compaction/branch-summarization.js.map +1 -0
  43. package/dist/core/compaction/compaction.d.ts +110 -0
  44. package/dist/core/compaction/compaction.d.ts.map +1 -0
  45. package/dist/core/compaction/compaction.js +559 -0
  46. package/dist/core/compaction/compaction.js.map +1 -0
  47. package/dist/core/compaction/index.d.ts +7 -0
  48. package/dist/core/compaction/index.d.ts.map +1 -0
  49. package/dist/core/compaction/index.js +7 -0
  50. package/dist/core/compaction/index.js.map +1 -0
  51. package/dist/core/compaction/utils.d.ts +35 -0
  52. package/dist/core/compaction/utils.d.ts.map +1 -0
  53. package/dist/core/compaction/utils.js +138 -0
  54. package/dist/core/compaction/utils.js.map +1 -0
  55. package/dist/core/event-bus.d.ts +9 -0
  56. package/dist/core/event-bus.d.ts.map +1 -0
  57. package/dist/core/event-bus.js +25 -0
  58. package/dist/core/event-bus.js.map +1 -0
  59. package/dist/core/exec.d.ts +29 -0
  60. package/dist/core/exec.d.ts.map +1 -0
  61. package/dist/core/exec.js +71 -0
  62. package/dist/core/exec.js.map +1 -0
  63. package/dist/core/export-html/index.d.ts +17 -0
  64. package/dist/core/export-html/index.d.ts.map +1 -0
  65. package/dist/core/export-html/index.js +193 -0
  66. package/dist/core/export-html/index.js.map +1 -0
  67. package/dist/core/export-html/template.css +910 -0
  68. package/dist/core/export-html/template.html +54 -0
  69. package/dist/core/export-html/template.js +1329 -0
  70. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  71. package/dist/core/export-html/vendor/marked.min.js +6 -0
  72. package/dist/core/extensions/index.d.ts +10 -0
  73. package/dist/core/extensions/index.d.ts.map +1 -0
  74. package/dist/core/extensions/index.js +9 -0
  75. package/dist/core/extensions/index.js.map +1 -0
  76. package/dist/core/extensions/loader.d.ts +25 -0
  77. package/dist/core/extensions/loader.d.ts.map +1 -0
  78. package/dist/core/extensions/loader.js +383 -0
  79. package/dist/core/extensions/loader.js.map +1 -0
  80. package/dist/core/extensions/runner.d.ts +89 -0
  81. package/dist/core/extensions/runner.d.ts.map +1 -0
  82. package/dist/core/extensions/runner.js +406 -0
  83. package/dist/core/extensions/runner.js.map +1 -0
  84. package/dist/core/extensions/types.d.ts +654 -0
  85. package/dist/core/extensions/types.d.ts.map +1 -0
  86. package/dist/core/extensions/types.js +32 -0
  87. package/dist/core/extensions/types.js.map +1 -0
  88. package/dist/core/extensions/wrapper.d.ts +27 -0
  89. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  90. package/dist/core/extensions/wrapper.js +102 -0
  91. package/dist/core/extensions/wrapper.js.map +1 -0
  92. package/dist/core/footer-data-provider.d.ts +25 -0
  93. package/dist/core/footer-data-provider.d.ts.map +1 -0
  94. package/dist/core/footer-data-provider.js +121 -0
  95. package/dist/core/footer-data-provider.js.map +1 -0
  96. package/dist/core/index.d.ts +9 -0
  97. package/dist/core/index.d.ts.map +1 -0
  98. package/dist/core/index.js +9 -0
  99. package/dist/core/index.js.map +1 -0
  100. package/dist/core/keybindings.d.ts +59 -0
  101. package/dist/core/keybindings.d.ts.map +1 -0
  102. package/dist/core/keybindings.js +151 -0
  103. package/dist/core/keybindings.js.map +1 -0
  104. package/dist/core/messages.d.ts +77 -0
  105. package/dist/core/messages.d.ts.map +1 -0
  106. package/dist/core/messages.js +123 -0
  107. package/dist/core/messages.js.map +1 -0
  108. package/dist/core/model-registry.d.ts +57 -0
  109. package/dist/core/model-registry.d.ts.map +1 -0
  110. package/dist/core/model-registry.js +314 -0
  111. package/dist/core/model-registry.js.map +1 -0
  112. package/dist/core/model-resolver.d.ts +76 -0
  113. package/dist/core/model-resolver.d.ts.map +1 -0
  114. package/dist/core/model-resolver.js +308 -0
  115. package/dist/core/model-resolver.js.map +1 -0
  116. package/dist/core/prompt-templates.d.ts +40 -0
  117. package/dist/core/prompt-templates.d.ts.map +1 -0
  118. package/dist/core/prompt-templates.js +197 -0
  119. package/dist/core/prompt-templates.js.map +1 -0
  120. package/dist/core/sdk.d.ts +181 -0
  121. package/dist/core/sdk.d.ts.map +1 -0
  122. package/dist/core/sdk.js +466 -0
  123. package/dist/core/sdk.js.map +1 -0
  124. package/dist/core/session-manager.d.ts +313 -0
  125. package/dist/core/session-manager.d.ts.map +1 -0
  126. package/dist/core/session-manager.js +996 -0
  127. package/dist/core/session-manager.js.map +1 -0
  128. package/dist/core/settings-manager.d.ts +138 -0
  129. package/dist/core/settings-manager.d.ts.map +1 -0
  130. package/dist/core/settings-manager.js +327 -0
  131. package/dist/core/settings-manager.js.map +1 -0
  132. package/dist/core/skills.d.ts +50 -0
  133. package/dist/core/skills.d.ts.map +1 -0
  134. package/dist/core/skills.js +338 -0
  135. package/dist/core/skills.js.map +1 -0
  136. package/dist/core/system-prompt.d.ts +48 -0
  137. package/dist/core/system-prompt.d.ts.map +1 -0
  138. package/dist/core/system-prompt.js +224 -0
  139. package/dist/core/system-prompt.js.map +1 -0
  140. package/dist/core/timings.d.ts +7 -0
  141. package/dist/core/timings.d.ts.map +1 -0
  142. package/dist/core/timings.js +25 -0
  143. package/dist/core/timings.js.map +1 -0
  144. package/dist/core/tools/bash.d.ts +42 -0
  145. package/dist/core/tools/bash.d.ts.map +1 -0
  146. package/dist/core/tools/bash.js +223 -0
  147. package/dist/core/tools/bash.js.map +1 -0
  148. package/dist/core/tools/edit-diff.d.ts +33 -0
  149. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  150. package/dist/core/tools/edit-diff.js +171 -0
  151. package/dist/core/tools/edit-diff.js.map +1 -0
  152. package/dist/core/tools/edit.d.ts +37 -0
  153. package/dist/core/tools/edit.d.ts.map +1 -0
  154. package/dist/core/tools/edit.js +143 -0
  155. package/dist/core/tools/edit.js.map +1 -0
  156. package/dist/core/tools/find.d.ts +37 -0
  157. package/dist/core/tools/find.d.ts.map +1 -0
  158. package/dist/core/tools/find.js +206 -0
  159. package/dist/core/tools/find.js.map +1 -0
  160. package/dist/core/tools/grep.d.ts +43 -0
  161. package/dist/core/tools/grep.d.ts.map +1 -0
  162. package/dist/core/tools/grep.js +239 -0
  163. package/dist/core/tools/grep.js.map +1 -0
  164. package/dist/core/tools/index.d.ts +70 -0
  165. package/dist/core/tools/index.d.ts.map +1 -0
  166. package/dist/core/tools/index.js +56 -0
  167. package/dist/core/tools/index.js.map +1 -0
  168. package/dist/core/tools/ls.d.ts +38 -0
  169. package/dist/core/tools/ls.d.ts.map +1 -0
  170. package/dist/core/tools/ls.js +118 -0
  171. package/dist/core/tools/ls.js.map +1 -0
  172. package/dist/core/tools/path-utils.d.ts +8 -0
  173. package/dist/core/tools/path-utils.d.ts.map +1 -0
  174. package/dist/core/tools/path-utils.js +53 -0
  175. package/dist/core/tools/path-utils.js.map +1 -0
  176. package/dist/core/tools/read.d.ts +37 -0
  177. package/dist/core/tools/read.d.ts.map +1 -0
  178. package/dist/core/tools/read.js +165 -0
  179. package/dist/core/tools/read.js.map +1 -0
  180. package/dist/core/tools/truncate.d.ts +70 -0
  181. package/dist/core/tools/truncate.d.ts.map +1 -0
  182. package/dist/core/tools/truncate.js +205 -0
  183. package/dist/core/tools/truncate.js.map +1 -0
  184. package/dist/core/tools/write.d.ts +27 -0
  185. package/dist/core/tools/write.d.ts.map +1 -0
  186. package/dist/core/tools/write.js +78 -0
  187. package/dist/core/tools/write.js.map +1 -0
  188. package/dist/index.d.ts +19 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +35 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/main.d.ts +8 -0
  193. package/dist/main.d.ts.map +1 -0
  194. package/dist/main.js +354 -0
  195. package/dist/main.js.map +1 -0
  196. package/dist/migrations.d.ts +33 -0
  197. package/dist/migrations.d.ts.map +1 -0
  198. package/dist/migrations.js +261 -0
  199. package/dist/migrations.js.map +1 -0
  200. package/dist/modes/index.d.ts +9 -0
  201. package/dist/modes/index.d.ts.map +1 -0
  202. package/dist/modes/index.js +8 -0
  203. package/dist/modes/index.js.map +1 -0
  204. package/dist/modes/interactive/components/armin.d.ts +34 -0
  205. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  206. package/dist/modes/interactive/components/armin.js +333 -0
  207. package/dist/modes/interactive/components/armin.js.map +1 -0
  208. package/dist/modes/interactive/components/assistant-message.d.ts +15 -0
  209. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  210. package/dist/modes/interactive/components/assistant-message.js +89 -0
  211. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  212. package/dist/modes/interactive/components/bash-execution.d.ts +35 -0
  213. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  214. package/dist/modes/interactive/components/bash-execution.js +161 -0
  215. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  216. package/dist/modes/interactive/components/bordered-loader.d.ts +12 -0
  217. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  218. package/dist/modes/interactive/components/bordered-loader.js +30 -0
  219. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  220. package/dist/modes/interactive/components/branch-summary-message.d.ts +15 -0
  221. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  222. package/dist/modes/interactive/components/branch-summary-message.js +39 -0
  223. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  224. package/dist/modes/interactive/components/compaction-summary-message.d.ts +15 -0
  225. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  226. package/dist/modes/interactive/components/compaction-summary-message.js +40 -0
  227. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  228. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  229. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  230. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  231. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  232. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  233. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  234. package/dist/modes/interactive/components/custom-editor.js +69 -0
  235. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  236. package/dist/modes/interactive/components/custom-message.d.ts +19 -0
  237. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  238. package/dist/modes/interactive/components/custom-message.js +84 -0
  239. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  240. package/dist/modes/interactive/components/diff.d.ts +12 -0
  241. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  242. package/dist/modes/interactive/components/diff.js +133 -0
  243. package/dist/modes/interactive/components/diff.js.map +1 -0
  244. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  245. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  246. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  247. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  248. package/dist/modes/interactive/components/extension-editor.d.ts +15 -0
  249. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  250. package/dist/modes/interactive/components/extension-editor.js +96 -0
  251. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  252. package/dist/modes/interactive/components/extension-input.d.ts +20 -0
  253. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  254. package/dist/modes/interactive/components/extension-input.js +51 -0
  255. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  256. package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
  257. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  258. package/dist/modes/interactive/components/extension-selector.js +73 -0
  259. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  260. package/dist/modes/interactive/components/footer.d.ts +26 -0
  261. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  262. package/dist/modes/interactive/components/footer.js +207 -0
  263. package/dist/modes/interactive/components/footer.js.map +1 -0
  264. package/dist/modes/interactive/components/index.d.ts +29 -0
  265. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  266. package/dist/modes/interactive/components/index.js +30 -0
  267. package/dist/modes/interactive/components/index.js.map +1 -0
  268. package/dist/modes/interactive/components/login-dialog.d.ts +39 -0
  269. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  270. package/dist/modes/interactive/components/login-dialog.js +135 -0
  271. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  272. package/dist/modes/interactive/components/model-selector.d.ts +35 -0
  273. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  274. package/dist/modes/interactive/components/model-selector.js +211 -0
  275. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  276. package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
  277. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  278. package/dist/modes/interactive/components/oauth-selector.js +98 -0
  279. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  280. package/dist/modes/interactive/components/scoped-models-selector.d.ts +46 -0
  281. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  282. package/dist/modes/interactive/components/scoped-models-selector.js +258 -0
  283. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  284. package/dist/modes/interactive/components/session-selector.d.ts +44 -0
  285. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  286. package/dist/modes/interactive/components/session-selector.js +311 -0
  287. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  288. package/dist/modes/interactive/components/settings-selector.d.ts +43 -0
  289. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  290. package/dist/modes/interactive/components/settings-selector.js +219 -0
  291. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  292. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  293. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  294. package/dist/modes/interactive/components/show-images-selector.js +35 -0
  295. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  296. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  297. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  298. package/dist/modes/interactive/components/theme-selector.js +46 -0
  299. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  300. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  301. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  302. package/dist/modes/interactive/components/thinking-selector.js +47 -0
  303. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  304. package/dist/modes/interactive/components/tool-execution.d.ts +70 -0
  305. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  306. package/dist/modes/interactive/components/tool-execution.js +606 -0
  307. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  308. package/dist/modes/interactive/components/tree-selector.d.ts +52 -0
  309. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  310. package/dist/modes/interactive/components/tree-selector.js +745 -0
  311. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  312. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  313. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  314. package/dist/modes/interactive/components/user-message-selector.js +113 -0
  315. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  316. package/dist/modes/interactive/components/user-message.d.ts +8 -0
  317. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  318. package/dist/modes/interactive/components/user-message.js +16 -0
  319. package/dist/modes/interactive/components/user-message.js.map +1 -0
  320. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  321. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  322. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  323. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  324. package/dist/modes/interactive/interactive-mode.d.ts +261 -0
  325. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  326. package/dist/modes/interactive/interactive-mode.js +3194 -0
  327. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  328. package/dist/modes/interactive/theme/dark.json +85 -0
  329. package/dist/modes/interactive/theme/light.json +84 -0
  330. package/dist/modes/interactive/theme/theme-schema.json +308 -0
  331. package/dist/modes/interactive/theme/theme.d.ts +71 -0
  332. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  333. package/dist/modes/interactive/theme/theme.js +893 -0
  334. package/dist/modes/interactive/theme/theme.js.map +1 -0
  335. package/dist/modes/print-mode.d.ts +28 -0
  336. package/dist/modes/print-mode.d.ts.map +1 -0
  337. package/dist/modes/print-mode.js +140 -0
  338. package/dist/modes/print-mode.js.map +1 -0
  339. package/dist/modes/rpc/rpc-client.d.ts +209 -0
  340. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  341. package/dist/modes/rpc/rpc-client.js +392 -0
  342. package/dist/modes/rpc/rpc-client.js.map +1 -0
  343. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  344. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  345. package/dist/modes/rpc/rpc-mode.js +486 -0
  346. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  347. package/dist/modes/rpc/rpc-types.d.ts +372 -0
  348. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  349. package/dist/modes/rpc/rpc-types.js +8 -0
  350. package/dist/modes/rpc/rpc-types.js.map +1 -0
  351. package/dist/utils/changelog.d.ts +21 -0
  352. package/dist/utils/changelog.d.ts.map +1 -0
  353. package/dist/utils/changelog.js +87 -0
  354. package/dist/utils/changelog.js.map +1 -0
  355. package/dist/utils/clipboard-image.d.ts +11 -0
  356. package/dist/utils/clipboard-image.d.ts.map +1 -0
  357. package/dist/utils/clipboard-image.js +129 -0
  358. package/dist/utils/clipboard-image.js.map +1 -0
  359. package/dist/utils/clipboard.d.ts +2 -0
  360. package/dist/utils/clipboard.d.ts.map +1 -0
  361. package/dist/utils/clipboard.js +73 -0
  362. package/dist/utils/clipboard.js.map +1 -0
  363. package/dist/utils/image-convert.d.ts +9 -0
  364. package/dist/utils/image-convert.d.ts.map +1 -0
  365. package/dist/utils/image-convert.js +31 -0
  366. package/dist/utils/image-convert.js.map +1 -0
  367. package/dist/utils/image-resize.d.ts +36 -0
  368. package/dist/utils/image-resize.d.ts.map +1 -0
  369. package/dist/utils/image-resize.js +188 -0
  370. package/dist/utils/image-resize.js.map +1 -0
  371. package/dist/utils/mime.d.ts +2 -0
  372. package/dist/utils/mime.d.ts.map +1 -0
  373. package/dist/utils/mime.js +26 -0
  374. package/dist/utils/mime.js.map +1 -0
  375. package/dist/utils/shell.d.ts +26 -0
  376. package/dist/utils/shell.d.ts.map +1 -0
  377. package/dist/utils/shell.js +151 -0
  378. package/dist/utils/shell.js.map +1 -0
  379. package/dist/utils/tools-manager.d.ts +3 -0
  380. package/dist/utils/tools-manager.d.ts.map +1 -0
  381. package/dist/utils/tools-manager.js +187 -0
  382. package/dist/utils/tools-manager.js.map +1 -0
  383. package/dist/utils/vips.d.ts +11 -0
  384. package/dist/utils/vips.d.ts.map +1 -0
  385. package/dist/utils/vips.js +35 -0
  386. package/dist/utils/vips.js.map +1 -0
  387. package/docs/compaction.md +388 -0
  388. package/docs/extensions.md +1524 -0
  389. package/docs/rpc.md +1046 -0
  390. package/docs/sdk.md +1024 -0
  391. package/docs/session.md +255 -0
  392. package/docs/skills.md +317 -0
  393. package/docs/theme.md +617 -0
  394. package/docs/tree.md +201 -0
  395. package/docs/tui.md +797 -0
  396. package/examples/README.md +24 -0
  397. package/examples/extensions/README.md +168 -0
  398. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  399. package/examples/extensions/chalk-logger.ts +26 -0
  400. package/examples/extensions/claude-rules.ts +86 -0
  401. package/examples/extensions/confirm-destructive.ts +59 -0
  402. package/examples/extensions/custom-compaction.ts +114 -0
  403. package/examples/extensions/custom-footer.ts +64 -0
  404. package/examples/extensions/custom-header.ts +72 -0
  405. package/examples/extensions/dirty-repo-guard.ts +56 -0
  406. package/examples/extensions/doom-overlay/README.md +46 -0
  407. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  408. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  409. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  410. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  411. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  412. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  413. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  414. package/examples/extensions/doom-overlay/index.ts +74 -0
  415. package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  416. package/examples/extensions/file-trigger.ts +41 -0
  417. package/examples/extensions/git-checkpoint.ts +53 -0
  418. package/examples/extensions/handoff.ts +150 -0
  419. package/examples/extensions/hello.ts +25 -0
  420. package/examples/extensions/interactive-shell.ts +196 -0
  421. package/examples/extensions/mac-system-theme.ts +47 -0
  422. package/examples/extensions/modal-editor.ts +85 -0
  423. package/examples/extensions/model-status.ts +31 -0
  424. package/examples/extensions/notify.ts +25 -0
  425. package/examples/extensions/overlay-qa-tests.ts +881 -0
  426. package/examples/extensions/overlay-test.ts +145 -0
  427. package/examples/extensions/permission-gate.ts +34 -0
  428. package/examples/extensions/pirate.ts +47 -0
  429. package/examples/extensions/plan-mode/README.md +65 -0
  430. package/examples/extensions/plan-mode/index.ts +340 -0
  431. package/examples/extensions/plan-mode/utils.ts +168 -0
  432. package/examples/extensions/preset.ts +398 -0
  433. package/examples/extensions/protected-paths.ts +30 -0
  434. package/examples/extensions/qna.ts +119 -0
  435. package/examples/extensions/question.ts +277 -0
  436. package/examples/extensions/questionnaire.ts +427 -0
  437. package/examples/extensions/rainbow-editor.ts +95 -0
  438. package/examples/extensions/sandbox/index.ts +318 -0
  439. package/examples/extensions/sandbox/package-lock.json +92 -0
  440. package/examples/extensions/sandbox/package.json +19 -0
  441. package/examples/extensions/send-user-message.ts +97 -0
  442. package/examples/extensions/shutdown-command.ts +63 -0
  443. package/examples/extensions/snake.ts +343 -0
  444. package/examples/extensions/ssh.ts +220 -0
  445. package/examples/extensions/status-line.ts +40 -0
  446. package/examples/extensions/subagent/README.md +172 -0
  447. package/examples/extensions/subagent/agents/planner.md +37 -0
  448. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  449. package/examples/extensions/subagent/agents/scout.md +50 -0
  450. package/examples/extensions/subagent/agents/worker.md +24 -0
  451. package/examples/extensions/subagent/agents.ts +156 -0
  452. package/examples/extensions/subagent/index.ts +963 -0
  453. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  454. package/examples/extensions/subagent/prompts/implement.md +10 -0
  455. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  456. package/examples/extensions/summarize.ts +195 -0
  457. package/examples/extensions/timed-confirm.ts +70 -0
  458. package/examples/extensions/todo.ts +299 -0
  459. package/examples/extensions/tool-override.ts +143 -0
  460. package/examples/extensions/tools.ts +146 -0
  461. package/examples/extensions/truncated-tool.ts +192 -0
  462. package/examples/extensions/with-deps/index.ts +36 -0
  463. package/examples/extensions/with-deps/package-lock.json +31 -0
  464. package/examples/extensions/with-deps/package.json +22 -0
  465. package/examples/sdk/01-minimal.ts +22 -0
  466. package/examples/sdk/02-custom-model.ts +49 -0
  467. package/examples/sdk/03-custom-prompt.ts +44 -0
  468. package/examples/sdk/04-skills.ts +47 -0
  469. package/examples/sdk/05-tools.ts +56 -0
  470. package/examples/sdk/06-extensions.ts +79 -0
  471. package/examples/sdk/07-context-files.ts +36 -0
  472. package/examples/sdk/08-prompt-templates.ts +42 -0
  473. package/examples/sdk/09-api-keys-and-oauth.ts +55 -0
  474. package/examples/sdk/10-settings.ts +38 -0
  475. package/examples/sdk/11-sessions.ts +48 -0
  476. package/examples/sdk/12-full-control.ts +72 -0
  477. package/examples/sdk/README.md +150 -0
  478. package/package.json +88 -0
@@ -0,0 +1,910 @@
1
+ :root {
2
+ {{THEME_VARS}}
3
+ --body-bg: {{BODY_BG}};
4
+ --container-bg: {{CONTAINER_BG}};
5
+ --info-bg: {{INFO_BG}};
6
+ }
7
+
8
+ * { margin: 0; padding: 0; box-sizing: border-box; }
9
+
10
+ :root {
11
+ --line-height: 18px; /* 12px font * 1.5 */
12
+ }
13
+
14
+ body {
15
+ font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
16
+ font-size: 12px;
17
+ line-height: var(--line-height);
18
+ color: var(--text);
19
+ background: var(--body-bg);
20
+ }
21
+
22
+ #app {
23
+ display: flex;
24
+ min-height: 100vh;
25
+ }
26
+
27
+ /* Sidebar */
28
+ #sidebar {
29
+ width: 400px;
30
+ background: var(--container-bg);
31
+ flex-shrink: 0;
32
+ display: flex;
33
+ flex-direction: column;
34
+ position: sticky;
35
+ top: 0;
36
+ height: 100vh;
37
+ border-right: 1px solid var(--dim);
38
+ }
39
+
40
+ .sidebar-header {
41
+ padding: 8px 12px;
42
+ flex-shrink: 0;
43
+ }
44
+
45
+ .sidebar-controls {
46
+ padding: 8px 8px 4px 8px;
47
+ }
48
+
49
+ .sidebar-search {
50
+ width: 100%;
51
+ box-sizing: border-box;
52
+ padding: 4px 8px;
53
+ font-size: 11px;
54
+ font-family: inherit;
55
+ background: var(--body-bg);
56
+ color: var(--text);
57
+ border: 1px solid var(--dim);
58
+ border-radius: 3px;
59
+ }
60
+
61
+ .sidebar-filters {
62
+ display: flex;
63
+ padding: 4px 8px 8px 8px;
64
+ gap: 4px;
65
+ align-items: center;
66
+ flex-wrap: wrap;
67
+ }
68
+
69
+ .sidebar-search:focus {
70
+ outline: none;
71
+ border-color: var(--accent);
72
+ }
73
+
74
+ .sidebar-search::placeholder {
75
+ color: var(--muted);
76
+ }
77
+
78
+ .filter-btn {
79
+ padding: 3px 8px;
80
+ font-size: 10px;
81
+ font-family: inherit;
82
+ background: transparent;
83
+ color: var(--muted);
84
+ border: 1px solid var(--dim);
85
+ border-radius: 3px;
86
+ cursor: pointer;
87
+ }
88
+
89
+ .filter-btn:hover {
90
+ color: var(--text);
91
+ border-color: var(--text);
92
+ }
93
+
94
+ .filter-btn.active {
95
+ background: var(--accent);
96
+ color: var(--body-bg);
97
+ border-color: var(--accent);
98
+ }
99
+
100
+ .sidebar-close {
101
+ display: none;
102
+ padding: 3px 8px;
103
+ font-size: 12px;
104
+ font-family: inherit;
105
+ background: transparent;
106
+ color: var(--muted);
107
+ border: 1px solid var(--dim);
108
+ border-radius: 3px;
109
+ cursor: pointer;
110
+ margin-left: auto;
111
+ }
112
+
113
+ .sidebar-close:hover {
114
+ color: var(--text);
115
+ border-color: var(--text);
116
+ }
117
+
118
+ .tree-container {
119
+ flex: 1;
120
+ overflow: auto;
121
+ padding: 4px 0;
122
+ }
123
+
124
+ .tree-node {
125
+ padding: 0 8px;
126
+ cursor: pointer;
127
+ display: flex;
128
+ align-items: baseline;
129
+ font-size: 11px;
130
+ line-height: 13px;
131
+ white-space: nowrap;
132
+ }
133
+
134
+ .tree-node:hover {
135
+ background: var(--selectedBg);
136
+ }
137
+
138
+ .tree-node.active {
139
+ background: var(--selectedBg);
140
+ }
141
+
142
+ .tree-node.active .tree-content {
143
+ font-weight: bold;
144
+ }
145
+
146
+ .tree-node.in-path {
147
+ }
148
+
149
+ .tree-prefix {
150
+ color: var(--muted);
151
+ flex-shrink: 0;
152
+ font-family: monospace;
153
+ white-space: pre;
154
+ }
155
+
156
+ .tree-marker {
157
+ color: var(--accent);
158
+ flex-shrink: 0;
159
+ }
160
+
161
+ .tree-content {
162
+ color: var(--text);
163
+ }
164
+
165
+ .tree-role-user {
166
+ color: var(--accent);
167
+ }
168
+
169
+ .tree-role-assistant {
170
+ color: var(--success);
171
+ }
172
+
173
+ .tree-role-tool {
174
+ color: var(--muted);
175
+ }
176
+
177
+ .tree-muted {
178
+ color: var(--muted);
179
+ }
180
+
181
+ .tree-error {
182
+ color: var(--error);
183
+ }
184
+
185
+ .tree-compaction {
186
+ color: var(--borderAccent);
187
+ }
188
+
189
+ .tree-branch-summary {
190
+ color: var(--warning);
191
+ }
192
+
193
+ .tree-custom-message {
194
+ color: var(--customMessageLabel);
195
+ }
196
+
197
+ .tree-status {
198
+ padding: 4px 12px;
199
+ font-size: 10px;
200
+ color: var(--muted);
201
+ flex-shrink: 0;
202
+ }
203
+
204
+ /* Main content */
205
+ #content {
206
+ flex: 1;
207
+ overflow-y: auto;
208
+ padding: var(--line-height) calc(var(--line-height) * 2);
209
+ display: flex;
210
+ flex-direction: column;
211
+ align-items: center;
212
+ }
213
+
214
+ #content > * {
215
+ width: 100%;
216
+ max-width: 800px;
217
+ }
218
+
219
+ /* Help bar */
220
+ .help-bar {
221
+ font-size: 11px;
222
+ color: var(--warning);
223
+ margin-bottom: var(--line-height);
224
+ }
225
+
226
+ /* Header */
227
+ .header {
228
+ background: var(--container-bg);
229
+ border-radius: 4px;
230
+ padding: var(--line-height);
231
+ margin-bottom: var(--line-height);
232
+ }
233
+
234
+ .header h1 {
235
+ font-size: 12px;
236
+ font-weight: bold;
237
+ color: var(--borderAccent);
238
+ margin-bottom: var(--line-height);
239
+ }
240
+
241
+ .header-info {
242
+ display: flex;
243
+ flex-direction: column;
244
+ gap: 0;
245
+ font-size: 11px;
246
+ }
247
+
248
+ .info-item {
249
+ color: var(--dim);
250
+ display: flex;
251
+ align-items: baseline;
252
+ }
253
+
254
+ .info-label {
255
+ font-weight: 600;
256
+ margin-right: 8px;
257
+ min-width: 100px;
258
+ }
259
+
260
+ .info-value {
261
+ color: var(--text);
262
+ flex: 1;
263
+ }
264
+
265
+ /* Messages */
266
+ #messages {
267
+ display: flex;
268
+ flex-direction: column;
269
+ gap: var(--line-height);
270
+ }
271
+
272
+ .message-timestamp {
273
+ font-size: 10px;
274
+ color: var(--dim);
275
+ opacity: 0.8;
276
+ }
277
+
278
+ .user-message {
279
+ background: var(--userMessageBg);
280
+ color: var(--userMessageText);
281
+ padding: var(--line-height);
282
+ border-radius: 4px;
283
+ position: relative;
284
+ }
285
+
286
+ .assistant-message {
287
+ padding: 0;
288
+ position: relative;
289
+ }
290
+
291
+ /* Copy link button - appears on hover */
292
+ .copy-link-btn {
293
+ position: absolute;
294
+ top: 8px;
295
+ right: 8px;
296
+ width: 28px;
297
+ height: 28px;
298
+ padding: 6px;
299
+ background: var(--container-bg);
300
+ border: 1px solid var(--dim);
301
+ border-radius: 4px;
302
+ color: var(--muted);
303
+ cursor: pointer;
304
+ opacity: 0;
305
+ transition: opacity 0.15s, background 0.15s, color 0.15s;
306
+ display: flex;
307
+ align-items: center;
308
+ justify-content: center;
309
+ z-index: 10;
310
+ }
311
+
312
+ .user-message:hover .copy-link-btn,
313
+ .assistant-message:hover .copy-link-btn {
314
+ opacity: 1;
315
+ }
316
+
317
+ .copy-link-btn:hover {
318
+ background: var(--accent);
319
+ color: var(--body-bg);
320
+ border-color: var(--accent);
321
+ }
322
+
323
+ .copy-link-btn.copied {
324
+ background: var(--success, #22c55e);
325
+ color: white;
326
+ border-color: var(--success, #22c55e);
327
+ }
328
+
329
+ /* Highlight effect for deep-linked messages */
330
+ .user-message.highlight,
331
+ .assistant-message.highlight {
332
+ animation: highlight-pulse 2s ease-out;
333
+ }
334
+
335
+ @keyframes highlight-pulse {
336
+ 0% {
337
+ box-shadow: 0 0 0 3px var(--accent);
338
+ }
339
+ 100% {
340
+ box-shadow: 0 0 0 0 transparent;
341
+ }
342
+ }
343
+
344
+ .assistant-message > .message-timestamp {
345
+ padding-left: var(--line-height);
346
+ }
347
+
348
+ .assistant-text {
349
+ padding: var(--line-height);
350
+ padding-bottom: 0;
351
+ }
352
+
353
+ .message-timestamp + .assistant-text,
354
+ .message-timestamp + .thinking-block {
355
+ padding-top: 0;
356
+ }
357
+
358
+ .thinking-block + .assistant-text {
359
+ padding-top: 0;
360
+ }
361
+
362
+ .thinking-text {
363
+ padding: var(--line-height);
364
+ color: var(--thinkingText);
365
+ font-style: italic;
366
+ white-space: pre-wrap;
367
+ }
368
+
369
+ .message-timestamp + .thinking-block .thinking-text,
370
+ .message-timestamp + .thinking-block .thinking-collapsed {
371
+ padding-top: 0;
372
+ }
373
+
374
+ .thinking-collapsed {
375
+ display: none;
376
+ padding: var(--line-height);
377
+ color: var(--thinkingText);
378
+ font-style: italic;
379
+ }
380
+
381
+ /* Tool execution */
382
+ .tool-execution {
383
+ padding: var(--line-height);
384
+ border-radius: 4px;
385
+ }
386
+
387
+ .tool-execution + .tool-execution {
388
+ margin-top: var(--line-height);
389
+ }
390
+
391
+ .assistant-text + .tool-execution {
392
+ margin-top: var(--line-height);
393
+ }
394
+
395
+ .tool-execution.pending { background: var(--toolPendingBg); }
396
+ .tool-execution.success { background: var(--toolSuccessBg); }
397
+ .tool-execution.error { background: var(--toolErrorBg); }
398
+
399
+ .tool-header, .tool-name {
400
+ font-weight: bold;
401
+ }
402
+
403
+ .tool-path {
404
+ color: var(--accent);
405
+ word-break: break-all;
406
+ }
407
+
408
+ .line-numbers {
409
+ color: var(--warning);
410
+ }
411
+
412
+ .line-count {
413
+ color: var(--dim);
414
+ }
415
+
416
+ .tool-command {
417
+ font-weight: bold;
418
+ white-space: pre-wrap;
419
+ word-wrap: break-word;
420
+ overflow-wrap: break-word;
421
+ word-break: break-word;
422
+ }
423
+
424
+ .tool-output {
425
+ margin-top: var(--line-height);
426
+ color: var(--toolOutput);
427
+ word-wrap: break-word;
428
+ overflow-wrap: break-word;
429
+ word-break: break-word;
430
+ font-family: inherit;
431
+ overflow-x: auto;
432
+ }
433
+
434
+ .tool-output > div,
435
+ .output-preview,
436
+ .output-full {
437
+ margin: 0;
438
+ padding: 0;
439
+ line-height: var(--line-height);
440
+ }
441
+
442
+ .tool-output pre {
443
+ margin: 0;
444
+ padding: 0;
445
+ font-family: inherit;
446
+ color: inherit;
447
+ white-space: pre-wrap;
448
+ word-wrap: break-word;
449
+ overflow-wrap: break-word;
450
+ }
451
+
452
+ .tool-output code {
453
+ padding: 0;
454
+ background: none;
455
+ color: var(--text);
456
+ }
457
+
458
+ .tool-output.expandable {
459
+ cursor: pointer;
460
+ }
461
+
462
+ .tool-output.expandable:hover {
463
+ opacity: 0.9;
464
+ }
465
+
466
+ .tool-output.expandable .output-full {
467
+ display: none;
468
+ }
469
+
470
+ .tool-output.expandable.expanded .output-preview {
471
+ display: none;
472
+ }
473
+
474
+ .tool-output.expandable.expanded .output-full {
475
+ display: block;
476
+ }
477
+
478
+ .tool-images {
479
+ }
480
+
481
+ .tool-image {
482
+ max-width: 100%;
483
+ max-height: 500px;
484
+ border-radius: 4px;
485
+ margin: var(--line-height) 0;
486
+ }
487
+
488
+ .expand-hint {
489
+ color: var(--toolOutput);
490
+ }
491
+
492
+ /* Diff */
493
+ .tool-diff {
494
+ font-size: 11px;
495
+ overflow-x: auto;
496
+ white-space: pre;
497
+ }
498
+
499
+ .diff-added { color: var(--toolDiffAdded); }
500
+ .diff-removed { color: var(--toolDiffRemoved); }
501
+ .diff-context { color: var(--toolDiffContext); }
502
+
503
+ /* Model change */
504
+ .model-change {
505
+ padding: 0 var(--line-height);
506
+ color: var(--dim);
507
+ font-size: 11px;
508
+ }
509
+
510
+ .model-name {
511
+ color: var(--borderAccent);
512
+ font-weight: bold;
513
+ }
514
+
515
+ .codex-bridge-toggle {
516
+ color: var(--muted);
517
+ cursor: pointer;
518
+ text-decoration: underline;
519
+ font-size: 10px;
520
+ }
521
+
522
+ .codex-bridge-toggle:hover {
523
+ color: var(--accent);
524
+ }
525
+
526
+ .codex-bridge-content {
527
+ display: none;
528
+ margin-top: 8px;
529
+ padding: 8px;
530
+ background: var(--exportCardBg);
531
+ border-radius: 4px;
532
+ font-size: 11px;
533
+ max-height: 300px;
534
+ overflow: auto;
535
+ }
536
+
537
+ .codex-bridge-content pre {
538
+ margin: 0;
539
+ white-space: pre-wrap;
540
+ word-break: break-word;
541
+ color: var(--muted);
542
+ }
543
+
544
+ .model-change.show-bridge .codex-bridge-content {
545
+ display: block;
546
+ }
547
+
548
+ /* Compaction / Branch Summary - matches customMessage colors from TUI */
549
+ .compaction {
550
+ background: var(--customMessageBg);
551
+ border-radius: 4px;
552
+ padding: var(--line-height);
553
+ cursor: pointer;
554
+ }
555
+
556
+ .compaction-label {
557
+ color: var(--customMessageLabel);
558
+ font-weight: bold;
559
+ }
560
+
561
+ .compaction-collapsed {
562
+ color: var(--customMessageText);
563
+ }
564
+
565
+ .compaction-content {
566
+ display: none;
567
+ color: var(--customMessageText);
568
+ white-space: pre-wrap;
569
+ margin-top: var(--line-height);
570
+ }
571
+
572
+ .compaction.expanded .compaction-collapsed {
573
+ display: none;
574
+ }
575
+
576
+ .compaction.expanded .compaction-content {
577
+ display: block;
578
+ }
579
+
580
+ /* System prompt */
581
+ .system-prompt {
582
+ background: var(--customMessageBg);
583
+ padding: var(--line-height);
584
+ border-radius: 4px;
585
+ margin-bottom: var(--line-height);
586
+ }
587
+
588
+ .system-prompt.expandable {
589
+ cursor: pointer;
590
+ }
591
+
592
+ .system-prompt-header {
593
+ font-weight: bold;
594
+ color: var(--customMessageLabel);
595
+ }
596
+
597
+ .system-prompt-preview {
598
+ color: var(--customMessageText);
599
+ white-space: pre-wrap;
600
+ word-wrap: break-word;
601
+ font-size: 11px;
602
+ margin-top: var(--line-height);
603
+ }
604
+
605
+ .system-prompt-expand-hint {
606
+ color: var(--muted);
607
+ font-style: italic;
608
+ margin-top: 4px;
609
+ }
610
+
611
+ .system-prompt-full {
612
+ display: none;
613
+ color: var(--customMessageText);
614
+ white-space: pre-wrap;
615
+ word-wrap: break-word;
616
+ font-size: 11px;
617
+ margin-top: var(--line-height);
618
+ }
619
+
620
+ .system-prompt.expanded .system-prompt-preview,
621
+ .system-prompt.expanded .system-prompt-expand-hint {
622
+ display: none;
623
+ }
624
+
625
+ .system-prompt.expanded .system-prompt-full {
626
+ display: block;
627
+ }
628
+
629
+ .system-prompt.provider-prompt {
630
+ border-left: 3px solid var(--warning);
631
+ }
632
+
633
+ .system-prompt-note {
634
+ font-size: 10px;
635
+ font-style: italic;
636
+ color: var(--muted);
637
+ margin-top: 4px;
638
+ }
639
+
640
+ /* Tools list */
641
+ .tools-list {
642
+ background: var(--customMessageBg);
643
+ padding: var(--line-height);
644
+ border-radius: 4px;
645
+ margin-bottom: var(--line-height);
646
+ }
647
+
648
+ .tools-header {
649
+ font-weight: bold;
650
+ color: var(--customMessageLabel);
651
+ margin-bottom: var(--line-height);
652
+ }
653
+
654
+ .tool-item {
655
+ font-size: 11px;
656
+ }
657
+
658
+ .tool-item-name {
659
+ font-weight: bold;
660
+ color: var(--text);
661
+ }
662
+
663
+ .tool-item-desc {
664
+ color: var(--dim);
665
+ }
666
+
667
+ /* Hook/custom messages */
668
+ .hook-message {
669
+ background: var(--customMessageBg);
670
+ color: var(--customMessageText);
671
+ padding: var(--line-height);
672
+ border-radius: 4px;
673
+ }
674
+
675
+ .hook-type {
676
+ color: var(--customMessageLabel);
677
+ font-weight: bold;
678
+ }
679
+
680
+ /* Branch summary */
681
+ .branch-summary {
682
+ background: var(--customMessageBg);
683
+ padding: var(--line-height);
684
+ border-radius: 4px;
685
+ }
686
+
687
+ .branch-summary-header {
688
+ font-weight: bold;
689
+ color: var(--borderAccent);
690
+ }
691
+
692
+ /* Error */
693
+ .error-text {
694
+ color: var(--error);
695
+ padding: 0 var(--line-height);
696
+ }
697
+
698
+ /* Images */
699
+ .message-images {
700
+ margin-bottom: 12px;
701
+ }
702
+
703
+ .message-image {
704
+ max-width: 100%;
705
+ max-height: 400px;
706
+ border-radius: 4px;
707
+ margin: var(--line-height) 0;
708
+ }
709
+
710
+ /* Markdown content */
711
+ .markdown-content h1,
712
+ .markdown-content h2,
713
+ .markdown-content h3,
714
+ .markdown-content h4,
715
+ .markdown-content h5,
716
+ .markdown-content h6 {
717
+ color: var(--mdHeading);
718
+ margin: var(--line-height) 0 0 0;
719
+ font-weight: bold;
720
+ }
721
+
722
+ .markdown-content h1 { font-size: 1em; }
723
+ .markdown-content h2 { font-size: 1em; }
724
+ .markdown-content h3 { font-size: 1em; }
725
+ .markdown-content h4 { font-size: 1em; }
726
+ .markdown-content h5 { font-size: 1em; }
727
+ .markdown-content h6 { font-size: 1em; }
728
+ .markdown-content p { margin: 0; }
729
+ .markdown-content p + p { margin-top: var(--line-height); }
730
+
731
+ .markdown-content a {
732
+ color: var(--mdLink);
733
+ text-decoration: underline;
734
+ }
735
+
736
+ .markdown-content code {
737
+ background: rgba(128, 128, 128, 0.2);
738
+ color: var(--mdCode);
739
+ padding: 0 4px;
740
+ border-radius: 3px;
741
+ font-family: inherit;
742
+ }
743
+
744
+ .markdown-content pre {
745
+ background: transparent;
746
+ margin: var(--line-height) 0;
747
+ overflow-x: auto;
748
+ }
749
+
750
+ .markdown-content pre code {
751
+ display: block;
752
+ background: none;
753
+ color: var(--text);
754
+ }
755
+
756
+ .markdown-content blockquote {
757
+ border-left: 3px solid var(--mdQuoteBorder);
758
+ padding-left: var(--line-height);
759
+ margin: var(--line-height) 0;
760
+ color: var(--mdQuote);
761
+ font-style: italic;
762
+ }
763
+
764
+ .markdown-content ul,
765
+ .markdown-content ol {
766
+ margin: var(--line-height) 0;
767
+ padding-left: calc(var(--line-height) * 2);
768
+ }
769
+
770
+ .markdown-content li { margin: 0; }
771
+ .markdown-content li::marker { color: var(--mdListBullet); }
772
+
773
+ .markdown-content hr {
774
+ border: none;
775
+ border-top: 1px solid var(--mdHr);
776
+ margin: var(--line-height) 0;
777
+ }
778
+
779
+ .markdown-content table {
780
+ border-collapse: collapse;
781
+ margin: 0.5em 0;
782
+ width: 100%;
783
+ }
784
+
785
+ .markdown-content th,
786
+ .markdown-content td {
787
+ border: 1px solid var(--mdCodeBlockBorder);
788
+ padding: 6px 10px;
789
+ text-align: left;
790
+ }
791
+
792
+ .markdown-content th {
793
+ background: rgba(128, 128, 128, 0.1);
794
+ font-weight: bold;
795
+ }
796
+
797
+ .markdown-content img {
798
+ max-width: 100%;
799
+ border-radius: 4px;
800
+ }
801
+
802
+ /* Syntax highlighting */
803
+ .hljs { background: transparent; color: var(--text); }
804
+ .hljs-comment, .hljs-quote { color: var(--syntaxComment); }
805
+ .hljs-keyword, .hljs-selector-tag { color: var(--syntaxKeyword); }
806
+ .hljs-number, .hljs-literal { color: var(--syntaxNumber); }
807
+ .hljs-string, .hljs-doctag { color: var(--syntaxString); }
808
+ /* Function names: hljs v11 uses .hljs-title.function_ compound class */
809
+ .hljs-function, .hljs-title, .hljs-title.function_, .hljs-section, .hljs-name { color: var(--syntaxFunction); }
810
+ /* Types: hljs v11 uses .hljs-title.class_ for class names */
811
+ .hljs-type, .hljs-class, .hljs-title.class_, .hljs-built_in { color: var(--syntaxType); }
812
+ .hljs-attr, .hljs-variable, .hljs-variable.language_, .hljs-params, .hljs-property { color: var(--syntaxVariable); }
813
+ .hljs-meta, .hljs-meta .hljs-keyword, .hljs-meta .hljs-string { color: var(--syntaxKeyword); }
814
+ .hljs-operator { color: var(--syntaxOperator); }
815
+ .hljs-punctuation { color: var(--syntaxPunctuation); }
816
+ .hljs-subst { color: var(--text); }
817
+
818
+ /* Footer */
819
+ .footer {
820
+ margin-top: 48px;
821
+ padding: 20px;
822
+ text-align: center;
823
+ color: var(--dim);
824
+ font-size: 10px;
825
+ }
826
+
827
+ /* Mobile */
828
+ #hamburger {
829
+ display: none;
830
+ position: fixed;
831
+ top: 10px;
832
+ left: 10px;
833
+ z-index: 100;
834
+ padding: 3px 8px;
835
+ font-size: 12px;
836
+ font-family: inherit;
837
+ background: transparent;
838
+ color: var(--muted);
839
+ border: 1px solid var(--dim);
840
+ border-radius: 3px;
841
+ cursor: pointer;
842
+ }
843
+
844
+ #hamburger:hover {
845
+ color: var(--text);
846
+ border-color: var(--text);
847
+ }
848
+
849
+
850
+
851
+ #sidebar-overlay {
852
+ display: none;
853
+ position: fixed;
854
+ top: 0;
855
+ left: 0;
856
+ right: 0;
857
+ bottom: 0;
858
+ background: rgba(0, 0, 0, 0.5);
859
+ z-index: 98;
860
+ }
861
+
862
+ @media (max-width: 900px) {
863
+ #sidebar {
864
+ position: fixed;
865
+ left: -400px;
866
+ width: 400px;
867
+ top: 0;
868
+ bottom: 0;
869
+ height: 100vh;
870
+ z-index: 99;
871
+ transition: left 0.3s;
872
+ }
873
+
874
+ #sidebar.open {
875
+ left: 0;
876
+ }
877
+
878
+ #sidebar-overlay.open {
879
+ display: block;
880
+ }
881
+
882
+ #hamburger {
883
+ display: block;
884
+ }
885
+
886
+ .sidebar-close {
887
+ display: block;
888
+ }
889
+
890
+ #content {
891
+ padding: var(--line-height) 16px;
892
+ }
893
+
894
+ #content > * {
895
+ max-width: 100%;
896
+ }
897
+ }
898
+
899
+ @media (max-width: 500px) {
900
+ #sidebar {
901
+ width: 100vw;
902
+ left: -100vw;
903
+ }
904
+ }
905
+
906
+ @media print {
907
+ #sidebar, #sidebar-toggle { display: none !important; }
908
+ body { background: white; color: black; }
909
+ #content { max-width: none; }
910
+ }