Commit Graph
100 Commits
Author SHA1 Message Date
Mario Zechner de022ceba7 feat(coding-agent): add hidden thinking label api closes #2673 2026-03-29 21:33:15 +02:00
Mario Zechner 9508eea9ec docs(coding-agent): audit and fix changelog entries since v0.63.2 2026-03-29 21:25:45 +02:00
Mario Zechner 65b8319134 chore: remove VS Code workspace file 2026-03-29 21:13:15 +02:00
Mario Zechner 182ebe5a95 docs: add changelog entries for faux provider and ModelRegistry 2026-03-29 21:10:36 +02:00
Mario Zechner 350d17d1f3 Merge branch 'main' of https://github.com/badlogic/pi-mono 2026-03-29 21:09:04 +02:00
Mario Zechner ef6af5ebbd feat(ai,coding-agent): add faux provider and ModelRegistry factories 2026-03-29 21:08:50 +02:00
Mario Zechner b5f425ad15 feat(agent,coding-agent): add prepareArguments hook for pre-validation argument preparation
Add AgentTool.prepareArguments and ToolDefinition.prepareArguments hook
that runs before schema validation in the agent loop. This lets tools
silently accept legacy argument shapes from resumed old sessions without
polluting the public schema.

The built-in edit tool uses this to fold legacy top-level oldText/newText
into edits[] when resuming sessions that predate the edits-only schema.

