atlas-pipeline-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +21 -0
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/dist/mcp.d.ts +21 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +404 -0
- package/dist/mcp.js.map +1 -0
- package/dist/pipeline.d.ts +39 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +355 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/providers/index.d.ts +14 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +13 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/llm-provider.d.ts +71 -0
- package/dist/providers/llm-provider.d.ts.map +1 -0
- package/dist/providers/llm-provider.js +357 -0
- package/dist/providers/llm-provider.js.map +1 -0
- package/dist/server.d.ts +27 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +312 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/context.d.ts +23 -0
- package/dist/tools/context.d.ts.map +1 -0
- package/dist/tools/context.js +363 -0
- package/dist/tools/context.js.map +1 -0
- package/dist/tools/critique.d.ts +40 -0
- package/dist/tools/critique.d.ts.map +1 -0
- package/dist/tools/critique.js +315 -0
- package/dist/tools/critique.js.map +1 -0
- package/dist/tools/decompose.d.ts +34 -0
- package/dist/tools/decompose.d.ts.map +1 -0
- package/dist/tools/decompose.js +328 -0
- package/dist/tools/decompose.js.map +1 -0
- package/dist/tools/git.d.ts +66 -0
- package/dist/tools/git.d.ts.map +1 -0
- package/dist/tools/git.js +333 -0
- package/dist/tools/git.js.map +1 -0
- package/dist/tools/intent.d.ts +24 -0
- package/dist/tools/intent.d.ts.map +1 -0
- package/dist/tools/intent.js +245 -0
- package/dist/tools/intent.js.map +1 -0
- package/dist/tools/ollama.d.ts +104 -0
- package/dist/tools/ollama.d.ts.map +1 -0
- package/dist/tools/ollama.js +299 -0
- package/dist/tools/ollama.js.map +1 -0
- package/dist/tools/optimize.d.ts +64 -0
- package/dist/tools/optimize.d.ts.map +1 -0
- package/dist/tools/optimize.js +302 -0
- package/dist/tools/optimize.js.map +1 -0
- package/dist/tools/variants.d.ts +49 -0
- package/dist/tools/variants.d.ts.map +1 -0
- package/dist/tools/variants.js +252 -0
- package/dist/tools/variants.js.map +1 -0
- package/dist/types.d.ts +447 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +25 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +117 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +279 -0
- package/dist/utils.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas MCP Server - Unified LLM Provider
|
|
3
|
+
*
|
|
4
|
+
* Supports multiple LLM backends with a unified interface:
|
|
5
|
+
* - Ollama (local, free)
|
|
6
|
+
* - OpenAI (GPT-4, GPT-4-turbo, GPT-3.5-turbo)
|
|
7
|
+
* - Anthropic (Claude 3.5, Claude 3)
|
|
8
|
+
*
|
|
9
|
+
* Auto-detects available providers and falls back gracefully.
|
|
10
|
+
*/
|
|
11
|
+
import { Ollama } from 'ollama';
|
|
12
|
+
import OpenAI from 'openai';
|
|
13
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
14
|
+
import { logger, retry, getErrorMessage, extractJson } from '../utils.js';
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Abstract Provider Interface
|
|
17
|
+
// ============================================================================
|
|
18
|
+
export class LLMProvider {
|
|
19
|
+
}
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Ollama Provider
|
|
22
|
+
// ============================================================================
|
|
23
|
+
class OllamaProvider extends LLMProvider {
|
|
24
|
+
type = 'ollama';
|
|
25
|
+
client;
|
|
26
|
+
_model = '';
|
|
27
|
+
initialized = false;
|
|
28
|
+
baseUrl;
|
|
29
|
+
maxRetries;
|
|
30
|
+
constructor(config) {
|
|
31
|
+
super();
|
|
32
|
+
this.baseUrl = config.ollamaBaseUrl ?? 'http://localhost:11434';
|
|
33
|
+
this.client = new Ollama({ host: this.baseUrl });
|
|
34
|
+
this._model = config.ollamaModel ?? '';
|
|
35
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
36
|
+
}
|
|
37
|
+
get model() {
|
|
38
|
+
return this._model || 'auto-detect';
|
|
39
|
+
}
|
|
40
|
+
async isAvailable() {
|
|
41
|
+
try {
|
|
42
|
+
const models = await this.client.list();
|
|
43
|
+
if (models.models.length === 0) {
|
|
44
|
+
logger.debug('Ollama running but no models installed');
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// Auto-select model if not specified
|
|
48
|
+
if (!this._model) {
|
|
49
|
+
this._model = models.models[0].name;
|
|
50
|
+
logger.info({ model: this._model }, 'Ollama: auto-selected model');
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// Verify specified model exists
|
|
54
|
+
const exists = models.models.some(m => m.name.includes(this._model.split(':')[0]));
|
|
55
|
+
if (!exists) {
|
|
56
|
+
this._model = models.models[0].name;
|
|
57
|
+
logger.warn({ fallback: this._model }, 'Ollama: specified model not found, using fallback');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
this.initialized = true;
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
logger.debug('Ollama not available');
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async complete(prompt, options = {}) {
|
|
69
|
+
if (!this.initialized)
|
|
70
|
+
await this.isAvailable();
|
|
71
|
+
const startTime = performance.now();
|
|
72
|
+
const response = await retry(async () => {
|
|
73
|
+
const fullPrompt = options.systemPrompt
|
|
74
|
+
? `${options.systemPrompt}\n\n${prompt}`
|
|
75
|
+
: prompt;
|
|
76
|
+
return await this.client.generate({
|
|
77
|
+
model: this._model,
|
|
78
|
+
prompt: fullPrompt,
|
|
79
|
+
options: {
|
|
80
|
+
temperature: options.temperature ?? 0.7,
|
|
81
|
+
num_predict: options.maxTokens ?? 2048,
|
|
82
|
+
stop: options.stop,
|
|
83
|
+
},
|
|
84
|
+
stream: false,
|
|
85
|
+
});
|
|
86
|
+
}, { maxAttempts: this.maxRetries });
|
|
87
|
+
return {
|
|
88
|
+
text: response.response,
|
|
89
|
+
provider: 'ollama',
|
|
90
|
+
model: this._model,
|
|
91
|
+
usage: {
|
|
92
|
+
promptTokens: response.prompt_eval_count ?? 0,
|
|
93
|
+
completionTokens: response.eval_count ?? 0,
|
|
94
|
+
totalTokens: (response.prompt_eval_count ?? 0) + (response.eval_count ?? 0),
|
|
95
|
+
},
|
|
96
|
+
durationMs: Math.round(performance.now() - startTime),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
async completeJson(prompt, options = {}) {
|
|
100
|
+
const jsonPrompt = `${prompt}\n\nIMPORTANT: Respond with valid JSON only. No markdown, no explanation.`;
|
|
101
|
+
const response = await this.complete(jsonPrompt, { ...options, temperature: options.temperature ?? 0.3 });
|
|
102
|
+
return { data: extractJson(response.text), raw: response.text };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// ============================================================================
|
|
106
|
+
// OpenAI Provider
|
|
107
|
+
// ============================================================================
|
|
108
|
+
class OpenAIProvider extends LLMProvider {
|
|
109
|
+
type = 'openai';
|
|
110
|
+
client;
|
|
111
|
+
_model;
|
|
112
|
+
maxRetries;
|
|
113
|
+
constructor(config) {
|
|
114
|
+
super();
|
|
115
|
+
this._model = config.openaiModel ?? 'gpt-4-turbo-preview';
|
|
116
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
117
|
+
this.client = new OpenAI({
|
|
118
|
+
apiKey: config.openaiApiKey,
|
|
119
|
+
baseURL: config.openaiBaseUrl,
|
|
120
|
+
maxRetries: this.maxRetries,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
get model() {
|
|
124
|
+
return this._model;
|
|
125
|
+
}
|
|
126
|
+
async isAvailable() {
|
|
127
|
+
try {
|
|
128
|
+
// Quick test with minimal tokens
|
|
129
|
+
await this.client.chat.completions.create({
|
|
130
|
+
model: this._model,
|
|
131
|
+
messages: [{ role: 'user', content: 'hi' }],
|
|
132
|
+
max_tokens: 5,
|
|
133
|
+
});
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
logger.debug({ error: getErrorMessage(error) }, 'OpenAI not available');
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async complete(prompt, options = {}) {
|
|
142
|
+
const startTime = performance.now();
|
|
143
|
+
const messages = [];
|
|
144
|
+
if (options.systemPrompt) {
|
|
145
|
+
messages.push({ role: 'system', content: options.systemPrompt });
|
|
146
|
+
}
|
|
147
|
+
messages.push({ role: 'user', content: prompt });
|
|
148
|
+
const response = await this.client.chat.completions.create({
|
|
149
|
+
model: this._model,
|
|
150
|
+
messages,
|
|
151
|
+
temperature: options.temperature ?? 0.7,
|
|
152
|
+
max_tokens: options.maxTokens ?? 2048,
|
|
153
|
+
stop: options.stop,
|
|
154
|
+
response_format: options.jsonMode ? { type: 'json_object' } : undefined,
|
|
155
|
+
});
|
|
156
|
+
const choice = response.choices[0];
|
|
157
|
+
return {
|
|
158
|
+
text: choice?.message?.content ?? '',
|
|
159
|
+
provider: 'openai',
|
|
160
|
+
model: this._model,
|
|
161
|
+
usage: response.usage ? {
|
|
162
|
+
promptTokens: response.usage.prompt_tokens,
|
|
163
|
+
completionTokens: response.usage.completion_tokens,
|
|
164
|
+
totalTokens: response.usage.total_tokens,
|
|
165
|
+
} : undefined,
|
|
166
|
+
durationMs: Math.round(performance.now() - startTime),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
async completeJson(prompt, options = {}) {
|
|
170
|
+
const response = await this.complete(prompt, { ...options, jsonMode: true });
|
|
171
|
+
return { data: extractJson(response.text), raw: response.text };
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// ============================================================================
|
|
175
|
+
// Anthropic Provider
|
|
176
|
+
// ============================================================================
|
|
177
|
+
class AnthropicProvider extends LLMProvider {
|
|
178
|
+
type = 'anthropic';
|
|
179
|
+
client;
|
|
180
|
+
_model;
|
|
181
|
+
maxRetries;
|
|
182
|
+
constructor(config) {
|
|
183
|
+
super();
|
|
184
|
+
this._model = config.anthropicModel ?? 'claude-3-5-sonnet-20241022';
|
|
185
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
186
|
+
this.client = new Anthropic({
|
|
187
|
+
apiKey: config.anthropicApiKey,
|
|
188
|
+
maxRetries: this.maxRetries,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
get model() {
|
|
192
|
+
return this._model;
|
|
193
|
+
}
|
|
194
|
+
async isAvailable() {
|
|
195
|
+
try {
|
|
196
|
+
await this.client.messages.create({
|
|
197
|
+
model: this._model,
|
|
198
|
+
max_tokens: 10,
|
|
199
|
+
messages: [{ role: 'user', content: 'hi' }],
|
|
200
|
+
});
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
logger.debug({ error: getErrorMessage(error) }, 'Anthropic not available');
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
async complete(prompt, options = {}) {
|
|
209
|
+
const startTime = performance.now();
|
|
210
|
+
const response = await this.client.messages.create({
|
|
211
|
+
model: this._model,
|
|
212
|
+
max_tokens: options.maxTokens ?? 2048,
|
|
213
|
+
system: options.systemPrompt,
|
|
214
|
+
messages: [{ role: 'user', content: prompt }],
|
|
215
|
+
});
|
|
216
|
+
const textBlock = response.content.find(block => block.type === 'text');
|
|
217
|
+
const text = textBlock && 'text' in textBlock ? textBlock.text : '';
|
|
218
|
+
return {
|
|
219
|
+
text,
|
|
220
|
+
provider: 'anthropic',
|
|
221
|
+
model: this._model,
|
|
222
|
+
usage: {
|
|
223
|
+
promptTokens: response.usage.input_tokens,
|
|
224
|
+
completionTokens: response.usage.output_tokens,
|
|
225
|
+
totalTokens: response.usage.input_tokens + response.usage.output_tokens,
|
|
226
|
+
},
|
|
227
|
+
durationMs: Math.round(performance.now() - startTime),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
async completeJson(prompt, options = {}) {
|
|
231
|
+
const jsonPrompt = `${prompt}\n\nIMPORTANT: Respond with valid JSON only. No markdown, no explanation.`;
|
|
232
|
+
const response = await this.complete(jsonPrompt, { ...options, temperature: options.temperature ?? 0.3 });
|
|
233
|
+
return { data: extractJson(response.text), raw: response.text };
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// ============================================================================
|
|
237
|
+
// Provider Factory
|
|
238
|
+
// ============================================================================
|
|
239
|
+
let activeProvider = null;
|
|
240
|
+
/**
|
|
241
|
+
* Create a provider instance based on configuration
|
|
242
|
+
*/
|
|
243
|
+
export function createProvider(config) {
|
|
244
|
+
switch (config.type) {
|
|
245
|
+
case 'ollama':
|
|
246
|
+
return new OllamaProvider(config);
|
|
247
|
+
case 'openai':
|
|
248
|
+
return new OpenAIProvider(config);
|
|
249
|
+
case 'anthropic':
|
|
250
|
+
return new AnthropicProvider(config);
|
|
251
|
+
default:
|
|
252
|
+
return new OllamaProvider(config);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Get or create the active provider with auto-detection
|
|
257
|
+
*/
|
|
258
|
+
export async function getActiveProvider(config) {
|
|
259
|
+
if (activeProvider)
|
|
260
|
+
return activeProvider;
|
|
261
|
+
const effectiveConfig = config ?? {
|
|
262
|
+
type: process.env['LLM_PROVIDER'] ?? 'auto',
|
|
263
|
+
// Ollama
|
|
264
|
+
ollamaBaseUrl: process.env['OLLAMA_BASE_URL'] ?? 'http://localhost:11434',
|
|
265
|
+
ollamaModel: process.env['OLLAMA_MODEL'] ?? '',
|
|
266
|
+
// OpenAI
|
|
267
|
+
openaiApiKey: process.env['OPENAI_API_KEY'],
|
|
268
|
+
openaiModel: process.env['OPENAI_MODEL'] ?? 'gpt-4-turbo-preview',
|
|
269
|
+
openaiBaseUrl: process.env['OPENAI_BASE_URL'],
|
|
270
|
+
// Anthropic
|
|
271
|
+
anthropicApiKey: process.env['ANTHROPIC_API_KEY'],
|
|
272
|
+
anthropicModel: process.env['ANTHROPIC_MODEL'] ?? 'claude-3-5-sonnet-20241022',
|
|
273
|
+
maxRetries: 3,
|
|
274
|
+
};
|
|
275
|
+
// If specific provider requested, use it
|
|
276
|
+
if (effectiveConfig.type !== 'auto') {
|
|
277
|
+
activeProvider = createProvider(effectiveConfig);
|
|
278
|
+
const available = await activeProvider.isAvailable();
|
|
279
|
+
if (!available) {
|
|
280
|
+
throw new Error(`Requested provider '${effectiveConfig.type}' is not available`);
|
|
281
|
+
}
|
|
282
|
+
logger.info({ provider: effectiveConfig.type, model: activeProvider.model }, 'Using configured provider');
|
|
283
|
+
return activeProvider;
|
|
284
|
+
}
|
|
285
|
+
// Auto-detect: try providers in order of preference
|
|
286
|
+
const providers = [
|
|
287
|
+
{
|
|
288
|
+
name: 'anthropic',
|
|
289
|
+
check: () => !!effectiveConfig.anthropicApiKey,
|
|
290
|
+
create: () => new AnthropicProvider(effectiveConfig),
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: 'openai',
|
|
294
|
+
check: () => !!effectiveConfig.openaiApiKey,
|
|
295
|
+
create: () => new OpenAIProvider(effectiveConfig),
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
name: 'ollama',
|
|
299
|
+
check: () => true, // Always try Ollama
|
|
300
|
+
create: () => new OllamaProvider(effectiveConfig),
|
|
301
|
+
},
|
|
302
|
+
];
|
|
303
|
+
for (const { name, check, create } of providers) {
|
|
304
|
+
if (!check())
|
|
305
|
+
continue;
|
|
306
|
+
const provider = create();
|
|
307
|
+
const available = await provider.isAvailable();
|
|
308
|
+
if (available) {
|
|
309
|
+
activeProvider = provider;
|
|
310
|
+
logger.info({ provider: name, model: provider.model }, 'Auto-detected provider');
|
|
311
|
+
return provider;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
throw new Error('No LLM provider available. Please configure one of:\n' +
|
|
315
|
+
'- OLLAMA_BASE_URL (with Ollama running)\n' +
|
|
316
|
+
'- OPENAI_API_KEY\n' +
|
|
317
|
+
'- ANTHROPIC_API_KEY');
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Reset the active provider (for testing or reconfiguration)
|
|
321
|
+
*/
|
|
322
|
+
export function resetProvider() {
|
|
323
|
+
activeProvider = null;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Check if any provider is available
|
|
327
|
+
*/
|
|
328
|
+
export async function checkProviders() {
|
|
329
|
+
const config = {
|
|
330
|
+
type: 'auto',
|
|
331
|
+
ollamaBaseUrl: process.env['OLLAMA_BASE_URL'] ?? 'http://localhost:11434',
|
|
332
|
+
openaiApiKey: process.env['OPENAI_API_KEY'],
|
|
333
|
+
anthropicApiKey: process.env['ANTHROPIC_API_KEY'],
|
|
334
|
+
};
|
|
335
|
+
const available = [];
|
|
336
|
+
// Check Ollama
|
|
337
|
+
const ollama = new OllamaProvider(config);
|
|
338
|
+
if (await ollama.isAvailable())
|
|
339
|
+
available.push('ollama');
|
|
340
|
+
// Check OpenAI
|
|
341
|
+
if (config.openaiApiKey) {
|
|
342
|
+
const openai = new OpenAIProvider(config);
|
|
343
|
+
if (await openai.isAvailable())
|
|
344
|
+
available.push('openai');
|
|
345
|
+
}
|
|
346
|
+
// Check Anthropic
|
|
347
|
+
if (config.anthropicApiKey) {
|
|
348
|
+
const anthropic = new AnthropicProvider(config);
|
|
349
|
+
if (await anthropic.isAvailable())
|
|
350
|
+
available.push('anthropic');
|
|
351
|
+
}
|
|
352
|
+
return {
|
|
353
|
+
available,
|
|
354
|
+
activeProvider: activeProvider?.type ?? null,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=llm-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../src/providers/llm-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAiD1E,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,MAAM,OAAgB,WAAW;CAOhC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,cAAe,SAAQ,WAAW;IAC7B,IAAI,GAAiB,QAAQ,CAAC;IAC/B,MAAM,CAAS;IACf,MAAM,GAAW,EAAE,CAAC;IACpB,WAAW,GAAG,KAAK,CAAC;IACpB,OAAO,CAAS;IAChB,UAAU,CAAS;IAE3B,YAAY,MAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAAa,IAAI,wBAAwB,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,qCAAqC;YACrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,gCAAgC;gBAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,mDAAmD,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,UAA6B,EAAE;QAC5D,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,KAAK,IAAI,EAAE;YACT,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY;gBACrC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,OAAO,MAAM,EAAE;gBACxC,CAAC,CAAC,MAAM,CAAC;YAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAChC,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE;oBACP,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;oBACvC,WAAW,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;oBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB;gBACD,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC,EACD,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CACjC,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE;gBACL,YAAY,EAAE,QAAQ,CAAC,iBAAiB,IAAI,CAAC;gBAC7C,gBAAgB,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC;gBAC1C,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;aAC5E;YACD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,MAAc,EAAE,UAA6B,EAAE;QACnE,MAAM,UAAU,GAAG,GAAG,MAAM,2EAA2E,CAAC;QACxG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1G,OAAO,EAAE,IAAI,EAAE,WAAW,CAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;CACF;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,cAAe,SAAQ,WAAW;IAC7B,IAAI,GAAiB,QAAQ,CAAC;IAC/B,MAAM,CAAS;IACf,MAAM,CAAS;IACf,UAAU,CAAS;IAE3B,YAAY,MAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,qBAAqB,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,OAAO,EAAE,MAAM,CAAC,aAAa;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACxC,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3C,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,UAA6B,EAAE;QAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAwC,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnC,OAAO;YACL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;YACpC,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;gBAC1C,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;gBAClD,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;aACzC,CAAC,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,MAAc,EAAE,UAA6B,EAAE;QACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,WAAW,CAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;CACF;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,iBAAkB,SAAQ,WAAW;IAChC,IAAI,GAAiB,WAAW,CAAC;IAClC,MAAM,CAAY;IAClB,MAAM,CAAS;IACf,UAAU,CAAS;IAE3B,YAAY,MAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,IAAI,4BAA4B,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,eAAe;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAChC,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,UAA6B,EAAE;QAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACrC,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,SAAS,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpE,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE;gBACL,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;gBACzC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;gBAC9C,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa;aACxE;YACD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,MAAc,EAAE,UAA6B,EAAE;QACnE,MAAM,UAAU,GAAG,GAAG,MAAM,2EAA2E,CAAC;QACxG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1G,OAAO,EAAE,IAAI,EAAE,WAAW,CAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;CACF;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,IAAI,cAAc,GAAuB,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC;YACE,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAuB;IAC7D,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,eAAe,GAAmB,MAAM,IAAI;QAChD,IAAI,EAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAkB,IAAI,MAAM;QAE7D,SAAS;QACT,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,wBAAwB;QACzE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;QAE9C,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC3C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,qBAAqB;QACjE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE7C,YAAY;QACZ,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACjD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,4BAA4B;QAE9E,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,yCAAyC;IACzC,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,cAAc,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,CAAC,IAAI,oBAAoB,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAC1G,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,oDAAoD;IACpD,MAAM,SAAS,GAAmF;QAChG;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe;YAC9C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAAC;SACrD;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY;YAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC;SAClD;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,oBAAoB;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC;SAClD;KACF,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QAEvB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE/C,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,GAAG,QAAQ,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACjF,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uDAAuD;QACvD,2CAA2C;QAC3C,oBAAoB;QACpB,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAIlC,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,wBAAwB;QACzE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC3C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAClD,CAAC;IAEF,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,eAAe;IACf,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzD,eAAe;IACf,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM,SAAS,CAAC,WAAW,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,OAAO;QACL,SAAS;QACT,cAAc,EAAE,cAAc,EAAE,IAAI,IAAI,IAAI;KAC7C,CAAC;AACJ,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Server - Fastify HTTP Server
|
|
3
|
+
*
|
|
4
|
+
* Production-ready HTTP server with:
|
|
5
|
+
* - Pipeline execution endpoints
|
|
6
|
+
* - Health checks
|
|
7
|
+
* - Request validation
|
|
8
|
+
* - Error handling
|
|
9
|
+
* - CORS support
|
|
10
|
+
* - Structured logging
|
|
11
|
+
*/
|
|
12
|
+
import 'dotenv/config';
|
|
13
|
+
import { type FastifyInstance } from 'fastify';
|
|
14
|
+
import type { ServerConfig } from './types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Create and configure the Fastify server
|
|
17
|
+
*/
|
|
18
|
+
export declare function createServer(config?: Partial<ServerConfig>): Promise<FastifyInstance>;
|
|
19
|
+
/**
|
|
20
|
+
* Start the server
|
|
21
|
+
*/
|
|
22
|
+
export declare function startServer(config?: Partial<ServerConfig>): Promise<FastifyInstance>;
|
|
23
|
+
/**
|
|
24
|
+
* Graceful shutdown handler
|
|
25
|
+
*/
|
|
26
|
+
export declare function shutdown(server: FastifyInstance): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAgB,EAAE,KAAK,eAAe,EAA0C,MAAM,SAAS,CAAC;AAEhG,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,YAAY,CAAC;AA2BhE;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAyD/F;AA6MD;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmC9F;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrE"}
|