@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,347 @@
1
+ import { createErrorResponse } from '../utils/http-utility.js';
2
+ import { withAuthenticatedClient } from '../utils/authenticated-client.js';
3
+ import { listAuthPolicies, detailAuthPolicy, createAuthPolicy, deleteAuthPolicy, patchAuthPolicy, } from '../utils/controller-client/sdk.gen.js';
4
+ // Define all available Auth Policy tools
5
+ export const AUTH_POLICY_TOOLS = [
6
+ {
7
+ name: 'listAuthPolicies',
8
+ description: 'List all Auth Policies in the Ziti network',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {},
12
+ },
13
+ _meta: {
14
+ requiredScopes: ['read:auth-policies'],
15
+ readOnly: true,
16
+ },
17
+ annotations: {
18
+ title: 'List all Auth Policies defined in the Ziti network.',
19
+ readOnlyHint: true,
20
+ destructiveHint: false,
21
+ idempotentHint: true,
22
+ openWorldHint: false,
23
+ },
24
+ },
25
+ {
26
+ name: 'listAuthPolicy',
27
+ description: 'Get details about a specific Ziti Auth Policy',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ id: { type: 'string', description: 'ID of the auth policy to retrieve' },
32
+ },
33
+ required: ['id'],
34
+ },
35
+ _meta: {
36
+ requiredScopes: ['read:auth-policies'],
37
+ readOnly: true,
38
+ },
39
+ annotations: {
40
+ title: 'Get Ziti Auth Policy Details',
41
+ readOnlyHint: true,
42
+ destructiveHint: false,
43
+ idempotentHint: true,
44
+ openWorldHint: false,
45
+ },
46
+ },
47
+ {
48
+ name: 'createAuthPolicy',
49
+ description: 'Create a new Ziti Auth Policy.',
50
+ inputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ name: { type: 'string', description: 'Name of the auth policy to create' },
54
+ primaryCertAllowed: {
55
+ type: 'boolean',
56
+ description: 'Whether certificate-based authentication is allowed',
57
+ default: false,
58
+ },
59
+ primaryCertAllowExpiredCerts: {
60
+ type: 'boolean',
61
+ description: 'Whether expired certificates are allowed',
62
+ default: false,
63
+ },
64
+ primaryExtJwtAllowed: {
65
+ type: 'boolean',
66
+ description: 'Whether external JWT authentication is allowed',
67
+ default: false,
68
+ },
69
+ primaryExtJwtAllowedSigners: {
70
+ type: 'string',
71
+ description: 'Comma-separated list of allowed external JWT signer IDs',
72
+ },
73
+ primaryUpdbAllowed: {
74
+ type: 'boolean',
75
+ description: 'Whether username/password authentication is allowed',
76
+ default: false,
77
+ },
78
+ primaryUpdbMinPasswordLength: {
79
+ type: 'number',
80
+ description: 'Minimum password length',
81
+ default: 5,
82
+ },
83
+ primaryUpdbRequireMixedCase: {
84
+ type: 'boolean',
85
+ description: 'Whether passwords require mixed case',
86
+ default: false,
87
+ },
88
+ primaryUpdbRequireNumberChar: {
89
+ type: 'boolean',
90
+ description: 'Whether passwords require a number character',
91
+ default: false,
92
+ },
93
+ primaryUpdbRequireSpecialChar: {
94
+ type: 'boolean',
95
+ description: 'Whether passwords require a special character',
96
+ default: false,
97
+ },
98
+ primaryUpdbMaxAttempts: {
99
+ type: 'number',
100
+ description: 'Maximum login attempts before lockout',
101
+ default: 0,
102
+ },
103
+ primaryUpdbLockoutDurationMinutes: {
104
+ type: 'number',
105
+ description: 'Lockout duration in minutes after max attempts',
106
+ default: 0,
107
+ },
108
+ secondaryRequireTotp: {
109
+ type: 'boolean',
110
+ description: 'Whether TOTP is required as a secondary auth factor',
111
+ default: false,
112
+ },
113
+ secondaryRequireExtJwtSigner: {
114
+ type: 'string',
115
+ description: 'ID of an external JWT signer required as secondary auth',
116
+ },
117
+ },
118
+ required: ['name'],
119
+ },
120
+ _meta: {
121
+ requiredScopes: ['write:auth-policies'],
122
+ readOnly: false,
123
+ },
124
+ annotations: {
125
+ title: 'Create a new Auth Policy in the Ziti network.',
126
+ readOnlyHint: false,
127
+ destructiveHint: false,
128
+ idempotentHint: false,
129
+ openWorldHint: false,
130
+ },
131
+ },
132
+ {
133
+ name: 'deleteAuthPolicy',
134
+ description: 'Delete a Ziti Auth Policy.',
135
+ inputSchema: {
136
+ type: 'object',
137
+ properties: {
138
+ id: { type: 'string', description: 'ID of the auth policy to delete' },
139
+ },
140
+ required: ['id'],
141
+ },
142
+ _meta: {
143
+ requiredScopes: ['write:auth-policies'],
144
+ readOnly: false,
145
+ },
146
+ annotations: {
147
+ title: 'Delete an Auth Policy from the Ziti network.',
148
+ readOnlyHint: false,
149
+ destructiveHint: true,
150
+ idempotentHint: false,
151
+ openWorldHint: false,
152
+ },
153
+ },
154
+ {
155
+ name: 'updateAuthPolicy',
156
+ description: 'Update an existing Ziti Auth Policy.',
157
+ inputSchema: {
158
+ type: 'object',
159
+ properties: {
160
+ id: { type: 'string', description: 'ID of the auth policy to update' },
161
+ name: { type: 'string', description: 'Name to give the auth policy' },
162
+ primaryCertAllowed: {
163
+ type: 'boolean',
164
+ description: 'Whether certificate-based authentication is allowed',
165
+ },
166
+ primaryCertAllowExpiredCerts: {
167
+ type: 'boolean',
168
+ description: 'Whether expired certificates are allowed',
169
+ },
170
+ primaryExtJwtAllowed: {
171
+ type: 'boolean',
172
+ description: 'Whether external JWT authentication is allowed',
173
+ },
174
+ primaryExtJwtAllowedSigners: {
175
+ type: 'string',
176
+ description: 'Comma-separated list of allowed external JWT signer IDs',
177
+ },
178
+ primaryUpdbAllowed: {
179
+ type: 'boolean',
180
+ description: 'Whether username/password authentication is allowed',
181
+ },
182
+ primaryUpdbMinPasswordLength: {
183
+ type: 'number',
184
+ description: 'Minimum password length',
185
+ },
186
+ primaryUpdbRequireMixedCase: {
187
+ type: 'boolean',
188
+ description: 'Whether passwords require mixed case',
189
+ },
190
+ primaryUpdbRequireNumberChar: {
191
+ type: 'boolean',
192
+ description: 'Whether passwords require a number character',
193
+ },
194
+ primaryUpdbRequireSpecialChar: {
195
+ type: 'boolean',
196
+ description: 'Whether passwords require a special character',
197
+ },
198
+ primaryUpdbMaxAttempts: {
199
+ type: 'number',
200
+ description: 'Maximum login attempts before lockout',
201
+ },
202
+ primaryUpdbLockoutDurationMinutes: {
203
+ type: 'number',
204
+ description: 'Lockout duration in minutes after max attempts',
205
+ },
206
+ secondaryRequireTotp: {
207
+ type: 'boolean',
208
+ description: 'Whether TOTP is required as a secondary auth factor',
209
+ },
210
+ secondaryRequireExtJwtSigner: {
211
+ type: 'string',
212
+ description: 'ID of an external JWT signer required as secondary auth',
213
+ },
214
+ },
215
+ required: ['id'],
216
+ },
217
+ _meta: {
218
+ requiredScopes: ['write:auth-policies'],
219
+ readOnly: false,
220
+ },
221
+ annotations: {
222
+ title: 'Update an existing Auth Policy in the Ziti network.',
223
+ readOnlyHint: false,
224
+ destructiveHint: true,
225
+ idempotentHint: true,
226
+ openWorldHint: false,
227
+ },
228
+ },
229
+ ];
230
+ function buildPrimaryBody(params) {
231
+ return {
232
+ cert: {
233
+ allowed: params.primaryCertAllowed,
234
+ allowExpiredCerts: params.primaryCertAllowExpiredCerts,
235
+ },
236
+ extJwt: {
237
+ allowed: params.primaryExtJwtAllowed,
238
+ allowedSigners: params.primaryExtJwtAllowedSigners
239
+ ? params.primaryExtJwtAllowedSigners.split(',').map((s) => s.trim())
240
+ : [],
241
+ },
242
+ updb: {
243
+ allowed: params.primaryUpdbAllowed,
244
+ minPasswordLength: params.primaryUpdbMinPasswordLength ?? 5,
245
+ requireMixedCase: params.primaryUpdbRequireMixedCase,
246
+ requireNumberChar: params.primaryUpdbRequireNumberChar,
247
+ requireSpecialChar: params.primaryUpdbRequireSpecialChar,
248
+ maxAttempts: params.primaryUpdbMaxAttempts ?? 0,
249
+ lockoutDurationMinutes: params.primaryUpdbLockoutDurationMinutes ?? 0,
250
+ },
251
+ };
252
+ }
253
+ function buildSecondaryBody(params) {
254
+ return {
255
+ requireTotp: params.secondaryRequireTotp,
256
+ requireExtJwtSigner: params.secondaryRequireExtJwtSigner ?? null,
257
+ };
258
+ }
259
+ function buildPrimaryPatchBody(params) {
260
+ return {
261
+ cert: params.primaryCertAllowed !== undefined || params.primaryCertAllowExpiredCerts !== undefined
262
+ ? {
263
+ allowed: params.primaryCertAllowed,
264
+ allowExpiredCerts: params.primaryCertAllowExpiredCerts,
265
+ }
266
+ : undefined,
267
+ extJwt: params.primaryExtJwtAllowed !== undefined || params.primaryExtJwtAllowedSigners !== undefined
268
+ ? {
269
+ allowed: params.primaryExtJwtAllowed,
270
+ allowedSigners: params.primaryExtJwtAllowedSigners
271
+ ? params.primaryExtJwtAllowedSigners
272
+ .split(',')
273
+ .map((s) => s.trim())
274
+ : undefined,
275
+ }
276
+ : undefined,
277
+ updb: params.primaryUpdbAllowed !== undefined ||
278
+ params.primaryUpdbMinPasswordLength !== undefined ||
279
+ params.primaryUpdbRequireMixedCase !== undefined ||
280
+ params.primaryUpdbRequireNumberChar !== undefined ||
281
+ params.primaryUpdbRequireSpecialChar !== undefined ||
282
+ params.primaryUpdbMaxAttempts !== undefined ||
283
+ params.primaryUpdbLockoutDurationMinutes !== undefined
284
+ ? {
285
+ allowed: params.primaryUpdbAllowed,
286
+ minPasswordLength: params.primaryUpdbMinPasswordLength,
287
+ requireMixedCase: params.primaryUpdbRequireMixedCase,
288
+ requireNumberChar: params.primaryUpdbRequireNumberChar,
289
+ requireSpecialChar: params.primaryUpdbRequireSpecialChar,
290
+ maxAttempts: params.primaryUpdbMaxAttempts,
291
+ lockoutDurationMinutes: params.primaryUpdbLockoutDurationMinutes,
292
+ }
293
+ : undefined,
294
+ };
295
+ }
296
+ function buildSecondaryPatchBody(params) {
297
+ return {
298
+ requireTotp: params.secondaryRequireTotp,
299
+ requireExtJwtSigner: params.secondaryRequireExtJwtSigner,
300
+ };
301
+ }
302
+ // Define handlers for each Auth Policy tool
303
+ export const AUTH_POLICY_HANDLERS = {
304
+ listAuthPolicies: (request, config) => withAuthenticatedClient(request, config, 'list auth policies', (client, ztSession) => listAuthPolicies({ client, headers: { 'zt-session': ztSession } })),
305
+ listAuthPolicy: (request, config) => {
306
+ const { id } = request.parameters;
307
+ if (!id)
308
+ return Promise.resolve(createErrorResponse('Error: id is required'));
309
+ return withAuthenticatedClient(request, config, 'get auth policy', (client, ztSession) => detailAuthPolicy({ path: { id }, client, headers: { 'zt-session': ztSession } }));
310
+ },
311
+ createAuthPolicy: (request, config) => {
312
+ const { name } = request.parameters;
313
+ if (!name)
314
+ return Promise.resolve(createErrorResponse('Error: name is required'));
315
+ return withAuthenticatedClient(request, config, 'create auth policy', (client, ztSession) => createAuthPolicy({
316
+ body: {
317
+ name,
318
+ primary: buildPrimaryBody(request.parameters),
319
+ secondary: buildSecondaryBody(request.parameters),
320
+ },
321
+ client,
322
+ headers: { 'zt-session': ztSession },
323
+ }));
324
+ },
325
+ deleteAuthPolicy: (request, config) => {
326
+ const { id } = request.parameters;
327
+ if (!id)
328
+ return Promise.resolve(createErrorResponse('Error: id is required'));
329
+ return withAuthenticatedClient(request, config, 'delete auth policy', (client, ztSession) => deleteAuthPolicy({ path: { id }, client, headers: { 'zt-session': ztSession } }));
330
+ },
331
+ updateAuthPolicy: (request, config) => {
332
+ const { id, name } = request.parameters;
333
+ if (!id)
334
+ return Promise.resolve(createErrorResponse('Error: id is required'));
335
+ return withAuthenticatedClient(request, config, 'update auth policy', (client, ztSession) => patchAuthPolicy({
336
+ path: { id },
337
+ body: {
338
+ name,
339
+ primary: buildPrimaryPatchBody(request.parameters),
340
+ secondary: buildSecondaryPatchBody(request.parameters),
341
+ },
342
+ client,
343
+ headers: { 'zt-session': ztSession },
344
+ }));
345
+ },
346
+ };
347
+ //# sourceMappingURL=auth-policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-policies.js","sourceRoot":"","sources":["../../src/tools/auth-policies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HandlerConfig, HandlerRequest, HandlerResponse, Tool } from '../utils/types.js';
2
+ export declare const AUTHENTICATOR_TOOLS: Tool[];
3
+ export declare const AUTHENTICATOR_HANDLERS: Record<string, (request: HandlerRequest, config: HandlerConfig) => Promise<HandlerResponse>>;
@@ -0,0 +1,183 @@
1
+ import { createErrorResponse } from '../utils/http-utility.js';
2
+ import { withAuthenticatedClient } from '../utils/authenticated-client.js';
3
+ import { listAuthenticators, detailAuthenticator, createAuthenticator, deleteAuthenticator, patchAuthenticator, } from '../utils/controller-client/sdk.gen.js';
4
+ // Define all available Authenticator tools
5
+ export const AUTHENTICATOR_TOOLS = [
6
+ {
7
+ name: 'listAuthenticators',
8
+ description: 'List all Authenticators in the Ziti network',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {},
12
+ },
13
+ _meta: {
14
+ requiredScopes: ['read:authenticators'],
15
+ readOnly: true,
16
+ },
17
+ annotations: {
18
+ title: 'List all Authenticators defined in the Ziti network.',
19
+ readOnlyHint: true,
20
+ destructiveHint: false,
21
+ idempotentHint: true,
22
+ openWorldHint: false,
23
+ },
24
+ },
25
+ {
26
+ name: 'listAuthenticator',
27
+ description: 'Get details about a specific Ziti Authenticator',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ id: { type: 'string', description: 'ID of the authenticator to retrieve' },
32
+ },
33
+ required: ['id'],
34
+ },
35
+ _meta: {
36
+ requiredScopes: ['read:authenticators'],
37
+ readOnly: true,
38
+ },
39
+ annotations: {
40
+ title: 'Get Ziti Authenticator Details',
41
+ readOnlyHint: true,
42
+ destructiveHint: false,
43
+ idempotentHint: true,
44
+ openWorldHint: false,
45
+ },
46
+ },
47
+ {
48
+ name: 'createAuthenticator',
49
+ description: 'Create a new Ziti Authenticator.',
50
+ inputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ method: {
54
+ type: 'string',
55
+ description: 'The type of authenticator to create (e.g. "updb" for username/password, "cert" for certificate)',
56
+ },
57
+ identityId: {
58
+ type: 'string',
59
+ description: 'The ID of the identity to assign this authenticator to',
60
+ },
61
+ username: {
62
+ type: 'string',
63
+ description: 'The username for login (used only for method="updb")',
64
+ },
65
+ password: {
66
+ type: 'string',
67
+ description: 'The password for login (used only for method="updb")',
68
+ },
69
+ certPem: {
70
+ type: 'string',
71
+ description: 'The client certificate PEM (used only for method="cert")',
72
+ },
73
+ },
74
+ required: ['method', 'identityId'],
75
+ },
76
+ _meta: {
77
+ requiredScopes: ['write:authenticators'],
78
+ readOnly: false,
79
+ },
80
+ annotations: {
81
+ title: 'Create a new Authenticator in the Ziti network.',
82
+ readOnlyHint: false,
83
+ destructiveHint: false,
84
+ idempotentHint: false,
85
+ openWorldHint: false,
86
+ },
87
+ },
88
+ {
89
+ name: 'deleteAuthenticator',
90
+ description: 'Delete a Ziti Authenticator.',
91
+ inputSchema: {
92
+ type: 'object',
93
+ properties: {
94
+ id: { type: 'string', description: 'ID of the authenticator to delete' },
95
+ },
96
+ required: ['id'],
97
+ },
98
+ _meta: {
99
+ requiredScopes: ['write:authenticators'],
100
+ readOnly: false,
101
+ },
102
+ annotations: {
103
+ title: 'Delete an Authenticator from the Ziti network.',
104
+ readOnlyHint: false,
105
+ destructiveHint: true,
106
+ idempotentHint: false,
107
+ openWorldHint: false,
108
+ },
109
+ },
110
+ {
111
+ name: 'updateAuthenticator',
112
+ description: 'Update an existing Ziti Authenticator.',
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {
116
+ id: { type: 'string', description: 'ID of the authenticator to update' },
117
+ username: { type: 'string', description: 'New username for the authenticator' },
118
+ password: { type: 'string', description: 'New password for the authenticator' },
119
+ },
120
+ required: ['id'],
121
+ },
122
+ _meta: {
123
+ requiredScopes: ['write:authenticators'],
124
+ readOnly: false,
125
+ },
126
+ annotations: {
127
+ title: 'Update an existing Authenticator in the Ziti network.',
128
+ readOnlyHint: false,
129
+ destructiveHint: true,
130
+ idempotentHint: true,
131
+ openWorldHint: false,
132
+ },
133
+ },
134
+ ];
135
+ // Define handlers for each Authenticator tool
136
+ export const AUTHENTICATOR_HANDLERS = {
137
+ listAuthenticators: (request, config) => withAuthenticatedClient(request, config, 'list authenticators', (client, ztSession) => listAuthenticators({ client, headers: { 'zt-session': ztSession } })),
138
+ listAuthenticator: (request, config) => {
139
+ const { id } = request.parameters;
140
+ if (!id)
141
+ return Promise.resolve(createErrorResponse('Error: id is required'));
142
+ return withAuthenticatedClient(request, config, 'get authenticator', (client, ztSession) => detailAuthenticator({ path: { id }, client, headers: { 'zt-session': ztSession } }));
143
+ },
144
+ createAuthenticator: (request, config) => {
145
+ const { method, identityId, username, password, certPem } = request.parameters;
146
+ if (!method)
147
+ return Promise.resolve(createErrorResponse('Error: method is required'));
148
+ if (!identityId)
149
+ return Promise.resolve(createErrorResponse('Error: identityId is required'));
150
+ return withAuthenticatedClient(request, config, 'create authenticator', (client, ztSession) => createAuthenticator({
151
+ body: {
152
+ method,
153
+ identityId,
154
+ username,
155
+ password,
156
+ certPem,
157
+ },
158
+ client,
159
+ headers: { 'zt-session': ztSession },
160
+ }));
161
+ },
162
+ deleteAuthenticator: (request, config) => {
163
+ const { id } = request.parameters;
164
+ if (!id)
165
+ return Promise.resolve(createErrorResponse('Error: id is required'));
166
+ return withAuthenticatedClient(request, config, 'delete authenticator', (client, ztSession) => deleteAuthenticator({ path: { id }, client, headers: { 'zt-session': ztSession } }));
167
+ },
168
+ updateAuthenticator: (request, config) => {
169
+ const { id, username, password } = request.parameters;
170
+ if (!id)
171
+ return Promise.resolve(createErrorResponse('Error: id is required'));
172
+ return withAuthenticatedClient(request, config, 'update authenticator', (client, ztSession) => patchAuthenticator({
173
+ path: { id },
174
+ body: {
175
+ username,
176
+ password,
177
+ },
178
+ client,
179
+ headers: { 'zt-session': ztSession },
180
+ }));
181
+ },
182
+ };
183
+ //# sourceMappingURL=authenticators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticators.js","sourceRoot":"","sources":["../../src/tools/authenticators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HandlerConfig, HandlerRequest, HandlerResponse, Tool } from '../utils/types.js';
2
+ export declare const CA_TOOLS: Tool[];
3
+ export declare const CA_HANDLERS: Record<string, (request: HandlerRequest, config: HandlerConfig) => Promise<HandlerResponse>>;