@elastic.io/mcp 1.0.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 (155) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +171 -0
  3. package/dist/api/client.d.ts +12 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +124 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/jsonapi.d.ts +28 -0
  8. package/dist/api/jsonapi.d.ts.map +1 -0
  9. package/dist/api/jsonapi.js +45 -0
  10. package/dist/api/jsonapi.js.map +1 -0
  11. package/dist/api/logger.d.ts +9 -0
  12. package/dist/api/logger.d.ts.map +1 -0
  13. package/dist/api/logger.js +46 -0
  14. package/dist/api/logger.js.map +1 -0
  15. package/dist/api/samples.d.ts +21 -0
  16. package/dist/api/samples.d.ts.map +1 -0
  17. package/dist/api/samples.js +465 -0
  18. package/dist/api/samples.js.map +1 -0
  19. package/dist/config.d.ts +16 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +49 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/embeddings/factory.d.ts +7 -0
  24. package/dist/embeddings/factory.d.ts.map +1 -0
  25. package/dist/embeddings/factory.js +25 -0
  26. package/dist/embeddings/factory.js.map +1 -0
  27. package/dist/embeddings/google.d.ts +19 -0
  28. package/dist/embeddings/google.d.ts.map +1 -0
  29. package/dist/embeddings/google.js +132 -0
  30. package/dist/embeddings/google.js.map +1 -0
  31. package/dist/embeddings/types.d.ts +27 -0
  32. package/dist/embeddings/types.d.ts.map +1 -0
  33. package/dist/embeddings/types.js +2 -0
  34. package/dist/embeddings/types.js.map +1 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +226 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/paths.d.ts +3 -0
  40. package/dist/paths.d.ts.map +1 -0
  41. package/dist/paths.js +10 -0
  42. package/dist/paths.js.map +1 -0
  43. package/dist/server.d.ts +29 -0
  44. package/dist/server.d.ts.map +1 -0
  45. package/dist/server.js +361 -0
  46. package/dist/server.js.map +1 -0
  47. package/dist/tools/confirmation.d.ts +41 -0
  48. package/dist/tools/confirmation.d.ts.map +1 -0
  49. package/dist/tools/confirmation.js +120 -0
  50. package/dist/tools/confirmation.js.map +1 -0
  51. package/dist/tools/constants.d.ts +31 -0
  52. package/dist/tools/constants.d.ts.map +1 -0
  53. package/dist/tools/constants.js +85 -0
  54. package/dist/tools/constants.js.map +1 -0
  55. package/dist/tools/definitions.d.ts +3 -0
  56. package/dist/tools/definitions.d.ts.map +1 -0
  57. package/dist/tools/definitions.js +883 -0
  58. package/dist/tools/definitions.js.map +1 -0
  59. package/dist/tools/handlers/auth.d.ts +3 -0
  60. package/dist/tools/handlers/auth.d.ts.map +1 -0
  61. package/dist/tools/handlers/auth.js +540 -0
  62. package/dist/tools/handlers/auth.js.map +1 -0
  63. package/dist/tools/handlers/component.d.ts +3 -0
  64. package/dist/tools/handlers/component.d.ts.map +1 -0
  65. package/dist/tools/handlers/component.js +145 -0
  66. package/dist/tools/handlers/component.js.map +1 -0
  67. package/dist/tools/handlers/data-sample.d.ts +3 -0
  68. package/dist/tools/handlers/data-sample.d.ts.map +1 -0
  69. package/dist/tools/handlers/data-sample.js +51 -0
  70. package/dist/tools/handlers/data-sample.js.map +1 -0
  71. package/dist/tools/handlers/dynamic.d.ts +3 -0
  72. package/dist/tools/handlers/dynamic.d.ts.map +1 -0
  73. package/dist/tools/handlers/dynamic.js +110 -0
  74. package/dist/tools/handlers/dynamic.js.map +1 -0
  75. package/dist/tools/handlers/flow.d.ts +9 -0
  76. package/dist/tools/handlers/flow.d.ts.map +1 -0
  77. package/dist/tools/handlers/flow.js +899 -0
  78. package/dist/tools/handlers/flow.js.map +1 -0
  79. package/dist/tools/handlers/log.d.ts +3 -0
  80. package/dist/tools/handlers/log.d.ts.map +1 -0
  81. package/dist/tools/handlers/log.js +61 -0
  82. package/dist/tools/handlers/log.js.map +1 -0
  83. package/dist/tools/handlers/organization.d.ts +3 -0
  84. package/dist/tools/handlers/organization.d.ts.map +1 -0
  85. package/dist/tools/handlers/organization.js +39 -0
  86. package/dist/tools/handlers/organization.js.map +1 -0
  87. package/dist/tools/handlers/raw.d.ts +3 -0
  88. package/dist/tools/handlers/raw.d.ts.map +1 -0
  89. package/dist/tools/handlers/raw.js +77 -0
  90. package/dist/tools/handlers/raw.js.map +1 -0
  91. package/dist/tools/handlers/search.d.ts +3 -0
  92. package/dist/tools/handlers/search.d.ts.map +1 -0
  93. package/dist/tools/handlers/search.js +82 -0
  94. package/dist/tools/handlers/search.js.map +1 -0
  95. package/dist/tools/handlers/session.d.ts +3 -0
  96. package/dist/tools/handlers/session.d.ts.map +1 -0
  97. package/dist/tools/handlers/session.js +15 -0
  98. package/dist/tools/handlers/session.js.map +1 -0
  99. package/dist/tools/handlers.d.ts +12 -0
  100. package/dist/tools/handlers.d.ts.map +1 -0
  101. package/dist/tools/handlers.js +197 -0
  102. package/dist/tools/handlers.js.map +1 -0
  103. package/dist/tools/helpers.d.ts +45 -0
  104. package/dist/tools/helpers.d.ts.map +1 -0
  105. package/dist/tools/helpers.js +195 -0
  106. package/dist/tools/helpers.js.map +1 -0
  107. package/dist/tools/types.d.ts +32 -0
  108. package/dist/tools/types.d.ts.map +1 -0
  109. package/dist/tools/types.js +2 -0
  110. package/dist/tools/types.js.map +1 -0
  111. package/dist/tools/validation.d.ts +24 -0
  112. package/dist/tools/validation.d.ts.map +1 -0
  113. package/dist/tools/validation.js +748 -0
  114. package/dist/tools/validation.js.map +1 -0
  115. package/dist/types/index.d.ts +47 -0
  116. package/dist/types/index.d.ts.map +1 -0
  117. package/dist/types/index.js +2 -0
  118. package/dist/types/index.js.map +1 -0
  119. package/dist/vectorstore/factory.d.ts +7 -0
  120. package/dist/vectorstore/factory.d.ts.map +1 -0
  121. package/dist/vectorstore/factory.js +25 -0
  122. package/dist/vectorstore/factory.js.map +1 -0
  123. package/dist/vectorstore/qdrant.d.ts +11 -0
  124. package/dist/vectorstore/qdrant.d.ts.map +1 -0
  125. package/dist/vectorstore/qdrant.js +107 -0
  126. package/dist/vectorstore/qdrant.js.map +1 -0
  127. package/dist/vectorstore/types.d.ts +28 -0
  128. package/dist/vectorstore/types.d.ts.map +1 -0
  129. package/dist/vectorstore/types.js +2 -0
  130. package/dist/vectorstore/types.js.map +1 -0
  131. package/package.json +51 -0
  132. package/resources/docs/component-test-scenarios.md +2468 -0
  133. package/resources/docs/credential-validation-gaps.md +35 -0
  134. package/resources/docs/debug-issues.md +71 -0
  135. package/resources/docs/deployment-and-scaling.md +136 -0
  136. package/resources/docs/flow-building-guide.md +565 -0
  137. package/resources/docs/packaging-plan.md +84 -0
  138. package/resources/docs/standardized-components-guide.md +66 -0
  139. package/resources/docs/system-instructions.md +177 -0
  140. package/resources/docs/unique-components.md +60 -0
  141. package/resources/docs/verified-creds-flow-ids.md +193 -0
  142. package/resources/flow-examples/batch-flow-1-collect.json +51 -0
  143. package/resources/flow-examples/batch-flow-2-process.json +70 -0
  144. package/resources/flow-examples/code-component-transform.json +65 -0
  145. package/resources/flow-examples/code-component-trigger.json +52 -0
  146. package/resources/flow-examples/code-component-with-credentials-trigger.json +53 -0
  147. package/resources/flow-examples/code-component-with-credentials.json +67 -0
  148. package/resources/flow-examples/filter-step.json +63 -0
  149. package/resources/flow-examples/polling-sync-trigger.json +50 -0
  150. package/resources/flow-examples/router-branching.json +94 -0
  151. package/resources/flow-examples/splitter-re-assemble.json +72 -0
  152. package/resources/flow-examples/splitter-split.json +68 -0
  153. package/resources/flow-examples/timer-query-action-sync.json +68 -0
  154. package/resources/flow-examples/webhook-async-sync.json +49 -0
  155. package/resources/flow-examples/webhook-request-reply.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ToolHandler } from '../types.js';
