{
  "schema": "leumas.docs.page/1",
  "id": "adapter:domain/events",
  "slug": "adapters/domain/events",
  "kind": "capabilities",
  "bucket": "package",
  "title": "events (adapter system)",
  "name": "events",
  "eyebrow": "adapter system",
  "chip": null,
  "summary": "Event aggregation adapter system: fetch/normalize events from pluggable sources (ticketmaster, seatgeek, meetup, ...), then filter by category/location and sort by date. Source adapters are...",
  "keywords": [
    "events",
    "ticketmaster",
    "seatgeek",
    "meetup",
    "aggregation",
    "events api",
    "leumas events",
    "location"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "# events (adapter system)\n\nMulti-source **event aggregation**. Ported from `leumas-middleware/lib/a.events` — the pure aggregation\ncore (`fetchEvents` / filter / sort). The source's fs adapter-scanner, express server, `results/`\ndumps, and keyed provider clients (ticketmaster, seatgeek, meetup, serpapi, openevent) were stripped.\n\nSource adapters are **injected** as `{ name, getEvents(location) -> event[] }`, so this engine carries\nno API keys. A normalized event is `{ source, title?, date?, category?, location?, url? }`.\n\n## Tools (`adapters`)\n\n| tool | args | result |\n|------|------|--------|\n| `fetchEvents` | `{ sources, location?, category?, sort? }` | `{ count, events, errors }` |\n| `filterByCategory` | `{ events, category }` | `{ events }` |\n| `sortByDate` | `{ events, order? }` | `{ events }` |\n| `categories` | `{ events }` | `{ categories }` |\n",
  "source": {
    "path": "shared/engines/adapters/domain/events/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 1032,
    "hash": "38efc71cb8a45ed579659aff5128c819769c7e17"
  },
  "urls": {
    "html": "/p/adapters/domain/events",
    "json": "/docs/adapters/domain/events.json",
    "md": "/docs/adapters/domain/events.md"
  },
  "links": {
    "composes": [],
    "usedBy": [],
    "product": [],
    "howTo": [],
    "skills": []
  }
}
