<>…</>
A JSX fragment (<>…</>) returns its children directly. Use it when a component needs to contribute several authored values without inventing a wrapper primitive.
import { Agent, AmlRuntime, System } from "@aml-jsx/sdk"import { DeterministicAgentProvider } from "@aml-jsx/sdk/testing"
function ReviewInstructions() { return ( <> <System>Be concise and evidence-first.</System> Review the authorization change. </> )}
const runtime = new AmlRuntime({ agentProvider: new DeterministicAgentProvider() })const result = await runtime.evaluate( <Agent> <ReviewInstructions /> </Agent>)The automatic JSX transform imports Fragment from @aml-jsx/sdk/jsx-runtime; application code normally does not import it by hand.
Semantics
Section titled “Semantics”- Children are resolved and concatenated in authored order.
<>…</>inserts no separators or prompt text of its own.- It creates no Agent, Sandbox, Workspace, capability, trace, or cleanup boundary.
- It does not start siblings concurrently. Use
<Parallel>for independent text-producing branches, orPromise.all()around component-localevaluate()calls when JavaScript needs each result. - Descriptor placement still follows the eventual containing boundary. A
<System />or<Tool />inside<>…</>still belongs to its nearest<Agent />.
An explicit <Fragment>…</Fragment> form is also exported, but shorthand fragments are the conventional authoring form. See AST and evaluation for renderable values and node construction.