@openziti/ziti-mcp-server 0.1.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 (210) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +868 -0
  3. package/dist/auth/client-credentials-flow.d.ts +21 -0
  4. package/dist/auth/client-credentials-flow.js +63 -0
  5. package/dist/auth/client-credentials-flow.js.map +1 -0
  6. package/dist/auth/device-auth-flow.d.ts +47 -0
  7. package/dist/auth/device-auth-flow.js +291 -0
  8. package/dist/auth/device-auth-flow.js.map +1 -0
  9. package/dist/clients/base.d.ts +74 -0
  10. package/dist/clients/base.js +109 -0
  11. package/dist/clients/base.js.map +1 -0
  12. package/dist/clients/claude.d.ts +22 -0
  13. package/dist/clients/claude.js +40 -0
  14. package/dist/clients/claude.js.map +1 -0
  15. package/dist/clients/cursor.d.ts +22 -0
  16. package/dist/clients/cursor.js +39 -0
  17. package/dist/clients/cursor.js.map +1 -0
  18. package/dist/clients/index.d.ts +33 -0
  19. package/dist/clients/index.js +39 -0
  20. package/dist/clients/index.js.map +1 -0
  21. package/dist/clients/types.d.ts +70 -0
  22. package/dist/clients/types.js +2 -0
  23. package/dist/clients/types.js.map +1 -0
  24. package/dist/clients/utils.d.ts +22 -0
  25. package/dist/clients/utils.js +46 -0
  26. package/dist/clients/utils.js.map +1 -0
  27. package/dist/clients/vscode.d.ts +76 -0
  28. package/dist/clients/vscode.js +159 -0
  29. package/dist/clients/vscode.js.map +1 -0
  30. package/dist/clients/windsurf.d.ts +22 -0
  31. package/dist/clients/windsurf.js +39 -0
  32. package/dist/clients/windsurf.js.map +1 -0
  33. package/dist/commands/init.d.ts +45 -0
  34. package/dist/commands/init.js +133 -0
  35. package/dist/commands/init.js.map +1 -0
  36. package/dist/commands/logout.d.ts +12 -0
  37. package/dist/commands/logout.js +90 -0
  38. package/dist/commands/logout.js.map +1 -0
  39. package/dist/commands/run.d.ts +15 -0
  40. package/dist/commands/run.js +94 -0
  41. package/dist/commands/run.js.map +1 -0
  42. package/dist/commands/session.d.ts +12 -0
  43. package/dist/commands/session.js +99 -0
  44. package/dist/commands/session.js.map +1 -0
  45. package/dist/index.d.ts +2 -0
  46. package/dist/index.js +105 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/server.d.ts +67 -0
  49. package/dist/server.js +171 -0
  50. package/dist/server.js.map +1 -0
  51. package/dist/tools/api-sessions.d.ts +3 -0
  52. package/dist/tools/api-sessions.js +86 -0
  53. package/dist/tools/api-sessions.js.map +1 -0
  54. package/dist/tools/auth-policies.d.ts +3 -0
  55. package/dist/tools/auth-policies.js +347 -0
  56. package/dist/tools/auth-policies.js.map +1 -0
  57. package/dist/tools/authenticators.d.ts +3 -0
  58. package/dist/tools/authenticators.js +183 -0
  59. package/dist/tools/authenticators.js.map +1 -0
  60. package/dist/tools/certificate-authorities.d.ts +3 -0
  61. package/dist/tools/certificate-authorities.js +288 -0
  62. package/dist/tools/certificate-authorities.js.map +1 -0
  63. package/dist/tools/config-types.d.ts +3 -0
  64. package/dist/tools/config-types.js +194 -0
  65. package/dist/tools/config-types.js.map +1 -0
  66. package/dist/tools/configs.d.ts +3 -0
  67. package/dist/tools/configs.js +203 -0
  68. package/dist/tools/configs.js.map +1 -0
  69. package/dist/tools/controller-settings.d.ts +3 -0
  70. package/dist/tools/controller-settings.js +219 -0
  71. package/dist/tools/controller-settings.js.map +1 -0
  72. package/dist/tools/controllers.d.ts +3 -0
  73. package/dist/tools/controllers.js +89 -0
  74. package/dist/tools/controllers.js.map +1 -0
  75. package/dist/tools/edge-router-policies.d.ts +3 -0
  76. package/dist/tools/edge-router-policies.js +262 -0
  77. package/dist/tools/edge-router-policies.js.map +1 -0
  78. package/dist/tools/edge-routers.d.ts +3 -0
  79. package/dist/tools/edge-routers.js +381 -0
  80. package/dist/tools/edge-routers.js.map +1 -0
  81. package/dist/tools/enrollments.d.ts +3 -0
  82. package/dist/tools/enrollments.js +187 -0
  83. package/dist/tools/enrollments.js.map +1 -0
  84. package/dist/tools/external-jwt-signers.d.ts +3 -0
  85. package/dist/tools/external-jwt-signers.js +242 -0
  86. package/dist/tools/external-jwt-signers.js.map +1 -0
  87. package/dist/tools/identities.d.ts +3 -0
  88. package/dist/tools/identities.js +741 -0
  89. package/dist/tools/identities.js.map +1 -0
  90. package/dist/tools/identity-types.d.ts +3 -0
  91. package/dist/tools/identity-types.js +58 -0
  92. package/dist/tools/identity-types.js.map +1 -0
  93. package/dist/tools/index.d.ts +3 -0
  94. package/dist/tools/index.js +101 -0
  95. package/dist/tools/index.js.map +1 -0
  96. package/dist/tools/posture-checks.d.ts +3 -0
  97. package/dist/tools/posture-checks.js +254 -0
  98. package/dist/tools/posture-checks.js.map +1 -0
  99. package/dist/tools/routers.d.ts +3 -0
  100. package/dist/tools/routers.js +169 -0
  101. package/dist/tools/routers.js.map +1 -0
  102. package/dist/tools/service-edge-router-policies.d.ts +3 -0
  103. package/dist/tools/service-edge-router-policies.js +282 -0
  104. package/dist/tools/service-edge-router-policies.js.map +1 -0
  105. package/dist/tools/service-policies.d.ts +3 -0
  106. package/dist/tools/service-policies.js +311 -0
  107. package/dist/tools/service-policies.js.map +1 -0
  108. package/dist/tools/services.d.ts +3 -0
  109. package/dist/tools/services.js +403 -0
  110. package/dist/tools/services.js.map +1 -0
  111. package/dist/tools/sessions.d.ts +3 -0
  112. package/dist/tools/sessions.js +86 -0
  113. package/dist/tools/sessions.js.map +1 -0
  114. package/dist/tools/terminators.d.ts +3 -0
  115. package/dist/tools/terminators.js +187 -0
  116. package/dist/tools/terminators.js.map +1 -0
  117. package/dist/tools/transit-routers.d.ts +3 -0
  118. package/dist/tools/transit-routers.js +169 -0
  119. package/dist/tools/transit-routers.js.map +1 -0
  120. package/dist/utils/analytics.d.ts +75 -0
  121. package/dist/utils/analytics.js +191 -0
  122. package/dist/utils/analytics.js.map +1 -0
  123. package/dist/utils/auth0-client.d.ts +27 -0
  124. package/dist/utils/auth0-client.js +67 -0
  125. package/dist/utils/auth0-client.js.map +1 -0
  126. package/dist/utils/authenticated-client.d.ts +6 -0
  127. package/dist/utils/authenticated-client.js +55 -0
  128. package/dist/utils/authenticated-client.js.map +1 -0
  129. package/dist/utils/config.d.ts +65 -0
  130. package/dist/utils/config.js +80 -0
  131. package/dist/utils/config.js.map +1 -0
  132. package/dist/utils/constants.d.ts +15 -0
  133. package/dist/utils/constants.js +17 -0
  134. package/dist/utils/constants.js.map +1 -0
  135. package/dist/utils/controller-client/client/client.gen.d.ts +2 -0
  136. package/dist/utils/controller-client/client/client.gen.js +229 -0
  137. package/dist/utils/controller-client/client/client.gen.js.map +1 -0
  138. package/dist/utils/controller-client/client/index.d.ts +8 -0
  139. package/dist/utils/controller-client/client/index.js +7 -0
  140. package/dist/utils/controller-client/client/index.js.map +1 -0
  141. package/dist/utils/controller-client/client/types.gen.d.ts +117 -0
  142. package/dist/utils/controller-client/client/types.gen.js +3 -0
  143. package/dist/utils/controller-client/client/types.gen.js.map +1 -0
  144. package/dist/utils/controller-client/client/utils.gen.d.ts +33 -0
  145. package/dist/utils/controller-client/client/utils.gen.js +232 -0
  146. package/dist/utils/controller-client/client/utils.gen.js.map +1 -0
  147. package/dist/utils/controller-client/client.gen.d.ts +12 -0
  148. package/dist/utils/controller-client/client.gen.js +6 -0
  149. package/dist/utils/controller-client/client.gen.js.map +1 -0
  150. package/dist/utils/controller-client/core/auth.gen.d.ts +18 -0
  151. package/dist/utils/controller-client/core/auth.gen.js +15 -0
  152. package/dist/utils/controller-client/core/auth.gen.js.map +1 -0
  153. package/dist/utils/controller-client/core/bodySerializer.gen.d.ts +25 -0
  154. package/dist/utils/controller-client/core/bodySerializer.gen.js +58 -0
  155. package/dist/utils/controller-client/core/bodySerializer.gen.js.map +1 -0
  156. package/dist/utils/controller-client/core/params.gen.d.ts +43 -0
  157. package/dist/utils/controller-client/core/params.gen.js +101 -0
  158. package/dist/utils/controller-client/core/params.gen.js.map +1 -0
  159. package/dist/utils/controller-client/core/pathSerializer.gen.d.ts +33 -0
  160. package/dist/utils/controller-client/core/pathSerializer.gen.js +115 -0
  161. package/dist/utils/controller-client/core/pathSerializer.gen.js.map +1 -0
  162. package/dist/utils/controller-client/core/queryKeySerializer.gen.d.ts +18 -0
  163. package/dist/utils/controller-client/core/queryKeySerializer.gen.js +100 -0
  164. package/dist/utils/controller-client/core/queryKeySerializer.gen.js.map +1 -0
  165. package/dist/utils/controller-client/core/serverSentEvents.gen.d.ts +71 -0
  166. package/dist/utils/controller-client/core/serverSentEvents.gen.js +136 -0
  167. package/dist/utils/controller-client/core/serverSentEvents.gen.js.map +1 -0
  168. package/dist/utils/controller-client/core/types.gen.d.ts +78 -0
  169. package/dist/utils/controller-client/core/types.gen.js +3 -0
  170. package/dist/utils/controller-client/core/types.gen.js.map +1 -0
  171. package/dist/utils/controller-client/core/utils.gen.d.ts +19 -0
  172. package/dist/utils/controller-client/core/utils.gen.js +88 -0
  173. package/dist/utils/controller-client/core/utils.gen.js.map +1 -0
  174. package/dist/utils/controller-client/index.d.ts +2 -0
  175. package/dist/utils/controller-client/index.js +3 -0
  176. package/dist/utils/controller-client/index.js.map +1 -0
  177. package/dist/utils/controller-client/sdk.gen.d.ts +1302 -0
  178. package/dist/utils/controller-client/sdk.gen.js +4436 -0
  179. package/dist/utils/controller-client/sdk.gen.js.map +1 -0
  180. package/dist/utils/controller-client/types.gen.d.ts +9170 -0
  181. package/dist/utils/controller-client/types.gen.js +3 -0
  182. package/dist/utils/controller-client/types.gen.js.map +1 -0
  183. package/dist/utils/glob.d.ts +75 -0
  184. package/dist/utils/glob.js +110 -0
  185. package/dist/utils/glob.js.map +1 -0
  186. package/dist/utils/http-utility.d.ts +5 -0
  187. package/dist/utils/http-utility.js +68 -0
  188. package/dist/utils/http-utility.js.map +1 -0
  189. package/dist/utils/keychain.d.ts +129 -0
  190. package/dist/utils/keychain.js +193 -0
  191. package/dist/utils/keychain.js.map +1 -0
  192. package/dist/utils/logger.d.ts +4 -0
  193. package/dist/utils/logger.js +28 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/package.d.ts +3 -0
  196. package/dist/utils/package.js +9 -0
  197. package/dist/utils/package.js.map +1 -0
  198. package/dist/utils/scopes.d.ts +12 -0
  199. package/dist/utils/scopes.js +19 -0
  200. package/dist/utils/scopes.js.map +1 -0
  201. package/dist/utils/terminal.d.ts +35 -0
  202. package/dist/utils/terminal.js +409 -0
  203. package/dist/utils/terminal.js.map +1 -0
  204. package/dist/utils/tools.d.ts +63 -0
  205. package/dist/utils/tools.js +149 -0
  206. package/dist/utils/tools.js.map +1 -0
  207. package/dist/utils/types.d.ts +55 -0
  208. package/dist/utils/types.js +3 -0
  209. package/dist/utils/types.js.map +1 -0
  210. package/package.json +89 -0
