@auto-engineer/ai-gateway 0.1.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.
@@ -0,0 +1,5 @@
1
+
2
+ > @auto-engineer/ai-gateway@0.1.1 build /home/runner/work/auto-engineer/auto-engineer/packages/ai-gateway
3
+ > tsc && tsx ../../scripts/fix-esm-imports.ts
4
+
5
+ Fixed ESM imports in dist/
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # @auto-engineer/ai-gateway
2
+
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Bump versions to fix npm publish conflicts
@@ -0,0 +1,16 @@
1
+ export interface AIConfig {
2
+ openai?: {
3
+ apiKey: string;
4
+ };
5
+ anthropic?: {
6
+ apiKey: string;
7
+ };
8
+ google?: {
9
+ apiKey: string;
10
+ };
11
+ xai?: {
12
+ apiKey: string;
13
+ };
14
+ }
15
+ export declare function configureAIProvider(): AIConfig;
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,mBAAmB,IAAI,QAAQ,CAgB9C"}
package/dist/config.js ADDED
@@ -0,0 +1,21 @@
1
+ import dotenv from 'dotenv';
2
+ import { fileURLToPath } from 'url';
3
+ import { dirname, resolve } from 'path';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ dotenv.config({ path: resolve(__dirname, '../../../.env') });
7
+ export function configureAIProvider() {
8
+ const config = {
9
+ openai: process.env.OPENAI_API_KEY != null ? { apiKey: process.env.OPENAI_API_KEY } : undefined,
10
+ anthropic: process.env.ANTHROPIC_API_KEY != null ? { apiKey: process.env.ANTHROPIC_API_KEY } : undefined,
11
+ google: process.env.GOOGLE_GENERATIVE_AI_API_KEY != null
12
+ ? { apiKey: process.env.GOOGLE_GENERATIVE_AI_API_KEY }
13
+ : undefined,
14
+ xai: process.env.XAI_API_KEY != null ? { apiKey: process.env.XAI_API_KEY } : undefined,
15
+ };
16
+ if (config.openai == null && config.anthropic == null && config.google == null && config.xai == null) {
17
+ throw new Error('At least one AI provider must be configured. Please set OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, or XAI_API_KEY environment variables.');
18
+ }
19
+ return config;
20
+ }
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;AAiB7D,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/F,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;QACxG,MAAM,EACJ,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI;YAC9C,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;YACtD,CAAC,CAAC,SAAS;QACf,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;KACvF,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrG,MAAM,IAAI,KAAK,CACb,gKAAgK,CACjK,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function main(): Promise<void>;
2
+ export { main };
3
+ //# sourceMappingURL=example-use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-use.d.ts","sourceRoot":"","sources":["../src/example-use.ts"],"names":[],"mappings":"AA6SA,iBAAe,IAAI,kBA+BlB;AAGD,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,255 @@
1
+ import { z } from 'zod';
2
+ import { registerTool, registerTools, startServer, isServerStarted } from '.';
3
+ registerTool('greet', {
4
+ title: 'Greeting Tool',
5
+ description: 'Greets users in different languages',
6
+ inputSchema: {
7
+ name: z.string().min(1, 'Name is required'),
8
+ language: z.enum(['en', 'es', 'fr', 'de']).optional().default('en'),
9
+ },
10
+ }, async ({ name, language = 'en' }) => {
11
+ const greetings = {
12
+ en: `Hello, ${name}!`,
13
+ es: `¡Hola, ${name}!`,
14
+ fr: `Bonjour, ${name}!`,
15
+ de: `Hallo, ${name}!`,
16
+ };
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: greetings[language],
22
+ },
23
+ ],
24
+ };
25
+ });
26
+ const calculatorHandler = async ({ operation, a, b }) => {
27
+ try {
28
+ let result;
29
+ switch (operation) {
30
+ case 'add':
31
+ result = a + b;
32
+ break;
33
+ case 'subtract':
34
+ result = a - b;
35
+ break;
36
+ case 'multiply':
37
+ result = a * b;
38
+ break;
39
+ case 'divide':
40
+ if (b === 0) {
41
+ return {
42
+ content: [
43
+ {
44
+ type: 'text',
45
+ text: 'Error: Division by zero',
46
+ },
47
+ ],
48
+ isError: true,
49
+ };
50
+ }
51
+ result = a / b;
52
+ break;
53
+ }
54
+ return {
55
+ content: [
56
+ {
57
+ type: 'text',
58
+ text: `${a} ${operation} ${b} = ${result}`,
59
+ },
60
+ ],
61
+ };
62
+ }
63
+ catch (error) {
64
+ return {
65
+ content: [
66
+ {
67
+ type: 'text',
68
+ text: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
69
+ },
70
+ ],
71
+ isError: true,
72
+ };
73
+ }
74
+ };
75
+ registerTool('calculator', {
76
+ title: 'Calculator',
77
+ description: 'Performs basic arithmetic operations',
78
+ inputSchema: {
79
+ operation: z.enum(['add', 'subtract', 'multiply', 'divide']),
80
+ a: z.number(),
81
+ b: z.number(),
82
+ },
83
+ }, calculatorHandler);
84
+ // Register date formatter tool
85
+ registerTool('dateFormatter', {
86
+ title: 'Date Formatter',
87
+ description: 'Formats dates in various styles',
88
+ inputSchema: {
89
+ date: z.string(),
90
+ format: z.enum(['iso', 'us', 'eu']),
91
+ },
92
+ }, async ({ date, format }) => {
93
+ const dateObj = new Date(date);
94
+ if (isNaN(dateObj.getTime())) {
95
+ return {
96
+ content: [
97
+ {
98
+ type: 'text',
99
+ text: 'Invalid date format',
100
+ },
101
+ ],
102
+ isError: true,
103
+ };
104
+ }
105
+ const formatters = {
106
+ iso: () => dateObj.toISOString(),
107
+ us: () => dateObj.toLocaleDateString('en-US'),
108
+ eu: () => dateObj.toLocaleDateString('en-GB'),
109
+ };
110
+ return {
111
+ content: [
112
+ {
113
+ type: 'text',
114
+ text: formatters[format](),
115
+ },
116
+ ],
117
+ };
118
+ });
119
+ // Register text analyzer tool
120
+ registerTool('textAnalyzer', {
121
+ title: 'Text Analyzer',
122
+ description: 'Analyzes text content',
123
+ inputSchema: {
124
+ text: z.string(),
125
+ analysis: z.enum(['wordCount', 'charCount', 'sentiment']),
126
+ },
127
+ }, async ({ text, analysis }) => {
128
+ const analyzers = {
129
+ wordCount: () => `Word count: ${text.split(/\s+/).filter((w) => w.length > 0).length}`,
130
+ charCount: () => `Character count: ${text.length}`,
131
+ sentiment: () => {
132
+ // Simple sentiment analysis based on keywords
133
+ const positive = ['happy', 'good', 'great', 'excellent', 'wonderful'].some((word) => text.toLowerCase().includes(word));
134
+ const negative = ['sad', 'bad', 'terrible', 'awful', 'horrible'].some((word) => text.toLowerCase().includes(word));
135
+ if (positive && !negative)
136
+ return 'Sentiment: Positive 😊';
137
+ if (negative && !positive)
138
+ return 'Sentiment: Negative 😢';
139
+ if (positive && negative)
140
+ return 'Sentiment: Mixed 😐';
141
+ return 'Sentiment: Neutral 😐';
142
+ },
143
+ };
144
+ return {
145
+ content: [
146
+ {
147
+ type: 'text',
148
+ text: analyzers[analysis](),
149
+ },
150
+ ],
151
+ };
152
+ });
153
+ registerTools([
154
+ {
155
+ name: 'add',
156
+ description: {
157
+ title: 'Addition',
158
+ description: 'Adds two numbers',
159
+ inputSchema: {
160
+ x: z.number(),
161
+ y: z.number(),
162
+ },
163
+ },
164
+ handler: async ({ x, y }) => ({
165
+ content: [
166
+ {
167
+ type: 'text',
168
+ text: `${x} + ${y} = ${x + y}`,
169
+ },
170
+ ],
171
+ }),
172
+ },
173
+ {
174
+ name: 'multiply',
175
+ description: {
176
+ title: 'Multiplication',
177
+ description: 'Multiplies two numbers',
178
+ inputSchema: {
179
+ x: z.number(),
180
+ y: z.number(),
181
+ },
182
+ },
183
+ handler: async ({ x, y }) => ({
184
+ content: [
185
+ {
186
+ type: 'text',
187
+ text: `${x} × ${y} = ${x * y}`,
188
+ },
189
+ ],
190
+ }),
191
+ },
192
+ ]);
193
+ registerTool('fileManager', {
194
+ title: 'File Manager',
195
+ description: 'Manages files and directories',
196
+ inputSchema: {
197
+ action: z.enum(['create', 'read', 'list']),
198
+ path: z.string(),
199
+ content: z.string().optional(),
200
+ options: z
201
+ .object({
202
+ recursive: z.boolean().optional(),
203
+ encoding: z.enum(['utf8', 'base64']).optional(),
204
+ })
205
+ .optional(),
206
+ },
207
+ }, async ({ action, path, content, options }) => {
208
+ // This is a mock implementation for demonstration
209
+ const mockResponses = {
210
+ create: () => `Created file: ${path}`,
211
+ read: () => `Contents of ${path}: ${content ?? '[empty]'}`,
212
+ list: () => `Files in ${path}: file1.txt, file2.txt${options?.recursive === true ? ', subfolder/' : ''}`,
213
+ };
214
+ return {
215
+ content: [
216
+ {
217
+ type: 'text',
218
+ text: mockResponses[action](),
219
+ },
220
+ ],
221
+ };
222
+ });
223
+ // Example usage in an application
224
+ async function main() {
225
+ // Check if server is already started
226
+ if (!isServerStarted()) {
227
+ console.log('Starting MCP server with registered tools...');
228
+ // You can register more tools here before starting
229
+ registerTool('echo', {
230
+ title: 'Echo Tool',
231
+ description: 'Echoes back the input message',
232
+ inputSchema: {
233
+ message: z.string(),
234
+ },
235
+ }, async ({ message }) => ({
236
+ content: [
237
+ {
238
+ type: 'text',
239
+ text: `Echo: ${message}`,
240
+ },
241
+ ],
242
+ }));
243
+ // Start the server (this should only be called once in your application)
244
+ await startServer();
245
+ console.log('Server started successfully!');
246
+ }
247
+ else {
248
+ console.log('Server is already running');
249
+ }
250
+ }
251
+ // Export for use in other modules
252
+ export { main };
253
+ // Demonstrate the singleton pattern
254
+ console.log('Example usage loaded. The same server instance will be used across all imports.');
255
+ //# sourceMappingURL=example-use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-use.js","sourceRoot":"","sources":["../src/example-use.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ export declare enum AIProvider {
3
+ OpenAI = "openai",
4
+ Anthropic = "anthropic",
5
+ Google = "google",
6
+ XAI = "xai"
7
+ }
8
+ export interface AIOptions {
9
+ model?: string;
10
+ temperature?: number;
11
+ maxTokens?: number;
12
+ streamCallback?: (token: string) => void;
13
+ includeTools?: boolean;
14
+ }
15
+ export interface StructuredAIOptions<T> extends Omit<AIOptions, 'streamCallback'> {
16
+ schema: z.ZodSchema<T>;
17
+ schemaName?: string;
18
+ schemaDescription?: string;
19
+ }
20
+ export interface StreamStructuredAIOptions<T> extends StructuredAIOptions<T> {
21
+ onPartialObject?: (partialObject: unknown) => void;
22
+ }
23
+ export declare function generateTextWithAI(prompt: string, provider: AIProvider, options?: AIOptions): Promise<string>;
24
+ export declare function streamTextWithAI(prompt: string, provider: AIProvider, options?: AIOptions): AsyncGenerator<string>;
25
+ /**
26
+ * Generates text using streaming and collects the full response.
27
+ * Optionally calls a stream callback for each token if provided.
28
+ * Always returns the complete collected response.
29
+ */
30
+ export declare function generateTextStreamingWithAI(prompt: string, provider: AIProvider, options?: AIOptions): Promise<string>;
31
+ export declare function generateTextWithToolsAI(prompt: string, provider: AIProvider, options?: AIOptions): Promise<{
32
+ text: string;
33
+ toolCalls?: unknown[];
34
+ }>;
35
+ export declare function generateTextWithImageAI(text: string, imageBase64: string, provider: AIProvider, options?: AIOptions): Promise<string>;
36
+ export declare function getAvailableProviders(): AIProvider[];
37
+ export declare function generateStructuredDataWithAI<T>(prompt: string, provider: AIProvider, options: StructuredAIOptions<T>): Promise<T>;
38
+ export declare function streamStructuredDataWithAI<T>(prompt: string, provider: AIProvider, options: StreamStructuredAIOptions<T>): Promise<T>;
39
+ export { z };
40
+ export { server as mcpServer, registerTool, registerTools, startServer, isServerStarted, getRegisteredTools, getRegisteredToolsForAI, getToolHandler, getSchemaByName, executeRegisteredTool, type ToolHandler, type RegisteredTool, } from './mcp-server';
41
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAC/E,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC1E,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAwCD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,SAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAuB,gBAAgB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,SAAc,GACtB,cAAc,CAAC,MAAM,CAAC,CAcxB;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,SAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,SAAc,GACtB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAkElD;AA+BD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,SAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,wBAAgB,qBAAqB,IAAI,UAAU,EAAE,CAQpD;AA2DD,wBAAsB,4BAA4B,CAAC,CAAC,EAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAmDZ;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC,CAoDZ;AAGD,OAAO,EAAE,CAAC,EAAE,CAAC;AAGb,OAAO,EACL,MAAM,IAAI,SAAS,EACnB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC"}