Commit graph

2429 commits

Author SHA1 Message Date
Mario Zechner
7b920f27d2 fix(coding-agent): check npm package version before using cached copy
For temporary npm extensions (-e npm:...):
- Unpinned packages: fetch latest version from registry and reinstall if newer
- Pinned packages: reinstall if cached version doesn't match
2026-01-25 00:57:58 +01:00
Mario Zechner
0d24ddbb03 fix(ai): use model.api instead of hardcoding api type in streaming functions
- anthropic.ts: use model.api instead of hardcoding 'anthropic-messages'
- openai-responses.ts: use model.api instead of hardcoding 'openai-responses'
- gitlab-duo: simplify to use actual model IDs, export MODELS array
2026-01-25 00:52:34 +01:00
Mario Zechner
7019fdb92b fix(gitlab-duo): use Responses API for all GPT models
Ensures consistent tool call ID format when switching between models.
2026-01-25 00:29:05 +01:00
Mario Zechner
758baa9fec refactor: rename custom provider examples
- custom-provider -> custom-provider-anthropic
- gitlab-duo -> custom-provider-gitlab-duo
- Update READMEs with custom provider section
2026-01-25 00:18:13 +01:00
Mario Zechner
7caa08999e fix: use template literal in test.ts 2026-01-25 00:13:44 +01:00
Mario Zechner
7a5cfdaed0 fix: apply extension provider registrations before model resolution
- Extensions register providers via pendingProviderRegistrations
- These were only applied in bindCore() during AgentSession creation
- But model resolution in main.ts happens before session creation
- Fix: apply pending registrations immediately after loading extensions
- Also fix gitlab-duo to pass Authorization header instead of apiKey
2026-01-25 00:13:20 +01:00
Mario Zechner
dd01d83e64 fix: use opencode's OAuth client ID for localhost redirects 2026-01-24 23:53:56 +01:00
Mario Zechner
639d706156 fix: use correct GitLab OAuth redirect URI with port 8080 2026-01-24 23:52:04 +01:00
Mario Zechner
3e6d8dc72a feat: add GitLab Duo provider extension example
- Delegates to pi-ai's built-in Anthropic/OpenAI streaming
- OAuth support with GitLab's bundled client ID
- Direct access token caching (25 min TTL)
- Models: duo-chat-opus/sonnet/haiku-4-5, duo-chat-gpt-5-1/mini/codex
- No external dependencies beyond pi-ai
2026-01-24 23:51:17 +01:00
github-actions[bot]
a57eb399eb chore: approve contributor 4h9fbZ 2026-01-24 22:41:50 +00:00
Mario Zechner
2c5d202778 chore: add custom-provider to workspaces for auto-install 2026-01-24 23:22:33 +01:00
Mario Zechner
6aad6e30ce refactor: convert custom-provider example to package with deps
- Move custom-provider.ts to custom-provider/index.ts
- Add package.json with @anthropic-ai/sdk dependency
- Extension now requires npm install before use
2026-01-24 23:21:19 +01:00
Mario Zechner
d4bd1a956b docs: rewrite custom-provider.md with actual stream pattern
- Document stream.push/end pattern instead of yield
- Link to existing provider implementations on GitHub
- Add testing section with list of test files to run
- Include proper content block and tool call examples
2026-01-24 23:18:36 +01:00
Mario Zechner
177c694406 feat: custom provider support with streamSimple
- Add resetApiProviders() to clear and re-register built-in providers
- Add createAssistantMessageEventStream() factory for extensions
- Add streamSimple support in ProviderConfig for custom API implementations
- Call resetApiProviders() on /reload to clean up extension providers
- Add custom-provider.md documentation
- Add custom-provider.ts example with full Anthropic implementation
- Update extensions.md with streamSimple config option
2026-01-24 23:15:11 +01:00
Mario Zechner
c06163bc59 docs(ai): document api registry 2026-01-24 23:15:11 +01:00
Mario Zechner
c725135a76 refactor(ai): register api providers 2026-01-24 23:15:11 +01:00
Mario Zechner
3256d3c083 refactor(oauth): add provider registry 2026-01-24 23:15:11 +01:00
Mario Zechner
89636cfe6e fix(coding-agent): improve read tool description for full file reads 2026-01-24 23:15:11 +01:00
Mario Zechner
79ded84d46
Merge pull request #936 from Perlence/fix/extension-editor-padding-x
fix(coding-agent): propagate paddingX to custom editors
2026-01-24 20:48:41 +01:00
Mario Zechner
39b94ad7be
Merge pull request #930 from Perlence/fix/document-missing-hotkeys
docs(coding-agent): document missing hotkeys in README and /hotkeys
2026-01-24 20:48:22 +01:00
Mario Zechner
4ab9b769e6
Merge pull request #934 from Perlence/fix/reserve-col-for-cursor
fix(tui): reserve 1 column for the cursor in word wrap width
2026-01-24 20:47:46 +01:00
Mario Zechner
2d5b0c636f
Merge pull request #937 from mitsuhiko/defer-gitignore
Defer create .pi/*/.gitignore
2026-01-24 20:46:30 +01:00
Armin Ronacher
48020405f3 Defer create .gitignore 2026-01-24 19:53:01 +01:00
Sviatoslav Abakumov
2bbc255237
fix(coding-agent): propagate paddingX to custom editors
setCustomEditorComponent() was not copying the paddingX setting from
the default editor to extension-provided editors. Also propagate live
changes from the settings callback.
2026-01-24 21:00:14 +04:00
Sviatoslav Abakumov
b5ab90f837
fix(tui): reserve 1 column for cursor in word wrap width 2026-01-24 17:41:10 +04:00
Markus Ylisiurunen
151099e17e fix(ai): handle openai responses arguments.done events 2026-01-24 12:05:58 +01:00
Markus Ylisiurunen
c6e966bd1c adjust azure responses metadata and handoff gating 2026-01-24 12:05:58 +01:00
Markus Ylisiurunen
bd7049b7d1 fix(ai): port openai responses handoff guard 2026-01-24 12:05:40 +01:00
Markus Ylisiurunen
5edec3a40a fix(ai): preserve codex tool strictness 2026-01-24 12:05:40 +01:00
Markus Ylisiurunen
284ff81035 refactor(ai): share openai responses logic 2026-01-24 12:05:40 +01:00
Markus Ylisiurunen
085c378d34 add Azure deployment name map and refresh generated models 2026-01-24 12:04:34 +01:00
Markus Ylisiurunen
0789bcbab0 clarify Azure OpenAI env vars in docs 2026-01-24 12:04:34 +01:00
Markus Ylisiurunen
391c93800c switch azure responses to base url config and v1 api 2026-01-24 12:04:34 +01:00
Markus Ylisiurunen
01f559efc0 guard azure responses deltas before content parts 2026-01-24 12:04:34 +01:00
Markus Ylisiurunen
3112526051 remove service tier from azure-openai-responses; add link to changelog entry 2026-01-24 12:04:34 +01:00
Markus Ylisiurunen
856012296b add Azure OpenAI Responses provider with deployment-aware model mapping 2026-01-24 12:04:34 +01:00
Sviatoslav Abakumov
a8f1ff09e5
docs(coding-agent): use Alt+ instead of Option+ for consistency 2026-01-24 13:42:36 +04:00
Sviatoslav Abakumov
7b0244a5ed
docs(coding-agent): document missing hotkeys in README and /hotkeys
- Add Ctrl+L (Open model selector) to /hotkeys command
- Add Alt+Enter (Queue follow-up message) to keyboard shortcuts table
- Add PageUp/PageDown (Scroll by page) to all documentation sections
2026-01-24 13:33:49 +04:00
Mario Zechner
951fb953ed feat(coding-agent): support disable-model-invocation frontmatter for skills
When set to true, the skill is hidden from the system prompt, preventing
agentic invocation. Users can still invoke explicitly via /skill:name.

Also fixes pre-existing test bug where source expectation was wrong.

Fixes #927
2026-01-24 03:34:40 +01:00
Mario Zechner
3235926eed fix(coding-agent): off-by-one error in bash output 'earlier lines' count
fixes #921
2026-01-24 03:25:55 +01:00
Mario Zechner
48fc57f321 feat(coding-agent): expose copyToClipboard for extensions
fixes #926
2026-01-24 03:17:04 +01:00
Mario Zechner
3a57f1259b feat(coding-agent): surface extension shortcut conflicts 2026-01-24 03:17:04 +01:00
Mario Zechner
72de8f26a1
Merge pull request #917 from williballenthin/fix-call-arguments-done
fix(ai): handle call arguments done on OpenAI-compatible endpoints
2026-01-24 03:14:02 +01:00
Mario Zechner
cd8ce452c7
Merge pull request #924 from Perlence/fix/wrap-whitespace
fix(tui): rewrite word wrap to not strip whitespace
2026-01-24 03:02:48 +01:00
Mario Zechner
25bdfb0b8e
Merge pull request #925 from dannote/feat/update-changelog-link
feat(coding-agent): add changelog link to update notification
2026-01-24 02:58:06 +01:00
Mario Zechner
cdb0400347
Merge pull request #928 from ferologics/feat/reload-full-scrollback
feat(coding-agent): /reload now re-renders entire scrollback
2026-01-24 02:53:57 +01:00
Mario Zechner
ab8d44d696 feat(coding-agent): tune resource list colors 2026-01-24 02:51:27 +01:00
Mario Zechner
725d6bbf35 feat(coding-agent): refine resource metadata and display 2026-01-24 02:46:08 +01:00
Mario Zechner
79ab767beb test(coding-agent): update settings and extension tests 2026-01-24 01:43:34 +01:00
Mario Zechner
f9eb190ef9 refactor(coding-agent): simplify AgentSession 2026-01-24 01:38:58 +01:00