Skip to content

Commit fcf6577

Browse files
committed
Add proper API config for each agents
1 parent f29655e commit fcf6577

File tree

6 files changed

+72
-32
lines changed

6 files changed

+72
-32
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
},
2929
"dependencies": {
3030
"@autonomys/agent-core": "^0.3.0",
31+
"@langchain/deepseek": "^0.0.1",
3132
"yargs": "^17.7.2"
3233
},
3334
"devDependencies": {

src/config/api.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { CreateApiServerParams, OrchestratorRunnerOptions } from "@autonomys/agent-core";
2+
import { ConfigInstance } from "./types.js";
3+
4+
export const createAgentApi = (configInstance: ConfigInstance) => {
5+
const { config } = configInstance;
6+
const { apiSecurityConfig, API_PORT } = config;
7+
8+
const apiConfig: OrchestratorRunnerOptions['apiConfig'] = {
9+
apiEnabled: true,
10+
authFlag: apiSecurityConfig.ENABLE_AUTH,
11+
authToken: apiSecurityConfig.API_TOKEN,
12+
allowedOrigins: apiSecurityConfig.CORS_ALLOWED_ORIGINS,
13+
port: API_PORT,
14+
};
15+
return apiConfig;
16+
};
17+
18+
export const createApiServerConfig = (configInstance: ConfigInstance) => {
19+
const { config, characterName } = configInstance;
20+
const { characterConfig } = config;
21+
const { characterPath } = characterConfig;
22+
const { apiSecurityConfig, API_PORT } = config;
23+
24+
const serverApiServerParams: CreateApiServerParams = {
25+
characterName,
26+
dataPath: characterPath,
27+
authFlag: apiSecurityConfig.ENABLE_AUTH,
28+
authToken: apiSecurityConfig.API_TOKEN ?? '',
29+
apiPort: API_PORT,
30+
allowedOrigins: apiSecurityConfig.CORS_ALLOWED_ORIGINS,
31+
};
32+
33+
return serverApiServerParams;
34+
}

src/config/orchestrator.ts

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,19 @@
11
import {
22
createAllSchedulerTools,
3-
createApiServer,
4-
CreateApiServerParams,
53
createPrompts,
64
OrchestratorRunnerOptions,
75
} from '@autonomys/agent-core';
86

97
import { createExperienceConfig } from './experiences.js';
108
import { ConfigInstance, Tools } from './types.js';
9+
import { createAgentApi } from './api.js';
1110

1211
export const createOrchestratorConfig = async (configInstance: ConfigInstance, tools: Tools) => {
13-
const { config, characterName } = configInstance;
12+
const { config } = configInstance;
1413
const { characterConfig } = config;
1514
const { characterPath } = characterConfig;
1615

17-
const createApi = () => {
18-
const { apiSecurityConfig, llmConfig, API_PORT } = config;
19-
20-
const apiConfig: OrchestratorRunnerOptions['apiConfig'] = {
21-
apiEnabled: true,
22-
authFlag: apiSecurityConfig.ENABLE_AUTH,
23-
authToken: apiSecurityConfig.API_TOKEN,
24-
allowedOrigins: apiSecurityConfig.CORS_ALLOWED_ORIGINS,
25-
port: API_PORT,
26-
};
27-
28-
const serverApiServerParams: CreateApiServerParams = {
29-
characterName,
30-
dataPath: characterPath,
31-
llmConfig,
32-
authFlag: apiConfig.authFlag ?? false,
33-
authToken: apiConfig.authToken ?? '',
34-
apiPort: apiConfig.port ?? 3000,
35-
allowedOrigins: apiConfig.allowedOrigins ?? [],
36-
};
37-
38-
createApiServer(serverApiServerParams);
39-
return apiConfig;
40-
};
41-
42-
const apiConfig = config.ENABLE_API ? createApi() : undefined;
16+
const apiConfig = createAgentApi(configInstance);
4317

4418
const { experienceConfig, monitoringConfig } = await createExperienceConfig(configInstance);
4519
const prompts = await createPrompts(characterConfig);
@@ -52,7 +26,6 @@ export const createOrchestratorConfig = async (configInstance: ConfigInstance, t
5226
characterDataPathConfig: {
5327
dataPath: characterPath,
5428
},
55-
llmConfig: config.llmConfig,
5629
modelConfigurations: config.orchestratorConfig.model_configurations,
5730
tools: [...schedulerTools, ...tools],
5831
};

src/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import {
77
setupSignalHandlers,
88
startTaskExecutor,
99
withApiLogger,
10+
createApiServer,
1011
} from '@autonomys/agent-core';
1112

1213
import { createAgentRunnerOptions } from './agent.js';
14+
import { createApiServerConfig } from './config/api.js';
1315

1416
const configInstance = await getConfig();
1517
if (!configInstance) {
@@ -36,6 +38,8 @@ const orchestratorRunner = (() => {
3638

3739
// Main function to run the application
3840
const main = async () => {
41+
const apiServerConfig = createApiServerConfig(configInstance);
42+
const _apiServer = createApiServer(apiServerConfig);
3943
try {
4044
const logger = createLogger('app');
4145
logger.info('Initializing orchestrator runner...');

src/tools.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66

77
import { createExperienceConfig } from './config/experiences.js';
88
import { ConfigInstance } from './config/types.js';
9-
9+
import { createAgentApi } from './config/api.js';
1010
const schedulerTools = createAllSchedulerTools();
1111

1212
// Define custom tool creators
@@ -15,7 +15,7 @@ export const createTwitterTool = async (configInstance: ConfigInstance) => {
1515
if (!twitterConfig || !twitterConfig.USERNAME || !twitterConfig.PASSWORD) {
1616
return undefined;
1717
}
18-
18+
const apiConfig = createAgentApi(configInstance);
1919
const twitterApi = await createTwitterApi(
2020
twitterConfig.USERNAME,
2121
twitterConfig.PASSWORD,
@@ -29,6 +29,7 @@ export const createTwitterTool = async (configInstance: ConfigInstance) => {
2929
experienceConfig,
3030
monitoringConfig,
3131
modelConfigurations: twitterConfig.model_configurations,
32+
apiConfig,
3233
});
3334
return twitterAgent;
3435
};

yarn.lock

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1189,6 +1189,18 @@ __metadata:
11891189
languageName: node
11901190
linkType: hard
11911191

1192+
"@langchain/deepseek@npm:^0.0.1":
1193+
version: 0.0.1
1194+
resolution: "@langchain/deepseek@npm:0.0.1"
1195+
dependencies:
1196+
"@langchain/openai": "npm:^0.4.2"
1197+
zod: "npm:^3.24.1"
1198+
peerDependencies:
1199+
"@langchain/core": ">=0.3.0 <0.4.0"
1200+
checksum: 10c0/d4412a1e380ccc12f35169fde6541484f14ba08bb317d44d103fab3592f26e25b8c24c8d0553d30b1a90cd43f82a565623221211a77f0ac892d076df25984f4d
1201+
languageName: node
1202+
linkType: hard
1203+
11921204
"@langchain/groq@npm:0.2.0":
11931205
version: 0.2.0
11941206
resolution: "@langchain/groq@npm:0.2.0"
@@ -1297,6 +1309,20 @@ __metadata:
12971309
languageName: node
12981310
linkType: hard
12991311

1312+
"@langchain/openai@npm:^0.4.2":
1313+
version: 0.4.9
1314+
resolution: "@langchain/openai@npm:0.4.9"
1315+
dependencies:
1316+
js-tiktoken: "npm:^1.0.12"
1317+
openai: "npm:^4.87.3"
1318+
zod: "npm:^3.22.4"
1319+
zod-to-json-schema: "npm:^3.22.3"
1320+
peerDependencies:
1321+
"@langchain/core": ">=0.3.39 <0.4.0"
1322+
checksum: 10c0/456db6d039fad521caf9c2dab547075120d1156282c9eb891430b83f34d617121f4d97fda2be7954558910ddac8d235effe6071a002b93e60f460111318466d2
1323+
languageName: node
1324+
linkType: hard
1325+
13001326
"@langchain/openai@npm:~0.3.0":
13011327
version: 0.3.17
13021328
resolution: "@langchain/openai@npm:0.3.17"
@@ -3073,6 +3099,7 @@ __metadata:
30733099
dependencies:
30743100
"@autonomys/agent-core": "npm:^0.3.0"
30753101
"@eslint/js": "npm:^9.18.0"
3102+
"@langchain/deepseek": "npm:^0.0.1"
30763103
"@typescript-eslint/eslint-plugin": "npm:^8.29.0"
30773104
"@typescript-eslint/parser": "npm:^8.29.0"
30783105
eslint: "npm:^9.23.0"

0 commit comments

Comments
 (0)