- Adds native-devtools-ios package with pre-built dylibs (libNativeDevtoolsIos, libKeyboardPatch, libInjectionBootstrap)
- Passive simulator watcher injects dylibs into all booted simulators on tool-server startup, eliminating manual restart requirement
- Lazy network activation: NSURLProtocol interception is opt-in per bundleId via Control socket command, re-activated on reconnect
- New tools: native-find-views, native-full-hierarchy, native-network-logs, native-devtools-status
- dev script: non-fatal argent-private submodule (uses pre-built dylibs when source unavailable)
- Adds Prettier config and format script
- Updates CONTRIBUTING.md with npm run dev workflow and project structure
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: add Codex CLI adapter for MCP config management
Add support for OpenAI's Codex CLI alongside existing editors. The adapter
reads/writes TOML config at ~/.codex/config.toml and <root>/.codex/config.toml,
using the smol-toml library. Includes full test coverage and docs update.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: remove incorrect Codex rules/agents copy targets
Codex's .codex/rules/ is for execpolicy (Starlark security rules), not
model instructions. Codex uses AGENTS.md and .agents/skills/ for context
injection, so directory-based rules/agents copying doesn't apply.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: inject argent rules into Codex developer_instructions
Codex has no rules/ directory for model instructions — .codex/rules/ is
for execpolicy (Starlark security rules). Instead, inject rule content
into the developer_instructions field in config.toml, delimited by
markers for clean update/removal.
- Reads .md rule files, strips YAML frontmatter, concatenates content
- Injects into developer_instructions with argent section markers
- Preserves existing user developer_instructions
- Replaces argent section on re-inject (idempotent)
- Uninstall cleans up argent section from config.toml
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor: rename RADON references to ARGENT across the codebase
* Merge main into branch and complete ARGENT rename in new files
Merges main's changes: modular CLI architecture, UI package deprecation,
db tool removal, skills/agents prefix rename, and MCP server consolidation.
Extends the RADON→ARGENT rename to cover new files introduced in main
(ARGENT_MCP_LOG, ARGENT_TOOLS_URL env vars, argent-skills bin).
Made-with: Cursor
* fix: rename RADON_MCP_LOG in observe.cjs, regenerate lockfile for argent-skills bin
Made-with: Cursor
* chore: remove accidental PUBLIC_RELEASE_AUDIT.md
* feat: first improved CLI implementation
* feat: add ASCII banner to `argent init` and installation guide
Add a gradient ASCII art banner displayed at the start of `argent init`.
Add docs/install-guide.md with concise instructions for installing from
the GitHub Packages registry (including PAT generation) and from a local
tarball.
Made-with: Cursor
* refactor: update ASCII banner in `init.ts` for improved aesthetics
- packages/mcp: thin MCP stdio bridge that discovers tools dynamically
from GET /tools and proxies calls; screenshot outputHint fetches PNG
and returns base64 image content to the MCP client
- packages/skills: 4 Claude Code skills for simulator setup, screenshot,
interaction, and UI test flow automation
- packages/tools: 7 new interaction tools (screenshot, tap, swipe,
gesture, button, paste, rotate) all using ensureServer() for
transparent auto-spawn
- simulator-registry.ts: unified process + WebSocket registry shared
across all tools
- Fix zodTypeToJsonSchema to preserve .describe() text and handle
ZodEnum/ZodObject; add outputHint to Tool interface and registry.list()
- .claude/mcp.json: registers radon-lite MCP server for Claude Code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The tools server (port 3001) supersedes the original Express server.
packages/tools and packages/ui have no imports from packages/server,
and the vscode extension never used the dependency either.
- Delete packages/server/ (src, tests, openapi spec, duplicate binary)
- Remove build:server, start, dev scripts from root package.json
- Remove packages/server reference from root tsconfig.json
- Remove @radon-lite/server dependency from packages/vscode/package.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Track token validation state (no_token/validating/valid/invalid) in
SimulatorServerProcess; parse token_valid/token_invalid stdout lines
- Guard screenshot, record/stop, and replay routes with a 403 response
when no valid token is present, eliminating the 15s timeout hang
- Add vitest + supertest; 64 tests across SimulatorServerProcess,
sessions router, and simulators router all passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move server code to packages/server/, add placeholder packages for
packages/ui and packages/vscode. Add tsconfig.base.json with shared
compiler options and root tsconfig.json with project references.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Express/TypeScript HTTP server that wraps the simulator-server binary to
expose a clean REST API for controlling iOS simulators. Supports session
management, MJPEG screen streaming, screenshots, screen recording, replay
ring buffer, full input control (touch/key/button/rotate/paste/scroll),
JWT token management with Radon portal activation, and SSE event streams.
Configurable replay and showTouches features via CLI args or env vars.