arc-1 0.9.5 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +21 -3
  2. package/dist/adt/abapgit.d.ts +2 -1
  3. package/dist/adt/abapgit.d.ts.map +1 -1
  4. package/dist/adt/abapgit.js +2 -2
  5. package/dist/adt/abapgit.js.map +1 -1
  6. package/dist/adt/btp.d.ts.map +1 -1
  7. package/dist/adt/btp.js +7 -3
  8. package/dist/adt/btp.js.map +1 -1
  9. package/dist/adt/class-structure.d.ts +176 -0
  10. package/dist/adt/class-structure.d.ts.map +1 -0
  11. package/dist/adt/class-structure.js +317 -0
  12. package/dist/adt/class-structure.js.map +1 -0
  13. package/dist/adt/client.d.ts +150 -8
  14. package/dist/adt/client.d.ts.map +1 -1
  15. package/dist/adt/client.js +345 -12
  16. package/dist/adt/client.js.map +1 -1
  17. package/dist/adt/config.d.ts +7 -1
  18. package/dist/adt/config.d.ts.map +1 -1
  19. package/dist/adt/config.js.map +1 -1
  20. package/dist/adt/crud.d.ts +38 -0
  21. package/dist/adt/crud.d.ts.map +1 -1
  22. package/dist/adt/crud.js +73 -1
  23. package/dist/adt/crud.js.map +1 -1
  24. package/dist/adt/errors.d.ts +2 -2
  25. package/dist/adt/errors.d.ts.map +1 -1
  26. package/dist/adt/errors.js +50 -6
  27. package/dist/adt/errors.js.map +1 -1
  28. package/dist/adt/features.d.ts.map +1 -1
  29. package/dist/adt/features.js +27 -3
  30. package/dist/adt/features.js.map +1 -1
  31. package/dist/adt/gcts.d.ts +3 -2
  32. package/dist/adt/gcts.d.ts.map +1 -1
  33. package/dist/adt/gcts.js +4 -4
  34. package/dist/adt/gcts.js.map +1 -1
  35. package/dist/adt/http.d.ts +41 -0
  36. package/dist/adt/http.d.ts.map +1 -1
  37. package/dist/adt/http.js +132 -45
  38. package/dist/adt/http.js.map +1 -1
  39. package/dist/adt/package-hierarchy.d.ts +67 -0
  40. package/dist/adt/package-hierarchy.d.ts.map +1 -0
  41. package/dist/adt/package-hierarchy.js +100 -0
  42. package/dist/adt/package-hierarchy.js.map +1 -0
  43. package/dist/adt/release.d.ts +35 -0
  44. package/dist/adt/release.d.ts.map +1 -0
  45. package/dist/adt/release.js +48 -0
  46. package/dist/adt/release.js.map +1 -0
  47. package/dist/adt/safety.d.ts +39 -3
  48. package/dist/adt/safety.d.ts.map +1 -1
  49. package/dist/adt/safety.js +136 -15
  50. package/dist/adt/safety.js.map +1 -1
  51. package/dist/adt/types.d.ts +74 -0
  52. package/dist/adt/types.d.ts.map +1 -1
  53. package/dist/adt/xml-parser.d.ts +68 -1
  54. package/dist/adt/xml-parser.d.ts.map +1 -1
  55. package/dist/adt/xml-parser.js +263 -0
  56. package/dist/adt/xml-parser.js.map +1 -1
  57. package/dist/authz/policy.d.ts.map +1 -1
  58. package/dist/authz/policy.js +12 -0
  59. package/dist/authz/policy.js.map +1 -1
  60. package/dist/context/grep.d.ts +48 -0
  61. package/dist/context/grep.d.ts.map +1 -0
  62. package/dist/context/grep.js +146 -0
  63. package/dist/context/grep.js.map +1 -0
  64. package/dist/handlers/intent.d.ts +2 -1
  65. package/dist/handlers/intent.d.ts.map +1 -1
  66. package/dist/handlers/intent.js +614 -50
  67. package/dist/handlers/intent.js.map +1 -1
  68. package/dist/handlers/schemas.d.ts +52 -6
  69. package/dist/handlers/schemas.d.ts.map +1 -1
  70. package/dist/handlers/schemas.js +90 -9
  71. package/dist/handlers/schemas.js.map +1 -1
  72. package/dist/handlers/tools.d.ts.map +1 -1
  73. package/dist/handlers/tools.js +73 -12
  74. package/dist/handlers/tools.js.map +1 -1
  75. package/dist/lint/lint.d.ts.map +1 -1
  76. package/dist/lint/lint.js +6 -0
  77. package/dist/lint/lint.js.map +1 -1
  78. package/dist/lint/pre-write-hints.d.ts +45 -0
  79. package/dist/lint/pre-write-hints.d.ts.map +1 -0
  80. package/dist/lint/pre-write-hints.js +145 -0
  81. package/dist/lint/pre-write-hints.js.map +1 -0
  82. package/dist/server/audit.d.ts +27 -1
  83. package/dist/server/audit.d.ts.map +1 -1
  84. package/dist/server/audit.js.map +1 -1
  85. package/dist/server/auth-rate-limit.d.ts +78 -0
  86. package/dist/server/auth-rate-limit.d.ts.map +1 -0
  87. package/dist/server/auth-rate-limit.js +95 -0
  88. package/dist/server/auth-rate-limit.js.map +1 -0
  89. package/dist/server/config.d.ts.map +1 -1
  90. package/dist/server/config.js +32 -0
  91. package/dist/server/config.js.map +1 -1
  92. package/dist/server/http.d.ts.map +1 -1
  93. package/dist/server/http.js +73 -2
  94. package/dist/server/http.js.map +1 -1
  95. package/dist/server/mcp-rate-limit.d.ts +69 -0
  96. package/dist/server/mcp-rate-limit.d.ts.map +1 -0
  97. package/dist/server/mcp-rate-limit.js +92 -0
  98. package/dist/server/mcp-rate-limit.js.map +1 -0
  99. package/dist/server/server.d.ts +26 -6
  100. package/dist/server/server.d.ts.map +1 -1
  101. package/dist/server/server.js +87 -28
  102. package/dist/server/server.js.map +1 -1
  103. package/dist/server/types.d.ts +20 -1
  104. package/dist/server/types.d.ts.map +1 -1
  105. package/dist/server/types.js +2 -0
  106. package/dist/server/types.js.map +1 -1
  107. package/package.json +14 -12
