@mcpmake/core 0.2.5 → 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 (137) hide show
  1. package/dist/analyzer/dom-parser.d.ts +28 -0
  2. package/dist/analyzer/dom-parser.d.ts.map +1 -1
  3. package/dist/analyzer/dom-parser.js +77 -2
  4. package/dist/analyzer/dom-parser.js.map +1 -1
  5. package/dist/analyzer/goal-crawler.d.ts +2 -1
  6. package/dist/analyzer/goal-crawler.d.ts.map +1 -1
  7. package/dist/analyzer/goal-crawler.js +66 -17
  8. package/dist/analyzer/goal-crawler.js.map +1 -1
  9. package/dist/analyzer/semantic-analyzer.d.ts +1 -1
  10. package/dist/analyzer/semantic-analyzer.d.ts.map +1 -1
  11. package/dist/analyzer/semantic-analyzer.js +15 -16
  12. package/dist/analyzer/semantic-analyzer.js.map +1 -1
  13. package/dist/analyzer/site-crawler.d.ts.map +1 -1
  14. package/dist/analyzer/site-crawler.js +86 -12
  15. package/dist/analyzer/site-crawler.js.map +1 -1
  16. package/dist/config/mcpmake-config.d.ts.map +1 -1
  17. package/dist/config/mcpmake-config.js +5 -0
  18. package/dist/config/mcpmake-config.js.map +1 -1
  19. package/dist/emitter/code-writer.d.ts +1 -0
  20. package/dist/emitter/code-writer.d.ts.map +1 -1
  21. package/dist/emitter/code-writer.js +79 -12
  22. package/dist/emitter/code-writer.js.map +1 -1
  23. package/dist/emitter/index.d.ts +8 -0
  24. package/dist/emitter/index.d.ts.map +1 -1
  25. package/dist/emitter/index.js.map +1 -1
  26. package/dist/emitter/python-templates/dockerfile.hbs +4 -1
  27. package/dist/emitter/python-templates/server.py.hbs +4 -0
  28. package/dist/emitter/site-scaffolder.d.ts.map +1 -1
  29. package/dist/emitter/site-scaffolder.js +28 -1
  30. package/dist/emitter/site-scaffolder.js.map +1 -1
  31. package/dist/emitter/site-templates/browser-manager.ts.hbs +24 -3
  32. package/dist/emitter/site-templates/dockerfile.hbs +13 -4
  33. package/dist/emitter/site-templates/env.example.hbs +8 -0
  34. package/dist/emitter/site-templates/server-main-http.ts.hbs +53 -0
  35. package/dist/emitter/site-templates/telemetry.ts.hbs +117 -0
  36. package/dist/emitter/templates/auth-provider.ts.hbs +9 -5
  37. package/dist/emitter/templates/config.ts.hbs +22 -0
  38. package/dist/emitter/templates/dockerfile.hbs +12 -4
  39. package/dist/emitter/templates/oauth.ts.hbs +19 -65
  40. package/dist/emitter/templates/server-main-http.ts.hbs +33 -8
  41. package/dist/emitter/templates/task-handlers.ts.hbs +40 -1
  42. package/dist/emitter/worker-templates/worker.ts.hbs +88 -25
  43. package/dist/generator/spec-generator.d.ts.map +1 -1
  44. package/dist/generator/spec-generator.js +9 -54
  45. package/dist/generator/spec-generator.js.map +1 -1
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/llm/anthropic-provider.d.ts +14 -0
  51. package/dist/llm/anthropic-provider.d.ts.map +1 -0
  52. package/dist/llm/anthropic-provider.js +50 -0
  53. package/dist/llm/anthropic-provider.js.map +1 -0
  54. package/dist/llm/index.d.ts +19 -0
  55. package/dist/llm/index.d.ts.map +1 -0
  56. package/dist/llm/index.js +73 -0
  57. package/dist/llm/index.js.map +1 -0
  58. package/dist/llm/openai-provider.d.ts +46 -0
  59. package/dist/llm/openai-provider.d.ts.map +1 -0
  60. package/dist/llm/openai-provider.js +221 -0
  61. package/dist/llm/openai-provider.js.map +1 -0
  62. package/dist/llm/types.d.ts +61 -0
  63. package/dist/llm/types.d.ts.map +1 -0
  64. package/dist/llm/types.js +16 -0
  65. package/dist/llm/types.js.map +1 -0
  66. package/dist/parser/har-filter.d.ts +7 -0
  67. package/dist/parser/har-filter.d.ts.map +1 -1
  68. package/dist/parser/har-filter.js +107 -1
  69. package/dist/parser/har-filter.js.map +1 -1
  70. package/dist/parser/index.d.ts +1 -1
  71. package/dist/parser/index.d.ts.map +1 -1
  72. package/dist/parser/index.js +1 -1
  73. package/dist/parser/index.js.map +1 -1
  74. package/dist/parser/openapi-loader.d.ts.map +1 -1
  75. package/dist/parser/openapi-loader.js +36 -2
  76. package/dist/parser/openapi-loader.js.map +1 -1
  77. package/dist/parser/postman-loader.d.ts.map +1 -1
  78. package/dist/parser/postman-loader.js +6 -1
  79. package/dist/parser/postman-loader.js.map +1 -1
  80. package/dist/parser/schema-converter.d.ts.map +1 -1
  81. package/dist/parser/schema-converter.js +34 -23
  82. package/dist/parser/schema-converter.js.map +1 -1
  83. package/dist/plugins/loader.d.ts +5 -1
  84. package/dist/plugins/loader.d.ts.map +1 -1
  85. package/dist/plugins/loader.js +39 -10
  86. package/dist/plugins/loader.js.map +1 -1
  87. package/dist/recorder/browser-recorder.d.ts.map +1 -1
  88. package/dist/recorder/browser-recorder.js +50 -5
  89. package/dist/recorder/browser-recorder.js.map +1 -1
  90. package/dist/rescan/rescan-scheduler.d.ts.map +1 -1
  91. package/dist/rescan/rescan-scheduler.js +22 -7
  92. package/dist/rescan/rescan-scheduler.js.map +1 -1
  93. package/dist/site-transformer/selector-healer.d.ts +1 -1
  94. package/dist/site-transformer/selector-healer.d.ts.map +1 -1
  95. package/dist/site-transformer/selector-healer.js +17 -18
  96. package/dist/site-transformer/selector-healer.js.map +1 -1
  97. package/dist/transformer/auth-detector.d.ts.map +1 -1
  98. package/dist/transformer/auth-detector.js +13 -1
  99. package/dist/transformer/auth-detector.js.map +1 -1
  100. package/dist/transformer/har-schema-inferrer.d.ts.map +1 -1
  101. package/dist/transformer/har-schema-inferrer.js +2 -0
  102. package/dist/transformer/har-schema-inferrer.js.map +1 -1
  103. package/dist/transformer/har-to-operations.d.ts +1 -0
  104. package/dist/transformer/har-to-operations.d.ts.map +1 -1
  105. package/dist/transformer/har-to-operations.js +42 -10
  106. package/dist/transformer/har-to-operations.js.map +1 -1
  107. package/dist/transformer/llm-namer.d.ts.map +1 -1
  108. package/dist/transformer/llm-namer.js +10 -13
  109. package/dist/transformer/llm-namer.js.map +1 -1
  110. package/dist/transformer/tool-builder.d.ts.map +1 -1
  111. package/dist/transformer/tool-builder.js +30 -1
  112. package/dist/transformer/tool-builder.js.map +1 -1
  113. package/dist/types/index.d.ts +7 -0
  114. package/dist/types/index.d.ts.map +1 -1
  115. package/dist/utils/fail.d.ts.map +1 -1
  116. package/dist/utils/fail.js +22 -4
  117. package/dist/utils/fail.js.map +1 -1
  118. package/dist/utils/json-extract.d.ts +21 -0
  119. package/dist/utils/json-extract.d.ts.map +1 -0
  120. package/dist/utils/json-extract.js +67 -0
  121. package/dist/utils/json-extract.js.map +1 -0
  122. package/dist/utils/model-resolver.d.ts.map +1 -1
  123. package/dist/utils/model-resolver.js +6 -0
  124. package/dist/utils/model-resolver.js.map +1 -1
  125. package/dist/utils/sanitize.d.ts +1 -1
  126. package/dist/utils/sanitize.d.ts.map +1 -1
  127. package/dist/utils/sanitize.js +6 -2
  128. package/dist/utils/sanitize.js.map +1 -1
  129. package/dist/utils/ssrf-guard.d.ts +10 -0
  130. package/dist/utils/ssrf-guard.d.ts.map +1 -0
  131. package/dist/utils/ssrf-guard.js +130 -0
  132. package/dist/utils/ssrf-guard.js.map +1 -0
  133. package/dist/utils/watcher.d.ts +17 -1
  134. package/dist/utils/watcher.d.ts.map +1 -1
  135. package/dist/utils/watcher.js +53 -21
  136. package/dist/utils/watcher.js.map +1 -1
  137. package/package.json +2 -1
