@smartbear/mcp 0.11.0 → 0.12.1

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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/bugsnag/client/api/Error.js +52 -14
  3. package/dist/bugsnag/client/api/Project.js +193 -8
  4. package/dist/bugsnag/client/api/api.js +130 -3
  5. package/dist/bugsnag/client/api/base.js +19 -0
  6. package/dist/bugsnag/client/api/index.js +1 -1
  7. package/dist/bugsnag/client.js +527 -20
  8. package/dist/bugsnag/input-schemas.js +14 -6
  9. package/dist/common/transport-stdio.js +5 -0
  10. package/dist/qmetry/client/auto-resolve.js +10 -0
  11. package/dist/qmetry/client/automation.js +171 -0
  12. package/dist/qmetry/client/handlers.js +9 -2
  13. package/dist/qmetry/client/project.js +87 -1
  14. package/dist/qmetry/client/testsuite.js +37 -1
  15. package/dist/qmetry/client/tools/automation-tools.js +290 -0
  16. package/dist/qmetry/client/tools/index.js +3 -0
  17. package/dist/qmetry/client/tools/issue-tools.js +1 -1
  18. package/dist/qmetry/client/tools/project-tools.js +311 -1
  19. package/dist/qmetry/client/tools/requirement-tools.js +1 -1
  20. package/dist/qmetry/client/tools/testcase-tools.js +311 -39
  21. package/dist/qmetry/client/tools/testsuite-tools.js +337 -23
  22. package/dist/qmetry/config/constants.js +6 -0
  23. package/dist/qmetry/config/rest-endpoints.js +8 -0
  24. package/dist/qmetry/types/automation.js +8 -0
  25. package/dist/qmetry/types/common.js +299 -4
  26. package/dist/qmetry/types/issues.js +5 -0
  27. package/dist/qmetry/types/project.js +13 -0
  28. package/dist/qmetry/types/requirements.js +5 -0
  29. package/dist/qmetry/types/testcase.js +5 -0
  30. package/dist/qmetry/types/testsuite.js +9 -0
  31. package/dist/swagger/client/api.js +93 -36
  32. package/dist/swagger/client/configuration.js +3 -1
  33. package/dist/swagger/client/portal-types.js +7 -6
  34. package/dist/swagger/client/registry-types.js +26 -0
  35. package/dist/swagger/client/tools.js +15 -16
  36. package/dist/swagger/client.js +6 -6
  37. package/dist/tests/unit/bugsnag/utils/factories.js +86 -0
  38. package/dist/zephyr/client.js +4 -0
  39. package/dist/zephyr/tool/environment/get-environments.js +68 -0
  40. package/dist/zephyr/tool/test-execution/get-test-executions.js +45 -0
  41. package/package.json +3 -2
