{
  "templates": [
    {
      "name": "Fluxtion embedded",
      "description": "The graph inline in your app — flow.onEvent(...), no server. Interpreted + keyless; the fastest way to feel the model in the Playground.",
      "file": "fluxtion-embedded.starter.json",
      "type": "fluxtion",
      "mode": "interpreted"
    },
    {
      "name": "Fluxtion connector",
      "description": "DataFlowConnector host — in-memory/file feed → graph → sink. Keyless, runs in the Playground.",
      "file": "fluxtion-connector.starter.json",
      "type": "fluxtion",
      "mode": "interpreted"
    },
    {
      "name": "Fluxtion DAG multi IO",
      "description": "An AOT multi-IO DAG: 2 feeds into a root node, a Risk node joining two parents, and 2 sinks (alerts console + audit file) via per-trigger outputs. Runs in the Playground; a download needs a key once at build.",
      "file": "fluxtion-dag-multi-io.starter.json",
      "type": "fluxtion",
      "mode": "aot"
    },
    {
      "name": "Fluxtion AOT (native-ready)",
      "description": "Build-time generated dispatcher (no runtime compiler). The GraalVM native-image target — mvn -Pnative package.",
      "file": "fluxtion-aot.starter.json",
      "type": "fluxtion",
      "mode": "aot"
    },
    {
      "name": "Fluxtion auditors",
      "description": "The Auditors section in action: event audit (log records to stdout), a user-metric MetricAuditor (totals on teardown), and record & replay (captures to replay/). Runs keyless in the Playground.",
      "file": "fluxtion-audit.starter.json",
      "type": "fluxtion",
      "mode": "interpreted"
    },
    {
      "name": "Fluxtion service export",
      "description": "A typed command surface (@ExportService): an OrderProcessorCommands interface the node implements, called via flow.getExportedService() — embedding without an event envelope. Runs keyless in the Playground.",
      "file": "fluxtion-service-export.starter.json",
      "type": "fluxtion",
      "mode": "interpreted"
    },
    {
      "name": "Fluxtion DataFlow DSL",
      "description": "A DataFlow DSL pipeline: subscribe → map (extract the metric) → slidingAggregate (a rolling-average window) → map (your own classifier) → console — all method references, no imperative @OnEventHandler node. Runs keyless in the Playground.",
      "file": "fluxtion-dsl.starter.json",
      "type": "fluxtion",
      "mode": "interpreted"
    },
    {
      "name": "Fluxtion Spring XML",
      "description": "A multi-node Fluxtion DAG wired in Spring XML (application-context.xml): price/order/news events fan into volatility + sentiment calcs, joined by a RiskEngine and an OrderGate. Open it in the IntelliJ Fluxtion visualiser. AOT; runs in the Playground.",
      "file": "fluxtion-spring.starter.json",
      "type": "fluxtion",
      "mode": "aot"
    },
    {
      "name": "Mongoose server",
      "description": "A runnable Mongoose server: file feed → processor → file sink, with the admin web console.",
      "file": "mongoose-server.starter.json",
      "type": "mongoose"
    },
    {
      "name": "Mongoose + Fluxtion",
      "description": "A Fluxtion AOT graph hosted inside a Mongoose server (the same artefact, two runtimes).",
      "file": "mongoose-hosted-fluxtion.starter.json",
      "type": "hosted",
      "mode": "aot"
    }
  ]
}
