Commit graph

1318 commits

Author SHA1 Message Date
Prateek Sunal
132ff1e7e4
Expand configured extension directories from settings.json (#480)
* Expand configured extension directories

* Extract resolveExtensionEntries helper for directory resolution

* Update CHANGELOG for extension directory resolution
2026-01-06 00:42:02 +01:00
Mario Zechner
1922db81a2 fix: inject URL params for share links in iframe context 2026-01-06 00:37:45 +01:00
Mario Zechner
2da853e9d6 Add [Unreleased] section for next cycle 2026-01-06 00:32:56 +01:00
Mario Zechner
a20112f45f Release v0.37.1 2026-01-06 00:32:09 +01:00
Mario Zechner
0b39e21f30 docs: add changelog entry for share link fix 2026-01-06 00:31:13 +01:00
Mario Zechner
8b963f833a fix: copy link in shared sessions uses correct URL instead of about:srcdoc 2026-01-06 00:22:32 +01:00
Mario Zechner
0c712659b3 Add [Unreleased] section for next cycle 2026-01-06 00:07:57 +01:00
Mario Zechner
d3d53392e8 Release v0.37.0 2026-01-06 00:07:15 +01:00
Mario Zechner
e824b6dfa4 fix: add missing scripts to pi-extension-with-deps example 2026-01-06 00:06:41 +01:00
Mario Zechner
38eb4f7aa6 docs: add changelog entry for #477 2026-01-06 00:00:54 +01:00
lockmeister
cf10e9592a
feat: Add copy-link button to share viewer messages (#477)
* feat: add copy-link button to share viewer messages

Implements the feature requested in #437:

- Add a small link icon button that appears on hovering over user/assistant
  messages in the share viewer
- Clicking the button copies a shareable URL to clipboard with visual feedback
- URL format: base?gistId&leafId=<active-leaf>&targetId=<message-id>
- When loading a URL with leafId and targetId params:
  - Navigate to the specified leaf node
  - Scroll to and briefly highlight the target message

This enables users to share links to specific messages within a session.

* fix: preserve gist ID format and add clipboard fallback

- Fix URL format to produce ?gistId&leafId=... instead of ?gistId=&leafId=...
  (preserves the bare key format expected by the backend)
- Add execCommand fallback for clipboard copy on HTTP contexts where
  navigator.clipboard is unavailable
2026-01-05 23:59:26 +01:00
Mario Zechner
e182b123a9 feat(coding-agent): queue compaction submissions, closes #475
Messages submitted during compaction are queued and delivered after
compaction completes, preserving steer vs follow-up behavior. Extension
commands execute immediately during compaction.

Co-authored-by: Thomas Mustier <tmustier@users.noreply.github.com>
2026-01-05 23:47:40 +01:00
badlogic
1349f02cdd docs: document Windows Terminal Shift+Enter limitation
Windows Terminal does not support the Kitty keyboard protocol, so
Shift+Enter cannot be distinguished from Enter. Document that users
should use Ctrl+Enter for multi-line input instead.

- Add Windows Terminal note in Terminal Setup section
- Update Keyboard Shortcuts table with Windows note
- Show Windows-specific hint in /hotkeys command
2026-01-05 23:17:58 +01:00
Mario Zechner
4d87196801 fix(tui): remove alt+enter from newLine default keybinding
alt+enter is used by coding-agent for follow-up messages.
Having it also mapped to newLine caused a conflict.
2026-01-05 23:17:34 +01:00
Mario Zechner
9c17af9367 fix(coding-agent): use shx for cross-platform build scripts
Windows npm runs scripts through cmd.exe even from Git Bash.
Use shx to wrap Unix commands (mkdir -p, cp, rm -rf, chmod).
2026-01-05 22:56:22 +01:00
Mario Zechner
c5d54a8413 feat(tui): query Kitty keyboard protocol support before enabling
- Query terminal with CSI ? u before enabling Kitty protocol
- Only enable protocol if terminal responds (100ms timeout)
- Mode-aware key parsing: when Kitty active, interpret legacy
  sequences as custom terminal mappings (e.g. \x1b\r = shift+enter)
- Add Terminal Setup section to README with Ghostty/wezterm config

fixes #439
2026-01-05 22:52:13 +01:00
Mario Zechner
0b9e3ada0c fix: clean up Codex thinking level handling
- Remove per-thinking-level model variants (gpt-5.2-codex-high, etc.)
- Remove thinkingLevels from Model type
- Provider clamps reasoning effort internally
- Omit reasoning field when thinking is off

fixes #472
2026-01-05 21:58:26 +01:00
Ben Vargas
02b72b49d5 fix: codex thinking handling 2026-01-05 21:55:47 +01:00
Mario Zechner
22870ae0c2 chore: remove deprecation comment from getToolsDir, add changelog entry for #470 2026-01-05 20:26:48 +01:00
Mario Zechner
a746e2c296
Merge pull request #470 from mcinteerj/fix-managed-binaries-migration-warning
fix: move managed binaries to bin/ and ignore hidden files in migration check
2026-01-05 20:26:18 +01:00
Mario Zechner
168d114750 Add changelog entries for headless OAuth and truecolor detection 2026-01-05 20:16:59 +01:00
Mario Zechner
b4fb6770e4 Assume truecolor for most terminals (fixes SSH color detection)
Only fall back to 256color for truly limited terminals (dumb, empty, linux).
Virtually all modern terminals support truecolor, no need to be conservative.
2026-01-05 20:11:10 +01:00
Mario Zechner
9c87eeb805 Fix Anthropic login not showing URL (showPrompt should not clear content) 2026-01-05 20:03:07 +01:00
Mario Zechner
9b12719ab1 Improve OAuth login UI with consistent dialog component
- Add LoginDialogComponent with proper borders (top/bottom DynamicBorder)
- Refactor all OAuth providers to use racing approach (browser callback vs manual paste)
- Add onEscape handler to Input component for cancellation
- Add abortable sleep for GitHub Copilot polling (instant cancel on Escape)
- Show OS-specific click hint (Cmd+click on macOS, Ctrl+click elsewhere)
- Clear content between login phases (fixes GitHub Copilot two-phase flow)
- Use InteractiveMode's showStatus/showError for result messages
- Reorder providers: Anthropic, ChatGPT, GitHub Copilot, Gemini CLI, Antigravity
2026-01-05 19:58:44 +01:00
Jake
0a736e858d fix: move managed binaries to bin/ and ignore hidden files in migration check 2026-01-06 07:52:49 +13:00
Christian Catalan
05b9d55656
feat(oauth): show paste input immediately during OpenAI Codex login (#468)
Previously, users had to wait up to 60 seconds for the browser callback
to timeout before being prompted to paste the authorization code. This
was problematic for SSH/VPS sessions where the callback cannot work.

Now the paste input is shown immediately alongside the browser flow:
- Browser callback and manual paste race - whichever completes first wins
- Desktop users: browser callback succeeds, input is cleaned up
- SSH/VPS users: paste code immediately without waiting

Changes:
- Add cancelWait() to OAuth server for early termination of polling loop
- Add onManualCodeInput callback that races with browser callback
- Show paste input immediately in TUI for openai-codex provider
- Clean up input on success, error, or when browser callback wins

Co-authored-by: cc-vps <crcatala+vps@gmail.com>
2026-01-05 18:47:58 +01:00
Mario Zechner
7919c40907 docs: remove CLI-specific --extension mention from SDK example 2026-01-05 18:03:41 +01:00
Mario Zechner
3129e2ac10 docs: clarify SDK extension discovery and settings.json support 2026-01-05 18:00:32 +01:00
Mario Zechner
4a7e8672af Merge main into fix/settings-extensions-loading, resolve CHANGELOG conflict 2026-01-05 17:58:13 +01:00
Mario Zechner
7e2ebdd78e fix: mark with-deps example as private, update changelog 2026-01-05 17:55:15 +01:00
LiuVaayne
49c4fe0bc1
feat: add claude-rules extension example (#461)
Add an extension that scans .claude/rules/ folder for project-specific
rules and lists them in the system prompt. The agent can then load
relevant rules using the read tool when needed.
2026-01-05 16:59:07 +01:00
Aliou Diallo
042d3fa310
fix(sdk): extensions: [] now disables discovery as documented (#465) 2026-01-05 16:55:51 +01:00
cursive
6a8609ac56
fix: prevent silent logout when multiple pi instances refresh OAuth tokens (#466) 2026-01-05 16:55:05 +01:00
Melih Mucuk
7e829273b0 docs(coding-agent): add changelog entry for #463 2026-01-05 13:53:18 +03:00
Melih Mucuk
e4f63f585f fix(coding-agent): load extensions from settings.json
SettingsManager was created after extension loading, so extensions
defined in settings.json were never loaded. Move SettingsManager.create
before discoverAndLoadExtensions and merge settings extensions with
CLI --extension args.
2026-01-05 13:26:41 +03:00
Carlos Gutierrez
d9e0604183
Ignore Windows binaries in tools/ (#458)
Co-authored-by: root <root@WIN11.localdomain>
2026-01-05 06:22:34 +01:00
Mario Zechner
74d5f5523e Add [Unreleased] section for next cycle 2026-01-05 06:17:05 +01:00
Mario Zechner
435cd5d61f Release v0.36.0 2026-01-05 06:16:25 +01:00
Mario Zechner
467670024c docs: mark Codex experimental 2026-01-05 06:15:11 +01:00
Mario Zechner
bb50738f7e fix(ai): append system prompt to codex bridge message instead of converting to input
Previously the system prompt was converted to an input message in convertMessages,
then stripped out by filterPiSystemPrompts. Now the system prompt is passed directly
to transformRequestBody and appended after CODEX_PI_BRIDGE in the bridge message.
2026-01-05 06:03:07 +01:00
Mario Zechner
9a147559c0 Merge branch 'openai-codex' 2026-01-05 05:33:48 +01:00
Mario Zechner
168bfe618e Remove debug console.log from with-deps example 2026-01-05 03:57:30 +01:00
Mario Zechner
32f032b6d1 Add [Unreleased] section for next cycle 2026-01-05 03:42:07 +01:00
Mario Zechner
78d0b88f7d Release v0.35.0 2026-01-05 03:41:24 +01:00
Mario Zechner
79cb8f0906 Add extensions option to createAgentSession SDK
- Accept ExtensionFactory[] for inline extensions (merged with discovery)
- Mark preloadedExtensions as @internal (CLI implementation detail)
- Update sdk.md with inline extension example
- Update CHANGELOG
2026-01-05 03:38:56 +01:00
Mario Zechner
8da793b1ba Add customTools option back to createAgentSession SDK
- Accepts ToolDefinition[] directly (simplified from old { path?, tool } format)
- Tools are combined with extension-registered tools
- Updated sdk.md documentation
- Updated CHANGELOG
2026-01-05 03:34:36 +01:00
Mario Zechner
6bd5e419a6 Improve Custom Components docs: explain editor replacement, simplify example 2026-01-05 03:09:02 +01:00
Mario Zechner
a5741df69a Document setWidget Component support 2026-01-05 03:07:11 +01:00
Mario Zechner
0919ec5417 Add Custom UI section, update CHANGELOG migration docs
- Add ## Custom UI section consolidating dialogs, widgets, custom components, message rendering, theme colors
- Simplify ctx.ui and pi.registerMessageRenderer in other sections to reference Custom UI
- Update CHANGELOG to reflect auto-migration of commands/ to prompts/
2026-01-05 03:06:39 +01:00
Mario Zechner
0e41b9c2a2 Restructure extensions.md: add Custom Tools section, improve sendMessage docs
- Add ## Custom Tools section with Tool Definition, Multiple Tools, Custom Rendering
- Expand pi.sendMessage docs with deliverAs mode explanations
- Add Extension Styles subsection (single file, dir, package.json)
- Expand ExtensionCommandContext with waitForIdle, newSession, branch, navigateTree
- Replace lodash with zod in examples
- Various fixes and reorganization
2026-01-05 03:04:19 +01:00