Commit Graph
13 Commits
Author SHA1 Message Date
pj 2cc7617590 feat(sdk-android): Kotlin wire protocol matching the Go encoder
Uses org.json (already on Android; org.json:json test dep for JVM
unit tests). Field names and framing mirror internal/agent/protocol.go
so Go-encoded frames decode on the SDK without a shared schema file.
2026-04-17 22:48:10 +07:00
pj ca92bb1492 feat(agent): Go wire protocol with length-prefixed JSON framing
Six message types: HELLO, PAUSE, RESUME, STATE, EXTRACT_RESULT,
GOODBYE. 4-byte big-endian length + JSON payload. 16MB frame cap.
Typed constructors per message; snapshots carry json.RawMessage so
downstream goja evaluation sees exact types.
2026-04-17 22:48:07 +07:00
pj 9cea3b66f0 feat(sdk-android): scaffold Android library module
AGP 8.11.0, Kotlin 2.1.21, minSdk 24, compileSdk 35, JDK 17
bytecode, no Compose dep. Uatu object exposes start/extract as
stubs; real implementation in tasks #6–8.
2026-04-17 22:38:04 +07:00
pj 9a792e20ce feat(sidecar): scaffold Kotlin JVM module with Shadow fat JAR
Kotlin 2.1.21 (deviation from plan's 1.9, forced by Gradle 9
compatibility), JDK 17 toolchain, application plugin with main
entry dev.uatu.sidecar.MainKt. Shadow 9.0.0-rc2 for the fat JAR.
Actual gRPC server wires in with task #10.
2026-04-17 22:38:01 +07:00
pj b594108595 chore(gradle): add root settings for uatu multi-project build
Links :sidecar and :sdk-android under one wrapper. Root build.gradle
provides a clean task that wipes the root build dir.
2026-04-17 22:37:53 +07:00
pj ac80114b2d chore(gradle): add Gradle wrapper 9.4.1
Committed so the repo builds reproducibly without a host gradle.
2026-04-17 22:37:51 +07:00
pj 32cd729f9d chore: add .gitignore for gradle, IDE, and run outputs 2026-04-17 22:37:46 +07:00
pj 1c4b0dd00f feat(cli): scaffold uatu CLI with test and doctor subcommands
Wires the flag surface from plan §3 (--spec, --bundle-id, --platform,
--avd, --duration, --seed, --output). Subcommand bodies are stubs;
actual work lands with runner/doctor tasks.
2026-04-17 22:29:09 +07:00
pj d73192b235 test(proto): cover driver service surface
Asserts the eight v0.1 RPCs are exactly the ones present and
that message fields round-trip through generated getters.
2026-04-17 22:27:32 +07:00
pj 7c988b53dd chore(proto): generate Go stubs for driver service
Brings in google.golang.org/grpc and protobuf dependencies.
2026-04-17 22:27:31 +07:00
pj 9d62ba963d feat(proto): define driver v0.1 service contract
Eight RPCs needed for v0.1 per plan: Launch, Terminate, Tap,
InputText, Screenshot, Hierarchy, WaitForIdle, Health.
Defers Swipe/LongPress/OpenLink/etc until a spec needs them.
2026-04-17 22:27:27 +07:00
pj ee78371566 chore(proto): add buf config for codegen and lint
Relaxes STANDARD lint rules that conflict with the terse service
shape from ARCHITECTURE.md §7.2 (shared Empty, no Service suffix).
2026-04-17 22:26:23 +07:00
pj 8d5b32c10b init project with readme 2026-04-17 22:07:09 +07:00