@@ -155,8 +155,34 @@ export interface CorsRejectedEvent extends AuditEventBase {
155
155
  /** Request path, e.g. `/mcp`, `/register`, `/authorize`. */
156
156
  path: string;
157
157
  }
158
+ /** Layer 1: a per-IP HTTP-edge rate limit fired. Either OAuth (`/register`, `/authorize`,
159
+ * `/token`, `/revoke`) or `/mcp` (pre-bearer-auth probing). Returned a 429 with
160
+ * `Retry-After` and RFC 9331 `RateLimit-*` headers. See docs_page/rate-limiting.md. */
161
+ export interface AuthRateLimitedEvent extends AuditEventBase {
162
+ event: 'auth_rate_limited';
163
+ /** Endpoint that triggered — '/register' | '/authorize' | '/token' | '/revoke' | '/mcp'. */
164
+ endpoint: string;
165
+ /** Client IP after `trust proxy 1` resolution. May be attacker-controlled. */
166
+ ip: string;
167
+ /** Configured per-minute cap for this endpoint at the time of denial. */
168
+ limitPerMinute: number;
169
+ }
170
+ /** Layer 2: a per-user MCP tool-call rate limit fired. Returned an MCP tool error with
171
+ * `retryAfter` (not HTTP 429), so the LLM client surfaces it as a tool failure and
172
+ * the agent loop backs off. See docs_page/rate-limiting.md. */
173
+ export interface McpRateLimitedEvent extends AuditEventBase {
174
+ event: 'mcp_rate_limited';
175
+ /** Resolved user key: `authInfo.userName ?? clientId ?? '__anon__'`. */
176
+ user: string;
177
+ /** MCP tool that was denied (e.g. 'SAPRead', 'SAPWrite'). */
178
+ tool: string;
179
+ /** Configured per-user per-minute cap at the time of denial. */
180
+ limitPerMinute: number;
181
+ /** Milliseconds until the bucket refills enough for the next call. */
182
+ retryAfterMs: number;
183
+ }
158
184
  /** Discriminated union of all audit events */
159
- export type AuditEvent = ToolCallStartEvent | ToolCallEndEvent | HttpRequestEvent | HttpCsrfFetchEvent | AuthScopeDeniedEvent | AuthPPCreatedEvent | SafetyBlockedEvent | ServerStartEvent | ElicitationSentEvent | ElicitationResponseEvent | ActivationPreauditEvent | OAuthClientRegisteredEvent | OAuthClientLookupFailedEvent | OAuthRedirectUriRegisteredEvent | CorsRejectedEvent;
185
+ export type AuditEvent = ToolCallStartEvent | ToolCallEndEvent | HttpRequestEvent | HttpCsrfFetchEvent | AuthScopeDeniedEvent | AuthPPCreatedEvent | SafetyBlockedEvent | ServerStartEvent | ElicitationSentEvent | ElicitationResponseEvent | ActivationPreauditEvent | OAuthClientRegisteredEvent | OAuthClientLookupFailedEvent | OAuthRedirectUriRegisteredEvent | CorsRejectedEvent | AuthRateLimitedEvent | McpRateLimitedEvent;
160
186
  /** Sanitize tool call arguments — remove values that might contain sensitive data */
161
187
  export declare function sanitizeArgs(args: Record<string, unknown>): Record<string, unknown>;
162
188
  //# sourceMappingURL=audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyLH,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,aAAa,GAAG;QACpB,UAAU;QACV,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,MAAM;QACN,QAAQ;QACR,SAAS;QACT,WAAW;QACX,gBAAgB;KACjB,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuNH,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,aAAa,GAAG;QACpB,UAAU;QACV,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,MAAM;QACN,QAAQ;QACR,SAAS;QACT,WAAW;QACX,gBAAgB;KACjB,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Layer 1 — HTTP-edge per-IP rate limiter.
