overai 1.4.16 → 1.4.18

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.
@@ -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';
@@ -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<string[]>;
24
- chat(): Promise<string[]>;
23
+ start(): Promise<OverAIResult>;
24
+ chat(): Promise<OverAIResult>;
25
25
  }
26
26
  export declare const PraisonAIAgents: typeof OverAIAgents;
27
27
  export { Task } from './types';
@@ -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<string[]>;
271
- chat(): Promise<string[]>;
271
+ start(): Promise<OverAIResult>;
272
+ chat(): Promise<OverAIResult>;
272
273
  }
273
274
  /**
274
275
  * Agents - Alias for PraisonAIAgents
@@ -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
- if (this.process === 'parallel') {
655
- // Run all agents in parallel
656
- const promises = this.agents.map((agent, i) => {
657
- const task = this.tasks[i];
658
- return agent.start(task);
659
- });
660
- results = await Promise.all(promises);
661
- }
662
- else {
663
- // Run agents sequentially (default)
664
- results = await this.executeSequential();
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();
@@ -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<any[]>;
58
+ start(): Promise<OverAIResult>;
54
59
  private executeSequential;
55
60
  private executeHierarchical;
56
61
  }
@@ -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
- switch (this.process) {
98
- case 'parallel':
99
- logger_1.Logger.debug('Executing tasks in parallel');
100
- results = await Promise.all(this.tasks.map(task => {
101
- if (!task.agent)
102
- throw new Error(`No agent assigned to task: ${task.name}`);
103
- return task.agent.execute(task);
104
- }));
105
- break;
106
- case 'hierarchical':
107
- logger_1.Logger.debug('Executing tasks hierarchically');
108
- results = await this.executeHierarchical();
109
- break;
110
- default:
111
- logger_1.Logger.debug('Executing tasks sequentially');
112
- results = await this.executeSequential();
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
- if (this.verbose) {
115
- logger_1.Logger.info('\nOverAI Agents execution completed.');
116
- results.forEach((result, index) => {
117
- logger_1.Logger.info(`\nFinal Result from Task ${index + 1}:`);
118
- console.log(result);
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');
@@ -88,8 +88,10 @@ async function enableDevTools(config) {
88
88
  }
89
89
  try {
90
90
  // Try to import @ai-sdk/devtools (optional dependency)
91
+ // Use a variable to prevent bundlers from trying to resolve it at build time
92
+ const packageName = '@ai-sdk/devtools';
91
93
  // @ts-ignore - Optional dependency
92
- const devtools = await Promise.resolve().then(() => __importStar(require('@ai-sdk/devtools')));
94
+ const devtools = await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
93
95
  if ('enableDevTools' in devtools) {
94
96
  await devtools.enableDevTools({
95
97
  port: config?.port,
@@ -101,8 +101,12 @@ async function executeRun(args, options) {
101
101
  process: options.process || 'sequential',
102
102
  verbose: config.verbose
103
103
  });
104
- const results = await agents.start();
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(`AI SDK provider package '${providerInfo.package}' is not installed. ` +
228
- `Install it with: npm install ${providerInfo.package}`, 'MISSING_DEPENDENCY', false, error);
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
- return await Promise.resolve().then(() => __importStar(require('@airweave/sdk')));
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
- return await Promise.resolve().then(() => __importStar(require('bedrock-agentcore')));
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 pkg = await Promise.resolve().then(() => __importStar(require('ai-sdk-tool-code-execution')));
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
- return await Promise.resolve().then(() => __importStar(require('@exalabs/ai-sdk')));
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
- return await Promise.resolve().then(() => __importStar(require('@mendable/firecrawl-js')));
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
- return await Promise.resolve().then(() => __importStar(require('@parallel-web/ai-sdk-tools')));
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
- return await Promise.resolve().then(() => __importStar(require('@perplexity-ai/ai-sdk')));
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
- return await Promise.resolve().then(() => __importStar(require('@superagent-ai/ai-sdk')));
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
- return await Promise.resolve().then(() => __importStar(require('@tavily/ai-sdk')));
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
- return await Promise.resolve().then(() => __importStar(require('@valyu/ai-sdk')));
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.16",
3
+ "version": "1.4.18",
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",
@@ -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,14 +89,27 @@
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": {
101
108
  "optional": true
102
109
  },
110
+ "@ai-sdk/devtools": {
111
+ "optional": true
112
+ },
103
113
  "@ai-sdk/openai": {
104
114
  "optional": true
105
115
  },
@@ -108,6 +118,33 @@
108
118
  },
109
119
  "@ai-sdk/google": {
110
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
111
148
  }
112
149
  },
113
150
  "overrides": {