- AgentTool/ToolDefinition: typed prepareArguments returning Static<TParameters>
- agent-loop: prepareToolCallArguments() runs before validateToolArguments()
- edit tool: prepareEditArguments folds legacy fields, validateEditInput is strict
- Documented in extensions.md with edit-tool example
2026-03-29 21:06:22 +02:00
Mario Zechner fa890e3f94 docs: update AGENTS instructions 2026-03-29 19:38:48 +02:00
Mario Zechner 7e1dd8880c fix(coding-agent): restore extension input source semantics 2026-03-29 19:28:04 +02:00
Mario Zechner 49c0d860a4 fix(tui): stop swallowing escape during cell size detection closes #2661 2026-03-29 13:22:23 +02:00
Mario Zechner 567249e8b4 Add [Unreleased] section for next cycle 2026-03-29 13:14:04 +02:00
Mario Zechner 41039e8de7 Release v0.63.2 2026-03-29 13:14:04 +02:00
Mario Zechner fdfe6226aa docs(coding-agent): audit unreleased changelog entries closes #2639 2026-03-29 13:09:04 +02:00
Mario Zechner 0f9db44aff fix(coding-agent): avoid full redraw on large edit results closes #2664 2026-03-29 13:00:46 +02:00
Mario Zechner 7d4faa080d fix: expose abort signal to extensions closes #2660 2026-03-28 22:25:06 +01:00
Mario Zechner e773527b3a fix(coding-agent): simplify edit tool input closes #2639 2026-03-28 22:10:34 +01:00
Mario Zechner 576e5e1a2f fix(tui): align attachment debounce test 2026-03-27 11:17:20 +01:00
Mario Zechner ec1cf54ada Add [Unreleased] section for next cycle 2026-03-27 04:15:02 +01:00
Mario Zechner d9727c4478 Release v0.63.1 2026-03-27 04:14:13 +01:00
Mario Zechner 8fba9e9223 docs(changelog): audit unreleased entries 2026-03-27 04:12:34 +01:00
Mario Zechner 46f5b798f9 chore(coding-agent): remove unused compaction import 2026-03-27 04:11:43 +01:00
Mario Zechner 7fe7081745 fix(coding-agent): document mutable tool_call input closes #2611 2026-03-27 04:01:20 +01:00
Mario Zechner f456a7a4db fix(coding-agent): restore compaction summary and dedupe edit errors 2026-03-27 04:00:21 +01:00
Mario Zechner a0734bd162 fix(coding-agent): tighten skill discovery and edit diffs closes #2603 2026-03-27 03:48:28 +01:00
Mario Zechner eeace79715 fix(coding-agent): preserve kept messages across repeated compaction closes #2608 2026-03-27 03:36:57 +01:00
Mario Zechner 161ad18287 fix(coding-agent): unify compaction UI events closes #2617 2026-03-27 03:14:24 +01:00
Mario Zechner 1ba899f6a6 fix(coding-agent): honor custom renderers for built-in tool overrides closes #2595 2026-03-27 03:10:13 +01:00
Mario Zechner bc8eb74b82 fix(ai): detect Ollama overflow errors closes #2626 2026-03-27 02:50:22 +01:00
Mario Zechner 72a8fcca93 docs: enable OSS weekend 2026-03-27 02:31:57 +01:00
Mario Zechner e24a61ef01 Add [Unreleased] section for next cycle 2026-03-27 02:31:10 +01:00
Mario Zechner 83c8682779 Release v0.63.0 2026-03-27 02:30:20 +01:00
Mario Zechner d56941073d docs(changelog): audit unreleased entries 2026-03-27 02:29:06 +01:00
Mario Zechner 20a57e7599 feat(coding-agent): support multi-edit in edit tool 2026-03-27 02:21:09 +01:00
Mario Zechner 10a02d461b chore(ai): update generated models 2026-03-27 00:47:40 +01:00
Mario Zechner 7a786d88aa fix(coding-agent): resolve models.json auth per request closes #1835 2026-03-27 00:47:40 +01:00
Mario Zechner 0406b41a46 fix(tui): keep @ autocomplete responsive in large trees closes #1278 2026-03-26 15:43:51 +01:00
Mario Zechner 56e27fef1d chore: make pi-test.sh runnable from any directory 2026-03-26 15:43:42 +01:00
Mario Zechner cb4e4d8c9a fix(tui): reset viewport state after shrink 2026-03-26 10:40:10 +01:00
Mario Zechner 7e94d36a44 fix(coding-agent): add follow-up docs, changelog, and precedence tests closes #2429 2026-03-26 00:28:30 +01:00
Mario Zechner 76f6f8cb8b fix(coding-agent,ai): restore main syntax and apply biome formatting 2026-03-26 00:12:26 +01:00
Mario Zechner d38ad0cd6b fix(coding-agent): preserve file mutation queue ordering 2026-03-25 23:05:04 +01:00
Mario Zechner dcc569c09b chore(coding-agent): emit startup benchmark metrics 2026-03-25 23:05:04 +01:00
Mario Zechner 7aeb684b72 chore(coding-agent): refine startup profiling tooling 2026-03-25 23:05:04 +01:00
Mario Zechner 648e96a611 chore(coding-agent): add startup phase timings 2026-03-25 23:05:03 +01:00
Mario Zechner 6dc43d6dd1 fix(ai): prune deprecated direct minimax models 2026-03-25 22:44:32 +01:00
Mario Zechner 14dedf8a9b test(tui): remove stale slash autocomplete chaining case 2026-03-25 22:30:25 +01:00
Mario Zechner 1dbe61b06f test(coding-agent): use valid PNG fixture for read tool 2026-03-25 22:22:48 +01:00
Mario Zechner a6cfcdac18 test(coding-agent): fix showLoadedResources mocks 2026-03-25 22:18:58 +01:00
Mario Zechner 0a395a149a test(coding-agent): stabilize git update branch setup 2026-03-25 22:15:19 +01:00
Mario Zechner de29f65316 fix(coding-agent): add missing ajv direct dependency, fixes #2252 2026-03-25 21:42:41 +01:00
Mario Zechner 21950c5ba4 fix(tui): stop chaining slash arg autocomplete after Tab closes #2577 2026-03-24 23:52:48 +01:00
Mario Zechner ebe437081e fix(coding-agent): emit session_shutdown in print mode closes #2576 2026-03-24 23:50:47 +01:00
Mario Zechner a949490f29 fix(coding-agent): respect export theme backgrounds closes #2565 2026-03-24 21:27:19 +01:00
Mario Zechner bab58f821d fix(ai): omit copilot responses reasoning default closes #2567 2026-03-24 20:39:11 +01:00
Mario Zechner 7f04694c4d chore(tui): apply import ordering in terminal 2026-03-24 20:17:25 +01:00
Mario Zechner d08ab9b9c1 fix(coding-agent): recompute interactive bash preview width closes #2569 2026-03-24 20:09:43 +01:00
Mario Zechner 629341c18f Added openclaw labeler 2026-03-24 03:27:14 +01:00
Mario Zechner 13b771e591 fix(coding-agent): reduce git update fetch noise closes #2548 2026-03-24 03:23:00 +01:00
Mario Zechner 835296b1d7 fix(coding-agent): expose rpc context usage closes #2550 2026-03-24 03:08:51 +01:00
Mario Zechner 4c7df25d03 fix(tui): restore blockquote styling after inline links
The quoteInlineStyleContext used an empty stylePrefix, so after inline
elements (links, bold, code) closed their ANSI codes inside a blockquote,
the quote color was not re-applied. Text following a link rendered in
default foreground instead of the quote theme color.
2026-03-23 22:53:24 +01:00
Mario Zechner 05c17cfbfe Add [Unreleased] section for next cycle 2026-03-23 02:50:43 +01:00
Mario Zechner 29681bd532 Release v0.62.0 2026-03-23 02:49:53 +01:00
Mario Zechner abac5d6f29 docs: complete changelog entries for unreleased changes 2026-03-23 02:48:43 +01:00
Mario Zechner a8a58ff26b fix(coding-agent): disambiguate duplicate slash commands, fixes #1061 2026-03-23 02:33:52 +01:00
Mario Zechner bb8c9e1389 chore: gitignore plans/ directory 2026-03-23 02:04:15 +01:00
Mario Zechner 4e5af01d73 fix(coding-agent): unify source provenance, closes #1734 2026-03-23 02:02:42 +01:00
Mario Zechner 883862a354 test(coding-agent): add AgentSession test harness with faux provider
Adds a reusable test harness for AgentSession runtime testing:

- Faux stream function with declarative response sequencing (text,
  tool calls, thinking, errors, custom usage, delays)
- Token-level streaming with realistic delta events (3-5 char chunks)
- One-call session factory with real in-memory dependencies
- Event capture with type-filtered access
- 14 self-tests covering text, tool calls, errors, retry, streaming
  deltas, thinking, event ordering, persistence

ref #2023
2026-03-23 02:02:34 +01:00
Mario Zechner ab771a84b2 fix(tui): preserve heading styling after inline code spans
Headings applied styling (bold+cyan) as an outer wrapper around the
result of renderInlineTokens. When inline elements like codespan emitted
ANSI resets, the outer heading style was killed and only the default
text style was restored via stylePrefix.

Fix: pass a heading-specific InlineStyleContext into renderInlineTokens
so each text segment gets heading styling directly, and stylePrefix
restores heading style after inline elements.
2026-03-23 01:07:38 +01:00
Mario Zechner d501b9ca26 fix(coding-agent): attach source info to resources and commands, fixes #1734 2026-03-23 00:52:55 +01:00
Mario Zechner 0cf18f3cf2 docs: extend OSS weekend to 2026-03-30 2026-03-22 23:33:52 +01:00
Mario Zechner a78882d8b8 fix(coding-agent): enforce safe auto-resized image limits closes #2055 2026-03-22 21:48:34 +01:00
Mario Zechner f1fe49a641 fix(coding-agent): reserve stdout in print and json mode closes #2482 2026-03-22 21:21:29 +01:00
Mario Zechner d1613e3f53 fix(ai): handle explicit thinking off across providers closes #2490 2026-03-22 20:27:44 +01:00
Mario Zechner 6129971c04 fix(ai): explicitly disable Anthropic thinking when off closes #2022 2026-03-22 19:38:54 +01:00
Mario Zechner 74073e5227 fix(coding-agent): skip no-op git package reinstalls
closes #2503
2026-03-22 19:19:47 +01:00
Mario Zechner b21b42d032 fix(ai): hash foreign responses tool item ids 2026-03-22 05:40:26 +01:00
Mario Zechner 235b247f1f fix(coding-agent): built-in tools work like extension tools
Export readToolDefinition / createReadToolDefinition and the equivalent built-in ToolDefinition APIs from @mariozechner/pi-coding-agent.
2026-03-22 04:20:38 +01:00
Mario Zechner f90647ea8e fix(coding-agent): disable cli-highlight auto-detection for languageless code blocks
cli-highlight's auto-detection misidentifies prose as AppleScript,
LiveCodeServer, etc., coloring random English words (if, but, and, the,
that, is) as keywords. This happens when code blocks have no language
specified: fenced blocks without a language tag, indented code blocks,
or unclosed fences during streaming.