3
+ *
4
+ * Mounted in `src/server/http.ts` on `/register`, `/authorize`, `/token`, `/revoke`,
5
+ * and `/mcp`. Closes the OAuth surface against brute-force / probing and the `/mcp`
6
+ * surface against anonymous probing of the pre-bearer-auth path. CodeQL alert #12
7
+ * (`js/missing-rate-limiting`) is resolved by this module's mount.
8
+ *
9
+ * Design choices:
10
+ * - Per-IP, in-memory only — multi-instance attackers cost `limit × instances`. We
11
+ * accept that trade-off to preserve the stateless-deployment property from PR #212.
12
+ * - The operator-facing knob is a single per-minute baseline (`ARC1_AUTH_RATE_LIMIT`,
13
+ * default 20). Per-endpoint differentiation is done at the mount site in http.ts:
14
+ * OAuth endpoints all use the baseline; `/mcp` gets a higher cap to absorb
15
+ * legitimate batch tool-call traffic.
16
+ * - On limit hit, emits a typed `auth_rate_limited` audit event BEFORE responding so
17
+ * the security event stream captures the denial regardless of response timing.
18
+ * - Uses `standardHeaders: 'draft-7'` for RFC 9331 / draft-ietf-httpapi-ratelimit
19
+ * headers (`RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`).
20
+ */
21
+ import type { Request, RequestHandler, Response } from 'express';
22
+ /**
23
+ * Optional knobs for `createAuthRateLimiter`.
24
+ *
25
+ * `skip` is the only one currently — used to layer two limiters on the same
26
+ * route (`/authorize`) where one skips JSON-RPC bodies and the other only
27
+ * applies to JSON-RPC bodies. See http.ts for the Copilot Studio rationale.
28
+ * Passing a `skip` function is preferred over building an outer conditional
29
+ * dispatcher: CodeQL's `js/missing-rate-limiting` query only recognises
30
+ * `app.use(path, rateLimit({...}))` patterns where the second argument is
31
+ * directly a `rateLimit({...})` result. Going through an inline arrow
32
+ * function with branch-based delegation re-opens the alert.
33
+ */
34
+ export interface AuthRateLimiterOptions {
35
+ skip?: (req: Request, res: Response) => boolean;
36
+ }
37
+ /**
38
+ * Build a per-IP rate limiter for one endpoint. The returned middleware:
39
+ * - allows `perMinute` requests per minute per IP (60_000 ms window),
40
+ * - returns HTTP 429 with `Retry-After` and RFC 9331 `RateLimit-*` headers on hit,
41
+ * - emits a typed `auth_rate_limited` audit event on every denial,
42
+ * - honors an optional `skip` predicate so the same Express route can stack
43
+ * two limiters (one for OAuth bodies, one for Copilot Studio MCP JSON-RPC).
44
+ *
45
+ * `endpoint` is used only for the audit event label and for diagnostic logs;
46
+ * the path-based mount in Express is done by the caller.
47
+ *
48
+ * Operators disable Layer 1 by setting `ARC1_AUTH_RATE_LIMIT=0`, which makes
49
+ * `http.ts` skip the `app.use(…)` mount entirely — there is intentionally no
50
+ * "noop middleware" path here. Keeping the dataflow `rateLimit({…}) → app.use`
51
+ * direct lets CodeQL's `js/missing-rate-limiting` query close cleanly.
52
+ */
53
+ export declare function createAuthRateLimiter(endpoint: string, perMinute: number, opts?: AuthRateLimiterOptions): RequestHandler;
54
+ /**
55
+ * Detect Copilot Studio MCP JSON-RPC requests sent to `/authorize`.
56
+ *
57
+ * Copilot Studio POSTs JSON-RPC tool calls to `/authorize` (a known quirk of
58
+ * that MCP client). On `/authorize`, this predicate is used in two limiter
59
+ * mounts: the OAuth-cap limiter `skip`s when this is true; the MCP-cap
60
+ * limiter `skip`s when this is false. The pair gives JSON-RPC traffic the
61
+ * higher `/mcp` cap while real OAuth flows stay on the OAuth cap.
62
+ *
63
+ * Critically, this predicate MUST agree with the routing handler in `http.ts`
64
+ * that actually dispatches the request to either the OAuth flow or the MCP
65
+ * handler. The handler uses `req.body?.jsonrpc` — a truthiness check that
66
+ * rejects falsy values (`''`, `0`, `null`). We mirror that exactly:
67
+ * presence + truthiness. Earlier code used a presence-only check, which let
68
+ * a request like `{"jsonrpc": ""}` skip the OAuth limiter (presence true =
69
+ * "Copilot traffic, use MCP cap") AND get routed as a normal OAuth request
70
+ * (truthiness false = "not Copilot, run OAuth"), producing a 30× rate-limit
71
+ * bypass on `/authorize`. The predicate and the routing handler are now
72
+ * defined identically and `http.ts` reuses this function in both places.
73
+ *
74
+ * Exported so http.ts AND its tests use the exact same predicate — drift
75
+ * here would silently re-introduce the bypass.
76
+ */
77
+ export declare function isCopilotJsonRpc(req: Request): boolean;
78
+ //# sourceMappingURL=auth-rate-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-rate-limit.d.ts","sourceRoot":"","sources":["../../src/server/auth-rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC;CACjD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,sBAA2B,GAChC,cAAc,CA0BhB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAItD"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Layer 1 — HTTP-edge per-IP rate limiter.
3
+ *
4
+ * Mounted in `src/server/http.ts` on `/register`, `/authorize`, `/token`, `/revoke`,
5
+ * and `/mcp`. Closes the OAuth surface against brute-force / probing and the `/mcp`
6
+ * surface against anonymous probing of the pre-bearer-auth path. CodeQL alert #12
7
+ * (`js/missing-rate-limiting`) is resolved by this module's mount.
8
+ *
9
+ * Design choices:
10
+ * - Per-IP, in-memory only — multi-instance attackers cost `limit × instances`. We
11
+ * accept that trade-off to preserve the stateless-deployment property from PR #212.
12
+ * - The operator-facing knob is a single per-minute baseline (`ARC1_AUTH_RATE_LIMIT`,
13
+ * default 20). Per-endpoint differentiation is done at the mount site in http.ts:
14
+ * OAuth endpoints all use the baseline; `/mcp` gets a higher cap to absorb
15
+ * legitimate batch tool-call traffic.
16
+ * - On limit hit, emits a typed `auth_rate_limited` audit event BEFORE responding so
17
+ * the security event stream captures the denial regardless of response timing.
18
+ * - Uses `standardHeaders: 'draft-7'` for RFC 9331 / draft-ietf-httpapi-ratelimit
19
+ * headers (`RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`).
20
+ */
21
+ import { rateLimit } from 'express-rate-limit';
22
+ import { logger } from './logger.js';
23
+ /**
24
+ * Build a per-IP rate limiter for one endpoint. The returned middleware:
25
+ * - allows `perMinute` requests per minute per IP (60_000 ms window),
26
+ * - returns HTTP 429 with `Retry-After` and RFC 9331 `RateLimit-*` headers on hit,
27
+ * - emits a typed `auth_rate_limited` audit event on every denial,
28
+ * - honors an optional `skip` predicate so the same Express route can stack
29
+ * two limiters (one for OAuth bodies, one for Copilot Studio MCP JSON-RPC).
30
+ *
31
+ * `endpoint` is used only for the audit event label and for diagnostic logs;
32
+ * the path-based mount in Express is done by the caller.
33
+ *
34
+ * Operators disable Layer 1 by setting `ARC1_AUTH_RATE_LIMIT=0`, which makes
35
+ * `http.ts` skip the `app.use(…)` mount entirely — there is intentionally no
36
+ * "noop middleware" path here. Keeping the dataflow `rateLimit({…}) → app.use`
37
+ * direct lets CodeQL's `js/missing-rate-limiting` query close cleanly.
38
+ */
39
+ export function createAuthRateLimiter(endpoint, perMinute, opts = {}) {
40
+ return rateLimit({
41
+ windowMs: 60_000,
42
+ max: perMinute,
43
+ standardHeaders: 'draft-7',
44
+ legacyHeaders: false,
45
+ // Explicit keyGenerator: rely on Express's req.ip after `trust proxy 1` (set in http.ts).
46
+ // Operators running behind multiple proxy hops must increase the trust-proxy count there.
47
+ keyGenerator: (req) => req.ip ?? 'unknown',
48
+ skip: opts.skip,
49
+ handler: (req, res, _next, options) => {
50
+ const ip = req.ip ?? 'unknown';
51
+ logger.emitAudit({
52
+ timestamp: new Date().toISOString(),
53
+ level: 'warn',
54
+ event: 'auth_rate_limited',
55
+ endpoint,
56
+ ip,
57
+ limitPerMinute: perMinute,
58
+ });
59
+ res.status(options.statusCode).json({
60
+ error: 'rate_limited',
61
+ message: `Too many requests to ${endpoint} from ${ip}. Limit: ${perMinute}/min.`,
62
+ });
63
+ },
64
+ });
65
+ }
66
+ /**
67
+ * Detect Copilot Studio MCP JSON-RPC requests sent to `/authorize`.
68
+ *
69
+ * Copilot Studio POSTs JSON-RPC tool calls to `/authorize` (a known quirk of
70
+ * that MCP client). On `/authorize`, this predicate is used in two limiter
71
+ * mounts: the OAuth-cap limiter `skip`s when this is true; the MCP-cap
72
+ * limiter `skip`s when this is false. The pair gives JSON-RPC traffic the
73
+ * higher `/mcp` cap while real OAuth flows stay on the OAuth cap.
74
+ *
75
+ * Critically, this predicate MUST agree with the routing handler in `http.ts`
76
+ * that actually dispatches the request to either the OAuth flow or the MCP
77
+ * handler. The handler uses `req.body?.jsonrpc` — a truthiness check that
78
+ * rejects falsy values (`''`, `0`, `null`). We mirror that exactly:
79
+ * presence + truthiness. Earlier code used a presence-only check, which let
80
+ * a request like `{"jsonrpc": ""}` skip the OAuth limiter (presence true =
81
+ * "Copilot traffic, use MCP cap") AND get routed as a normal OAuth request
82
+ * (truthiness false = "not Copilot, run OAuth"), producing a 30× rate-limit
83
+ * bypass on `/authorize`. The predicate and the routing handler are now
84
+ * defined identically and `http.ts` reuses this function in both places.
85
+ *
86
+ * Exported so http.ts AND its tests use the exact same predicate — drift
87
+ * here would silently re-introduce the bypass.
88
+ */
89
+ export function isCopilotJsonRpc(req) {
90
+ if (req.method !== 'POST')
91
+ return false;
92
+ const body = req.body;
93
+ return body != null && Boolean(body.jsonrpc);
94
+ }
95
+ //# sourceMappingURL=auth-rate-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-rate-limit.js","sourceRoot":"","sources":["../../src/server/auth-rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAkBrC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,SAAiB,EACjB,OAA+B,EAAE;IAEjC,OAAO,SAAS,CAAC;QACf,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,SAAS;QACd,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,KAAK;QACpB,0FAA0F;QAC1F,0FAA0F;QAC1F,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS;QAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC;YAC/B,MAAM,CAAC,SAAS,CAAC;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ;gBACR,EAAE;gBACF,cAAc,EAAE,SAAS;aAC1B,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,wBAAwB,QAAQ,SAAS,EAAE,YAAY,SAAS,OAAO;aACjF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAyC,CAAC;IAC3D,OAAO,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAiB,YAAY,EAAiB,MAAM,YAAY,CAAC;AAG3F;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA2E1D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BjF;AAwDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAsU7G;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAEtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAkDzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAiB,YAAY,EAAiB,MAAM,YAAY,CAAC;AAG3F;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA2E1D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BjF;AAwDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAwW7G;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAEtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAkDzD"}
@@ -422,6 +422,38 @@ export function resolveConfig(args) {
422
422
  const parsed = Number.parseInt(maxConcurrent, 10);
423
423
  config.maxConcurrent = Number.isNaN(parsed) || parsed < 1 ? 1 : parsed;
424
424
  }
