mcp-insomnia 0.2.0 → 0.3.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 (129) hide show
  1. package/README.md +44 -6
  2. package/dist/index.js +10 -11
  3. package/dist/index.js.map +1 -1
  4. package/dist/resources/collection.resource.d.ts +3 -0
  5. package/dist/resources/collection.resource.d.ts.map +1 -0
  6. package/dist/resources/collection.resource.js +113 -0
  7. package/dist/resources/collection.resource.js.map +1 -0
  8. package/dist/resources/environment.resource.d.ts +3 -0
  9. package/dist/resources/environment.resource.d.ts.map +1 -0
  10. package/dist/resources/environment.resource.js +48 -0
  11. package/dist/resources/environment.resource.js.map +1 -0
  12. package/dist/resources/index.d.ts +3 -0
  13. package/dist/resources/index.d.ts.map +1 -0
  14. package/dist/resources/index.js +8 -0
  15. package/dist/resources/index.js.map +1 -0
  16. package/dist/resources/request.resource.d.ts +3 -0
  17. package/dist/resources/request.resource.d.ts.map +1 -0
  18. package/dist/resources/request.resource.js +157 -0
  19. package/dist/resources/request.resource.js.map +1 -0
  20. package/dist/resources/search.resource.d.ts +3 -0
  21. package/dist/resources/search.resource.d.ts.map +1 -0
  22. package/dist/resources/search.resource.js +143 -0
  23. package/dist/resources/search.resource.js.map +1 -0
  24. package/dist/storage/index.d.ts +3 -0
  25. package/dist/storage/index.d.ts.map +1 -0
  26. package/dist/storage/index.js +3 -0
  27. package/dist/storage/index.js.map +1 -0
  28. package/dist/storage/insomnia-storage.d.ts +111 -0
  29. package/dist/storage/insomnia-storage.d.ts.map +1 -0
  30. package/dist/storage/insomnia-storage.js +322 -0
  31. package/dist/storage/insomnia-storage.js.map +1 -0
  32. package/dist/{storage.d.ts → storage/storage.d.ts} +1 -1
  33. package/dist/storage/storage.d.ts.map +1 -0
  34. package/dist/{storage.js → storage/storage.js} +3 -3
  35. package/dist/storage/storage.js.map +1 -0
  36. package/dist/tools/collection.tools.d.ts +3 -0
  37. package/dist/tools/collection.tools.d.ts.map +1 -0
  38. package/dist/tools/collection.tools.js +132 -0
  39. package/dist/tools/collection.tools.js.map +1 -0
  40. package/dist/tools/environment.tools.d.ts +3 -0
  41. package/dist/tools/environment.tools.d.ts.map +1 -0
  42. package/dist/tools/environment.tools.js +93 -0
  43. package/dist/tools/environment.tools.js.map +1 -0
  44. package/dist/tools/folder.tools.d.ts +3 -0
  45. package/dist/tools/folder.tools.d.ts.map +1 -0
  46. package/dist/tools/folder.tools.js +46 -0
  47. package/dist/tools/folder.tools.js.map +1 -0
  48. package/dist/tools/index.d.ts +3 -0
  49. package/dist/tools/index.d.ts.map +1 -0
  50. package/dist/tools/index.js +17 -0
  51. package/dist/tools/index.js.map +1 -0
  52. package/dist/tools/insomnia.tools.d.ts +3 -0
  53. package/dist/tools/insomnia.tools.d.ts.map +1 -0
  54. package/dist/tools/insomnia.tools.js +482 -0
  55. package/dist/tools/insomnia.tools.js.map +1 -0
  56. package/dist/tools/request.tools.d.ts +3 -0
  57. package/dist/tools/request.tools.d.ts.map +1 -0
  58. package/dist/tools/request.tools.js +368 -0
  59. package/dist/tools/request.tools.js.map +1 -0
  60. package/dist/tools/utility.tools.d.ts +3 -0
  61. package/dist/tools/utility.tools.d.ts.map +1 -0
  62. package/dist/tools/utility.tools.js +433 -0
  63. package/dist/tools/utility.tools.js.map +1 -0
  64. package/dist/types/auth.d.ts +25 -0
  65. package/dist/types/auth.d.ts.map +1 -0
  66. package/dist/types/auth.js +2 -0
  67. package/dist/types/auth.js.map +1 -0
  68. package/dist/types/collection.d.ts +48 -0
  69. package/dist/types/collection.d.ts.map +1 -0
  70. package/dist/types/collection.js +2 -0
  71. package/dist/types/collection.js.map +1 -0
  72. package/dist/types/common.d.ts +63 -0
  73. package/dist/types/common.d.ts.map +1 -0
  74. package/dist/types/common.js +2 -0
  75. package/dist/types/common.js.map +1 -0
  76. package/dist/types/environment.d.ts +17 -0
  77. package/dist/types/environment.d.ts.map +1 -0
  78. package/dist/types/environment.js +2 -0
  79. package/dist/types/environment.js.map +1 -0
  80. package/dist/types/har.d.ts +29 -0
  81. package/dist/types/har.d.ts.map +1 -0
  82. package/dist/types/har.js +2 -0
  83. package/dist/types/har.js.map +1 -0
  84. package/dist/types/index.d.ts +9 -0
  85. package/dist/types/index.d.ts.map +1 -0
  86. package/dist/types/index.js +9 -0
  87. package/dist/types/index.js.map +1 -0
  88. package/dist/{types.d.ts → types/request.d.ts} +29 -105
  89. package/dist/types/request.d.ts.map +1 -0
  90. package/dist/types/request.js +2 -0
  91. package/dist/types/request.js.map +1 -0
  92. package/dist/types/resource.d.ts +20 -0
  93. package/dist/types/resource.d.ts.map +1 -0
  94. package/dist/types/resource.js +2 -0
  95. package/dist/types/resource.js.map +1 -0
  96. package/dist/types/tool.d.ts +35 -0
  97. package/dist/types/tool.d.ts.map +1 -0
  98. package/dist/types/tool.js +2 -0
  99. package/dist/types/tool.js.map +1 -0
  100. package/dist/utils/curl-parser.d.ts +10 -0
  101. package/dist/utils/curl-parser.d.ts.map +1 -0
  102. package/dist/utils/curl-parser.js +84 -0
  103. package/dist/utils/curl-parser.js.map +1 -0
  104. package/dist/utils/http.d.ts +3 -0
  105. package/dist/utils/http.d.ts.map +1 -0
  106. package/dist/utils/http.js +12 -0
  107. package/dist/utils/http.js.map +1 -0
  108. package/dist/utils/postman-converter.d.ts +88 -0
  109. package/dist/utils/postman-converter.d.ts.map +1 -0
  110. package/dist/utils/postman-converter.js +171 -0
  111. package/dist/utils/postman-converter.js.map +1 -0
  112. package/package.json +16 -6
  113. package/dist/resources.d.ts +0 -11
  114. package/dist/resources.d.ts.map +0 -1
  115. package/dist/resources.js +0 -449
  116. package/dist/resources.js.map +0 -1
  117. package/dist/run-duplication-test.d.ts +0 -2
  118. package/dist/run-duplication-test.d.ts.map +0 -1
  119. package/dist/run-duplication-test.js +0 -58
  120. package/dist/run-duplication-test.js.map +0 -1
  121. package/dist/storage.d.ts.map +0 -1
  122. package/dist/storage.js.map +0 -1
  123. package/dist/tools.d.ts +0 -10
  124. package/dist/tools.d.ts.map +0 -1
  125. package/dist/tools.js +0 -698
  126. package/dist/tools.js.map +0 -1
  127. package/dist/types.d.ts.map +0 -1
  128. package/dist/types.js +0 -2
  129. package/dist/types.js.map +0 -1