@@ -0,0 +1,27 @@
1
+ import { AuthenticationClient, ManagementClient } from 'auth0';
2
+ import { ZitiConfig } from './config.js';
3
+ /**
4
+ * Creates and configures an OpenZiti Controller Management API client for making API calls.
5
+ *
6
+ * This function initializes a ManagementClient with proper authentication,
7
+ * retry logic (10 retries), and user agent information. The client provides
8
+ * methods for interacting with all OpenZiti Controller Management API endpoints to manage resources
9
+ * in your Ziti network.
10
+ *
11
+ * @param {ZitiConfig} config - Configuration object containing:
12
+ * - host: The OpenZiti Controller host
13
+ * - domain: The Auth0 domain name (e.g., 'your-tenant.auth0.com')
14
+ * - token: A valid OpenZiti Controller Management API access token with appropriate scopes
15
+ * @returns {Promise<ManagementClient>} A configured OpenZiti Controller Management API client
16
+ * ready to make authenticated requests to the OpenZiti Controller Management API.
17
+ */
18
+ export declare const getManagementClient: (config: ZitiConfig) => Promise<ManagementClient>;
19
+ /**
20
+ * Creates and configures an Auth0 Authentication API client.
21
+ *
22
+ * @param {string} domain - The Auth0 domain (e.g., 'your-tenant.auth0.com')
23
+ * @param {string} [clientId] - Optional client ID for authentication operations
24
+ * @param {string} [clientSecret] - Optional client secret for server-to-server operations
25
+ * @returns {Promise<AuthenticationClient>} Configured Auth0 Authentication API client
26
+ */
27
+ export declare const getAuthenticationClient: (domain: string, clientId: string, clientSecret: string) => Promise<AuthenticationClient>;
@@ -0,0 +1,67 @@
1
+ import { AuthenticationClient, ManagementClient } from 'auth0';
2
+ import { packageVersion } from './package.js';
3
+ /**
4
+ * Generates a standardized User-Agent string for API requests.
5
+ *
6
+ * This function constructs a User-Agent header value that identifies the application
7
+ * making requests to OpenZiti Controller APIs. The format follows standard conventions:
8
+ * "application-name/version (runtime/runtime-version)"
9
+ *
10
+ * @returns {string} Formatted User-Agent string containing the application name,
11
+ * version, and Node.js runtime version
12
+ * @example
13
+ * // Example usage in headers for an API request
14
+ * const headers = {
15
+ * 'Content-Type': 'application/json',
16
+ * 'User-Agent': getUserAgent()
17
+ * };
18
+ * // Could produce: "ziti-mcp-server/1.2.3 (node.js/16.14.0)"
19
+ */
20
+ function getUserAgent() {
21
+ return `ziti-mcp-server/${packageVersion} (node.js/${process.version.replace('v', '')})`;
22
+ }
23
+ /**
24
+ * Creates and configures an OpenZiti Controller Management API client for making API calls.
25
+ *
26
+ * This function initializes a ManagementClient with proper authentication,
27
+ * retry logic (10 retries), and user agent information. The client provides
28
+ * methods for interacting with all OpenZiti Controller Management API endpoints to manage resources
29
+ * in your Ziti network.
30
+ *
31
+ * @param {ZitiConfig} config - Configuration object containing:
32
+ * - host: The OpenZiti Controller host
33
+ * - domain: The Auth0 domain name (e.g., 'your-tenant.auth0.com')
34
+ * - token: A valid OpenZiti Controller Management API access token with appropriate scopes
35
+ * @returns {Promise<ManagementClient>} A configured OpenZiti Controller Management API client
36
+ * ready to make authenticated requests to the OpenZiti Controller Management API.
37
+ */
38
+ export const getManagementClient = async (config) => {
39
+ return new ManagementClient({
40
+ // host: config.host,
41
+ domain: config.domain,
42
+ token: config.token,
43
+ retry: { maxRetries: 10, enabled: true },
44
+ headers: {
45
+ 'User-agent': getUserAgent(),
46
+ },
47
+ });
48
+ };
49
+ /**
50
+ * Creates and configures an Auth0 Authentication API client.
51
+ *
52
+ * @param {string} domain - The Auth0 domain (e.g., 'your-tenant.auth0.com')
53
+ * @param {string} [clientId] - Optional client ID for authentication operations
54
+ * @param {string} [clientSecret] - Optional client secret for server-to-server operations
55
+ * @returns {Promise<AuthenticationClient>} Configured Auth0 Authentication API client
56
+ */
57
+ export const getAuthenticationClient = async (domain, clientId, clientSecret) => {
58
+ return new AuthenticationClient({
59
+ domain,
60
+ headers: {
61
+ 'User-agent': getUserAgent(),
62
+ },
63
+ clientId,
64
+ clientSecret,
65
+ });
66
+ };
67
+ //# sourceMappingURL=auth0-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth0-client.js","sourceRoot":"","sources":["../../src/utils/auth0-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA+B,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,YAAY;IACnB,OAAO,mBAAmB,cAAc,aAAa,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAkB,EAA6B,EAAE;IACzF,OAAO,IAAI,gBAAgB,CAAC;QAC1B,qBAAqB;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACxC,OAAO,EAAE;YACP,YAAY,EAAE,YAAY,EAAE;SAC7B;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAc,EACd,QAAgB,EAChB,YAAoB,EACW,EAAE;IACjC,OAAO,IAAI,oBAAoB,CAAC;QAC9B,MAAM;QACN,OAAO,EAAE;YACP,YAAY,EAAE,YAAY,EAAE;SAC7B;QACD,QAAQ;QACR,YAAY;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { HandlerConfig, HandlerRequest, HandlerResponse } from './types.js';
2
+ import { createClient } from './controller-client/client/client.gen.js';
3
+ type ManagementClient = ReturnType<typeof createClient>;
4
+ export type ApiCall = (client: ManagementClient, ztSession: string | null) => Promise<unknown>;
5
+ export declare function withAuthenticatedClient(request: HandlerRequest, config: HandlerConfig, operationName: string, apiCall: ApiCall): Promise<HandlerResponse>;
6
+ export {};
@@ -0,0 +1,55 @@
1
+ import { log } from './logger.js';
2
+ import { createErrorResponse, createSuccessResponse } from './http-utility.js';
3
+ import { createClient } from './controller-client/client/client.gen.js';
4
+ import { authenticate } from './controller-client/sdk.gen.js';
5
+ export async function withAuthenticatedClient(request, config, operationName, apiCall) {
6
+ try {
7
+ if (!request.token) {
8
+ log('Warning: Token is empty or undefined');
9
+ return createErrorResponse('Error: Missing authorization token');
10
+ }
11
+ if (!config.domain) {
12
+ log('Error: Auth0 domain is not configured');
13
+ return createErrorResponse('Error: Auth0 domain is not configured');
14
+ }
15
+ if (!config.zitiControllerHost) {
16
+ log('Error: Ziti Controller host is not configured');
17
+ return createErrorResponse('Error: Ziti Controller host is not configured');
18
+ }
19
+ const managementClient = createClient({
20
+ baseUrl: `https://${config.zitiControllerHost}/edge/management/v1`,
21
+ headers: { Authorization: `Bearer ${request.token}` },
22
+ });
23
+ const authResponseData = await authenticate({
24
+ query: { method: 'ext-jwt' },
25
+ client: managementClient,
26
+ });
27
+ const ztSession = authResponseData?.response.headers.get('zt-session') ?? null;
28
+ log(`The value of zt-session is: ${ztSession}`);
29
+ try {
30
+ const responseData = await apiCall(managementClient, ztSession);
31
+ if (!responseData) {
32
+ return createSuccessResponse({ message: 'No results found.', logs: [] });
33
+ }
34
+ return createSuccessResponse(responseData);
35
+ }
36
+ catch (sdkError) {
37
+ log('Controller client error');
38
+ let errorMessage = `Failed to ${operationName}: ${sdkError.message || 'Unknown error'}`;
39
+ if (sdkError.statusCode === 401) {
40
+ errorMessage +=
41
+ '\nError: Unauthorized. Your token might be expired or invalid. Try running "npx @openziti/openziti-mcp-server init" to refresh your token.';
42
+ }
43
+ else if (sdkError.statusCode === 403) {
44
+ errorMessage +=
45
+ '\nError: Forbidden. Your token might not have the required scopes. Try running "npx @openziti/openziti-mcp-server init" to see the proper permissions.';
46
+ }
47
+ return createErrorResponse(errorMessage);
48
+ }
49
+ }
50
+ catch (error) {
51
+ log('Error processing request');
52
+ return createErrorResponse(`Error: ${error instanceof Error ? error.message : String(error)}`);
53
+ }
54
+ }
55
+ //# sourceMappingURL=authenticated-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticated-client.js","sourceRoot":"","sources":["../../src/utils/authenticated-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAK9D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuB,EACvB,MAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAC5C,OAAO,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAC7C,OAAO,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/B,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACrD,OAAO,mBAAmB,CAAC,+CAA+C,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC;YACpC,OAAO,EAAE,WAAW,MAAM,CAAC,kBAAkB,qBAAqB;YAClE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE;SACtD,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC;YAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;YAC5B,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAC/E,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAEhE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,qBAAqB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,QAAa,EAAE,CAAC;YACvB,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC/B,IAAI,YAAY,GAAG,aAAa,aAAa,KAAK,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;YACxF,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAChC,YAAY;oBACV,4IAA4I,CAAC;YACjJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACvC,YAAY;oBACV,wJAAwJ,CAAC;YAC7J,CAAC;YACD,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChC,OAAO,mBAAmB,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;AACH,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Ziti configuration interface representing essential
3
+ * connection information needed for API operations.
4
+ */
5
+ export interface ZitiConfig {
6
+ /**
7
+ * OpenZiti Controller host.
8
+ * Used to construct OpenZiti Controller API endpoints.
9
+ * Essential for routing requests to the correct Ziti network instance.
10
+ */
11
+ zitiControllerHost: string;
12
+ /**
13
+ * Authentication token for Auth0 Management API access.
14
+ * Must be valid and non-expired for API operations to succeed.
15
+ * Used in the Authorization header for all API requests.
16
+ */
17
+ token: string;
18
+ /**
19
+ * Auth0 tenant domain (e.g., "your-tenant.auth0.com").
20
+ * Used to construct API endpoints and identify the tenant.
21
+ * Essential for routing requests to the correct Auth0 instance.
22
+ */
23
+ domain: string;
24
+ /**
25
+ * Human-readable name for the Auth0 tenant.
26
+ * Used primarily for display purposes in logs and user interfaces.
27
+ * Defaults to domain if not explicitly provided.
28
+ */
29
+ tenantName?: string;
30
+ }
31
+ /**
32
+ * Loads and prepares Auth0 configuration for API interactions.
33
+ *
34
+ * This function retrieves stored credentials from the system keychain
35
+ * to establish a secure connection with Auth0 tenant. It handles
36
+ * the authentication flow behind the scenes, ensuring a valid
37
+ * access token is available for API operations.
38
+ *
39
+ * @returns {Promise<ZitiConfig | null>} Configuration object with token and domain
40
+ * or null if retrieval fails
41
+ */
42
+ export declare function loadConfig(): Promise<ZitiConfig | null>;
43
+ /**
44
+ * Validates Auth0 configuration to ensure it can be used for API operations.
45
+ *
46
+ * This comprehensive validation ensures that:
47
+ * 1. The configuration object exists
48
+ * 2. The required token is present
49
+ * 3. The required domain is specified
50
+ * 4. The token has not expired
51
+ *
52
+ * Security validation is critical since invalid or expired credentials could
53
+ * lead to API failures or security vulnerabilities. This function prevents
54
+ * operations from proceeding with invalid authentication states.
55
+ *
56
+ * Note: This validation complements the user-oriented validation in `run.ts`.
57
+ * While `run.ts` provides detailed CLI error messages during startup,
58
+ * this function serves as an ongoing validation layer during server operation,
59
+ * particularly when handling tool requests. Both mechanisms work together
60
+ * to create a secure yet user-friendly experience.
61
+ *
62
+ * @param {ZitiConfig | null} config - The configuration to validate
63
+ * @returns {Promise<boolean>} True if config is valid and usable, false otherwise
64
+ */
65
+ export declare function validateConfig(config: ZitiConfig | null): Promise<boolean>;
@@ -0,0 +1,80 @@
1
+ import * as os from 'os';
2
+ import { keychain } from './keychain.js';
3
+ import { isTokenExpired, getValidAccessToken, } from '../auth/device-auth-flow.js';
4
+ import { log } from './logger.js';
5
+ // Ensure HOME is set
6
+ if (!process.env.HOME) {
7
+ process.env.HOME = os.homedir();
8
+ log(`HOME environment variable was not set, updating Home directory`);
9
+ }
10
+ // Determine if we're in debug mode
11
+ const isDebugMode = process.env.OPENZITI_MCP_DEBUG === 'true' || process.env.DEBUG?.includes('ziti-mcp');
12
+ log(`Debug mode: ${isDebugMode}`);
13
+ /**
14
+ * Loads and prepares Auth0 configuration for API interactions.
15
+ *
16
+ * This function retrieves stored credentials from the system keychain
17
+ * to establish a secure connection with Auth0 tenant. It handles
18
+ * the authentication flow behind the scenes, ensuring a valid
19
+ * access token is available for API operations.
20
+ *
21
+ * @returns {Promise<ZitiConfig | null>} Configuration object with token and domain
22
+ * or null if retrieval fails
23
+ */
24
+ export async function loadConfig() {
25
+ const token = await getValidAccessToken();
26
+ const zitiControllerHost = await keychain.getZitiControllerHost();
27
+ const domain = await keychain.getDomain();
28
+ return {
29
+ token: token || '',
30
+ zitiControllerHost: zitiControllerHost || '',
31
+ domain: domain || '',
32
+ tenantName: domain || 'default',
33
+ };
34
+ }
35
+ /**
36
+ * Validates Auth0 configuration to ensure it can be used for API operations.
37
+ *
38
+ * This comprehensive validation ensures that:
39
+ * 1. The configuration object exists
40
+ * 2. The required token is present
41
+ * 3. The required domain is specified
42
+ * 4. The token has not expired
43
+ *
44
+ * Security validation is critical since invalid or expired credentials could
45
+ * lead to API failures or security vulnerabilities. This function prevents
46
+ * operations from proceeding with invalid authentication states.
47
+ *
48
+ * Note: This validation complements the user-oriented validation in `run.ts`.
49
+ * While `run.ts` provides detailed CLI error messages during startup,
50
+ * this function serves as an ongoing validation layer during server operation,
51
+ * particularly when handling tool requests. Both mechanisms work together
52
+ * to create a secure yet user-friendly experience.
53
+ *
54
+ * @param {ZitiConfig | null} config - The configuration to validate
55
+ * @returns {Promise<boolean>} True if config is valid and usable, false otherwise
56
+ */
57
+ export async function validateConfig(config) {
58
+ if (!config) {
59
+ log('Configuration is null');
60
+ return false;
61
+ }
62
+ if (!config.token) {
63
+ log('Auth0 token is missing');
64
+ return false;
65
+ }
66
+ if (!config.zitiControllerHost) {
67
+ log('Ziti Controller Host is missing');
68
+ return false;
69
+ }
70
+ if (!config.domain) {
71
+ log('Auth0 domain is missing');
72
+ return false;
73
+ }
74
+ if (await isTokenExpired()) {
75
+ log('Auth0 token is expired');
76
+ return false;
77
+ }
78
+ return true;
79
+ }
80
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,cAAc,EAEd,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,qBAAqB;AACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAChC,GAAG,CAAC,gEAAgE,CAAC,CAAC;AACxE,CAAC;AAED,mCAAmC;AACnC,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvF,GAAG,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;AAoClC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,KAAK,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;IAE1C,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,kBAAkB,EAAE,kBAAkB,IAAI,EAAE;QAC5C,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,UAAU,EAAE,MAAM,IAAI,SAAS;KAChC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAyB;IAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,cAAc,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Core application constants for the OpenZiti MCP Server.
3
+ *
4
+ * This module defines globally shared constants used across the application,
5
+ * such as identifiers for logging, configuration defaults, and service names.
6
+ */
7
+ /**
8
+ * Application identifier used for debug logging namespaces and telemetry.
9
+ */
10
+ export declare const APP_ID = "ziti-mcp";
11
+ /**
12
+ * Default MCP server name registered in client configuration files.
13
+ */
14
+ export declare const MCP_SERVER_NAME = "ziti";
15
+ export { KEYCHAIN_SERVICE_NAME, KeychainItem, ALL_KEYCHAIN_ITEMS } from './keychain.js';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Core application constants for the OpenZiti MCP Server.
3
+ *
4
+ * This module defines globally shared constants used across the application,
5
+ * such as identifiers for logging, configuration defaults, and service names.
6
+ */
7
+ /**
8
+ * Application identifier used for debug logging namespaces and telemetry.
9
+ */
10
+ export const APP_ID = 'ziti-mcp';
11
+ /**
12
+ * Default MCP server name registered in client configuration files.
13
+ */
14
+ export const MCP_SERVER_NAME = 'ziti';
15
+ // Re-export keychain-related constants for backward compatibility
16
+ export { KEYCHAIN_SERVICE_NAME, KeychainItem, ALL_KEYCHAIN_ITEMS } from './keychain.js';
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,kEAAkE;AAClE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Client, Config } from './types.gen.js';
2
+ export declare const createClient: (config?: Config) => Client;
@@ -0,0 +1,229 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { createSseClient } from '../core/serverSentEvents.gen.js';
3
+ import { getValidRequestBody } from '../core/utils.gen.js';
4
+ import { buildUrl, createConfig, createInterceptors, getParseAs, mergeConfigs, mergeHeaders, setAuthParams, } from './utils.gen.js';
5
+ export const createClient = (config = {}) => {
6
+ let _config = mergeConfigs(createConfig(), config);
7
+ const getConfig = () => ({ ..._config });
8
+ const setConfig = (config) => {
9
+ _config = mergeConfigs(_config, config);
10
+ return getConfig();
11
+ };
12
+ const interceptors = createInterceptors();
13
+ const beforeRequest = async (options) => {
14
+ const opts = {
15
+ ..._config,
16
+ ...options,
17
+ fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
18
+ headers: mergeHeaders(_config.headers, options.headers),
19
+ serializedBody: undefined,
20
+ };
21
+ if (opts.security) {
22
+ await setAuthParams({
23
+ ...opts,
24
+ security: opts.security,
25
+ });
26
+ }
27
+ if (opts.requestValidator) {
28
+ await opts.requestValidator(opts);
29
+ }
30
+ if (opts.body !== undefined && opts.bodySerializer) {
31
+ opts.serializedBody = opts.bodySerializer(opts.body);
32
+ }
33
+ // remove Content-Type header if body is empty to avoid sending invalid requests
34
+ if (opts.body === undefined || opts.serializedBody === '') {
35
+ opts.headers.delete('Content-Type');
36
+ }
37
+ const url = buildUrl(opts);
38
+ return { opts, url };
39
+ };
40
+ const request = async (options) => {
41
+ // @ts-expect-error
42
+ const { opts, url } = await beforeRequest(options);
43
+ const requestInit = {
44
+ redirect: 'follow',
45
+ ...opts,
46
+ body: getValidRequestBody(opts),
47
+ };
48
+ let request = new Request(url, requestInit);
49
+ for (const fn of interceptors.request.fns) {
50
+ if (fn) {
51
+ request = await fn(request, opts);
52
+ }
53
+ }
54
+ // fetch must be assigned here, otherwise it would throw the error:
55
+ // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
56
+ const _fetch = opts.fetch;
57
+ let response;
58
+ try {
59
+ response = await _fetch(request);
60
+ }
61
+ catch (error) {
62
+ // Handle fetch exceptions (AbortError, network errors, etc.)
63
+ let finalError = error;
64
+ for (const fn of interceptors.error.fns) {
65
+ if (fn) {
66
+ finalError = (await fn(error, undefined, request, opts));
67
+ }
68
+ }
69
+ finalError = finalError || {};
70
+ if (opts.throwOnError) {
71
+ throw finalError;
72
+ }
73
+ // Return error response
74
+ return opts.responseStyle === 'data'
75
+ ? undefined
76
+ : {
77
+ error: finalError,
78
+ request,
79
+ response: undefined,
80
+ };
81
+ }
82
+ for (const fn of interceptors.response.fns) {
83
+ if (fn) {
84
+ response = await fn(response, request, opts);
85
+ }
86
+ }
87
+ const result = {
88
+ request,
89
+ response,
90
+ };
91
+ if (response.ok) {
92
+ const parseAs = (opts.parseAs === 'auto'
93
+ ? getParseAs(response.headers.get('Content-Type'))
94
+ : opts.parseAs) ?? 'json';
95
+ if (response.status === 204 ||
96
+ response.headers.get('Content-Length') === '0') {
97
+ let emptyData;
98
+ switch (parseAs) {
99
+ case 'arrayBuffer':
100
+ case 'blob':
101
+ case 'text':
102
+ emptyData = await response[parseAs]();
103
+ break;
104
+ case 'formData':
105
+ emptyData = new FormData();
106
+ break;
107
+ case 'stream':
108
+ emptyData = response.body;
109
+ break;
110
+ case 'json':
111
+ default:
112
+ emptyData = {};
113
+ break;
114
+ }
115
+ return opts.responseStyle === 'data'
116
+ ? emptyData
117
+ : {
118
+ data: emptyData,
119
+ ...result,
120
+ };
121
+ }
122
+ let data;
123
+ switch (parseAs) {
124
+ case 'arrayBuffer':
125
+ case 'blob':
126
+ case 'formData':
127
+ case 'json':
128
+ case 'text':
129
+ data = await response[parseAs]();
130
+ break;
131
+ case 'stream':
132
+ return opts.responseStyle === 'data'
133
+ ? response.body
134
+ : {
135
+ data: response.body,
136
+ ...result,
137
+ };
138
+ }
139
+ if (parseAs === 'json') {
140
+ if (opts.responseValidator) {
141
+ await opts.responseValidator(data);
142
+ }
143
+ if (opts.responseTransformer) {
144
+ data = await opts.responseTransformer(data);
145
+ }
146
+ }
147
+ return opts.responseStyle === 'data'
148
+ ? data
149
+ : {
150
+ data,
151
+ ...result,
152
+ };
153
+ }
154
+ const textError = await response.text();
155
+ let jsonError;
156
+ try {
157
+ jsonError = JSON.parse(textError);
158
+ }
159
+ catch {
160
+ // noop
161
+ }
162
+ const error = jsonError ?? textError;
163
+ let finalError = error;
164
+ for (const fn of interceptors.error.fns) {
165
+ if (fn) {
166
+ finalError = (await fn(error, response, request, opts));
167
+ }
168
+ }
169
+ finalError = finalError || {};
170
+ if (opts.throwOnError) {
171
+ throw finalError;
172
+ }
173
+ // TODO: we probably want to return error and improve types
174
+ return opts.responseStyle === 'data'
175
+ ? undefined
176
+ : {
177
+ error: finalError,
178
+ ...result,
179
+ };
180
+ };
181
+ const makeMethodFn = (method) => (options) => request({ ...options, method });
182
+ const makeSseFn = (method) => async (options) => {
183
+ const { opts, url } = await beforeRequest(options);
184
+ return createSseClient({
185
+ ...opts,
186
+ body: opts.body,
187
+ headers: opts.headers,
188
+ method,
189
+ onRequest: async (url, init) => {
190
+ let request = new Request(url, init);
191
+ for (const fn of interceptors.request.fns) {
192
+ if (fn) {
193
+ request = await fn(request, opts);
194
+ }
195
+ }
196
+ return request;
197
+ },
198
+ url,
199
+ });
200
+ };
201
+ return {
202
+ buildUrl,
203
+ connect: makeMethodFn('CONNECT'),
204
+ delete: makeMethodFn('DELETE'),
205
+ get: makeMethodFn('GET'),
206
+ getConfig,
207
+ head: makeMethodFn('HEAD'),
208
+ interceptors,
209
+ options: makeMethodFn('OPTIONS'),
210
+ patch: makeMethodFn('PATCH'),
211
+ post: makeMethodFn('POST'),
212
+ put: makeMethodFn('PUT'),
213
+ request,
214
+ setConfig,
215
+ sse: {
216
+ connect: makeSseFn('CONNECT'),
217
+ delete: makeSseFn('DELETE'),
218
+ get: makeSseFn('GET'),
219
+ head: makeSseFn('HEAD'),
220
+ options: makeSseFn('OPTIONS'),
221
+ patch: makeSseFn('PATCH'),
222
+ post: makeSseFn('POST'),
223
+ put: makeSseFn('PUT'),
224
+ trace: makeSseFn('TRACE'),
225
+ },
226
+ trace: makeMethodFn('TRACE'),
227
+ };
228
+ };
229
+ //# sourceMappingURL=client.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.gen.js","sourceRoot":"","sources":["../../../../src/utils/controller-client/client/client.gen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type { Auth } from '../core/auth.gen.js';
2
+ export type { QuerySerializerOptions } from '../core/bodySerializer.gen.js';
3
+ export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen.js';
4
+ export { buildClientParams } from '../core/params.gen.js';
5
+ export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen.js';
6
+ export { createClient } from './client.gen.js';
7
+ export type { Client, ClientOptions, Config, CreateClientConfig, Options, RequestOptions, RequestResult, ResolvedRequestOptions, ResponseStyle, TDataShape, } from './types.gen.js';
8
+ export { createConfig, mergeHeaders } from './utils.gen.js';
@@ -0,0 +1,7 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen.js';
3
+ export { buildClientParams } from '../core/params.gen.js';
4
+ export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen.js';
5
+ export { createClient } from './client.gen.js';
6
+ export { createConfig, mergeHeaders } from './utils.gen.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/controller-client/client/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAIrD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAa/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}