Commit Graph

25 Commits

Author SHA1 Message Date
tomatocream 370853ccbf docs: add AGENTS.md for agent-user interaction model and repo conventions 2026-06-01 02:04:26 +08:00
tomatocream 79f2177832 feat: add NixOS Playwright support with system Chrome via flake devShell 2026-06-01 01:37:08 +08:00
tomatocream cd237d4725 fix: support PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH env var for NixOS 2026-06-01 01:32:30 +08:00
tomatocream 591e646a6c feat: REPL and CLI wiring; end-to-end capture-to-spec smoke test 2026-06-01 01:18:14 +08:00
tomatocream 7d5870bbb4 feat: optional typed client generation from openapi spec 2026-06-01 01:10:38 +08:00
tomatocream a9fa9457fc feat: Claude tool-use agent loop with graceful tool-error handling
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 00:16:22 +08:00
tomatocream 6b1ed67d4a feat: agent tool definitions (browser, flows, doc) and registry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 00:14:37 +08:00
tomatocream 9161f623a7 feat: Playwright browser wrapper with compact snapshot
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 00:11:47 +08:00
tomatocream cf022c5096 feat: doc engine writes openapi.yaml and API.md from samples
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 00:10:21 +08:00
tomatocream 569eb04df5 fix: tie proxy readiness to actual socket bind; report real port; sync stop
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 00:08:16 +08:00
tomatocream 20c7e0275f feat: embedded mitmproxy capture addon and proxy server
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 00:04:58 +08:00
tomatocream c6d349c505 feat: Config and pluggable auth stub (manual/none) 2026-06-01 00:02:38 +08:00
tomatocream 2b5e43a64f feat: markdown API documentation rendering
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 00:01:23 +08:00
tomatocream bef7a72799 feat: OpenAPI assembly from endpoint records
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:59:51 +08:00
tomatocream 0efd906a07 fix: silence genson untyped-import errors in schema accumulator 2026-05-31 23:58:26 +08:00
tomatocream 5bc7e5b89d feat: deterministic JSON schema inference (genson wrapper) 2026-05-31 23:57:47 +08:00
tomatocream 7956b49e28 feat: thread-safe FlowStore with signature dedup and samples
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:56:42 +08:00
tomatocream a82d99b12a feat: scope filter (host allow/deny, asset and analytics drop)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:54:34 +08:00
tomatocream 7a02efd42d feat: path templating for endpoint signatures 2026-05-31 23:53:00 +08:00
tomatocream d7b4a44673 feat: core data models (Signature, CapturedFlow, EndpointRecord) 2026-05-31 23:51:47 +08:00
tomatocream 422990bc4e fix: target standard CPython 3.14 (mitmproxy incompatible with 3.14t)
mitmproxy's aioquic/mitmproxy-rs deps have no free-threaded wheels and
source builds fail. Workload is I/O-bound so free-threading gave no
benefit. Switch .python-version to 3.14, drop /tmp stub overrides,
reinstall mitmproxy with real wheels (imports cleanly). Update README
and design spec to record the decision.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 23:50:26 +08:00
tomatocream c6173b0ceb build: add deps and test scaffolding for auto-reverse
Adds runtime deps (playwright, mitmproxy, anthropic, genson) and dev
deps (pytest, pytest-asyncio); creates the tests/ scaffold with
fixture_site.py, conftest.py, and a smoke test. Documents the
mitmproxy aioquic/mitmproxy-rs stub workaround needed for
free-threaded CPython 3.14.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-31 23:43:11 +08:00
tomatocream a484ea4f8e docs: add auto-reverse implementation plan
16 bite-sized TDD tasks, bottom-up: core models/store/schema/doc,
then proxy/browser integration, then tools/agent/REPL/CLI, plus
end-to-end capture-to-spec smoke test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 23:26:42 +08:00
tomatocream 879dfc347d docs: add auto-reverse design spec
Conversational CLI that reverse-engineers a website API: LLM-driven
headed browser (approach 3) + embedded mitmproxy capture/doc pipeline
(approach 5), unified as a single tool-use agent. Free-threaded
single-process architecture, intent-driven exploration, hybrid
human/agent control, bounded LLM cost via endpoint-signature dedup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 23:13:40 +08:00
tomatocream adcd280bbd init: auto-reverse CLI with Python 3.14t, uv, and Nix flakes
Set up project scaffolding with free-threaded Python 3.14, uv for package
management, and Nix flakes for dev tooling (treefmt-nix with nixfmt/ruff,
pyright strict mode, direnv integration).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-31 22:16:36 +08:00