Commit Graph
7 Commits
Author SHA1 Message Date
Daniel Nouri 758e9eccc3 fix(coding-agent): update Anthropic compaction model and HTTPS package test (#1960)
* fix(coding-agent): use supported Anthropic compaction model

The Anthropic compaction test was pinned to claude-3-7-sonnet-latest, which now fails with a 404 because that model line was retired. Switch the test to the existing claude-sonnet-4-5 convention used elsewhere in coding-agent tests.

* test(coding-agent): disable git prompts in HTTPS parsing test

The HTTPS URL parsing test intentionally clones a nonexistent GitHub repo to verify that bare HTTPS sources dispatch to git. Under a TTY, git can prompt on that path and hang the test run.

Set GIT_TERMINAL_PROMPT=0 in that test so it still exercises real git but fails fast instead of waiting for terminal input.
2026-03-08 21:33:13 +01:00
Daniel Nouri bc4e4691d4 fix: regenerate lockfile for missing strip-ansi@7 resolution (#1780)
Commit c04708a7 added strip-ansi@^7.1.0 to coding-agent/package.json
but did not update the lockfile. npm ci fails in CI because
strip-ansi@7.2.0 and ansi-regex@6.2.2 are missing from the lock.
2026-03-03 17:44:48 +01:00
Daniel Nouri dae2eb5bfa fix(subagent): list available agents in unknown-agent error (#1414)
The invalid-params error paths already listed available agents,
but the unknown-agent path in runSingleAgent just returned
'Unknown agent: claude' with no hint what exists.

Now: 'Unknown agent: "claude". Available agents: "worker".'

Model would guess names like "claude", "default", or skill names
like "brave-search". Now it self-corrects on the next call.

Tested with Opus 4.6: without fix, model gave up on subagent
and ran the tool calls itself instead. With fix, 1 wasted call.
2026-02-08 23:04:42 +01:00
Daniel Nouri e20583aac8 feat(coding-agent): add set_session_name RPC command (#1075)
- Add set_session_name command with empty name validation
- Expose sessionName in get_state response
- Add setSessionName() to AgentSession and RpcClient
- Document in docs/rpc.md
2026-01-30 01:41:58 +01:00
Daniel Nouri 0ad189f12a Add get_commands RPC for headless clients (#995)
* Add get_commands RPC for headless clients

Headless clients like Emacs can now query which commands are available.
Previously they could only discover file-based prompt templates by
scanning the filesystem; extension commands and skills were invisible.

The response includes each command's name, description, and source
(extension, template, or skill). Commands appear in the same order
as the TUI's autocomplete: extension commands first, then templates,
then skills.

Built-in TUI commands (/settings, /fork, etc.) are excluded since
they require the interactive UI. Commands like /compact have dedicated
RPC equivalents instead.

* Add location and path to get_commands response

Clients can show where commands come from (user/project/path) and
display file paths in tooltips. The data is already available on
templates and skills - just exposing it.
2026-01-28 02:34:15 +01:00
Daniel Nouri 8fc0610a53 fix: Use bash instead of sh on Unix systems
The bash tool is named "bash" and described as executing bash commands,
but was using sh on Unix. On many distros (Ubuntu, Debian, Alpine, etc.),
/bin/sh is a POSIX-only shell that doesn't support bash syntax like [[ ]],
arrays, or here-strings. This caused the LLM to write bash syntax that
failed, wasting tokens on rewrites.

Now prefers /bin/bash on Unix, falling back to sh only if bash isn't found.
2025-12-26 23:12:57 +01:00
Daniel Nouri 2f3b738132 fix(ci): correct theme path in release workflow (#162)
Build outputs to dist/modes/interactive/theme/*.json but workflow
expected dist/theme/*.json. The copy-binary-assets script creates
dist/theme/ but CI never invokes it.

Fixes v0.18.0 release failure:
https://github.com/badlogic/pi-mono/actions/runs/20082833642
2025-12-10 21:40:41 +01:00