Commit Graph
188 Commits
Author SHA1 Message Date
Mario Zechner 120cd8e3e7 Release v0.24.5 2025-12-19 22:09:35 +01:00
Mario Zechner bc9c6375d7 Release v0.24.4 2025-12-19 21:54:36 +01:00
Mario Zechner 301281f601 Release v0.24.3 2025-12-19 21:36:16 +01:00
Mario Zechner 9b6a79fd8a Release v0.24.2 2025-12-19 21:12:53 +01:00
Mario Zechner 783e39fd65 Release v0.24.1 2025-12-19 20:51:44 +01:00
theBuckyandMario Zechner 85350f5e9c feat: add xhigh thinking level support for gpt-5.2 and gpt-5.2-codex
- Add XHIGH_MODELS constant and getAvailableThinkingLevels() to AgentSession
- Update ThinkingSelectorComponent to accept availableLevels parameter
- Both shift+tab cycling and /thinking command now show xhigh for supported models
- Update types.ts documentation to list supported models
2025-12-19 19:59:13 +01:00
Mario Zechner 3df5f025ef Release v0.24.0 2025-12-19 05:21:25 +01:00
Mario Zechner c8b9b6ecf6 Release v0.23.5 2025-12-19 05:15:34 +01:00
Mario Zechner 794302831b Simplify getApiKey pass-through, add changelog entry for #223 2025-12-19 01:37:53 +01:00
Ahmed KamalandGitHub ed14ef1201 Fix expired OAuth tokens in long-running agent loops (#223)
Add getApiKey hook to AgentLoopConfig that resolves API keys dynamically
before each LLM call. This allows short-lived OAuth tokens (e.g. GitHub
Copilot, Anthropic OAuth) to be refreshed between turns when tool
execution takes a long time.

Previously, the API key was resolved once when ProviderTransport.run()
was called and passed as a static string to the agent loop. If the loop
ran for longer than the token lifetime (e.g. 30 minutes for Copilot),
subsequent LLM calls would fail with expired token errors.

Changes:
- Add getApiKey hook to AgentLoopConfig (packages/ai)
- Call getApiKey before each LLM call in streamAssistantResponse
- Update ProviderTransport to pass getApiKey instead of static apiKey
- Update web-ui ProviderTransport with same pattern
2025-12-19 01:36:25 +01:00
Mario Zechner 372bed5615 Release v0.23.4 2025-12-18 16:56:50 +01:00
Mario Zechner ee700034e0 Switch to more stable, oldder tsgo, switch all check scripts to tsgo 2025-12-18 15:20:41 +01:00
Mario Zechner e71c3d8d6e Update tsgo, switch to tsc for agent package, as tsgo hangs on Alpine in Docker x86 2025-12-18 15:02:03 +01:00
Mario Zechner 93542615f7 Release v0.23.3 2025-12-17 22:29:46 +01:00
Mario Zechner eea76250b8 Improve system prompt docs, clean up theme/skills/hooks docs, fix toolResults type
- System prompt: clearer pointers to specific doc files
- theme.md: added thinkingXhigh, bashMode tokens, fixed Theme class methods
- skills.md: rewrote with better framing, examples, and skill repositories
- hooks.md: fixed timeout/error handling docs, added custom tool interception note
- Breaking: turn_end event toolResults changed from AppMessage[] to ToolResultMessage[]
2025-12-17 21:27:28 +01:00
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 226a47821f Release v0.23.1 2025-12-17 16:43:09 +01:00
Mario Zechner f55d406370 Release v0.23.0 2025-12-17 16:13:32 +01:00
Mario Zechner 4d9da4e4f8 Release v0.22.5 2025-12-17 01:22:13 +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 6388cd61ac Release v0.22.3 2025-12-16 20:06:05 +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 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 aeb41c8ecd Release v0.21.0 2025-12-13 23:55:31 +01:00
Mario Zechner 3c689e4452 Release v0.20.2 2025-12-13 01:11:36 +01:00
Mario Zechner 7e530acb2b Release v0.20.1 2025-12-13 00:57:12 +01:00
Mario Zechner 4e60453fca Release v0.20.0 2025-12-12 23:25:01 +01:00
Mario Zechner d0626c4285 Release v0.19.2 2025-12-12 23:03:01 +01:00
Mario Zechner 2cb0ff3f0e Release v0.19.1 2025-12-12 17:53:45 +00:00
Mario Zechner 88c33163b5 Release v0.19.0 2025-12-12 17:33:16 +00:00
Mario Zechner 1307f3841f Release v0.18.8 2025-12-12 11:30:11 +01:00
Mario Zechner 4838e6f1d7 Release v0.18.7 2025-12-12 11:15:26 +01:00
Mario Zechner c7cbd1c096 Release v0.18.6 2025-12-12 10:53:53 +01:00
Mario Zechner 9de59c640d Release v0.18.5 2025-12-12 10:00:57 +01:00
Mario Zechner 2ae822641d Release v0.18.4 2025-12-12 00:00:08 +01:00
Mario Zechner e033210237 Release v0.18.3 2025-12-11 20:34:04 +01:00
Mario Zechner f291cb0d51 Release v0.18.2 2025-12-10 23:39:16 +01:00
Mario Zechner 8bceefa028 Release v0.18.1 2025-12-10 21:25:15 +01:00
Mario Zechner 261872d3f5 Release v0.18.0 2025-12-10 01:18:13 +01:00
Mario Zechner 9ed2c831d1 Release v0.17.0 2025-12-09 21:47:39 +01:00
Mario Zechner 62a606744c Simplify compaction: remove proactive abort, use Agent.continue() for retry
- Add agentLoopContinue() to pi-ai for resuming from existing context
- Add Agent.continue() method and transport.continue() interface
- Simplify AgentSession compaction to two cases: overflow (auto-retry) and threshold (no retry)
- Remove proactive mid-turn compaction abort
- Merge turn prefix summary into main summary
- Add isCompacting property to AgentSession and RPC state
- Block input during compaction in interactive mode
- Show compaction count on session resume
- Rename RPC.md to rpc.md for consistency

Related to #128
2025-12-09 21:43:49 +01:00
Mario Zechner e7d0fe83dd Release v0.16.0 2025-12-09 15:43:29 +01:00
Mario Zechner c6278aa552 Fix agent event ordering: update state before emitting events
Previously, Agent.emit() was called before state was updated (e.g., appendMessage).
This meant event handlers saw stale state - when message_end fired,
agent.state.messages didn't include the message yet.

Now state is updated first, then events are emitted, so handlers see
consistent state that matches the event.
2025-12-09 14:33:39 +01:00
Mario Zechner b0437be4d7 Release v0.15.0
closes #153
2025-12-09 13:41:12 +01:00
Mario Zechner 628ead2485 Release v0.14.2 2025-12-08 23:29:05 +01:00
Mario Zechner 9b2369e096 Release v0.14.1 2025-12-08 22:59:46 +01:00
Mario Zechner c6fd9eeeaa Fix tsgo type issues: update tsgo, fix ReasoningEffort import, remove broken enum-test 2025-12-08 22:59:13 +01:00
Mario Zechner 0b793ea451 Release v0.14.0 2025-12-08 22:51:29 +01:00