TypeScript 55.4%
Python 43.2%
SQL 1.2%
1# Connector: OpenAPI / Swagger (`openapi`)2**Purpose**: API-contract changes of public APIs that publish their description (Stripe, GitHub, OpenAI, Cloudflare,3Kubernetes, DigitalOcean, Discord, Plaid…). Added, removed or deprecated operations and schema changes become list4events (`api_change`), the `info` item tracks the declared API version.5**Sensor types**: JSON, FILE. **Config**: `pathPrefix?` (restrict to `/v1`), `maxOperations?` (5000), `docsUrl?`6(link shown on events instead of the raw spec).7**Retrieval**: JSON or YAML (OpenAPI 3.x, Swagger 2.0), 64 MB / 60 s (Stripe ≈ 8 MB, GitHub ≈ 13 MB).8**Normalization**: keyed list — `key = "METHOD /path"`, `fingerprint` = sha256 of the operation's parameters, path9parameters, request body, responses, security, deprecated flag and summary **with descriptions, examples and10`x-*` extensions stripped** (prose edits are not contract changes); `deprecated`, `tags`, `responses`.11`compareFields: [fingerprint, deprecated]`. `extra`: spec kind, version, operation count, deprecated count, servers.12**Known quirks**: specs on raw.githubusercontent.com are served as `text/plain` (parser sniffs the body); YAML13anchors/aliases are unlimited (`maxAliasCount: -1`); `$ref` are not resolved — a change inside a shared schema14shows up on the operations that embed it only if the `$ref` target text itself is part of the operation (use the15`http` connector in JSON mode on the same URL for a whole-document diff when that matters).16**Tests**: `connectors2.test.ts` (YAML/JSON parsing, fingerprint stability vs prose, parameter change).17**Verified**: 2026-09-08 (Stripe 595 operations, OpenAI 290).18