Commit Graph

530 Commits

Author SHA1 Message Date
Mario Zechner 876a197b19 Add [Unreleased] section for next cycle 2026-04-22 21:38:11 +02:00
Mario Zechner 85a9ce3024 Release v0.69.0 2026-04-22 21:36:47 +02:00
Mario Zechner 3dacaa8ed9 fix(coding-agent,tui): drop typebox compiler shim and fix progress 2026-04-22 21:12:20 +02:00
Armin Ronacher 35ff2689ee fix(typebox): migrate to v1 with extension compat (#3474)
* fix(typebox): migrate to v1 with extension compat

Replace AJV-based validation with TypeBox-native validation, keep legacy extension imports working (including @sinclair/typebox/compiler), and restore coercion for serialized/plain JSON schemas.

This change closes #3112.

* fix(typebox): use canonical imports and harden coercion

Switch first-party code to canonical typebox imports while retaining legacy extension aliases in the loader.

Remove obsolete runtime codegen guards, expand serialized JSON-schema coercion coverage, and update related tests and fixtures.

Fixes #3112.

---------

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-04-22 19:59:33 +02:00
Mario Zechner 049e320570 feat(agent): add terminating tool result hints closes #3525 2026-04-22 13:26:01 +02:00
Mario Zechner 9f91276a42 Add [Unreleased] section for next cycle 2026-04-22 02:15:04 +02:00
Mario Zechner a2c183db0f Release v0.68.1 2026-04-22 02:14:13 +02:00
Mario Zechner 32859bdf9a fix(agent): preserve proxy stream options closes #3512 2026-04-22 00:34:20 +02:00
Mario Zechner 759d551527 fix(agent): emit parallel tool completion eagerly\n\ncloses #3503 2026-04-22 00:15:56 +02:00
Mario Zechner 19013265a8 Add [Unreleased] section for next cycle 2026-04-20 23:55:47 +02:00
Mario Zechner 6f345b78d5 Release v0.68.0 2026-04-20 23:54:54 +02:00
Mario Zechner 7b1599058b docs(agent): clarify parallel tool ordering closes #3468 2026-04-20 22:35:43 +02:00
Mario Zechner 00887125c0 Add [Unreleased] section for next cycle 2026-04-18 01:32:50 +02:00
Mario Zechner a1edb8a463 Release v0.67.68 2026-04-18 01:31:38 +02:00
Aliou Diallo bfa11a50e4 feat(agent,coding-agent): per-tool executionMode override for sequential tool execution (#3345)
* feat(agent,coding-agent): add per-tool executionMode field to AgentTool and ToolDefinition

Add optional executionMode?: ToolExecutionMode to AgentTool and
ToolDefinition interfaces. Propagate through wrapToolDefinition and
createToolDefinitionFromAgentTool. No behavioral change yet — agent
loop will read this field in a follow-up.

* feat(agent): support per-tool executionMode override for sequential execution

When a tool defines executionMode='sequential', the agent loop
forces sequential execution of all tool calls in that batch,
even if the global config is parallel.

* feat(coding-agent): re-export ToolExecutionMode from @mariozechner/pi-agent-core

Makes the type available to extensions that want to set
executionMode on tool definitions.

* feat(coding-agent): add tic-tac-toe extension example with executionMode: sequential

Demonstrates per-tool executionMode: the agent plays via move/play
tool calls that share a cursor. Without sequential execution, play
can resolve before earlier moves finish, landing on the wrong cell.
2026-04-18 00:45:57 +02:00
Mario Zechner cbf0d1fbfa Add [Unreleased] section for next cycle 2026-04-17 23:06:48 +02:00
Mario Zechner 1c0b628882 Release v0.67.67 2026-04-17 23:06:48 +02:00
Mario Zechner b9cd557d1d fix(agent): guard afterToolCall hook errors in finalization
closes #3084
2026-04-16 23:51:38 +02:00
Mario Zechner 5476b56e41 Add [Unreleased] section for next cycle 2026-04-16 23:26:44 +02:00
Mario Zechner 2a356dca4d Release v0.67.6 2026-04-16 23:25:54 +02:00
Mario Zechner d131fcd4ba feat(coding-agent): add after_provider_response hook closes #3128 2026-04-16 20:28:08 +02:00
Armin Ronacher aa78fa91fe Add [Unreleased] section for next cycle 2026-04-16 20:06:43 +02:00
Armin Ronacher 23259e5f19 Release v0.67.5 2026-04-16 20:05:42 +02:00
Armin Ronacher 72619e9246 Add [Unreleased] section for next cycle 2026-04-16 17:56:55 +02:00
Armin Ronacher 01949c1d4f Release v0.67.4 2026-04-16 17:32:50 +02:00
Mario Zechner e0918a627b Add [Unreleased] section for next cycle 2026-04-15 23:41:16 +02:00
Mario Zechner 0299811c02 Release v0.67.3 2026-04-15 23:40:28 +02:00
Mario Zechner 94f24f2102 Add [Unreleased] section for next cycle 2026-04-14 23:42:08 +02:00
Mario Zechner 5a3e702389 Release v0.67.2 2026-04-14 23:41:17 +02:00
Mario Zechner efc58fed70 Add [Unreleased] section for next cycle 2026-04-14 00:32:10 +02:00
Mario Zechner 5326452452 Release v0.67.1 2026-04-14 00:31:22 +02:00
Mario Zechner 852efe9596 Add [Unreleased] section for next cycle 2026-04-14 00:23:18 +02:00
Mario Zechner 023cd4afda Release v0.67.0 2026-04-14 00:22:27 +02:00
Mario Zechner 2cf2a8528e Add [Unreleased] section for next cycle 2026-04-09 01:01:16 +02:00
Mario Zechner f3780d7004 Release v0.66.1 2026-04-09 01:00:19 +02:00
Mario Zechner a99aee3360 Add [Unreleased] section for next cycle 2026-04-08 18:57:08 +02:00
Mario Zechner 918cc09dd6 Release v0.66.0 2026-04-08 18:56:20 +02:00
Mario Zechner 0ff00ad4e3 Add [Unreleased] section for next cycle 2026-04-06 02:05:48 +02:00
Mario Zechner 573eb91c78 Release v0.65.2 2026-04-06 02:04:58 +02:00
Mario Zechner 78d4625a48 Add [Unreleased] section for next cycle 2026-04-06 00:26:57 +02:00
Mario Zechner 4171cf0dbb Release v0.65.1 2026-04-06 00:26:06 +02:00
Mario Zechner 84d134061f Add [Unreleased] section for next cycle 2026-04-03 20:32:11 +02:00
Mario Zechner 8c1831bd5c Release v0.65.0 2026-04-03 20:31:19 +02:00
Mario Zechner 9022a5b5ea fix(agent): await subscribed event handlers 2026-03-30 14:13:30 +02:00
Mario Zechner cbe1a8b732 fix(agent): simplify state API and update consumers fixes #2633 2026-03-30 12:43:34 +02:00
Mario Zechner 5e3852fc9c Add [Unreleased] section for next cycle 2026-03-29 21:57:00 +02:00
Mario Zechner d0404a4593 Release v0.64.0 2026-03-29 21:56:13 +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 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