@oh-my-pi/pi-coding-agent 6.9.69 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/CHANGELOG.md +219 -51
  2. package/README.md +1 -1
  3. package/docs/hooks.md +2 -2
  4. package/docs/sdk.md +1 -1
  5. package/examples/sdk/04-skills.ts +1 -1
  6. package/package.json +10 -10
  7. package/scripts/format-prompts.ts +143 -0
  8. package/scripts/generate-template.ts +1 -1
  9. package/src/cli/args.ts +3 -3
  10. package/src/cli/config-cli.ts +4 -4
  11. package/src/cli/file-processor.ts +3 -3
  12. package/src/cli/list-models.ts +2 -2
  13. package/src/cli/plugin-cli.ts +3 -3
  14. package/src/cli/session-picker.ts +2 -2
  15. package/src/cli/setup-cli.ts +2 -2
  16. package/src/cli/stats-cli.ts +1 -1
  17. package/src/cli/update-cli.ts +2 -2
  18. package/src/{core → config}/keybindings.ts +1 -1
  19. package/src/{core → config}/model-registry.ts +8 -1
  20. package/src/{core → config}/model-resolver.ts +3 -3
  21. package/src/{core → config}/prompt-templates.ts +2 -2
  22. package/src/{core → config}/settings-manager.ts +6 -6
  23. package/src/{core/cursor/exec-bridge.ts → cursor.ts} +4 -4
  24. package/src/discovery/agents-md.ts +4 -4
  25. package/src/discovery/builtin.ts +17 -17
  26. package/src/discovery/claude.ts +12 -12
  27. package/src/discovery/cline.ts +6 -6
  28. package/src/discovery/codex.ts +21 -21
  29. package/src/discovery/cursor.ts +9 -9
  30. package/src/discovery/gemini.ts +9 -9
  31. package/src/discovery/github.ts +6 -6
  32. package/src/discovery/helpers.ts +4 -4
  33. package/src/discovery/index.ts +16 -16
  34. package/src/discovery/mcp-json.ts +4 -4
  35. package/src/discovery/ssh.ts +4 -4
  36. package/src/discovery/vscode.ts +4 -4
  37. package/src/discovery/windsurf.ts +6 -6
  38. package/src/{core/tools/exa → exa}/company.ts +2 -3
  39. package/src/{core/tools/exa → exa}/index.ts +2 -2
  40. package/src/{core/tools/exa → exa}/linkedin.ts +2 -3
  41. package/src/{core/tools/exa → exa}/mcp-client.ts +2 -2
  42. package/src/{core/tools/exa → exa}/render.ts +3 -3
  43. package/src/{core/tools/exa → exa}/researcher.ts +1 -1
  44. package/src/{core/tools/exa → exa}/search.ts +2 -10
  45. package/src/{core/tools/exa → exa}/websets.ts +1 -1
  46. package/src/{core → exec}/bash-executor.ts +23 -7
  47. package/src/{core → export}/custom-share.ts +1 -1
  48. package/src/{core/export-html → export/html}/index.ts +3 -3
  49. package/src/{core → export}/ttsr.ts +2 -2
  50. package/src/{core → extensibility}/custom-commands/bundled/review/index.ts +4 -4
  51. package/src/{core → extensibility}/custom-commands/loader.ts +3 -3
  52. package/src/{core → extensibility}/custom-commands/types.ts +1 -1
  53. package/src/{core → extensibility}/custom-tools/loader.ts +9 -9
  54. package/src/{core → extensibility}/custom-tools/types.ts +6 -6
  55. package/src/{core → extensibility}/custom-tools/wrapper.ts +1 -1
  56. package/src/{core → extensibility}/extensions/loader.ts +8 -8
  57. package/src/{core → extensibility}/extensions/runner.ts +3 -3
  58. package/src/{core → extensibility}/extensions/types.ts +15 -15
  59. package/src/{core → extensibility}/extensions/wrapper.ts +1 -1
  60. package/src/{core → extensibility}/hooks/index.ts +1 -1
  61. package/src/{core → extensibility}/hooks/loader.ts +7 -7
  62. package/src/{core → extensibility}/hooks/runner.ts +4 -4
  63. package/src/{core → extensibility}/hooks/types.ts +9 -9
  64. package/src/{core → extensibility}/plugins/doctor.ts +1 -1
  65. package/src/{core → extensibility}/plugins/installer.ts +2 -3
  66. package/src/{core → extensibility}/plugins/paths.ts +1 -1
  67. package/src/{core → extensibility}/skills.ts +8 -48
  68. package/src/{core → extensibility}/slash-commands.ts +6 -6
  69. package/src/index.ts +127 -128
  70. package/src/internal-urls/agent-protocol.ts +126 -0
  71. package/src/internal-urls/artifact-protocol.ts +93 -0
  72. package/src/internal-urls/index.ts +28 -0
  73. package/src/internal-urls/json-query.ts +126 -0
  74. package/src/internal-urls/router.ts +69 -0
  75. package/src/internal-urls/rule-protocol.ts +56 -0
  76. package/src/internal-urls/skill-protocol.ts +112 -0
  77. package/src/internal-urls/types.ts +48 -0
  78. package/src/{core/python-executor.ts → ipy/executor.ts} +74 -13
  79. package/src/{core/python-gateway-coordinator.ts → ipy/gateway-coordinator.ts} +40 -270
  80. package/src/{core/python-kernel.ts → ipy/kernel.ts} +38 -10
  81. package/src/{core/python-prelude.py → ipy/prelude.py} +201 -8
  82. package/src/ipy/prelude.ts +3 -0
  83. package/src/{core/tools/lsp → lsp}/client.ts +7 -6
  84. package/src/{core/tools/lsp → lsp}/clients/biome-client.ts +1 -1
  85. package/src/{core/tools/lsp → lsp}/clients/index.ts +1 -1
  86. package/src/{core/tools/lsp → lsp}/clients/lsp-linter-client.ts +4 -4
  87. package/src/{core/tools/lsp → lsp}/config.ts +1 -1
  88. package/src/{core/tools/lsp → lsp}/index.ts +29 -17
  89. package/src/{core/tools/lsp → lsp}/render.ts +2 -2
  90. package/src/{core/tools/lsp → lsp}/types.ts +14 -16
  91. package/src/{core/tools/lsp → lsp}/utils.ts +1 -1
  92. package/src/main.ts +12 -12
  93. package/src/{core/mcp → mcp}/config.ts +8 -8
  94. package/src/{core/mcp → mcp}/loader.ts +5 -6
  95. package/src/{core/mcp → mcp}/manager.ts +2 -2
  96. package/src/{core/mcp → mcp}/tool-bridge.ts +35 -6
  97. package/src/{core/mcp → mcp}/tool-cache.ts +1 -1
  98. package/src/{core/mcp → mcp}/transports/http.ts +7 -1
  99. package/src/{core/mcp → mcp}/transports/stdio.ts +1 -1
  100. package/src/{core/mcp → mcp}/types.ts +1 -1
  101. package/src/migrations.ts +2 -2
  102. package/src/modes/{interactive/components → components}/armin.ts +1 -1
  103. package/src/modes/{interactive/components → components}/assistant-message.ts +1 -1
  104. package/src/modes/{interactive/components → components}/bash-execution.ts +37 -29
  105. package/src/modes/{interactive/components → components}/bordered-loader.ts +1 -1
  106. package/src/modes/{interactive/components → components}/branch-summary-message.ts +2 -2
  107. package/src/modes/{interactive/components → components}/compaction-summary-message.ts +2 -2
  108. package/src/modes/{interactive/components → components}/custom-message.ts +3 -3
  109. package/src/modes/{interactive/components → components}/diff.ts +1 -1
  110. package/src/modes/{interactive/components → components}/dynamic-border.ts +1 -1
  111. package/src/modes/{interactive/components → components}/extensions/extension-dashboard.ts +3 -3
  112. package/src/modes/{interactive/components → components}/extensions/extension-list.ts +2 -2
  113. package/src/modes/{interactive/components → components}/extensions/inspector-panel.ts +1 -1
  114. package/src/modes/{interactive/components → components}/extensions/state-manager.ts +11 -17
  115. package/src/modes/{interactive/components → components}/extensions/types.ts +1 -1
  116. package/src/modes/{interactive/components → components}/footer.ts +3 -3
  117. package/src/modes/{interactive/components → components}/history-search.ts +2 -2
  118. package/src/modes/{interactive/components → components}/hook-editor.ts +1 -1
  119. package/src/modes/{interactive/components → components}/hook-input.ts +1 -1
  120. package/src/modes/{interactive/components → components}/hook-message.ts +3 -3
  121. package/src/modes/{interactive/components → components}/hook-selector.ts +1 -1
  122. package/src/modes/{interactive/components → components}/keybinding-hints.ts +2 -2
  123. package/src/modes/{interactive/components → components}/login-dialog.ts +1 -1
  124. package/src/modes/{interactive/components → components}/model-selector.ts +5 -5
  125. package/src/modes/{interactive/components → components}/oauth-selector.ts +2 -2
  126. package/src/modes/{interactive/components → components}/plugin-settings.ts +3 -3
  127. package/src/modes/{interactive/components → components}/python-execution.ts +35 -24
  128. package/src/modes/{interactive/components → components}/queue-mode-selector.ts +1 -1
  129. package/src/modes/{interactive/components → components}/read-tool-group.ts +2 -2
  130. package/src/modes/{interactive/components → components}/session-selector.ts +3 -3
  131. package/src/modes/{interactive/components → components}/settings-defs.ts +2 -2
  132. package/src/modes/{interactive/components → components}/settings-selector.ts +2 -2
  133. package/src/modes/{interactive/components → components}/show-images-selector.ts +1 -1
  134. package/src/modes/{interactive/components → components}/status-line/segments.ts +2 -2
  135. package/src/modes/{interactive/components → components}/status-line/separators.ts +1 -1
  136. package/src/modes/{interactive/components → components}/status-line/types.ts +2 -2
  137. package/src/modes/{interactive/components → components}/status-line-segment-editor.ts +2 -2
  138. package/src/modes/{interactive/components → components}/status-line.ts +3 -3
  139. package/src/modes/{interactive/components → components}/theme-selector.ts +1 -1
  140. package/src/modes/{interactive/components → components}/thinking-selector.ts +1 -1
  141. package/src/modes/{interactive/components → components}/todo-display.ts +3 -4
  142. package/src/modes/{interactive/components → components}/todo-reminder.ts +2 -2
  143. package/src/modes/{interactive/components → components}/tool-execution.ts +8 -8
  144. package/src/modes/{interactive/components → components}/tree-selector.ts +3 -3
  145. package/src/modes/{interactive/components → components}/ttsr-notification.ts +2 -2
  146. package/src/modes/{interactive/components → components}/user-message-selector.ts +1 -1
  147. package/src/modes/{interactive/components → components}/user-message.ts +1 -1
  148. package/src/modes/{interactive/components → components}/welcome.ts +2 -2
  149. package/src/modes/{interactive/controllers → controllers}/command-controller.ts +381 -30
  150. package/src/modes/{interactive/controllers → controllers}/event-controller.ts +9 -9
  151. package/src/modes/{interactive/controllers → controllers}/extension-ui-controller.ts +8 -8
  152. package/src/modes/{interactive/controllers → controllers}/input-controller.ts +61 -13
  153. package/src/modes/{interactive/controllers → controllers}/selector-controller.ts +16 -16
  154. package/src/modes/index.ts +1 -1
  155. package/src/modes/{interactive/interactive-mode.ts → interactive-mode.ts} +20 -15
  156. package/src/modes/print-mode.ts +1 -1
  157. package/src/modes/rpc/rpc-client.ts +3 -3
  158. package/src/modes/rpc/rpc-mode.ts +3 -3
  159. package/src/modes/rpc/rpc-types.ts +3 -3
  160. package/src/modes/{interactive/theme → theme}/theme.ts +1 -1
  161. package/src/modes/{interactive/types.ts → types.ts} +10 -10
  162. package/src/modes/{interactive/utils → utils}/ui-helpers.ts +20 -27
  163. package/src/{core/tools/patch → patch}/applicator.ts +1 -1
  164. package/src/{core/tools/patch → patch}/diff.ts +1 -1
  165. package/src/{core/tools/patch → patch}/index.ts +31 -36
  166. package/src/{core/tools/patch → patch}/shared.ts +9 -6
  167. package/src/prompts/agents/explore.md +83 -46
  168. package/src/prompts/agents/init.md +9 -4
  169. package/src/prompts/agents/plan.md +8 -7
  170. package/src/prompts/agents/reviewer.md +36 -18
  171. package/src/prompts/agents/task.md +4 -4
  172. package/src/prompts/compaction/branch-summary-preamble.md +0 -1
  173. package/src/prompts/review-request.md +0 -1
  174. package/src/prompts/system/custom-system-prompt.md +2 -14
  175. package/src/prompts/system/file-operations.md +0 -2
  176. package/src/prompts/system/system-prompt.md +182 -171
  177. package/src/prompts/system/web-search.md +26 -0
  178. package/src/prompts/tools/ask.md +31 -24
  179. package/src/prompts/tools/bash.md +20 -17
  180. package/src/prompts/tools/calculator.md +9 -5
  181. package/src/prompts/tools/fetch.md +16 -0
  182. package/src/prompts/tools/find.md +15 -5
  183. package/src/prompts/tools/gemini-image.md +21 -6
  184. package/src/prompts/tools/grep.md +28 -12
  185. package/src/prompts/tools/lsp.md +35 -14
  186. package/src/prompts/tools/patch.md +39 -41
  187. package/src/prompts/tools/python.md +59 -77
  188. package/src/prompts/tools/read.md +23 -22
  189. package/src/prompts/tools/replace.md +19 -12
  190. package/src/prompts/tools/ssh.md +21 -28
  191. package/src/prompts/tools/task.md +54 -44
  192. package/src/prompts/tools/todo-write.md +52 -163
  193. package/src/prompts/tools/web-search.md +16 -9
  194. package/src/prompts/tools/write.md +13 -2
  195. package/src/{core/sdk.ts → sdk.ts} +65 -34
  196. package/src/{core → session}/agent-session.ts +157 -41
  197. package/src/{core → session}/agent-storage.ts +2 -2
  198. package/src/session/artifacts.ts +110 -0
  199. package/src/{core → session}/auth-storage.ts +525 -203
  200. package/src/{core → session}/compaction/branch-summarization.ts +5 -5
  201. package/src/{core → session}/compaction/compaction.ts +6 -6
  202. package/src/{core → session}/compaction/utils.ts +3 -3
  203. package/src/{core → session}/history-storage.ts +1 -1
  204. package/src/{core → session}/messages.ts +6 -8
  205. package/src/{core → session}/session-manager.ts +2 -2
  206. package/src/{core → session}/storage-migration.ts +2 -2
  207. package/src/session/streaming-output.ts +177 -0
  208. package/src/{core/ssh → ssh}/connection-manager.ts +1 -1
  209. package/src/{core/ssh → ssh}/ssh-executor.ts +19 -4
  210. package/src/{core/ssh → ssh}/sshfs-mount.ts +1 -1
  211. package/src/{core/system-prompt.ts → system-prompt.ts} +8 -37
  212. package/src/{core/tools/task → task}/agents.ts +8 -8
  213. package/src/{core/tools/task → task}/commands.ts +5 -6
  214. package/src/{core/tools/task → task}/discovery.ts +3 -3
  215. package/src/{core/tools/task → task}/executor.ts +34 -44
  216. package/src/{core/tools/task → task}/index.ts +206 -50
  217. package/src/{core/tools/task → task}/render.ts +80 -23
  218. package/src/{core/tools/task → task}/subprocess-tool-registry.ts +1 -1
  219. package/src/task/template.ts +47 -0
  220. package/src/{core/tools/task → task}/types.ts +19 -27
  221. package/src/{core/tools/task → task}/worker-protocol.ts +8 -4
  222. package/src/{core/tools/task → task}/worker.ts +34 -29
  223. package/src/task/worktree.ts +166 -0
  224. package/src/{core/tools → tools}/ask.ts +13 -21
  225. package/src/{core/tools → tools}/bash-interceptor.ts +1 -1
  226. package/src/{core/tools → tools}/bash.ts +61 -63
  227. package/src/{core/tools → tools}/calculator.ts +4 -4
  228. package/src/{core/tools → tools}/complete.ts +1 -1
  229. package/src/{core/tools → tools}/context.ts +2 -2
  230. package/src/{core/tools/web-fetch.ts → tools/fetch.ts} +97 -76
  231. package/src/{core/tools → tools}/find.ts +96 -107
  232. package/src/{core/tools → tools}/gemini-image.ts +420 -29
  233. package/src/{core/tools → tools}/grep.ts +155 -164
  234. package/src/{core/tools → tools}/index.ts +63 -56
  235. package/src/tools/list-limit.ts +40 -0
  236. package/src/{core/tools → tools}/ls.ts +44 -35
  237. package/src/{core/tools → tools}/notebook.ts +3 -3
  238. package/src/tools/output-meta.ts +443 -0
  239. package/src/tools/output-utils.ts +63 -0
  240. package/src/{core/tools → tools}/python.ts +106 -89
  241. package/src/tools/read.ts +882 -0
  242. package/src/{core/tools → tools}/render-utils.ts +1 -1
  243. package/src/{core/tools → tools}/renderers.ts +8 -10
  244. package/src/{core/tools → tools}/review.ts +2 -2
  245. package/src/{core/tools → tools}/ssh.ts +56 -59
  246. package/src/{core/tools → tools}/todo-write.ts +12 -23
  247. package/src/tools/tool-errors.ts +95 -0
  248. package/src/tools/tool-result.ts +92 -0
  249. package/src/{core/tools → tools}/truncate.ts +2 -2
  250. package/src/{core/tools → tools}/write.ts +15 -13
  251. package/src/utils/changelog.ts +1 -1
  252. package/src/{core → utils}/file-mentions.ts +4 -4
  253. package/src/utils/image-convert.ts +1 -1
  254. package/src/utils/image-resize.ts +1 -1
  255. package/src/utils/shell.ts +1 -1
  256. package/src/{core → utils}/title-generator.ts +4 -4
  257. package/src/utils/tools-manager.ts +1 -1
  258. package/src/{core/tools/web-scrapers → web/scrapers}/choosealicense.ts +1 -1
  259. package/src/{core/tools/web-scrapers → web/scrapers}/twitter.ts +3 -2
  260. package/src/{core/tools/web-scrapers → web/scrapers}/types.ts +4 -2
  261. package/src/{core/tools/web-scrapers → web/scrapers}/utils.ts +1 -1
  262. package/src/{core/tools/web-scrapers → web/scrapers}/youtube.ts +14 -13
  263. package/src/{core/tools/web-search → web/search}/auth.ts +4 -4
  264. package/src/{core/tools/web-search → web/search}/index.ts +22 -71
  265. package/src/{core/tools/web-search → web/search}/providers/anthropic.ts +7 -10
  266. package/src/{core/tools/web-search → web/search}/providers/exa.ts +2 -2
  267. package/src/{core/tools/web-search → web/search}/providers/perplexity.ts +4 -16
  268. package/src/{core/tools/web-search → web/search}/render.ts +3 -3
  269. package/scripts/migrate-sessions.sh +0 -93
  270. package/src/core/index.ts +0 -56
  271. package/src/core/python-prelude.ts +0 -3
  272. package/src/core/ssh-executor.ts +0 -5
  273. package/src/core/streaming-output.ts +0 -115
  274. package/src/core/tools/output.ts +0 -519
  275. package/src/core/tools/read.ts +0 -717
  276. package/src/core/tools/task/template.ts +0 -37
  277. package/src/prompts/tools/output.md +0 -47
  278. package/src/prompts/tools/web-fetch.md +0 -9
  279. /package/src/{core/tools/exa → exa}/types.ts +0 -0
  280. /package/src/{core → exec}/exec.ts +0 -0
  281. /package/src/{core/export-html → export/html}/template.css +0 -0
  282. /package/src/{core/export-html → export/html}/template.generated.ts +0 -0
  283. /package/src/{core/export-html → export/html}/template.html +0 -0
  284. /package/src/{core/export-html → export/html}/template.js +0 -0
  285. /package/src/{core/export-html → export/html}/template.macro.ts +0 -0
  286. /package/src/{core/export-html → export/html}/vendor/highlight.min.js +0 -0
  287. /package/src/{core/export-html → export/html}/vendor/marked.min.js +0 -0
  288. /package/src/{core → extensibility}/custom-commands/index.ts +0 -0
  289. /package/src/{core → extensibility}/custom-tools/index.ts +0 -0
  290. /package/src/{core → extensibility}/extensions/index.ts +0 -0
  291. /package/src/{core → extensibility}/hooks/tool-wrapper.ts +0 -0
  292. /package/src/{core → extensibility}/plugins/index.ts +0 -0
  293. /package/src/{core → extensibility}/plugins/loader.ts +0 -0
  294. /package/src/{core → extensibility}/plugins/manager.ts +0 -0
  295. /package/src/{core → extensibility}/plugins/parser.ts +0 -0
  296. /package/src/{core → extensibility}/plugins/types.ts +0 -0
  297. /package/src/{core/python-modules.ts → ipy/modules.ts} +0 -0
  298. /package/src/{core/tools/lsp → lsp}/defaults.json +0 -0
  299. /package/src/{core/tools/lsp → lsp}/edits.ts +0 -0
  300. /package/src/{core/tools/lsp → lsp}/lspmux.ts +0 -0
  301. /package/src/{core/tools/lsp → lsp}/rust-analyzer.ts +0 -0
  302. /package/src/{core/mcp → mcp}/client.ts +0 -0
  303. /package/src/{core/mcp → mcp}/index.ts +0 -0
  304. /package/src/{core/mcp → mcp}/json-rpc.ts +0 -0
  305. /package/src/{core/mcp → mcp}/transports/index.ts +0 -0
  306. /package/src/modes/{interactive/components → components}/countdown-timer.ts +0 -0
  307. /package/src/modes/{interactive/components → components}/custom-editor.ts +0 -0
  308. /package/src/modes/{interactive/components → components}/extensions/index.ts +0 -0
  309. /package/src/modes/{interactive/components → components}/index.ts +0 -0
  310. /package/src/modes/{interactive/components → components}/status-line/index.ts +0 -0
  311. /package/src/modes/{interactive/components → components}/status-line/presets.ts +0 -0
  312. /package/src/modes/{interactive/components → components}/visual-truncate.ts +0 -0
  313. /package/src/modes/{interactive/theme → theme}/dark.json +0 -0
  314. /package/src/modes/{interactive/theme → theme}/defaults/alabaster.json +0 -0
  315. /package/src/modes/{interactive/theme → theme}/defaults/amethyst.json +0 -0
  316. /package/src/modes/{interactive/theme → theme}/defaults/anthracite.json +0 -0
  317. /package/src/modes/{interactive/theme → theme}/defaults/basalt.json +0 -0
  318. /package/src/modes/{interactive/theme → theme}/defaults/birch.json +0 -0
  319. /package/src/modes/{interactive/theme → theme}/defaults/dark-abyss.json +0 -0
  320. /package/src/modes/{interactive/theme → theme}/defaults/dark-arctic.json +0 -0
  321. /package/src/modes/{interactive/theme → theme}/defaults/dark-aurora.json +0 -0
  322. /package/src/modes/{interactive/theme → theme}/defaults/dark-catppuccin.json +0 -0
  323. /package/src/modes/{interactive/theme → theme}/defaults/dark-cavern.json +0 -0
  324. /package/src/modes/{interactive/theme → theme}/defaults/dark-copper.json +0 -0
  325. /package/src/modes/{interactive/theme → theme}/defaults/dark-cosmos.json +0 -0
  326. /package/src/modes/{interactive/theme → theme}/defaults/dark-cyberpunk.json +0 -0
  327. /package/src/modes/{interactive/theme → theme}/defaults/dark-dracula.json +0 -0
  328. /package/src/modes/{interactive/theme → theme}/defaults/dark-eclipse.json +0 -0
  329. /package/src/modes/{interactive/theme → theme}/defaults/dark-ember.json +0 -0
  330. /package/src/modes/{interactive/theme → theme}/defaults/dark-equinox.json +0 -0
  331. /package/src/modes/{interactive/theme → theme}/defaults/dark-forest.json +0 -0
  332. /package/src/modes/{interactive/theme → theme}/defaults/dark-github.json +0 -0
  333. /package/src/modes/{interactive/theme → theme}/defaults/dark-gruvbox.json +0 -0
  334. /package/src/modes/{interactive/theme → theme}/defaults/dark-lavender.json +0 -0
  335. /package/src/modes/{interactive/theme → theme}/defaults/dark-lunar.json +0 -0
  336. /package/src/modes/{interactive/theme → theme}/defaults/dark-midnight.json +0 -0
  337. /package/src/modes/{interactive/theme → theme}/defaults/dark-monochrome.json +0 -0
  338. /package/src/modes/{interactive/theme → theme}/defaults/dark-monokai.json +0 -0
  339. /package/src/modes/{interactive/theme → theme}/defaults/dark-nebula.json +0 -0
  340. /package/src/modes/{interactive/theme → theme}/defaults/dark-nord.json +0 -0
  341. /package/src/modes/{interactive/theme → theme}/defaults/dark-ocean.json +0 -0
  342. /package/src/modes/{interactive/theme → theme}/defaults/dark-one.json +0 -0
  343. /package/src/modes/{interactive/theme → theme}/defaults/dark-rainforest.json +0 -0
  344. /package/src/modes/{interactive/theme → theme}/defaults/dark-reef.json +0 -0
  345. /package/src/modes/{interactive/theme → theme}/defaults/dark-retro.json +0 -0
  346. /package/src/modes/{interactive/theme → theme}/defaults/dark-rose-pine.json +0 -0
  347. /package/src/modes/{interactive/theme → theme}/defaults/dark-sakura.json +0 -0
  348. /package/src/modes/{interactive/theme → theme}/defaults/dark-slate.json +0 -0
  349. /package/src/modes/{interactive/theme → theme}/defaults/dark-solarized.json +0 -0
  350. /package/src/modes/{interactive/theme → theme}/defaults/dark-solstice.json +0 -0
  351. /package/src/modes/{interactive/theme → theme}/defaults/dark-starfall.json +0 -0
  352. /package/src/modes/{interactive/theme → theme}/defaults/dark-sunset.json +0 -0
  353. /package/src/modes/{interactive/theme → theme}/defaults/dark-swamp.json +0 -0
  354. /package/src/modes/{interactive/theme → theme}/defaults/dark-synthwave.json +0 -0
  355. /package/src/modes/{interactive/theme → theme}/defaults/dark-taiga.json +0 -0
  356. /package/src/modes/{interactive/theme → theme}/defaults/dark-terminal.json +0 -0
  357. /package/src/modes/{interactive/theme → theme}/defaults/dark-tokyo-night.json +0 -0
  358. /package/src/modes/{interactive/theme → theme}/defaults/dark-tundra.json +0 -0
  359. /package/src/modes/{interactive/theme → theme}/defaults/dark-twilight.json +0 -0
  360. /package/src/modes/{interactive/theme → theme}/defaults/dark-volcanic.json +0 -0
  361. /package/src/modes/{interactive/theme → theme}/defaults/graphite.json +0 -0
  362. /package/src/modes/{interactive/theme → theme}/defaults/index.ts +0 -0
  363. /package/src/modes/{interactive/theme → theme}/defaults/light-arctic.json +0 -0
  364. /package/src/modes/{interactive/theme → theme}/defaults/light-aurora-day.json +0 -0
  365. /package/src/modes/{interactive/theme → theme}/defaults/light-canyon.json +0 -0
  366. /package/src/modes/{interactive/theme → theme}/defaults/light-catppuccin.json +0 -0
  367. /package/src/modes/{interactive/theme → theme}/defaults/light-cirrus.json +0 -0
  368. /package/src/modes/{interactive/theme → theme}/defaults/light-coral.json +0 -0
  369. /package/src/modes/{interactive/theme → theme}/defaults/light-cyberpunk.json +0 -0
  370. /package/src/modes/{interactive/theme → theme}/defaults/light-dawn.json +0 -0
  371. /package/src/modes/{interactive/theme → theme}/defaults/light-dunes.json +0 -0
  372. /package/src/modes/{interactive/theme → theme}/defaults/light-eucalyptus.json +0 -0
  373. /package/src/modes/{interactive/theme → theme}/defaults/light-forest.json +0 -0
  374. /package/src/modes/{interactive/theme → theme}/defaults/light-frost.json +0 -0
  375. /package/src/modes/{interactive/theme → theme}/defaults/light-github.json +0 -0
  376. /package/src/modes/{interactive/theme → theme}/defaults/light-glacier.json +0 -0
  377. /package/src/modes/{interactive/theme → theme}/defaults/light-gruvbox.json +0 -0
  378. /package/src/modes/{interactive/theme → theme}/defaults/light-haze.json +0 -0
  379. /package/src/modes/{interactive/theme → theme}/defaults/light-honeycomb.json +0 -0
  380. /package/src/modes/{interactive/theme → theme}/defaults/light-lagoon.json +0 -0
  381. /package/src/modes/{interactive/theme → theme}/defaults/light-lavender.json +0 -0
  382. /package/src/modes/{interactive/theme → theme}/defaults/light-meadow.json +0 -0
  383. /package/src/modes/{interactive/theme → theme}/defaults/light-mint.json +0 -0
  384. /package/src/modes/{interactive/theme → theme}/defaults/light-monochrome.json +0 -0
  385. /package/src/modes/{interactive/theme → theme}/defaults/light-ocean.json +0 -0
  386. /package/src/modes/{interactive/theme → theme}/defaults/light-one.json +0 -0
  387. /package/src/modes/{interactive/theme → theme}/defaults/light-opal.json +0 -0
  388. /package/src/modes/{interactive/theme → theme}/defaults/light-orchard.json +0 -0
  389. /package/src/modes/{interactive/theme → theme}/defaults/light-paper.json +0 -0
  390. /package/src/modes/{interactive/theme → theme}/defaults/light-prism.json +0 -0
  391. /package/src/modes/{interactive/theme → theme}/defaults/light-retro.json +0 -0
  392. /package/src/modes/{interactive/theme → theme}/defaults/light-sand.json +0 -0
  393. /package/src/modes/{interactive/theme → theme}/defaults/light-savanna.json +0 -0
  394. /package/src/modes/{interactive/theme → theme}/defaults/light-solarized.json +0 -0
  395. /package/src/modes/{interactive/theme → theme}/defaults/light-soleil.json +0 -0
  396. /package/src/modes/{interactive/theme → theme}/defaults/light-sunset.json +0 -0
  397. /package/src/modes/{interactive/theme → theme}/defaults/light-synthwave.json +0 -0
  398. /package/src/modes/{interactive/theme → theme}/defaults/light-tokyo-night.json +0 -0
  399. /package/src/modes/{interactive/theme → theme}/defaults/light-wetland.json +0 -0
  400. /package/src/modes/{interactive/theme → theme}/defaults/light-zenith.json +0 -0
  401. /package/src/modes/{interactive/theme → theme}/defaults/limestone.json +0 -0
  402. /package/src/modes/{interactive/theme → theme}/defaults/mahogany.json +0 -0
  403. /package/src/modes/{interactive/theme → theme}/defaults/marble.json +0 -0
  404. /package/src/modes/{interactive/theme → theme}/defaults/obsidian.json +0 -0
  405. /package/src/modes/{interactive/theme → theme}/defaults/onyx.json +0 -0
  406. /package/src/modes/{interactive/theme → theme}/defaults/pearl.json +0 -0
  407. /package/src/modes/{interactive/theme → theme}/defaults/porcelain.json +0 -0
  408. /package/src/modes/{interactive/theme → theme}/defaults/quartz.json +0 -0
  409. /package/src/modes/{interactive/theme → theme}/defaults/sandstone.json +0 -0
  410. /package/src/modes/{interactive/theme → theme}/defaults/titanium.json +0 -0
  411. /package/src/modes/{interactive/theme → theme}/light.json +0 -0
  412. /package/src/modes/{interactive/theme → theme}/theme-schema.json +0 -0
  413. /package/src/{core/tools/patch → patch}/fuzzy.ts +0 -0
  414. /package/src/{core/tools/patch → patch}/normalize.ts +0 -0
  415. /package/src/{core/tools/patch → patch}/normative.ts +0 -0
  416. /package/src/{core/tools/patch → patch}/parser.ts +0 -0
  417. /package/src/{core/tools/patch → patch}/types.ts +0 -0
  418. /package/src/{core → session}/compaction/index.ts +0 -0
  419. /package/src/{core → session}/session-storage.ts +0 -0
  420. /package/src/{core/tools/task → task}/name-generator.ts +0 -0
  421. /package/src/{core/tools/task → task}/omp-command.ts +0 -0
  422. /package/src/{core/tools/task → task}/parallel.ts +0 -0
  423. /package/src/{core/tools → tools}/jtd-to-json-schema.ts +0 -0
  424. /package/src/{core/tools → tools}/path-utils.ts +0 -0
  425. /package/src/{core → utils}/event-bus.ts +0 -0
  426. /package/src/{core → utils}/frontmatter.ts +0 -0
  427. /package/src/{core → utils}/terminal-notify.ts +0 -0
  428. /package/src/{core → utils}/timings.ts +0 -0
  429. /package/src/{core → utils}/utils.ts +0 -0
  430. /package/src/{core/tools/web-scrapers → web/scrapers}/artifacthub.ts +0 -0
  431. /package/src/{core/tools/web-scrapers → web/scrapers}/arxiv.ts +0 -0
  432. /package/src/{core/tools/web-scrapers → web/scrapers}/aur.ts +0 -0
  433. /package/src/{core/tools/web-scrapers → web/scrapers}/biorxiv.ts +0 -0
  434. /package/src/{core/tools/web-scrapers → web/scrapers}/bluesky.ts +0 -0
  435. /package/src/{core/tools/web-scrapers → web/scrapers}/brew.ts +0 -0
  436. /package/src/{core/tools/web-scrapers → web/scrapers}/cheatsh.ts +0 -0
  437. /package/src/{core/tools/web-scrapers → web/scrapers}/chocolatey.ts +0 -0
  438. /package/src/{core/tools/web-scrapers → web/scrapers}/cisa-kev.ts +0 -0
  439. /package/src/{core/tools/web-scrapers → web/scrapers}/clojars.ts +0 -0
  440. /package/src/{core/tools/web-scrapers → web/scrapers}/coingecko.ts +0 -0
  441. /package/src/{core/tools/web-scrapers → web/scrapers}/crates-io.ts +0 -0
  442. /package/src/{core/tools/web-scrapers → web/scrapers}/crossref.ts +0 -0
  443. /package/src/{core/tools/web-scrapers → web/scrapers}/devto.ts +0 -0
  444. /package/src/{core/tools/web-scrapers → web/scrapers}/discogs.ts +0 -0
  445. /package/src/{core/tools/web-scrapers → web/scrapers}/discourse.ts +0 -0
  446. /package/src/{core/tools/web-scrapers → web/scrapers}/dockerhub.ts +0 -0
  447. /package/src/{core/tools/web-scrapers → web/scrapers}/fdroid.ts +0 -0
  448. /package/src/{core/tools/web-scrapers → web/scrapers}/firefox-addons.ts +0 -0
  449. /package/src/{core/tools/web-scrapers → web/scrapers}/flathub.ts +0 -0
  450. /package/src/{core/tools/web-scrapers → web/scrapers}/github-gist.ts +0 -0
  451. /package/src/{core/tools/web-scrapers → web/scrapers}/github.ts +0 -0
  452. /package/src/{core/tools/web-scrapers → web/scrapers}/gitlab.ts +0 -0
  453. /package/src/{core/tools/web-scrapers → web/scrapers}/go-pkg.ts +0 -0
  454. /package/src/{core/tools/web-scrapers → web/scrapers}/hackage.ts +0 -0
  455. /package/src/{core/tools/web-scrapers → web/scrapers}/hackernews.ts +0 -0
  456. /package/src/{core/tools/web-scrapers → web/scrapers}/hex.ts +0 -0
  457. /package/src/{core/tools/web-scrapers → web/scrapers}/huggingface.ts +0 -0
  458. /package/src/{core/tools/web-scrapers → web/scrapers}/iacr.ts +0 -0
  459. /package/src/{core/tools/web-scrapers → web/scrapers}/index.ts +0 -0
  460. /package/src/{core/tools/web-scrapers → web/scrapers}/jetbrains-marketplace.ts +0 -0
  461. /package/src/{core/tools/web-scrapers → web/scrapers}/lemmy.ts +0 -0
  462. /package/src/{core/tools/web-scrapers → web/scrapers}/lobsters.ts +0 -0
  463. /package/src/{core/tools/web-scrapers → web/scrapers}/mastodon.ts +0 -0
  464. /package/src/{core/tools/web-scrapers → web/scrapers}/maven.ts +0 -0
  465. /package/src/{core/tools/web-scrapers → web/scrapers}/mdn.ts +0 -0
  466. /package/src/{core/tools/web-scrapers → web/scrapers}/metacpan.ts +0 -0
  467. /package/src/{core/tools/web-scrapers → web/scrapers}/musicbrainz.ts +0 -0
  468. /package/src/{core/tools/web-scrapers → web/scrapers}/npm.ts +0 -0
  469. /package/src/{core/tools/web-scrapers → web/scrapers}/nuget.ts +0 -0
  470. /package/src/{core/tools/web-scrapers → web/scrapers}/nvd.ts +0 -0
  471. /package/src/{core/tools/web-scrapers → web/scrapers}/ollama.ts +0 -0
  472. /package/src/{core/tools/web-scrapers → web/scrapers}/open-vsx.ts +0 -0
  473. /package/src/{core/tools/web-scrapers → web/scrapers}/opencorporates.ts +0 -0
  474. /package/src/{core/tools/web-scrapers → web/scrapers}/openlibrary.ts +0 -0
  475. /package/src/{core/tools/web-scrapers → web/scrapers}/orcid.ts +0 -0
  476. /package/src/{core/tools/web-scrapers → web/scrapers}/osv.ts +0 -0
  477. /package/src/{core/tools/web-scrapers → web/scrapers}/packagist.ts +0 -0
  478. /package/src/{core/tools/web-scrapers → web/scrapers}/pub-dev.ts +0 -0
  479. /package/src/{core/tools/web-scrapers → web/scrapers}/pubmed.ts +0 -0
  480. /package/src/{core/tools/web-scrapers → web/scrapers}/pypi.ts +0 -0
  481. /package/src/{core/tools/web-scrapers → web/scrapers}/rawg.ts +0 -0
  482. /package/src/{core/tools/web-scrapers → web/scrapers}/readthedocs.ts +0 -0
  483. /package/src/{core/tools/web-scrapers → web/scrapers}/reddit.ts +0 -0
  484. /package/src/{core/tools/web-scrapers → web/scrapers}/repology.ts +0 -0
  485. /package/src/{core/tools/web-scrapers → web/scrapers}/rfc.ts +0 -0
  486. /package/src/{core/tools/web-scrapers → web/scrapers}/rubygems.ts +0 -0
  487. /package/src/{core/tools/web-scrapers → web/scrapers}/searchcode.ts +0 -0
  488. /package/src/{core/tools/web-scrapers → web/scrapers}/sec-edgar.ts +0 -0
  489. /package/src/{core/tools/web-scrapers → web/scrapers}/semantic-scholar.ts +0 -0
  490. /package/src/{core/tools/web-scrapers → web/scrapers}/snapcraft.ts +0 -0
  491. /package/src/{core/tools/web-scrapers → web/scrapers}/sourcegraph.ts +0 -0
  492. /package/src/{core/tools/web-scrapers → web/scrapers}/spdx.ts +0 -0
  493. /package/src/{core/tools/web-scrapers → web/scrapers}/spotify.ts +0 -0
  494. /package/src/{core/tools/web-scrapers → web/scrapers}/stackoverflow.ts +0 -0
  495. /package/src/{core/tools/web-scrapers → web/scrapers}/terraform.ts +0 -0
  496. /package/src/{core/tools/web-scrapers → web/scrapers}/tldr.ts +0 -0
  497. /package/src/{core/tools/web-scrapers → web/scrapers}/vimeo.ts +0 -0
  498. /package/src/{core/tools/web-scrapers → web/scrapers}/vscode-marketplace.ts +0 -0
  499. /package/src/{core/tools/web-scrapers → web/scrapers}/w3c.ts +0 -0
  500. /package/src/{core/tools/web-scrapers → web/scrapers}/wikidata.ts +0 -0
  501. /package/src/{core/tools/web-scrapers → web/scrapers}/wikipedia.ts +0 -0
  502. /package/src/{core/tools/web-search → web/search}/types.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,150 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [8.0.0] - 2026-01-23