425
+ // ── Rate limiting (Layer 1 + Layer 2) ──────────────────────────────
426
+ // Both knobs accept a positive integer (requests per minute) or `0` to disable.
427
+ // Malformed input → log warning, keep default. See docs_page/rate-limiting.md.
428
+ const authRateLimitRaw = getFlag('auth-rate-limit') ?? process.env.ARC1_AUTH_RATE_LIMIT;
429
+ if (authRateLimitRaw !== undefined) {
430
+ const parsed = Number.parseInt(authRateLimitRaw, 10);
431
+ if (Number.isNaN(parsed) || parsed < 0 || String(parsed) !== authRateLimitRaw.trim()) {
432
+ logger.warn(`Invalid ARC1_AUTH_RATE_LIMIT='${authRateLimitRaw}' — expected positive integer or 0. Using default 20.`);
433
+ }
434
+ else {
435
+ config.authRateLimit = parsed;
436
+ sources.authRateLimit =
437
+ getFlag('auth-rate-limit') !== undefined ? { flag: '--auth-rate-limit' } : { env: 'ARC1_AUTH_RATE_LIMIT' };
438
+ }
439
+ }
440
+ else {
441
+ sources.authRateLimit = 'default';
442
+ }
443
+ const rateLimitRaw = getFlag('rate-limit') ?? process.env.ARC1_RATE_LIMIT;
444
+ if (rateLimitRaw !== undefined) {
445
+ const parsed = Number.parseInt(rateLimitRaw, 10);
446
+ if (Number.isNaN(parsed) || parsed < 0 || String(parsed) !== rateLimitRaw.trim()) {
447
+ logger.warn(`Invalid ARC1_RATE_LIMIT='${rateLimitRaw}' — expected positive integer or 0. Using default 0 (Layer 2 disabled).`);
448
+ }
449
+ else {
450
+ config.rateLimit = parsed;
451
+ sources.rateLimit = getFlag('rate-limit') !== undefined ? { flag: '--rate-limit' } : { env: 'ARC1_RATE_LIMIT' };
452
+ }
453
+ }
454
+ else {
455
+ sources.rateLimit = 'default';
456
+ }
425
457
  // ── CORS (browser-based MCP clients only) ──────────────────────────