@@ -0,0 +1,221 @@
1
+ /**
2
+ * OpenAI-family provider. One class serves BOTH:
3
+ * - `openai` — the hosted api.openai.com endpoint, and
4
+ * - `openai-compatible` — any self-hosted server speaking the OpenAI wire
5
+ * format (Ollama, vLLM, LM Studio, Groq, Together, …).
6
+ *
7
+ * The two differ in three places, all handled here:
8
+ * 1. Model resolution against `/v1/models` — hosted OpenAI always lists models,
9
+ * compatible servers may not implement the endpoint at all.
10
+ * 2. The output-token parameter name (`max_completion_tokens` vs `max_tokens`).
11
+ * 3. Structured-output support (`response_format: json_schema`), which many
12
+ * compatible servers don't honor — so `completeJson` degrades gracefully.
13
+ */
14
+ import OpenAI from 'openai';
15
+ import { extractJsonObject } from '../utils/json-extract.js';
16
+ import { logger } from '../utils/logger.js';
17
+ /**
18
+ * Preferred (undated) model id per tier. Model ids rot — a whole family can be
19
+ * retired and a hardcoded snapshot then silently 404s — so the preferred id is
20
+ * only trusted when the live `/v1/models` listing confirms it (mirrors the
21
+ * Anthropic resolver in {@link ../utils/model-resolver}).
22
+ */
23
+ const PREFERRED = {
24
+ balanced: 'gpt-4o',
25
+ fast: 'gpt-4o-mini',
26
+ };
27
+ const TIER_PATTERN = {
28
+ balanced: /gpt-(5|4\.1|4o|4)/i,
29
+ fast: /mini|nano|small|flash|haiku/i,
30
+ };
31
+ export class OpenAiProvider {
32
+ name;
33
+ supportsVision = true;
34
+ client;
35
+ kind;
36
+ // Resolved once per tier per process: the served-model list rarely changes
37
+ // mid-run, and we don't want a Models API round-trip before every call.
38
+ modelCache = new Map();
39
+ // The endpoint we talk to, used in error messages so a misconfigured
40
+ // openai-compatible server is obvious from the thrown error alone.
41
+ baseURL;
42
+ // Whether we've already warned about a structured-output downgrade. Warning
43
+ // once per process keeps the log readable when many JSON calls degrade.
44
+ jsonDowngradeWarned = false;
45
+ constructor(opts) {
46
+ this.kind = opts.kind;
47
+ this.name = opts.kind;
48
+ this.baseURL = opts.baseURL ?? 'https://api.openai.com/v1';
49
+ this.client = new OpenAI({ apiKey: opts.apiKey, baseURL: opts.baseURL });
50
+ }
51
+ /**
52
+ * Resolve a usable model id for a tier against the live `/v1/models` listing,
53
+ * so a retired id can never silently 404 the way a hardcoded snapshot does.
54
+ *
55
+ * Resolution order:
56
+ * 1. An explicit `override` (e.g. a `--model` flag) wins, unchecked — the
57
+ * caller knows what they want, and a bad id surfaces as a clear API error.
58
+ * 2. The tier's preferred id, **if** the listing contains it.
59
+ * 3. Otherwise the newest served model whose id matches the tier pattern.
60
+ * 4. No match: hosted OpenAI falls back to the preferred id; an
61
+ * openai-compatible server falls back to its first listed model (or throws
62
+ * if it lists nothing).
63
+ * 5. Listing throws (server has no `/v1/models`): hosted OpenAI returns the
64
+ * preferred id WITHOUT caching (so a later call retries); an
65
+ * openai-compatible server throws — there's nothing safe to guess.
66
+ */
67
+ async resolveModel(tier, override) {
68
+ if (override)
69
+ return override;
70
+ const cached = this.modelCache.get(tier);
71
+ if (cached)
72
+ return cached;
73
+ const preferred = PREFERRED[tier];
74
+ let choice;
75
+ let models;
76
+ try {
77
+ const page = await this.client.models.list();
78
+ models = page.data;
79
+ }
80
+ catch (err) {
81
+ // Transient or unimplemented Models API.
82
+ if (this.kind === 'openai') {
83
+ // Return the fallback for this call WITHOUT caching it, so a later call
84
+ // retries once the API recovers (a poisoned cache would pin the whole
85
+ // process to the fallback id).
86
+ logger.warn(`Could not list models (${err instanceof Error ? err.message : err}); using "${preferred}"`);
87
+ return preferred;
88
+ }
89
+ throw new Error('Could not list models; pass --model for openai-compatible providers');
90
+ }
91
+ if (models.some((m) => m.id === preferred)) {
92
+ choice = preferred;
93
+ }
94
+ else {
95
+ const pattern = TIER_PATTERN[tier];
96
+ const newest = models
97
+ .filter((m) => pattern.test(m.id))
98
+ // `created` is an epoch number (seconds); missing values sort oldest.
99
+ .sort((a, b) => (b.created ?? 0) - (a.created ?? 0))[0];
100
+ if (newest) {
101
+ logger.warn(`Preferred model "${preferred}" unavailable; using "${newest.id}"`);
102
+ choice = newest.id;
103
+ }
104
+ else if (this.kind === 'openai') {
105
+ logger.warn(`Preferred model "${preferred}" unavailable and no ${tier} model found; trying it anyway`);
106
+ choice = preferred;
107
+ }
108
+ else if (models[0]) {
109
+ // openai-compatible: no tiered match, but the server lists *something* —
110
+ // use the first model rather than guessing an OpenAI id it won't have.
111
+ logger.warn(`No ${tier} model matched on ${this.baseURL}; using "${models[0].id}"`);
112
+ choice = models[0].id;
113
+ }
114
+ else {
115
+ throw new Error(`No model available from ${this.baseURL}; pass --model`);
116
+ }
117
+ }
118
+ // Only successful resolutions are cached.
119
+ this.modelCache.set(tier, choice);
120
+ return choice;
121
+ }
122
+ /**
123
+ * Output-token parameter, keyed by provider kind: newer hosted OpenAI models
124
+ * reject `max_tokens` and require `max_completion_tokens`, while many
125
+ * openai-compatible servers only understand the older `max_tokens`.
126
+ */
127
+ tokenParam(maxTokens) {
128
+ return this.kind === 'openai'
129
+ ? { max_completion_tokens: maxTokens }
130
+ : { max_tokens: maxTokens };
131
+ }
132
+ /** Build the message list: a leading system message only when `system` is set. */
133
+ buildMessages(prompt, system) {
134
+ const messages = [];
135
+ if (system)
136
+ messages.push({ role: 'system', content: system });
137
+ messages.push({ role: 'user', content: prompt });
138
+ return messages;
139
+ }
140
+ async completeText({ system, prompt, tier, model, maxTokens }) {
141
+ const resolved = await this.resolveModel(tier, model);
142
+ const messages = this.buildMessages(prompt, system);
143
+ const res = await this.client.chat.completions.create({
144
+ model: resolved,
145
+ messages,
146
+ ...this.tokenParam(maxTokens),
147
+ });
148
+ return res.choices[0]?.message?.content ?? '';
149
+ }
150
+ async completeJson({ system, prompt, schema, tier, model, maxTokens, }) {
151
+ const resolved = await this.resolveModel(tier, model);
152
+ const tokenParam = this.tokenParam(maxTokens);
153
+ // Nudge appended to the prompt for the non-native fallbacks, so the model
154
+ // still aims at the schema even without enforced structured output.
155
+ const schemaNudge = `Respond with JSON only that conforms to this JSON Schema:\n${JSON.stringify(schema)}`;
156
+ // 1) Native structured output (`json_schema`). Best fidelity when supported.
157
+ let content;
158
+ try {
159
+ const res = await this.client.chat.completions.create({
160
+ model: resolved,
161
+ messages: this.buildMessages(prompt, system),
162
+ response_format: {
163
+ type: 'json_schema',
164
+ json_schema: { name: 'response', strict: true, schema },
165
+ },
166
+ ...tokenParam,
167
+ });
168
+ content = res.choices[0]?.message?.content ?? '';
169
+ }
170
+ catch {
171
+ this.warnJsonDowngrade();
172
+ try {
173
+ // 2) `json_object` mode + schema-in-prompt: forces valid JSON without
174
+ // enforcing the schema, which most compatible servers support.
175
+ const messages = this.buildMessages(prompt, system);
176
+ messages.push({ role: 'user', content: schemaNudge });
177
+ const res = await this.client.chat.completions.create({
178
+ model: resolved,
179
+ messages,
180
+ response_format: { type: 'json_object' },
181
+ ...tokenParam,
182
+ });
183
+ content = res.choices[0]?.message?.content ?? '';
184
+ }
185
+ catch {
186
+ // 3) Plain completion + schema-in-prompt: last resort for servers that
187
+ // reject `response_format` entirely. Rely on the JSON extractor.
188
+ const messages = this.buildMessages(prompt, system);
189
+ messages.push({ role: 'user', content: schemaNudge });
190
+ const res = await this.client.chat.completions.create({
191
+ model: resolved,
192
+ messages,
193
+ ...tokenParam,
194
+ });
195
+ content = res.choices[0]?.message?.content ?? '';
196
+ }
197
+ }
198
+ const json = extractJsonObject(content);
199
+ if (json === null)
200
+ throw new Error('OpenAI provider returned unparseable JSON');
201
+ let parsed;
202
+ try {
203
+ parsed = JSON.parse(json);
204
+ }
205
+ catch {
206
+ throw new Error('OpenAI provider returned unparseable JSON');
207
+ }
208
+ if (typeof parsed !== 'object' || parsed === null) {
209
+ throw new Error('OpenAI provider returned unparseable JSON');
210
+ }
211
+ return parsed;
212
+ }
213
+ /** Warn once when structured output is downgraded, so the loss is visible. */
214
+ warnJsonDowngrade() {
215
+ if (this.jsonDowngradeWarned)
216
+ return;
217
+ this.jsonDowngradeWarned = true;
218
+ logger.warn(`${this.name}: native JSON-schema output not supported on ${this.baseURL}; falling back to best-effort JSON parsing`);
219
+ }
220
+ }
221
+ //# sourceMappingURL=openai-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/llm/openai-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Provider-agnostic LLM abstraction.
3
+ *
4
+ * The CLI's AI features (spec generation, tool naming, semantic naming,
5
+ * goal-directed crawl, selector healing) used to call `@anthropic-ai/sdk`
6
+ * directly. They now go through an {@link LlmProvider} so the same features can
7
+ * run against Claude, OpenAI/ChatGPT, or any OpenAI-compatible endpoint
8
+ * (Ollama, vLLM, LM Studio, Groq, Together, OpenRouter, …).
9
+ *
10
+ * The active provider is selected by environment (see `getLlmProvider`):
11
+ * `MCPMAKE_LLM_PROVIDER` + the matching key/base-url vars. Anthropic stays the
12
+ * default so existing setups are unaffected.
13
+ */
14
+ /** Model tiers used across the generator. */
15
+ export type ModelTier = 'balanced' | 'fast';
16
+ /** Which backend the active provider talks to. */
17
+ export type ProviderKind = 'anthropic' | 'openai' | 'openai-compatible';
18
+ /** All supported provider kinds, for validation + help text. */
19
+ export declare const PROVIDER_KINDS: readonly ProviderKind[];
20
+ /** A single completion request. */
21
+ export interface CompleteOptions {
22
+ /** Optional system instruction. */
23
+ system?: string;
24
+ /** User prompt. */
25
+ prompt: string;
26
+ /** Tier resolved to a concrete model when `model` is not given. */
27
+ tier: ModelTier;
28
+ /** Explicit model id — wins over tier resolution, passed through unchecked. */
29
+ model?: string;
30
+ /** Hard cap on output tokens. */
31
+ maxTokens: number;
32
+ }
33
+ /** A completion request constrained to a JSON Schema. */
34
+ export interface CompleteJsonOptions extends CompleteOptions {
35
+ /** JSON Schema the response must satisfy (flat/non-recursive for native modes). */
36
+ schema: Record<string, unknown>;
37
+ }
38
+ /**
39
+ * One LLM backend. Implementations hide SDK + wire-format differences:
40
+ * structured output (Anthropic `messages.parse` vs OpenAI `response_format`),
41
+ * model resolution (live model listing per provider), and text completion.
42
+ */
43
+ export interface LlmProvider {
44
+ /** Human-readable provider id, e.g. `anthropic` / `openai` / `openai-compatible`. */
45
+ readonly name: string;
46
+ /** Whether this provider/model class can accept image inputs (future use). */
47
+ readonly supportsVision: boolean;
48
+ /**
49
+ * Plain text completion. Returns the model's raw text (callers that want JSON
50
+ * run it through `utils/json-extract`). Throws on transport/API failure.
51
+ */
52
+ completeText(options: CompleteOptions): Promise<string>;
53
+ /**
54
+ * Schema-constrained completion returning the parsed object. Uses the
55
+ * provider's native structured-output mode when available, otherwise falls
56
+ * back to a text completion parsed with the shared JSON extractor. Throws if
57
+ * the response cannot be parsed into an object.
58
+ */
59
+ completeJson<T = unknown>(options: CompleteJsonOptions): Promise<T>;
60
+ }
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,6CAA6C;AAC7C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5C,kDAAkD;AAClD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAExE,gEAAgE;AAChE,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAiD,CAAC;AAEpG,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,IAAI,EAAE,SAAS,CAAC;IAChB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD;;;;;OAKG;IACH,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACrE"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Provider-agnostic LLM abstraction.
3
+ *
4
+ * The CLI's AI features (spec generation, tool naming, semantic naming,
5
+ * goal-directed crawl, selector healing) used to call `@anthropic-ai/sdk`
6
+ * directly. They now go through an {@link LlmProvider} so the same features can
7
+ * run against Claude, OpenAI/ChatGPT, or any OpenAI-compatible endpoint
8
+ * (Ollama, vLLM, LM Studio, Groq, Together, OpenRouter, …).
9
+ *
10
+ * The active provider is selected by environment (see `getLlmProvider`):
11
+ * `MCPMAKE_LLM_PROVIDER` + the matching key/base-url vars. Anthropic stays the
12
+ * default so existing setups are unaffected.
13
+ */
14
+ /** All supported provider kinds, for validation + help text. */
15
+ export const PROVIDER_KINDS = ['anthropic', 'openai', 'openai-compatible'];
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC"}
@@ -1,4 +1,11 @@
1
1
  import type { Entry } from 'har-format';