6
+ ### Added
7
+
8
+ - Added antigravity provider support for image generation with Google Cloud authentication
9
+ - Added support for google-antigravity API credentials in model registry
10
+ - Added antigravity-specific request handling with SSE streaming
11
+ - Added projectId parameter to antigravity credentials parsing
12
+ - Added antigravity provider to preferred image provider selection
13
+ - Added list-limit utility for consistent result limiting across tools
14
+ - Added output-utils module with tail buffer and artifact allocation helpers
15
+ - Added tool-result module for standardized tool result construction
16
+ - Added truncation summary options to OutputMetaBuilder for better output tracking
17
+ - Added artifact storage system for truncated tool outputs with artifact:// URL protocol
18
+ - Added structured output metadata system with fluent OutputMetaBuilder for consistent notices
19
+ - Added standardized tool error types (ToolError, MultiError, ToolAbortError) for better error handling
20
+ - Added internal URL routing system with protocol handlers:
21
+ - `agent://<id>` - access agent output artifacts
22
+ - `agent://<id>/<path>` and `agent://<id>?q=<query>` - JSON extraction from agent outputs
23
+ - `skill://<name>` and `skill://<name>/<path>` - read skill files and relative paths
24
+ - `rule://<name>` - read rule content
25
+ - URL resolution includes filesystem path in output for bash/python interop
26
+ - Added fetch tool for URL content retrieval with enhanced processing capabilities
27
+ - Added `isolated` option to task tool for git worktree execution with automatic patch generation and application
28
+ - Added format-prompts script to standardize prompt file formatting
29
+
30
+ ### Changed
31
+
32
+ - Updated default line limit from 4000 to 3000 lines for output truncation
33
+ - Reordered truncation notice to show offset continuation before artifact reference
34
+ - Applied meta notice wrapper to all tools in createTools function
35
+ - Updated test expectations to reflect new 3000 line limit
36
+ - Removed output tool from schema validation test list
37
+ - Replaced inline output truncation notices with structured metadata system across all tools
38
+ - Updated bash, python, and ssh executors to track detailed output statistics (total lines/bytes vs output lines/bytes)
39
+ - Modified artifact storage to use pre-allocated paths instead of inline file writing
40
+ - Changed message format to use meta field instead of fullOutputPath for truncation information
41
+ - Updated interactive components to display truncation metadata from structured format
42
+ - Standardized tool result building with new ToolResultBuilder for consistent metadata handling
43
+ - Simplified Python gateway coordination by removing reference counting and client tracking
44
+ - Updated Python gateway to use global shared instance instead of per-process coordination
45
+ - Modified Python kernel initialization to set working directory and environment per kernel
46
+ - Updated interactive status display to show Python and venv paths instead of client count
47
+ - Changed system prompt to clarify CHECKPOINT step 0 timing
48
+ - Updated Python environment warming to use await instead of void for proper error handling
49
+ - Updated interactive mode shutdown to use postmortem.quit instead of process.exit
50
+ - Updated bash tool documentation to clarify specialized tool usage
51
+ - Updated task tool documentation to escape placeholder syntax in examples
52
+ - Updated Python environment warming to use await instead of void for proper error handling
53
+ - Updated interactive mode shutdown to use postmortem.quit instead of process.exit
54
+ - Updated bash tool documentation to clarify specialized tool usage
55
+ - Updated task tool documentation to escape placeholder syntax in examples
56
+ - Updated all tools to use structured metadata instead of inline notices for truncation, limits, and diagnostics
57
+ - Replaced manual error formatting with ToolError.render() and standardized error handling
58
+ - Enhanced bash and python executors to save full output as artifacts when truncated
59
+ - Improved abort signal handling across all tools with consistent ToolAbortError
60
+ - Renamed task parameter from `vars` to `args` throughout task tool interface and updated template rendering to support built-in `{{id}}` and `{{description}}` placeholders
61
+ - Simplified todo-write tool by removing active_form parameter, using single content field for task descriptions
62
+ - Updated system prompt structure with `<important>` and `<avoid>` tags, clearer critical sections, and standardized whitespace handling
63
+ - Renamed web_fetch tool to fetch and removed internal URL handling (use read tool instead)
64
+ - Standardized tool parameter names from camelCase to snake_case across edit, grep, python, and todo-write tools
65
+ - Unified timeout parameters across all tools with auto-conversion from milliseconds and reasonable clamping (1s-3600s for bash/ssh, 1s-600s for python/gemini-image)
66
+ - Simplified web-search tool by removing advanced parameters (`max_tokens`, `model`, `search_domain_filter`, `search_context_size`, `return_related_questions`) and using `recency` instead of `search_recency_filter`
67
+ - Restructured tool documentation with standardized `<instruction>`, `<output>`, `<critical>`, and `<avoid>` sections across all 18 tools
68
+ - Updated find tool to always sort results by modification time
69
+ - Updated bash prompt to use `cwd` parameter instead of `workdir`
70
+ - Improved output truncation limits: bash to 50KB/2000 lines, python to 100KB
71
+ - Removed model parameter from task and gemini-image tools to use session/provider defaults
72
+ - Improved MCP tool name handling with explicit server and tool name properties
73
+ - Marked read tool as non-abortable to improve performance
74
+ - Converted dynamic imports to static imports in installer and exa tools
75
+
76
+ ### Removed
77
+
78
+ - Removed output tool (replaced by `agent://` URLs via read tool)
79
+ - Removed web_fetch tool (replaced by fetch tool)
80
+
81
+ ### Fixed
82
+
83
+ - Fixed Python kernel environment initialization for external and shared gateways
84
+ - Fixed gateway status reporting to include Python and virtual environment paths
85
+ - Fixed inconsistent error formatting across tools by standardizing on ToolError types
86
+ - Fixed timeout parameter handling to auto-convert milliseconds to seconds and clamp to reasonable ranges
87
+ - Fixed whitespace formatting in json-query.ts comment
88
+ - Fixed interactive shutdown to await postmortem cleanup so Python kernel gateways are terminated
89
+ - Fixed shared Python gateway reuse across working directories by initializing kernel cwd and env per kernel
90
+ - Fixed Python gateway coordination to use a single global gateway without ref counting
91
+
92
+ ## [7.0.0] - 2026-01-21
93
+ ### Added
94
+
95
+ - Added usage report deduplication to prevent duplicate account entries
96
+ - Added debug logging for usage fetch operations to aid diagnostics
97
+ - Added provider sorting in usage display by total usage amount
98
+ - Added `isolated` parameter to task tool for running each task in separate git worktrees
99
+ - Added git worktree management for isolated task execution with patch generation
100
+ - Added patch application system that applies changes only when all patches are valid
101
+ - Added working directory information to environment info display
102
+ - Added `/usage` command to display provider usage and limits
103
+ - Added support for multiple usage providers beyond Codex
104
+ - Added usage report caching with configurable TTL
105
+ - Added visual usage bars and account aggregation in usage display
106
+ - Added `fetchUsageReports()` method to agent session
107
+ - Added `output()` function to read task/agent outputs by ID with support for multiple formats and queries
108
+ - Added session file support to Python executor for accessing task outputs
109
+ - Added support for jq-like queries when reading JSON outputs
110
+ - Added offset and limit parameters for reading specific line ranges from outputs
111
+ - Added "." and "c" shortcuts to continue agent without sending visible message
112
+ - Added debug logging for usage fetch results to aid /usage diagnostics
113
+
114
+ ### Changed
115
+
116
+ - Updated discoverSkills function to return object with skills property
117
+ - Enhanced usage report merging to combine limits and metadata from duplicate accounts
118
+ - Improved OAuth credential handling to preserve existing fields when updating
119
+ - Removed cd function from Python prelude to encourage using cwd parameter
120
+ - Updated task tool to generate and apply patches when running in isolated mode
121
+ - Enhanced task tool rendering to display isolated execution status and patch paths
122
+ - Updated system prompt structure and formatting for better readability
123
+ - Reorganized tool hierarchy and discipline sections
124
+ - Added parallel work guidance for task-based workflows
125
+ - Enhanced verification and integration methodology sections
126
+ - Updated skills and rules formatting for cleaner presentation
127
+ - Added stronger emphasis on completeness and quality standards
128
+ - Refactored usage tracking from Codex-specific to generic provider system
129
+ - Updated usage limit detection to work with multiple provider APIs
130
+ - Changed usage cache to use persistent storage instead of in-memory only
131
+ - Limited diagnostic messages to 50 items to prevent overwhelming output when processing files with many issues
132
+ - Changed `/dump` command to include complete agent context: system prompt, model config, available tools with schemas, and all message types (bash/python executions, custom messages, branch summaries, compaction summaries, file mentions)
133
+ - Changed `/dump` format to use YAML instead of JSON for tool schemas and arguments (more readable)
134
+
135
+ ### Fixed
136
+
137
+ - Fixed TypeScript error in bash executor by properly typing caught exception
138
+ - Fixed usage display ordering to show providers with lowest usage first
139
+ - Fixed task tool result rendering to show fallback text when no results are available
140
+ - Fixed external editor to work properly on Unix systems by correctly handling terminal I/O
141
+ - Fixed external editor to show warning message when it fails to open instead of silently failing
142
+ - Fixed find tool to properly handle no matches case without treating as error
143
+ - Fixed find tool to wait for fd exit so error messages no longer report exit null
144
+ - Fixed read tool to properly handle no matches case without treating as error
145
+ - Fixed orphaned Python kernel gateway processes not being killed on process exit
146
+ - Fixed /usage provider ordering to sort by aggregate usage (most used last)
147
+ - Fixed /usage account dedupe to collapse identical accounts using usage metadata
148
+
5
149
  ## [6.9.69] - 2026-01-21