426
458
  // Empty allowlist (the default) disables CORS. Native MCP clients don't need
427
459
  // this — only set when a browser UI calls /mcp directly.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAe5C,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,MAAM,EAAE;QACN,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE;YACN,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,KAAK;SACtB;KACF;IACD,aAAa,EAAE;QACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE;YACN,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,KAAK;SACtB;KACF;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;QAC/B,MAAM,EAAE;YACN,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,KAAK;SACtB;KACF;IACD,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;QAC9C,MAAM,EAAE;YACN,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,CAAC,MAAM,CAAC;SAC1B;KACF;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;QACtD,MAAM,EAAE;YACN,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,CAAC,MAAM,CAAC;SAC1B;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;QAC7D,MAAM,EAAE;YACN,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,CAAC,MAAM,CAAC;SAC1B;KACF;IACD,KAAK,EAAE;QACL,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC;QACtE,MAAM,EAAE;YACN,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,EAAE;SACpB;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,0BAA0B,OAAO,oCAAoC;gBACnE,mBAAmB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,uCAAuC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mEAAmE;AACnE,MAAM,eAAe,GAA2B;IAC9C,aAAa,EAAE,sFAAsF;IACrG,cAAc,EACZ,yGAAyG;IAC3G,kBAAkB,EAAE,iGAAiG;IACrH,qBAAqB,EACnB,oJAAoJ;IACtJ,cAAc,EACZ,kIAAkI;IACpI,eAAe,EACb,qJAAqJ;IACvJ,kBAAkB,EAAE,8DAA8D;IAClF,YAAY,EACV,4GAA4G;IAC9G,YAAY,EACV,iLAAiL;CACpL,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,WAAW,EAAE,eAAe,CAAC,aAAa;IAC1C,YAAY,EAAE,eAAe,CAAC,cAAc;IAC5C,gBAAgB,EAAE,eAAe,CAAC,kBAAkB;IACpD,mBAAmB,EAAE,eAAe,CAAC,qBAAqB;IAC1D,YAAY,EAAE,eAAe,CAAC,cAAc;IAC5C,aAAa,EAAE,eAAe,CAAC,eAAe;IAC9C,gBAAgB,EAAE,eAAe,CAAC,kBAAkB;IACpD,OAAO,EAAE,eAAe,CAAC,YAAY;IACrC,SAAS,EAAE,eAAe,CAAC,YAAY;CACxC,CAAC;AAEF,gFAAgF;AAChF,SAAS,kBAAkB,CAAC,IAAc;IACxC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4DAA4D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,wGAAwG,CAC1L,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,OAAO,GAAiC,EAAE,CAAC;IAEjD,sEAAsE;IACtE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE;QACnD,MAAM,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,UAAkB,EAAE,SAAiB,EAAU,EAAE;QACjG,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAW,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,UAAmB,EAAE,SAAiB,EAAW,EAAE;QACpG,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC3C,OAAO,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,GAAG,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,SAAiB,EAAiB,EAAE;QACxF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACrC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,MAAM,CAAC;YACvD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,SAAiB,EAAsB,EAAE;QACjG,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAE7E,sEAAsE;IACtE,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,CAAC,YAAY,GAAG,kBAAkB,CAAC,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;IAE/F,sEAAsE;IACtE,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACjF,MAAM,CAAC,SAAS,GAAG,CAAC,SAAS,KAAK,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAkB,CAAC;IACpG,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC5E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC7C,CAAC;SAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;IACrH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,yCAAyC,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,MAAM,CAAC,QAAQ,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAC/F,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC3F,MAAM,CAAC,gBAAgB,GAAG,WAAW,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACjH,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACjG,MAAM,CAAC,oBAAoB,GAAG,WAAW,CACvC,wBAAwB,EACxB,4BAA4B,EAC5B,KAAK,EACL,sBAAsB,CACvB,CAAC;IACF,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEzG,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC7E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CACT,yIAAyI,EACzI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAChC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,OAAO,CAAC,eAAe;YACrB,OAAO,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;IACjH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACvF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,iBAAiB,GAAG,UAAU;aAClC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,iBAAiB;YACvB,OAAO,CAAC,oBAAoB,CAAC,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;gBAClC,CAAC,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACxC,CAAC;IAED,sEAAsE;IACtE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC/E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GACZ,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9B,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAChD,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,OAAO,CAAC,WAAW,GAAG,QAAQ;YAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;YACjE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;gBAC5B,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAClC,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACnG,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACvF,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACnF,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACvF,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACnF,MAAM,CAAC,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;IAC3G,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACvF,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACnG,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAEnF,sEAAsE;IACtE,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACtF,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAA+B,CAAC;IACjH,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC,cAAc,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAE3F,sEAAsE;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACpE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;IAC1G,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,CAAC,YAAY,GAAG,kBAAkB,CAAC,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;IAC/F,MAAM,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAC/F,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEnF,kEAAkE;IAClE,yEAAyE;IACzE,iEAAiE;IACjE,wEAAwE;IACxE,uEAAuE;IACvE,kEAAkE;IAClE,uDAAuD;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC7F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChB,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC9B,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,kBAAkB;gBACxB,OAAO,CAAC,uBAAuB,CAAC,KAAK,SAAS;oBAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;oBACrC,CAAC,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,uEAAuE;IACvE,kEAAkE;IAClE,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,kBAAkB,CAAC,CAAC;IAElH,sEAAsE;IACtE,MAAM,CAAC,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,eAAe,CAAC,CAAC;IACrG,MAAM,CAAC,iBAAiB,GAAG,kBAAkB,CAC3C,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,CACpB,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,yBAAyB,EAAE,6BAA6B,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACjH,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAE/D,sEAAsE;IACtE,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,CAAC,oBAAoB,GAAG,WAAW,CACvC,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,EACL,sBAAsB,CACvB,CAAC;IAEF,sEAAsE;IACtE,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAE7F,sEAAsE;IACtE,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACnF,MAAM,CAAC,QAAQ,GAAG,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAA6B,CAAC;IAE1G,sEAAsE;IACtE,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACvG,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC5G,MAAM,CAAC,gBAAgB,GAAG,WAAW,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAEjH,sEAAsE;IACtE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,GAAG,CACjB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CACzC,CAAC;IAC/B,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC9F,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5F,MAAM,CAAC,mBAAmB,GAAG,UAAU,CACrC,uBAAuB,EACvB,4BAA4B,EAC5B,EAAE,EACF,qBAAqB,CACtB,CAAC;IAEF,sEAAsE;IACtE,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACnF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;IAED,sEAAsE;IACtE,gFAAgF;IAChF,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACxF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;YACrF,MAAM,CAAC,IAAI,CACT,iCAAiC,gBAAgB,uDAAuD,CACzG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;YAC9B,OAAO,CAAC,aAAa;gBACnB,OAAO,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;QAC/G,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CACT,4BAA4B,YAAY,yEAAyE,CAClH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;YAC1B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;QAClH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAClF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,cAAc,GAAG,UAAU;aAC/B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,cAAc;YACpB,OAAO,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;IAC/G,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,CAAC,QAAQ,GAAG,CAChB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAC9C,CAAC;IAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,CAAC,SAAS,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAA8B,CAAC;IAEzF,sEAAsE;IACtE,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;IAE9C,sEAAsE;IACtE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,8DAA8D;YAC5D,8EAA8E,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE9E,IAAI,MAAM,CAAC,SAAS,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,mIAAmI;YACjI,mJAAmJ,CACtJ,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mKAAmK,CACpK,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CACX,4NAA4N,CAC7N,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CACX,mLAAmL,CACpL,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAIrF,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAoCnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CA6DhG;AAuCD;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC,CAqQf;AA2GD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiC5E"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAIrF,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAoCnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CA6DhG;AAuCD;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC,CA+Uf;AA2GD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiC5E"}
