@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.
- package/CHANGELOG.md +219 -51
- package/README.md +1 -1
- package/docs/hooks.md +2 -2
- package/docs/sdk.md +1 -1
- package/examples/sdk/04-skills.ts +1 -1
- package/package.json +10 -10
- package/scripts/format-prompts.ts +143 -0
- package/scripts/generate-template.ts +1 -1
- package/src/cli/args.ts +3 -3
- package/src/cli/config-cli.ts +4 -4
- package/src/cli/file-processor.ts +3 -3
- package/src/cli/list-models.ts +2 -2
- package/src/cli/plugin-cli.ts +3 -3
- package/src/cli/session-picker.ts +2 -2
- package/src/cli/setup-cli.ts +2 -2
- package/src/cli/stats-cli.ts +1 -1
- package/src/cli/update-cli.ts +2 -2
- package/src/{core → config}/keybindings.ts +1 -1
- package/src/{core → config}/model-registry.ts +8 -1
- package/src/{core → config}/model-resolver.ts +3 -3
- package/src/{core → config}/prompt-templates.ts +2 -2
- package/src/{core → config}/settings-manager.ts +6 -6
- package/src/{core/cursor/exec-bridge.ts → cursor.ts} +4 -4
- package/src/discovery/agents-md.ts +4 -4
- package/src/discovery/builtin.ts +17 -17
- package/src/discovery/claude.ts +12 -12
- package/src/discovery/cline.ts +6 -6
- package/src/discovery/codex.ts +21 -21
- package/src/discovery/cursor.ts +9 -9
- package/src/discovery/gemini.ts +9 -9
- package/src/discovery/github.ts +6 -6
- package/src/discovery/helpers.ts +4 -4
- package/src/discovery/index.ts +16 -16
- package/src/discovery/mcp-json.ts +4 -4
- package/src/discovery/ssh.ts +4 -4
- package/src/discovery/vscode.ts +4 -4
- package/src/discovery/windsurf.ts +6 -6
- package/src/{core/tools/exa → exa}/company.ts +2 -3
- package/src/{core/tools/exa → exa}/index.ts +2 -2
- package/src/{core/tools/exa → exa}/linkedin.ts +2 -3
- package/src/{core/tools/exa → exa}/mcp-client.ts +2 -2
- package/src/{core/tools/exa → exa}/render.ts +3 -3
- package/src/{core/tools/exa → exa}/researcher.ts +1 -1
- package/src/{core/tools/exa → exa}/search.ts +2 -10
- package/src/{core/tools/exa → exa}/websets.ts +1 -1
- package/src/{core → exec}/bash-executor.ts +23 -7
- package/src/{core → export}/custom-share.ts +1 -1
- package/src/{core/export-html → export/html}/index.ts +3 -3
- package/src/{core → export}/ttsr.ts +2 -2
- package/src/{core → extensibility}/custom-commands/bundled/review/index.ts +4 -4
- package/src/{core → extensibility}/custom-commands/loader.ts +3 -3
- package/src/{core → extensibility}/custom-commands/types.ts +1 -1
- package/src/{core → extensibility}/custom-tools/loader.ts +9 -9
- package/src/{core → extensibility}/custom-tools/types.ts +6 -6
- package/src/{core → extensibility}/custom-tools/wrapper.ts +1 -1
- package/src/{core → extensibility}/extensions/loader.ts +8 -8
- package/src/{core → extensibility}/extensions/runner.ts +3 -3
- package/src/{core → extensibility}/extensions/types.ts +15 -15
- package/src/{core → extensibility}/extensions/wrapper.ts +1 -1
- package/src/{core → extensibility}/hooks/index.ts +1 -1
- package/src/{core → extensibility}/hooks/loader.ts +7 -7
- package/src/{core → extensibility}/hooks/runner.ts +4 -4
- package/src/{core → extensibility}/hooks/types.ts +9 -9
- package/src/{core → extensibility}/plugins/doctor.ts +1 -1
- package/src/{core → extensibility}/plugins/installer.ts +2 -3
- package/src/{core → extensibility}/plugins/paths.ts +1 -1
- package/src/{core → extensibility}/skills.ts +8 -48
- package/src/{core → extensibility}/slash-commands.ts +6 -6
- package/src/index.ts +127 -128
- package/src/internal-urls/agent-protocol.ts +126 -0
- package/src/internal-urls/artifact-protocol.ts +93 -0
- package/src/internal-urls/index.ts +28 -0
- package/src/internal-urls/json-query.ts +126 -0
- package/src/internal-urls/router.ts +69 -0
- package/src/internal-urls/rule-protocol.ts +56 -0
- package/src/internal-urls/skill-protocol.ts +112 -0
- package/src/internal-urls/types.ts +48 -0
- package/src/{core/python-executor.ts → ipy/executor.ts} +74 -13
- package/src/{core/python-gateway-coordinator.ts → ipy/gateway-coordinator.ts} +40 -270
- package/src/{core/python-kernel.ts → ipy/kernel.ts} +38 -10
- package/src/{core/python-prelude.py → ipy/prelude.py} +201 -8
- package/src/ipy/prelude.ts +3 -0
- package/src/{core/tools/lsp → lsp}/client.ts +7 -6
- package/src/{core/tools/lsp → lsp}/clients/biome-client.ts +1 -1
- package/src/{core/tools/lsp → lsp}/clients/index.ts +1 -1
- package/src/{core/tools/lsp → lsp}/clients/lsp-linter-client.ts +4 -4
- package/src/{core/tools/lsp → lsp}/config.ts +1 -1
- package/src/{core/tools/lsp → lsp}/index.ts +29 -17
- package/src/{core/tools/lsp → lsp}/render.ts +2 -2
- package/src/{core/tools/lsp → lsp}/types.ts +14 -16
- package/src/{core/tools/lsp → lsp}/utils.ts +1 -1
- package/src/main.ts +12 -12
- package/src/{core/mcp → mcp}/config.ts +8 -8
- package/src/{core/mcp → mcp}/loader.ts +5 -6
- package/src/{core/mcp → mcp}/manager.ts +2 -2
- package/src/{core/mcp → mcp}/tool-bridge.ts +35 -6
- package/src/{core/mcp → mcp}/tool-cache.ts +1 -1
- package/src/{core/mcp → mcp}/transports/http.ts +7 -1
- package/src/{core/mcp → mcp}/transports/stdio.ts +1 -1
- package/src/{core/mcp → mcp}/types.ts +1 -1
- package/src/migrations.ts +2 -2
- package/src/modes/{interactive/components → components}/armin.ts +1 -1
- package/src/modes/{interactive/components → components}/assistant-message.ts +1 -1
- package/src/modes/{interactive/components → components}/bash-execution.ts +37 -29
- package/src/modes/{interactive/components → components}/bordered-loader.ts +1 -1
- package/src/modes/{interactive/components → components}/branch-summary-message.ts +2 -2
- package/src/modes/{interactive/components → components}/compaction-summary-message.ts +2 -2
- package/src/modes/{interactive/components → components}/custom-message.ts +3 -3
- package/src/modes/{interactive/components → components}/diff.ts +1 -1
- package/src/modes/{interactive/components → components}/dynamic-border.ts +1 -1
- package/src/modes/{interactive/components → components}/extensions/extension-dashboard.ts +3 -3
- package/src/modes/{interactive/components → components}/extensions/extension-list.ts +2 -2
- package/src/modes/{interactive/components → components}/extensions/inspector-panel.ts +1 -1
- package/src/modes/{interactive/components → components}/extensions/state-manager.ts +11 -17
- package/src/modes/{interactive/components → components}/extensions/types.ts +1 -1
- package/src/modes/{interactive/components → components}/footer.ts +3 -3
- package/src/modes/{interactive/components → components}/history-search.ts +2 -2
- package/src/modes/{interactive/components → components}/hook-editor.ts +1 -1
- package/src/modes/{interactive/components → components}/hook-input.ts +1 -1
- package/src/modes/{interactive/components → components}/hook-message.ts +3 -3
- package/src/modes/{interactive/components → components}/hook-selector.ts +1 -1
- package/src/modes/{interactive/components → components}/keybinding-hints.ts +2 -2
- package/src/modes/{interactive/components → components}/login-dialog.ts +1 -1
- package/src/modes/{interactive/components → components}/model-selector.ts +5 -5
- package/src/modes/{interactive/components → components}/oauth-selector.ts +2 -2
- package/src/modes/{interactive/components → components}/plugin-settings.ts +3 -3
- package/src/modes/{interactive/components → components}/python-execution.ts +35 -24
- package/src/modes/{interactive/components → components}/queue-mode-selector.ts +1 -1
- package/src/modes/{interactive/components → components}/read-tool-group.ts +2 -2
- package/src/modes/{interactive/components → components}/session-selector.ts +3 -3
- package/src/modes/{interactive/components → components}/settings-defs.ts +2 -2
- package/src/modes/{interactive/components → components}/settings-selector.ts +2 -2
- package/src/modes/{interactive/components → components}/show-images-selector.ts +1 -1
- package/src/modes/{interactive/components → components}/status-line/segments.ts +2 -2
- package/src/modes/{interactive/components → components}/status-line/separators.ts +1 -1
- package/src/modes/{interactive/components → components}/status-line/types.ts +2 -2
- package/src/modes/{interactive/components → components}/status-line-segment-editor.ts +2 -2
- package/src/modes/{interactive/components → components}/status-line.ts +3 -3
- package/src/modes/{interactive/components → components}/theme-selector.ts +1 -1
- package/src/modes/{interactive/components → components}/thinking-selector.ts +1 -1
- package/src/modes/{interactive/components → components}/todo-display.ts +3 -4
- package/src/modes/{interactive/components → components}/todo-reminder.ts +2 -2
- package/src/modes/{interactive/components → components}/tool-execution.ts +8 -8
- package/src/modes/{interactive/components → components}/tree-selector.ts +3 -3
- package/src/modes/{interactive/components → components}/ttsr-notification.ts +2 -2
- package/src/modes/{interactive/components → components}/user-message-selector.ts +1 -1
- package/src/modes/{interactive/components → components}/user-message.ts +1 -1
- package/src/modes/{interactive/components → components}/welcome.ts +2 -2
- package/src/modes/{interactive/controllers → controllers}/command-controller.ts +381 -30
- package/src/modes/{interactive/controllers → controllers}/event-controller.ts +9 -9
- package/src/modes/{interactive/controllers → controllers}/extension-ui-controller.ts +8 -8
- package/src/modes/{interactive/controllers → controllers}/input-controller.ts +61 -13
- package/src/modes/{interactive/controllers → controllers}/selector-controller.ts +16 -16
- package/src/modes/index.ts +1 -1
- package/src/modes/{interactive/interactive-mode.ts → interactive-mode.ts} +20 -15
- package/src/modes/print-mode.ts +1 -1
- package/src/modes/rpc/rpc-client.ts +3 -3
- package/src/modes/rpc/rpc-mode.ts +3 -3
- package/src/modes/rpc/rpc-types.ts +3 -3
- package/src/modes/{interactive/theme → theme}/theme.ts +1 -1
- package/src/modes/{interactive/types.ts → types.ts} +10 -10
- package/src/modes/{interactive/utils → utils}/ui-helpers.ts +20 -27
- package/src/{core/tools/patch → patch}/applicator.ts +1 -1
- package/src/{core/tools/patch → patch}/diff.ts +1 -1
- package/src/{core/tools/patch → patch}/index.ts +31 -36
- package/src/{core/tools/patch → patch}/shared.ts +9 -6
- package/src/prompts/agents/explore.md +83 -46
- package/src/prompts/agents/init.md +9 -4
- package/src/prompts/agents/plan.md +8 -7
- package/src/prompts/agents/reviewer.md +36 -18
- package/src/prompts/agents/task.md +4 -4
- package/src/prompts/compaction/branch-summary-preamble.md +0 -1
- package/src/prompts/review-request.md +0 -1
- package/src/prompts/system/custom-system-prompt.md +2 -14
- package/src/prompts/system/file-operations.md +0 -2
- package/src/prompts/system/system-prompt.md +182 -171
- package/src/prompts/system/web-search.md +26 -0
- package/src/prompts/tools/ask.md +31 -24
- package/src/prompts/tools/bash.md +20 -17
- package/src/prompts/tools/calculator.md +9 -5
- package/src/prompts/tools/fetch.md +16 -0
- package/src/prompts/tools/find.md +15 -5
- package/src/prompts/tools/gemini-image.md +21 -6
- package/src/prompts/tools/grep.md +28 -12
- package/src/prompts/tools/lsp.md +35 -14
- package/src/prompts/tools/patch.md +39 -41
- package/src/prompts/tools/python.md +59 -77
- package/src/prompts/tools/read.md +23 -22
- package/src/prompts/tools/replace.md +19 -12
- package/src/prompts/tools/ssh.md +21 -28
- package/src/prompts/tools/task.md +54 -44
- package/src/prompts/tools/todo-write.md +52 -163
- package/src/prompts/tools/web-search.md +16 -9
- package/src/prompts/tools/write.md +13 -2
- package/src/{core/sdk.ts → sdk.ts} +65 -34
- package/src/{core → session}/agent-session.ts +157 -41
- package/src/{core → session}/agent-storage.ts +2 -2
- package/src/session/artifacts.ts +110 -0
- package/src/{core → session}/auth-storage.ts +525 -203
- package/src/{core → session}/compaction/branch-summarization.ts +5 -5
- package/src/{core → session}/compaction/compaction.ts +6 -6
- package/src/{core → session}/compaction/utils.ts +3 -3
- package/src/{core → session}/history-storage.ts +1 -1
- package/src/{core → session}/messages.ts +6 -8
- package/src/{core → session}/session-manager.ts +2 -2
- package/src/{core → session}/storage-migration.ts +2 -2
- package/src/session/streaming-output.ts +177 -0
- package/src/{core/ssh → ssh}/connection-manager.ts +1 -1
- package/src/{core/ssh → ssh}/ssh-executor.ts +19 -4
- package/src/{core/ssh → ssh}/sshfs-mount.ts +1 -1
- package/src/{core/system-prompt.ts → system-prompt.ts} +8 -37
- package/src/{core/tools/task → task}/agents.ts +8 -8
- package/src/{core/tools/task → task}/commands.ts +5 -6
- package/src/{core/tools/task → task}/discovery.ts +3 -3
- package/src/{core/tools/task → task}/executor.ts +34 -44
- package/src/{core/tools/task → task}/index.ts +206 -50
- package/src/{core/tools/task → task}/render.ts +80 -23
- package/src/{core/tools/task → task}/subprocess-tool-registry.ts +1 -1
- package/src/task/template.ts +47 -0
- package/src/{core/tools/task → task}/types.ts +19 -27
- package/src/{core/tools/task → task}/worker-protocol.ts +8 -4
- package/src/{core/tools/task → task}/worker.ts +34 -29
- package/src/task/worktree.ts +166 -0
- package/src/{core/tools → tools}/ask.ts +13 -21
- package/src/{core/tools → tools}/bash-interceptor.ts +1 -1
- package/src/{core/tools → tools}/bash.ts +61 -63
- package/src/{core/tools → tools}/calculator.ts +4 -4
- package/src/{core/tools → tools}/complete.ts +1 -1
- package/src/{core/tools → tools}/context.ts +2 -2
- package/src/{core/tools/web-fetch.ts → tools/fetch.ts} +97 -76
- package/src/{core/tools → tools}/find.ts +96 -107
- package/src/{core/tools → tools}/gemini-image.ts +420 -29
- package/src/{core/tools → tools}/grep.ts +155 -164
- package/src/{core/tools → tools}/index.ts +63 -56
- package/src/tools/list-limit.ts +40 -0
- package/src/{core/tools → tools}/ls.ts +44 -35
- package/src/{core/tools → tools}/notebook.ts +3 -3
- package/src/tools/output-meta.ts +443 -0
- package/src/tools/output-utils.ts +63 -0
- package/src/{core/tools → tools}/python.ts +106 -89
- package/src/tools/read.ts +882 -0
- package/src/{core/tools → tools}/render-utils.ts +1 -1
- package/src/{core/tools → tools}/renderers.ts +8 -10
- package/src/{core/tools → tools}/review.ts +2 -2
- package/src/{core/tools → tools}/ssh.ts +56 -59
- package/src/{core/tools → tools}/todo-write.ts +12 -23
- package/src/tools/tool-errors.ts +95 -0
- package/src/tools/tool-result.ts +92 -0
- package/src/{core/tools → tools}/truncate.ts +2 -2
- package/src/{core/tools → tools}/write.ts +15 -13
- package/src/utils/changelog.ts +1 -1
- package/src/{core → utils}/file-mentions.ts +4 -4
- package/src/utils/image-convert.ts +1 -1
- package/src/utils/image-resize.ts +1 -1
- package/src/utils/shell.ts +1 -1
- package/src/{core → utils}/title-generator.ts +4 -4
- package/src/utils/tools-manager.ts +1 -1
- package/src/{core/tools/web-scrapers → web/scrapers}/choosealicense.ts +1 -1
- package/src/{core/tools/web-scrapers → web/scrapers}/twitter.ts +3 -2
- package/src/{core/tools/web-scrapers → web/scrapers}/types.ts +4 -2
- package/src/{core/tools/web-scrapers → web/scrapers}/utils.ts +1 -1
- package/src/{core/tools/web-scrapers → web/scrapers}/youtube.ts +14 -13
- package/src/{core/tools/web-search → web/search}/auth.ts +4 -4
- package/src/{core/tools/web-search → web/search}/index.ts +22 -71
- package/src/{core/tools/web-search → web/search}/providers/anthropic.ts +7 -10
- package/src/{core/tools/web-search → web/search}/providers/exa.ts +2 -2
- package/src/{core/tools/web-search → web/search}/providers/perplexity.ts +4 -16
- package/src/{core/tools/web-search → web/search}/render.ts +3 -3
- package/scripts/migrate-sessions.sh +0 -93
- package/src/core/index.ts +0 -56
- package/src/core/python-prelude.ts +0 -3
- package/src/core/ssh-executor.ts +0 -5
- package/src/core/streaming-output.ts +0 -115
- package/src/core/tools/output.ts +0 -519
- package/src/core/tools/read.ts +0 -717
- package/src/core/tools/task/template.ts +0 -37
- package/src/prompts/tools/output.md +0 -47
- package/src/prompts/tools/web-fetch.md +0 -9
- /package/src/{core/tools/exa → exa}/types.ts +0 -0
- /package/src/{core → exec}/exec.ts +0 -0
- /package/src/{core/export-html → export/html}/template.css +0 -0
- /package/src/{core/export-html → export/html}/template.generated.ts +0 -0
- /package/src/{core/export-html → export/html}/template.html +0 -0
- /package/src/{core/export-html → export/html}/template.js +0 -0
- /package/src/{core/export-html → export/html}/template.macro.ts +0 -0
- /package/src/{core/export-html → export/html}/vendor/highlight.min.js +0 -0
- /package/src/{core/export-html → export/html}/vendor/marked.min.js +0 -0
- /package/src/{core → extensibility}/custom-commands/index.ts +0 -0
- /package/src/{core → extensibility}/custom-tools/index.ts +0 -0
- /package/src/{core → extensibility}/extensions/index.ts +0 -0
- /package/src/{core → extensibility}/hooks/tool-wrapper.ts +0 -0
- /package/src/{core → extensibility}/plugins/index.ts +0 -0
- /package/src/{core → extensibility}/plugins/loader.ts +0 -0
- /package/src/{core → extensibility}/plugins/manager.ts +0 -0
- /package/src/{core → extensibility}/plugins/parser.ts +0 -0
- /package/src/{core → extensibility}/plugins/types.ts +0 -0
- /package/src/{core/python-modules.ts → ipy/modules.ts} +0 -0
- /package/src/{core/tools/lsp → lsp}/defaults.json +0 -0
- /package/src/{core/tools/lsp → lsp}/edits.ts +0 -0
- /package/src/{core/tools/lsp → lsp}/lspmux.ts +0 -0
- /package/src/{core/tools/lsp → lsp}/rust-analyzer.ts +0 -0
- /package/src/{core/mcp → mcp}/client.ts +0 -0
- /package/src/{core/mcp → mcp}/index.ts +0 -0
- /package/src/{core/mcp → mcp}/json-rpc.ts +0 -0
- /package/src/{core/mcp → mcp}/transports/index.ts +0 -0
- /package/src/modes/{interactive/components → components}/countdown-timer.ts +0 -0
- /package/src/modes/{interactive/components → components}/custom-editor.ts +0 -0
- /package/src/modes/{interactive/components → components}/extensions/index.ts +0 -0
- /package/src/modes/{interactive/components → components}/index.ts +0 -0
- /package/src/modes/{interactive/components → components}/status-line/index.ts +0 -0
- /package/src/modes/{interactive/components → components}/status-line/presets.ts +0 -0
- /package/src/modes/{interactive/components → components}/visual-truncate.ts +0 -0
- /package/src/modes/{interactive/theme → theme}/dark.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/alabaster.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/amethyst.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/anthracite.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/basalt.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/birch.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-abyss.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-arctic.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-aurora.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-catppuccin.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-cavern.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-copper.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-cosmos.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-cyberpunk.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-dracula.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-eclipse.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-ember.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-equinox.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-forest.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-github.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-gruvbox.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-lavender.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-lunar.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-midnight.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-monochrome.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-monokai.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-nebula.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-nord.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-ocean.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-one.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-rainforest.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-reef.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-retro.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-rose-pine.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-sakura.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-slate.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-solarized.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-solstice.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-starfall.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-sunset.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-swamp.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-synthwave.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-taiga.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-terminal.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-tokyo-night.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-tundra.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-twilight.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/dark-volcanic.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/graphite.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/index.ts +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-arctic.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-aurora-day.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-canyon.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-catppuccin.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-cirrus.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-coral.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-cyberpunk.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-dawn.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-dunes.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-eucalyptus.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-forest.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-frost.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-github.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-glacier.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-gruvbox.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-haze.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-honeycomb.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-lagoon.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-lavender.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-meadow.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-mint.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-monochrome.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-ocean.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-one.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-opal.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-orchard.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-paper.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-prism.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-retro.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-sand.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-savanna.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-solarized.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-soleil.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-sunset.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-synthwave.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-tokyo-night.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-wetland.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/light-zenith.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/limestone.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/mahogany.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/marble.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/obsidian.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/onyx.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/pearl.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/porcelain.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/quartz.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/sandstone.json +0 -0
- /package/src/modes/{interactive/theme → theme}/defaults/titanium.json +0 -0
- /package/src/modes/{interactive/theme → theme}/light.json +0 -0
- /package/src/modes/{interactive/theme → theme}/theme-schema.json +0 -0
- /package/src/{core/tools/patch → patch}/fuzzy.ts +0 -0
- /package/src/{core/tools/patch → patch}/normalize.ts +0 -0
- /package/src/{core/tools/patch → patch}/normative.ts +0 -0
- /package/src/{core/tools/patch → patch}/parser.ts +0 -0
- /package/src/{core/tools/patch → patch}/types.ts +0 -0
- /package/src/{core → session}/compaction/index.ts +0 -0
- /package/src/{core → session}/session-storage.ts +0 -0
- /package/src/{core/tools/task → task}/name-generator.ts +0 -0
- /package/src/{core/tools/task → task}/omp-command.ts +0 -0
- /package/src/{core/tools/task → task}/parallel.ts +0 -0
- /package/src/{core/tools → tools}/jtd-to-json-schema.ts +0 -0
- /package/src/{core/tools → tools}/path-utils.ts +0 -0
- /package/src/{core → utils}/event-bus.ts +0 -0
- /package/src/{core → utils}/frontmatter.ts +0 -0
- /package/src/{core → utils}/terminal-notify.ts +0 -0
- /package/src/{core → utils}/timings.ts +0 -0
- /package/src/{core → utils}/utils.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/artifacthub.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/arxiv.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/aur.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/biorxiv.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/bluesky.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/brew.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/cheatsh.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/chocolatey.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/cisa-kev.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/clojars.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/coingecko.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/crates-io.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/crossref.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/devto.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/discogs.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/discourse.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/dockerhub.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/fdroid.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/firefox-addons.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/flathub.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/github-gist.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/github.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/gitlab.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/go-pkg.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/hackage.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/hackernews.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/hex.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/huggingface.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/iacr.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/index.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/jetbrains-marketplace.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/lemmy.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/lobsters.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/mastodon.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/maven.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/mdn.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/metacpan.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/musicbrainz.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/npm.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/nuget.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/nvd.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/ollama.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/open-vsx.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/opencorporates.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/openlibrary.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/orcid.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/osv.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/packagist.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/pub-dev.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/pubmed.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/pypi.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/rawg.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/readthedocs.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/reddit.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/repology.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/rfc.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/rubygems.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/searchcode.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/sec-edgar.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/semantic-scholar.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/snapcraft.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/sourcegraph.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/spdx.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/spotify.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/stackoverflow.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/terraform.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/tldr.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/vimeo.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/vscode-marketplace.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/w3c.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/wikidata.ts +0 -0
- /package/src/{core/tools/web-scrapers → web/scrapers}/wikipedia.ts +0 -0
- /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
|
|
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
|
|
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
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
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
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
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
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
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
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
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
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
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
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
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
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
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
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
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
|
-
| `
|
|
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,
|
|
348
|
+
- `edit`: `{ path, old_text, new_text }`
|
|
349
349
|
- `ls`: `{ path?, limit? }`
|
|
350
350
|
- `find`: `{ pattern, path?, limit? }`
|
|
351
|
-
- `grep`: `{ pattern, path?, glob?,
|
|
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
|
-
- `
|
|
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": "
|
|
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/
|
|
22
|
-
"import": "./src/
|
|
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
|
|
41
|
+
"prepublishOnly": "bun run generate-template"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
|
-
"@oh-my-pi/omp-stats": "
|
|
44
|
-
"@oh-my-pi/pi-agent-core": "
|
|
45
|
-
"@oh-my-pi/pi-ai": "
|
|
46
|
-
"@oh-my-pi/pi-tui": "
|
|
47
|
-
"@oh-my-pi/pi-utils": "
|
|
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",
|