Assembling...
Adaptive rate limiting for GraphQL APIs with query complexity analysis, depth limiting, and adaptive throttling. Supports Redis-backed distributed counters and per-field cost configuration.
Automated checks running. Results will appear here once complete.
import { createConstruct } from "@arkitekton/core";
import type { ConstructConfig } from "@arkitekton/types";
export const graphQLRateLimiter = createConstruct({
id: "graphql-rate-limiter",
version: "1.0.0",
ports: {
input: [
{ id: "data-in", type: "json", label: "Input Data" },
{ id: "config", type: "config", label: "Configuration" },
],
output: [
{ id: "data-out", type: "json", label: "Processed Data" },
{ id: "audit-log", type: "event", label: "Audit Events" },
],
},
async handler(input, config) {
// Process input data
const result = await process(input, config);
// Emit audit event
this.emit("audit-log", {
action: "processed",
timestamp: Date.now(),
details: result.summary,
});
return result;
},
});Est. ~500ms
Est. ~600ms
Est. ~450ms
Est. ~700ms
Est. ~400ms
Est. ~550ms
Was this submission helpful?