6
150
 
7
151
  ### Added
@@ -44,6 +188,7 @@
44
188
  - Fixed patch indentation normalization for fuzzy matches, tab/space diffs, and ambiguous context alignment
45
189
 
46
190
  ## [6.9.0] - 2026-01-21
191
+
47
192
  ### Removed
48
193
 
49
194
  - Removed Git tool and all related functionality
@@ -54,6 +199,7 @@
54
199
  - Removed @oh-my-pi/pi-git-tool dependency
55
200
 
56
201
  ## [6.8.5] - 2026-01-21
202
+
57
203
  ### Breaking Changes
58
204
 
59
205
  - Changed timeout parameter from seconds to milliseconds in Python tool
@@ -65,6 +211,7 @@
65
211
  - Improved streaming output handling and buffer management
66
212
 
67
213
  ## [6.8.4] - 2026-01-21
214
+
68
215
  ### Changed
69
216
 
70
217
  - Updated output sink to properly handle large outputs
@@ -146,6 +293,7 @@
146
293
  - Updated temporary file cleanup to use secure async removal methods
147
294
 
148
295
  ## [6.7.67] - 2026-01-19
296
+
149
297
  ### Added
150
298
 
151
299
  - Added normative rewrite setting to control tool call argument normalization in session history
@@ -194,7 +342,7 @@
194
342
 
