Commit Graph

212 Commits

Author SHA1 Message Date
Ahmed Kamal 1167e84453 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 2f86c8bc3c Release v0.23.4 2025-12-18 16:56:50 +01:00
Mario Zechner b02516a5cd Switch to more stable, oldder tsgo, switch all check scripts to tsgo 2025-12-18 15:20:41 +01:00
Mario Zechner 00851369fc Release v0.23.3 2025-12-17 22:29:46 +01:00
Mario Zechner 4894fa411c 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 46ba48a35d Release v0.23.1 2025-12-17 16:43:09 +01:00
Mario Zechner 67b73d018f Release v0.23.0 2025-12-17 16:13:32 +01:00
Mario Zechner 295f51b53f Release v0.22.5 2025-12-17 01:22:13 +01:00
Mario Zechner 03b061773c 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 deee1c2952 Release v0.22.3 2025-12-16 20:06:05 +01:00
Mario Zechner fd5134f88c Release v0.22.2 2025-12-15 22:09:14 +01:00
Mario Zechner a7e3b8625b Release v0.22.1 2025-12-15 21:53:27 +01:00
Mario Zechner 04058d5812 Release v0.22.0 2025-12-15 20:14:25 +01:00
Mario Zechner 3b440bb13b Release v0.21.0 2025-12-13 23:55:31 +01:00
Mario Zechner aed17da044 Release v0.20.2 2025-12-13 01:11:36 +01:00
Mario Zechner 59cf6c717b Release v0.20.1 2025-12-13 00:57:12 +01:00
Mario Zechner a5268d2aa7 Release v0.20.0 2025-12-12 23:25:01 +01:00
Mario Zechner 236856aa48 Release v0.19.2 2025-12-12 23:03:01 +01:00
Mario Zechner 948b4115c1 Release v0.19.1 2025-12-12 17:53:45 +00:00
Mario Zechner e3dadeb4e7 Release v0.19.0 2025-12-12 17:33:16 +00:00
Mario Zechner c6a4c1da95 Release v0.18.8 2025-12-12 11:30:11 +01:00
Mario Zechner 80a04fb1aa Release v0.18.7 2025-12-12 11:15:26 +01:00
Mario Zechner dba2674681 Release v0.18.6 2025-12-12 10:53:53 +01:00
Mario Zechner 44e9b1c8e9 Release v0.18.5 2025-12-12 10:00:57 +01:00
Mario Zechner 652ac0fa36 Release v0.18.4 2025-12-12 00:00:08 +01:00
Mario Zechner a13c8c34f5 Release v0.18.3 2025-12-11 20:34:04 +01:00
Mario Zechner b40ecf0ee1 Release v0.18.2 2025-12-10 23:39:16 +01:00
Mario Zechner f931c57726 Release v0.18.1 2025-12-10 21:25:15 +01:00
Mario Zechner 7785b7c93f Release v0.18.0 2025-12-10 01:18:13 +01:00
Mario Zechner 2d9ecd1750 Release v0.17.0 2025-12-09 21:47:39 +01:00
Mario Zechner 5a9d844f9a 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 796112f40f Release v0.16.0 2025-12-09 15:43:29 +01:00
Mario Zechner dcf81a6a1a Release v0.15.0
closes #153
2025-12-09 13:41:12 +01:00
Mario Zechner 33a2bcf203 Release v0.14.2 2025-12-08 23:29:05 +01:00
Mario Zechner a054fecd11 Release v0.14.1 2025-12-08 22:59:46 +01:00
Mario Zechner 0bc8d79216 Release v0.14.0 2025-12-08 22:51:29 +01:00
Mario Zechner a0bbc29201 Release v0.13.2 2025-12-07 01:25:17 +01:00
Mario Zechner 95eadb9ed7 Release v0.13.1 2025-12-06 23:12:36 +01:00
Mario Zechner ecdbd88f5d Release v0.13.0 2025-12-06 22:48:39 +01:00
Mario Zechner 86e5a70ec4 Add totalTokens field to Usage type
- Added totalTokens field to Usage interface in pi-ai
- Anthropic: computed as input + output + cacheRead + cacheWrite
- OpenAI/Google: uses native total_tokens/totalTokenCount
- Fixed openai-completions to compute totalTokens when reasoning tokens present
- Updated calculateContextTokens() to use totalTokens field
- Added comprehensive test covering 13 providers

fixes #130
2025-12-06 22:46:02 +01:00
Mario Zechner 301c6ba11f Release v0.12.15 2025-12-06 21:29:03 +01:00
Peter Steinberger fa77ef8b6a docs: fix mini-lit links (#123) 2025-12-06 09:56:31 +01:00
Mario Zechner 4a972fbe6c Release v0.12.14 2025-12-06 00:46:57 +01:00
Mario Zechner 05849258b5 Release v0.12.13 2025-12-05 23:38:32 +01:00
Mario Zechner ddf09720cc Release v0.12.12 2025-12-05 23:00:45 +01:00
Mario Zechner b193560ab0 Release v0.12.11 2025-12-05 12:19:37 +01:00
Mario Zechner c7585e37c9 Release v0.12.10 2025-12-04 20:51:57 +01:00
Mario Zechner 47bb302155 Release v0.12.9 2025-12-04 13:22:53 +01:00
Mario Zechner db6d655ee9 Release v0.12.8 2025-12-04 03:59:20 +01:00
Mario Zechner cfa9dbfc03 Release v0.12.7 2025-12-04 03:11:03 +01:00