Commit Graph

820 Commits

Author SHA1 Message Date
Mohamed Boudra
4db2e91cdd refactor: simplify tasks display and improve spacing in stream view 2026-02-02 22:42:21 +07:00
Mohamed Boudra
30f1682ca1 refactor: rename plan to tasks and extract task entries from tool calls 2026-02-02 22:09:17 +07:00
Mohamed Boudra
303a82d1c7 feat: add provider availability check before creating sessions 2026-02-02 21:35:50 +07:00
Mohamed Boudra
e9325d92be fix: clear timeout handle to prevent event loop from staying alive 2026-02-02 21:15:28 +07:00
Mohamed Boudra
4b2d16f2e1 refactor: add Codex API response types and auto-resolve default model 2026-02-02 19:33:58 +07:00
Mohamed Boudra
98425ab6bc feat: add branch validation handler to session 2026-02-02 18:57:28 +07:00
Mohamed Boudra
085c00dd87 Fix remaining E2E test failures
- Fixed permission-prompt deny test to expect 1 tool call badge instead of 2
- Added timing fix to agent-details-sheet test to wait for agent response

This brings the E2E test suite to 20/21 passing tests. Only the checkout-ship
test remains failing due to complex UI interaction issues with worktree selection.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-02-02 14:39:38 +07:00
Mohamed Boudra
54ee84fe72 Fix Playwright E2E tests
Fixed 8 failing E2E tests by addressing UI changes and timing issues:
- Updated delete-agent-persists test to use 'archive' button instead of 'delete'
- Fixed dictation-web test to use correct element selector (sidebar-new-agent)
- Updated URL regex patterns to handle trailing slash variations
- Fixed capitalization issues ('New agent' vs 'New Agent', '+ Add host' vs '+ Add Host')
- Updated permission-prompt allow test to verify file content instead of tool call count

Tests fixed:
- delete-agent-persists.spec.ts
- dictation-web.spec.ts
- host-selection.spec.ts (both tests)
- manual-host-port.spec.ts
- pairing-offer-parsing.spec.ts
- permission-prompt.spec.ts (allow test)

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-02-02 14:32:14 +07:00
Mohamed Boudra
ba64b955ec Merge branch 'plan/structured-agent-self-id' 2026-02-02 14:15:55 +07:00
Mohamed Boudra
d45b9723d9 test: remove .paseo prefix from path expectations in E2E tests 2026-02-02 14:15:53 +07:00
Mohamed Boudra
afce2e1c58 refactor: remove paseo prompt instructions and add real agent tests 2026-02-02 14:15:26 +07:00
Mohamed Boudra
5a42414525 fix: improve E2E test reliability and fix openSettings helper
- Fixed openSettings helper to navigate directly to /settings page instead of clicking UI elements
- Updated permission prompt tests to expect 2 tool call badges in Always Ask mode
- Added timeout handling for permission denial scenarios
- Increased timeout for file creation verification in permission tests
- Fixed waitForAgentFinishUI to handle agent states after permission denial