195
343
  - Patch application handles repeated context blocks, preserves original indentation on fuzzy match
196
344
  - Ambiguous context matching resolves duplicates using adjacent @@ anchor positioning
197
- - Patch parser handles bare *** terminators, model hallucination markers, line hint ranges
345
+ - Patch parser handles bare \*\*\* terminators, model hallucination markers, line hint ranges
198
346
  - Function context matching handles signatures with and without empty parentheses
199
347
  - Fixed session title generation to respect OMP_NO_TITLE environment variable
200
348
  - Fixed Python module discovery to use import.meta.dir for ES module compatibility
@@ -206,6 +354,7 @@
206
354
  - Fixed MCP tool path formatting to correctly display provider information
207
355
 
208
356
  ## [6.2.0] - 2026-01-19
357
+
209
358
  ### Changed
210
359
 
211
360
  - Improved LSP batching to coalesce formatting and diagnostics for parallel edits
@@ -243,12 +392,14 @@
243
392
  - Fixed TTSR abbreviation expansion from TTSR to Time Traveling Stream Rules
244
393
 
245
394
  ## [5.8.0] - 2026-01-19
395
+
246
396
  ### Changed
247
397
 
248
398
  - Updated WASM loading to use streaming for development environments with base64 fallback
249
399
  - Added scripts directory to published package files
