@phi-code-admin/phi-code 0.56.3

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 (459) hide show
  1. package/CHANGELOG.md +2994 -0
  2. package/README.md +567 -0
  3. package/dist/cli/args.d.ts +48 -0
  4. package/dist/cli/args.d.ts.map +1 -0
  5. package/dist/cli/args.js +299 -0
  6. package/dist/cli/args.js.map +1 -0
  7. package/dist/cli/config-selector.d.ts +14 -0
  8. package/dist/cli/config-selector.d.ts.map +1 -0
  9. package/dist/cli/config-selector.js +31 -0
  10. package/dist/cli/config-selector.js.map +1 -0
  11. package/dist/cli/file-processor.d.ts +15 -0
  12. package/dist/cli/file-processor.d.ts.map +1 -0
  13. package/dist/cli/file-processor.js +79 -0
  14. package/dist/cli/file-processor.js.map +1 -0
  15. package/dist/cli/list-models.d.ts +9 -0
  16. package/dist/cli/list-models.d.ts.map +1 -0
  17. package/dist/cli/list-models.js +92 -0
  18. package/dist/cli/list-models.js.map +1 -0
  19. package/dist/cli/session-picker.d.ts +9 -0
  20. package/dist/cli/session-picker.d.ts.map +1 -0
  21. package/dist/cli/session-picker.js +34 -0
  22. package/dist/cli/session-picker.js.map +1 -0
  23. package/dist/cli.d.ts +3 -0
  24. package/dist/cli.d.ts.map +1 -0
  25. package/dist/cli.js +16 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/config.d.ts +68 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +203 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/core/agent-session.d.ts +614 -0
  32. package/dist/core/agent-session.d.ts.map +1 -0
  33. package/dist/core/agent-session.js +2475 -0
  34. package/dist/core/agent-session.js.map +1 -0
  35. package/dist/core/auth-storage.d.ts +134 -0
  36. package/dist/core/auth-storage.d.ts.map +1 -0
  37. package/dist/core/auth-storage.js +415 -0
  38. package/dist/core/auth-storage.js.map +1 -0
  39. package/dist/core/bash-executor.d.ts +47 -0
  40. package/dist/core/bash-executor.d.ts.map +1 -0
  41. package/dist/core/bash-executor.js +212 -0
  42. package/dist/core/bash-executor.js.map +1 -0
  43. package/dist/core/compaction/branch-summarization.d.ts +86 -0
  44. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  45. package/dist/core/compaction/branch-summarization.js +242 -0
  46. package/dist/core/compaction/branch-summarization.js.map +1 -0
  47. package/dist/core/compaction/compaction.d.ts +121 -0
  48. package/dist/core/compaction/compaction.d.ts.map +1 -0
  49. package/dist/core/compaction/compaction.js +610 -0
  50. package/dist/core/compaction/compaction.js.map +1 -0
  51. package/dist/core/compaction/index.d.ts +7 -0
  52. package/dist/core/compaction/index.d.ts.map +1 -0
  53. package/dist/core/compaction/index.js +7 -0
  54. package/dist/core/compaction/index.js.map +1 -0
  55. package/dist/core/compaction/utils.d.ts +38 -0
  56. package/dist/core/compaction/utils.d.ts.map +1 -0
  57. package/dist/core/compaction/utils.js +153 -0
  58. package/dist/core/compaction/utils.js.map +1 -0
  59. package/dist/core/defaults.d.ts +3 -0
  60. package/dist/core/defaults.d.ts.map +1 -0
  61. package/dist/core/defaults.js +2 -0
  62. package/dist/core/defaults.js.map +1 -0
  63. package/dist/core/diagnostics.d.ts +15 -0
  64. package/dist/core/diagnostics.d.ts.map +1 -0
  65. package/dist/core/diagnostics.js +2 -0
  66. package/dist/core/diagnostics.js.map +1 -0
  67. package/dist/core/event-bus.d.ts +9 -0
  68. package/dist/core/event-bus.d.ts.map +1 -0
  69. package/dist/core/event-bus.js +25 -0
  70. package/dist/core/event-bus.js.map +1 -0
  71. package/dist/core/exec.d.ts +29 -0
  72. package/dist/core/exec.d.ts.map +1 -0
  73. package/dist/core/exec.js +71 -0
  74. package/dist/core/exec.js.map +1 -0
  75. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  76. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  77. package/dist/core/export-html/ansi-to-html.js +249 -0
  78. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  79. package/dist/core/export-html/index.d.ts +34 -0
  80. package/dist/core/export-html/index.d.ts.map +1 -0
  81. package/dist/core/export-html/index.js +222 -0
  82. package/dist/core/export-html/index.js.map +1 -0
  83. package/dist/core/export-html/tool-renderer.d.ts +35 -0
  84. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  85. package/dist/core/export-html/tool-renderer.js +63 -0
  86. package/dist/core/export-html/tool-renderer.js.map +1 -0
  87. package/dist/core/extensions/index.d.ts +11 -0
  88. package/dist/core/extensions/index.d.ts.map +1 -0
  89. package/dist/core/extensions/index.js +9 -0
  90. package/dist/core/extensions/index.js.map +1 -0
  91. package/dist/core/extensions/loader.d.ts +25 -0
  92. package/dist/core/extensions/loader.d.ts.map +1 -0
  93. package/dist/core/extensions/loader.js +426 -0
  94. package/dist/core/extensions/loader.js.map +1 -0
  95. package/dist/core/extensions/runner.d.ts +146 -0
  96. package/dist/core/extensions/runner.d.ts.map +1 -0
  97. package/dist/core/extensions/runner.js +640 -0
  98. package/dist/core/extensions/runner.js.map +1 -0
  99. package/dist/core/extensions/types.d.ts +1017 -0
  100. package/dist/core/extensions/types.d.ts.map +1 -0
  101. package/dist/core/extensions/types.js +35 -0
  102. package/dist/core/extensions/types.js.map +1 -0
  103. package/dist/core/extensions/wrapper.d.ts +27 -0
  104. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  105. package/dist/core/extensions/wrapper.js +102 -0
  106. package/dist/core/extensions/wrapper.js.map +1 -0
  107. package/dist/core/footer-data-provider.d.ts +32 -0
  108. package/dist/core/footer-data-provider.d.ts.map +1 -0
  109. package/dist/core/footer-data-provider.js +134 -0
  110. package/dist/core/footer-data-provider.js.map +1 -0
  111. package/dist/core/index.d.ts +9 -0
  112. package/dist/core/index.d.ts.map +1 -0
  113. package/dist/core/index.js +9 -0
  114. package/dist/core/index.js.map +1 -0
  115. package/dist/core/keybindings.d.ts +55 -0
  116. package/dist/core/keybindings.d.ts.map +1 -0
  117. package/dist/core/keybindings.js +151 -0
  118. package/dist/core/keybindings.js.map +1 -0
  119. package/dist/core/messages.d.ts +77 -0
  120. package/dist/core/messages.d.ts.map +1 -0
  121. package/dist/core/messages.js +123 -0
  122. package/dist/core/messages.js.map +1 -0
  123. package/dist/core/model-registry.d.ts +114 -0
  124. package/dist/core/model-registry.d.ts.map +1 -0
  125. package/dist/core/model-registry.js +548 -0
  126. package/dist/core/model-registry.js.map +1 -0
  127. package/dist/core/model-resolver.d.ts +104 -0
  128. package/dist/core/model-resolver.d.ts.map +1 -0
  129. package/dist/core/model-resolver.js +462 -0
  130. package/dist/core/model-resolver.js.map +1 -0
  131. package/dist/core/package-manager.d.ts +156 -0
  132. package/dist/core/package-manager.d.ts.map +1 -0
  133. package/dist/core/package-manager.js +1442 -0
  134. package/dist/core/package-manager.js.map +1 -0
  135. package/dist/core/prompt-templates.d.ts +50 -0
  136. package/dist/core/prompt-templates.d.ts.map +1 -0
  137. package/dist/core/prompt-templates.js +251 -0
  138. package/dist/core/prompt-templates.js.map +1 -0
  139. package/dist/core/resolve-config-value.d.ts +17 -0
  140. package/dist/core/resolve-config-value.d.ts.map +1 -0
  141. package/dist/core/resolve-config-value.js +59 -0
  142. package/dist/core/resolve-config-value.js.map +1 -0
  143. package/dist/core/resource-loader.d.ts +184 -0
  144. package/dist/core/resource-loader.d.ts.map +1 -0
  145. package/dist/core/resource-loader.js +633 -0
  146. package/dist/core/resource-loader.js.map +1 -0
  147. package/dist/core/sdk.d.ts +90 -0
  148. package/dist/core/sdk.d.ts.map +1 -0
  149. package/dist/core/sdk.js +235 -0
  150. package/dist/core/sdk.js.map +1 -0
  151. package/dist/core/session-manager.d.ts +323 -0
  152. package/dist/core/session-manager.d.ts.map +1 -0
  153. package/dist/core/session-manager.js +1094 -0
  154. package/dist/core/session-manager.js.map +1 -0
  155. package/dist/core/settings-manager.d.ts +232 -0
  156. package/dist/core/settings-manager.d.ts.map +1 -0
  157. package/dist/core/settings-manager.js +682 -0
  158. package/dist/core/settings-manager.js.map +1 -0
  159. package/dist/core/skills.d.ts +58 -0
  160. package/dist/core/skills.d.ts.map +1 -0
  161. package/dist/core/skills.js +364 -0
  162. package/dist/core/skills.js.map +1 -0
  163. package/dist/core/slash-commands.d.ts +15 -0
  164. package/dist/core/slash-commands.d.ts.map +1 -0
  165. package/dist/core/slash-commands.js +22 -0
  166. package/dist/core/slash-commands.js.map +1 -0
  167. package/dist/core/system-prompt.d.ts +28 -0
  168. package/dist/core/system-prompt.d.ts.map +1 -0
  169. package/dist/core/system-prompt.js +159 -0
  170. package/dist/core/system-prompt.js.map +1 -0
  171. package/dist/core/timings.d.ts +7 -0
  172. package/dist/core/timings.d.ts.map +1 -0
  173. package/dist/core/timings.js +25 -0
  174. package/dist/core/timings.js.map +1 -0
  175. package/dist/core/tools/bash.d.ts +55 -0
  176. package/dist/core/tools/bash.d.ts.map +1 -0
  177. package/dist/core/tools/bash.js +242 -0
  178. package/dist/core/tools/bash.js.map +1 -0
  179. package/dist/core/tools/edit-diff.d.ts +63 -0
  180. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  181. package/dist/core/tools/edit-diff.js +243 -0
  182. package/dist/core/tools/edit-diff.js.map +1 -0
  183. package/dist/core/tools/edit.d.ts +39 -0
  184. package/dist/core/tools/edit.d.ts.map +1 -0
  185. package/dist/core/tools/edit.js +146 -0
  186. package/dist/core/tools/edit.js.map +1 -0
  187. package/dist/core/tools/find.d.ts +39 -0
  188. package/dist/core/tools/find.d.ts.map +1 -0
  189. package/dist/core/tools/find.js +206 -0
  190. package/dist/core/tools/find.js.map +1 -0
  191. package/dist/core/tools/grep.d.ts +45 -0
  192. package/dist/core/tools/grep.d.ts.map +1 -0
  193. package/dist/core/tools/grep.js +239 -0
  194. package/dist/core/tools/grep.js.map +1 -0
  195. package/dist/core/tools/index.d.ts +73 -0
  196. package/dist/core/tools/index.d.ts.map +1 -0
  197. package/dist/core/tools/index.js +61 -0
  198. package/dist/core/tools/index.js.map +1 -0
  199. package/dist/core/tools/ls.d.ts +40 -0
  200. package/dist/core/tools/ls.d.ts.map +1 -0
  201. package/dist/core/tools/ls.js +118 -0
  202. package/dist/core/tools/ls.js.map +1 -0
  203. package/dist/core/tools/path-utils.d.ts +8 -0
  204. package/dist/core/tools/path-utils.d.ts.map +1 -0
  205. package/dist/core/tools/path-utils.js +81 -0
  206. package/dist/core/tools/path-utils.js.map +1 -0
  207. package/dist/core/tools/read.d.ts +39 -0
  208. package/dist/core/tools/read.d.ts.map +1 -0
  209. package/dist/core/tools/read.js +166 -0
  210. package/dist/core/tools/read.js.map +1 -0
  211. package/dist/core/tools/truncate.d.ts +70 -0
  212. package/dist/core/tools/truncate.d.ts.map +1 -0
  213. package/dist/core/tools/truncate.js +205 -0
  214. package/dist/core/tools/truncate.js.map +1 -0
  215. package/dist/core/tools/write.d.ts +29 -0
  216. package/dist/core/tools/write.d.ts.map +1 -0
  217. package/dist/core/tools/write.js +78 -0
  218. package/dist/core/tools/write.js.map +1 -0
  219. package/dist/index.d.ts +27 -0
  220. package/dist/index.d.ts.map +1 -0
  221. package/dist/index.js +42 -0
  222. package/dist/index.js.map +1 -0
  223. package/dist/main.d.ts +8 -0
  224. package/dist/main.d.ts.map +1 -0
  225. package/dist/main.js +661 -0
  226. package/dist/main.js.map +1 -0
  227. package/dist/migrations.d.ts +33 -0
  228. package/dist/migrations.d.ts.map +1 -0
  229. package/dist/migrations.js +261 -0
  230. package/dist/migrations.js.map +1 -0
  231. package/dist/modes/index.d.ts +9 -0
  232. package/dist/modes/index.d.ts.map +1 -0
  233. package/dist/modes/index.js +8 -0
  234. package/dist/modes/index.js.map +1 -0
  235. package/dist/modes/interactive/components/armin.d.ts +34 -0
  236. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  237. package/dist/modes/interactive/components/armin.js +329 -0
  238. package/dist/modes/interactive/components/armin.js.map +1 -0
  239. package/dist/modes/interactive/components/assistant-message.d.ts +16 -0
  240. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  241. package/dist/modes/interactive/components/assistant-message.js +92 -0
  242. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  243. package/dist/modes/interactive/components/bash-execution.d.ts +35 -0
  244. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  245. package/dist/modes/interactive/components/bash-execution.js +156 -0
  246. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  247. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  248. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  249. package/dist/modes/interactive/components/bordered-loader.js +48 -0
  250. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  251. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  252. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  253. package/dist/modes/interactive/components/branch-summary-message.js +42 -0
  254. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  255. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  256. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  257. package/dist/modes/interactive/components/compaction-summary-message.js +43 -0
  258. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  259. package/dist/modes/interactive/components/config-selector.d.ts +71 -0
  260. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  261. package/dist/modes/interactive/components/config-selector.js +470 -0
  262. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  263. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  264. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  265. package/dist/modes/interactive/components/countdown-timer.js +28 -0
  266. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  267. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  268. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  269. package/dist/modes/interactive/components/custom-editor.js +63 -0
  270. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  271. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  272. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  273. package/dist/modes/interactive/components/custom-message.js +74 -0
  274. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  275. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  276. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  277. package/dist/modes/interactive/components/daxnuts.js +138 -0
  278. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  279. package/dist/modes/interactive/components/diff.d.ts +12 -0
  280. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  281. package/dist/modes/interactive/components/diff.js +133 -0
  282. package/dist/modes/interactive/components/diff.js.map +1 -0
  283. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  284. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  285. package/dist/modes/interactive/components/dynamic-border.js +20 -0
  286. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  287. package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
  288. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  289. package/dist/modes/interactive/components/extension-editor.js +105 -0
  290. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  291. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  292. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  293. package/dist/modes/interactive/components/extension-input.js +55 -0
  294. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  295. package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
  296. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  297. package/dist/modes/interactive/components/extension-selector.js +71 -0
  298. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  299. package/dist/modes/interactive/components/footer.d.ts +26 -0
  300. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  301. package/dist/modes/interactive/components/footer.js +196 -0
  302. package/dist/modes/interactive/components/footer.js.map +1 -0
  303. package/dist/modes/interactive/components/index.d.ts +32 -0
  304. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  305. package/dist/modes/interactive/components/index.js +33 -0
  306. package/dist/modes/interactive/components/index.js.map +1 -0
  307. package/dist/modes/interactive/components/keybinding-hints.d.ts +41 -0
  308. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  309. package/dist/modes/interactive/components/keybinding-hints.js +61 -0
  310. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  311. package/dist/modes/interactive/components/login-dialog.d.ts +42 -0
  312. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  313. package/dist/modes/interactive/components/login-dialog.js +139 -0
  314. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  315. package/dist/modes/interactive/components/model-selector.d.ts +47 -0
  316. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  317. package/dist/modes/interactive/components/model-selector.js +259 -0
  318. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  319. package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
  320. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  321. package/dist/modes/interactive/components/oauth-selector.js +92 -0
  322. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  323. package/dist/modes/interactive/components/scoped-models-selector.d.ts +49 -0
  324. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  325. package/dist/modes/interactive/components/scoped-models-selector.js +271 -0
  326. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  327. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  328. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  329. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  330. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  331. package/dist/modes/interactive/components/session-selector.d.ts +95 -0
  332. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  333. package/dist/modes/interactive/components/session-selector.js +825 -0
  334. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  335. package/dist/modes/interactive/components/settings-selector.d.ts +58 -0
  336. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  337. package/dist/modes/interactive/components/settings-selector.js +295 -0
  338. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  339. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  340. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  341. package/dist/modes/interactive/components/show-images-selector.js +34 -0
  342. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  343. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  344. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  345. package/dist/modes/interactive/components/skill-invocation-message.js +45 -0
  346. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  347. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  348. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  349. package/dist/modes/interactive/components/theme-selector.js +44 -0
  350. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  351. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  352. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  353. package/dist/modes/interactive/components/thinking-selector.js +46 -0
  354. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  355. package/dist/modes/interactive/components/tool-execution.d.ts +77 -0
  356. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  357. package/dist/modes/interactive/components/tool-execution.js +773 -0
  358. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  359. package/dist/modes/interactive/components/tree-selector.d.ts +70 -0
  360. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  361. package/dist/modes/interactive/components/tree-selector.js +921 -0
  362. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  363. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  364. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  365. package/dist/modes/interactive/components/user-message-selector.js +110 -0
  366. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  367. package/dist/modes/interactive/components/user-message.d.ts +9 -0
  368. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  369. package/dist/modes/interactive/components/user-message.js +27 -0
  370. package/dist/modes/interactive/components/user-message.js.map +1 -0
  371. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  372. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  373. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  374. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  375. package/dist/modes/interactive/interactive-mode.d.ts +329 -0
  376. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  377. package/dist/modes/interactive/interactive-mode.js +3710 -0
  378. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  379. package/dist/modes/interactive/theme/theme.d.ts +78 -0
  380. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  381. package/dist/modes/interactive/theme/theme.js +944 -0
  382. package/dist/modes/interactive/theme/theme.js.map +1 -0
  383. package/dist/modes/print-mode.d.ts +28 -0
  384. package/dist/modes/print-mode.d.ts.map +1 -0
  385. package/dist/modes/print-mode.js +101 -0
  386. package/dist/modes/print-mode.js.map +1 -0
  387. package/dist/modes/rpc/rpc-client.d.ts +217 -0
  388. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  389. package/dist/modes/rpc/rpc-client.js +404 -0
  390. package/dist/modes/rpc/rpc-client.js.map +1 -0
  391. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  392. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  393. package/dist/modes/rpc/rpc-mode.js +511 -0
  394. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  395. package/dist/modes/rpc/rpc-types.d.ts +409 -0
  396. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  397. package/dist/modes/rpc/rpc-types.js +8 -0
  398. package/dist/modes/rpc/rpc-types.js.map +1 -0
  399. package/dist/utils/changelog.d.ts +21 -0
  400. package/dist/utils/changelog.d.ts.map +1 -0
  401. package/dist/utils/changelog.js +87 -0
  402. package/dist/utils/changelog.js.map +1 -0
  403. package/dist/utils/clipboard-image.d.ts +11 -0
  404. package/dist/utils/clipboard-image.d.ts.map +1 -0
  405. package/dist/utils/clipboard-image.js +162 -0
  406. package/dist/utils/clipboard-image.js.map +1 -0
  407. package/dist/utils/clipboard-native.d.ts +7 -0
  408. package/dist/utils/clipboard-native.d.ts.map +1 -0
  409. package/dist/utils/clipboard-native.js +14 -0
  410. package/dist/utils/clipboard-native.js.map +1 -0
  411. package/dist/utils/clipboard.d.ts +2 -0
  412. package/dist/utils/clipboard.d.ts.map +1 -0
  413. package/dist/utils/clipboard.js +67 -0
  414. package/dist/utils/clipboard.js.map +1 -0
  415. package/dist/utils/frontmatter.d.ts +8 -0
  416. package/dist/utils/frontmatter.d.ts.map +1 -0
  417. package/dist/utils/frontmatter.js +26 -0
  418. package/dist/utils/frontmatter.js.map +1 -0
  419. package/dist/utils/git.d.ts +26 -0
  420. package/dist/utils/git.d.ts.map +1 -0
  421. package/dist/utils/git.js +163 -0
  422. package/dist/utils/git.js.map +1 -0
  423. package/dist/utils/image-convert.d.ts +9 -0
  424. package/dist/utils/image-convert.d.ts.map +1 -0
  425. package/dist/utils/image-convert.js +35 -0
  426. package/dist/utils/image-convert.js.map +1 -0
  427. package/dist/utils/image-resize.d.ts +36 -0
  428. package/dist/utils/image-resize.d.ts.map +1 -0
  429. package/dist/utils/image-resize.js +181 -0
  430. package/dist/utils/image-resize.js.map +1 -0
  431. package/dist/utils/mime.d.ts +2 -0
  432. package/dist/utils/mime.d.ts.map +1 -0
  433. package/dist/utils/mime.js +26 -0
  434. package/dist/utils/mime.js.map +1 -0
  435. package/dist/utils/photon.d.ts +21 -0
  436. package/dist/utils/photon.d.ts.map +1 -0
  437. package/dist/utils/photon.js +121 -0
  438. package/dist/utils/photon.js.map +1 -0
  439. package/dist/utils/shell.d.ts +26 -0
  440. package/dist/utils/shell.d.ts.map +1 -0
  441. package/dist/utils/shell.js +186 -0
  442. package/dist/utils/shell.js.map +1 -0
  443. package/dist/utils/sleep.d.ts +5 -0
  444. package/dist/utils/sleep.d.ts.map +1 -0
  445. package/dist/utils/sleep.js +17 -0
  446. package/dist/utils/sleep.js.map +1 -0
  447. package/dist/utils/tools-manager.d.ts +3 -0
  448. package/dist/utils/tools-manager.d.ts.map +1 -0
  449. package/dist/utils/tools-manager.js +251 -0
  450. package/dist/utils/tools-manager.js.map +1 -0
  451. package/extensions/phi/README.md +228 -0
  452. package/extensions/phi/benchmark.ts +490 -0
  453. package/extensions/phi/init.ts +331 -0
  454. package/extensions/phi/memory.ts +285 -0
  455. package/extensions/phi/orchestrator.ts +411 -0
  456. package/extensions/phi/skill-loader.ts +336 -0
  457. package/extensions/phi/smart-router.ts +290 -0
  458. package/extensions/phi/web-search.ts +284 -0
  459. package/package.json +101 -0
