Commit Graph

64 Commits

Author SHA1 Message Date
Ignacy Łątka 445bc044c1 feat: Add update system to Argent (#78)
* feat: add update notification and update-argent tool

Injects an update note into HTTP responses when a newer version of Argent
is available, forwards the note through the MCP server so agents see it
prepended to tool results, and adds an update-argent tool that agents can
call (with explicit user consent) to apply the pending update.

* test: add edge-case tests for update note injection and update-argent tool

* fix: guard update-argent against double-spawn and no-op calls, use argent binary

* feat: auto-suppress update note for 30min after delivery, add dismiss-update tool

* fix: correct npm package name to @software-mansion/argent

* fix: use semver ordering for version comparison, guard double-start, handle response stream errors

* feat: add update notification and update-argent tool

Injects an update note into HTTP responses when a newer version of Argent
is available, forwards the note through the MCP server so agents see it
prepended to tool results, and adds an update-argent tool that agents can
call (with explicit user consent) to apply the pending update.

* test: add edge-case tests for update note injection and update-argent tool

* fix: guard update-argent against double-spawn and no-op calls, use argent binary

* feat: auto-suppress update note for 30min after delivery, add dismiss-update tool

* fix: correct npm package name to @software-mansion/argent

* fix: use semver ordering for version comparison, guard double-start, handle response stream errors

* fix unresolved conflicts

* add yarn to gitignore

* cleanup typecasting

* isolate update note builder

* remove unused import

* fix package name

* change update rate to once per day

* add note against using permanent storage mediums

* update tool descriptions

* fix tests
2026-04-07 17:42:59 +02:00
filip131311 d9dc17d0d5 fix: move describe to native devtools (#83)
* fix: move describe to native devtools

Replace the AX describe path with an app-scoped native hierarchy adapter so coordinate discovery stays on the supported injection flow.
Also add safer targeting and restart guidance to reduce ambiguous Home and cold-start recovery paths.

Made-with: Cursor

* init

* update sim server

* Delete NATIVE_DEVTOOLS_DESCRIBE_MIGRATION_NOTE.md
2026-04-07 17:36:56 +02:00
Filip131311 c8e8669c56 Revert "feat: add update-argent tool and per-response update notification (#74)"
This reverts commit c9a673e97a.
2026-04-07 10:00:10 +02:00
Ignacy Łątka c9a673e97a feat: add update-argent tool and per-response update notification (#74)
* feat: add update notification and update-argent tool

Injects an update note into HTTP responses when a newer version of Argent
is available, forwards the note through the MCP server so agents see it
prepended to tool results, and adds an update-argent tool that agents can
call (with explicit user consent) to apply the pending update.

* test: add edge-case tests for update note injection and update-argent tool

* fix: guard update-argent against double-spawn and no-op calls, use argent binary

* feat: auto-suppress update note for 30min after delivery, add dismiss-update tool

* fix: correct npm package name to @software-mansion/argent

* fix: use semver ordering for version comparison, guard double-start, handle response stream errors
2026-04-06 20:49:06 +02:00
Filip131311 8c2a313c76 chore: format codebase with Prettier
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 14:53:58 +02:00
Filip131311 47b66b3eed feat: add native devtools iOS — view hierarchy, network inspection, passive simulator watcher
- 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>
2026-04-03 14:53:45 +02:00
Ignacy Łątka cd41fa4d3b fix: write profiler output to /tmp instead of project root (#73)
* fix: write profiler output to /tmp instead of project root

The profiler was creating an argent-profiler-cwd/ directory inside the
user's project root. Output is now written to /tmp/argent-profiler-cwd/
using os.tmpdir() so no artifacts are left in the project tree.

* fix: remove project_root from profiler tools, drop getDebugDir param

No backwards compatibility needed — project_root is stripped from
ios-profiler-start and profiler-load schemas entirely, and getDebugDir
takes no arguments now that the path is always /tmp/argent-profiler-cwd/.

* fix: remove stale project_root from skill docs, add dump.test.ts

- SKILL.md and diagnostic-tools.md still referenced project_root for
  profiler-load after it was removed from the schema — now corrected
- Add 17 tests covering getDebugDir, writeDump, writeDumpCompact,
  readCpuProfile, and readCommitTree (all passing)
2026-04-03 14:23:38 +02:00
Ignacy Łątka 095d8af71e feat(tool-server): add npm update checker on startup and periodic interval (#69)
Check for newer @argent/tool-server versions on npm at startup and every
hour. The result is stored in a runtime flag (updateAvailable) — no user
notification or auto-install behavior is wired up yet.

ARG-79
2026-04-03 13:43:37 +02:00
Ignacy Łątka 6e99ffe3ad chore: cleanup - radon references, stale comments (#62)
* chore: remove stale developer comments

Removed informal, person-attributed dead-code comment from paste.ts.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* chore: remove remaining stale comment in mcp/src/index.ts

Remove the mid-development reassurance note "// TOOLS_URL is now updated"
from the fetchWithReconnect retry path (ARG-18 follow-up).

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: remove dangling reference to non-existent docs/cli-bridge-guide.md

The file referenced in the bridge command's help text was never created.
Remove the misleading pointer so users aren't sent to a 404.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: clean up stale identifiers and dev artifacts before open-source release

- Rename injected JS globals: __rn_mcp_installed__ → __argent_profiler_installed__,
  __rn_mcp_roots__ → __argent_roots__, __rn_mcp_commit_capture__ → __argent_commit_capture__,
  __RN_DEVTOOLS_MCP_COMMITS__ → __ARGENT_DEVTOOLS_COMMITS__ across the profiler pipeline
- Route server startup and idle-shutdown logs to stderr (not stdout, which is the MCP protocol pipe)
- Fix broken test expecting --force flag that does not exist in globalInstallCommand
- Replace stale 'radon' fixture key in mcp-configs test with neutral 'other-tool'
- Fix non-interpolating ${port} placeholder and typo 'desctructive' in stop-metro description
- Fix typos in tool descriptions: DELAGATED, environemnt
- Fix stale tool reference debugger-console-logs → debugger-log-registry in two skill files
- Fix typos in skill docs: accesisibility, sequentialsimulator, mutliple tines, necesserily, informaiton

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:22:37 +02:00
Paweł Fornagiel 330a13a2f2 chore: remove deprecated debugger tools and update documentation (#66) 2026-04-01 18:50:34 +02:00
Paweł Fornagiel fbfe957a02 chore: remove unused tools (#65) 2026-04-01 18:41:07 +02:00
Paweł Fornagiel 6a9b498b21 refactor: enhance module scanning in debugger scripts (#60) 2026-04-01 12:47:51 +02:00
Filip131311 ca3975cd50 fix: normalize localhost to 127.0.0.1 in Origin header for CDP WebSocket connections
Satisfies both RN >= 0.85 Metro (which requires an Origin header) and
Expo's dev server (which does an exact match against its serverBaseUrl,
127.0.0.1, rejecting connections with Origin: localhost).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 12:44:11 +02:00
Filip131311 e8b37419eb Revert "chore: refix react native 85 (#61)"
This reverts commit d4e8fcc887.
2026-04-01 12:41:19 +02:00
filip131311 d4e8fcc887 chore: refix react native 85 (#61) 2026-04-01 12:37:41 +02:00
filip131311 aec65427ab chore: remove license validation (#58)
* init

* init

* Delete .vscode/mcp.json
2026-03-31 21:32:08 +02:00
Paweł Fornagiel 85ef733835 refactor: rename RADON references to ARGENT across the codebase (#56)
* 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
2026-03-31 17:24:51 +02:00
Paweł Fornagiel 2767400cac feat: add run-sequence tool for batching simulator interactions (#55)
* feat: add run-sequence tool for executing multiple simulator interactions sequentially

* Gesture tool family: rename, add pinch/rotate, interpolation (#37)

* feat: add pinch, rotate and interpolateion to gesture

* refactor: rename files, where definitions changed

* refactor: move gesture-custom to utils folder

* docs: clarify normalization of coordinates and distances in gesture tools

* docs: update simulator interaction documentation to emphasize loading tool schemas before first use

* feat: add action sequencing with `run-sequence` tool for batching interactions

* feat: some improvements

* feat: Update auto-screenshot delays and improve documentation for argent MCP tools
2026-03-31 15:58:02 +02:00
Ignacy Łątka 09d1971bf6 remove db tool (#44) 2026-03-31 13:09:53 +02:00
Paweł Fornagiel cbb1655110 Gesture tool family: rename, add pinch/rotate, interpolation (#37)
* feat: add pinch, rotate and interpolateion to gesture

* refactor: rename files, where definitions changed

* refactor: move gesture-custom to utils folder

* docs: clarify normalization of coordinates and distances in gesture tools

* docs: update simulator interaction documentation to emphasize loading tool schemas before first use
2026-03-23 17:14:36 +01:00
Stanislaw Bialecki e673cac8e6 feat: compact ios profiler report + curate subsequent profiler runs (#33)
* feat: compact ios profiler report + ensure wallAnchor for combined report

* refactor: react profiler session disposal

* refactor: rename rn-devtools-debug to argent-profiler-cwd
2026-03-23 12:11:41 +01:00
Paweł Fornagiel 3d1a5dbe08 feat: Enhance component tree filtering in debugger (#35) 2026-03-23 10:56:11 +01:00
Stanislaw Bialecki 7cb6e7b457 Ios instruments profiler (#21)
* feat:  rename previous profiler tools to react-profiler

* feat: add ios-instruments profiler with default tracetemplate

* fix: copying Argent.tracetemplate on install

* feat: enhance CPU profiling capabilities in react-profiler and ios-instruments + initial enable re-querying (investigating) the profiler output

* feat: enable analyzing old profiling sessions, enhance profiling tools interoperability

* refactor: stream react profiler data to files instead of runtime aggregate var

* chore: add xml-parser test

* chore: rm clg

* feat: ad ios-instruments timeout

* chore: cleanup reactProfilerAnalyze warning cond

* refactor: ensure not dividing by 0 in profilerCombinedReportTool

* fix: inject react commit-capture hook before startProfiling

* fix: rm main signature from rn framework trace analysis

* chore: writeReport fail

* fix: potential sampleIdx in parseCpuXml

* fix: timeDeltas[i] potentially undefined

* fix: decodeXml amp resolution sequence

* fix: rm rn-profiler skill from local repo

* feat: rename instruments to ios-profiler + improve react session stability
2026-03-19 11:16:22 +01:00
Paweł Fornagiel 7f68cdf785 fix: omit Origin header in WebSocket connection to support Expo's dev server (#32) 2026-03-18 19:56:21 +01:00
Paweł Fornagiel 0071a09d99 feat: add log registry for debugger console logs (#30)
* feat: first log registry implementation

* feat: refactor skills to mention how to use new log registry

* docs: update SKILL.md to include guidance for handling large log files

* refactor: update log file handling, change to .log instead of JSONL
2026-03-18 18:48:49 +01:00
Paweł Fornagiel 92cb3efbb4 feat: add screenshot scaling and update sim server binary (#29)
* feat: add screenshot scaling with new sim server binary

* fix: update default screenshot scale and enhance documentation for screenshot tool

* feat: update sim server binary

* feat: update simulator-server binary files
2026-03-18 18:38:25 +01:00
Ignacy Łątka 2c9e7788c3 Merge pull request #25 from software-mansion-labs/@latekvo/fix-network-inspector
feat: Network inspector tool
2026-03-18 17:54:25 +01:00
Ignacy Łątka 5ce4ace181 Merge branch 'main' into @latekvo/automation-scripting 2026-03-18 15:40:47 +01:00
Ignacy Łątka dd51b3ce6a Merge pull request #16 from software-mansion-labs/@latekvo/migrate-db-tools-from-ide
feat: Port `query_documentation` from `Radon IDE`
2026-03-18 12:24:58 +01:00
Paweł Fornagiel 2fa515d628 feat: component tree & element inspector improvements (#26)
* feat: include skiplists

* feat: allow for verbose logging in component tree and element-inspect

* feat: trim the skills related to PR from unneeded information
2026-03-17 16:56:14 +01:00
Ignacy Łątka 629007ba54 rename 2026-03-17 16:20:57 +01:00
Ignacy Łątka 80ba4d94cc fix vuln 2026-03-17 16:17:13 +01:00
Filip131311 f367693e4f fix: add Origin header to WebSocket connection for RN 0.85 compatibility
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 14:33:22 +01:00
Ignacy Łątka 9c5967602e add flow prerequisites 2026-03-17 13:13:43 +01:00
Ignacy Łątka 52bb5edc93 initial implementation with monkeypatching 2026-03-17 12:47:45 +01:00
Paweł Fornagiel 56a238e9ce feat: add environment inspector (#24)
* feat: add first implememntation of environment subagent

* chore: remove the irrelavnt skill from main project config

* feat: add rules support and enhance postinstall script for Argent tools (#23)

* feat: add first implememntation of environment subagent

* feat: enhance argent.md with environment inspection subagent details and workspace information retrieval guidelines

* feat: introduce argent.md with comprehensive guidelines for iOS simulator interactions and React Native workflows

* fix: fix postinstall script

* fix: fix Install Argent launch.json job

* feat: add environment inspector design document and research notes on MCP error signaling

* chore: update .gitignore to include MCP agents and rules directories

* fix: update `argent.md` rule with alwaysApply: true for cursor compatibility

* chore: remove mcp/rules from index
2026-03-16 21:47:48 +01:00
Ignacy Łątka ffa53d4385 live flow file updates, live executions, better descriptions 2026-03-12 14:46:55 +01:00
Ignacy Łątka 47e6d66999 Merge branch 'main' into @latekvo/automation-scripting 2026-03-12 13:56:11 +01:00
Ignacy Łątka baed3605c8 initial flow impl 2026-03-11 22:39:04 +01:00
pFornagiel bfe6b70e5d feat: add logbox disabling after metro reload 2026-03-11 20:30:13 +01:00
pFornagiel 74ec322a70 feat: add more advanced logging on failure 2026-03-11 20:09:08 +01:00
Ignacy Łątka 25277360ba Merge branch 'main' into @latekvo/migrate-db-tools-from-ide 2026-03-11 17:32:53 +01:00
pFornagiel c68e35a026 feat: accesibility problems instructions for user 2026-03-11 15:39:36 +01:00
Paweł Fornagiel badf203d57 feat: add timeout system and process killing capabilities (#14)
* feat: add termination

* refactor: refactor how idletimer is used within index and http server

* feat: enhance confirmation message for stopping Metro bundler process
2026-03-11 15:23:38 +01:00
Paweł Fornagiel 895d904cbf revert: revert bugged network inspector because of debugger issues (#18)
* feat: add work-in-progress react-native-development skill

* feat: remove network inspector
2026-03-11 14:59:52 +01:00
Ignacy Łątka cd35ffd2db Merge remote-tracking branch 'origin/main' into @latekvo/migrate-db-tools-from-ide 2026-03-11 13:18:27 +01:00
Ignacy Łątka c5acdd2a54 remove bad tool 2026-03-11 13:18:20 +01:00
Ignacy Łątka 5010bd505f isolate network tools to separate tool unit 2026-03-10 22:39:22 +01:00
Ignacy Łątka 0cd13a79a6 initial port 2026-03-10 22:28:01 +01:00
Ignacy Łątka 1669abd514 simplify 2026-03-10 22:21:28 +01:00