package/README.md CHANGED
@@ -32,7 +32,7 @@ See individual guides for suggested prompts and supported tools and resources:
32
32
  - [Test Hub](https://developer.smartbear.com/smartbear-mcp/docs/test-hub-integration) - Test management and execution capabilities
33
33
  - **Swagger**
34
34
  - [Portal](https://developer.smartbear.com/smartbear-mcp/docs/swagger-portal-integration) - Portal and product management capabilities
35
- - [Studio](https://developer.smartbear.com/smartbear-mcp/docs/swagger-studio-integration) - API and Domain management capabilities
35
+ - [Studio](https://developer.smartbear.com/smartbear-mcp/docs/swagger-studio-integration) - API and Domain management capabilities, including AI-powered API generation from prompts and automatic standardization
36
36
  - [Contract Testing (PactFlow)](https://developer.smartbear.com/pactflow/default/getting-started) - Contract testing capabilities
37
37
  - [QMetry](https://developer.smartbear.com/smartbear-mcp/docs/qmetry-integration) - QMetry Test Management capabilities
38
38
  - [Zephyr](https://developer.smartbear.com/smartbear-mcp/docs/zephyr-integration) - Zephyr Test Management capabilities
@@ -1,5 +1,6 @@
1
+ import { toUrlSearchParams } from "../filters.js";
1
2
  import { ErrorsApiFetchParamCreator, } from "./api.js";
2
- import { BaseAPI, getQueryParams } from "./base.js";
3
+ import { BaseAPI } from "./base.js";
3
4
  export class ErrorAPI extends BaseAPI {
4
5
  static filterFields = ["url", "project_url", "events_url"];
5
6
  /**
@@ -14,9 +15,27 @@ export class ErrorAPI extends BaseAPI {
14
15
  * Get the latest Event in a Project, with optional filters
15
16
  * GET /projects/{project_id}/events
16
17
  */
17
- async listEventsOnProject(projectId, base, sort, direction, perPage, filters, fullReports) {
18
- const localVarFetchArgs = ErrorsApiFetchParamCreator(this.configuration).listEventsOnProject(projectId, base ?? undefined, sort, direction, perPage, undefined, fullReports, { query: filters });
19
- return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, false);
18
+ async listEventsOnProject(projectId, base, sort, direction, perPage, filters, fullReports, nextUrl) {
19
+ if (nextUrl) {
20
+ // Don't allow override of these params when using nextUrl
21
+ direction = undefined;
22
+ sort = undefined;
23
+ base = undefined;
24
+ }
25
+ const localVarFetchArgs = ErrorsApiFetchParamCreator(this.configuration).listEventsOnProject(projectId, base ?? undefined, sort, direction, perPage, undefined, // Filters are encoded separately below
26
+ fullReports, undefined);
27
+ const url = new URL(nextUrl ?? localVarFetchArgs.url, this.configuration.basePath);
28
+ if (perPage) {
29
+ // Allow override of per page, even with nextUrl
30
+ url.searchParams.set("per_page", perPage.toString());
31
+ }
32
+ if (!nextUrl && filters) {
33
+ // Apply our own encoding of filters
34
+ toUrlSearchParams(filters).forEach((value, key) => {
35
+ url.searchParams.append(key, value);
36
+ });
37
+ }
38
+ return await this.requestArray(url.toString(), localVarFetchArgs.options, false);
20
39
  }
21
40
  /**
22
41
  * View an Event by ID
@@ -31,19 +50,26 @@ export class ErrorAPI extends BaseAPI {
31
50
  * GET /projects/{project_id}/errors
32
51
  */
33
52
  async listProjectErrors(projectId, base, sort, direction, perPage, filters, nextUrl) {
34
- const options = getQueryParams(nextUrl, nextUrl ? undefined : filters);
35
53
  if (nextUrl) {
36
- if (perPage) {
37
- // Next links need to be used as-is to ensure results are consistent, so only the page size can be modified
38
- // the others will get overridden
39
- options.query.per_page = perPage.toString();
40
- }
54
+ // Don't allow override of these params when using nextUrl
41
55
  direction = undefined;
42
56
  sort = undefined;
43
57
  base = undefined;
44
58
  }
45
- const localVarFetchArgs = ErrorsApiFetchParamCreator(this.configuration).listProjectErrors(projectId, base ?? undefined, sort, direction, perPage, undefined, options);
46
- return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, false);
59
+ const localVarFetchArgs = ErrorsApiFetchParamCreator(this.configuration).listProjectErrors(projectId, base ?? undefined, sort, direction, undefined, undefined, // Filters are encoded separately below
60
+ undefined, undefined);
61
+ const url = new URL(nextUrl ?? localVarFetchArgs.url, this.configuration.basePath);
62
+ if (perPage) {
63
+ // Allow override of per page, even with nextUrl
64
+ url.searchParams.set("per_page", perPage.toString());
65
+ }
66
+ if (!nextUrl && filters) {
67
+ // Apply our own encoding of filters
68
+ toUrlSearchParams(filters).forEach((value, key) => {
69
+ url.searchParams.append(key, value);
70
+ });
71
+ }
72
+ return await this.requestArray(url.toString(), localVarFetchArgs.options, false);
47
73
  }
48
74
  /**
49
75
  * Update an Error on a Project
@@ -58,7 +84,19 @@ export class ErrorAPI extends BaseAPI {
58
84
  * GET /projects/{project_id}/errors/{error_id}/pivots
59
85
  */
60
86
  async getPivotValuesOnAnError(projectId, errorId, filters, summarySize, pivots, perPage) {
61
- const localVarFetchArgs = ErrorsApiFetchParamCreator(this.configuration).listPivotsOnAnError(projectId, errorId, undefined, summarySize, pivots, perPage, { query: filters });
62
- return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, false);
87
+ const localVarFetchArgs = ErrorsApiFetchParamCreator(this.configuration).listPivotsOnAnError(projectId, errorId, undefined, // filters are encoded separately below
88
+ summarySize, pivots, undefined);
89
+ const url = new URL(localVarFetchArgs.url, this.configuration.basePath);
90
+ if (perPage) {
91
+ // Allow override of per page, even with nextUrl
92
+ url.searchParams.set("per_page", perPage.toString());
93
+ }
94
+ if (filters) {
95
+ // Apply our own encoding of filters
96
+ toUrlSearchParams(filters).forEach((value, key) => {
97
+ url.searchParams.append(key, value);
98
+ });
99
+ }
100
+ return await this.requestArray(url.toString(), localVarFetchArgs.options, false);
63
101
  }
64
102
  }
@@ -1,3 +1,4 @@
1
+ import { toUrlSearchParams } from "../filters.js";
1
2
  import { ProjectsApiFetchParamCreator } from "./api.js";
2
3
  import { BaseAPI, getQueryParams } from "./base.js";
3
4
  export class ProjectAPI extends BaseAPI {
@@ -67,21 +68,25 @@ export class ProjectAPI extends BaseAPI {
67
68
  * Lists releases for a specific project.
68
69
  * GET /projects/{project_id}/release_groups
69
70
  * @param projectId The ID of the project.
70
- * @param opts Options for listing releases, including filtering by release stage and visibility.
71
+ * @param releaseStageName The name of the release stage to filter by.
72
+ * @param topOnly Whether to only include top-level releases.
73
+ * @param visibleOnly Whether to only include visible releases.
74
+ * @param perPage The number of results per page.
75
+ * @param nextUrl Optional URL for next page (overrides other pagination params).
71
76
  * @returns A promise that resolves to an array of `ReleaseSummaryResponse` objects.
72
77
  */
73
78
  async listProjectReleaseGroups(projectId, releaseStageName, topOnly, visibleOnly, perPage, nextUrl) {
74
- const options = getQueryParams(nextUrl);
75
- // Next links need to be used as-is to ensure results are consistent, so only the page size can be modified
76
- // the others will get overridden
77
79
  if (nextUrl) {
78
- options.query.per_page = perPage ? perPage.toString() : undefined;
79
80
  topOnly = undefined;
80
81
  visibleOnly = undefined;
81
82
  }
82
- const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).listProjectReleaseGroups(projectId, releaseStageName, topOnly, visibleOnly, perPage, undefined, // pageToken passed in through options
83
- options);
84
- return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, false, // Paginate results
83
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).listProjectReleaseGroups(projectId, releaseStageName, topOnly, visibleOnly, perPage, undefined, undefined);
84
+ const url = new URL(nextUrl ?? localVarFetchArgs.url, this.configuration.basePath);
85
+ if (perPage) {
86
+ // Allow override of per page, even with nextUrl
87
+ url.searchParams.set("per_page", perPage.toString());
88
+ }
89
+ return await this.requestArray(url.toString(), localVarFetchArgs.options, false, // Paginate results
85
90
  ProjectAPI.releaseFields);
86
91
  }
87
92
  /**
@@ -104,4 +109,184 @@ export class ProjectAPI extends BaseAPI {
104
109
  const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).getReleaseGroup(releaseId);
105
110
  return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, true, ProjectAPI.buildFields);
106
111
  }
112
+ // ============================================================================
113
+ // Performance API Methods
114
+ // ============================================================================
115
+ /**
116
+ * List span groups for a project with optional filtering and pagination.
117
+ * GET /projects/{project_id}/span_groups
118
+ * @param projectId The ID of the project to which the Span Groups belong.
119
+ * @param sort The field to sort the span groups by.
120
+ * @param direction The direction to sort the span groups by.
121
+ * @param perPage The number of results per page.
122
+ * @param offset The offset for the next page of results.
123
+ * @param filters The current filters that are being applied.
124
+ * @param starredOnly Whether to only return Span Groups the requesting user has starred.
125
+ * @param nextUrl Optional URL for next page (overrides other pagination params).
126
+ * @returns A promise that resolves to an array of span groups.
127
+ */
128
+ async listProjectSpanGroups(projectId, sort, direction, perPage, offset, filters, starredOnly, nextUrl) {
129
+ if (nextUrl) {
130
+ sort = undefined;
131
+ direction = undefined;
132
+ offset = undefined;
133
+ }
134
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).listProjectSpanGroups(projectId, sort, direction, perPage, offset, undefined, // Filters are encoded separately below
135
+ starredOnly, undefined);
136
+ const url = new URL(nextUrl ?? localVarFetchArgs.url, this.configuration.basePath);
137
+ if (perPage) {
138
+ // Allow override of per page, even with nextUrl
139
+ url.searchParams.set("per_page", perPage.toString());
140
+ }
141
+ if (!nextUrl && filters) {
142
+ // Apply our own encoding of filters
143
+ toUrlSearchParams(filters).forEach((value, key) => {
144
+ url.searchParams.append(key, value);
145
+ });
146
+ }
147
+ return await this.requestArray(url.toString(), localVarFetchArgs.options, false);
148
+ }
149
+ /**
150
+ * Get detailed information about a specific span group.
151
+ * GET /projects/{project_id}/span_groups/{id}
152
+ * @param projectId The ID of the project to which the Span Group belongs.
153
+ * @param id The ID of the Span Group.
154
+ * @param filters The current filters that are being applied.
155
+ * @returns A promise that resolves to the span group.
156
+ */
157
+ async getProjectSpanGroup(projectId, id, filters) {
158
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).getProjectSpanGroup(projectId, id, undefined, undefined);
159
+ const url = new URL(localVarFetchArgs.url, this.configuration.basePath);
160
+ if (filters) {
161
+ // Apply our own encoding of filters
162
+ toUrlSearchParams(filters).forEach((value, key) => {
163
+ url.searchParams.append(key, value);
164
+ });
165
+ }
166
+ return await this.requestObject(url.toString(), localVarFetchArgs.options);
167
+ }
168
+ /**
169
+ * Get time-series performance metrics for a span group.
170
+ * GET /projects/{project_id}/span_groups/{id}/timeline
171
+ * @param projectId The ID of the project to which the Span Group belongs.
172
+ * @param id The ID of the Span Group.
173
+ * @param filters The current filters that are being applied.
174
+ * @returns A promise that resolves to the timeline data.
175
+ */
176
+ async getProjectSpanGroupTimeline(projectId, id, filters) {
177
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).getProjectSpanGroupTimeline(projectId, id, undefined, undefined);
178
+ const url = new URL(localVarFetchArgs.url, this.configuration.basePath);
179
+ if (filters) {
180
+ // Apply our own encoding of filters
181
+ toUrlSearchParams(filters).forEach((value, key) => {
182
+ url.searchParams.append(key, value);
183
+ });
184
+ }
185
+ return await this.requestObject(url.toString(), localVarFetchArgs.options);
186
+ }
187
+ /**
188
+ * Get distribution histogram of span durations for a span group.
189
+ * GET /projects/{project_id}/span_groups/{id}/distribution
190
+ * @param projectId The ID of the project to which the Span Group belongs.
191
+ * @param id The ID of the Span Group.
192
+ * @param filters The current filters that are being applied.
193
+ * @returns A promise that resolves to the distribution data.
194
+ */
195
+ async getProjectSpanGroupDistribution(projectId, id, filters) {
196
+ const options = {};
197
+ if (filters) {
198
+ options.query = toUrlSearchParams(filters);
199
+ }
200
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).getProjectSpanGroupDistribution(projectId, id, undefined, undefined);
201
+ const url = new URL(localVarFetchArgs.url, this.configuration.basePath);
202
+ if (filters) {
203
+ // Apply our own encoding of filters
204
+ toUrlSearchParams(filters).forEach((value, key) => {
205
+ url.searchParams.append(key, value);
206
+ });
207
+ }
208
+ return await this.requestObject(url.toString(), localVarFetchArgs.options);
209
+ }
210
+ /**
211
+ * List individual spans for a specific span group with filtering and sorting.
212
+ * GET /projects/{project_id}/span_groups/{id}/spans
213
+ * @param projectId The ID of the project to which the spans belong.
214
+ * @param id The ID of the Span Group.
215
+ * @param filters The current filters that are being applied.
216
+ * @param sort The field to sort the spans by.
217
+ * @param direction The direction to sort the spans by.
218
+ * @param perPage The number of results per page.
219
+ * @param nextUrl Optional URL for next page (overrides other pagination params).
220
+ * @returns A promise that resolves to an array of spans.
221
+ */
222
+ async listSpansBySpanGroupId(projectId, id, filters, sort, direction, perPage, nextUrl) {
223
+ if (nextUrl) {
224
+ sort = undefined;
225
+ direction = undefined;
226
+ }
227
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).listSpansBySpanGroupId(projectId, id, undefined, sort, direction, perPage, undefined);
228
+ const url = new URL(nextUrl ?? localVarFetchArgs.url, this.configuration.basePath);
229
+ if (perPage) {
230
+ // Allow override of per page, even with nextUrl
231
+ url.searchParams.set("per_page", perPage.toString());
232
+ }
233
+ if (!nextUrl && filters) {
234
+ // Apply our own encoding of filters
235
+ toUrlSearchParams(filters).forEach((value, key) => {
236
+ url.searchParams.append(key, value);
237
+ });
238
+ }
239
+ return await this.requestArray(url.toString(), localVarFetchArgs.options, false);
240
+ }
241
+ /**
242
+ * List all spans that belong to a specific trace.
243
+ * GET /projects/{project_id}/traces/{trace_id}/spans
244
+ * @param projectId The ID of the project to which the spans belong.
245
+ * @param traceId The ID of the Trace to which the spans belong.
246
+ * @param from Beginning of window to return spans from (ISO 8601 timestamp).
247
+ * @param to End of window to return spans from (ISO 8601 timestamp).
248
+ * @param targetSpanId The ID of a Span within the Trace to focus on.
249
+ * @param perPage The number of results to return per page.
250
+ * @param nextUrl Optional URL for next page (overrides other pagination params).
251
+ * @returns A promise that resolves to an array of spans.
252
+ */
253
+ async listSpansByTraceId(projectId, traceId, from, to, targetSpanId, perPage, nextUrl) {
254
+ const options = getQueryParams(nextUrl);
255
+ if (nextUrl) {
256
+ options.query.per_page = perPage ? perPage.toString() : undefined;
257
+ }
258
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).listSpansByTraceId(projectId, traceId, from, to, targetSpanId, perPage, options);
259
+ return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, false);
260
+ }
261
+ /**
262
+ * List all trace fields available for filtering spans on a project.
263
+ * GET /projects/{project_id}/trace_fields
264
+ * @param projectId The ID of the project to which the Trace Field belongs.
265
+ * @returns A promise that resolves to an array of trace field definitions.
266
+ */
267
+ async listProjectTraceFields(projectId) {
268
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).listProjectTraceFields(projectId);
269
+ return await this.requestArray(localVarFetchArgs.url, localVarFetchArgs.options, true);
270
+ }
271
+ /**
272
+ * Get the network endpoint grouping rules for a project.
273
+ * GET /projects/{project_id}/network_endpoint_grouping
274
+ * @param projectId The ID of the project to retrieve the endpoints for.
275
+ * @returns A promise that resolves to the network grouping ruleset.
276
+ */
277
+ async getProjectNetworkGroupingRuleset(projectId) {
278
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).getProjectNetworkGroupingRuleset(projectId);
279
+ return await this.requestObject(localVarFetchArgs.url, localVarFetchArgs.options);
280
+ }
281
+ /**
282
+ * Update the network endpoint grouping rules for a project.
283
+ * PUT /projects/{project_id}/network_endpoint_grouping
284
+ * @param projectId The ID of the project to update the endpoints for.
285
+ * @param endpoints Array of URL patterns by which network spans are grouped.
286
+ * @returns A promise that resolves to the updated network grouping ruleset.
287
+ */
288
+ async updateProjectNetworkGroupingRuleset(projectId, endpoints) {
289
+ const localVarFetchArgs = ProjectsApiFetchParamCreator(this.configuration).updateProjectNetworkGroupingRuleset(projectId, { endpoints });
290
+ return await this.requestObject(localVarFetchArgs.url, localVarFetchArgs.options);
291
+ }
107
292
  }
