overai 1.4.17 → 1.4.19
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/README.md +3 -250
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/proxy.d.ts +3 -3
- package/dist/agent/simple.d.ts +3 -2
- package/dist/agent/simple.js +31 -18
- package/dist/agent/types.d.ts +6 -1
- package/dist/agent/types.js +39 -24
- package/dist/cli/commands/agents.js +5 -1
- package/dist/index.d.ts +1 -1
- package/dist/llm/providers/ai-sdk/provider-map.js +2 -2
- package/dist/tools/builtins/airweave.js +2 -1
- package/dist/tools/builtins/bedrock-agentcore.js +2 -1
- package/dist/tools/builtins/code-execution.js +2 -1
- package/dist/tools/builtins/exa.js +2 -1
- package/dist/tools/builtins/firecrawl.js +2 -1
- package/dist/tools/builtins/parallel.js +2 -1
- package/dist/tools/builtins/perplexity.js +2 -1
- package/dist/tools/builtins/superagent.js +2 -1
- package/dist/tools/builtins/tavily.js +2 -1
- package/dist/tools/builtins/valyu.js +2 -1
- package/package.json +40 -6
package/README.md
CHANGED
|
@@ -48,254 +48,7 @@ npm install overai
|
|
|
48
48
|
|
|
49
49
|
## ✨ Auto-Coder CLI (Magic Project Generator)
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
## 👤 Author
|
|
52
52
|
|
|
53
|
-
**
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
# 1. Set your API Key (OpenAI, Gemini, or Anthropic)
|
|
57
|
-
export OPENAI_API_KEY=sk-...
|
|
58
|
-
# OR
|
|
59
|
-
export GOOGLE_API_KEY=AIza...
|
|
60
|
-
|
|
61
|
-
# 2. Run the magic command
|
|
62
|
-
npx overai-create "A personal portfolio website with HTML/CSS"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Options:**
|
|
66
|
-
|
|
67
|
-
* **Auto-Detection**: The CLI automatically picks the best model based on your environment variables.
|
|
68
|
-
* **Force Model**: You can specify a model manually:
|
|
69
|
-
```bash
|
|
70
|
-
npx overai-create "A snake game in Python" --model google/gemini-2.0-flash-exp
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## ⚡ Quick Start: Gemini Example
|
|
76
|
-
|
|
77
|
-
1. **Create `tsconfig.json`**:
|
|
78
|
-
```json
|
|
79
|
-
{
|
|
80
|
-
"compilerOptions": {
|
|
81
|
-
"module": "ESNext",
|
|
82
|
-
"moduleResolution": "node",
|
|
83
|
-
"target": "ES2020",
|
|
84
|
-
"esModuleInterop": true,
|
|
85
|
-
"skipLibCheck": true,
|
|
86
|
-
"strict": true,
|
|
87
|
-
"resolveJsonModule": true,
|
|
88
|
-
"allowSyntheticDefaultImports": true
|
|
89
|
-
},
|
|
90
|
-
"ts-node": {
|
|
91
|
-
"esm": true,
|
|
92
|
-
"experimentalSpecifierResolution": "node"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
2. **Create `main.ts`**:
|
|
98
|
-
```typescript
|
|
99
|
-
import { Agent, OverAI } from 'overai';
|
|
100
|
-
|
|
101
|
-
async function main() {
|
|
102
|
-
// 1. Créer un agent
|
|
103
|
-
const agent = new Agent({
|
|
104
|
-
name: "GeminiAgent",
|
|
105
|
-
instructions: "Tu es Gemini, un modèle de Google. Réponds en français.",
|
|
106
|
-
llm: "google/gemini-2.0-flash",
|
|
107
|
-
verbose: true
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
// 2. Configurer OverAI avec l'agent et une tâche
|
|
111
|
-
const overAI = new OverAI({
|
|
112
|
-
agents: [agent],
|
|
113
|
-
tasks: ["Explique-moi ce qu'est un Agent IA en une phrase simple."],
|
|
114
|
-
verbose: true
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
// 3. Lancer l'exécution
|
|
118
|
-
console.log("🚀 Démarrage de OverAI...");
|
|
119
|
-
try {
|
|
120
|
-
const result = await overAI.start();
|
|
121
|
-
console.log("\n✅ Résultat :");
|
|
122
|
-
console.log(result);
|
|
123
|
-
} catch (error) {
|
|
124
|
-
console.error("❌ Erreur :", error);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
main();
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
3. **Run the agent**:
|
|
132
|
-
```bash
|
|
133
|
-
export GOOGLE_API_KEY="your-gemini-key"
|
|
134
|
-
npx tsx main.ts
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 🤝 Multi-Agent Collaboration
|
|
140
|
-
|
|
141
|
-
Create a team of agents that work together.
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
import { Agent, OverAI } from 'overai';
|
|
145
|
-
|
|
146
|
-
async function main() {
|
|
147
|
-
const researcher = new Agent({
|
|
148
|
-
name: "Researcher",
|
|
149
|
-
instructions: "Research the latest trends in AI.",
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
const writer = new Agent({
|
|
153
|
-
name: "Writer",
|
|
154
|
-
instructions: "Write a blog post based on the research provided.",
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
const overAI = new OverAI({
|
|
158
|
-
agents: [researcher, writer],
|
|
159
|
-
tasks: [
|
|
160
|
-
"Research 3 top AI trends for 2025.",
|
|
161
|
-
"Write a short blog post summarizing these trends."
|
|
162
|
-
],
|
|
163
|
-
verbose: true
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
await overAI.start();
|
|
167
|
-
}
|
|
168
|
-
main();
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## 💸 SaaS & Monetization Starter Kit
|
|
174
|
-
|
|
175
|
-
OverAI comes with a **complete SaaS API Server example**. Use this to launch your own AI business.
|
|
176
|
-
|
|
177
|
-
### Features Included:
|
|
178
|
-
- **Authentication**: Secure API Key middleware (`x-api-key`).
|
|
179
|
-
- **Billing System**: Credit deduction per request (1 credit = 1 request).
|
|
180
|
-
- **Payment Gateway**: Mock Stripe integration to simulate top-ups.
|
|
181
|
-
- **Webhooks**: N8N compatible endpoints.
|
|
182
|
-
|
|
183
|
-
### How to Run Your SaaS Backend:
|
|
184
|
-
|
|
185
|
-
1. **Set your OpenAI Key**:
|
|
186
|
-
```bash
|
|
187
|
-
export OPENAI_API_KEY="sk-..."
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
2. **Start the Server**:
|
|
191
|
-
```bash
|
|
192
|
-
npx ts-node examples/saas-server.ts
|
|
193
|
-
```
|
|
194
|
-
*Server starts at `http://localhost:3001`*
|
|
195
|
-
|
|
196
|
-
3. **Test Monetization**:
|
|
197
|
-
* **Top-up Credits** (Simulate Stripe):
|
|
198
|
-
```bash
|
|
199
|
-
curl -X POST http://localhost:3001/api/billing/topup \
|
|
200
|
-
-H "Content-Type: application/json" \
|
|
201
|
-
-H "x-api-key: sk_demo_12345" \
|
|
202
|
-
-d '{"amount": 10.00}'
|
|
203
|
-
```
|
|
204
|
-
* **Paid Chat Request**:
|
|
205
|
-
```bash
|
|
206
|
-
curl -X POST http://localhost:3001/api/v1/agent/chat \
|
|
207
|
-
-H "Content-Type: application/json" \
|
|
208
|
-
-H "x-api-key: sk_demo_12345" \
|
|
209
|
-
-d '{"message": "Hello, I paid for this!"}'
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## 🔌 Integrations & Workflows
|
|
215
|
-
|
|
216
|
-
### N8N Integration
|
|
217
|
-
OverAI agents can be triggered via webhooks, making them perfect for N8N workflows.
|
|
218
|
-
|
|
219
|
-
```typescript
|
|
220
|
-
// Example N8N Webhook Endpoint (included in saas-server.ts)
|
|
221
|
-
app.post('/api/webhook/n8n', async (req, res) => {
|
|
222
|
-
const { workflow_data } = req.body;
|
|
223
|
-
// Process N8N data with agents...
|
|
224
|
-
res.json({ status: "success", result: agentResponse });
|
|
225
|
-
});
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### Model Context Protocol (MCP)
|
|
229
|
-
Support for the MCP standard allows your agents to safely access local files, databases, and external tools without custom glue code.
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 🛠️ Development
|
|
234
|
-
|
|
235
|
-
To contribute or modify the framework:
|
|
236
|
-
|
|
237
|
-
1. **Clone your fork**:
|
|
238
|
-
```bash
|
|
239
|
-
git clone https://github.com/your-username/overai.git
|
|
240
|
-
cd overai
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
2. **Install & Build**:
|
|
244
|
-
```bash
|
|
245
|
-
npm install
|
|
246
|
-
npm run build
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
## 💰 Business-in-a-Box (SaaS Starter Kit)
|
|
250
|
-
|
|
251
|
-
Launch your own AI API business in minutes. We provide a complete **SaaS Server Example** including:
|
|
252
|
-
* **Stripe Integration** (Mock): Simulate payments and top-ups.
|
|
253
|
-
* **Credit System**: Deduct credits per request (1 credit = 1 request).
|
|
254
|
-
* **API Authentication**: Secure endpoints with API Keys.
|
|
255
|
-
* **Rate Limiting**: Prevent abuse from free users.
|
|
256
|
-
|
|
257
|
-
**Run the SaaS Server:**
|
|
258
|
-
```bash
|
|
259
|
-
# Install dependencies
|
|
260
|
-
npm install express @types/express
|
|
261
|
-
|
|
262
|
-
# Run the server
|
|
263
|
-
npx ts-node examples/saas-server.ts
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**Test your API:**
|
|
267
|
-
```bash
|
|
268
|
-
curl -X POST http://localhost:3001/api/v1/agent/chat \
|
|
269
|
-
-H "Content-Type: application/json" \
|
|
270
|
-
-H "x-api-key: sk_demo_12345" \
|
|
271
|
-
-d '{"message": "Hello, explain how you work in 1 sentence."}'
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
## 🏢 Enterprise & Licensing (Open Core)
|
|
275
|
-
|
|
276
|
-
OverAI follows an **Open Core** model. The core framework is MIT-licensed and free forever.
|
|
277
|
-
For enterprises requiring advanced features, we provide a commercial license that unlocks:
|
|
278
|
-
|
|
279
|
-
* **SSO & Identity**: Integrate with Okta, Active Directory, and Google Workspace.
|
|
280
|
-
* **Audit Logs**: Comprehensive tracking of every agent action for compliance.
|
|
281
|
-
* **Role-Based Access Control (RBAC)**: Fine-grained permissions for teams.
|
|
282
|
-
* **Priority Support**: SLA-backed support with < 4h response time.
|
|
283
|
-
|
|
284
|
-
To enable enterprise features:
|
|
285
|
-
|
|
286
|
-
```typescript
|
|
287
|
-
import { license } from 'overai';
|
|
288
|
-
|
|
289
|
-
// Verify your license key
|
|
290
|
-
await license.setLicenseKey(process.env.OVERAI_LICENSE_KEY);
|
|
291
|
-
|
|
292
|
-
if (license.hasFeature('audit_logs')) {
|
|
293
|
-
console.log("✅ Enterprise Audit Logs Enabled");
|
|
294
|
-
}
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
Contact **sales@overai.com** for pricing and details.
|
|
298
|
-
|
|
299
|
-
## License
|
|
300
|
-
|
|
301
|
-
MIT
|
|
53
|
+
**JMK**
|
|
54
|
+
* Email: anouslecode@gmail.com
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { Agent, OverAIAgents, OverAI, PraisonAIAgents, Agents } from './simple';
|
|
11
11
|
export type { SimpleAgentConfig, OverAIAgentsConfig, PraisonAIAgentsConfig } from './simple';
|
|
12
|
+
export type { OverAIResult } from './types';
|
|
12
13
|
export { Router, RouterAgent, createRouter, routeConditions } from './router';
|
|
13
14
|
export type { RouterConfig, RouteConfig, RouteContext, SimpleRouterConfig, SimpleRouteConfig } from './router';
|
|
14
15
|
export { Task } from './types';
|
package/dist/agent/proxy.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SimpleAgentConfig } from './simple';
|
|
2
|
-
import { TaskAgentConfig } from './types';
|
|
2
|
+
import { TaskAgentConfig, OverAIResult } from './types';
|
|
3
3
|
import { Task } from './types';
|
|
4
4
|
export interface ProxyAgentConfig extends Partial<SimpleAgentConfig>, Partial<TaskAgentConfig> {
|
|
5
5
|
task?: Task;
|
|
@@ -20,8 +20,8 @@ export declare class OverAIAgents {
|
|
|
20
20
|
private simpleImpl;
|
|
21
21
|
private taskImpl;
|
|
22
22
|
constructor(config: any);
|
|
23
|
-
start(): Promise<
|
|
24
|
-
chat(): Promise<
|
|
23
|
+
start(): Promise<OverAIResult>;
|
|
24
|
+
chat(): Promise<OverAIResult>;
|
|
25
25
|
}
|
|
26
26
|
export declare const PraisonAIAgents: typeof OverAIAgents;
|
|
27
27
|
export { Task } from './types';
|
package/dist/agent/simple.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DbAdapter } from '../db/types';
|
|
2
2
|
import type { LLMProvider } from '../llm/providers/types';
|
|
3
|
+
import type { OverAIResult } from './types';
|
|
3
4
|
/**
|
|
4
5
|
* Agent Configuration
|
|
5
6
|
*
|
|
@@ -267,8 +268,8 @@ export declare class OverAIAgents {
|
|
|
267
268
|
constructor(configOrAgents: OverAIAgentsConfig | Agent[]);
|
|
268
269
|
private generateTasks;
|
|
269
270
|
private executeSequential;
|
|
270
|
-
start(): Promise<
|
|
271
|
-
chat(): Promise<
|
|
271
|
+
start(): Promise<OverAIResult>;
|
|
272
|
+
chat(): Promise<OverAIResult>;
|
|
272
273
|
}
|
|
273
274
|
/**
|
|
274
275
|
* Agents - Alias for PraisonAIAgents
|
package/dist/agent/simple.js
CHANGED
|
@@ -650,26 +650,39 @@ class OverAIAgents {
|
|
|
650
650
|
await logger_1.Logger.debug('Starting OverAI Agents execution...');
|
|
651
651
|
await logger_1.Logger.debug('Process mode:', this.process);
|
|
652
652
|
await logger_1.Logger.debug('Tasks:', this.tasks);
|
|
653
|
-
let results;
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
const
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
if (this.verbose) {
|
|
667
|
-
await logger_1.Logger.info('OverAI Agents execution completed.');
|
|
668
|
-
for (let i = 0; i < results.length; i++) {
|
|
669
|
-
await logger_1.Logger.section(`Result from Agent ${i + 1}`, results[i]);
|
|
653
|
+
let results = [];
|
|
654
|
+
try {
|
|
655
|
+
if (this.process === 'parallel') {
|
|
656
|
+
// Run all agents in parallel
|
|
657
|
+
const promises = this.agents.map((agent, i) => {
|
|
658
|
+
const task = this.tasks[i];
|
|
659
|
+
return agent.start(task);
|
|
660
|
+
});
|
|
661
|
+
results = await Promise.all(promises);
|
|
662
|
+
}
|
|
663
|
+
else {
|
|
664
|
+
// Run agents sequentially (default)
|
|
665
|
+
results = await this.executeSequential();
|
|
670
666
|
}
|
|
667
|
+
if (this.verbose) {
|
|
668
|
+
await logger_1.Logger.info('OverAI Agents execution completed.');
|
|
669
|
+
for (let i = 0; i < results.length; i++) {
|
|
670
|
+
await logger_1.Logger.section(`Result from Agent ${i + 1}`, results[i]);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
return {
|
|
674
|
+
success: true,
|
|
675
|
+
data: results
|
|
676
|
+
};
|
|
677
|
+
}
|
|
678
|
+
catch (error) {
|
|
679
|
+
await logger_1.Logger.error('Error in OverAI Agents execution', error);
|
|
680
|
+
return {
|
|
681
|
+
success: false,
|
|
682
|
+
data: results, // Return partial results if any
|
|
683
|
+
error: error.message || 'Unknown error occurred'
|
|
684
|
+
};
|
|
671
685
|
}
|
|
672
|
-
return results;
|
|
673
686
|
}
|
|
674
687
|
async chat() {
|
|
675
688
|
return this.start();
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -43,6 +43,11 @@ export interface TaskOverAIAgentsConfig {
|
|
|
43
43
|
manager_llm?: string;
|
|
44
44
|
}
|
|
45
45
|
export type TaskPraisonAIAgentsConfig = TaskOverAIAgentsConfig;
|
|
46
|
+
export interface OverAIResult {
|
|
47
|
+
success: boolean;
|
|
48
|
+
data: string[];
|
|
49
|
+
error?: string;
|
|
50
|
+
}
|
|
46
51
|
export declare class OverAIAgents {
|
|
47
52
|
private agents;
|
|
48
53
|
private tasks;
|
|
@@ -50,7 +55,7 @@ export declare class OverAIAgents {
|
|
|
50
55
|
private process;
|
|
51
56
|
private manager_llm;
|
|
52
57
|
constructor(config: TaskOverAIAgentsConfig);
|
|
53
|
-
start(): Promise<
|
|
58
|
+
start(): Promise<OverAIResult>;
|
|
54
59
|
private executeSequential;
|
|
55
60
|
private executeHierarchical;
|
|
56
61
|
}
|
package/dist/agent/types.js
CHANGED
|
@@ -94,32 +94,47 @@ class OverAIAgents {
|
|
|
94
94
|
logger_1.Logger.debug('Starting OverAI Agents execution...');
|
|
95
95
|
logger_1.Logger.debug('Starting with process mode:', this.process);
|
|
96
96
|
let results;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
97
|
+
try {
|
|
98
|
+
switch (this.process) {
|
|
99
|
+
case 'parallel':
|
|
100
|
+
logger_1.Logger.debug('Executing tasks in parallel');
|
|
101
|
+
results = await Promise.all(this.tasks.map(task => {
|
|
102
|
+
if (!task.agent)
|
|
103
|
+
throw new Error(`No agent assigned to task: ${task.name}`);
|
|
104
|
+
return task.agent.execute(task);
|
|
105
|
+
}));
|
|
106
|
+
break;
|
|
107
|
+
case 'hierarchical':
|
|
108
|
+
logger_1.Logger.debug('Executing tasks hierarchically');
|
|
109
|
+
results = await this.executeHierarchical();
|
|
110
|
+
break;
|
|
111
|
+
default:
|
|
112
|
+
logger_1.Logger.debug('Executing tasks sequentially');
|
|
113
|
+
results = await this.executeSequential();
|
|
114
|
+
}
|
|
115
|
+
if (this.verbose) {
|
|
116
|
+
logger_1.Logger.info('\nOverAI Agents execution completed.');
|
|
117
|
+
results.forEach((result, index) => {
|
|
118
|
+
logger_1.Logger.info(`\nFinal Result from Task ${index + 1}:`);
|
|
119
|
+
console.log(result);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
logger_1.Logger.debug('Execution completed', { results });
|
|
123
|
+
// Ensure results are strings
|
|
124
|
+
const stringResults = results.map(r => typeof r === 'string' ? r : JSON.stringify(r));
|
|
125
|
+
return {
|
|
126
|
+
success: true,
|
|
127
|
+
data: stringResults
|
|
128
|
+
};
|
|
113
129
|
}
|
|
114
|
-
|
|
115
|
-
logger_1.Logger.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
130
|
+
catch (error) {
|
|
131
|
+
logger_1.Logger.error('Error in OverAI Agents execution', error);
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
data: [],
|
|
135
|
+
error: error.message || 'Unknown error occurred'
|
|
136
|
+
};
|
|
120
137
|
}
|
|
121
|
-
logger_1.Logger.debug('Execution completed', { results });
|
|
122
|
-
return results;
|
|
123
138
|
}
|
|
124
139
|
async executeSequential() {
|
|
125
140
|
logger_1.Logger.debug('Starting sequential execution');
|
|
@@ -101,8 +101,12 @@ async function executeRun(args, options) {
|
|
|
101
101
|
process: options.process || 'sequential',
|
|
102
102
|
verbose: config.verbose
|
|
103
103
|
});
|
|
104
|
-
const
|
|
104
|
+
const resultObj = await agents.start();
|
|
105
|
+
const results = resultObj.data;
|
|
105
106
|
const duration = Date.now() - startTime;
|
|
107
|
+
if (!resultObj.success) {
|
|
108
|
+
throw new Error(resultObj.error || 'Unknown error in agent execution');
|
|
109
|
+
}
|
|
106
110
|
if (outputFormat === 'json') {
|
|
107
111
|
outputJson(formatSuccess({
|
|
108
112
|
results,
|
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
39
|
export { Agent, Agents, PraisonAIAgents, Router, OverAI, OverAIAgents } from './agent';
|
|
40
|
-
export type { SimpleAgentConfig, OverAIAgentsConfig, PraisonAIAgentsConfig, SimpleRouterConfig, SimpleRouteConfig } from './agent';
|
|
40
|
+
export type { SimpleAgentConfig, OverAIAgentsConfig, PraisonAIAgentsConfig, SimpleRouterConfig, SimpleRouteConfig, OverAIResult } from './agent';
|
|
41
41
|
export { Workflow, parallel, route, loop, repeat } from './workflows';
|
|
42
42
|
export type { WorkflowStep, WorkflowContext, StepResult } from './workflows';
|
|
43
43
|
export { db, createDbAdapter, getDefaultDbAdapter, setDefaultDbAdapter } from './db';
|
|
@@ -224,8 +224,8 @@ async function createAISDKProvider(providerId, options) {
|
|
|
224
224
|
// Check if it's a missing dependency error
|
|
225
225
|
if (errorMessage.includes('Cannot find module') ||
|
|
226
226
|
errorMessage.includes('MODULE_NOT_FOUND')) {
|
|
227
|
-
throw new types_1.AISDKError(`
|
|
228
|
-
`
|
|
227
|
+
throw new types_1.AISDKError(`Provider '${providerId}' implementation not found. ` +
|
|
228
|
+
`Please install '${providerInfo.package}' to use this feature.`, 'MISSING_DEPENDENCY', false, error);
|
|
229
229
|
}
|
|
230
230
|
throw new types_1.AISDKError(`Failed to create AI SDK provider '${providerId}': ${errorMessage}`, 'PROVIDER_ERROR', false, error);
|
|
231
231
|
}
|
|
@@ -68,7 +68,8 @@ async function loadAirweavePackage() {
|
|
|
68
68
|
throw new types_1.MissingEnvVarError(exports.AIRWEAVE_METADATA.id, 'AIRWEAVE_API_KEY', exports.AIRWEAVE_METADATA.docsSlug);
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
|
-
|
|
71
|
+
const packageName = '@airweave/sdk';
|
|
72
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
72
73
|
}
|
|
73
74
|
catch {
|
|
74
75
|
throw new types_1.MissingDependencyError(exports.AIRWEAVE_METADATA.id, exports.AIRWEAVE_METADATA.packageName, exports.AIRWEAVE_METADATA.install, exports.AIRWEAVE_METADATA.requiredEnv, exports.AIRWEAVE_METADATA.docsSlug);
|
|
@@ -73,7 +73,8 @@ exports.BEDROCK_AGENTCORE_METADATA = {
|
|
|
73
73
|
async function loadBedrockPackage() {
|
|
74
74
|
try {
|
|
75
75
|
// @ts-ignore - Optional dependency
|
|
76
|
-
|
|
76
|
+
const packageName = 'bedrock-agentcore';
|
|
77
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
77
78
|
}
|
|
78
79
|
catch {
|
|
79
80
|
throw new types_1.MissingDependencyError(exports.BEDROCK_AGENTCORE_METADATA.id, exports.BEDROCK_AGENTCORE_METADATA.packageName, exports.BEDROCK_AGENTCORE_METADATA.install, exports.BEDROCK_AGENTCORE_METADATA.requiredEnv, exports.BEDROCK_AGENTCORE_METADATA.docsSlug);
|
|
@@ -74,7 +74,8 @@ function codeExecution(config) {
|
|
|
74
74
|
return executeCodeFn;
|
|
75
75
|
try {
|
|
76
76
|
// @ts-ignore - Optional dependency
|
|
77
|
-
const
|
|
77
|
+
const packageName = 'ai-sdk-tool-code-execution';
|
|
78
|
+
const pkg = await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
78
79
|
executeCodeFn = pkg.executeCode;
|
|
79
80
|
return executeCodeFn;
|
|
80
81
|
}
|
|
@@ -69,7 +69,8 @@ async function loadExaPackage() {
|
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
71
|
// @ts-ignore - optional dependency
|
|
72
|
-
|
|
72
|
+
const packageName = '@exalabs/ai-sdk';
|
|
73
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
73
74
|
}
|
|
74
75
|
catch {
|
|
75
76
|
throw new types_1.MissingDependencyError(exports.EXA_METADATA.id, exports.EXA_METADATA.packageName, exports.EXA_METADATA.install, exports.EXA_METADATA.requiredEnv, exports.EXA_METADATA.docsSlug);
|
|
@@ -70,7 +70,8 @@ async function loadFirecrawlPackage() {
|
|
|
70
70
|
throw new types_1.MissingEnvVarError(exports.FIRECRAWL_METADATA.id, 'FIRECRAWL_API_KEY', exports.FIRECRAWL_METADATA.docsSlug);
|
|
71
71
|
}
|
|
72
72
|
try {
|
|
73
|
-
|
|
73
|
+
const packageName = '@mendable/firecrawl-js';
|
|
74
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
74
75
|
}
|
|
75
76
|
catch {
|
|
76
77
|
throw new types_1.MissingDependencyError(exports.FIRECRAWL_METADATA.id, exports.FIRECRAWL_METADATA.packageName, exports.FIRECRAWL_METADATA.install, exports.FIRECRAWL_METADATA.requiredEnv, exports.FIRECRAWL_METADATA.docsSlug);
|
|
@@ -69,7 +69,8 @@ async function loadParallelPackage() {
|
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
71
|
// @ts-ignore - optional dependency
|
|
72
|
-
|
|
72
|
+
const packageName = '@parallel-web/ai-sdk-tools';
|
|
73
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
73
74
|
}
|
|
74
75
|
catch {
|
|
75
76
|
throw new types_1.MissingDependencyError(exports.PARALLEL_METADATA.id, exports.PARALLEL_METADATA.packageName, exports.PARALLEL_METADATA.install, exports.PARALLEL_METADATA.requiredEnv, exports.PARALLEL_METADATA.docsSlug);
|
|
@@ -68,7 +68,8 @@ async function loadPerplexityPackage() {
|
|
|
68
68
|
}
|
|
69
69
|
try {
|
|
70
70
|
// @ts-ignore - optional dependency
|
|
71
|
-
|
|
71
|
+
const packageName = '@perplexity-ai/ai-sdk';
|
|
72
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
72
73
|
}
|
|
73
74
|
catch {
|
|
74
75
|
throw new types_1.MissingDependencyError(exports.PERPLEXITY_METADATA.id, exports.PERPLEXITY_METADATA.packageName, exports.PERPLEXITY_METADATA.install, exports.PERPLEXITY_METADATA.requiredEnv, exports.PERPLEXITY_METADATA.docsSlug);
|
|
@@ -72,7 +72,8 @@ async function loadSuperagentPackage() {
|
|
|
72
72
|
}
|
|
73
73
|
try {
|
|
74
74
|
// @ts-ignore - Optional dependency
|
|
75
|
-
|
|
75
|
+
const packageName = '@superagent-ai/ai-sdk';
|
|
76
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
76
77
|
}
|
|
77
78
|
catch {
|
|
78
79
|
throw new types_1.MissingDependencyError(exports.SUPERAGENT_METADATA.id, exports.SUPERAGENT_METADATA.packageName, exports.SUPERAGENT_METADATA.install, exports.SUPERAGENT_METADATA.requiredEnv, exports.SUPERAGENT_METADATA.docsSlug);
|
|
@@ -76,7 +76,8 @@ async function loadTavilyPackage() {
|
|
|
76
76
|
}
|
|
77
77
|
try {
|
|
78
78
|
// @ts-ignore - optional dependency
|
|
79
|
-
|
|
79
|
+
const packageName = '@tavily/ai-sdk';
|
|
80
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
80
81
|
}
|
|
81
82
|
catch {
|
|
82
83
|
throw new types_1.MissingDependencyError(exports.TAVILY_METADATA.id, exports.TAVILY_METADATA.packageName, exports.TAVILY_METADATA.install, exports.TAVILY_METADATA.requiredEnv, exports.TAVILY_METADATA.docsSlug);
|
|
@@ -82,7 +82,8 @@ async function loadValyuPackage() {
|
|
|
82
82
|
}
|
|
83
83
|
try {
|
|
84
84
|
// @ts-ignore - optional dependency
|
|
85
|
-
|
|
85
|
+
const packageName = '@valyu/ai-sdk';
|
|
86
|
+
return await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
86
87
|
}
|
|
87
88
|
catch {
|
|
88
89
|
throw new types_1.MissingDependencyError(exports.VALYU_METADATA.id, exports.VALYU_METADATA.packageName, exports.VALYU_METADATA.install, exports.VALYU_METADATA.requiredEnv, exports.VALYU_METADATA.docsSlug);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "overai",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.19",
|
|
4
4
|
"description": "OverAI TypeScript AI Agents Framework - Build, Deploy, and Monetize AI Agents in Minutes",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"ai billing",
|
|
53
53
|
"ai api server"
|
|
54
54
|
],
|
|
55
|
-
"author": "
|
|
55
|
+
"author": "JMK <anouslecode@gmail.com>",
|
|
56
56
|
"license": "MIT",
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@ai-sdk/anthropic": "^3.0.1",
|
|
@@ -81,9 +81,6 @@
|
|
|
81
81
|
"openai": "^4.81.0"
|
|
82
82
|
},
|
|
83
83
|
"optionalDependencies": {
|
|
84
|
-
"@airweave/sdk": ">=0.1.0",
|
|
85
|
-
"@mendable/firecrawl-js": ">=1.0.0",
|
|
86
|
-
"bedrock-agentcore": ">=0.1.0",
|
|
87
84
|
"boxen": "^7.1.1",
|
|
88
85
|
"chalk": "^4.1.2",
|
|
89
86
|
"cli-table3": "^0.6.3",
|
|
@@ -92,9 +89,19 @@
|
|
|
92
89
|
},
|
|
93
90
|
"peerDependencies": {
|
|
94
91
|
"@ai-sdk/anthropic": ">=1.0.0",
|
|
92
|
+
"@ai-sdk/devtools": ">=0.1.0",
|
|
95
93
|
"@ai-sdk/google": ">=1.0.0",
|
|
96
94
|
"@ai-sdk/openai": ">=1.0.0",
|
|
97
|
-
"ai": ">=4.0.0"
|
|
95
|
+
"ai": ">=4.0.0",
|
|
96
|
+
"bedrock-agentcore": ">=0.1.0",
|
|
97
|
+
"@airweave/sdk": ">=0.1.0",
|
|
98
|
+
"@mendable/firecrawl-js": ">=1.0.0",
|
|
99
|
+
"@exalabs/ai-sdk": ">=0.0.1",
|
|
100
|
+
"@parallel-web/ai-sdk-tools": ">=0.0.1",
|
|
101
|
+
"@perplexity-ai/ai-sdk": ">=0.0.1",
|
|
102
|
+
"@superagent-ai/ai-sdk": ">=0.0.1",
|
|
103
|
+
"@tavily/ai-sdk": ">=0.0.1",
|
|
104
|
+
"@valyu/ai-sdk": ">=0.0.1"
|
|
98
105
|
},
|
|
99
106
|
"peerDependenciesMeta": {
|
|
100
107
|
"ai": {
|
|
@@ -111,6 +118,33 @@
|
|
|
111
118
|
},
|
|
112
119
|
"@ai-sdk/google": {
|
|
113
120
|
"optional": true
|
|
121
|
+
},
|
|
122
|
+
"bedrock-agentcore": {
|
|
123
|
+
"optional": true
|
|
124
|
+
},
|
|
125
|
+
"@airweave/sdk": {
|
|
126
|
+
"optional": true
|
|
127
|
+
},
|
|
128
|
+
"@mendable/firecrawl-js": {
|
|
129
|
+
"optional": true
|
|
130
|
+
},
|
|
131
|
+
"@exalabs/ai-sdk": {
|
|
132
|
+
"optional": true
|
|
133
|
+
},
|
|
134
|
+
"@parallel-web/ai-sdk-tools": {
|
|
135
|
+
"optional": true
|
|
136
|
+
},
|
|
137
|
+
"@perplexity-ai/ai-sdk": {
|
|
138
|
+
"optional": true
|
|
139
|
+
},
|
|
140
|
+
"@superagent-ai/ai-sdk": {
|
|
141
|
+
"optional": true
|
|
142
|
+
},
|
|
143
|
+
"@tavily/ai-sdk": {
|
|
144
|
+
"optional": true
|
|
145
|
+
},
|
|
146
|
+
"@valyu/ai-sdk": {
|
|
147
|
+
"optional": true
|
|
114
148
|
}
|
|
115
149
|
},
|
|
116
150
|
"overrides": {
|