@@ -0,0 +1,34 @@
1
+ import { Container, SelectList } from "phi-code-tui";
2
+ import { getSelectListTheme } from "../theme/theme.js";
3
+ import { DynamicBorder } from "./dynamic-border.js";
4
+ /**
5
+ * Component that renders a show images selector with borders
6
+ */
7
+ export class ShowImagesSelectorComponent extends Container {
8
+ constructor(currentValue, onSelect, onCancel) {
9
+ super();
10
+ const items = [
11
+ { value: "yes", label: "Yes", description: "Show images inline in terminal" },
12
+ { value: "no", label: "No", description: "Show text placeholder instead" },
13
+ ];
14
+ // Add top border
15
+ this.addChild(new DynamicBorder());
16
+ // Create selector
17
+ this.selectList = new SelectList(items, 5, getSelectListTheme());
18
+ // Preselect current value
19
+ this.selectList.setSelectedIndex(currentValue ? 0 : 1);
20
+ this.selectList.onSelect = (item) => {
21
+ onSelect(item.value === "yes");
22
+ };
23
+ this.selectList.onCancel = () => {
24
+ onCancel();
25
+ };
26
+ this.addChild(this.selectList);
27
+ // Add bottom border
28
+ this.addChild(new DynamicBorder());
29
+ }
30
+ getSelectList() {
31
+ return this.selectList;
32
+ }
33
+ }
34
+ //# sourceMappingURL=show-images-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-images-selector.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/show-images-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,SAAS;IAGzD,YAAY,YAAqB,EAAE,QAAiC,EAAE,QAAoB;QACzF,KAAK,EAAE,CAAC;QAER,MAAM,KAAK,GAAiB;YAC3B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAC7E,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,+BAA+B,EAAE;SAC1E,CAAC;QAEF,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAEnC,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEjE,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,EAAE;YAC/B,QAAQ,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD","sourcesContent":["import { Container, type SelectItem, SelectList } from \"phi-code-tui\";\nimport { getSelectListTheme } from \"../theme/theme.js\";\nimport { DynamicBorder } from \"./dynamic-border.js\";\n\n/**\n * Component that renders a show images selector with borders\n */\nexport class ShowImagesSelectorComponent extends Container {\n\tprivate selectList: SelectList;\n\n\tconstructor(currentValue: boolean, onSelect: (show: boolean) => void, onCancel: () => void) {\n\t\tsuper();\n\n\t\tconst items: SelectItem[] = [\n\t\t\t{ value: \"yes\", label: \"Yes\", description: \"Show images inline in terminal\" },\n\t\t\t{ value: \"no\", label: \"No\", description: \"Show text placeholder instead\" },\n\t\t];\n\n\t\t// Add top border\n\t\tthis.addChild(new DynamicBorder());\n\n\t\t// Create selector\n\t\tthis.selectList = new SelectList(items, 5, getSelectListTheme());\n\n\t\t// Preselect current value\n\t\tthis.selectList.setSelectedIndex(currentValue ? 0 : 1);\n\n\t\tthis.selectList.onSelect = (item) => {\n\t\t\tonSelect(item.value === \"yes\");\n\t\t};\n\n\t\tthis.selectList.onCancel = () => {\n\t\t\tonCancel();\n\t\t};\n\n\t\tthis.addChild(this.selectList);\n\n\t\t// Add bottom border\n\t\tthis.addChild(new DynamicBorder());\n\t}\n\n\tgetSelectList(): SelectList {\n\t\treturn this.selectList;\n\t}\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { Box, type MarkdownTheme } from "phi-code-tui";
2
+ import type { ParsedSkillBlock } from "../../../core/agent-session.js";
3
+ /**
4
+ * Component that renders a skill invocation message with collapsed/expanded state.
5
+ * Uses same background color as custom messages for visual consistency.
6
+ * Only renders the skill block itself - user message is rendered separately.
7
+ */
8
+ export declare class SkillInvocationMessageComponent extends Box {
9
+ private expanded;
10
+ private skillBlock;
11
+ private markdownTheme;
12
+ constructor(skillBlock: ParsedSkillBlock, markdownTheme?: MarkdownTheme);
13
+ setExpanded(expanded: boolean): void;
14
+ invalidate(): void;
15
+ private updateDisplay;
16
+ }
17
+ //# sourceMappingURL=skill-invocation-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-invocation-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/skill-invocation-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,KAAK,aAAa,EAAQ,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIvE;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,GAAG;IACvD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,UAAU,EAAE,gBAAgB,EAAE,aAAa,GAAE,aAAkC;IAO3F,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK3B,UAAU,IAAI,IAAI;IAK3B,OAAO,CAAC,aAAa;CAsBrB"}
@@ -0,0 +1,45 @@
1
+ import { Box, Markdown, Text } from "phi-code-tui";
2
+ import { getMarkdownTheme, theme } from "../theme/theme.js";
3
+ import { editorKey } from "./keybinding-hints.js";
4
+ /**
5
+ * Component that renders a skill invocation message with collapsed/expanded state.
6
+ * Uses same background color as custom messages for visual consistency.
7
+ * Only renders the skill block itself - user message is rendered separately.
8
+ */
9
+ export class SkillInvocationMessageComponent extends Box {
10
+ constructor(skillBlock, markdownTheme = getMarkdownTheme()) {
11
+ super(1, 1, (t) => theme.bg("customMessageBg", t));
12
+ this.expanded = false;
13
+ this.skillBlock = skillBlock;
14
+ this.markdownTheme = markdownTheme;
15
+ this.updateDisplay();
16
+ }
17
+ setExpanded(expanded) {
18
+ this.expanded = expanded;
19
+ this.updateDisplay();
20
+ }
21
+ invalidate() {
22
+ super.invalidate();
23
+ this.updateDisplay();
24
+ }
25
+ updateDisplay() {
26
+ this.clear();
27
+ if (this.expanded) {
28
+ // Expanded: label + skill name header + full content
29
+ const label = theme.fg("customMessageLabel", `\x1b[1m[skill]\x1b[22m`);
30
+ this.addChild(new Text(label, 0, 0));
31
+ const header = `**${this.skillBlock.name}**\n\n`;
32
+ this.addChild(new Markdown(header + this.skillBlock.content, 0, 0, this.markdownTheme, {
33
+ color: (text) => theme.fg("customMessageText", text),
34
+ }));
35
+ }
36
+ else {
37
+ // Collapsed: single line - [skill] name (hint to expand)
38
+ const line = theme.fg("customMessageLabel", `\x1b[1m[skill]\x1b[22m `) +
39
+ theme.fg("customMessageText", this.skillBlock.name) +
40
+ theme.fg("dim", ` (${editorKey("expandTools")} to expand)`);
41
+ this.addChild(new Text(line, 0, 0));
42
+ }
43
+ }
44
+ }
45
+ //# sourceMappingURL=skill-invocation-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-invocation-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/skill-invocation-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAsB,IAAI,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAO,+BAAgC,SAAQ,GAAG;IAKvD,YAAY,UAA4B,EAAE,gBAA+B,gBAAgB,EAAE;QAC1F,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QAL5C,aAAQ,GAAG,KAAK,CAAC;QAMxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,QAAiB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEQ,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEO,aAAa;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,qDAAqD;YACrD,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC;YACjD,IAAI,CAAC,QAAQ,CACZ,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE;gBACxE,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAC5D,CAAC,CACF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,yDAAyD;YACzD,MAAM,IAAI,GACT,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;gBACzD,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;CACD","sourcesContent":["import { Box, Markdown, type MarkdownTheme, Text } from \"phi-code-tui\";\nimport type { ParsedSkillBlock } from \"../../../core/agent-session.js\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.js\";\nimport { editorKey } from \"./keybinding-hints.js\";\n\n/**\n * Component that renders a skill invocation message with collapsed/expanded state.\n * Uses same background color as custom messages for visual consistency.\n * Only renders the skill block itself - user message is rendered separately.\n */\nexport class SkillInvocationMessageComponent extends Box {\n\tprivate expanded = false;\n\tprivate skillBlock: ParsedSkillBlock;\n\tprivate markdownTheme: MarkdownTheme;\n\n\tconstructor(skillBlock: ParsedSkillBlock, markdownTheme: MarkdownTheme = getMarkdownTheme()) {\n\t\tsuper(1, 1, (t) => theme.bg(\"customMessageBg\", t));\n\t\tthis.skillBlock = skillBlock;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.updateDisplay();\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tthis.expanded = expanded;\n\t\tthis.updateDisplay();\n\t}\n\n\toverride invalidate(): void {\n\t\tsuper.invalidate();\n\t\tthis.updateDisplay();\n\t}\n\n\tprivate updateDisplay(): void {\n\t\tthis.clear();\n\n\t\tif (this.expanded) {\n\t\t\t// Expanded: label + skill name header + full content\n\t\t\tconst label = theme.fg(\"customMessageLabel\", `\\x1b[1m[skill]\\x1b[22m`);\n\t\t\tthis.addChild(new Text(label, 0, 0));\n\t\t\tconst header = `**${this.skillBlock.name}**\\n\\n`;\n\t\t\tthis.addChild(\n\t\t\t\tnew Markdown(header + this.skillBlock.content, 0, 0, this.markdownTheme, {\n\t\t\t\t\tcolor: (text: string) => theme.fg(\"customMessageText\", text),\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\t// Collapsed: single line - [skill] name (hint to expand)\n\t\t\tconst line =\n\t\t\t\ttheme.fg(\"customMessageLabel\", `\\x1b[1m[skill]\\x1b[22m `) +\n\t\t\t\ttheme.fg(\"customMessageText\", this.skillBlock.name) +\n\t\t\t\ttheme.fg(\"dim\", ` (${editorKey(\"expandTools\")} to expand)`);\n\t\t\tthis.addChild(new Text(line, 0, 0));\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { Container, SelectList } from "phi-code-tui";
2
+ /**
3
+ * Component that renders a theme selector
4
+ */
5
+ export declare class ThemeSelectorComponent extends Container {
6
+ private selectList;
7
+ private onPreview;
8
+ constructor(currentTheme: string, onSelect: (themeName: string) => void, onCancel: () => void, onPreview: (themeName: string) => void);
9
+ getSelectList(): SelectList;
10
+ }
11
+ //# sourceMappingURL=theme-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-selector.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/theme-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AAItE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAA8B;gBAG9C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,EACrC,QAAQ,EAAE,MAAM,IAAI,EACpB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;IA2CvC,aAAa,IAAI,UAAU;CAG3B"}
@@ -0,0 +1,44 @@
1
+ import { Container, SelectList } from "phi-code-tui";
2
+ import { getAvailableThemes, getSelectListTheme } from "../theme/theme.js";
3
+ import { DynamicBorder } from "./dynamic-border.js";
4
+ /**
5
+ * Component that renders a theme selector
6
+ */
7
+ export class ThemeSelectorComponent extends Container {
8
+ constructor(currentTheme, onSelect, onCancel, onPreview) {
9
+ super();
10
+ this.onPreview = onPreview;
11
+ // Get available themes and create select items
12
+ const themes = getAvailableThemes();
13
+ const themeItems = themes.map((name) => ({
14
+ value: name,
15
+ label: name,
16
+ description: name === currentTheme ? "(current)" : undefined,
17
+ }));
18
+ // Add top border
19
+ this.addChild(new DynamicBorder());
20
+ // Create selector
21
+ this.selectList = new SelectList(themeItems, 10, getSelectListTheme());
22
+ // Preselect current theme
23
+ const currentIndex = themes.indexOf(currentTheme);
24
+ if (currentIndex !== -1) {
25
+ this.selectList.setSelectedIndex(currentIndex);
26
+ }
27
+ this.selectList.onSelect = (item) => {
28
+ onSelect(item.value);
29
+ };
30
+ this.selectList.onCancel = () => {
31
+ onCancel();
32
+ };
33
+ this.selectList.onSelectionChange = (item) => {
34
+ this.onPreview(item.value);
35
+ };
36
+ this.addChild(this.selectList);
37
+ // Add bottom border
38
+ this.addChild(new DynamicBorder());
39
+ }
40
+ getSelectList() {
41
+ return this.selectList;
42
+ }
43
+ }
44
+ //# sourceMappingURL=theme-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-selector.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/theme-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IAIpD,YACC,YAAoB,EACpB,QAAqC,EACrC,QAAoB,EACpB,SAAsC;QAEtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,+CAA+C;QAC/C,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC,CAAC;QAEJ,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAEnC,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,EAAE;YAC/B,QAAQ,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD","sourcesContent":["import { Container, type SelectItem, SelectList } from \"phi-code-tui\";\nimport { getAvailableThemes, getSelectListTheme } from \"../theme/theme.js\";\nimport { DynamicBorder } from \"./dynamic-border.js\";\n\n/**\n * Component that renders a theme selector\n */\nexport class ThemeSelectorComponent extends Container {\n\tprivate selectList: SelectList;\n\tprivate onPreview: (themeName: string) => void;\n\n\tconstructor(\n\t\tcurrentTheme: string,\n\t\tonSelect: (themeName: string) => void,\n\t\tonCancel: () => void,\n\t\tonPreview: (themeName: string) => void,\n\t) {\n\t\tsuper();\n\t\tthis.onPreview = onPreview;\n\n\t\t// Get available themes and create select items\n\t\tconst themes = getAvailableThemes();\n\t\tconst themeItems: SelectItem[] = themes.map((name) => ({\n\t\t\tvalue: name,\n\t\t\tlabel: name,\n\t\t\tdescription: name === currentTheme ? \"(current)\" : undefined,\n\t\t}));\n\n\t\t// Add top border\n\t\tthis.addChild(new DynamicBorder());\n\n\t\t// Create selector\n\t\tthis.selectList = new SelectList(themeItems, 10, getSelectListTheme());\n\n\t\t// Preselect current theme\n\t\tconst currentIndex = themes.indexOf(currentTheme);\n\t\tif (currentIndex !== -1) {\n\t\t\tthis.selectList.setSelectedIndex(currentIndex);\n\t\t}\n\n\t\tthis.selectList.onSelect = (item) => {\n\t\t\tonSelect(item.value);\n\t\t};\n\n\t\tthis.selectList.onCancel = () => {\n\t\t\tonCancel();\n\t\t};\n\n\t\tthis.selectList.onSelectionChange = (item) => {\n\t\t\tthis.onPreview(item.value);\n\t\t};\n\n\t\tthis.addChild(this.selectList);\n\n\t\t// Add bottom border\n\t\tthis.addChild(new DynamicBorder());\n\t}\n\n\tgetSelectList(): SelectList {\n\t\treturn this.selectList;\n\t}\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { ThinkingLevel } from "phi-code-agent";
2
+ import { Container, SelectList } from "phi-code-tui";
3
+ /**
4
+ * Component that renders a thinking level selector with borders
5
+ */
6
+ export declare class ThinkingSelectorComponent extends Container {
7
+ private selectList;
8
+ constructor(currentLevel: ThinkingLevel, availableLevels: ThinkingLevel[], onSelect: (level: ThinkingLevel) => void, onCancel: () => void);
9
+ getSelectList(): SelectList;
10
+ }
11
+ //# sourceMappingURL=thinking-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-selector.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/thinking-selector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AAatE;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACvD,OAAO,CAAC,UAAU,CAAa;gBAG9B,YAAY,EAAE,aAAa,EAC3B,eAAe,EAAE,aAAa,EAAE,EAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACxC,QAAQ,EAAE,MAAM,IAAI;IAoCrB,aAAa,IAAI,UAAU;CAG3B"}
@@ -0,0 +1,46 @@
1
+ import { Container, SelectList } from "phi-code-tui";
2
+ import { getSelectListTheme } from "../theme/theme.js";
3
+ import { DynamicBorder } from "./dynamic-border.js";
4
+ const LEVEL_DESCRIPTIONS = {
5
+ off: "No reasoning",
6
+ minimal: "Very brief reasoning (~1k tokens)",
7
+ low: "Light reasoning (~2k tokens)",
8
+ medium: "Moderate reasoning (~8k tokens)",
9
+ high: "Deep reasoning (~16k tokens)",
10
+ xhigh: "Maximum reasoning (~32k tokens)",
11
+ };
12
+ /**
13
+ * Component that renders a thinking level selector with borders
14
+ */
15
+ export class ThinkingSelectorComponent extends Container {
16
+ constructor(currentLevel, availableLevels, onSelect, onCancel) {
17
+ super();
18
+ const thinkingLevels = availableLevels.map((level) => ({
19
+ value: level,
20
+ label: level,
21
+ description: LEVEL_DESCRIPTIONS[level],
22
+ }));
23
+ // Add top border
24
+ this.addChild(new DynamicBorder());
25
+ // Create selector
26
+ this.selectList = new SelectList(thinkingLevels, thinkingLevels.length, getSelectListTheme());
27
+ // Preselect current level
28
+ const currentIndex = thinkingLevels.findIndex((item) => item.value === currentLevel);
29
+ if (currentIndex !== -1) {
30
+ this.selectList.setSelectedIndex(currentIndex);
31
+ }
32
+ this.selectList.onSelect = (item) => {
33
+ onSelect(item.value);
34
+ };
35
+ this.selectList.onCancel = () => {
36
+ onCancel();
37
+ };
38
+ this.addChild(this.selectList);
39
+ // Add bottom border
40
+ this.addChild(new DynamicBorder());
41
+ }
42
+ getSelectList() {
43
+ return this.selectList;
44
+ }
45
+ }
46
+ //# sourceMappingURL=thinking-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-selector.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/thinking-selector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,kBAAkB,GAAkC;IACzD,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,mCAAmC;IAC5C,GAAG,EAAE,8BAA8B;IACnC,MAAM,EAAE,iCAAiC;IACzC,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,iCAAiC;CACxC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IAGvD,YACC,YAA2B,EAC3B,eAAgC,EAChC,QAAwC,EACxC,QAAoB;QAEpB,KAAK,EAAE,CAAC;QAER,MAAM,cAAc,GAAiB,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpE,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;SACtC,CAAC,CAAC,CAAC;QAEJ,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAEnC,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAE9F,0BAA0B;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QACrF,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,KAAsB,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,EAAE;YAC/B,QAAQ,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD","sourcesContent":["import type { ThinkingLevel } from \"phi-code-agent\";\nimport { Container, type SelectItem, SelectList } from \"phi-code-tui\";\nimport { getSelectListTheme } from \"../theme/theme.js\";\nimport { DynamicBorder } from \"./dynamic-border.js\";\n\nconst LEVEL_DESCRIPTIONS: Record<ThinkingLevel, string> = {\n\toff: \"No reasoning\",\n\tminimal: \"Very brief reasoning (~1k tokens)\",\n\tlow: \"Light reasoning (~2k tokens)\",\n\tmedium: \"Moderate reasoning (~8k tokens)\",\n\thigh: \"Deep reasoning (~16k tokens)\",\n\txhigh: \"Maximum reasoning (~32k tokens)\",\n};\n\n/**\n * Component that renders a thinking level selector with borders\n */\nexport class ThinkingSelectorComponent extends Container {\n\tprivate selectList: SelectList;\n\n\tconstructor(\n\t\tcurrentLevel: ThinkingLevel,\n\t\tavailableLevels: ThinkingLevel[],\n\t\tonSelect: (level: ThinkingLevel) => void,\n\t\tonCancel: () => void,\n\t) {\n\t\tsuper();\n\n\t\tconst thinkingLevels: SelectItem[] = availableLevels.map((level) => ({\n\t\t\tvalue: level,\n\t\t\tlabel: level,\n\t\t\tdescription: LEVEL_DESCRIPTIONS[level],\n\t\t}));\n\n\t\t// Add top border\n\t\tthis.addChild(new DynamicBorder());\n\n\t\t// Create selector\n\t\tthis.selectList = new SelectList(thinkingLevels, thinkingLevels.length, getSelectListTheme());\n\n\t\t// Preselect current level\n\t\tconst currentIndex = thinkingLevels.findIndex((item) => item.value === currentLevel);\n\t\tif (currentIndex !== -1) {\n\t\t\tthis.selectList.setSelectedIndex(currentIndex);\n\t\t}\n\n\t\tthis.selectList.onSelect = (item) => {\n\t\t\tonSelect(item.value as ThinkingLevel);\n\t\t};\n\n\t\tthis.selectList.onCancel = () => {\n\t\t\tonCancel();\n\t\t};\n\n\t\tthis.addChild(this.selectList);\n\n\t\t// Add bottom border\n\t\tthis.addChild(new DynamicBorder());\n\t}\n\n\tgetSelectList(): SelectList {\n\t\treturn this.selectList;\n\t}\n}\n"]}
@@ -0,0 +1,77 @@
1
+ import { Container, type TUI } from "phi-code-tui";
2
+ import type { ToolDefinition } from "../../../core/extensions/types.js";
3
+ export interface ToolExecutionOptions {
4
+ showImages?: boolean;
5
+ }
6
+ /**
7
+ * Component that renders a tool call with its result (updateable)
8
+ */
9
+ export declare class ToolExecutionComponent extends Container {
10
+ private contentBox;
11
+ private contentText;
12
+ private imageComponents;
13
+ private imageSpacers;
14
+ private toolName;
15
+ private args;
16
+ private expanded;
17
+ private showImages;
18
+ private isPartial;
19
+ private toolDefinition?;
20
+ private ui;
21
+ private cwd;
22
+ private result?;
23
+ private editDiffPreview?;
24
+ private editDiffArgsKey?;
25
+ private convertedImages;
26
+ private writeHighlightCache?;
27
+ private hideComponent;
28
+ constructor(toolName: string, args: any, options: ToolExecutionOptions | undefined, toolDefinition: ToolDefinition | undefined, ui: TUI, cwd?: string);
29
+ /**
30
+ * Check if we should use built-in rendering for this tool.
31
+ * Returns true if the tool name is a built-in AND either there's no toolDefinition
32
+ * or the toolDefinition doesn't provide custom renderers.
33
+ */
34
+ private shouldUseBuiltInRenderer;
35
+ updateArgs(args: any): void;
36
+ private highlightSingleLine;
37
+ private refreshWriteHighlightPrefix;
38
+ private rebuildWriteHighlightCacheFull;
39
+ private updateWriteHighlightCacheIncremental;
40
+ /**
41
+ * Signal that args are complete (tool is about to execute).
42
+ * This triggers diff computation for edit tool.
43
+ */
44
+ setArgsComplete(): void;
45
+ /**
46
+ * Compute edit diff preview when we have complete args.
47
+ * This runs async and updates display when done.
48
+ */
49
+ private maybeComputeEditDiff;
50
+ updateResult(result: {
51
+ content: Array<{
52
+ type: string;
53
+ text?: string;
54
+ data?: string;
55
+ mimeType?: string;
56
+ }>;
57
+ details?: any;
58
+ isError: boolean;
59
+ }, isPartial?: boolean): void;
60
+ /**
61
+ * Convert non-PNG images to PNG for Kitty graphics protocol.
62
+ * Kitty requires PNG format (f=100), so JPEG/GIF/WebP won't display.
63
+ */
64
+ private maybeConvertImagesForKitty;
65
+ setExpanded(expanded: boolean): void;
66
+ setShowImages(show: boolean): void;
67
+ invalidate(): void;
68
+ render(width: number): string[];
69
+ private updateDisplay;
70
+ /**
71
+ * Render bash content using visual line truncation (like bash-execution.ts)
72
+ */
73
+ private renderBashContent;
74
+ private getTextOutput;
75
+ private formatToolExecution;
76
+ }
77
+ //# sourceMappingURL=tool-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/tool-execution.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,SAAS,EAOT,KAAK,GAAG,EAER,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAmDxE,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAUD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACpD,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAC,CAIb;IAEF,OAAO,CAAC,eAAe,CAAC,CAAiC;IACzD,OAAO,CAAC,eAAe,CAAC,CAAS;IAEjC,OAAO,CAAC,eAAe,CAA8D;IAErF,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAElD,OAAO,CAAC,aAAa,CAAS;gBAG7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,oBAAoB,YAAK,EAClC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,EAAE,EAAE,GAAG,EACP,GAAG,GAAE,MAAsB;IA2B5B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAMhC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAQ3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,8BAA8B;IAkBtC,OAAO,CAAC,oCAAoC;IAyD5C;;;OAGG;IACH,eAAe,IAAI,IAAI;IAWvB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,YAAY,CACX,MAAM,EAAE;QACP,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClF,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACjB,EACD,SAAS,UAAQ,GACf,IAAI;IAeP;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA2BlC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKpC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAKzB,UAAU,IAAI,IAAI;IAKlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAOxC,OAAO,CAAC,aAAa;IAiIrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+EzB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,mBAAmB;CA8S3B"}