Skip auto-detection entirely and apply plain mdCodeBlock styling instead.
2026-03-21 10:46:01 +01:00
Mario Zechner 77db2e4c18 fix(tui): stream truncateToWidth for large strings closes #2447 2026-03-21 10:06:29 +01:00
Mario Zechner 78833dfcbc chore(ai): format openai completions test 2026-03-21 09:16:49 +01:00
Mario Zechner 60358dc493 Merge remote-tracking branch 'origin/main' 2026-03-20 20:16:07 +01:00
Mario Zechner a84fd4e3cf Add [Unreleased] section for next cycle 2026-03-20 20:15:24 +01:00
Mario Zechner b63a4abed2 Release v0.61.1 2026-03-20 20:14:36 +01:00
Mario Zechner 3d5465001f chore: update unreleased changelog entries 2026-03-20 20:13:36 +01:00
Mario Zechner eda1082d4b fix(coding-agent): update project npm packages
closes #2459
2026-03-20 19:36:06 +01:00
Mario Zechner 16937947be fix(tui): skip Termux height redraws closes #2467 2026-03-20 19:35:50 +01:00
Mario Zechner 6b83bf4b59 docs: enable OSS weekend 2026-03-20 19:12:42 +01:00
Mario Zechner 47ea28b584 fix(coding-agent): export ToolCallEventResult closes #2458 2026-03-20 12:54:33 +01:00
Mario Zechner 6de8a2570b fix(tui): stop evicting unrelated default keybindings closes #2455 2026-03-20 12:54:20 +01:00
Mario Zechner 6c8ac01947 fix(coding-agent): respect agentDir for sdk session paths closes #2457 2026-03-20 12:12:18 +01:00
Mario Zechner 653b63a870 chore: add wrap-it prompt template 2026-03-20 11:56:15 +01:00
Mario Zechner 75fc6d088d fix(coding-agent): keep suspend resume alive on fg closes #2454 2026-03-20 11:56:15 +01:00
Mario Zechner c2a42e3215 Add [Unreleased] section for next cycle 2026-03-20 02:09:43 +01:00
Mario Zechner 1cb697cff8 Release v0.61.0 2026-03-20 02:08:56 +01:00
Mario Zechner a2baeb9a9d docs(changelog): audit unreleased entries 2026-03-20 02:04:22 +01:00
Mario Zechner e3fee7a511 fix(keybindings): migrate to namespaced ids closes #2391 2026-03-20 01:55:30 +01:00
Mario Zechner 74a46fc7ea fix(coding-agent): queue file mutations across edit and write
closes #2327
2026-03-20 01:55:30 +01:00
Mario Zechner 527c2af5e7 chore(ai): normalize MiMo V2 Pro model name 2026-03-20 01:55:30 +01:00
Mario Zechner 21ef72e9ce fix(coding-agent): protect rpc stdout fixes #2388 2026-03-20 01:55:30 +01:00
Mario Zechner 0d7c81ec9e fix(ai): skip AJV validation in restricted runtimes closes #2395 2026-03-19 22:51:12 +01:00