@@ -0,0 +1,482 @@
1
+ import axios from 'axios';
2
+ import { insomniaStorage } from '../storage/insomnia-storage.js';
3
+ import { storage } from '../storage/storage.js';
4
+ function normalizeHeaders(headers) {
5
+ const normalized = {};
6
+ for (const [key, value] of Object.entries(headers)) {
7
+ if (typeof value === 'string') {
8
+ normalized[key] = value;
9
+ }
10
+ else if (Array.isArray(value)) {
11
+ normalized[key] = value.join(', ');
12
+ }
13
+ }
14
+ return normalized;
15
+ }
16
+ export const insomniaTools = [
17
+ {
18
+ name: 'list_insomnia_collections',
19
+ description: 'List all collections directly from Insomnia app (requires Insomnia to be installed)',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {},
23
+ },
24
+ handler: async () => {
25
+ if (!insomniaStorage.isInsomniaInstalled()) {
26
+ throw new Error('Insomnia is not installed or not found at the default location');
27
+ }
28
+ const workspaces = insomniaStorage.getAllWorkspaces();
29
+ const result = workspaces.map((w) => ({
30
+ id: w._id,
31
+ name: w.name,
32
+ description: w.description,
33
+ scope: w.scope,
34
+ modified: new Date(w.modified).toISOString(),
35
+ }));
36
+ return {
37
+ content: [
38
+ {
39
+ type: 'text',
40
+ text: JSON.stringify({
41
+ success: true,
42
+ insomniaPath: insomniaStorage.getInsomniaPath(),
43
+ collectionsCount: result.length,
44
+ collections: result,
45
+ }, null, 2),
46
+ },
47
+ ],
48
+ };
49
+ },
50
+ },
51
+ {
52
+ name: 'list_insomnia_projects',
53
+ description: 'List all projects from Insomnia app',
54
+ inputSchema: {
55
+ type: 'object',
56
+ properties: {},
57
+ },
58
+ handler: async () => {
59
+ if (!insomniaStorage.isInsomniaInstalled()) {
60
+ throw new Error('Insomnia is not installed or not found at the default location');
61
+ }
62
+ const projects = insomniaStorage.getAllProjects();
63
+ const result = projects.map((p) => ({
64
+ id: p._id,
65
+ name: p.name,
66
+ remoteId: p.remoteId,
67
+ parentId: p.parentId,
68
+ modified: new Date(p.modified).toISOString(),
69
+ }));
70
+ return {
71
+ content: [
72
+ {
73
+ type: 'text',
74
+ text: JSON.stringify({
75
+ success: true,
76
+ projectsCount: result.length,
77
+ projects: result,
78
+ }, null, 2),
79
+ },
80
+ ],
81
+ };
82
+ },
83
+ },
84
+ {
85
+ name: 'get_insomnia_collection',
86
+ description: 'Get a complete collection from Insomnia app by workspace ID',
87
+ inputSchema: {
88
+ type: 'object',
89
+ properties: {
90
+ workspaceId: { type: 'string', description: 'Insomnia workspace ID (starts with wrk_)' },
91
+ },
92
+ required: ['workspaceId'],
93
+ },
94
+ handler: async (request) => {
95
+ const { workspaceId } = request.params.arguments;
96
+ if (!insomniaStorage.isInsomniaInstalled()) {
97
+ throw new Error('Insomnia is not installed');
98
+ }
99
+ const collection = insomniaStorage.getCollection(workspaceId);
100
+ if (!collection) {
101
+ throw new Error(`Workspace with ID ${workspaceId} not found in Insomnia`);
102
+ }
103
+ return {
104
+ content: [
105
+ {
106
+ type: 'text',
107
+ text: JSON.stringify({
108
+ success: true,
109
+ collection: {
110
+ id: collection.workspace._id,
111
+ name: collection.workspace.name,
112
+ description: collection.workspace.description,
113
+ folders: collection.folders.map((f) => ({
114
+ id: f._id,
115
+ name: f.name,
116
+ parentId: f.parentId,
117
+ })),
118
+ requests: collection.requests.map((r) => ({
119
+ id: r._id,
120
+ name: r.name,
121
+ method: r.method,
122
+ url: r.url,
123
+ parentId: r.parentId,
124
+ })),
125
+ environments: collection.environments.map((e) => ({
126
+ id: e._id,
127
+ name: e.name,
128
+ variableCount: Object.keys(e.data).length,
129
+ })),
130
+ },
131
+ }, null, 2),
132
+ },
133
+ ],
134
+ };
135
+ },
136
+ },
137
+ {
138
+ name: 'sync_from_insomnia',
139
+ description: 'Import a collection from Insomnia app into MCP storage',
140
+ inputSchema: {
141
+ type: 'object',
142
+ properties: {
143
+ workspaceId: { type: 'string', description: 'Insomnia workspace ID to import' },
144
+ },
145
+ required: ['workspaceId'],
146
+ },
147
+ handler: async (request) => {
148
+ const { workspaceId } = request.params.arguments;
149
+ if (!insomniaStorage.isInsomniaInstalled()) {
150
+ throw new Error('Insomnia is not installed');
151
+ }
152
+ const collection = insomniaStorage.getCollection(workspaceId);
153
+ if (!collection) {
154
+ throw new Error(`Workspace with ID ${workspaceId} not found in Insomnia`);
155
+ }
156
+ storage.saveCollection(workspaceId, collection);
157
+ return {
158
+ content: [
159
+ {
160
+ type: 'text',
161
+ text: JSON.stringify({
162
+ success: true,
163
+ message: `Successfully synced collection "${collection.workspace.name}" from Insomnia to MCP`,
164
+ collection: {
165
+ id: workspaceId,
166
+ name: collection.workspace.name,
167
+ requestCount: collection.requests.length,
168
+ folderCount: collection.folders.length,
169
+ environmentCount: collection.environments.length,
170
+ },
171
+ }, null, 2),
172
+ },
173
+ ],
174
+ };
175
+ },
176
+ },
177
+ {
178
+ name: 'sync_to_insomnia',
179
+ description: 'Export a collection from MCP storage to Insomnia app',
180
+ inputSchema: {
181
+ type: 'object',
182
+ properties: {
183
+ collectionId: { type: 'string', description: 'MCP collection ID to export' },
184
+ projectId: { type: 'string', description: 'Insomnia project ID (optional, defaults to first project)' },
185
+ },
186
+ required: ['collectionId'],
187
+ },
188
+ handler: async (request) => {
189
+ const { collectionId, projectId } = request.params.arguments;
190
+ if (!insomniaStorage.isInsomniaInstalled()) {
191
+ throw new Error('Insomnia is not installed');
192
+ }
193
+ const collection = storage.getCollection(collectionId);
194
+ if (!collection) {
195
+ throw new Error(`Collection with ID ${collectionId} not found in MCP storage`);
196
+ }
197
+ let targetProjectId = projectId;
198
+ if (!targetProjectId) {
199
+ const workspaces = insomniaStorage.getAllWorkspaces();
200
+ if (workspaces.length > 0) {
201
+ targetProjectId = workspaces[0].parentId;
202
+ }
203
+ else {
204
+ targetProjectId = 'proj_default';
205
+ }
206
+ }
207
+ insomniaStorage.saveWorkspace(collection.workspace, targetProjectId);
208
+ for (const folder of collection.folders) {
209
+ insomniaStorage.saveRequestGroup(folder);
210
+ }
211
+ for (const req of collection.requests) {
212
+ insomniaStorage.saveRequest(req);
213
+ }
214
+ for (const env of collection.environments) {
215
+ insomniaStorage.saveEnvironment(env);
216
+ }
217
+ return {
218
+ content: [
219
+ {
220
+ type: 'text',
221
+ text: JSON.stringify({
222
+ success: true,
223
+ message: `Successfully synced collection "${collection.workspace.name}" to Insomnia. Restart Insomnia to see changes.`,
224
+ collection: {
225
+ id: collectionId,
226
+ name: collection.workspace.name,
227
+ requestCount: collection.requests.length,
228
+ folderCount: collection.folders.length,
229
+ environmentCount: collection.environments.length,
230
+ },
231
+ }, null, 2),
232
+ },
233
+ ],
234
+ };
235
+ },
236
+ },
237
+ {
238
+ name: 'sync_all_from_insomnia',
239
+ description: 'Import all collections from Insomnia app into MCP storage',
240
+ inputSchema: {
241
+ type: 'object',
242
+ properties: {},
243
+ },
244
+ handler: async () => {
245
+ if (!insomniaStorage.isInsomniaInstalled()) {
246
+ throw new Error('Insomnia is not installed');
247
+ }
248
+ const collections = insomniaStorage.getAllCollections();
249
+ let syncedCount = 0;
250
+ const syncedNames = [];
251
+ for (const [id, collection] of collections.entries()) {
252
+ storage.saveCollection(id, collection);
253
+ syncedCount++;
254
+ syncedNames.push(collection.workspace.name);
255
+ }
256
+ return {
257
+ content: [
258
+ {
259
+ type: 'text',
260
+ text: JSON.stringify({
261
+ success: true,
262
+ message: `Successfully synced ${String(syncedCount)} collections from Insomnia to MCP`,
263
+ collections: syncedNames,
264
+ }, null, 2),
265
+ },
266
+ ],
267
+ };
268
+ },
269
+ },
270
+ {
271
+ name: 'get_insomnia_request',
272
+ description: 'Get detailed request information directly from Insomnia',
273
+ inputSchema: {
274
+ type: 'object',
275
+ properties: {
276
+ requestId: { type: 'string', description: 'Request ID (starts with req_)' },
277
+ },
278
+ required: ['requestId'],
279
+ },
280
+ handler: async (request) => {
281
+ const { requestId } = request.params.arguments;
282
+ if (!insomniaStorage.isInsomniaInstalled()) {
283
+ throw new Error('Insomnia is not installed');
284
+ }
285
+ const allRequests = insomniaStorage.getAllRequests();
286
+ const req = allRequests.find((r) => r._id === requestId);
287
+ if (!req) {
288
+ throw new Error(`Request with ID ${requestId} not found in Insomnia`);
289
+ }
290
+ return {
291
+ content: [
292
+ {
293
+ type: 'text',
294
+ text: JSON.stringify({
295
+ success: true,
296
+ request: {
297
+ id: req._id,
298
+ name: req.name,
299
+ method: req.method,
300
+ url: req.url,
301
+ headers: req.headers,
302
+ parameters: req.parameters,
303
+ body: req.body,
304
+ parentId: req.parentId,
305
+ modified: new Date(req.modified).toISOString(),
306
+ },
307
+ }, null, 2),
308
+ },
309
+ ],
310
+ };
311
+ },
312
+ },
313
+ {
314
+ name: 'execute_insomnia_request',
315
+ description: 'Execute a request directly from Insomnia app without syncing. Supports environment variable substitution.',
316
+ inputSchema: {
317
+ type: 'object',
318
+ properties: {
319
+ requestId: { type: 'string', description: 'Request ID from Insomnia (starts with req_)' },
320
+ environmentId: {
321
+ type: 'string',
322
+ description: 'Optional environment ID to use for variable substitution',
323
+ },
324
+ overrideVariables: {
325
+ type: 'object',
326
+ description: 'Optional variables to override environment values (e.g., {"token": "abc123"})',
327
+ },
328
+ },
329
+ required: ['requestId'],
330
+ },
331
+ handler: async (request) => {
332
+ const { requestId, environmentId, overrideVariables } = request.params.arguments;
333
+ if (!insomniaStorage.isInsomniaInstalled()) {
334
+ throw new Error('Insomnia is not installed');
335
+ }
336
+ const allRequests = insomniaStorage.getAllRequests();
337
+ const rawReq = allRequests.find((r) => r._id === requestId);
338
+ if (!rawReq) {
339
+ throw new Error(`Request with ID ${requestId} not found in Insomnia`);
340
+ }
341
+ const targetRequest = {
342
+ _id: rawReq._id,
343
+ _type: 'request',
344
+ parentId: rawReq.parentId,
345
+ name: rawReq.name,
346
+ url: rawReq.url,
347
+ method: rawReq.method,
348
+ headers: rawReq.headers.map((h) => ({
349
+ name: h.name,
350
+ value: h.value,
351
+ disabled: h.disabled,
352
+ })),
353
+ parameters: rawReq.parameters.map((p) => ({
354
+ name: p.name,
355
+ value: p.value,
356
+ disabled: p.disabled,
357
+ })),
358
+ body: rawReq.body.text
359
+ ? {
360
+ mimeType: rawReq.body.mimeType,
361
+ text: rawReq.body.text,
362
+ }
363
+ : undefined,
364
+ modified: rawReq.modified,
365
+ created: rawReq.created,
366
+ };
367
+ let environmentVariables = {};
368
+ if (environmentId) {
369
+ const allEnvs = insomniaStorage.getAllEnvironments();
370
+ const env = allEnvs.find((e) => e._id === environmentId);
371
+ if (env) {
372
+ environmentVariables = { ...env.data };
373
+ }
374
+ }
375
+ else {
376
+ const allEnvs = insomniaStorage.getAllEnvironments();
377
+ const workspaceId = rawReq.parentId.startsWith('wrk_')
378
+ ? rawReq.parentId
379
+ : insomniaStorage.getAllRequestGroups().find((f) => f._id === rawReq.parentId)?.parentId;
380
+ if (workspaceId) {
381
+ const baseEnv = allEnvs.find((e) => e.parentId === workspaceId);
382
+ if (baseEnv) {
383
+ environmentVariables = { ...baseEnv.data };
384
+ }
385
+ }
386
+ }
387
+ if (overrideVariables) {
388
+ Object.assign(environmentVariables, overrideVariables);
389
+ }
390
+ let processedUrl = targetRequest.url;
391
+ Object.entries(environmentVariables).forEach(([key, value]) => {
392
+ processedUrl = processedUrl.replace(new RegExp(`{{${key}}}`, 'g'), String(value));
393
+ });
394
+ const processedHeaders = {};
395
+ targetRequest.headers.forEach((header) => {
396
+ if (!header.disabled) {
397
+ let processedValue = header.value;
398
+ Object.entries(environmentVariables).forEach(([key, value]) => {
399
+ processedValue = processedValue.replace(new RegExp(`{{${key}}}`, 'g'), String(value));
400
+ });
401
+ processedHeaders[header.name] = processedValue;
402
+ }
403
+ });
404
+ let processedBody = undefined;
405
+ if (targetRequest.body?.text) {
406
+ processedBody = targetRequest.body.text;
407
+ Object.entries(environmentVariables).forEach(([key, value]) => {
408
+ if (typeof processedBody === 'string') {
409
+ processedBody = processedBody.replace(new RegExp(`{{${key}}}`, 'g'), String(value));
410
+ }
411
+ });
412
+ if (targetRequest.body.mimeType === 'application/json') {
413
+ try {
414
+ processedBody = JSON.parse(processedBody);
415
+ }
416
+ catch { }
417
+ }
418
+ }
419
+ const startTime = Date.now();
420
+ try {
421
+ const response = await axios({
422
+ method: targetRequest.method.toLowerCase(),
423
+ url: processedUrl,
424
+ headers: processedHeaders,
425
+ data: processedBody,
426
+ timeout: 30000,
427
+ validateStatus: () => true,
428
+ });
429
+ const duration = Date.now() - startTime;
430
+ const result = {
431
+ success: true,
432
+ request: {
433
+ name: targetRequest.name,
434
+ method: targetRequest.method,
435
+ url: processedUrl,
436
+ },
437
+ response: {
438
+ status: response.status,
439
+ statusText: response.statusText,
440
+ headers: normalizeHeaders(response.headers),
441
+ data: response.data,
442
+ duration: `${String(duration)}ms`,
443
+ size: JSON.stringify(response.data).length,
444
+ },
445
+ };
446
+ return {
447
+ content: [
448
+ {
449
+ type: 'text',
450
+ text: JSON.stringify(result, null, 2),
451
+ },
452
+ ],
453
+ };
454
+ }
455
+ catch (error) {
456
+ const err = error;
457
+ const duration = Date.now() - startTime;
458
+ return {
459
+ content: [
460
+ {
461
+ type: 'text',
462
+ text: JSON.stringify({
463
+ success: false,
464
+ request: {
465
+ name: targetRequest.name,
466
+ method: targetRequest.method,
467
+ url: processedUrl,
468
+ },
469
+ error: {
470
+ message: err.message,
471
+ code: err.code,
472
+ duration: `${String(duration)}ms`,
473
+ },
474
+ }, null, 2),
475
+ },
476
+ ],
477
+ };
478
+ }
479
+ },
480
+ },
481
+ ];
482
+ //# sourceMappingURL=insomnia.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insomnia.tools.js","sourceRoot":"","sources":["../../src/tools/insomnia.tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tool } from '../types/tool.js';
2
+ export declare const requestTools: Tool[];
3
+ //# sourceMappingURL=request.tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.tools.d.ts","sourceRoot":"","sources":["../../src/tools/request.tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAU7C,eAAO,MAAM,YAAY,EAAE,IAAI,EA0Y9B,CAAC"}