2
+ /**
3
+ * Scrub credentials out of a HAR entry in place: Authorization/Cookie/API-key
4
+ * request & response headers, and the parsed request/response cookie arrays.
5
+ * Recorded HAR is persisted to disk, so this prevents live secrets leaking in
6
+ * cleartext. Safe to call more than once (redaction is idempotent).
7
+ */
8
+ export declare function redactEntrySecrets(entry: Entry): Entry;
2
9
  export interface FilterOptions {
3
10
  /** Only include entries from these domains. If empty, include all. */
4
11
  allowedDomains?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"har-filter.d.ts","sourceRoot":"","sources":["../../src/parser/har-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAiCxC,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,KAAK,EAAE,CA4CvF"}
1
+ {"version":3,"file":"har-filter.d.ts","sourceRoot":"","sources":["../../src/parser/har-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,KAAK,EAAU,MAAM,YAAY,CAAC;AA6FxD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAMtD;AAiCD,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,KAAK,EAAE,CAgDvF"}
@@ -1,3 +1,105 @@
1
+ const REDACTED = '<redacted>';
2
+ /**
3
+ * Headers whose value is a credential and must be scrubbed from recorded HAR.
4
+ * We keep the header NAME (and, for Authorization, the scheme word) so auth
5
+ * detection downstream still works, but strip the secret material.
6
+ */
7
+ const SENSITIVE_HEADERS = new Set([
8
+ 'authorization',
9
+ 'proxy-authorization',
10
+ 'cookie',
11
+ 'set-cookie',
12
+ 'x-api-key',
13
+ 'api-key',
14
+ 'apikey',
15
+ 'authorization-token',
16
+ 'x-auth-token',
17
+ 'x-access-token',
18
+ 'x-session-token',
19
+ 'x-csrf-token',
20
+ 'x-amz-security-token',
21
+ 'x-goog-api-key',
22
+ ]);
23
+ // Authorization values are `<scheme> <credential>`; keep the scheme so
24
+ // downstream auth detection can still classify bearer/basic/token.
25
+ const AUTH_SCHEME_PATTERN = /^(\s*[A-Za-z][\w-]*\s+)\S[\s\S]*$/;
26
+ /**
27
+ * Redact the secret value of a single header in place, preserving the header
28
+ * name (and the auth scheme word for Authorization-style headers) so auth
29
+ * detection still sees a scheme exists.
30
+ */
31
+ function redactHeaderValue(name, value) {
32
+ const lower = name.toLowerCase();
33
+ if (lower === 'cookie')
34
+ return redactCookiePairs(value);
35
+ if (lower === 'set-cookie')
36
+ return redactSetCookie(value);
37
+ if (lower === 'authorization' || lower === 'proxy-authorization') {
38
+ const m = AUTH_SCHEME_PATTERN.exec(value);
39
+ if (m)
40
+ return `${m[1].trimStart()}${REDACTED}`;
41
+ }
42
+ return REDACTED;
43
+ }
44
+ /** Replace a single `name[=value]` segment's value with the redaction marker. */
45
+ function redactPairValue(pair) {
46
+ const eq = pair.indexOf('=');
47
+ if (eq === -1)
48
+ return pair; // attribute flag (e.g. `Secure`) — no value.
49
+ return `${pair.slice(0, eq)}=${REDACTED}`;
50
+ }
51
+ /**
52
+ * Cookie request header: every `;`-separated segment is a `name=value` cookie.
53
+ * `s=Y; foo=bar` becomes `s=<redacted>; foo=<redacted>` (names kept).
54
+ */
55
+ function redactCookiePairs(value) {
56
+ return value
57
+ .split(';')
58
+ .map((part) => part.replace(/^(\s*)(.*)$/, (_, ws, body) => ws + redactPairValue(body)))
59
+ .join(';');
60
+ }
61
+ /**
62
+ * Set-Cookie response header: only the FIRST segment is the cookie `name=value`;
63
+ * the rest (Path, Domain, Expires, Secure, ...) are attributes carrying no
64
+ * secret, so they are preserved verbatim to keep the HAR shape intact.
65
+ */
66
+ function redactSetCookie(value) {
67
+ const semi = value.indexOf(';');
68
+ if (semi === -1)
69
+ return redactCookiePairs(value);
70
+ const head = value.slice(0, semi);
71
+ const rest = value.slice(semi); // includes leading ';'
72
+ return redactCookiePairs(head) + rest;
73
+ }
74
+ function redactHeaders(headers) {
75
+ if (!headers)
76
+ return;
77
+ for (const header of headers) {
78
+ if (SENSITIVE_HEADERS.has(header.name.toLowerCase())) {
79
+ header.value = redactHeaderValue(header.name, header.value);
80
+ }
81
+ }
82
+ }
83
+ function redactCookies(cookies) {
84
+ if (!cookies)
85
+ return;
86
+ for (const cookie of cookies) {
87
+ cookie.value = REDACTED;
88
+ }
89
+ }
90
+ /**
91
+ * Scrub credentials out of a HAR entry in place: Authorization/Cookie/API-key
92
+ * request & response headers, and the parsed request/response cookie arrays.
93
+ * Recorded HAR is persisted to disk, so this prevents live secrets leaking in
94
+ * cleartext. Safe to call more than once (redaction is idempotent).
95
+ */
96
+ export function redactEntrySecrets(entry) {
97
+ redactHeaders(entry.request?.headers);
98
+ redactHeaders(entry.response?.headers);
99
+ redactCookies(entry.request?.cookies);
100
+ redactCookies(entry.response?.cookies);
101
+ return entry;
102
+ }
1
103
  const NOISE_EXTENSIONS = /\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map|webp|avif)(\?|$)/i;
2
104
  const ANALYTICS_DOMAINS = [
3
105
  'google-analytics.com',
@@ -26,7 +128,7 @@ const SKIP_MIME_TYPES = [
26
128
  'video/',
27
129
  ];
28
130
  export function filterHarEntries(entries, options = {}) {
29
- return entries.filter((entry) => {
131
+ const kept = entries.filter((entry) => {
30
132
  const url = entry.request.url;
31
133
  let hostname;
32
134
  try {
@@ -68,5 +170,9 @@ export function filterHarEntries(entries, options = {}) {
68
170
  }
69
171
  return true;
70
172
  });
173
+ // Scrub credentials before the HAR (or anything derived from it) is persisted.
174
+ for (const entry of kept)
175
+ redactEntrySecrets(entry);
176
+ return kept;
71
177
  }
72
178
  //# sourceMappingURL=har-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"har-filter.js","sourceRoot":"","sources":["../../src/parser/har-filter.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GACpB,6EAA6E,CAAC;AAEhF,MAAM,iBAAiB,GAAG;IACxB,sBAAsB;IACtB,sBAAsB;IACtB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,WAAW;IACX,cAAc;IACd,eAAe;IACf,YAAY;CACb,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,WAAW;IACX,UAAU;IACV,wBAAwB;IACxB,iBAAiB;IACjB,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;CACT,CAAC;AASF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,UAAyB,EAAE;IAC5E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE/D,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAElD,kCAAkC;QAClC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEtE,mBAAmB;QACnB,IAAI,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC9E,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,KAAK,CAAC;QAEzE,yCAAyC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,2EAA2E;YAC3E,wCAAwC;YACxC,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3F,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"har-filter.js","sourceRoot":"","sources":["../../src/parser/har-filter.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export { extractOperations } from './operation-extractor.js';
4
4
  export type { ExtractionResult } from './operation-extractor.js';
5
5
  export { jsonSchemaToZodCode, buildOperationInputSchema } from './schema-converter.js';
6
6
  export { loadHarFile } from './har-loader.js';
7
- export { filterHarEntries } from './har-filter.js';
7
+ export { filterHarEntries, redactEntrySecrets } from './har-filter.js';
8
8
  export type { FilterOptions } from './har-filter.js';
9
9
  export { normalizeEntry } from './har-normalizer.js';
10
10
  export type { NormalizedEntry, PathParam, QueryParam } from './har-normalizer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -2,6 +2,6 @@ export { loadOpenApiSpec } from './openapi-loader.js';
2
2
  export { extractOperations } from './operation-extractor.js';
3
3
  export { jsonSchemaToZodCode, buildOperationInputSchema } from './schema-converter.js';
4
4
  export { loadHarFile } from './har-loader.js';
5
- export { filterHarEntries } from './har-filter.js';
5
+ export { filterHarEntries, redactEntrySecrets } from './har-filter.js';
6
6
  export { normalizeEntry } from './har-normalizer.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-loader.d.ts","sourceRoot":"","sources":["../../src/parser/openapi-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0VD,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxE"}
1
+ {"version":3,"file":"openapi-loader.d.ts","sourceRoot":"","sources":["../../src/parser/openapi-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAyXD,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBxE"}
@@ -1,5 +1,34 @@
1
1
  import SwaggerParser from '@apidevtools/swagger-parser';
2
2
  import { logger } from '../utils/logger.js';
3
+ import { assertPublicUrl } from '../utils/ssrf-guard.js';
4
+ function isHttpUrl(input) {
5
+ return /^https?:\/\//i.test(input.trim());
6
+ }
7
+ /**
8
+ * Parser options that route every remote `$ref` fetch through the SSRF guard.
9
+ *
10
+ * The custom `read` runs before any download, so each remote ref URL is rejected
11
+ * if it resolves to a private/reserved host. Redirects are not followed
12
+ * (`redirect: 'error'`): a 3xx to an unvetted host (e.g. the metadata endpoint)
13
+ * surfaces as an error instead of an unguarded fetch.
14
+ */
15
+ const guardedHttpResolver = {
16
+ order: 200,
17
+ canRead(file) {
18
+ return /^https?:\/\//i.test(file.url);
19
+ },
20
+ async read(file) {
21
+ await assertPublicUrl(file.url);
22
+ const res = await fetch(file.url, { redirect: 'error' });
23
+ if (!res.ok) {
24
+ throw new Error(`Error downloading ${file.url}: HTTP ${res.status}`);
25
+ }
26
+ return Buffer.from(await res.arrayBuffer());
27
+ },
28
+ };
29
+ const guardedParserOptions = {
30
+ resolve: { http: guardedHttpResolver },
31
+ };
3
32
  /**
4
33
  * Detects if a parsed document is Swagger 2.0 and converts it to OpenAPI 3.0.
5
34
  */
@@ -297,13 +326,18 @@ function convertSchemaRef(schema) {
297
326
  return result;
298
327
  }
299
328
  export async function loadOpenApiSpec(input) {
329
+ // SSRF guard: vet a remote top-level spec URL before any fetch. Remote `$ref`s
330
+ // are vetted per-URL by the guarded http resolver in guardedParserOptions.
331
+ if (isHttpUrl(input)) {
332
+ await assertPublicUrl(input);
333
+ }
300
334
  // First, parse without dereferencing to check for Swagger 2.0
301
- const raw = (await SwaggerParser.parse(input));
335
+ const raw = (await SwaggerParser.parse(input, guardedParserOptions));
302
336
  let specToParse = input;
303
337
  if (isSwagger2(raw)) {
304
338
  specToParse = convertSwagger2ToOpenApi3(raw);
305
339
  }
306
- const api = (await SwaggerParser.dereference(specToParse));
340
+ const api = (await SwaggerParser.dereference(specToParse, guardedParserOptions));
307
341
  return { api, specPath: input };
308
342
  }
309
343
  //# sourceMappingURL=openapi-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-loader.js","sourceRoot":"","sources":["../../src/parser/openapi-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-loader.js","sourceRoot":"","sources":["../../src/parser/openapi-loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postman-loader.d.ts","sourceRoot":"","sources":["../../src/parser/postman-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA8BxC,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAkBD"}
1
+ {"version":3,"file":"postman-loader.d.ts","sourceRoot":"","sources":["../../src/parser/postman-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAgCxC,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAyBD"}