@@ -186,6 +186,26 @@ export async function startHttpServer(serverFactory, config, xsuaaCredentials) {
186
186
  // and correct client IP detection behind CF's reverse proxy.
187
187
  app.set('trust proxy', 1);
188
188
  applySecurityMiddleware(app, config.allowedOrigins);
189
+ // ─── Layer 1: HTTP-edge rate limiter helper ──────────────────────────
190
+ // One operator-facing knob (`ARC1_AUTH_RATE_LIMIT`, default 20/min/IP) controls all
191
+ // OAuth endpoints uniformly. `/mcp` gets `max(value × 30, 600)/min/IP` so legitimate
192
+ // batched tool-call traffic isn't choked while pre-bearer-auth probing is still gated.
193
+ // Per-endpoint differentiation lives here, not in env, so the operator surface stays tiny.
194
+ // See docs_page/rate-limiting.md (Layer 1) and ADR-0004.
195
+ //
196
+ // Implementation note: the limiter is mounted DIRECTLY via createAuthRateLimiter →
197
+ // express-rate-limit. The disabled path skips the mount entirely rather than going
198
+ // through a noop indirection — this keeps the dataflow `rateLimit({...}) → app.use`
199
+ // direct and makes CodeQL's `js/missing-rate-limiting` query close cleanly.
200
+ const { createAuthRateLimiter, isCopilotJsonRpc } = await import('./auth-rate-limit.js');
201
+ const rateLimitEnabled = config.authRateLimit > 0;
202
+ const mcpRatePerMinute = rateLimitEnabled ? Math.max(config.authRateLimit * 30, 600) : 0;
203
+ logger.info('Auth rate limiting', {
204
+ perMinute: config.authRateLimit,
205
+ mcpPerMinute: mcpRatePerMinute,
206
+ endpoints: rateLimitEnabled ? ['/register', '/authorize', '/token', '/revoke', '/mcp'] : [],
207
+ disabled: !rateLimitEnabled,
208
+ });
189
209
  app.use(express.json());
190
210
  app.use(express.urlencoded({ extended: false }));
191
211
  const mcpHandler = createMcpHandler(serverFactory);
@@ -232,6 +252,42 @@ export async function startHttpServer(serverFactory, config, xsuaaCredentials) {
232
252
  verifier: { verifyAccessToken: chainedVerifier },
233
253
  resourceMetadataUrl,
234
254
  });