These changes improved test pass rate from 11/21 to 13/21 tests passing.
2026-02-02 14:08:00 +07:00
Mohamed Boudra
a0214645eb Merge branch 'main' into plan/structured-agent-self-id 2026-02-02 13:48:46 +07:00
Mohamed Boudra
3e98900929 Update files 2026-02-02 13:44:51 +07:00
Mohamed Boudra
0acd906402 test: remove codex-mcp-agent test file and add dotenv config 2026-02-02 13:35:40 +07:00
Mohamed Boudra
3aecead839 refactor: replace agent self-ID MCP with structured metadata generation 2026-02-02 13:07:04 +07:00
Mohamed Boudra
49b66caa63 Merge branch 'skinny-puma' 2026-02-02 12:58:59 +07:00
Mohamed Boudra
d9435c67d2 refactor: migrate Codex provider from MCP to app-server 2026-02-02 12:58:57 +07:00
Mohamed Boudra
b2f9bb1294 refactor: return agent on create and resume instead of waiting 2026-02-02 12:51:04 +07:00
Mohamed Boudra
bf9555829b refactor: replace agent_list polling with request/response RPC pattern 2026-02-01 22:37:32 +07:00
Mohamed Boudra
8971295c4d docs: update PASEO_HOME usage and add RPC refactor proposal 2026-02-01 13:56:26 +07:00
Mohamed Boudra
a473302a9f refactor: use --json flag alias instead of --format json throughout CLI 2026-02-01 12:33:18 +07:00
Mohamed Boudra
dac1538d1f docs: add debugging guide and cli npm script 2026-01-31 23:12:14 +07:00
Mohamed Boudra
7c50b2a66b fix: respect safe area insets and improve drag visual feedback 2026-01-31 22:57:47 +07:00
Mohamed Boudra
c57c86286a fix: use mainRepoRoot for agent creation in Paseo-owned worktrees 2026-01-31 12:04:32 +07:00
Mohamed Boudra
ea33d1980f feat: add keyboard navigation to combobox and select fields on web 2026-01-30 22:52:07 +07:00
Mohamed Boudra
025a68c3a4 refactor: move shell output ANSI stripping to app layer 2026-01-30 14:57:35 +07:00
Mohamed Boudra
25c7d5afa9 refactor: consolidate agent wait methods and use in-memory MCP transport 2026-01-30 14:50:01 +07:00
Mohamed Boudra
0618dc6b0d refactor: rename session_state to agent_list and add subscriptions 2026-01-30 13:39:40 +07:00
Mohamed Boudra
5b32d0a56c fix: update MCP tests to use createAgentSelfIdMcpServer
Tests for set_title and set_branch were looking for these tools in
mcp-server.ts but they were moved to agent-self-id-mcp.ts during
the MCP split.
2026-01-30 12:29:01 +07:00
Mohamed Boudra
f8da5ada71 fix: move PID lock to bootstrap.ts for all entrypoints 2026-01-30 12:09:56 +07:00
Mohamed Boudra
f689cb1385 fix: remove duplicate PID lock release from bootstrap.ts 2026-01-30 11:57:12 +07:00
Mohamed Boudra
829de66d2f fix: remove duplicate PID lock and simplify socket path config
- Remove duplicate acquirePidLock call from bootstrap.ts (keep in index.ts
  where proper error handling exists)
- Remove PASEO_SELF_ID_MCP_SOCK env var override from config.ts
2026-01-30 11:54:15 +07:00
Mohamed Boudra
1670c7084b fix: complete MCP split implementation
- Fix socket path conflict: main server defaults to TCP (localhost:6767),
  Self-ID MCP uses Unix socket (self-id-mcp.sock)
- Remove set_title/set_branch from mcp-server.ts (they belong only in
  agent-self-id-mcp.ts which is used by coding agents)
- Rename mcpSocketPath to selfIdMcpSocketPath for consistency
- Pass --socket arg to self-id-bridge so non-default paths work
- Wire up PID lock to prevent multiple daemon instances
- Add PASEO_SELF_ID_MCP_SOCK env var for testing override
2026-01-30 11:46:50 +07:00
Mohamed Boudra
eac342aa8b Merge branch 'main' of github.com:boudra/paseo 2026-01-29 12:20:33 +07:00
Mohamed Boudra
0f59908415 Merge pull request #4 from boudra/test/fix-wait-for-permission-e2e
feat: add CLI package with daemon and agent commands
2026-01-29 12:20:07 +07:00
Mohamed Boudra
7a8841481e feat: wait returns on permission request and improve CLI logging 2026-01-29 12:12:39 +07:00
Mohamed Boudra
c015fdbef1 refactor: replace agent-control MCP with labels system and Paseo MCP 2026-01-29 11:31:15 +07:00
Mohamed Boudra
a21e070647 Increase branch badge max width to 40% 2026-01-29 11:19:51 +07:00
Mohamed Boudra
edc67ba5f7 Strip ANSI codes from commands and limit branch badge width 2026-01-29 11:19:33 +07:00
Mohamed Boudra
dfda6daeed refactor(cli): rename ps to ls and add top-level agent commands 2026-01-29 10:41:19 +07:00
Mohamed Boudra
7d4636ecff feat(cli): add agent logs command
Add `paseo agent logs <id>` command to view agent activity/timeline.

