Commit graph

419 commits

Author SHA1 Message Date
Mario Zechner
7be4d52635 Add empty Unreleased section to changelog 2025-12-26 03:14:27 +01:00
Mario Zechner
9dcb0bdba4 Release v0.30.1
fixes #320
2025-12-26 03:13:37 +01:00
Kao Félix
a7efe3d4c1 fix: use consistent model comparison including provider 2025-12-25 22:10:08 +01:00
Mario Zechner
6d97d212d5 Release v0.30.0 2025-12-25 20:35:14 +01:00
Mario Zechner
19dde0a988 Release v0.29.1 2025-12-25 18:10:11 +01:00
Mario Zechner
b48a0c9328 Release v0.29.0 2025-12-25 04:16:42 +01:00
Mario Zechner
fa716246ea Release v0.28.0 2025-12-25 03:57:41 +01:00
Mario Zechner
1059d39d54 Add removeRuntimeApiKey to AuthStorage 2025-12-25 03:57:20 +01:00
Mario Zechner
b5b2ed65d4 Update changelogs for #296 2025-12-25 03:52:46 +01:00
Mario Zechner
54018b6cc0 Refactor OAuth/API key handling: AuthStorage and ModelRegistry
- Add AuthStorage class for credential storage (auth.json)
- Add ModelRegistry class for model management with API key resolution
- Add discoverAuthStorage() and discoverModels() discovery functions
- Add migration from legacy oauth.json and settings.json apiKeys to auth.json
- Remove configureOAuthStorage, defaultGetApiKey, findModel, discoverAvailableModels
- Remove apiKeys from Settings type and SettingsManager methods
- Rename getOAuthPath to getAuthPath
- Update SDK, examples, docs, tests, and mom package

Fixes #296
2025-12-25 03:48:36 +01:00
Mario Zechner
9f97f0c8da getApiKeyFromEnv -> getEnvApiKey 2025-12-25 02:38:10 +01:00
Mario Zechner
0ae23f19fe WIP: Add CLI for OAuth login, update README
- Add src/cli.ts with login command for OAuth providers
- Add bin entry to package.json for 'npx @mariozechner/pi-ai'
- Update README: remove setApiKey docs, rewrite OAuth section
- OAuth storage is caller's responsibility, not library's
- Use getOAuthProviders() instead of duplicating provider list
2025-12-25 01:09:27 +01:00
Mario Zechner
030788140a WIP: Remove global state from pi-ai OAuth/API key handling
- Remove setApiKey, resolveApiKey, and global apiKeys Map from stream.ts
- Rename getApiKey to getApiKeyFromEnv (only checks env vars)
- Remove OAuth storage layer (storage.ts deleted)
- OAuth login/refresh functions now return credentials instead of saving
- getOAuthApiKey/refreshOAuthToken now take credentials as params
- Add test/oauth.ts helper for ai package tests
- Simplify root npm run check (single biome + tsgo pass)
- Remove redundant check scripts from most packages
- Add web-ui and coding-agent examples to biome/tsgo includes

coding-agent still has compile errors - needs refactoring for new API
2025-12-25 01:01:03 +01:00
Mario Zechner
d93cbf8c32 WIP: remove setApiKey, resolveApiKey 2025-12-24 23:34:23 +01:00
Mario Zechner
8fdd77b652 Release v0.27.9 2025-12-24 21:25:20 +01:00
Mario Zechner
a965b6f160 Release v0.27.8 - OAuth takes priority over settings.json API keys 2025-12-24 20:52:22 +01:00
Mario Zechner
60768b90f3 Add [Unreleased] section for next cycle 2025-12-24 18:31:13 +01:00
Mario Zechner
89630b0d44 Release v0.27.7 2025-12-24 18:30:53 +01:00
Mario Zechner
29379ea0a6 Fix thinking tag leakage by converting unsigned blocks to plain text
Closes #302
2025-12-24 18:15:19 +01:00
Mario Zechner
2b22c3ce75 Add [Unreleased] section to changelog 2025-12-24 14:00:04 +01:00
Mario Zechner
3eb460ee50 Release v0.27.6 2025-12-24 13:59:09 +01:00
Mario Zechner
705ba5d4f2 Improve compaction hooks: add signal, no timeout, SessionManager cleanup, docs 2025-12-24 13:54:05 +01:00
Mario Zechner
5aa53ded11 Add full-compaction hook example 2025-12-24 12:25:36 +01:00
Mario Zechner
bf313d2713 Release v0.27.5 2025-12-24 12:18:51 +01:00
Mario Zechner
9851ee3bdb Add syntax highlighting to HTML export using highlight.js 2025-12-24 12:13:56 +01:00
Mario Zechner
20b24cf5a4 Fix symlinked skill directories not being discovered
Release v0.27.4
2025-12-24 03:32:54 +01:00
Mario Zechner
f8619c1564 Release v0.27.3 2025-12-24 02:46:23 +01:00
Mario Zechner
c57ed89110 Release v0.27.2 2025-12-23 03:48:52 +01:00
Mario Zechner
4492a3f304 Release v0.27.1 2025-12-22 19:28:26 +01:00
Mario Zechner
093bcecf95 Add [Unreleased] section for next cycle 2025-12-22 18:21:15 +01:00
Mario Zechner
b9b44f4cf4 Release v0.27.0 2025-12-22 18:20:10 +01:00
Mario Zechner
42d7d9d9b6 Add before/after session events with cancellation support
- Merge branch event into session with before_branch/branch reasons
- Add before_switch, before_clear, shutdown reasons
- before_* events can be cancelled with { cancel: true }
- Update RPC commands to return cancelled status
- Add shutdown event on process exit
- New example hooks: confirm-destructive, dirty-repo-guard, auto-commit-on-exit

