mcp4openapi 0.1.0 → 0.2.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 (152) hide show
  1. package/README.md +137 -95
  2. package/dist/scripts/validate-profile.js +3 -3
  3. package/dist/scripts/validate-profile.js.map +1 -1
  4. package/dist/src/composite-executor.d.ts +3 -1
  5. package/dist/src/composite-executor.d.ts.map +1 -1
  6. package/dist/src/composite-executor.js +16 -5
  7. package/dist/src/composite-executor.js.map +1 -1
  8. package/dist/src/constants.d.ts +49 -0
  9. package/dist/src/constants.d.ts.map +1 -1
  10. package/dist/src/constants.js +49 -0
  11. package/dist/src/constants.js.map +1 -1
  12. package/dist/src/errors.d.ts +6 -0
  13. package/dist/src/errors.d.ts.map +1 -1
  14. package/dist/src/errors.js +13 -0
  15. package/dist/src/errors.js.map +1 -1
  16. package/dist/src/generated-schemas.d.ts +832 -52
  17. package/dist/src/generated-schemas.d.ts.map +1 -1
  18. package/dist/src/generated-schemas.js +31 -8
  19. package/dist/src/generated-schemas.js.map +1 -1
  20. package/dist/src/http-client-factory.d.ts.map +1 -1
  21. package/dist/src/http-client-factory.js +14 -3
  22. package/dist/src/http-client-factory.js.map +1 -1
  23. package/dist/src/http-transport.d.ts +65 -0
  24. package/dist/src/http-transport.d.ts.map +1 -1
  25. package/dist/src/http-transport.js +921 -77
  26. package/dist/src/http-transport.js.map +1 -1
  27. package/dist/src/index.js +108 -8
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/interceptors.d.ts +3 -0
  30. package/dist/src/interceptors.d.ts.map +1 -1
  31. package/dist/src/interceptors.js +76 -8
  32. package/dist/src/interceptors.js.map +1 -1
  33. package/dist/src/logger.d.ts +1 -1
  34. package/dist/src/logger.js +3 -3
  35. package/dist/src/logger.js.map +1 -1
  36. package/dist/src/mcp-server.d.ts +33 -0
  37. package/dist/src/mcp-server.d.ts.map +1 -1
  38. package/dist/src/mcp-server.js +263 -54
  39. package/dist/src/mcp-server.js.map +1 -1
  40. package/dist/src/oauth-provider.d.ts +92 -0
  41. package/dist/src/oauth-provider.d.ts.map +1 -0
  42. package/dist/src/oauth-provider.js +588 -0
  43. package/dist/src/oauth-provider.js.map +1 -0
  44. package/dist/src/openapi-parser.d.ts +16 -0
  45. package/dist/src/openapi-parser.d.ts.map +1 -1
  46. package/dist/src/openapi-parser.js +141 -6
  47. package/dist/src/openapi-parser.js.map +1 -1
  48. package/dist/src/profile-loader.d.ts +2 -2
  49. package/dist/src/profile-loader.d.ts.map +1 -1
  50. package/dist/src/profile-loader.js +45 -24
  51. package/dist/src/profile-loader.js.map +1 -1
  52. package/dist/src/testing/fixtures.d.ts +189 -0
  53. package/dist/src/testing/fixtures.d.ts.map +1 -1
  54. package/dist/src/testing/fixtures.js +144 -0
  55. package/dist/src/testing/fixtures.js.map +1 -1
  56. package/dist/src/testing/mock-gitlab-server.d.ts +26 -17
  57. package/dist/src/testing/mock-gitlab-server.d.ts.map +1 -1
  58. package/dist/src/testing/mock-gitlab-server.js +567 -304
  59. package/dist/src/testing/mock-gitlab-server.js.map +1 -1
  60. package/dist/src/types/http-transport.d.ts +16 -0
  61. package/dist/src/types/http-transport.d.ts.map +1 -1
  62. package/dist/src/types/openapi.d.ts +5 -0
  63. package/dist/src/types/openapi.d.ts.map +1 -1
  64. package/dist/src/types/profile.d.ts +112 -3
  65. package/dist/src/types/profile.d.ts.map +1 -1
  66. package/dist/src/validation-utils.d.ts +12 -0
  67. package/dist/src/validation-utils.d.ts.map +1 -1
  68. package/dist/src/validation-utils.js +17 -0
  69. package/dist/src/validation-utils.js.map +1 -1
  70. package/package.json +12 -3
  71. package/profile-schema.json +169 -7
  72. package/dist/composite-executor.d.ts +0 -65
  73. package/dist/composite-executor.d.ts.map +0 -1
  74. package/dist/composite-executor.js +0 -147
  75. package/dist/composite-executor.js.map +0 -1
  76. package/dist/constants.d.ts +0 -36
  77. package/dist/constants.d.ts.map +0 -1
  78. package/dist/constants.js +0 -36
  79. package/dist/constants.js.map +0 -1
  80. package/dist/http-transport.d.ts +0 -195
  81. package/dist/http-transport.d.ts.map +0 -1
  82. package/dist/http-transport.js +0 -760
  83. package/dist/http-transport.js.map +0 -1
  84. package/dist/interceptors.d.ts +0 -74
  85. package/dist/interceptors.d.ts.map +0 -1
  86. package/dist/interceptors.js +0 -220
  87. package/dist/interceptors.js.map +0 -1
  88. package/dist/logger.d.ts +0 -81
  89. package/dist/logger.d.ts.map +0 -1
  90. package/dist/logger.js +0 -264
  91. package/dist/logger.js.map +0 -1
  92. package/dist/mcp-server.d.ts +0 -110
  93. package/dist/mcp-server.d.ts.map +0 -1
  94. package/dist/mcp-server.js +0 -568
  95. package/dist/mcp-server.js.map +0 -1
  96. package/dist/metrics.d.ts +0 -86
  97. package/dist/metrics.d.ts.map +0 -1
  98. package/dist/metrics.js +0 -229
  99. package/dist/metrics.js.map +0 -1
  100. package/dist/openapi-parser.d.ts +0 -35
  101. package/dist/openapi-parser.d.ts.map +0 -1
  102. package/dist/openapi-parser.js +0 -160
  103. package/dist/openapi-parser.js.map +0 -1
  104. package/dist/profile-loader.d.ts +0 -25
  105. package/dist/profile-loader.d.ts.map +0 -1
  106. package/dist/profile-loader.js +0 -134
  107. package/dist/profile-loader.js.map +0 -1
  108. package/dist/schema-validator.d.ts +0 -32
  109. package/dist/schema-validator.d.ts.map +0 -1
  110. package/dist/schema-validator.js +0 -126
  111. package/dist/schema-validator.js.map +0 -1
  112. package/dist/testing/fixtures.d.ts +0 -186
  113. package/dist/testing/fixtures.d.ts.map +0 -1
  114. package/dist/testing/fixtures.js +0 -135
  115. package/dist/testing/fixtures.js.map +0 -1
  116. package/dist/testing/http-integration.test.d.ts +0 -7
  117. package/dist/testing/http-integration.test.d.ts.map +0 -1
  118. package/dist/testing/http-integration.test.js +0 -383
  119. package/dist/testing/http-integration.test.js.map +0 -1
  120. package/dist/testing/http-multiuser.test.d.ts +0 -10
  121. package/dist/testing/http-multiuser.test.d.ts.map +0 -1
  122. package/dist/testing/http-multiuser.test.js +0 -255
  123. package/dist/testing/http-multiuser.test.js.map +0 -1
  124. package/dist/testing/integration.test.d.ts +0 -8
  125. package/dist/testing/integration.test.d.ts.map +0 -1
  126. package/dist/testing/integration.test.js +0 -247
  127. package/dist/testing/integration.test.js.map +0 -1
  128. package/dist/testing/mock-gitlab-server.d.ts +0 -34
  129. package/dist/testing/mock-gitlab-server.d.ts.map +0 -1
  130. package/dist/testing/mock-gitlab-server.js +0 -224
  131. package/dist/testing/mock-gitlab-server.js.map +0 -1
  132. package/dist/testing/test-types.d.ts +0 -59
  133. package/dist/testing/test-types.d.ts.map +0 -1
  134. package/dist/testing/test-types.js +0 -7
  135. package/dist/testing/test-types.js.map +0 -1
  136. package/dist/tool-generator.d.ts +0 -43
  137. package/dist/tool-generator.d.ts.map +0 -1
  138. package/dist/tool-generator.js +0 -123
  139. package/dist/tool-generator.js.map +0 -1
  140. package/dist/tsconfig.tsbuildinfo +0 -1
  141. package/dist/types/http-transport.d.ts +0 -39
  142. package/dist/types/http-transport.d.ts.map +0 -1
  143. package/dist/types/http-transport.js +0 -8
  144. package/dist/types/http-transport.js.map +0 -1
  145. package/dist/types/openapi.d.ts +0 -50
  146. package/dist/types/openapi.d.ts.map +0 -1
  147. package/dist/types/openapi.js +0 -9
  148. package/dist/types/openapi.js.map +0 -1
  149. package/dist/types/profile.d.ts +0 -76
  150. package/dist/types/profile.d.ts.map +0 -1
  151. package/dist/types/profile.js +0 -9
  152. package/dist/types/profile.js.map +0 -1
