{
  "version": 1,
  "apps": [
    {
      "id": "contact-sheet",
      "title": "Contact Sheet",
      "icon": "layout-grid",
      "description": "See every image your agent generated in files/ as a wall of tiles, keep or reject each one, compare two side by side, and ask for more like the ones you kept.",
      "entry": "app/index.html",
      "opens": ["*.png", "*.jpg", "*.jpeg", "*.webp"],
      "capabilities": {
        "files": { "read": ["files/**"], "write": ["files/**"] },
        "media": true,
        "state": true,
        "import": { "into": "files" }
      }
    }
  ],
  "newSession": [
    {
      "id": "review-images",
      "label": "Review generated images",
      "icon": "photo",
      "prompt": "Generate {{count}} images of {{subject}} into files/, in a {{style}} style. Then tell me to open the Contact Sheet app to keep or reject each one; read files/picks.json on your next turn and act on my decisions.",
      "inputs": {
        "count":   { "kind": "number", "label": "how many", "min": 1, "max": 24, "step": 1, "default": 8 },
        "subject": { "kind": "text", "label": "the subject", "placeholder": "a mint-green delivery van on a wet street", "max": 200 },
        "style":   {
          "kind": "choice",
          "label": "the look",
          "options": [
            { "value": "photographic", "description": "Natural light, real lenses, shallow depth of field." },
            { "value": "illustrated", "description": "Drawn by hand — visible line, flat colour." },
            { "value": "3D-rendered", "description": "Modelled and lit, soft studio shadows." },
            { "value": "flat vector", "description": "Solid shapes, no texture, no gradients." }
          ],
          "default": "photographic"
        }
      }
    }
  ]
}