fixes #278
2025-12-22 18:18:38 +01:00
Mario Zechner
7e1b632596 Release v0.26.1 2025-12-22 16:19:19 +01:00
Mario Zechner
42bc368e70 Release v0.26.0 2025-12-22 12:53:58 +01:00
Mario Zechner
11e743373d Fix syntax highlighting stderr spam with malformed markdown, fixes #274 2025-12-22 00:23:01 +01:00
Mario Zechner
d5fd685901 Enable more biome lints and fix things 2025-12-21 22:56:20 +01:00
Mario Zechner
9c18439c4d Release v0.25.3 2025-12-21 21:01:27 +01:00
Mario Zechner
ace3563f0e Add tests for Gemini 3 models with thinkingLevel 2025-12-21 20:34:39 +01:00
Mario Zechner
329b3a0a36 Merge PR #264: Add Gemini 3 preview models to google-gemini-cli provider 2025-12-21 20:31:19 +01:00
Mario Zechner
55ca650a40 Update README to include github-copilot, google-gemini-cli, google-antigravity providers 2025-12-21 20:17:12 +01:00
Luke Foster
ee9b498380 Add Gemini 3 preview models to google-gemini-cli provider
- Add gemini-3-pro-preview and gemini-3-flash-preview to Cloud Code Assist
- Handle thinkingLevel config for Gemini 3 (vs thinkingBudget for Gemini 2.x)
- Gemini 3 Pro: LOW/HIGH levels only
- Gemini 3 Flash: all four levels (MINIMAL/LOW/MEDIUM/HIGH)
2025-12-20 22:10:47 -06:00
Mario Zechner
299986f06b Release v0.25.2 2025-12-21 02:59:03 +01:00
Mario Zechner
c97702cf91 Release v0.25.1 2025-12-21 02:43:47 +01:00
Mario Zechner
bf51dd4126 Fix Gemini multimodal tool results causing flaky responses
For Gemini 3, images are now nested inside functionResponse.parts per the docs.
For older models, images are sent in a separate user message.

See: https://ai.google.dev/gemini-api/docs/function-calling#multimodal
2025-12-21 02:41:27 +01:00
Mario Zechner
ce950ae96e Clean-up 2025-12-20 22:15:30 +01:00
Mario Zechner
df07a74ad5 Release v0.25.0 2025-12-20 22:02:47 +01:00
Mario Zechner
a81dc5eaca Add configurable OAuth storage backend and respect --models in model selector
- Add setOAuthStorage() and resetOAuthStorage() to pi-ai for custom storage backends
- Configure coding-agent to use its own configurable OAuth path via getOAuthPath()
- Model selector (/model command) now only shows models from --models scope when set
- Rewrite OAuth documentation in pi-ai README with examples

Fixes #255
2025-12-20 22:00:53 +01:00
Peter Steinberger
87fc6b5208 docs(ai): add queued steering changelog 2025-12-20 21:34:53 +01:00
Peter Steinberger
117af076c4 feat(ai): interrupt tool batch on queued messages 2025-12-20 21:34:53 +01:00
Mario Zechner
6a319f9c3c Add OAuth providers to test suite and improve test coverage
Tests updated:
- abort.test.ts: Add Google Gemini CLI, add retries
- agent.test.ts: Add OAuth providers (Anthropic, GitHub Copilot, Gemini CLI, Antigravity), add retries, remove timeouts
- context-overflow.test.ts: Handle Cerebras 429 status code
- image-tool-result.test.ts: Add OAuth providers
- overflow.ts: Detect 429 as overflow for Cerebras

Removed obsolete debug/one-off tests:
- copilot-initiator.test.ts
- gemini-3-flash-tool-calling.test.ts
- google-thought-signature.test.ts
- mistral-debug.test.ts
- mistral-empty-assistant.test.ts
- mistral-sdk.test.ts
2025-12-20 21:34:19 +01:00