@@ -1,126 +0,0 @@
1
- /**
2
- * Request body schema validator
3
- *
4
- * Why: Catch invalid requests before sending to API. Better error messages for users.
5
- * Validates against OpenAPI schema definitions.
6
- */
7
- export class SchemaValidator {
8
- /**
9
- * Validate request body against OpenAPI schema
10
- *
11
- * Why: Prevents sending malformed requests. OpenAPI schema is the source of truth.
12
- */
13
- validateRequestBody(operation, body) {
14
- if (!operation.requestBody?.content['application/json']?.schema) {
15
- return { valid: true };
16
- }
17
- const schema = operation.requestBody.content['application/json'].schema;
18
- const errors = [];
19
- this.validateAgainstSchema(body, schema, '', errors);
20
- return {
21
- valid: errors.length === 0,
22
- errors: errors.length > 0 ? errors : undefined,
23
- };
24
- }
25
- /**
26
- * Recursively validate data against schema
27
- */
28
- validateAgainstSchema(data, schema, path, errors) {
29
- // Null/undefined handling
30
- if (data === null || data === undefined) {
31
- if (schema.type && schema.type !== 'null') {
32
- errors.push({
33
- path: path || '(root)',
34
- message: `Expected ${schema.type}, got ${data}`,
35
- schema,
36
- value: data,
37
- });
38
- }
39
- return;
40
- }
41
- // Type validation
42
- if (schema.type) {
43
- const actualType = Array.isArray(data) ? 'array' : typeof data;
44
- if (actualType !== schema.type) {
45
- errors.push({
46
- path: path || '(root)',
47
- message: `Expected ${schema.type}, got ${actualType}`,
48
- schema,
49
- value: data,
50
- });
51
- return; // Stop validation if type is wrong
52
- }
53
- }
54
- // Enum validation
55
- // Note: Using 'as any' here is safe - we're checking if value exists in enum array
56
- // TypeScript doesn't know the enum values at compile time
57
- if (schema.enum && !schema.enum.includes(data)) {
58
- errors.push({
59
- path: path || '(root)',
60
- message: `Value must be one of: ${schema.enum.join(', ')}`,
61
- schema,
62
- value: data,
63
- });
64
- }
65
- // Object properties validation
66
- if (schema.type === 'object' && schema.properties) {
67
- const obj = data;
68
- // Check required properties
69
- for (const required of schema.required || []) {
70
- if (obj[required] === undefined) {
71
- errors.push({
72
- path: path ? `${path}.${required}` : required,
73
- message: 'Required property is missing',
74
- schema,
75
- value: undefined,
76
- });
77
- }
78
- }
79
- // Validate each property
80
- for (const [key, value] of Object.entries(obj)) {
81
- if (schema.properties[key]) {
82
- this.validateAgainstSchema(value, schema.properties[key], path ? `${path}.${key}` : key, errors);
83
- }
84
- // Note: Not validating additionalProperties (too strict for most APIs)
85
- }
86
- }
87
- // Array items validation
88
- if (schema.type === 'array' && schema.items && Array.isArray(data)) {
89
- data.forEach((item, index) => {
90
- this.validateAgainstSchema(item, schema.items, `${path}[${index}]`, errors);
91
- });
92
- }
93
- // String format validation (basic)
94
- if (schema.type === 'string' && schema.format && typeof data === 'string') {
95
- if (schema.format === 'email' && !this.isEmail(data)) {
96
- errors.push({
97
- path: path || '(root)',
98
- message: 'Invalid email format',
99
- schema,
100
- value: data,
101
- });
102
- }
103
- if (schema.format === 'uri' && !this.isUri(data)) {
104
- errors.push({
105
- path: path || '(root)',
106
- message: 'Invalid URI format',
107
- schema,
108
- value: data,
109
- });
110
- }
111
- }
112
- }
113
- isEmail(value) {
114
- return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);
115
- }
116
- isUri(value) {
117
- try {
118
- new URL(value);
119
- return true;
120
- }
121
- catch {
122
- return false;
123
- }
124
- }
125
- }
126
- //# sourceMappingURL=schema-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../src/schema-validator.ts"],"names":[],"mappings":"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"}
@@ -1,186 +0,0 @@
1
- /**
2
- * Mock response fixtures for GitLab API
3
- *
4
- * Why: Realistic test data based on actual GitLab API responses.
5
- * Enables integration tests without real API calls.
6
- */
7
- export declare const mockBadge: {
8
- id: number;
9
- name: string;
10
- link_url: string;
11
- image_url: string;
12
- rendered_link_url: string;
13
- rendered_image_url: string;
14
- kind: string;
15
- };
16
- export declare const mockBadgesList: {
17
- id: number;
18
- name: string;
19
- link_url: string;
20
- image_url: string;
21
- rendered_link_url: string;
22
- rendered_image_url: string;
23
- kind: string;
24
- }[];
25
- export declare const mockBranch: {
26
- name: string;
27
- commit: {
28
- id: string;
29
- short_id: string;
30
- created_at: string;
31
- parent_ids: string[];
32
- title: string;
33
- message: string;
34
- author_name: string;
35
- author_email: string;
36
- authored_date: string;
37
- committer_name: string;
38
- committer_email: string;
39
- committed_date: string;
40
- };
41
- merged: boolean;
42
- protected: boolean;
43
- developers_can_push: boolean;
44
- developers_can_merge: boolean;
45
- can_push: boolean;
46
- default: boolean;
47
- web_url: string;
48
- };
49
- export declare const mockBranchesList: ({
50
- name: string;
51
- commit: {
52
- id: string;
53
- short_id: string;
54
- created_at: string;
55
- parent_ids: string[];
56
- title: string;
57
- message: string;
58
- author_name: string;
59
- author_email: string;
60
- authored_date: string;
61
- committer_name: string;
62
- committer_email: string;
63
- committed_date: string;
64
- };
65
- merged: boolean;
66
- protected: boolean;
67
- developers_can_push: boolean;
68
- developers_can_merge: boolean;
69
- can_push: boolean;
70
- default: boolean;
71
- web_url: string;
72
- } | {
73
- name: string;
74
- commit: {
75
- id: string;
76
- short_id: string;
77
- title: string;
78
- message: string;
79
- author_name: string;
80
- author_email: string;
81
- };
82
- merged: boolean;
83
- protected: boolean;
84
- default: boolean;
85
- })[];
86
- export declare const mockJob: {
87
- id: number;
88
- name: string;
89
- status: string;
90
- stage: string;
91
- created_at: string;
92
- started_at: string;
93
- finished_at: string;
94
- commit: {
95
- id: string;
96
- short_id: string;
97
- title: string;
98
- };
99
- archived: boolean;
100
- allow_failure: boolean;
101
- duration: number;
102
- queued_duration: number;
103
- ref: string;
104
- artifacts: any[];
105
- tag: boolean;
106
- web_url: string;
107
- project: {
108
- ci_job_token_scope_enabled: boolean;
109
- };
110
- user: {
111
- id: number;
112
- username: string;
113
- name: string;
114
- state: string;
115
- avatar_url: string;
116
- web_url: string;
117
- };
118
- };
119
- export declare const mockJobsList: ({
120
- id: number;
121
- name: string;
122
- status: string;
123
- stage: string;
124
- created_at: string;
125
- started_at: string;
126
- finished_at: string;
127
- commit: {
128
- id: string;
129
- short_id: string;
130
- title: string;
131
- };
132
- archived: boolean;
133
- allow_failure: boolean;
134
- duration: number;
135
- queued_duration: number;
136
- ref: string;
137
- artifacts: any[];
138
- tag: boolean;
139
- web_url: string;
140
- project: {
141
- ci_job_token_scope_enabled: boolean;
142
- };
143
- user: {
144
- id: number;
145
- username: string;
146
- name: string;
147
- state: string;
148
- avatar_url: string;
149
- web_url: string;
150
- };
151
- } | {
152
- id: number;
153
- name: string;
154
- status: string;
155
- stage: string;
156
- created_at: string;
157
- started_at: string;
158
- finished_at: string;
159
- allow_failure: boolean;
160
- })[];
161
- export declare const mockAccessRequest: {
162
- id: number;
163
- username: string;
164
- name: string;
165
- state: string;
166
- created_at: string;
167
- requested_at: string;
168
- access_level: number;
169
- };
170
- export declare const mockAccessRequestsList: ({
171
- id: number;
172
- username: string;
173
- name: string;
174
- state: string;
175
- created_at: string;
176
- requested_at: string;
177
- access_level: number;
178
- } | {
179
- id: number;
180
- username: string;
181
- name: string;
182
- state: string;
183
- created_at: string;
184
- requested_at: string;
185
- })[];
186
- //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,SAAS;;;;;;;;CAQrB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;GAW1B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB5B,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;CAQ7B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;IAUlC,CAAC"}
@@ -1,135 +0,0 @@
1
- /**
2
- * Mock response fixtures for GitLab API
3
- *
4
- * Why: Realistic test data based on actual GitLab API responses.
5
- * Enables integration tests without real API calls.
6
- */
7
- export const mockBadge = {
8
- id: 1,
9
- name: 'Coverage',
10
- link_url: 'https://example.com/coverage',
11
- image_url: 'https://shields.io/badge/coverage-95%25-green',
12
- rendered_link_url: 'https://example.com/coverage',
13
- rendered_image_url: 'https://shields.io/badge/coverage-95%25-green',
14
- kind: 'project',
15
- };
16
- export const mockBadgesList = [
17
- mockBadge,
18
- {
19
- id: 2,
20
- name: 'Pipeline',
21
- link_url: 'https://gitlab.com/my-org/my-project/pipelines',
22
- image_url: 'https://gitlab.com/my-org/my-project/badges/main/pipeline.svg',
23
- rendered_link_url: 'https://gitlab.com/my-org/my-project/pipelines',
24
- rendered_image_url: 'https://gitlab.com/my-org/my-project/badges/main/pipeline.svg',
25
- kind: 'project',
26
- },
27
- ];
28
- export const mockBranch = {
29
- name: 'main',
30
- commit: {
31
- id: '2695effb5807a22ff3d138d593fd856244e155e7',
32
- short_id: '2695effb',
33
- created_at: '2017-07-26T11:08:53+02:00',
34
- parent_ids: ['2a4b78934375d7f53875269ffd4f45fd83a84ebe'],
35
- title: 'Initial commit',
36
- message: 'Initial commit',
37
- author_name: 'John Smith',
38
- author_email: 'john@example.com',
39
- authored_date: '2012-05-28T04:42:42-07:00',
40
- committer_name: 'Jack Smith',
41
- committer_email: 'jack@example.com',
42
- committed_date: '2012-05-28T04:42:42-07:00',
43
- },
44
- merged: false,
45
- protected: true,
46
- developers_can_push: false,
47
- developers_can_merge: true,
48
- can_push: true,
49
- default: true,
50
- web_url: 'https://gitlab.com/my-org/my-project/-/tree/main',
51
- };
52
- export const mockBranchesList = [
53
- mockBranch,
54
- {
55
- name: 'feature/new-feature',
56
- commit: {
57
- id: '3695effb5807a22ff3d138d593fd856244e155e8',
58
- short_id: '3695effb',
59
- title: 'Add new feature',
60
- message: 'Add new feature',
61
- author_name: 'Jane Doe',
62
- author_email: 'jane@example.com',
63
- },
64
- merged: false,
65
- protected: false,
66
- default: false,
67
- },
68
- ];
69
- export const mockJob = {
70
- id: 1234,
71
- name: 'test:unit',
72
- status: 'success',
73
- stage: 'test',
74
- created_at: '2016-01-11T10:13:33.506Z',
75
- started_at: '2016-01-11T10:14:33.506Z',
76
- finished_at: '2016-01-11T10:15:33.506Z',
77
- commit: {
78
- id: '2695effb5807a22ff3d138d593fd856244e155e7',
79
- short_id: '2695effb',
80
- title: 'Initial commit',
81
- },
82
- archived: false,
83
- allow_failure: false,
84
- duration: 60,
85
- queued_duration: 1.5,
86
- ref: 'main',
87
- artifacts: [],
88
- tag: false,
89
- web_url: 'https://gitlab.com/my-org/my-project/-/jobs/1234',
90
- project: {
91
- ci_job_token_scope_enabled: false,
92
- },
93
- user: {
94
- id: 1,
95
- username: 'admin',
96
- name: 'Administrator',
97
- state: 'active',
98
- avatar_url: 'https://gravatar.com/avatar/1',
99
- web_url: 'https://gitlab.com/admin',
100
- },
101
- };
102
- export const mockJobsList = [
103
- mockJob,
104
- {
105
- id: 1235,
106
- name: 'test:integration',
107
- status: 'failed',
108
- stage: 'test',
109
- created_at: '2016-01-11T10:13:33.506Z',
110
- started_at: '2016-01-11T10:14:33.506Z',
111
- finished_at: '2016-01-11T10:16:33.506Z',
112
- allow_failure: false,
113
- },
114
- ];
115
- export const mockAccessRequest = {
116
- id: 1,
117
- username: 'raymond_smith',
118
- name: 'Raymond Smith',
119
- state: 'active',
120
- created_at: '2012-10-22T14:13:35Z',
121
- requested_at: '2012-10-22T14:13:35Z',
122
- access_level: 30,
123
- };
124
- export const mockAccessRequestsList = [
125
- mockAccessRequest,
126
- {
127
- id: 2,
128
- username: 'john_doe',
129
- name: 'John Doe',
130
- state: 'active',
131
- created_at: '2012-10-23T14:13:35Z',
132
- requested_at: '2012-10-23T14:13:35Z',
133
- },
134
- ];
135
- //# sourceMappingURL=fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Integration tests for HTTP transport with mocked message handler
3
- *
4
- * Tests HTTP protocol compliance without full MCPServer complexity
5
- */
6
- export {};
7
- //# sourceMappingURL=http-integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-integration.test.d.ts","sourceRoot":"","sources":["../../src/testing/http-integration.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}