Skip to content

Commit b959857

Browse files
committed
MCPClient hotfix + sanity check for duplicate tools definitions in the Conversation manager
1 parent a95fcae commit b959857

File tree

17 files changed

+60
-44
lines changed

17 files changed

+60
-44
lines changed

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@smythos/sre",
3-
"version": "1.5.66",
3+
"version": "1.5.67",
44
"description": "Smyth Runtime Environment",
55
"author": "Alaa-eddine KADDOURI",
66
"license": "MIT",

packages/core/src/helpers/Conversation.helper.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,8 @@ export class Conversation extends EventEmitter {
281281
let _content = '';
282282
const reqMethods = this._reqMethods;
283283
const toolsConfig = this._toolsConfig;
284+
//deduplicate tools
285+
toolsConfig.tools = toolsConfig.tools.filter((tool, index, self) => self.findIndex((t) => t.name === tool.name) === index);
284286
const endpoints = this._endpoints;
285287
const baseUrl = this._baseUrl;
286288
const message_id = 'msg_' + randomUUID();

packages/sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@smythos/sdk",
3-
"version": "1.1.8",
3+
"version": "1.1.9",
44
"description": "SRE SDK",
55
"keywords": [
66
"smythos",

packages/sdk/scripts/templates/Component.ts.tpl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ import { InputSettings, ComponentInput } from '../../types/SDKTypes';
1010
{{outputsType}}
1111

1212
{{componentJSDoc}}export function {{componentName}}(settings?: T{{componentName}}Settings, agent?: Agent) {
13-
const { name, ...settingsWithoutName } = settings || {};
13+
//const { name, ...settingsWithoutName } = settings || {};
1414
const dataObject: any = {
15-
name: settings?.name || '{{componentName}}',
15+
name: /*settings?.name || */'{{componentName}}',
1616
settings: {
17-
...settingsWithoutName
17+
//...settingsWithoutName
18+
...settings
1819
}
1920
};
2021
const component = new ComponentWrapper(dataObject, agent);

packages/sdk/src/Components/generated/APICall.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,12 @@ export type TAPICallOutputs = {
6969
* Use this component to make an API call
7070
*/
7171
export function APICall(settings?: TAPICallSettings, agent?: Agent) {
72-
const { name, ...settingsWithoutName } = settings || {};
72+
//const { name, ...settingsWithoutName } = settings || {};
7373
const dataObject: any = {
74-
name: settings?.name || 'APICall',
74+
name: /*settings?.name || */'APICall',
7575
settings: {
76-
...settingsWithoutName
76+
//...settingsWithoutName
77+
...settings
7778
}
7879
};
7980
const component = new ComponentWrapper(dataObject, agent);

packages/sdk/src/Components/generated/APIOutput.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@ export type TAPIOutputOutputs = {
2222
};
2323

2424
export function APIOutput(settings?: TAPIOutputSettings, agent?: Agent) {
25-
const { name, ...settingsWithoutName } = settings || {};
25+
//const { name, ...settingsWithoutName } = settings || {};
2626
const dataObject: any = {
27-
name: settings?.name || 'APIOutput',
27+
name: /*settings?.name || */'APIOutput',
2828
settings: {
29-
...settingsWithoutName
29+
//...settingsWithoutName
30+
...settings
3031
}
3132
};
3233
const component = new ComponentWrapper(dataObject, agent);

packages/sdk/src/Components/generated/Await.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@ export type TAwaitOutputs = {
2222
};
2323

2424
export function Await(settings?: TAwaitSettings, agent?: Agent) {
25-
const { name, ...settingsWithoutName } = settings || {};
25+
//const { name, ...settingsWithoutName } = settings || {};
2626
const dataObject: any = {
27-
name: settings?.name || 'Await',
27+
name: /*settings?.name || */'Await',
2828
settings: {
29-
...settingsWithoutName
29+
//...settingsWithoutName
30+
...settings
3031
}
3132
};
3233
const component = new ComponentWrapper(dataObject, agent);

packages/sdk/src/Components/generated/Classifier.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@ export type TClassifierOutputs = {
2222
};
2323

2424
export function Classifier(settings?: TClassifierSettings, agent?: Agent) {
25-
const { name, ...settingsWithoutName } = settings || {};
25+
//const { name, ...settingsWithoutName } = settings || {};
2626
const dataObject: any = {
27-
name: settings?.name || 'Classifier',
27+
name: /*settings?.name || */'Classifier',
2828
settings: {
29-
...settingsWithoutName
29+
//...settingsWithoutName
30+
...settings
3031
}
3132
};
3233
const component = new ComponentWrapper(dataObject, agent);

packages/sdk/src/Components/generated/ECMASandbox.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ export type TECMASandboxOutputs = {
2020
};
2121

2222
export function ECMASandbox(settings?: TECMASandboxSettings, agent?: Agent) {
23-
const { name, ...settingsWithoutName } = settings || {};
23+
//const { name, ...settingsWithoutName } = settings || {};
2424
const dataObject: any = {
25-
name: settings?.name || 'ECMASandbox',
25+
name: /*settings?.name || */'ECMASandbox',
2626
settings: {
27-
...settingsWithoutName
27+
//...settingsWithoutName
28+
...settings
2829
}
2930
};
3031
const component = new ComponentWrapper(dataObject, agent);

packages/sdk/src/Components/generated/FTimestamp.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ export type TFTimestampOutputs = {
2020
};
2121

2222
export function FTimestamp(settings?: TFTimestampSettings, agent?: Agent) {
23-
const { name, ...settingsWithoutName } = settings || {};
23+
//const { name, ...settingsWithoutName } = settings || {};
2424
const dataObject: any = {
25-
name: settings?.name || 'FTimestamp',
25+
name: /*settings?.name || */'FTimestamp',
2626
settings: {
27-
...settingsWithoutName
27+
//...settingsWithoutName
28+
...settings
2829
}
2930
};
3031
const component = new ComponentWrapper(dataObject, agent);

0 commit comments

Comments
 (0)