Perplexity Macro VM β Java SDK
Java execution runtime for the Perplexity Macro VM. Compiles to WASM via TeaVM (open) or CheerpJ (full JDK fallback).
Structure
java-sdk/
βββ pom.xml β Maven build (TeaVM 0.9.2, Java 17)
βββ src/main/java/vm/
β βββ Main.java β Entry point + execute() ABI
β βββ Capability.java β WASM import bridge (search, file, clock)
β βββ Wasm.java β WASM memory introspection
βββ src/test/java/vm/
βββ MainTest.java β Unit tests
Build
# Local JAR
mvn package
# WASM (TeaVM)
mvn package -P teavm
# Emits: target/macro-vm-java.wasm + target/macro-vm-java.js
Toolchain
| Tool | Version | Purpose |
|---|---|---|
| TeaVM | 0.9.2 | Java bytecode β JS/WASM (open, no JDK needed) |
| CheerpJ | 3.0 | Full JDK in browser (fallback) |
| Java | 17 | Source level |
Flow
Main.java + Capability.java + Wasm.java
β javac (Maven)
β TeaVM / CheerpJ
target/macro-vm-java.wasm + .js
β fetch + WebAssembly.instantiate
Browser WASM runtime
β stdout/result via Capability bridge
Agent Console (Swift or JS frontend)
Runtime Imports (WASM β Browser)
Capability bridge provides typed imports:
vm_request(cap, json)β tool/capability requestfile_read(path)/file_write(path, content)clock_now()β ISO8601 timestamprandom_bytes(n)β hex randommemory_size()β WASM pagesstdout(msg)/stderr(msg)
License
BEL ESPRIT D ACCORD TRUST HOLDINGS INC. Patent Pending.