250
400
 
251
401
  ## [5.7.68] - 2026-01-18
402
+
252
403
  ### Changed
253
404
 
254
405
  - Updated WASM loading to use base64-encoded WASM for better compatibility with compiled binaries
@@ -258,12 +409,14 @@
258
409
  - Fixed WASM loading issues in compiled binary builds
259
410
 
260
411
  ## [5.7.67] - 2026-01-18
412
+
261
413
  ### Changed
262
414
 
263
415
  - Replaced external photon-node dependency with vendored WebAssembly implementation
264
416
  - Updated image processing to use local photon library for better performance
265
417
 
266
418
  ## [5.6.70] - 2026-01-18
419
+
267
420
  ### Added
268
421
 
269
422
  - Added support for loading Python prelude extension modules from user and project directories
@@ -336,7 +489,7 @@
336
489
  - Enhanced Python kernel availability checking with faster validation
337
490
  - Optimized Python environment warming to avoid blocking during tool initialization
338
491
  - Reorganized settings interface into behavior, tools, display, voice, status, lsp, and exa tabs
339
- - Migrated environment variables from PI_ to OMP_ prefix with automatic migration
492
+ - Migrated environment variables from PI* to OMP* prefix with automatic migration
340
493
  - Updated model selector to use TabBar component for provider navigation