@@ -298,12 +298,38 @@ var PerformanceFilterValue;
298
298
  MatchTypeEnum[MatchTypeEnum["Empty"] = "empty"] = "Empty";
299
299
  })(MatchTypeEnum = PerformanceFilterValue.MatchTypeEnum || (PerformanceFilterValue.MatchTypeEnum = {}));
300
300
  })(PerformanceFilterValue || (PerformanceFilterValue = {}));
301
+ /**
302
+ * @export
303
+ * @namespace PerformanceTargetConfiguration
304
+ */
305
+ var PerformanceTargetConfiguration;
306
+ (function (PerformanceTargetConfiguration) {
307
+ /**
308
+ * @export
309
+ * @enum {string}
310
+ */
311
+ let StateEnum;
312
+ (function (StateEnum) {
313
+ StateEnum[StateEnum["Enabled"] = "enabled"] = "Enabled";
314
+ StateEnum[StateEnum["Disabled"] = "disabled"] = "Disabled";
315
+ })(StateEnum = PerformanceTargetConfiguration.StateEnum || (PerformanceTargetConfiguration.StateEnum = {}));
316
+ })(PerformanceTargetConfiguration || (PerformanceTargetConfiguration = {}));
317
+ /**
318
+ *
319
+ * @export
320
+ * @enum {string}
321
+ */
322
+ var PerformanceTargetType;
323
+ (function (PerformanceTargetType) {
324
+ PerformanceTargetType[PerformanceTargetType["Category"] = "category"] = "Category";
325
+ PerformanceTargetType[PerformanceTargetType["SpanGroup"] = "span_group"] = "SpanGroup";
326
+ })(PerformanceTargetType || (PerformanceTargetType = {}));
301
327
  /**
302
328
  * used for Projects that use a framework other than those listed above
303
329
  * @export
304
330
  * @enum {string}
305
331
  */