2
+ export declare const authHandlers: Record<string, ToolHandler>;
3
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmkBpD,CAAC"}
@@ -0,0 +1,540 @@
1
+ import { deserializeJsonApi } from '../../api/jsonapi.js';
2
+ import { logger } from '../../api/logger.js';
3
+ import { textResult, listResult, maskSensitiveData } from '../helpers.js';
4
+ export const authHandlers = {
5
+ create_auth_client: async (args, { client }) => {
6
+ const { componentId, name: clientName, type: clientType, workspaceId, contractId, tenantId, credentials = {} } = args;
7
+ const clientCredentials = { ...credentials };
8
+ if (clientType === 'oauth2') {
9
+ if (clientCredentials.token_uri && !clientCredentials.refresh_token_uri) {
10
+ clientCredentials.refresh_token_uri = clientCredentials.token_uri;
11
+ }
12
+ }
13
+ const body = {
14
+ data: {
15
+ type: 'auth-client',
16
+ attributes: {
17
+ type: clientType,
18
+ name: clientName,
19
+ credentials: clientCredentials
20
+ },
21
+ relationships: {
22
+ components: {
23
+ data: [
24
+ {
25
+ id: componentId,
26
+ type: 'component'
27
+ }
28
+ ]
29
+ }
30
+ }
31
+ }
32
+ };
33
+ if (workspaceId) {
34
+ body.data.relationships.workspace = {
35
+ data: { id: workspaceId, type: 'workspace' }
36
+ };
37
+ }
38
+ else if (contractId) {
39
+ body.data.relationships.contract = {
40
+ data: { id: contractId, type: 'contract' }
41
+ };
42
+ }
43
+ else if (tenantId) {
44
+ body.data.relationships.tenant = {
45
+ data: { id: tenantId, type: 'tenant' }
46
+ };
47
+ }
48
+ const response = await client.post('/auth-clients', body);
49
+ const data = deserializeJsonApi(response.data);
50
+ return textResult(data);
51
+ },
52
+ create_credentials: async (args, { client }) => {
53
+ const { workspaceId, componentId, name, authClientId, clientConfig, secretConfig, credentialConfig } = args;
54
+ // 1. Fetch component details
55
+ const compRes = await client.get(`/components/${componentId}`);
56
+ const component = deserializeJsonApi(compRes.data);
57
+ const componentName = component?.name || component?.attributes?.name || 'Component';
58
+ // 2. Fetch descriptor to determine type
59
+ let descriptor = null;
60
+ try {
61
+ const descRes = await client.get(`/components/${componentId}/versions/latest/descriptor`);
62
+ descriptor = deserializeJsonApi(descRes.data);
63
+ }
64
+ catch (err) {
65
+ logger.warn(`[create_credentials] Failed to fetch descriptor for component ${componentId}: ${err instanceof Error ? err.message : String(err)}`);
66
+ }
67
+ // 3. Analyze auth type
68
+ let usesSecrets = false;
69
+ let authFieldKey = '';
70
+ let authFieldViewClass = '';
71
+ let authClientTypes = [];
72
+ if (descriptor) {
73
+ const creds = descriptor.credentials;
74
+ if (creds && creds.fields) {
75
+ for (const key of Object.keys(creds.fields)) {
76
+ const field = creds.fields[key];
77
+ if (field && (field.viewClass === 'OAuthFieldView' || field.viewClass === 'HTTPAuthView')) {
78
+ usesSecrets = true;
79
+ authFieldKey = key;
80
+ authFieldViewClass = field.viewClass;
81
+ break;
82
+ }
83
+ }
84
+ }
85
+ if (descriptor.authClientTypes && Array.isArray(descriptor.authClientTypes)) {
86
+ usesSecrets = true;
87
+ authClientTypes = descriptor.authClientTypes;
88
+ }
89
+ else if (descriptor.credentials?.authClientTypes && Array.isArray(descriptor.credentials.authClientTypes)) {
90
+ usesSecrets = true;
91
+ authClientTypes = descriptor.credentials.authClientTypes;
92
+ }
93
+ }
94
+ if (usesSecrets && authClientTypes.length === 0) {
95
+ if (authFieldViewClass === 'OAuthFieldView') {
96
+ authClientTypes = ['oauth2'];
97
+ }
98
+ else {
99
+ authClientTypes = ['noauth', 'basic', 'api_key', 'oauth2'];
100
+ }
101
+ }
102
+ const isSecretsType = usesSecrets;
103
+ // 4. Handle Creation
104
+ if (isSecretsType) {
105
+ let finalAuthClientId = authClientId;
106
+ // Create auth client if not provided
107
+ if (!finalAuthClientId) {
108
+ if (!clientConfig || !clientConfig.type) {
109
+ throw new Error(`Component '${componentName}' (${componentId}) uses secrets authentication. Please provide 'clientConfig' (containing 'type') to create a new auth client, or specify an existing 'authClientId'.`);
110
+ }
111
+ const cName = clientConfig.name || `${componentName} Auth Client (${clientConfig.type})`;
112
+ const clientRelationships = {
113
+ components: {
114
+ data: [{ id: componentId, type: 'component' }]
115
+ }
116
+ };
117
+ let resolvedContractId = null;
118
+ if (!clientConfig.workspaceId && !clientConfig.contractId && !clientConfig.tenantId && clientConfig.scope !== 'global') {
119
+ try {
120
+ const wsRes = await client.get(`/workspaces/${workspaceId}`);
121
+ const wsData = deserializeJsonApi(wsRes.data);
122
+ resolvedContractId = wsData?.contract?.data?.id || wsData?.contract?.id || wsData?.attributes?.contract?.data?.id || wsData?.attributes?.contract?.id || null;
123
+ }
124
+ catch (err) {
125
+ logger.warn(`[create_credentials] Failed to fetch workspace ${workspaceId} details for scoping: ${err instanceof Error ? err.message : String(err)}`);
126
+ }
127
+ }
128
+ // Scope detection
129
+ if (clientConfig.workspaceId) {
130
+ clientRelationships.workspace = { data: { id: clientConfig.workspaceId, type: 'workspace' } };
131
+ }
132
+ else if (clientConfig.contractId) {
133
+ clientRelationships.contract = { data: { id: clientConfig.contractId, type: 'contract' } };
134
+ }
135
+ else if (clientConfig.tenantId) {
136
+ clientRelationships.tenant = { data: { id: clientConfig.tenantId, type: 'tenant' } };
137
+ }
138
+ else if (clientConfig.scope === 'global') {
139
+ // Leave as is (global scope)
140
+ }
141
+ else if (clientConfig.type === 'oauth2') {
142
+ clientRelationships.workspace = { data: { id: workspaceId, type: 'workspace' } };
143
+ }
144
+ else if (resolvedContractId) {
145
+ clientRelationships.contract = { data: { id: resolvedContractId, type: 'contract' } };
146
+ }
147
+ const clientCredentials = { ...(clientConfig.credentials || {}) };
148
+ if (clientConfig.type === 'oauth2') {
149
+ if (clientCredentials.token_uri && !clientCredentials.refresh_token_uri) {
150
+ clientCredentials.refresh_token_uri = clientCredentials.token_uri;
151
+ }
152
+ }
153
+ const clientPayload = {
154
+ data: {
155
+ type: 'auth-client',
156
+ attributes: {
157
+ type: clientConfig.type,
158
+ name: cName,
159
+ credentials: clientCredentials
160
+ },
161
+ relationships: clientRelationships
162
+ }
163
+ };
164
+ const clientRes = await client.post('/auth-clients', clientPayload);
165
+ const clientData = deserializeJsonApi(clientRes.data);
166
+ finalAuthClientId = clientData.id;
167
+ }
168
+ // Create secret
169
+ if (!secretConfig || !secretConfig.type) {
170
+ throw new Error(`Component '${componentName}' (${componentId}) uses secrets authentication. Please provide 'secretConfig' (containing 'type' and 'credentials') to create the authentication secret.`);
171
+ }
172
+ const sName = name || secretConfig.name || `${componentName} Secret (${secretConfig.type})`;
173
+ const secretPayload = {
174
+ data: {
175
+ type: 'auth-secret',
176
+ attributes: {
177
+ name: sName,
178
+ type: secretConfig.type,
179
+ credentials: secretConfig.credentials || {},
180
+ state: 'ready'
181
+ },
182
+ relationships: {
183
+ auth_client: {
184
+ data: { id: finalAuthClientId, type: 'auth-client' }
185
+ }
186
+ }
187
+ }
188
+ };
189
+ const secretRes = await client.post(`/workspaces/${workspaceId}/secrets`, secretPayload);
190
+ const secretData = deserializeJsonApi(secretRes.data);
191
+ return textResult({
192
+ authType: 'secrets',
193
+ componentId,
194
+ workspaceId,
195
+ authClientId: finalAuthClientId,
196
+ secretId: secretData.id,
197
+ secret: secretData
198
+ });
199
+ }
200
+ else {
201
+ // Create standard credentials
202
+ if (!credentialConfig || !credentialConfig.keys) {
203
+ throw new Error(`Component '${componentName}' (${componentId}) uses standard credentials. Please provide 'credentialConfig' containing the credential fields under 'keys'.`);
204
+ }
205
+ const credName = name || credentialConfig.name || `${componentName} Credential`;
206
+ const keys = credentialConfig.keys || {};
207
+ const credPayload = {
208
+ data: {
209
+ type: 'credential',
210
+ attributes: {
211
+ name: credName,
212
+ keys
213
+ },
214
+ relationships: {
215
+ workspace: {
216
+ data: { id: workspaceId, type: 'workspace' }
217
+ },
218
+ component: {
219
+ data: { id: componentId, type: 'component' }
220
+ }
221
+ }
222
+ }
223
+ };
224
+ const response = await client.post('/credentials', credPayload);
225
+ const data = deserializeJsonApi(response.data);
226
+ return textResult({
227
+ authType: 'credentials',
228
+ componentId,
229
+ workspaceId,
230
+ credentialId: data.id,
231
+ credential: data
232
+ });
233
+ }
234
+ },
235
+ create_secret: async (args, { client }) => {
236
+ const { workspaceId, name: secretName, type: secretType, authClientId, credentials = {} } = args;
237
+ const body = {
238
+ data: {
239
+ type: 'auth-secret',
240
+ attributes: {
241
+ name: secretName,
242
+ type: secretType,
243
+ credentials: credentials,
244
+ state: 'ready'
245
+ },
246
+ relationships: {
247
+ auth_client: {
248
+ data: { id: authClientId, type: 'auth-client' }
249
+ }
250
+ }
251
+ }
252
+ };
253
+ const response = await client.post(`/workspaces/${workspaceId}/secrets`, body);
254
+ const data = deserializeJsonApi(response.data);
255
+ return textResult(data);
256
+ },
257
+ get_auth_client: async (args, { client }) => {
258
+ const { authClientId, workspaceId, contractId, tenantId } = args;
259
+ let url = `/auth-clients/${authClientId}`;
260
+ const params = [];
261
+ if (workspaceId !== undefined)
262
+ params.push(`workspace_id=${workspaceId}`);
263
+ if (contractId !== undefined)
264
+ params.push(`contract_id=${contractId}`);
265
+ if (tenantId !== undefined)
266
+ params.push(`tenant_id=${tenantId}`);
267
+ if (params.length > 0) {
268
+ url += '?' + params.join('&');
269
+ }
270
+ const response = await client.get(url);
271
+ const data = deserializeJsonApi(response.data);
272
+ return textResult(maskSensitiveData(data));
273
+ },
274
+ get_credential: async (args, { client }) => {
275
+ const { credentialId } = args;
276
+ const response = await client.get(`/credentials/${credentialId}`);
277
+ const data = deserializeJsonApi(response.data);
278
+ return textResult(maskSensitiveData(data));
279
+ },
280
+ get_secret: async (args, { client }) => {
281
+ const { workspaceId, secretId } = args;
282
+ const response = await client.get(`/workspaces/${workspaceId}/secrets/${secretId}`);
283
+ const data = deserializeJsonApi(response.data);
284
+ return textResult(maskSensitiveData(data));
285
+ },
286
+ list_auth_clients: async (args, { client }) => {
287
+ const { workspaceId, contractId, tenantId, componentId } = args;
288
+ let url = '/auth-clients';
289
+ const params = [];
290
+ if (workspaceId !== undefined)
291
+ params.push(`workspace_id=${workspaceId}`);
292
+ if (contractId !== undefined)
293
+ params.push(`contract_id=${contractId}`);
294
+ if (tenantId !== undefined)
295
+ params.push(`tenant_id=${tenantId}`);
296
+ if (componentId !== undefined)
297
+ params.push(`filter[component]=${componentId}`);
298
+ if (params.length > 0) {
299
+ url += '?' + params.join('&');
300
+ }
301
+ const response = await client.get(url);
302
+ const rawData = deserializeJsonApi(response.data);
303
+ const clientList = Array.isArray(rawData) ? rawData : (rawData ? [rawData] : []);
304
+ const summary = clientList.map((c) => {
305
+ return {
306
+ id: c.id,
307
+ name: c.name || '',
308
+ type: c.type || ''
309
+ };
310
+ });
311
+ return listResult(summary);
312
+ },
313
+ list_credentials: async (args, { client, discoveryState }) => {
314
+ const { workspaceId, componentId } = args;
315
+ if (!componentId) {
316
+ throw new Error("Missing required parameter: 'componentId' for tool 'list_credentials'");
317
+ }
318
+ let url = `/credentials?workspace_id=${workspaceId}&filter[component]=${componentId}`;
319
+ const response = await client.get(url);
320
+ const rawData = deserializeJsonApi(response.data);
321
+ const credList = Array.isArray(rawData) ? rawData : (rawData ? [rawData] : []);
322
+ credList.forEach((cred) => {
323
+ if (cred.id) {
324
+ discoveryState.credentials.add(cred.id);
325
+ }
326
+ });
327
+ const summary = credList.map((cred) => {
328
+ const name = cred.name || cred.attributes?.name || '';
329
+ return {
330
+ id: cred.id,
331
+ name
332
+ };
333
+ });
334
+ let result = summary;
335
+ if (summary.length > 1) {
336
+ result = {
337
+ warning: "CRITICAL: Multiple matching credentials found. You are strictly PROHIBITED from choosing one or guessing. You must stop immediately and ask the user to clarify which credential they want to use.",
338
+ credentials: summary
339
+ };
340
+ }
341
+ return listResult(result);
342
+ },
343
+ list_secrets: async (args, { client, discoveryState }) => {
344
+ const { workspaceId, componentId } = args;
345
+ if (!componentId) {
346
+ throw new Error("Missing required parameter: 'componentId' for tool 'list_secrets'");
347
+ }
348
+ let allowedAuthClientIds = new Set();
349
+ try {
350
+ const authRes = await client.get(`/auth-clients?workspace_id=${workspaceId}&filter[component]=${componentId}`);
351
+ const authData = deserializeJsonApi(authRes.data);
352
+ const authClients = Array.isArray(authData) ? authData : (authData ? [authData] : []);
353
+ for (const ac of authClients) {
354
+ if (ac.id)
355
+ allowedAuthClientIds.add(ac.id);
356
+ }
357
+ }
358
+ catch (err) {
359
+ logger.warn(`[list_secrets] Failed to fetch auth clients for component ${componentId}: ${err instanceof Error ? err.message : String(err)}`);
360
+ }
361
+ const response = await client.get(`/workspaces/${workspaceId}/secrets`);
362
+ const rawData = deserializeJsonApi(response.data);
363
+ const secretList = Array.isArray(rawData) ? rawData : (rawData ? [rawData] : []);
364
+ secretList.forEach((secret) => {
365
+ if (secret.id) {
366
+ discoveryState.secrets.set(secret.id, secret.state || 'unknown');
367
+ }
368
+ });
369
+ const summary = secretList
370
+ .filter((secret) => {
371
+ const authClientId = secret.auth_client?.id || secret.auth_client?.data?.id || '';
372
+ return authClientId && allowedAuthClientIds.has(authClientId);
373
+ })
374
+ .map((secret) => {
375
+ const authClientId = secret.auth_client?.id || secret.auth_client?.data?.id || '';
376
+ return {
377
+ id: secret.id,
378
+ name: secret.name || '',
379
+ type: secret.type || '',
380
+ state: secret.state || '',
381
+ authClientId
382
+ };
383
+ });
384
+ let result = summary;
385
+ if (summary.length > 1) {
386
+ result = {
387
+ warning: "CRITICAL: Multiple matching secrets found. You are strictly PROHIBITED from choosing one or guessing. You must stop immediately and ask the user to clarify which secret they want to use.",
388
+ secrets: summary
389
+ };
390
+ }
391
+ return listResult(result);
392
+ },
393
+ init_verify_credentials: async (args, { client, discoveryState }) => {
394
+ const { workspaceId, componentId, versionId = 'latest', credentialId, secretId, fields, logLevel = 'info' } = args;
395
+ if (!credentialId && !secretId) {
396
+ throw new Error("Either credentialId or secretId must be provided to retrieve the credential fields for verification.");
397
+ }
398
+ let verifyFields = fields || {};
399
+ if (credentialId) {
400
+ const response = await client.get(`/credentials/${credentialId}`);
401
+ const data = deserializeJsonApi(response.data);
402
+ const existingFields = data?.keys || data?.attributes?.keys || {};
403
+ verifyFields = { ...existingFields, ...verifyFields };
404
+ }
405
+ else if (secretId) {
406
+ // Fetch the secret
407
+ const response = await client.get(`/workspaces/${workspaceId}/secrets/${secretId}`);
408
+ const data = deserializeJsonApi(response.data);
409
+ const credentials = data?.credentials || data?.attributes?.credentials || {};
410
+ // Fetch component descriptor to determine viewClass and field key
411
+ // (mirrors frontend's getSpecialField from secrets-wrapper.jsx)
412
+ let specialFieldKey = null;
413
+ try {
414
+ const descRes = await client.get(`/components/${componentId}/versions/${versionId}/descriptor`);
415
+ const descriptor = deserializeJsonApi(descRes.data);
416
+ const credFields = descriptor?.credentials?.fields;
417
+ if (credFields) {
418
+ for (const key of Object.keys(credFields)) {
419
+ const field = credFields[key];
420
+ if (field && (field.viewClass === 'HTTPAuthView' || field.viewClass === 'OAuthFieldView')) {
421
+ specialFieldKey = key;
422
+ break;
423
+ }
424
+ }
425
+ }
426
+ }
427
+ catch (err) {
428
+ logger.warn(`[init_verify_credentials] Failed to fetch descriptor for component ${componentId}: ${err instanceof Error ? err.message : String(err)}`);
429
+ }
430
+ if (specialFieldKey) {
431
+ // Mirror frontend's verifyCred logic:
432
+ // fields = { [specialFieldKey]: omit(credentials, 'fields'), ...credentials.fields }
433
+ // The secret's credentials already contain the auth data in API format.
434
+ // We wrap it under the descriptor's field key and spread any extra fields.
435
+ const { fields: extraFields, ...authData } = credentials;
436
+ const { [specialFieldKey]: fieldOverrides, ...otherFieldOverrides } = fields || {};
437
+ verifyFields = {
438
+ [specialFieldKey]: { ...authData, ...fieldOverrides },
439
+ ...(extraFields || {}),
440
+ ...otherFieldOverrides
441
+ };
442
+ }
443
+ else {
444
+ // No special field — credentials are used as-is (plain fields, no viewClass wrapper)
445
+ verifyFields = { ...credentials, ...(fields || {}) };
446
+ }
447
+ }
448
+ const requestBody = {
449
+ data: {
450
+ type: 'verify-credential',
451
+ attributes: {
452
+ fields: verifyFields,
453
+ log_level: logLevel
454
+ },
455
+ relationships: {
456
+ workspace: {
457
+ data: {
458
+ id: workspaceId,
459
+ type: 'workspace'
460
+ }
461
+ }
462
+ }
463
+ }
464
+ };
465
+ const url = `/components/${componentId}/versions/${versionId}/verify-credential`;
466
+ const response = await client.post(url, requestBody);
467
+ const data = deserializeJsonApi(response.data);
468
+ const executionId = data?.id;
469
+ if (!executionId) {
470
+ throw new Error("Failed to start credential verification: No execution ID received.");
471
+ }
472
+ const credOrSecretId = credentialId || secretId;
473
+ // Poll for verification result (max 5 attempts, 3s delay) and store in discoveryState
474
+ const maxAttempts = 5;
475
+ const delayMs = 3000;
476
+ let verificationResult = null;
477
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
478
+ if (attempt > 1) {
479
+ await new Promise(resolve => setTimeout(resolve, delayMs));
480
+ }
481
+ try {
482
+ const resultRes = await client.get(`/exec/result/${executionId}`);
483
+ const resultData = resultRes.data?.data?.attributes || resultRes.data?.data || {};
484
+ const status = typeof resultData.status === 'string' ? resultData.status.toLowerCase() : '';
485
+ if (status.includes('pending'))
486
+ continue;
487
+ const result = resultData.result;
488
+ // Check execution-level failure (component crash, container error, etc.)
489
+ if (status.includes('error') || status.includes('fail')) {
490
+ const reason = result?.error || result?.message || resultData.error || resultData.message || `Execution status: ${resultData.status}`;
491
+ verificationResult = { ok: false, error: typeof reason === 'string' ? reason : JSON.stringify(reason) };
492
+ break;
493
+ }
494
+ // Check result-level failure (result may be {data: {verified, reason}} or {verified, reason})
495
+ const verifyPayload = result?.data || result;
496
+ if (verifyPayload?.verified === false || result?.error || result?.status === 'error') {
497
+ const reason = verifyPayload?.reason || verifyPayload?.error || result?.error || result?.message || result?.reason || JSON.stringify(result);
498
+ verificationResult = { ok: false, error: typeof reason === 'string' ? reason : JSON.stringify(reason) };
499
+ }
500
+ else if (result === undefined || result === null) {
501
+ // No result returned — treat as failure
502
+ verificationResult = { ok: false, error: `Verification returned no result. Execution status: ${resultData.status || 'unknown'}` };
503
+ }
504
+ else {
505
+ verificationResult = { ok: true };
506
+ }
507
+ break;
508
+ }
509
+ catch (err) {
510
+ const isNotReady = err.message && (err.message.includes('409') || err.message.includes('not ready'));
511
+ if (isNotReady)
512
+ continue;
513
+ verificationResult = { ok: false, error: `Verification polling error: ${err.message || String(err)}` };
514
+ break;
515
+ }
516
+ }
517
+ if (!verificationResult) {
518
+ verificationResult = { ok: false, error: 'Verification timed out after polling — result was still pending.' };
519
+ }
520
+ if (credOrSecretId) {
521
+ discoveryState.credentialVerifications.set(credOrSecretId, verificationResult);
522
+ }
523
+ if (!verificationResult.ok) {
524
+ return textResult({
525
+ status: 'error',
526
+ verified: false,
527
+ credentialId: credOrSecretId,
528
+ error: verificationResult.error,
529
+ message: `Credential verification FAILED for '${credOrSecretId}': ${verificationResult.error}. This credential/secret cannot be used in flows until the issue is resolved.`
530
+ });
531
+ }
532
+ return textResult({
533
+ status: 'ok',
534
+ verified: true,
535
+ credentialId: credOrSecretId,
536
+ message: `Credential verification succeeded for '${credOrSecretId}'.`
537
+ });
538
+ }
539
+ };
540
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/tools/handlers/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ToolHandler } from '../types.js';
2
+ export declare const componentHandlers: Record<string, ToolHandler>;
3
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmKzD,CAAC"}