@terreno/mcp 57.19.2 → 57.20.0

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 (197) hide show
  1. package/CHANGELOG.md +393 -0
  2. package/README.md +32 -269
  3. package/dist/bootstrap.d.ts +12 -0
  4. package/dist/bootstrap.d.ts.map +1 -1
  5. package/dist/bootstrap.js +77 -122
  6. package/dist/bootstrap.js.map +1 -1
  7. package/dist/docs/guidelines/ui/guidelines/core.md +1 -1
  8. package/dist/docs/resources/overview.md +4 -2
  9. package/dist/docs/resources/patterns.md +237 -176
  10. package/dist/docs/resources/ui.md +48 -17
  11. package/dist/docs/templates/bootstrap/frontend/app/(tabs)/profile.template.tsx +0 -26
  12. package/dist/docs/templates/bootstrap/frontend/app/_layout.template.tsx +3 -2
  13. package/dist/docs/templates/bootstrap/frontend/app/login.template.tsx +1 -1
  14. package/dist/docs/upgrades/57.20.0.md +238 -0
  15. package/dist/docs/versioned/next/approval-rubric.md +30 -12
  16. package/dist/docs/versioned/next/explanation/README.md +5 -0
  17. package/dist/docs/versioned/next/explanation/account-linking.md +169 -0
  18. package/dist/docs/versioned/next/explanation/admin-interface.md +1 -1
  19. package/dist/docs/versioned/next/explanation/agent-guidelines.md +173 -0
  20. package/dist/docs/versioned/next/explanation/ai-development-loop.md +196 -0
  21. package/dist/docs/versioned/next/explanation/authentication.md +45 -1
  22. package/dist/docs/versioned/next/explanation/consent-forms.md +105 -0
  23. package/dist/docs/versioned/next/explanation/example-coverage.md +1 -0
  24. package/dist/docs/versioned/next/explanation/local-first-data.md +1 -1
  25. package/dist/docs/versioned/next/explanation/organizations.md +37 -0
  26. package/dist/docs/versioned/next/explanation/planning-plugins.md +4 -0
  27. package/dist/docs/versioned/next/explanation/responsive-design.md +143 -0
  28. package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +11 -0
  29. package/dist/docs/versioned/next/explanation/schema-metadata.md +5 -0
  30. package/dist/docs/versioned/next/how-to/README.md +7 -2
  31. package/dist/docs/versioned/next/how-to/audit-log.md +22 -3
  32. package/dist/docs/versioned/next/how-to/automate-terreno-upgrades.md +169 -0
  33. package/dist/docs/versioned/next/how-to/build-list-detail-screens.md +160 -0
  34. package/dist/docs/versioned/next/how-to/circleci.md +15 -5
  35. package/dist/docs/versioned/next/how-to/configure-better-auth.md +673 -53
  36. package/dist/docs/versioned/next/how-to/create-a-terreno-app.md +8 -5
  37. package/dist/docs/versioned/next/how-to/debug-with-mcp.md +393 -23
  38. package/dist/docs/versioned/next/how-to/enable-mcp-oauth.md +54 -3
  39. package/dist/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +9 -0
  40. package/dist/docs/versioned/next/how-to/password-reset.md +1 -1
  41. package/dist/docs/versioned/next/how-to/recover-locked-out-user.md +112 -0
  42. package/dist/docs/versioned/next/how-to/run-tests-locally.md +37 -8
  43. package/dist/docs/versioned/next/how-to/set-up-social-login.md +424 -0
  44. package/dist/docs/versioned/next/how-to/set-up-terreno-mcp.md +241 -36
  45. package/dist/docs/versioned/next/how-to/sign-consent-on-behalf.md +139 -0
  46. package/dist/docs/versioned/next/how-to/upgrade-terreno.md +4 -0
  47. package/dist/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +47 -32
  48. package/dist/docs/versioned/next/implementationPlans/auth-experience.md +952 -0
  49. package/dist/docs/versioned/next/implementationPlans/consent-forms.md +8 -0
  50. package/dist/docs/versioned/next/implementationPlans/list-detail-layout.md +297 -0
  51. package/dist/docs/versioned/next/implementationPlans/login-redesign/HANDOFF.md +211 -0
  52. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/AnotherWay.html +121 -0
  53. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/BackupCode.html +72 -0
  54. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/Cancelled.html +87 -0
  55. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/ContinueEmail.html +64 -0
  56. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/FirstVisit.html +81 -0
  57. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/Main.html +88 -0
  58. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/ManageAccounts.html +77 -0
  59. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/NotLinked.html +92 -0
  60. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/SigningIn.html +60 -0
  61. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactor.html +76 -0
  62. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactorError.html +81 -0
  63. package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/WrongPassword.html +69 -0
  64. package/dist/docs/versioned/next/implementationPlans/mcp-boost-parity.md +1 -1
  65. package/dist/docs/versioned/next/plans/2026-10-23-provisional-consent.md +297 -0
  66. package/dist/docs/versioned/next/plans/2026-10-29-fix-mcp-oauth-native-and-machine.md +68 -0
  67. package/dist/docs/versioned/next/reference/README.md +1 -0
  68. package/dist/docs/versioned/next/reference/account-security.md +700 -0
  69. package/dist/docs/versioned/next/reference/admin-backend.md +3 -1
  70. package/dist/docs/versioned/next/reference/admin-frontend.md +225 -1
  71. package/dist/docs/versioned/next/reference/api.md +461 -35
  72. package/dist/docs/versioned/next/reference/cli.md +1 -1
  73. package/dist/docs/versioned/next/reference/comms.md +8 -0
  74. package/dist/docs/versioned/next/reference/create-terreno-app.md +3 -1
  75. package/dist/docs/versioned/next/reference/environment-variables.md +9 -3
  76. package/dist/docs/versioned/next/reference/legacy/rtk.md +19 -3
  77. package/dist/docs/versioned/next/reference/lifecycle-plugin.md +6 -0
  78. package/dist/docs/versioned/next/reference/mcp-server.md +1158 -441
  79. package/dist/docs/versioned/next/reference/syncdb.md +8 -1
  80. package/dist/docs/versioned/next/reference/ui.md +1271 -27
  81. package/dist/docs/versioned/next/tasks/ai-dev-loop-boost.md +28 -16
  82. package/dist/docs/versioned/next/tutorials/README.md +4 -0
  83. package/dist/httpApp.d.ts +14 -0
  84. package/dist/httpApp.d.ts.map +1 -0
  85. package/dist/httpApp.js +99 -0
  86. package/dist/httpApp.js.map +1 -0
  87. package/dist/index.js +8 -90
  88. package/dist/index.js.map +1 -1
  89. package/dist/local/localTools.d.ts.map +1 -1
  90. package/dist/local/localTools.js +44 -14
  91. package/dist/local/localTools.js.map +1 -1
  92. package/dist/local/metro/metroDevSession.d.ts +18 -0
  93. package/dist/local/metro/metroDevSession.d.ts.map +1 -1
  94. package/dist/local/metro/metroDevSession.js +42 -3
  95. package/dist/local/metro/metroDevSession.js.map +1 -1
  96. package/dist/local/tools/databaseQuery.d.ts.map +1 -1
  97. package/dist/local/tools/databaseQuery.js +3 -13
  98. package/dist/local/tools/databaseQuery.js.map +1 -1
  99. package/dist/local/tools/databaseSchema.d.ts.map +1 -1
  100. package/dist/local/tools/databaseSchema.js +3 -13
  101. package/dist/local/tools/databaseSchema.js.map +1 -1
  102. package/dist/local/tools/localMongo.d.ts +10 -0
  103. package/dist/local/tools/localMongo.d.ts.map +1 -0
  104. package/dist/local/tools/localMongo.js +30 -0
  105. package/dist/local/tools/localMongo.js.map +1 -0
  106. package/dist/local/tools/runtime.d.ts +18 -2
  107. package/dist/local/tools/runtime.d.ts.map +1 -1
  108. package/dist/local/tools/runtime.js +75 -20
  109. package/dist/local/tools/runtime.js.map +1 -1
  110. package/dist/local/tools/syncDb.d.ts +11 -0
  111. package/dist/local/tools/syncDb.d.ts.map +1 -1
  112. package/dist/local/tools/syncDb.js +15 -3
  113. package/dist/local/tools/syncDb.js.map +1 -1
  114. package/dist/rateLimit.d.ts +35 -0
  115. package/dist/rateLimit.d.ts.map +1 -0
  116. package/dist/rateLimit.js +112 -0
  117. package/dist/rateLimit.js.map +1 -0
  118. package/dist/tools.d.ts.map +1 -1
  119. package/dist/tools.js +42 -60
  120. package/dist/tools.js.map +1 -1
  121. package/package.json +4 -3
  122. package/src/docs/guidelines/ui/guidelines/core.md +1 -1
  123. package/src/docs/resources/overview.md +4 -2
  124. package/src/docs/resources/patterns.md +237 -176
  125. package/src/docs/resources/ui.md +48 -17
  126. package/src/docs/templates/bootstrap/frontend/app/(tabs)/profile.template.tsx +0 -26
  127. package/src/docs/templates/bootstrap/frontend/app/_layout.template.tsx +3 -2
  128. package/src/docs/templates/bootstrap/frontend/app/login.template.tsx +1 -1
  129. package/src/docs/upgrades/57.20.0.md +238 -0
  130. package/src/docs/versioned/next/approval-rubric.md +30 -12
  131. package/src/docs/versioned/next/explanation/README.md +5 -0
  132. package/src/docs/versioned/next/explanation/account-linking.md +169 -0
  133. package/src/docs/versioned/next/explanation/admin-interface.md +1 -1
  134. package/src/docs/versioned/next/explanation/agent-guidelines.md +173 -0
  135. package/src/docs/versioned/next/explanation/ai-development-loop.md +196 -0
  136. package/src/docs/versioned/next/explanation/authentication.md +45 -1
  137. package/src/docs/versioned/next/explanation/consent-forms.md +105 -0
  138. package/src/docs/versioned/next/explanation/example-coverage.md +1 -0
  139. package/src/docs/versioned/next/explanation/local-first-data.md +1 -1
  140. package/src/docs/versioned/next/explanation/organizations.md +37 -0
  141. package/src/docs/versioned/next/explanation/planning-plugins.md +4 -0
  142. package/src/docs/versioned/next/explanation/responsive-design.md +143 -0
  143. package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +11 -0
  144. package/src/docs/versioned/next/explanation/schema-metadata.md +5 -0
  145. package/src/docs/versioned/next/how-to/README.md +7 -2
  146. package/src/docs/versioned/next/how-to/audit-log.md +22 -3
  147. package/src/docs/versioned/next/how-to/automate-terreno-upgrades.md +169 -0
  148. package/src/docs/versioned/next/how-to/build-list-detail-screens.md +160 -0
  149. package/src/docs/versioned/next/how-to/circleci.md +15 -5
  150. package/src/docs/versioned/next/how-to/configure-better-auth.md +673 -53
  151. package/src/docs/versioned/next/how-to/create-a-terreno-app.md +8 -5
  152. package/src/docs/versioned/next/how-to/debug-with-mcp.md +393 -23
  153. package/src/docs/versioned/next/how-to/enable-mcp-oauth.md +54 -3
  154. package/src/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +9 -0
  155. package/src/docs/versioned/next/how-to/password-reset.md +1 -1
  156. package/src/docs/versioned/next/how-to/recover-locked-out-user.md +112 -0
  157. package/src/docs/versioned/next/how-to/run-tests-locally.md +37 -8
  158. package/src/docs/versioned/next/how-to/set-up-social-login.md +424 -0
  159. package/src/docs/versioned/next/how-to/set-up-terreno-mcp.md +241 -36
  160. package/src/docs/versioned/next/how-to/sign-consent-on-behalf.md +139 -0
  161. package/src/docs/versioned/next/how-to/upgrade-terreno.md +4 -0
  162. package/src/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +47 -32
  163. package/src/docs/versioned/next/implementationPlans/auth-experience.md +952 -0
  164. package/src/docs/versioned/next/implementationPlans/consent-forms.md +8 -0
  165. package/src/docs/versioned/next/implementationPlans/list-detail-layout.md +297 -0
  166. package/src/docs/versioned/next/implementationPlans/login-redesign/HANDOFF.md +211 -0
  167. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/AnotherWay.html +121 -0
  168. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/BackupCode.html +72 -0
  169. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/Cancelled.html +87 -0
  170. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/ContinueEmail.html +64 -0
  171. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/FirstVisit.html +81 -0
  172. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/Main.html +88 -0
  173. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/ManageAccounts.html +77 -0
  174. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/NotLinked.html +92 -0
  175. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/SigningIn.html +60 -0
  176. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactor.html +76 -0
  177. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactorError.html +81 -0
  178. package/src/docs/versioned/next/implementationPlans/login-redesign/boards/WrongPassword.html +69 -0
  179. package/src/docs/versioned/next/implementationPlans/mcp-boost-parity.md +1 -1
  180. package/src/docs/versioned/next/plans/2026-10-23-provisional-consent.md +297 -0
  181. package/src/docs/versioned/next/plans/2026-10-29-fix-mcp-oauth-native-and-machine.md +68 -0
  182. package/src/docs/versioned/next/reference/README.md +1 -0
  183. package/src/docs/versioned/next/reference/account-security.md +700 -0
  184. package/src/docs/versioned/next/reference/admin-backend.md +3 -1
  185. package/src/docs/versioned/next/reference/admin-frontend.md +225 -1
  186. package/src/docs/versioned/next/reference/api.md +461 -35
  187. package/src/docs/versioned/next/reference/cli.md +1 -1
  188. package/src/docs/versioned/next/reference/comms.md +8 -0
  189. package/src/docs/versioned/next/reference/create-terreno-app.md +3 -1
  190. package/src/docs/versioned/next/reference/environment-variables.md +9 -3
  191. package/src/docs/versioned/next/reference/legacy/rtk.md +19 -3
  192. package/src/docs/versioned/next/reference/lifecycle-plugin.md +6 -0
  193. package/src/docs/versioned/next/reference/mcp-server.md +1158 -441
  194. package/src/docs/versioned/next/reference/syncdb.md +8 -1
  195. package/src/docs/versioned/next/reference/ui.md +1271 -27
  196. package/src/docs/versioned/next/tasks/ai-dev-loop-boost.md +28 -16
  197. package/src/docs/versioned/next/tutorials/README.md +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"syncDb.js","sourceRoot":"","sources":["../../../src/local/tools/syncDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncDb.js","sourceRoot":"","sources":["../../../src/local/tools/syncDb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { ErrorRequestHandler, RequestHandler } from "express";
2
+ export interface McpRateLimitConfig {
3
+ /** Requests allowed per client IP per window. `0` disables the limit. */
4
+ max: number;
5
+ windowMs: number;
6
+ }
7
+ type Env = Record<string, string | undefined>;
8
+ /**
9
+ * Reads `TERRENO_MCP_RATE_LIMIT_MAX` (0 disables) and `TERRENO_MCP_RATE_LIMIT_WINDOW_MS`.
10
+ * Invalid values throw so a typo never silently leaves the hosted server unlimited.
11
+ */
12
+ export declare const resolveMcpRateLimitConfig: (env?: Env) => McpRateLimitConfig;
13
+ /**
14
+ * Number of reverse-proxy hops whose `X-Forwarded-For` entries Express may trust.
15
+ *
16
+ * Cloud Run (detected by `K_SERVICE`) puts exactly one hop in front of the container: the
17
+ * Google Front End, which appends the address it saw to `X-Forwarded-For`. Trusting one hop
18
+ * makes `req.ip` that rightmost, GFE-written entry; anything the client wrote further left
19
+ * is ignored, so a forged header cannot rotate buckets. Everywhere else the default is 0
20
+ * (use the socket address), because trusting a proxy that is not there lets any client pick
21
+ * its own IP. Set `TERRENO_MCP_TRUST_PROXY_HOPS` when another proxy layer sits in front
22
+ * (for example 2 behind an external HTTPS load balancer).
23
+ */
24
+ export declare const resolveTrustProxyHops: (env?: Env) => number;
25
+ /**
26
+ * Middleware pair for the JSON-RPC routes: a per-IP fixed-window limiter (the shared
27
+ * `@terreno/api` route limiter, in-memory per instance) followed by an error handler that
28
+ * renders its 429 as a JSON-RPC error naming the limit and retry window. Returns no
29
+ * middleware when `max` is 0.
30
+ */
31
+ export declare const createMcpRateLimitMiddleware: ({ max, now, windowMs, }: McpRateLimitConfig & {
32
+ now?: () => number;
33
+ }) => Array<RequestHandler | ErrorRequestHandler>;
34
+ export {};
35
+ //# sourceMappingURL=rateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../src/rateLimit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAW,cAAc,EAAC,MAAM,SAAS,CAAC;AAkB1E,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAwB9C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,MAAK,GAAiB,KAAG,kBAelE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAK,GAAiB,KAAG,MAO9D,CAAC;AAqBF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAI,yBAI1C,kBAAkB,GAAG;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAC,KAAG,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAyBxF,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { createRouteRateLimitMiddleware, isAPIError } from "@terreno/api";
2
+ /**
3
+ * Requests per client IP per window on the hosted JSON-RPC endpoint. Search and codegen
4
+ * calls are cheap (in-memory index and string templates), and an agent session makes a
5
+ * few dozen calls per minute at most, so 120 per minute (2/s sustained) leaves room for
6
+ * several agents behind one NAT while capping a single abusive client.
7
+ */
8
+ const DEFAULT_MCP_RATE_LIMIT_MAX = 120;
9
+ /** Default fixed window: one minute, so a limited client waits seconds, not minutes. */
10
+ const DEFAULT_MCP_RATE_LIMIT_WINDOW_MS = 60_000;
11
+ /**
12
+ * JSON-RPC implementation-defined server error (the -32000..-32099 range), echoing HTTP 429.
13
+ */
14
+ const MCP_RATE_LIMIT_ERROR_CODE = -32029;
15
+ const parseNonNegativeInteger = ({ env, fallback, minimum, name, }) => {
16
+ const raw = env[name];
17
+ if (raw === undefined || raw.trim() === "") {
18
+ return fallback;
19
+ }
20
+ const value = Number(raw);
21
+ if (!Number.isInteger(value) || value < minimum) {
22
+ throw new Error(`Invalid ${name} value: ${raw} (expected an integer >= ${minimum})`);
23
+ }
24
+ return value;
25
+ };
26
+ /**
27
+ * Reads `TERRENO_MCP_RATE_LIMIT_MAX` (0 disables) and `TERRENO_MCP_RATE_LIMIT_WINDOW_MS`.
28
+ * Invalid values throw so a typo never silently leaves the hosted server unlimited.
29
+ */
30
+ export const resolveMcpRateLimitConfig = (env = process.env) => {
31
+ return {
32
+ max: parseNonNegativeInteger({
33
+ env,
34
+ fallback: DEFAULT_MCP_RATE_LIMIT_MAX,
35
+ minimum: 0,
36
+ name: "TERRENO_MCP_RATE_LIMIT_MAX",
37
+ }),
38
+ windowMs: parseNonNegativeInteger({
39
+ env,
40
+ fallback: DEFAULT_MCP_RATE_LIMIT_WINDOW_MS,
41
+ minimum: 1,
42
+ name: "TERRENO_MCP_RATE_LIMIT_WINDOW_MS",
43
+ }),
44
+ };
45
+ };
46
+ /**
47
+ * Number of reverse-proxy hops whose `X-Forwarded-For` entries Express may trust.
48
+ *
49
+ * Cloud Run (detected by `K_SERVICE`) puts exactly one hop in front of the container: the
50
+ * Google Front End, which appends the address it saw to `X-Forwarded-For`. Trusting one hop
51
+ * makes `req.ip` that rightmost, GFE-written entry; anything the client wrote further left
52
+ * is ignored, so a forged header cannot rotate buckets. Everywhere else the default is 0
53
+ * (use the socket address), because trusting a proxy that is not there lets any client pick
54
+ * its own IP. Set `TERRENO_MCP_TRUST_PROXY_HOPS` when another proxy layer sits in front
55
+ * (for example 2 behind an external HTTPS load balancer).
56
+ */
57
+ export const resolveTrustProxyHops = (env = process.env) => {
58
+ return parseNonNegativeInteger({
59
+ env,
60
+ fallback: env.K_SERVICE ? 1 : 0,
61
+ minimum: 0,
62
+ name: "TERRENO_MCP_TRUST_PROXY_HOPS",
63
+ });
64
+ };
65
+ const jsonRpcRequestId = (req) => {
66
+ const body = req.body;
67
+ if (!body || typeof body !== "object" || Array.isArray(body)) {
68
+ return null;
69
+ }
70
+ const id = body.id;
71
+ if (typeof id === "string" || typeof id === "number") {
72
+ return id;
73
+ }
74
+ return null;
75
+ };
76
+ const formatWindow = (windowMs) => {
77
+ if (windowMs % 1000 === 0) {
78
+ return `${windowMs / 1000} seconds`;
79
+ }
80
+ return `${windowMs} ms`;
81
+ };
82
+ /**
83
+ * Middleware pair for the JSON-RPC routes: a per-IP fixed-window limiter (the shared
84
+ * `@terreno/api` route limiter, in-memory per instance) followed by an error handler that
85
+ * renders its 429 as a JSON-RPC error naming the limit and retry window. Returns no
86
+ * middleware when `max` is 0.
87
+ */
88
+ export const createMcpRateLimitMiddleware = ({ max, now, windowMs, }) => {
89
+ if (max === 0) {
90
+ return [];
91
+ }
92
+ const limiter = createRouteRateLimitMiddleware({ max, name: "mcp-jsonrpc", now, windowMs });
93
+ const renderRateLimitError = (error, req, res, next) => {
94
+ if (!isAPIError(error) || error.status !== 429) {
95
+ next(error);
96
+ return;
97
+ }
98
+ // The shared limiter sets Retry-After before raising the 429.
99
+ const retryAfterSeconds = Number(res.getHeader("Retry-After")) || 1;
100
+ res.status(429).json({
101
+ error: {
102
+ code: MCP_RATE_LIMIT_ERROR_CODE,
103
+ data: { limit: max, retryAfterSeconds, windowMs },
104
+ message: `Rate limit exceeded: ${max} requests per ${formatWindow(windowMs)} per client IP. Retry after ${retryAfterSeconds}s.`,
105
+ },
106
+ id: jsonRpcRequestId(req),
107
+ jsonrpc: "2.0",
108
+ });
109
+ };
110
+ return [limiter, renderRateLimitError];
111
+ };
112
+ //# sourceMappingURL=rateLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../src/rateLimit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AA+JvD,eAAO,MAAM,KAAK,EAAE,IAAI,EAgPvB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KAAG,MA0MH,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KACjD,CAAC,CAAC;CACJ,KAAG,MA+GH,CAAC;AAKF,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,GAAI,MAAM;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,KAAG,MAgB5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,KAAG,MA6D5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM;IACzC,MAAM,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ,KAAG,MAsMH,CAAC;AAqBF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAiJxD,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AA+JvD,eAAO,MAAM,KAAK,EAAE,IAAI,EAgPvB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KAAG,MA0MH,CAAC;AAKF,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KACjD,CAAC,CAAC;CACJ,KAAG,MAmFH,CAAC;AAKF,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,GAAI,MAAM;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,KAAG,MAgB5D,CAAC;AAiBF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,KAAG,MAgE5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM;IACzC,MAAM,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ,KAAG,MAsMH,CAAC;AAqBF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAiJxD,CAAC"}
package/dist/tools.js CHANGED
@@ -708,6 +708,9 @@ const ${name}Screen: React.FC = () => {
708
708
  export default ${name}Screen;
709
709
  `;
710
710
  };
711
+ // Prop names follow @terreno/ui's field interfaces (TextFieldProps, SelectFieldProps,
712
+ // BooleanFieldProps, DateTimeFieldProps, NumberFieldProps): `title`, `onChange`, `errorText`.
713
+ // formFieldsTypecheck.test.ts compiles this output against @terreno/ui to catch drift.
711
714
  export const generateFormFields = (args) => {
712
715
  const { fields } = args;
713
716
  const imports = new Set(["Box"]);
@@ -716,100 +719,68 @@ export const generateFormFields = (args) => {
716
719
  const label = field.label ?? field.name.charAt(0).toUpperCase() + field.name.slice(1);
717
720
  const stateName = field.name;
718
721
  const setterName = `set${field.name.charAt(0).toUpperCase() + field.name.slice(1)}`;
722
+ const errorProp = field.required ? `\n errorText={errors.${field.name}}` : "";
723
+ const renderField = (component, extraProps = "") => ` <${component}
724
+ title="${label}"${extraProps}
725
+ value={${stateName}}
726
+ onChange={${setterName}}${errorProp}
727
+ />`;
719
728
  switch (field.type) {
720
729
  case "text":
721
730
  imports.add("TextField");
722
- fieldComponents.push(` <TextField
723
- label="${label}"
724
- value={${stateName}}
725
- onChangeText={${setterName}}
726
- ${field.required ? `error={errors.${field.name}}` : ""}
727
- />`);
731
+ fieldComponents.push(renderField("TextField"));
728
732
  break;
729
733
  case "email":
730
734
  imports.add("EmailField");
731
- fieldComponents.push(` <EmailField
732
- label="${label}"
733
- value={${stateName}}
734
- onChangeText={${setterName}}
735
- ${field.required ? `error={errors.${field.name}}` : ""}
736
- />`);
735
+ fieldComponents.push(renderField("EmailField"));
737
736
  break;
738
737
  case "password":
739
- imports.add("PasswordField");
740
- fieldComponents.push(` <PasswordField
741
- label="${label}"
742
- value={${stateName}}
743
- onChangeText={${setterName}}
744
- ${field.required ? `error={errors.${field.name}}` : ""}
745
- />`);
738
+ // PasswordField is a placeholder without props; TextField type="password" masks input.
739
+ imports.add("TextField");
740
+ fieldComponents.push(renderField("TextField", '\n type="password"'));
746
741
  break;
747
742
  case "number":
748
743
  imports.add("NumberField");
749
- fieldComponents.push(` <NumberField
750
- label="${label}"
751
- value={${stateName}}
752
- onChangeValue={${setterName}}
753
- ${field.required ? `error={errors.${field.name}}` : ""}
754
- />`);
744
+ fieldComponents.push(renderField("NumberField", '\n type="number"'));
755
745
  break;
756
746
  case "textarea":
757
747
  imports.add("TextArea");
758
- fieldComponents.push(` <TextArea
759
- label="${label}"
760
- value={${stateName}}
761
- onChangeText={${setterName}}
762
- ${field.required ? `error={errors.${field.name}}` : ""}
763
- />`);
748
+ fieldComponents.push(renderField("TextArea"));
764
749
  break;
765
750
  case "select": {
766
751
  imports.add("SelectField");
767
752
  const optionsStr = field.options
768
753
  ? JSON.stringify(field.options, null, 2).replace(/\n/g, "\n ")
769
754
  : "[]";
770
- fieldComponents.push(` <SelectField
771
- label="${label}"
772
- value={${stateName}}
773
- onChangeValue={${setterName}}
774
- options={${optionsStr}}
775
- ${field.required ? `error={errors.${field.name}}` : ""}
776
- />`);
755
+ fieldComponents.push(renderField("SelectField", `\n options={${optionsStr}}`));
777
756
  break;
778
757
  }
779
758
  case "boolean":
780
759
  imports.add("BooleanField");
781
- fieldComponents.push(` <BooleanField
782
- label="${label}"
783
- value={${stateName}}
784
- onChangeValue={${setterName}}
785
- />`);
760
+ fieldComponents.push(renderField("BooleanField"));
786
761
  break;
787
762
  case "date":
788
763
  case "datetime":
789
764
  imports.add("DateTimeField");
790
- fieldComponents.push(` <DateTimeField
791
- label="${label}"
792
- value={${stateName}}
793
- onChange={${setterName}}
794
- mode="${field.type === "date" ? "date" : "datetime"}"
795
- />`);
765
+ fieldComponents.push(renderField("DateTimeField", `\n type="${field.type}"`));
796
766
  break;
797
767
  }
798
768
  }
799
- const stateDeclarations = fields
800
- .map((f) => {
801
- const defaultValue = f.type === "boolean" ? "false" : f.type === "number" ? "0" : '""';
769
+ // Every field value is a string (NumberField and DateTimeField included) except BooleanField.
770
+ const stateLines = fields.map((f) => {
771
+ const defaultValue = f.type === "boolean" ? "false" : '""';
802
772
  return ` const [${f.name}, set${f.name.charAt(0).toUpperCase() + f.name.slice(1)}] = useState(${defaultValue});`;
803
- })
804
- .join("\n");
805
- return `import React, { useState } from "react";
773
+ });
774
+ if (fields.some((f) => f.required)) {
775
+ stateLines.push(' // Set a message to show it under a field, e.g. setErrors({title: "Title is required"}).', " const [errors, setErrors] = useState<Record<string, string | undefined>>({});");
776
+ }
777
+ return `import { useState } from "react";
806
778
  import { ${Array.from(imports).join(", ")} } from "@terreno/ui";
807
779
 
808
780
  // State declarations (add to your component):
809
- ${stateDeclarations}
781
+ ${stateLines.join("\n")}
810
782
 
811
783
  // Form fields (add inside your component's return):
812
- {/* Form Fields */}
813
784
  <Box gap={3}>
814
785
  ${fieldComponents.join("\n")}
815
786
  </Box>
@@ -834,6 +805,16 @@ export const validateUiBlocks = (args) => {
834
805
  }
835
806
  return `${validated.warnings.map(formatBlockIssue).join("\n")}\n`;
836
807
  };
808
+ const NAMED_IMPORT_PATTERN = /import\s+(?:type\s+)?(?:\w+\s*,\s*)?\{([^}]*)\}\s*from\s*["']([^"']+)["']/g;
809
+ const MODEL_DOCUMENT_TYPE_PATTERN = /\b\w+Document\b/;
810
+ // True when the source declares a `<Name>Document` type or imports one from the app's type files.
811
+ // mongoose's own Document types (Document, HydratedDocument) do not count.
812
+ const hasModelDocumentType = (source) => {
813
+ if (/^\s*(?:export\s+)?(?:interface|type)\s+\w+Document\b/m.test(source)) {
814
+ return true;
815
+ }
816
+ return Array.from(source.matchAll(NAMED_IMPORT_PATTERN)).some(([, names, from]) => from !== "mongoose" && MODEL_DOCUMENT_TYPE_PATTERN.test(names));
817
+ };
837
818
  export const validateModelSchema = (args) => {
838
819
  const { schema } = args;
839
820
  const issues = [];
@@ -854,10 +835,11 @@ export const validateModelSchema = (args) => {
854
835
  issues.push("Missing default plugins");
855
836
  suggestions.push("Add addDefaultPlugins(schema) or manually add createdUpdatedPlugin");
856
837
  }
857
- // Check for interface
858
- if (!schema.includes("interface") || !schema.includes("Document")) {
838
+ // Check for the model's Document type: declared inline, or imported from where Terreno keeps
839
+ // model types (src/modelInterfaces.ts or src/types/models/).
840
+ if (!hasModelDocumentType(schema)) {
859
841
  issues.push("Missing TypeScript interfaces");
860
- suggestions.push("Define interfaces for Document and Model types");
842
+ suggestions.push("Define Document and Model types in src/modelInterfaces.ts or src/types/models/ and import them into the model file");
861
843
  }
862
844
  // Check for findOne usage
863
845
  if (schema.includes(".findOne(") &&
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,WAAW,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAE,uBAAuB,EAAC,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAE1D,MAAM,cAAc,GAAW;IAC7B;QACE,WAAW,EACT,+PAA+P;QACjQ,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,WAAW,EACT,oHAAoH;oBACtH,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACvB,IAAI,EAAE,OAAO;iBACd;gBACD,OAAO,EAAE;oBACP,WAAW,EACT,qFAAqF;oBACvF,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACvB,IAAI,EAAE,OAAO;iBACd;gBACD,UAAU,EAAE;oBACV,WAAW,EAAE,2EAA2E;oBACxF,IAAI,EAAE,QAAQ;iBACf;gBACD,OAAO,EAAE;oBACP,WAAW,EACT,kJAAkJ;oBACpJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,qBAAqB;KAC5B;IACD;QACE,WAAW,EACT,kJAAkJ;QACpJ,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,WAAW,EAAE,wEAAwE;oBACrF,IAAI,EAAE,QAAQ;iBACf;gBACD,OAAO,EAAE;oBACP,WAAW,EACT,oJAAoJ;oBACtJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,4BAA4B;KACnC;IACD;QACE,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,WAAW,EAAE,2CAA2C;oBACxD,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE;oBACT,WAAW,EAAE,2CAA2C;oBACxD,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;YACtC,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,2BAA2B;KAClC;CACF,CAAC;AAEF,MAAM,SAAS,GAAW;IACxB;QACE,WAAW,EACT,gNAAgN;QAClN,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,WAAW,EACT,+FAA+F;oBACjG,IAAI,EAAE,SAAS;iBAChB;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,mDAAmD;oBAChE,IAAI,EAAE,QAAQ;iBACf;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,sDAAsD;oBACnE,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACvB,IAAI,EAAE,OAAO;iBACd;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,wEAAwE;oBACrF,IAAI,EAAE,QAAQ;iBACf;gBACD,MAAM,EAAE;oBACN,WAAW,EAAE,kEAAkE;oBAC/E,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC;oBACzC,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,6BAA6B;KACpC;IACD;QACE,WAAW,EACT,6GAA6G;QAC/G,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,WAAW,EAAE,oEAAoE;oBACjF,IAAI,EAAE,QAAQ;iBACf;gBACD,eAAe,EAAE;oBACf,WAAW,EAAE,oEAAoE;oBACjF,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,yBAAyB;KAChC;IACD;QACE,WAAW,EACT,8HAA8H;QAChI,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,WAAW,EAAE,sEAAsE;oBACnF,IAAI,EAAE,SAAS;iBAChB;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,uDAAuD;oBACpE,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,sEAAsE;oBACnF,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,yBAAyB;KAChC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,GAAG,cAAc;IACjB,GAAG,cAAc;IACjB,GAAG,SAAS;IACZ;QACE,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,WAAW,EAAE,4BAA4B;oBACzC,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,WAAW,EAAE,2BAA2B;gCACxC,IAAI,EAAE,QAAQ;6BACf;4BACD,IAAI,EAAE,EAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAC;4BACjD,GAAG,EAAE;gCACH,WAAW,EAAE,0CAA0C;gCACvD,IAAI,EAAE,QAAQ;6BACf;4BACD,QAAQ,EAAE,EAAC,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAC;4BAClE,IAAI,EAAE;gCACJ,WAAW,EAAE,mEAAmE;gCAChF,IAAI,EAAE,QAAQ;6BACf;4BACD,MAAM,EAAE,EAAC,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAC;yBAC/D;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;wBAC1B,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,OAAO;iBACd;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,SAAS;iBAChB;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,kDAAkD;oBAC/D,IAAI,EAAE,QAAQ;iBACf;gBACD,UAAU,EAAE;oBACV,WAAW,EAAE,yCAAyC;oBACtD,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC5B,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,wBAAwB;KAC/B;IACD;QACE,WAAW,EACT,4NAA4N;QAC9N,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE,QAAQ;iBACf;gBACD,aAAa,EAAE;oBACb,WAAW,EAAE,yBAAyB;oBACtC,IAAI,EAAE,SAAS;iBAChB;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,0BAA0B;oBACvC,UAAU,EAAE;wBACV,MAAM,EAAE,EAAC,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC9D,MAAM,EAAE,EAAC,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC9D,IAAI,EAAE,EAAC,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC1D,IAAI,EAAE,EAAC,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC1D,MAAM,EAAE,EAAC,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAC;qBAC/D;oBACD,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,iCAAiC;oBAC9C,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACvB,IAAI,EAAE,OAAO;iBACd;gBACD,SAAS,EAAE;oBACT,WAAW,EAAE,iCAAiC;oBAC9C,IAAI,EAAE,QAAQ;iBACf;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,mDAAmD;oBAChE,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;YACpC,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,wBAAwB;KAC/B;IACD;QACE,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,WAAW,EAAE,2BAA2B;oBACxC,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACvB,IAAI,EAAE,OAAO;iBACd;gBACD,SAAS,EAAE;oBACT,WAAW,EAAE,6CAA6C;oBAC1D,IAAI,EAAE,QAAQ;iBACf;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,+CAA+C;oBAC5D,IAAI,EAAE,QAAQ;iBACf;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,4BAA4B;oBACzC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;oBACzC,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YAC1B,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,yBAAyB;KAChC;IACD;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,WAAW,EAAE,4BAA4B;oBACzC,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,KAAK,EAAE,EAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAC;4BACrD,IAAI,EAAE,EAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAC;4BACjD,OAAO,EAAE;gCACP,WAAW,EAAE,2BAA2B;gCACxC,KAAK,EAAE;oCACL,UAAU,EAAE;wCACV,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;wCACvB,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;qCACxB;oCACD,IAAI,EAAE,QAAQ;iCACf;gCACD,IAAI,EAAE,OAAO;6BACd;4BACD,QAAQ,EAAE,EAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAC;4BAC9D,IAAI,EAAE;gCACJ,WAAW,EAAE,2BAA2B;gCACxC,IAAI,EAAE;oCACJ,MAAM;oCACN,OAAO;oCACP,UAAU;oCACV,QAAQ;oCACR,UAAU;oCACV,QAAQ;oCACR,SAAS;oCACT,MAAM;oCACN,UAAU;iCACX;gCACD,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;wBAC1B,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,OAAO;iBACd;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,8BAA8B;KACrC;IACD;QACE,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,WAAW,EAAE,6BAA6B;oBAC1C,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,+BAA+B;KACtC;IACD;QACE,WAAW,EACT,+FAA+F;QACjG,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,WAAW,EAAE,yCAAyC;oBACtD,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,4BAA4B;KACnC;IACD;QACE,WAAW,EACT,mNAAmN;QACrN,WAAW,EAAE;YACX,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,WAAW,EAAE,mDAAmD;oBAChE,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,WAAW,EAAE,6CAA6C;gCAC1D,IAAI,EAAE,QAAQ;6BACf;4BACD,UAAU,EAAE;gCACV,WAAW,EACT,kFAAkF;gCACpF,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gCACvB,IAAI,EAAE,OAAO;6BACd;4BACD,SAAS,EAAE;gCACT,WAAW,EAAE,wCAAwC;gCACrD,IAAI,EAAE,QAAQ;6BACf;4BACD,SAAS,EAAE;gCACT,WAAW,EAAE,gDAAgD;gCAC7D,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC;wBACjE,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,OAAO;iBACd;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE,uBAAuB;KAC9B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAY7B,EAAU,EAAE;IACX,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,eAAe,GAAG,MAAM;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,QAAQ,CAAC;aACtC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,GAAG,SAAS,CAAC;aAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC;aACvC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,GAAG,yBAAyB,CAAC;aAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,GAAG,WAAW,CAAC;QAElD,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,GAAG,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,MAAM;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAa;YACtB,SAAS,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;SAC7E,CAAC;QACF,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElD,OAAO,OAAO,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,uFAAuF;QACzF,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElF,OAAO;4BACmB,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;;YAErD,IAAI;EACd,eAAe;EACf,cAAc;;;;YAIJ,IAAI,gCAAgC,IAAI;;;;QAI5C,SAAS,gCAAgC,IAAI,aAAa,IAAI;;EAEpE,YAAY;EACZ,UAAU;;;;;;;;oBAQQ,SAAS,WAAW,OAAO;;eAEhC,IAAI,qBAAqB,IAAI,aAAa,IAAI,WAAW,IAAI,MAAM,SAAS;gBAC3E,IAAI,aAAa,IAAI;CACpC,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAa7B,EAAU,EAAE;IACX,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;IACnF,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAE1C,MAAM,OAAO,GAA2B;QACtC,KAAK,EAAE,qBAAqB;QAC5B,GAAG,EAAE,mBAAmB;QACxB,aAAa,EAAE,6BAA6B;QAC5C,cAAc,EAAE,uCAAuC;QACvD,KAAK,EAAE,qBAAqB;KAC7B,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,6BAA6B,CAAC;IAE/F,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC;;mBAEa,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;iBAC7B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;iBACzB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;mBACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;mBAC3B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;;6CAED,SAAS,oCAAoC;QACtF,CAAC,CAAC;;;;;;;;6CAQuC,SAAS,oCAAoC,CAAC;IAEzF,MAAM,iBAAiB,GAAG,WAAW,EAAE,MAAM;QAC3C,CAAC,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;QACxD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,aAAa;QAC/B,CAAC,CAAC;;;;;UAKI;QACN,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1D,MAAM,OAAO,GAAG,aAAa;QAC3B,CAAC,CAAC;WACK,SAAS,KAAK,SAAS,8BAA8B,SAAS;+CAC1B;QAC3C,CAAC,CAAC;WACK,SAAS,sBAAsB,SAAS,IAAI,CAAC;IAEtD,OAAO;EACP,OAAO;;;;;;kBAMS,SAAS;;OAEpB,SAAS;kBACE,SAAS,MAAM,UAAU,GAAG,iBAAiB,GAAG,WAAW,GAAG,UAAU;;;;CAIzF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAK9B,EAAU,EAAE;IACX,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;IAE7C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO;;;QAGH,IAAI;;0CAE8B,IAAI;;;;;;;;iBAQ7B,IAAI;CACpB,CAAC;IACA,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;QAClD,OAAO;;iBAEM,SAAS;;QAElB,IAAI;kBACM,WAAW,yCAAyC,SAAS;;;;4CAInC,IAAI;;;;;;;;;;4CAUJ,IAAI;;;;;;;;;;0CAUN,IAAI;;;aAGjC,WAAW;;4BAEI,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;;;;;;;;;iBAS9B,IAAI;CACpB,CAAC;IACA,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC;aAC1F,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;aACrC,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC;qBACM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;qBACtC,CAAC;+BACS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACzC,CAAC;aAChB,CACN;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtE,OAAO;;oBAES,SAAS;;;IAGzB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;QAG1D,IAAI;EACV,WAAW;;iBAEI,SAAS,+BAA+B,SAAS;;;;MAI5D,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;;;oBAQ/H,SAAS,MAAM,UAAU;;;;;;;;QAQrC,UAAU,WAAW,SAAS;;;iDAGW,SAAS;;EAExD,WAAW;;;;;;;;;;;;iBAYI,IAAI;CACpB,CAAC;IACA,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;QACnC,OAAO;;iBAEM,SAAS;;;QAGlB,IAAI;;4DAEgD,SAAS;;;;4CAIzB,IAAI;;;;;;;;;;4CAUJ,IAAI;;;;;;;;;;0CAUN,IAAI;;;YAGlC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;;;;;;;iBAOzE,IAAI;CACpB,CAAC;IACA,CAAC;IAED,OAAO,mBAAmB,IAAI;;;;QAIxB,IAAI;;0CAE8B,IAAI;;;;;;;;iBAQ7B,IAAI;CACpB,CAAC;AACF,CAAC,CAAC;AAEF,sFAAsF;AACtF,8FAA8F;AAC9F,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAQlC,EAAU,EAAE;IACX,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;IAEtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,iCAAiC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,UAAU,GAAG,EAAE,EAAU,EAAE,CACjE,YAAY,SAAS;mBACR,KAAK,IAAI,UAAU;mBACnB,SAAS;sBACN,UAAU,IAAI,SAAS;WAClC,CAAC;QAER,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,UAAU;gBACb,uFAAuF;gBACvF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxB,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO;oBAC9B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC;oBACvE,CAAC,CAAC,IAAI,CAAC;gBACT,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,wBAAwB,UAAU,GAAG,CAAC,CAAC,CAAC;gBACxF,MAAM;YACR,CAAC;YACD,KAAK,SAAS;gBACZ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,qBAAqB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACvF,MAAM;QACV,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,OAAO,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,YAAY,IAAI,CAAC;IACpH,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CACb,4FAA4F,EAC5F,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,OAAO;WACE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIrB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;CAE3B,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAU,EAAE,CACrD,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;AAElE,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAyB,EAAU,EAAE;IACpE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAAC;IAClC,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/D,CAAC;IACD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAClE,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,oBAAoB,GACxB,4EAA4E,CAAC;AAC/E,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAEtD,kGAAkG;AAClG,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAW,EAAE;IACvD,IAAI,uDAAuD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAC3D,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CACpF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAsB,EAAU,EAAE;IACpE,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,wBAAwB;IACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,WAAW,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAC1F,CAAC;IAED,qBAAqB;IACrB,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC9C,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAC5C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,WAAW,CAAC,IAAI,CACd,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,WAAW,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACzF,CAAC;IAED,6FAA6F;IAC7F,6DAA6D;IAC7D,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,WAAW,CAAC,IAAI,CACd,oHAAoH,CACrH,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IACE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EACjC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACrE,WAAW,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAC7F,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAED,OAAO;;;EAGP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGtC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAOpC,EAAU,EAAE;IACX,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;IAEtB,MAAM,YAAY,GAAG,MAAM;SACxB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ;eACO,CAAC,CAAC,SAAS;oBACN,CAAC,CAAC,SAAS;sBACT,CAAC,CAAC,WAAW;oBACf,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;OACzC,CACF;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAO/D,MAAM,KAAK,GAAoB;QAC7B;YACE,OAAO,EAAE;;;;;;;;;;CAUd;YACK,IAAI,EAAE,qCAAqC;SAC5C;QACD;YACE,OAAO,EAAE;;;;;;;;;;;;;;;CAed;YACK,IAAI,EAAE,uCAAuC;SAC9C;QACD;YACE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;CAoBd;YACK,IAAI,EAAE,8CAA8C;SACrD;QACD;YACE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBd;YACK,IAAI,EAAE,4CAA4C;SACnD;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,KAAK;SACvB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI;;;EAG1B,CAAC,CAAC,OAAO;CACV,CACI;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;EAIP,QAAQ;;;;;;;;;;;;;;;;;;UAkBA,YAAY;;;;EAIpB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDZ,YAAY,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,IAAY,EACZ,QAAgB,EAChB,eAA0B,EAClB,EAAE;IACV,MAAM,SAAS,GAAG,eAAe,EAAE,MAAM;QACvC,CAAC,CAAC,gCAAgC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC9F,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;eAEM,QAAQ;EACrB,SAAS;;;;EAIT,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAY,EACZ,IAA6B,EAC4B,EAAE;IAC3D,yBAAyB;IACzB,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC1C,OAAO,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,MAAc,CAAC;IAEnB,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,4FAA4F;wBAClG,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACjE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,GAAG,UAAU,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC,CAAC;QAC9D,OAAO,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,GAAG,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC/D,OAAO,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,gHAAgH;wBACtH,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,uBAAuB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC5E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QACtD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YACnF,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;QAC7F,OAAO,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,uEAAuE;wBAC7E,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAC,EAAE,EAAE,eAAe,EAAC,CAAC,CAAC;QAC1D,OAAO,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;IAC5E,CAAC;IAED,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QACtD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;QACvE,OAAO,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;IACnD,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,IAA2C,CAAC;YAC9D,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,SAAS,KAAK,EAAE;gBAC5E,mEAAmE,SAAS,MAAM;aACnF,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,IAA2C,CAAC;YAC9D,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,SAAS,KAAK,EAAE;gBACzE,gEAAgE,SAAS,MAAM;gBAC/E,kCAAkC,SAAS,CAAC,SAAS,4BAA4B;gBACjF,oEAAoE;aACrE,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,IAA4C,CAAC;YAChE,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,UAAU,CAAC,IAAI,YAAY,EAAE;gBAC3F,iDAAiD;aAClD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,8BAA8B,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAgD,CAAC,CAAC;YAClF,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,EAAE;gBAClE,qDAAqD;aACtD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,+BAA+B;YAClC,MAAM,GAAG,mBAAmB,CAAC,IAAiD,CAAC,CAAC;YAChF,MAAM;QACR,KAAK,4BAA4B;YAC/B,MAAM,GAAG,gBAAgB,CAAC,IAA8C,CAAC,CAAC;YAC1E,MAAM;QACR,KAAK,uBAAuB;YAC1B,MAAM,GAAG,oBAAoB,CAAC,IAAkD,CAAC,CAAC;YAClF,MAAM;QACR;YACE,MAAM,GAAG,iBAAiB,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;KACxC,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -11,8 +11,8 @@
11
11
  "@modelcontextprotocol/node": "^2.0.0",
12
12
  "@modelcontextprotocol/server": "^2.0.0",
13
13
  "@sentry/bun": "^10.39.0",
14
- "@terreno/api": "57.19.2",
15
- "@terreno/blocks": "57.19.2",
14
+ "@terreno/api": "57.20.0",
15
+ "@terreno/blocks": "57.20.0",
16
16
  "express": "^5.2.1",
17
17
  "luxon": "^3.7.2",
18
18
  "minisearch": "^7.2.0",
@@ -22,6 +22,7 @@
22
22
  "devDependencies": {
23
23
  "@biomejs/biome": "^2.3.6",
24
24
  "@modelcontextprotocol/client": "^2.0.0",
25
+ "@terreno/test": "57.20.0",
25
26
  "@types/bun": "^1.4.0",
26
27
  "@types/luxon": "^3.7.1",
27
28
  "@types/node": "^25.3.0",
@@ -106,5 +107,5 @@
106
107
  "test:coverage": "bun run ../scripts/check-coverage.ts"
107
108
  },
108
109
  "type": "module",
109
- "version": "57.19.2"
110
+ "version": "57.20.0"
110
111
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  React Native UI component library (a large component library):
4
4
 
5
- - **Layout**: Box, Page, SplitPage, Card
5
+ - **Layout**: Box, Page, ListDetailLayout, SplitPage, Card
6
6
  - **Forms**: TextField, SelectField, DateTimeField, CheckBox
7
7
  - **Display**: Text, Heading, Badge, DataTable
8
8
  - **Actions**: Button, IconButton, Link
@@ -41,8 +41,10 @@ New apps: **syncdb + Better Auth** for data and auth; **rtk** for generated SDK
41
41
 
42
42
  Use the hosted Terreno MCP for documentation and generators, and `terreno-mcp-local` for package
43
43
  versions, read-only Mongo inspection, merged logs, client state, and Metro/CDP runtime tools.
44
- Configure both with `docs/how-to/set-up-terreno-mcp.md`; follow
45
- `docs/how-to/debug-with-mcp.md` for the diagnostic workflow. The `terreno` CLI exposes the same
44
+ Configure both with
45
+ [Set up Terreno MCP](https://github.com/TerrenoLabs/terreno/blob/master/docs/how-to/set-up-terreno-mcp.md);
46
+ follow [Debug with MCP](https://github.com/TerrenoLabs/terreno/blob/master/docs/how-to/debug-with-mcp.md)
47
+ for the diagnostic workflow. The `terreno` CLI exposes the same
46
48
  local tools for terminal use.
47
49
 
48
50
  ## Development