341
494
  - Changed role badges to inverted style with colored backgrounds
342
495
  - Added support for /models command alias in addition to /model
@@ -369,11 +522,13 @@
369
522
  - Enhanced Python gateway environment filtering to exclude sensitive API keys and Windows system paths
370
523
 
371
524
  ## [5.5.0] - 2026-01-18
525
+
372
526
  ### Changed
373
527
 
374
528
  - Updated task execution guidelines to improve prompt framing and parallelization instructions
375
529
 
376
530
  ## [5.4.2] - 2026-01-16
531
+
377
532
  ### Changed
378
533
 
379
534
  - Updated model resolution to accept pre-serialized settings for better performance
@@ -381,11 +536,13 @@
381
536
  - Enhanced edit tool documentation with clear use cases for bash alternatives
382
537
 
383
538
  ## [5.3.0] - 2026-01-15
539
+
384
540
  ### Changed
385
541
 
386
542
  - Expanded bash tool guidance to explicitly list appropriate use cases including file operations, build commands, and process management
387
543
 
388
544
  ## [5.2.1] - 2026-01-14
545
+
389
546
  ### Fixed
390
547
 
391
548
  - Fixed stale diagnostic results by tracking diagnostic versions before file sync operations
@@ -429,6 +586,7 @@
429
586
  - Fixed session selector page up/down navigation
430
587
 
431
588
  ## [5.0.1] - 2026-01-12
589
+
432
590
  ### Changed
433
591
 
434
592
  - Replaced wasm-vips with Photon for more stable WASM image processing
@@ -455,6 +613,7 @@
455
613
  - Move `sharp` to optional dependencies with all platform binaries to fix arm64 runtime errors
456
614
 
457
615
  ## [4.7.0] - 2026-01-12
616
+
458
617
  ### Added
459
618
 
460
619
  - Add `omp config` subcommand for managing settings (`list`, `get`, `set`, `reset`, `path`)
@@ -474,6 +633,7 @@
474
633
  ## [4.6.0] - 2026-01-12
475
634
 
476
635
  ### Added
636
+
477
637
  - Add `/skill:name` slash commands for quick skill access (toggle via `skills.enableSkillCommands` setting)
478
638
  - Add `cwd` to SessionInfo for session list display
479
639
  - Add custom summarization instructions option in tree selector
@@ -481,10 +641,12 @@
481
641
  - Add `shutdownRequested` and `checkShutdownRequested()` for extension-initiated shutdown
482
642
 
483
643
  ### Fixed
644
+
484
645
  - Component `invalidate()` now properly rebuilds content on theme changes
485
646
  - Force full re-render after returning from external editor
486
647
 
487
648
  ## [4.4.8] - 2026-01-12
649
+
488
650
  ### Changed
489
651
 
490
652
  - Changed review finding priority format from numeric (0-3) to string labels (P0-P3) for clearer severity indication
@@ -504,6 +666,7 @@
504
666
  - Fixed frontmatter parsing to properly report source location when YAML parsing fails
505
667
 
506
668
  ## [4.4.4] - 2026-01-11
669
+
507
670
  ### Added
508
671
 
509
672
  - Added `todo_write` tool for creating and managing structured task lists during coding sessions
@@ -534,6 +697,7 @@
534
697
  - Fixed prompt template loading to strip leading HTML comment metadata blocks
535
698
 
536
699
  ## [4.3.2] - 2026-01-11
700
+
537
701
  ### Changed
538
702
 
539
703
  - Increased default bash output preview from 5 to 10 lines when collapsed