306
- var ProjectType;
332
+ export var ProjectType;
307
333
  (function (ProjectType) {
308
334
  ProjectType[ProjectType["Android"] = "android"] = "Android";
309
335
  ProjectType[ProjectType["Angular"] = "angular"] = "Angular";
@@ -333,6 +359,7 @@ var ProjectType;
333
359
  ProjectType[ProjectType["Java"] = "java"] = "Java";
334
360
  ProjectType[ProjectType["JavaDesktop"] = "java_desktop"] = "JavaDesktop";
335
361
  ProjectType[ProjectType["Js"] = "js"] = "Js";
362
+ ProjectType[ProjectType["Vega"] = "vega"] = "Vega";
336
363
  ProjectType[ProjectType["Koa"] = "koa"] = "Koa";
337
364
  ProjectType[ProjectType["Laravel"] = "laravel"] = "Laravel";
338
365
  ProjectType[ProjectType["Lumen"] = "lumen"] = "Lumen";
@@ -410,6 +437,102 @@ var SeverityOptions;
410
437
  SeverityOptions[SeverityOptions["Warning"] = "warning"] = "Warning";
411
438
  SeverityOptions[SeverityOptions["Error"] = "error"] = "Error";
412
439
  })(SeverityOptions || (SeverityOptions = {}));
