Commit Graph
489 Commits
Author SHA1 Message Date
Mario Zechner e39479f7f8 Release v0.23.2
Fixed Claude models via GitHub Copilot re-answering all previous prompts.

fixes #209
2025-12-17 17:56:00 +01:00
Mario Zechner 206f5b1757 Add changelog entry for markdown table fix 2025-12-17 17:14:12 +01:00
916101edcf fix(coding-agent): detect image MIME via file-type (#205)
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2025-12-17 17:11:56 +01:00
Mario Zechner 226a47821f Release v0.23.1 2025-12-17 16:43:09 +01:00
Mario Zechner cf073c23d8 Add available imports section to custom tools docs 2025-12-17 16:41:55 +01:00
Mario Zechner a63b6ab241 Fix TUI performance regression: add caching to Box, use Text directly for built-in tools 2025-12-17 16:39:23 +01:00
Mario Zechner 11c0230cbb Add [Unreleased] section to changelog 2025-12-17 16:14:36 +01:00
Mario Zechner f55d406370 Release v0.23.0 2025-12-17 16:13:32 +01:00
Mario Zechner 98685149f8 Re-export Type from typebox, update examples to import from pi-coding-agent 2025-12-17 16:10:01 +01:00
Mario Zechner e32daf0e71 Add file-trigger hook example 2025-12-17 16:06:30 +01:00
Mario Zechner 99877a8398 Custom tools with session lifecycle, examples for hooks and tools
- Custom tools: TypeScript modules that extend pi with new tools
  - Custom TUI rendering via renderCall/renderResult
  - User interaction via pi.ui (select, confirm, input, notify)
  - Session lifecycle via onSession callback for state reconstruction
  - Examples: todo.ts, question.ts, hello.ts

- Hook examples: permission-gate, git-checkpoint, protected-paths

- Session lifecycle centralized in AgentSession
  - Works across all modes (interactive, print, RPC)
  - Unified session event for hooks (replaces session_start/session_switch)

- Box component added to pi-tui

- Examples bundled in npm and binary releases

Fixes #190
2025-12-17 16:03:23 +01:00
Mario Zechner 4d9da4e4f8 Release v0.22.5 2025-12-17 01:22:13 +01:00
Mario Zechner 6af0e57db5 Add [Unreleased] section to changelog 2025-12-17 00:40:15 +01:00
Mario Zechner 7e78ef9bb2 Release v0.22.4
- Add --list-models CLI flag for listing/finding models with fuzzy search

fixes #203
2025-12-17 00:39:14 +01:00
Mario Zechner 9aca4ec0aa Fix image limits test to use realistic payload sizes
Previous test used compressed 8k images (0.01MB) which was meaningless.
Now tests with actual large noise images that don't compress.

Realistic payload limits discovered:
- Anthropic: 6 x 3MB = ~18MB total (not 32MB as documented)
- OpenAI: 2 x 15MB = ~30MB total
- Gemini: 10 x 20MB = ~200MB total (very permissive)
- Mistral: 4 x 10MB = ~40MB total
- xAI: 1 x 20MB (strict request size limit)
- Groq: 5 x 5760px images (5 image + pixel limit)
- zAI: 2 x 15MB = ~30MB (50MB request limit)
- OpenRouter: 2 x 5MB = ~10MB total

Also fixed GEMINI_API_KEY env var (was GOOGLE_API_KEY).

Related to #120
2025-12-16 23:48:59 +01:00
Mario Zechner 6388cd61ac Release v0.22.3 2025-12-16 20:06:05 +01:00
Mario Zechner 94092ec0a8 Fix editor text clearing during compaction, fixes #179 2025-12-16 15:15:37 +01:00
Mario Zechner 75aaa9b4fa Add tool result streaming
- Add AgentToolUpdateCallback type and optional onUpdate callback to AgentTool.execute()
- Add tool_execution_update event with toolCallId, toolName, args, partialResult
- Normalize tool_execution_end to always use AgentToolResult (no more string fallback)
- Bash tool streams truncated rolling buffer output during execution
- ToolExecutionComponent shows last N lines when collapsed (not first N)
- Interactive mode handles tool_execution_update events
- Update RPC docs and ai/agent READMEs

fixes #44
2025-12-16 14:53:17 +01:00
Mario Zechner be46df3f76 Add changelog entries for X-Initiator header support (#200) 2025-12-16 14:34:56 +01:00
Mario Zechner 263864cc0b Fix reasoning disabled by default for all providers
Previously, when reasoning was not specified, some providers like Gemini
with 'dynamic thinking' enabled by default would still use thinking.
Now explicitly sets thinkingEnabled: false (Anthropic) and
thinking: { enabled: false } (Google) when reasoning is undefined.

Closes #180
2025-12-15 22:42:08 +01:00
Mario Zechner de55b4a824 Fix RGB to 256-color mapping for non-truecolor terminals 2025-12-15 22:32:23 +01:00
Mario Zechner d5ebe1dc48 Release v0.22.2 2025-12-15 22:09:14 +01:00
Mario Zechner 964565c69a Release v0.22.1 2025-12-15 21:53:27 +01:00
Mario Zechner b5a2482e3c Release v0.22.0 2025-12-15 20:14:25 +01:00
Mario Zechner 696a142a91 Minor README cleanup 2025-12-15 20:10:05 +01:00
Mario Zechner 540b831716 Update docs and changelogs for GitHub Copilot changes 2025-12-15 20:08:06 +01:00
Mario Zechner f3a2dee86b GitHub Copilot: auto-enable models, fix gpt-5 API, normalize tool call IDs
- Auto-enable all models after /login via POST /models/{model}/policy
- Use openai-responses API for gpt-5/o3/o4 models (not accessible via completions)
- Normalize tool call IDs when switching between github-copilot models with different APIs
  (fixes #198: openai-responses generates 450+ char IDs with special chars that break other models)
- Update README with streamlined GitHub Copilot docs
2025-12-15 20:06:11 +01:00
Mario Zechner 6a2e3b1d88 Fix GitHub Copilot model enablement instructions (VS Code, not web) 2025-12-15 19:18:07 +01:00
Mario Zechnerandcau1k 555a736051 Add GitHub Copilot support (#191)
- OAuth login for GitHub Copilot via /login command
- Support for github.com and GitHub Enterprise
- Models sourced from models.dev (Claude, GPT, Gemini, Grok, etc.)
- Dynamic base URL from token's proxy-ep field
- Use vscode-chat integration ID for API compatibility
- Documentation for model enablement at github.com/settings/copilot/features

Co-authored-by: cau1k <cau1k@users.noreply.github.com>
2025-12-15 19:05:17 +01:00
Mario Zechner 8a47cb4e3b Merge branch 'main' into pr-191-github-copilot-auth 2025-12-15 18:10:15 +01:00
Mario Zechner 5cb6bbf421 Fix model selector fuzzy search to match provider and support multi-token queries 2025-12-15 18:05:32 +01:00
cau1k df16cfec47 clean up 2025-12-15 00:34:38 -05:00
cau1k fd2e433d30 feat: initial impl
- add GitHub Copilot model discovery (env token fallback, headers,
compat) plus fallback list and quoted provider keys in generated map
- surface Copilot provider end-to-end (KnownProvider/default, env+OAuth
token refresh/save, enterprise base URL swap, available only when
creds/env exist)
- tweak interactive OAuth UI to render instruction text and prompt
placeholders

gpt-5.2-high took about 35 minutes. It had a lot of trouble with `npm
check`  and went off on a "let's adjust every tsconfig" side quest.
Device code flow works, but the ai/scripts/generate-models.ts impl is
wrong as models from months ago are missing and only those deprecated
are accessible in the /models picker.
2025-12-14 17:18:13 -05:00
Mario Zechner aeb41c8ecd Release v0.21.0 2025-12-13 23:55:31 +01:00
Mario Zechner 1e5ecf2eaa Fix image rendering artifacts and improve show-images selector
- Image component returns correct number of lines (rows) for TUI accounting
- Empty lines rendered first, then cursor moves up and image is drawn
- This clears the space the image occupies before rendering
- Add spacer before inline images in tool output
- Create ShowImagesSelectorComponent with borders like other selectors
- Use showSelector pattern for /show-images command
2025-12-13 23:53:28 +01:00
Mario Zechner 1cb273bf44 Merge feature/tui-inline-images: Inline image rendering for supported terminals 2025-12-13 23:22:31 +01:00
Mario Zechner fbbf49e4ac Update docs for inline images, remove PI_NO_IMAGES env var
- Add CHANGELOG entry for inline image rendering feature
- Add /show-images to slash commands table in README
- Expand Image Support section with inline rendering info
- Add terminal.showImages to settings documentation
- Remove PI_NO_IMAGES environment variable feature
2025-12-13 23:21:18 +01:00
Mario Zechner 36f791eb94 Update existing tool components when toggling show-images setting 2025-12-13 23:15:56 +01:00
Mario Zechner 9a1d5df072 Add /show-images command to toggle inline image display
- Add terminal.showImages setting to settings-manager.ts
- Add /show-images slash command (only visible if terminal supports images)
- ToolExecutionComponent checks both terminal support and user setting
- Shows text fallback when inline images are disabled
2025-12-13 23:14:46 +01:00
Mario Zechner 0c1f6c146d Add changelog entry for PR #181 - fix macOS screenshot filenames 2025-12-13 22:07:56 +01:00
Nico BailonandGitHub ee6ff952b2 coding-agent: fix macOS screenshot filenames with unicode spaces (#181) 2025-12-13 22:04:01 +01:00
Nico Bailon 2954022690 add inline image rendering for terminals with graphics support 2025-12-12 19:30:50 -08:00
Mario Zechner 10288d96c5 Add coding-agent changelog entry for Gemini 3 Pro thinking levels 2025-12-13 02:11:25 +01:00
Mario Zechner 0e0d7380d4 Add changelog entry for #173, document attribution format in AGENTS.md 2025-12-13 02:06:39 +01:00
Mario Zechner 3c689e4452 Release v0.20.2 2025-12-13 01:11:36 +01:00
Mario Zechner a87b79f29d Add [Unreleased] sections to CHANGELOGs 2025-12-13 00:58:16 +01:00
Mario Zechner 7e530acb2b Release v0.20.1 2025-12-13 00:57:12 +01:00
Mario Zechner 830cb85f6b coding-agent, mom: add skills API export and mom skills auto-discovery
coding-agent:
- Export loadSkillsFromDir, formatSkillsForPrompt, and related types
- Refactor skills.ts to expose public API

mom:
- Add skills auto-discovery from workspace/skills and channel/skills
- Fix skill loading to use host paths (not Docker container paths)
- Update README and system prompt with SKILL.md format docs
2025-12-13 00:56:10 +01:00
Mario Zechner 4327ec73e1 coding-agent: add [Unreleased] section to CHANGELOG 2025-12-12 23:25:57 +01:00
Mario Zechner 4e60453fca Release v0.20.0 2025-12-12 23:25:01 +01:00