@@ -573,6 +737,7 @@
573
737
  - Fixed serialized auth storage initialization so OAuth refreshes in subagents don't crash
574
738
 
575
739
  ## [4.2.2] - 2026-01-11
740
+
576
741
  ### Added
577
742
 
578
743
  - Added persistent cache storage for Codex usage data that survives application restarts
@@ -593,6 +758,7 @@
593
758
  - Removed `planner` agent command template, consolidating planning functionality into the `plan` agent
594
759
 
595
760
  ## [4.2.1] - 2026-01-11
761
+
596
762
  ### Added
597
763
 
598
764
  - Added automatic discovery and listing of AGENTS.md files in the system prompt, providing agents with an authoritative list of project-specific instruction files without runtime searching
@@ -659,6 +825,7 @@
659
825
  - Hardened file permissions on agent database directory (700) and database file (600) to restrict access
660
826
 
661
827
  ## [4.1.0] - 2026-01-10
828
+
662
829
  ### Added
663
830
 
664
831
  - Added persistent prompt history with SQLite-backed storage and Ctrl+R search
@@ -668,6 +835,7 @@
668
835
  - Fixed credential blocking logic to correctly check for remaining available credentials instead of always returning true
669
836
 
670
837
  ## [4.0.1] - 2026-01-10
838
+
671
839
  ### Added
672
840
 
673
841
  - Added usage limit error detection to enable automatic credential switching when Codex accounts hit rate limits
@@ -771,11 +939,13 @@
771
939
  - Extension directories in `settings.json` respect `package.json` manifests
772
940
 
773
941
  ## [3.37.0] - 2026-01-10
942
+
774
943
  ### Changed
775
944
 
776
945
  - Improved bash command display to show relative paths for working directories within the current directory, and hide redundant `cd` prefix when working directory matches current directory
777
946
 
778
947
  ## [3.36.0] - 2026-01-10
948
+
779
949
  ### Added
780
950
 
781
951
  - Added `calc` tool for basic mathematical calculations with support for arithmetic operators, parentheses, and hex/binary/octal literals
@@ -794,6 +964,7 @@
794
964
  - Improved completion notification message to include session title when available
795
965
 
796
966
  ## [3.35.0] - 2026-01-09
967
+
797
968
  ### Added
798
969
 
799
970
  - Added retry logic with exponential backoff for auto-compaction failures
