SPB Git forge

spb/websensor

Public
33commits 1branches 0releases
3.4 MBsize
maindefault branch
10 days agolast push
TypeScript 55.4% Python 43.2% SQL 1.2%
1.6 KB

# Connector: OpenAPI / Swagger (openapi)

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