255
+ // ─── Layer 1: per-IP rate limiters on OAuth endpoints + /mcp ────────
256
+ // Mounted BEFORE the auth router so spammed credentials are rejected before any
257
+ // crypto / DB work. Discovery endpoints (/.well-known/*) are intentionally NOT
258
+ // rate-limited — they're cheap, cacheable, and legitimate clients hit them on
259
+ // every reconnect. See docs_page/rate-limiting.md.
260
+ //
261
+ // Every `app.use(path, …)` here receives a fresh `rateLimit({...})` middleware
262
+ // DIRECTLY. No conditional dispatchers, no helper wrappers. CodeQL's
263
+ // `js/missing-rate-limiting` query only recognises that exact pattern; going
264
+ // through an inline arrow function with branch-based delegation makes it
265
+ // re-open the alert (verified — see PR #276 review history).
266
+ //
267
+ // Copilot Studio quirk: that client POSTs MCP JSON-RPC bodies to `/authorize`
268
+ // (see routing handler below). To stop those tool calls being choked at the
269
+ // low OAuth cap, we mount TWO limiters on `/authorize`:
270
+ // 1. OAuth cap, with `skip` returning true for Copilot JSON-RPC traffic.
271
+ // 2. /mcp cap, with `skip` returning true for everything BUT Copilot JSON-RPC.
272
+ // Each request hits one bucket — the OAuth bucket for real OAuth flows, the
273
+ // higher /mcp bucket for Copilot. The `isCopilotJsonRpc` predicate is shared
274
+ // with auth-rate-limit.ts so the two mounts can never drift.
275
+ //
276
+ // Trade-off: the /authorize-JSON-RPC bucket is a separate store from the
277
+ // direct /mcp bucket. An attacker alternating routes effectively gets
278
+ // `mcpCap + mcpCap = 2 × mcpCap`/min/IP. At default config that's still
279
+ // 1200/min, well below abuse thresholds. Sharing the store would require
280
+ // injecting a custom MemoryStore into both `rateLimit({...})` calls — not
281
+ // worth the complexity for a 2× headroom on an already loose cap.
282
+ if (rateLimitEnabled) {
283
+ app.use('/register', createAuthRateLimiter('/register', config.authRateLimit));
284
+ // /authorize OAuth limiter — skips Copilot Studio MCP JSON-RPC traffic.
285
+ app.use('/authorize', createAuthRateLimiter('/authorize', config.authRateLimit, { skip: isCopilotJsonRpc }));
286
+ // /authorize MCP limiter — only applies to Copilot Studio JSON-RPC; uses /mcp cap.
287
+ app.use('/authorize', createAuthRateLimiter('/mcp', mcpRatePerMinute, { skip: (req) => !isCopilotJsonRpc(req) }));
288
+ app.use('/token', createAuthRateLimiter('/token', config.authRateLimit));
289
+ app.use('/revoke', createAuthRateLimiter('/revoke', config.authRateLimit));
290
+ }
235
291
  // ─── OAuth authorize normalization + Copilot Studio MCP workaround ──