@@ -1871,15 +2042,14 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
1871
2042
  - **Credential storage refactored**: API keys and OAuth tokens are now stored in `~/.omp/agent/auth.json` instead of `oauth.json` and `settings.json`. Existing credentials are automatically migrated on first run. ([#296](https://github.com/badlogic/pi-mono/issues/296))
1872
2043
 
1873
2044
  - **SDK API changes** ([#296](https://github.com/badlogic/pi-mono/issues/296)):
1874
-
1875
- - Added `AuthStorage` class for credential management (API keys and OAuth tokens)
1876
- - Added `ModelRegistry` class for model discovery and API key resolution
1877
- - Added `discoverAuthStorage()` and `discoverModels()` discovery functions
1878
- - `createAgentSession()` now accepts `authStorage` and `modelRegistry` options
1879
- - Removed `configureOAuthStorage()`, `defaultGetApiKey()`, `findModel()`, `discoverAvailableModels()`
1880
- - Removed `getApiKey` callback option (use `AuthStorage.setRuntimeApiKey()` for runtime overrides)
1881
- - Use `getModel()` from `@oh-my-pi/pi-ai` for built-in models, `modelRegistry.find()` for custom models + built-in models
1882
- - See updated [SDK documentation](docs/sdk.md) and [README](README.md)
2045
+ - Added `AuthStorage` class for credential management (API keys and OAuth tokens)
2046
+ - Added `ModelRegistry` class for model discovery and API key resolution
2047
+ - Added `discoverAuthStorage()` and `discoverModels()` discovery functions
2048
+ - `createAgentSession()` now accepts `authStorage` and `modelRegistry` options
2049
+ - Removed `configureOAuthStorage()`, `defaultGetApiKey()`, `findModel()`, `discoverAvailableModels()`
2050
+ - Removed `getApiKey` callback option (use `AuthStorage.setRuntimeApiKey()` for runtime overrides)
2051
+ - Use `getModel()` from `@oh-my-pi/pi-ai` for built-in models, `modelRegistry.find()` for custom models + built-in models
2052
+ - See updated [SDK documentation](docs/sdk.md) and [README](README.md)
1883
2053
 
1884
2054
  - **Settings changes**: Removed `apiKeys` from `settings.json`. Use `auth.json` instead. ([#296](https://github.com/badlogic/pi-mono/issues/296))
1885
2055
 
@@ -1910,16 +2080,15 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
1910
2080
  ### Added
1911
2081
 
1912
2082
  - **Compaction hook improvements**: The `before_compact` session event now includes:
1913
-
1914
- - `previousSummary`: Summary from the last compaction (if any), so hooks can preserve accumulated context
1915
- - `messagesToKeep`: Messages that will be kept after the summary (recent turns), in addition to `messagesToSummarize`
1916
- - `resolveApiKey`: Function to resolve API keys for any model (checks settings, OAuth, env vars)
1917
- - Removed `apiKey` string in favor of `resolveApiKey` for more flexibility
2083
+ - `previousSummary`: Summary from the last compaction (if any), so hooks can preserve accumulated context
2084
+ - `messagesToKeep`: Messages that will be kept after the summary (recent turns), in addition to `messagesToSummarize`
2085
+ - `resolveApiKey`: Function to resolve API keys for any model (checks settings, OAuth, env vars)
2086
+ - Removed `apiKey` string in favor of `resolveApiKey` for more flexibility
1918
2087
 
1919
2088
  - **SessionManager API cleanup**:
1920
- - Renamed `loadSessionFromEntries()` to `buildSessionContext()` (builds LLM context from entries, handling compaction)
1921
- - Renamed `loadEntries()` to `getEntries()` (returns defensive copy of all session entries)
1922
- - Added `buildSessionContext()` method to SessionManager
2089
+ - Renamed `loadSessionFromEntries()` to `buildSessionContext()` (builds LLM context from entries, handling compaction)
2090
+ - Renamed `loadEntries()` to `getEntries()` (returns defensive copy of all session entries)
2091
+ - Added `buildSessionContext()` method to SessionManager
1923
2092
 
1924
2093
  ## [0.27.5] - 2025-12-24
1925
2094
 
@@ -2138,13 +2307,13 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
2138
2307
  - **Custom tools now require `index.ts` entry point**: Auto-discovered custom tools must be in a subdirectory with an `index.ts` file. The old pattern `~/.omp/agent/tools/mytool.ts` must become `~/.omp/agent/tools/mytool/index.ts`. This allows multi-file tools to import helper modules. Explicit paths via `--tool` or `settings.json` still work with any `.ts` file.
2139
2308
 
2140
2309
  - **Hook `tool_result` event restructured**: The `ToolResultEvent` now exposes full tool result data instead of just text. ([#233](https://github.com/badlogic/pi-mono/pull/233))
2141
- - Removed: `result: string` field
2142
- - Added: `content: (TextContent | ImageContent)[]` - full content array
2143
- - Added: `details: unknown` - tool-specific details (typed per tool via discriminated union on `toolName`)
2144
- - `ToolResultEventResult.result` renamed to `ToolResultEventResult.text` (removed), use `content` instead
2145
- - Hook handlers returning `{ result: "..." }` must change to `{ content: [{ type: "text", text: "..." }] }`
2146
- - Built-in tool details types exported: `BashToolDetails`, `ReadToolDetails`, `GrepToolDetails`, `FindToolDetails`, `LsToolDetails`, `TruncationResult`
2147
- - Type guards exported for narrowing: `isBashToolResult`, `isReadToolResult`, `isEditToolResult`, `isWriteToolResult`, `isGrepToolResult`, `isFindToolResult`, `isLsToolResult`
2310
+ - Removed: `result: string` field
2311
+ - Added: `content: (TextContent | ImageContent)[]` - full content array
2312
+ - Added: `details: unknown` - tool-specific details (typed per tool via discriminated union on `toolName`)
2313
+ - `ToolResultEventResult.result` renamed to `ToolResultEventResult.text` (removed), use `content` instead
2314
+ - Hook handlers returning `{ result: "..." }` must change to `{ content: [{ type: "text", text: "..." }] }`
2315
+ - Built-in tool details types exported: `BashToolDetails`, `ReadToolDetails`, `GrepToolDetails`, `FindToolDetails`, `LsToolDetails`, `TruncationResult`
2316
+ - Type guards exported for narrowing: `isBashToolResult`, `isReadToolResult`, `isEditToolResult`, `isWriteToolResult`, `isGrepToolResult`, `isFindToolResult`, `isLsToolResult`
2148
2317
 
2149
2318
  ## [0.23.4] - 2025-12-18
2150
2319
 
@@ -2173,13 +2342,12 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
2173
2342
  - Improved system prompt documentation section with clearer pointers to specific doc files for custom models, themes, skills, hooks, custom tools, and RPC.
2174
2343
 
2175
2344
  - Cleaned up documentation:
2176
-
2177
- - `theme.md`: Added missing color tokens (`thinkingXhigh`, `bashMode`)
2178
- - `skills.md`: Rewrote with better framing and examples
2179
- - `hooks.md`: Fixed timeout/error handling docs, added import aliases section
2180
- - `custom-tools.md`: Added intro with use cases and comparison table
2181
- - `rpc.md`: Added missing `hook_error` event documentation
2182
- - `README.md`: Complete settings table, condensed philosophy section, standardized OAuth docs
2345
+ - `theme.md`: Added missing color tokens (`thinkingXhigh`, `bashMode`)
2346
+ - `skills.md`: Rewrote with better framing and examples
2347
+ - `hooks.md`: Fixed timeout/error handling docs, added import aliases section
2348
+ - `custom-tools.md`: Added intro with use cases and comparison table
2349
+ - `rpc.md`: Added missing `hook_error` event documentation
2350
+ - `README.md`: Complete settings table, condensed philosophy section, standardized OAuth docs
2183
2351
 
2184
2352
  - Hooks loader now supports same import aliases as custom tools (`@sinclair/typebox`, `@oh-my-pi/pi-ai`, `@oh-my-pi/pi-tui`, `@oh-my-pi/pi-coding-agent`).
2185
2353
 
@@ -2436,12 +2604,12 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
2436
2604
  ### Changed
2437
2605
 
2438
2606
  - **Tool output truncation**: All tools now enforce consistent truncation limits with actionable notices for the LLM. ([#134](https://github.com/badlogic/pi-mono/issues/134))
2439
- - **Limits**: 2000 lines OR 50KB (whichever hits first), never partial lines
2440
- - **read**: Shows `[Showing lines X-Y of Z. Use offset=N to continue]`. If first line exceeds 50KB, suggests bash command
2441
- - **bash**: Tail truncation with temp file. Shows `[Showing lines X-Y of Z. Full output: /tmp/...]`
2442
- - **grep**: Pre-truncates match lines to 500 chars. Shows match limit and line truncation notices
2443
- - **find/ls**: Shows result/entry limit notices
2444
- - TUI displays truncation warnings in yellow at bottom of tool output (visible even when collapsed)
2607
+ - **Limits**: 2000 lines OR 50KB (whichever hits first), never partial lines
2608
+ - **read**: Shows `[Showing lines X-Y of Z. Use offset=N to continue]`. If first line exceeds 50KB, suggests bash command
2609
+ - **bash**: Tail truncation with temp file. Shows `[Showing lines X-Y of Z. Full output: /tmp/...]`
2610
+ - **grep**: Pre-truncates match lines to 500 chars. Shows match limit and line truncation notices
2611
+ - **find/ls**: Shows result/entry limit notices
2612
+ - TUI displays truncation warnings in yellow at bottom of tool output (visible even when collapsed)
2445
2613
 
2446
2614
  ## [0.13.1] - 2025-12-06
2447
2615
 
@@ -2528,13 +2696,13 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
2528
2696
  ### Added
2529
2697
 
2530
2698
  - **Context Compaction**: Long sessions can now be compacted to reduce context usage while preserving recent conversation history. ([#92](https://github.com/badlogic/pi-mono/issues/92), [docs](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md#context-compaction))
2531
- - `/compact [instructions]`: Manually compact context with optional custom instructions for the summary
2532
- - `/autocompact`: Toggle automatic compaction when context exceeds threshold
2533
- - Compaction summarizes older messages while keeping recent messages (default 20k tokens) verbatim
2534
- - Auto-compaction triggers when context reaches `contextWindow - reserveTokens` (default 16k reserve)
2535
- - Compacted sessions show a collapsible summary in the TUI (toggle with `o` key)
2536
- - HTML exports include compaction summaries as collapsible sections
2537
- - RPC mode supports `{"type":"compact"}` command and auto-compaction (emits compaction events)
2699
+ - `/compact [instructions]`: Manually compact context with optional custom instructions for the summary
2700
+ - `/autocompact`: Toggle automatic compaction when context exceeds threshold
2701
+ - Compaction summarizes older messages while keeping recent messages (default 20k tokens) verbatim
2702
+ - Auto-compaction triggers when context reaches `contextWindow - reserveTokens` (default 16k reserve)
2703
+ - Compacted sessions show a collapsible summary in the TUI (toggle with `o` key)
2704
+ - HTML exports include compaction summaries as collapsible sections
2705
+ - RPC mode supports `{"type":"compact"}` command and auto-compaction (emits compaction events)
2538
2706
  - **Branch Source Tracking**: Branched sessions now store `branchedFrom` in the session header, containing the path to the original session file. Useful for tracing session lineage.
2539
2707
 
2540
2708
  ## [0.12.5] - 2025-12-03
@@ -2571,11 +2739,11 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
2571
2739
  ### Added
2572
2740
 
2573
2741
  - **Models**: Added support for OpenAI's new models:
2574
- - `gpt-4.1` (128K context)
2575
- - `gpt-4.1-mini` (128K context)
2576
- - `gpt-4.1-nano` (128K context)
2577
- - `o3` (200K context, reasoning model)
2578
- - `o4-mini` (200K context, reasoning model)
2742
+ - `gpt-4.1` (128K context)
2743
+ - `gpt-4.1-mini` (128K context)
2744
+ - `gpt-4.1-nano` (128K context)
2745
+ - `o3` (200K context, reasoning model)
2746
+ - `o4-mini` (200K context, reasoning model)
2579
2747
 
2580
2748
  ## [0.12.0] - 2025-12-02
2581
2749
 
package/README.md CHANGED
@@ -938,7 +938,7 @@ All tools are enabled by default. Use `--tools <list>` to restrict to a subset.
938
938
  | `lsp` | Language Server Protocol queries (go-to-definition, references, hover) |
939
939
  | `todo_write` | Track task progress during sessions |
940
940
  | `web_search` | Search the web |
941
- | `web_fetch` | Fetch and render URLs |
941
+ | `fetch` | Fetch and process URLs |
942
942
  | `python` | Execute Python code in IPython kernel |
943
943
  | `notebook` | Edit Jupyter notebook cells |
944
944
 
package/docs/hooks.md CHANGED
@@ -345,10 +345,10 @@ Tool inputs:
345
345
  - `bash`: `{ command, timeout? }`
346
346
  - `read`: `{ path, offset?, limit? }`
347
347
  - `write`: `{ path, content }`
348
- - `edit`: `{ path, oldText, newText }`
348
+ - `edit`: `{ path, old_text, new_text }`
349
349
  - `ls`: `{ path?, limit? }`
350
350
  - `find`: `{ pattern, path?, limit? }`
351
- - `grep`: `{ pattern, path?, glob?, ignoreCase?, literal?, context?, limit? }`
351
+ - `grep`: `{ pattern, path?, glob?, ignore_case?, literal?, context?, limit? }`
352
352
 
353
353
  #### tool_result
354
354
 
package/docs/sdk.md CHANGED
@@ -375,7 +375,7 @@ All tools are defined in `BUILTIN_TOOLS`:
375
375
  - `output` - Task output retrieval
376
376
  - `read` - File reading (text and images)
377
377
  - `task` - Subagent spawning
378
- - `web_fetch` - Web page fetching
378
+ - `fetch` - URL fetching
379
379
  - `web_search` - Web search
380
380
  - `write` - File writing
381
381
 
@@ -8,7 +8,7 @@
8
8
  import { createAgentSession, discoverSkills, SessionManager, type Skill } from "@oh-my-pi/pi-coding-agent";
9
9
 
10
10
  // Discover all skills from cwd/.omp/skills, ~/.omp/agent/skills, etc.
11
- const allSkills = discoverSkills();
11
+ const { skills: allSkills } = await discoverSkills();
12
12
  console.log(
13
13
  "Discovered skills:",
14
14
  allSkills.map((s) => s.name),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-coding-agent",
3
- "version": "6.9.69",
3
+ "version": "8.0.0",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "ompConfig": {
@@ -18,8 +18,8 @@
18
18
  "import": "./src/index.ts"
19
19
  },
20
20
  "./hooks": {
21
- "types": "./src/core/hooks/index.ts",
22
- "import": "./src/core/hooks/index.ts"
21
+ "types": "./src/extensibility/hooks/index.ts",
22
+ "import": "./src/extensibility/hooks/index.ts"
23
23
  }
24
24
  },
25
25
  "files": [
@@ -31,20 +31,21 @@
31
31
  ],
32
32
  "scripts": {
33
33
  "check": "tsgo -p tsconfig.check.json",
34
+ "format-prompts": "bun scripts/format-prompts.ts",
34
35
  "clean": "rm -rf dist",
35
36
  "build": "tsgo -p tsconfig.build.json && chmod +x dist/cli.js",
36
37
  "build:binary": "bun run generate-wasm-b64 && bun build --compile ./src/cli.ts --outfile dist/omp",
37
38
  "generate-template": "bun scripts/generate-template.ts",
38
39
  "postinstall": "bun run generate-template || true",
39
40
  "test": "bun test",
40
- "prepublishOnly": "bun run generate-template && bun run clean && bun run build"
41
+ "prepublishOnly": "bun run generate-template"
41
42
  },
42
43
  "dependencies": {
43
- "@oh-my-pi/omp-stats": "6.9.69",
44
- "@oh-my-pi/pi-agent-core": "6.9.69",
45
- "@oh-my-pi/pi-ai": "6.9.69",
46
- "@oh-my-pi/pi-tui": "6.9.69",
47
- "@oh-my-pi/pi-utils": "6.9.69",
44
+ "@oh-my-pi/omp-stats": "8.0.0",
45
+ "@oh-my-pi/pi-agent-core": "8.0.0",
46
+ "@oh-my-pi/pi-ai": "8.0.0",
47
+ "@oh-my-pi/pi-tui": "8.0.0",
48
+ "@oh-my-pi/pi-utils": "8.0.0",
48
49
  "@openai/agents": "^0.3.7",
49
50
  "@sinclair/typebox": "^0.34.46",
50
51
  "ajv": "^8.17.1",
@@ -56,7 +57,6 @@
56
57
  "handlebars": "^4.7.8",
57
58
  "highlight.js": "^11.11.1",
58
59
  "marked": "^15.0.12",
59
- "minimatch": "^10.1.1",
60
60
  "nanoid": "^5.1.6",
61
61
  "ndjson": "^2.0.0",
62
62
  "node-html-parser": "^6.1.13",