@wabot-dev/framework 0.1.0-beta.57 → 0.1.0-beta.59
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/dist/src/addon/chat-bot/google/GoogleChatAdapter.js +8 -23
- package/dist/src/feature/async/JobRunner.js +3 -0
- package/dist/src/feature/rest-controller/runRestControllers.js +1 -0
- package/dist/src/feature/socket-controller/runSocketControllers.js +1 -0
- package/dist/src/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -18,18 +18,14 @@ let GoogleChatAdapter = class GoogleChatAdapter {
|
|
|
18
18
|
}
|
|
19
19
|
async nextItem(req) {
|
|
20
20
|
const messages = [];
|
|
21
|
-
// Add system prompt as system message
|
|
22
21
|
messages.push({ role: 'system', content: req.systemPrompt });
|
|
23
|
-
// Add previous chat items
|
|
24
22
|
messages.push(...this.mapChatItems(req.prevItems));
|
|
25
23
|
const tools = req.tools.map((x) => this.mapTool(x));
|
|
26
24
|
const request = {
|
|
27
25
|
model: req.model,
|
|
28
26
|
messages,
|
|
29
|
-
tools
|
|
30
|
-
tool_choice: 'auto',
|
|
27
|
+
tools,
|
|
31
28
|
};
|
|
32
|
-
this.logger.debug(`Call Gemini API with Request: ${JSON.stringify(request)}`);
|
|
33
29
|
const response = await this.openai.chat.completions.create(request);
|
|
34
30
|
return this.mapResponse(response);
|
|
35
31
|
}
|
|
@@ -65,21 +61,8 @@ let GoogleChatAdapter = class GoogleChatAdapter {
|
|
|
65
61
|
mapFunctionCall(item) {
|
|
66
62
|
return [
|
|
67
63
|
{
|
|
68
|
-
role: '
|
|
69
|
-
|
|
70
|
-
{
|
|
71
|
-
id: item.id,
|
|
72
|
-
type: 'function',
|
|
73
|
-
function: {
|
|
74
|
-
name: item.name,
|
|
75
|
-
arguments: item.arguments || '{}',
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
role: 'tool',
|
|
82
|
-
tool_call_id: item.id,
|
|
64
|
+
role: 'function',
|
|
65
|
+
name: item.id,
|
|
83
66
|
content: item.result ?? 'No result',
|
|
84
67
|
},
|
|
85
68
|
];
|
|
@@ -94,12 +77,14 @@ let GoogleChatAdapter = class GoogleChatAdapter {
|
|
|
94
77
|
type: 'object',
|
|
95
78
|
properties: tool.parameters.reduce((prev, param) => ({
|
|
96
79
|
...prev,
|
|
97
|
-
[param.name]: {
|
|
80
|
+
[param.name]: {
|
|
81
|
+
type: param.type,
|
|
82
|
+
description: param.description,
|
|
83
|
+
},
|
|
98
84
|
}), {}),
|
|
99
85
|
required: tool.parameters.map((param) => param.name),
|
|
100
86
|
additionalProperties: false,
|
|
101
|
-
}
|
|
102
|
-
strict: true,
|
|
87
|
+
}
|
|
103
88
|
},
|
|
104
89
|
};
|
|
105
90
|
}
|
|
@@ -2,10 +2,12 @@ import { __decorate, __metadata } from 'tslib';
|
|
|
2
2
|
import { CommandMetadataStore } from './CommandMetadataStore.js';
|
|
3
3
|
import { JobRepository } from './JobRepository.js';
|
|
4
4
|
import { singleton, container } from '../../core/injection/index.js';
|
|
5
|
+
import { Logger } from '../../core/logger/Logger.js';
|
|
5
6
|
|
|
6
7
|
let JobRunner = class JobRunner {
|
|
7
8
|
jobRepository;
|
|
8
9
|
handlerContainer;
|
|
10
|
+
logger = new Logger('wabot:job-runner');
|
|
9
11
|
constructor(jobRepository, handlerContainer) {
|
|
10
12
|
this.jobRepository = jobRepository;
|
|
11
13
|
this.handlerContainer = handlerContainer;
|
|
@@ -29,6 +31,7 @@ let JobRunner = class JobRunner {
|
|
|
29
31
|
job.setAsSuccess();
|
|
30
32
|
}
|
|
31
33
|
catch (e) {
|
|
34
|
+
this.logger.error(e);
|
|
32
35
|
job.setAsFailed(e instanceof Error ? e : new Error('Invalid Job error'));
|
|
33
36
|
}
|
|
34
37
|
finally {
|
|
@@ -62,6 +62,7 @@ function runRestControllers(controllers) {
|
|
|
62
62
|
res.status(200).json(response);
|
|
63
63
|
}
|
|
64
64
|
catch (err) {
|
|
65
|
+
logger.error(err);
|
|
65
66
|
if (err instanceof Error) {
|
|
66
67
|
const keys = Object.keys(err).filter((key) => !['message', 'stack'].includes(key));
|
|
67
68
|
const { httpCode, ...info } = keys.reduce((acc, key) => {
|
|
@@ -64,6 +64,7 @@ function runSocketControllers(controllers) {
|
|
|
64
64
|
callback(out);
|
|
65
65
|
}
|
|
66
66
|
catch (err) {
|
|
67
|
+
logger.error(err);
|
|
67
68
|
if (err instanceof Error) {
|
|
68
69
|
const keys = Object.keys(err).filter((key) => !['message', 'stack'].includes(key));
|
|
69
70
|
const { httpCode, ...info } = keys.reduce((acc, key) => {
|
package/dist/src/index.d.ts
CHANGED
|
@@ -379,6 +379,7 @@ declare class Async {
|
|
|
379
379
|
declare class JobRunner {
|
|
380
380
|
private jobRepository;
|
|
381
381
|
private handlerContainer;
|
|
382
|
+
private logger;
|
|
382
383
|
constructor(jobRepository: JobRepository, handlerContainer: CommandMetadataStore);
|
|
383
384
|
run(job: Job): Promise<void>;
|
|
384
385
|
}
|