440
+ /**
441
+ * @export
442
+ * @namespace Span
443
+ */
444
+ var Span;
445
+ (function (Span) {
446
+ /**
447
+ * @export
448
+ * @enum {string}
449
+ */
450
+ let TimeAdjustmentTypeEnum;
451
+ (function (TimeAdjustmentTypeEnum) {
452
+ TimeAdjustmentTypeEnum[TimeAdjustmentTypeEnum["Adjusted"] = "adjusted"] = "Adjusted";
453
+ TimeAdjustmentTypeEnum[TimeAdjustmentTypeEnum["Device"] = "device"] = "Device";
454
+ TimeAdjustmentTypeEnum[TimeAdjustmentTypeEnum["Received"] = "received"] = "Received";
455
+ TimeAdjustmentTypeEnum[TimeAdjustmentTypeEnum["Unadjusted"] = "unadjusted"] = "Unadjusted";
456
+ })(TimeAdjustmentTypeEnum = Span.TimeAdjustmentTypeEnum || (Span.TimeAdjustmentTypeEnum = {}));
457
+ })(Span || (Span = {}));
458
+ /**
459
+ *
460
+ * @export
461
+ * @enum {string}
462
+ */
463
+ var SpanGroupCategory;
464
+ (function (SpanGroupCategory) {
465
+ SpanGroupCategory[SpanGroupCategory["AppStart"] = "app_start"] = "AppStart";
466
+ SpanGroupCategory[SpanGroupCategory["ViewLoad"] = "view_load"] = "ViewLoad";
467
+ SpanGroupCategory[SpanGroupCategory["PageLoad"] = "page_load"] = "PageLoad";
468
+ SpanGroupCategory[SpanGroupCategory["RouteChange"] = "route_change"] = "RouteChange";
469
+ SpanGroupCategory[SpanGroupCategory["FullPageLoad"] = "full_page_load"] = "FullPageLoad";
470
+ SpanGroupCategory[SpanGroupCategory["Network"] = "network"] = "Network";
471
+ SpanGroupCategory[SpanGroupCategory["Custom"] = "custom"] = "Custom";
472
+ SpanGroupCategory[SpanGroupCategory["Navigation"] = "navigation"] = "Navigation";
473
+ SpanGroupCategory[SpanGroupCategory["InboundHttp"] = "inbound_http"] = "InboundHttp";
474
+ SpanGroupCategory[SpanGroupCategory["OutboundHttp"] = "outbound_http"] = "OutboundHttp";
475
+ SpanGroupCategory[SpanGroupCategory["InboundRpc"] = "inbound_rpc"] = "InboundRpc";
476
+ SpanGroupCategory[SpanGroupCategory["OutboundRpc"] = "outbound_rpc"] = "OutboundRpc";
477
+ SpanGroupCategory[SpanGroupCategory["CustomServer"] = "custom_server"] = "CustomServer";
478
+ SpanGroupCategory[SpanGroupCategory["FrozenFrame"] = "frozen_frame"] = "FrozenFrame";
479
+ })(SpanGroupCategory || (SpanGroupCategory = {}));
480
+ /**
481
+ *
482
+ * @export
483
+ * @enum {string}
484
+ */
485
+ var SpanMetadataLevel;
486
+ (function (SpanMetadataLevel) {
487
+ SpanMetadataLevel[SpanMetadataLevel["Unspecified"] = "unspecified"] = "Unspecified";
488
+ SpanMetadataLevel[SpanMetadataLevel["Resource"] = "resource"] = "Resource";
489
+ SpanMetadataLevel[SpanMetadataLevel["Span"] = "span"] = "Span";
490
+ })(SpanMetadataLevel || (SpanMetadataLevel = {}));
491
+ /**
492
+ * @export
493
+ * @namespace TraceField
494
+ */
495
+ export var TraceField;
496
+ (function (TraceField) {
497
+ /**
498
+ * @export
499
+ * @enum {string}
500
+ */
501
+ let MetadataLocationEnum;
502
+ (function (MetadataLocationEnum) {
503
+ MetadataLocationEnum[MetadataLocationEnum["SpanAttribute"] = "span_attribute"] = "SpanAttribute";
504
+ MetadataLocationEnum[MetadataLocationEnum["ResourceAttribute"] = "resource_attribute"] = "ResourceAttribute";
505
+ })(MetadataLocationEnum = TraceField.MetadataLocationEnum || (TraceField.MetadataLocationEnum = {}));
506
+ /**
507
+ * @export
508
+ * @enum {string}
509
+ */
510
+ let FieldTypeEnum;
511
+ (function (FieldTypeEnum) {
512
+ FieldTypeEnum[FieldTypeEnum["String"] = "string"] = "String";
513
+ FieldTypeEnum[FieldTypeEnum["Boolean"] = "boolean"] = "Boolean";
514
+ FieldTypeEnum[FieldTypeEnum["Number"] = "number"] = "Number";
515
+ })(FieldTypeEnum = TraceField.FieldTypeEnum || (TraceField.FieldTypeEnum = {}));
516
+ })(TraceField || (TraceField = {}));
517
+ /**
518
+ * @export
519
+ * @namespace TraceFieldOptions
520
+ */
521
+ export var TraceFieldOptions;
522
+ (function (TraceFieldOptions) {
523
+ /**
524
+ * @export
525
+ * @enum {string}
526
+ */
527
+ let MatchTypesEnum;
528
+ (function (MatchTypesEnum) {
529
+ MatchTypesEnum[MatchTypesEnum["Eq"] = "eq"] = "Eq";
530
+ MatchTypesEnum[MatchTypesEnum["Ne"] = "ne"] = "Ne";
531
+ MatchTypesEnum[MatchTypesEnum["Lt"] = "lt"] = "Lt";
532
+ MatchTypesEnum[MatchTypesEnum["Gt"] = "gt"] = "Gt";
533
+ MatchTypesEnum[MatchTypesEnum["Empty"] = "empty"] = "Empty";
534
+ })(MatchTypesEnum = TraceFieldOptions.MatchTypesEnum || (TraceFieldOptions.MatchTypesEnum = {}));
535
+ })(TraceFieldOptions || (TraceFieldOptions = {}));
413
536
  /**
414
537
  * CurrentUserApi - fetch parameter creator
415
538
  * @export
@@ -599,7 +722,7 @@ export const CurrentUserApiFetchParamCreator = (configuration) => ({
599
722
  };
600
723
  },
601
724
  /**
602
- * Returns the saved searches for a given project sorted by name in lexographic order.
725
+ * Returns the saved searches for a given project sorted by name in lexicographic order.
603
726
  * @summary List Saved Searches on a Project
604
727
  * @param {string} projectId
605
728
  * @param {string} [shared] Limit Saved Searches returned to only those with this `shared` property
@@ -1328,10 +1451,11 @@ export const ErrorsApiFetchParamCreator = (configuration) => ({
1328
1451
  * @param {string} [direction]
1329
1452
  * @param {number} [perPage]
1330
1453
  * @param {Filters} [filters]
1454
+ * @param {string} [histogram] The type of histogram to include in the response. Only specific values are accepted. When provided, adds trend data to each error in the response.
1331
1455
  * @param {*} [options] Override http request option.
1332
1456
  * @throws {RequiredError}
1333
1457
  */