Features:
- View agent timeline entries (messages, tool calls, errors)
- `-f, --follow` flag for real-time streaming
- `--tail <n>` to limit entries shown
- Proper formatting of different timeline item types
2026-01-28 23:46:13 +07:00
Mohamed Boudra
74fceed9b5 feat(cli): add agent inspect command
Add the `paseo agent inspect <id>` command that shows detailed
information about an agent:

- Id, name, provider, model, status, mode, cwd
- Creation timestamp
- Token usage (input, output, cached, cost)
- Capabilities (streaming, persistence, dynamic modes, MCP servers)
- Available modes
- Pending permissions count
- Parent agent ID

The default output is YAML-like key-value pairs. Use `--format json`
or `--format yaml` for machine-readable output with the full agent
snapshot.

Supports agent ID prefix matching.
2026-01-28 23:41:50 +07:00
Mohamed Boudra
f96a4ee3df feat(cli): add agent mode command
Add the `paseo agent mode` command for changing and listing agent
operational modes. Supports setting a mode or listing available modes
with the --list flag.

Usage:
  paseo agent mode <id> <mode>     # Set mode
  paseo agent mode --list <id>     # List available modes
2026-01-28 23:41:14 +07:00
Mohamed Boudra
d78c7d5e07 chore(cli): rename test files from .mts to .ts 2026-01-28 23:34:22 +07:00
Mohamed Boudra
d51d70a6fd feat(cli): add resolveAgentId helper for partial ID matching
Adds a utility function for resolving agent IDs from partial IDs or names.
Supports:
- Full ID match
- Prefix match (first N characters)
- Title/name match (case-insensitive)

Used by agent stop and send commands to allow flexible agent targeting.
2026-01-28 23:27:31 +07:00
Mohamed Boudra
b040e2fc6d feat(cli): add agent stop command
Implements the `agent stop` command for stopping agents.

Features:
- Stop a specific agent by ID (with prefix matching)
- --all flag to stop all running agents
- --cwd flag to stop all agents in a specific directory
- Cancels running agents before terminating them
- Graceful error handling for partially failed stops

Usage:
  paseo agent stop <id>
  paseo agent stop --all
  paseo agent stop --cwd ~/dev/paseo
2026-01-28 23:26:53 +07:00
Mohamed Boudra
851d5ef247 feat(cli): add agent send command
Implements the `agent send` command for sending messages to existing agents.

Features:
- Send follow-up tasks to running agents
- Support for ID prefix matching (e.g., "a1b2" matches "a1b2c3d4")
- --no-wait flag to return immediately without waiting for completion
- Default behavior waits for agent to become idle

Usage:
  paseo agent send <id> <prompt>
  paseo agent send --no-wait a1b2c3d "Run the linter"
2026-01-28 23:25:45 +07:00
Mohamed Boudra
dd514a4a67 feat(cli): add agent run command
Implements the `paseo agent run` command for creating and running agents:
- Creates agent with initial prompt
- `-d, --detach` flag for background execution
- `--name <name>` to assign a title
- `--provider <provider>` to select claude/codex/opencode
- `--mode <mode>` for provider-specific modes
- `--cwd <path>` for working directory
- Supports all output formats (table, json, yaml, quiet)
- Graceful error handling when daemon not running

Usage:
  paseo agent run "Fix the failing tests"
  paseo agent run -d --name "test-fixer" "Run the test suite"
  paseo agent run --mode bypass "Refactor the auth module"

Phase 4 of CLI implementation (TDD checklist 4.1-4.6)
2026-01-28 23:22:57 +07:00
Mohamed Boudra
e38f8292d4 chore(cli): enable strict TypeScript config 2026-01-28 23:22:22 +07:00