subagentjava

.com java type catalog

Java types this repo actually defines

3 real types, all from one file — scripts/agents/schema.java — added 2026-07-01. Grounding: scripts/agents/schema.java, a same-day-authored Java 17 mirror of crates/schema/src/agent.rs — the first Java code in this repo. See why just one file.

record 6 members

AgentConfig

scripts/agents/schema.java

Java 17 record (name, description, model, tools, maxTurns, systemPrompt). Ships a validate() ported line-for-line from the Rust validate() (name regex, description/system_prompt length checks) and a toYaml() that manually emits the same block-scalar YAML shape as the Rust to_yaml() - no YAML library dependency, since this repo has no Java build file (pom.xml/build.gradle) to declare one yet. That gap is stated explicitly in the file's own doc comment, not hidden.

mirrors: crates/schema/src/agent.rs::AgentConfig; scripts/agents/schema.py::AgentConfig; scripts/agents/schema.ts::AgentConfig

enum 4 members

AgentModel

scripts/agents/schema.java

Java enum with 4 constants: OPUS_4_8, SONNET_4_6, HAIKU_4_5, FABLE_5. Each carries its exact wire-format string constant copied verbatim from agent.rs, exposed via asStr(). Written current with agent.rs (includes FABLE_5).

mirrors: crates/schema/src/agent.rs::AgentModel; scripts/agents/schema.py::AgentModel; scripts/agents/schema.ts::AgentModel

enum 21 members

AgentTool

scripts/agents/schema.java

21-constant Java enum, one entry per built-in Claude Code tool, same order and wire-format strings as the Rust source.

mirrors: crates/schema/src/agent.rs::AgentTool; scripts/agents/schema.py::AgentTool; scripts/agents/schema.ts::AgentTool