1334
- listProjectErrors(projectId, base, sort, direction, perPage, filters, options = {}) {
1458
+ listProjectErrors(projectId, base, sort, direction, perPage, filters, histogram, options = {}) {
1335
1459
  // verify required parameter 'projectId' is not null or undefined
1336
1460
  if (projectId === null || projectId === undefined) {
1337
1461
  throw new RequiredError("projectId", "Required parameter projectId was null or undefined when calling listProjectErrors.");
@@ -1363,6 +1487,9 @@ export const ErrorsApiFetchParamCreator = (configuration) => ({
1363
1487
  if (filters !== undefined) {
1364
1488
  localVarQueryParameter["filters"] = filters;
1365
1489
  }
1490
+ if (histogram !== undefined) {
1491
+ localVarQueryParameter["histogram"] = histogram;
1492
+ }
1366
1493
  localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
1367
1494
  // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
1368
1495
  localVarUrlObj.search = null;
@@ -119,6 +119,25 @@ export class BaseAPI {
119
119
  }
120
120
  return apiResponse;
121
121
  }
122
+ /**
123
+ * Fetches an array of resources from the API with support for pagination and field filtering.
124
+ *
125
+ * @template T - The type of objects in the response array, must extend Record<string, any>
126
+ * @param url - The API endpoint URL to fetch data from
127
+ * @param options - Optional request configuration including headers and other fetch options
128
+ * @param fetchAll - Whether to automatically fetch all pages of paginated results (default: false)
129
+ * @param fields - Optional array of field names to include in the response objects
130
+ * @returns A Promise resolving to an ApiResponse containing an array of type T
131
+ *
132
+ * @throws {ToolError} When the HTTP request fails with a non-ok status
133
+ * @throws {Error} When the response data is not an array
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const response = await client.requestArray<User>('/users', {}, true, ['id', 'name']);
138
+ * console.log(response.body); // Array of User objects with only id and name fields
139
+ * ```
140
+ */
122
141
  async requestArray(url, options = {}, fetchAll = true, fields) {
123
142
  let results = [];
124
143
  let nextUrl = url;
@@ -1,5 +1,5 @@
1
1
  // Exporting all the types required outside of the api module - all imports from the tool should come from here
2
- export { ErrorUpdateRequest } from "./api.js";
2
+ export { ErrorUpdateRequest, TraceField, } from "./api.js";
3
3
  export { CurrentUserAPI } from "./CurrentUser.js";
4
4
  export { Configuration } from "./configuration.js";
5
5
  export { ErrorAPI } from "./Error.js";