236
292
  // Copilot Studio sends MCP JSON-RPC requests to /authorize instead of
237
293
  // /mcp after completing the OAuth flow. When we detect a JSON-RPC body
@@ -241,8 +297,11 @@ export async function startHttpServer(serverFactory, config, xsuaaCredentials) {
241
297
  // For normal OAuth requests, merge query params into body as fallback
242
298
  // (some clients send POST /authorize with params in query string).
243
299
  app.use('/authorize', (req, res, next) => {
244
- // Detect MCP JSON-RPC on /authorize (Copilot Studio quirk)
245
- if (req.method === 'POST' && req.body?.jsonrpc) {
300
+ // Detect MCP JSON-RPC on /authorize (Copilot Studio quirk). Reuses the
301
+ // exact same predicate as the rate-limit skip()s above — the two MUST
302
+ // agree, otherwise a request that one path treats as Copilot and the
303
+ // other treats as OAuth slips through the wrong rate-limit bucket.
304
+ if (isCopilotJsonRpc(req)) {
246
305
  logger.info('MCP JSON-RPC on /authorize, routing to MCP handler', {
247
306
  rpcMethod: req.body.method,
248
307
  id: req.body.id,
@@ -354,6 +413,12 @@ export async function startHttpServer(serverFactory, config, xsuaaCredentials) {
354
413
  scopesSupported,
355
414
  resourceName: 'ARC-1 SAP MCP Server',
356
415
  }));
416
+ // Layer 1: rate-limit /mcp BEFORE bearer auth so anonymous probing is gated.
417
+ // Direct `app.use(path, rateLimit({...}))` mount — no helper indirection —
418
+ // so CodeQL's `js/missing-rate-limiting` query sees the dataflow cleanly.
419
+ if (rateLimitEnabled) {
420
+ app.use('/mcp', createAuthRateLimiter('/mcp', mcpRatePerMinute));
421
+ }
357
422
  // Protected MCP endpoint with chained token verification
358
423
  app.all('/mcp', bearerAuth, mcpHandler);
359
424
  logger.info('XSUAA OAuth proxy enabled', {
@@ -366,6 +431,12 @@ export async function startHttpServer(serverFactory, config, xsuaaCredentials) {
366
431
  if (config.oidcIssuer) {
367
432
  await initJwks(config.oidcIssuer);
368
433
  }
434
+ // Layer 1 on /mcp also applies outside XSUAA mode — API-key / OIDC / no-auth
435
+ // deployments get the same anonymous-probing protection. OAuth endpoints don't
436
+ // exist in non-XSUAA mode so only /mcp needs mounting here.
437
+ if (rateLimitEnabled) {
438
+ app.use('/mcp', createAuthRateLimiter('/mcp', mcpRatePerMinute));
439
+ }
369
440
  if (config.apiKeys || config.oidcIssuer) {
370
441
  // Use requireBearerAuth so that authInfo is populated on the MCP request context.
371
442
  // This enables scope enforcement, per-request safety, and principal propagation.
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}