@activepieces/piece-ai 0.1.21 → 0.3.0
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/package.json +2 -2
- package/src/i18n/translation.json +2 -1
- package/src/lib/actions/agents/agent-output-builder.d.ts +3 -3
- package/src/lib/actions/agents/agent-output-builder.d.ts.map +1 -1
- package/src/lib/actions/agents/agent-output-builder.js +3 -0
- package/src/lib/actions/agents/agent-output-builder.js.map +1 -1
- package/src/lib/actions/agents/run-agent.d.ts +2 -0
- package/src/lib/actions/agents/run-agent.d.ts.map +1 -1
- package/src/lib/actions/agents/run-agent.js +62 -19
- package/src/lib/actions/agents/run-agent.js.map +1 -1
- package/src/lib/actions/agents/tools.d.ts +7 -1
- package/src/lib/actions/agents/tools.d.ts.map +1 -1
- package/src/lib/actions/agents/tools.js +202 -31
- package/src/lib/actions/agents/tools.js.map +1 -1
- package/src/lib/actions/agents/utils.d.ts +3 -1
- package/src/lib/actions/agents/utils.d.ts.map +1 -1
- package/src/lib/actions/agents/utils.js +9 -2
- package/src/lib/actions/agents/utils.js.map +1 -1
- package/src/lib/actions/text/ask-ai.d.ts +0 -25
- package/src/lib/actions/text/ask-ai.d.ts.map +1 -1
- package/src/lib/actions/text/ask-ai.js +13 -167
- package/src/lib/actions/text/ask-ai.js.map +1 -1
- package/src/lib/common/ai-sdk.d.ts +13 -1
- package/src/lib/common/ai-sdk.d.ts.map +1 -1
- package/src/lib/common/ai-sdk.js +54 -5
- package/src/lib/common/ai-sdk.js.map +1 -1
- package/src/lib/common/web-search.d.ts +37 -0
- package/src/lib/common/web-search.d.ts.map +1 -0
- package/src/lib/common/web-search.js +188 -0
- package/src/lib/common/web-search.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@activepieces/pieces-common": "0.12.0",
|
|
9
9
|
"@activepieces/pieces-framework": "0.26.0",
|
|
10
|
-
"@activepieces/shared": "0.
|
|
10
|
+
"@activepieces/shared": "0.50.1",
|
|
11
11
|
"@ai-sdk/anthropic": "^3.0.0",
|
|
12
12
|
"@ai-sdk/azure": "^3.0.0",
|
|
13
13
|
"@ai-sdk/google": "^3.0.0",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"Prompt to guide the AI.": "Prompt to guide the AI.",
|
|
39
39
|
"For complex schema, you can use advanced mode.": "For complex schema, you can use advanced mode.",
|
|
40
40
|
"Describe what you want the assistant to do.": "Describe what you want the assistant to do.",
|
|
41
|
-
"The
|
|
41
|
+
"The number of iterations the agent can do": "The number of iterations the agent can do",
|
|
42
|
+
"Whether to use web search to find information for the AI to use.": "Whether to use web search to find information for the AI to use.",
|
|
42
43
|
"Simple": "Simple",
|
|
43
44
|
"Advanced": "Advanced"
|
|
44
45
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AgentResult, AgentTaskStatus, AgentTool } from '@activepieces/shared';
|
|
2
|
-
export type ToolKeyToAgentTool = Record<string, AgentTool>;
|
|
3
2
|
export declare const agentOutputBuilder: (prompt: string) => {
|
|
4
3
|
setStatus(_status: AgentTaskStatus): void;
|
|
5
4
|
setToolMap(map: ToolKeyToAgentTool): void;
|
|
@@ -9,7 +8,7 @@ export declare const agentOutputBuilder: (prompt: string) => {
|
|
|
9
8
|
addMarkdown(markdown: string): void;
|
|
10
9
|
startToolCall({ toolName, toolCallId, input }: StartToolCallParams): void;
|
|
11
10
|
finishToolCall({ toolCallId, output }: FinishToolCallParams): void;
|
|
12
|
-
failToolCall({ toolCallId }:
|
|
11
|
+
failToolCall({ toolCallId }: FailToolCallParams): void;
|
|
13
12
|
hasTextContent(): boolean;
|
|
14
13
|
build(): AgentResult;
|
|
15
14
|
};
|
|
@@ -17,7 +16,7 @@ type FinishToolCallParams = {
|
|
|
17
16
|
toolCallId: string;
|
|
18
17
|
output: Record<string, unknown>;
|
|
19
18
|
};
|
|
20
|
-
type
|
|
19
|
+
type FailToolCallParams = {
|
|
21
20
|
toolCallId: string;
|
|
22
21
|
};
|
|
23
22
|
type StartToolCallParams = {
|
|
@@ -28,5 +27,6 @@ type StartToolCallParams = {
|
|
|
28
27
|
type FinishParams = {
|
|
29
28
|
message?: string;
|
|
30
29
|
};
|
|
30
|
+
export type ToolKeyToAgentTool = Record<string, AgentTool>;
|
|
31
31
|
export {};
|
|
32
32
|
//# sourceMappingURL=agent-output-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-output-builder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/agent-output-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,eAAe,EACf,SAAS,EAWV,MAAM,sBAAsB,CAAC;AAE9B,
|
|
1
|
+
{"version":3,"file":"agent-output-builder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/agent-output-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,eAAe,EACf,SAAS,EAWV,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,kBAAkB,WAAY,MAAM;uBAO1B,eAAe;oBAGlB,kBAAkB;gCAGN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gDAGP,OAAO;sBAKjC,YAAY;0BAOR,MAAM;mDAYmB,mBAAmB;2CAY3B,oBAAoB;iCAiB9B,kBAAkB;sBAmB7B,OAAO;aAOhB,WAAW;CASvB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AA8DF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -104,6 +104,9 @@ function getToolMetadata({ toolName, baseTool, toolKeyToAgentTool, }) {
|
|
|
104
104
|
(0, shared_1.assertNotNullOrUndefined)(tool.serverUrl, 'MCP server URL is required');
|
|
105
105
|
return Object.assign(Object.assign({}, baseTool), { toolCallType: shared_1.ToolCallType.MCP, displayName: toolName, serverUrl: tool.serverUrl });
|
|
106
106
|
}
|
|
107
|
+
case shared_1.AgentToolType.KNOWLEDGE_BASE: {
|
|
108
|
+
return Object.assign(Object.assign({}, baseTool), { toolCallType: shared_1.ToolCallType.KNOWLEDGE_BASE, displayName: tool.sourceName, sourceType: tool.sourceType });
|
|
109
|
+
}
|
|
107
110
|
}
|
|
108
111
|
}
|
|
109
112
|
//# sourceMappingURL=agent-output-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-output-builder.js","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/agent-output-builder.ts"],"names":[],"mappings":";;;AAAA,iDAe8B;
|
|
1
|
+
{"version":3,"file":"agent-output-builder.js","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/agent-output-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,7 @@ export declare const runAgent: import("@activepieces/pieces-framework").IAction<
|
|
|
4
4
|
agentTools: import("@activepieces/pieces-framework").ArrayProperty<true> | import("@activepieces/pieces-framework").ArrayProperty<false>;
|
|
5
5
|
structuredOutput: import("@activepieces/pieces-framework").ArrayProperty<true> | import("@activepieces/pieces-framework").ArrayProperty<false>;
|
|
6
6
|
maxSteps: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
7
|
+
webSearch: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
8
|
+
webSearchOptions: import("@activepieces/pieces-framework").DynamicProperties<false, undefined>;
|
|
7
9
|
}>;
|
|
8
10
|
//# sourceMappingURL=run-agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/run-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/run-agent.ts"],"names":[],"mappings":"AA8EA,eAAO,MAAM,QAAQ;;;;;;;;EA+QnB,CAAC"}
|
|
@@ -10,6 +10,7 @@ const ai_sdk_1 = require("../../common/ai-sdk");
|
|
|
10
10
|
const util_1 = require("util");
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
12
|
const tools_1 = require("./tools");
|
|
13
|
+
const web_search_1 = require("../../common/web-search");
|
|
13
14
|
const agentToolArrayItems = {
|
|
14
15
|
type: pieces_framework_1.Property.ShortText({
|
|
15
16
|
displayName: 'Tool Type',
|
|
@@ -39,6 +40,18 @@ const agentToolArrayItems = {
|
|
|
39
40
|
displayName: 'Auth Configuration',
|
|
40
41
|
required: false,
|
|
41
42
|
}),
|
|
43
|
+
sourceType: pieces_framework_1.Property.ShortText({
|
|
44
|
+
displayName: 'Source Type',
|
|
45
|
+
required: false,
|
|
46
|
+
}),
|
|
47
|
+
sourceId: pieces_framework_1.Property.ShortText({
|
|
48
|
+
displayName: 'Source ID',
|
|
49
|
+
required: false,
|
|
50
|
+
}),
|
|
51
|
+
sourceName: pieces_framework_1.Property.ShortText({
|
|
52
|
+
displayName: 'Source Name',
|
|
53
|
+
required: false,
|
|
54
|
+
}),
|
|
42
55
|
};
|
|
43
56
|
exports.runAgent = (0, pieces_framework_1.createAction)({
|
|
44
57
|
name: 'run_agent',
|
|
@@ -81,54 +94,84 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
|
|
|
81
94
|
}),
|
|
82
95
|
[shared_1.AgentPieceProps.MAX_STEPS]: pieces_framework_1.Property.Number({
|
|
83
96
|
displayName: 'Max steps',
|
|
84
|
-
description: 'The
|
|
97
|
+
description: 'The number of iterations the agent can do',
|
|
85
98
|
required: true,
|
|
86
99
|
defaultValue: 20,
|
|
87
100
|
}),
|
|
101
|
+
[shared_1.AgentPieceProps.WEB_SEARCH]: pieces_framework_1.Property.Checkbox({
|
|
102
|
+
displayName: 'Web Search',
|
|
103
|
+
required: false,
|
|
104
|
+
defaultValue: false,
|
|
105
|
+
description: 'Whether to use web search to find information for the AI to use.',
|
|
106
|
+
}),
|
|
107
|
+
[shared_1.AgentPieceProps.WEB_SEARCH_OPTIONS]: (0, web_search_1.buildWebSearchOptionsProperty)((propsValue) => { var _a; return (_a = propsValue['aiProviderModel']) === null || _a === void 0 ? void 0 : _a.provider; }, ['webSearch', 'aiProviderModel'], { showIncludeSources: false }),
|
|
88
108
|
},
|
|
89
109
|
run(context) {
|
|
90
110
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
91
111
|
var _a, e_1, _b, _c;
|
|
112
|
+
var _d;
|
|
92
113
|
const { prompt, maxSteps, aiProviderModel } = context.propsValue;
|
|
93
114
|
const agentProviderModel = aiProviderModel;
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
runId: context.run.id,
|
|
115
|
+
const provider = agentProviderModel.provider;
|
|
116
|
+
const webSearchEnabled = !!(context.propsValue.webSearch);
|
|
117
|
+
const webSearchOptions = ((_d = context.propsValue.webSearchOptions) !== null && _d !== void 0 ? _d : {});
|
|
118
|
+
const { tools: webSearchTools, providerOptions } = (0, web_search_1.buildWebSearchConfig)({
|
|
119
|
+
provider,
|
|
120
|
+
webSearchEnabled,
|
|
121
|
+
webSearchOptions,
|
|
102
122
|
});
|
|
123
|
+
const model = yield (0, ai_sdk_1.createAIModel)(Object.assign({ modelId: agentProviderModel.model, provider, engineToken: context.server.token, apiUrl: context.server.apiUrl, projectId: context.project.id, flowId: context.flows.current.id, runId: context.run.id }, (0, shared_1.spreadIfDefined)('openaiResponsesModel', webSearchEnabled && provider === shared_1.AIProviderName.OPENAI ? true : undefined)));
|
|
103
124
|
const outputBuilder = (0, agent_output_builder_1.agentOutputBuilder)(prompt);
|
|
104
125
|
const hasStructuredOutput = !(0, shared_1.isNil)(context.propsValue.structuredOutput) &&
|
|
105
126
|
context.propsValue.structuredOutput.length > 0;
|
|
106
127
|
const structuredOutput = hasStructuredOutput ? context.propsValue.structuredOutput : undefined;
|
|
107
128
|
const agentTools = context.propsValue.agentTools;
|
|
129
|
+
const hasKnowledgeBaseTools = agentTools.some(t => t.type === shared_1.AgentToolType.KNOWLEDGE_BASE);
|
|
130
|
+
const kbFileTools = agentTools.filter((t) => t.type === shared_1.AgentToolType.KNOWLEDGE_BASE && t.sourceType === shared_1.KnowledgeBaseSourceType.FILE);
|
|
131
|
+
const hasKbFileTools = kbFileTools.length > 0;
|
|
132
|
+
let embeddingConfig;
|
|
133
|
+
if (hasKbFileTools) {
|
|
134
|
+
try {
|
|
135
|
+
const result = yield (0, ai_sdk_1.createEmbeddingModel)({
|
|
136
|
+
provider: agentProviderModel.provider,
|
|
137
|
+
engineToken: context.server.token,
|
|
138
|
+
apiUrl: context.server.apiUrl,
|
|
139
|
+
});
|
|
140
|
+
embeddingConfig = { model: result.model, providerOptions: result.providerOptions };
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
outputBuilder.addMarkdown(`\n\n**Warning:** Could not create embedding model for knowledge base search: ${err instanceof Error ? err.message : 'Unknown error'}\n\n`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
108
146
|
const { mcpClients, tools, toolKeyToAgentTool } = yield (0, tools_1.constructAgentTools)({
|
|
109
147
|
context,
|
|
110
148
|
agentTools,
|
|
111
149
|
model,
|
|
112
150
|
outputBuilder,
|
|
113
|
-
structuredOutput
|
|
151
|
+
structuredOutput,
|
|
152
|
+
embeddingConfig,
|
|
114
153
|
});
|
|
115
154
|
outputBuilder.setToolMap(toolKeyToAgentTool);
|
|
155
|
+
const allTools = webSearchTools
|
|
156
|
+
? Object.assign(Object.assign({}, webSearchTools), tools) : tools;
|
|
116
157
|
const errors = [];
|
|
117
158
|
try {
|
|
159
|
+
const prompts = utils_1.agentUtils.getPrompts(prompt, { hasKnowledgeBaseTools });
|
|
118
160
|
const stream = (0, ai_1.streamText)({
|
|
119
161
|
model: model,
|
|
120
|
-
system:
|
|
121
|
-
prompt:
|
|
122
|
-
tools,
|
|
162
|
+
system: prompts.system,
|
|
163
|
+
prompt: prompts.prompt,
|
|
164
|
+
tools: allTools,
|
|
123
165
|
stopWhen: [(0, ai_1.stepCountIs)(maxSteps), (0, ai_1.hasToolCall)(shared_1.TASK_COMPLETION_TOOL_NAME)],
|
|
166
|
+
providerOptions,
|
|
124
167
|
onFinish: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
125
168
|
yield Promise.all(mcpClients.map((client) => tslib_1.__awaiter(this, void 0, void 0, function* () { return client.close(); })));
|
|
126
169
|
}),
|
|
127
170
|
});
|
|
128
171
|
try {
|
|
129
|
-
for (var
|
|
130
|
-
_c =
|
|
131
|
-
|
|
172
|
+
for (var _e = true, _f = tslib_1.__asyncValues(stream.fullStream), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
|
|
173
|
+
_c = _g.value;
|
|
174
|
+
_e = false;
|
|
132
175
|
const chunk = _c;
|
|
133
176
|
try {
|
|
134
177
|
switch (chunk.type) {
|
|
@@ -210,7 +253,7 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
|
|
|
210
253
|
? `${innerError.message}${innerError.stack ? `\n${innerError.stack}` : ''}`
|
|
211
254
|
: (0, util_1.inspect)(innerError);
|
|
212
255
|
}
|
|
213
|
-
catch (
|
|
256
|
+
catch (_h) {
|
|
214
257
|
detailsStr = String(innerError);
|
|
215
258
|
}
|
|
216
259
|
errors.push({
|
|
@@ -224,7 +267,7 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
|
|
|
224
267
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
225
268
|
finally {
|
|
226
269
|
try {
|
|
227
|
-
if (!
|
|
270
|
+
if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
|
|
228
271
|
}
|
|
229
272
|
finally { if (e_1) throw e_1.error; }
|
|
230
273
|
}
|
|
@@ -236,7 +279,7 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
|
|
|
236
279
|
yield context.output.update({ data: outputBuilder.build() });
|
|
237
280
|
}
|
|
238
281
|
}
|
|
239
|
-
catch (
|
|
282
|
+
catch (_j) {
|
|
240
283
|
// ignore
|
|
241
284
|
}
|
|
242
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/run-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/run-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { LanguageModel, Tool } from "ai";
|
|
1
|
+
import { EmbeddingModel, LanguageModel, Tool } from "ai";
|
|
2
2
|
import { agentOutputBuilder } from "./agent-output-builder";
|
|
3
3
|
import { AgentOutputField, AgentTool } from "@activepieces/shared";
|
|
4
4
|
import { ActionContext } from "@activepieces/pieces-framework";
|
|
5
|
+
import { ProviderOptions } from "@ai-sdk/provider-utils";
|
|
5
6
|
import { MCPClient } from '@ai-sdk/mcp';
|
|
6
7
|
export declare function constructAgentTools(params: ConstructAgentToolParams): Promise<{
|
|
7
8
|
tools: Record<string, Tool>;
|
|
@@ -14,6 +15,11 @@ type ConstructAgentToolParams = {
|
|
|
14
15
|
agentTools: AgentTool[];
|
|
15
16
|
context: ActionContext;
|
|
16
17
|
model: LanguageModel;
|
|
18
|
+
embeddingConfig?: EmbeddingConfig;
|
|
19
|
+
};
|
|
20
|
+
type EmbeddingConfig = {
|
|
21
|
+
model: EmbeddingModel;
|
|
22
|
+
providerOptions: ProviderOptions;
|
|
17
23
|
};
|
|
18
24
|
export type McpServerTools = {
|
|
19
25
|
mcpName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/tools.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/agents/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAGxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAwC,gBAAgB,EAAmB,SAAS,EAAuI,MAAM,sBAAsB,CAAC;AAE/P,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAmD,SAAS,EAAgB,MAAM,aAAa,CAAC;AAoRvG,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAAE,CAAC,CA0FlH;AAED,KAAK,wBAAwB,GAAG;IAC9B,aAAa,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACtC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,aAAa,CAAA;IACpB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAC;AAmBF,KAAK,eAAe,GAAG;IACnB,KAAK,EAAE,cAAc,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;CACnC,CAAA;AAID,MAAM,MAAM,cAAc,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAC9B,CAAA"}
|
|
@@ -8,6 +8,7 @@ const utils_1 = require("./utils");
|
|
|
8
8
|
const shared_1 = require("@activepieces/shared");
|
|
9
9
|
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
|
|
10
10
|
const mcp_1 = require("@ai-sdk/mcp");
|
|
11
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
11
12
|
function createTransportConfig(protocol, serverUrl, headers = {}) {
|
|
12
13
|
const url = new URL(serverUrl);
|
|
13
14
|
switch (protocol) {
|
|
@@ -36,6 +37,7 @@ function createTransportConfig(protocol, serverUrl, headers = {}) {
|
|
|
36
37
|
throw new Error(`Unsupported MCP protocol type: ${protocol}`);
|
|
37
38
|
}
|
|
38
39
|
}
|
|
40
|
+
const SEARCH_KNOWLEDGE_BASE_TOOL_NAME = 'search_knowledge_base';
|
|
39
41
|
function flattenMcpServers(servers, agentMcpTools) {
|
|
40
42
|
const mcpClients = [];
|
|
41
43
|
const tools = {};
|
|
@@ -75,10 +77,163 @@ function constructMcpServersTools(tools) {
|
|
|
75
77
|
return collected;
|
|
76
78
|
});
|
|
77
79
|
}
|
|
80
|
+
function createServerApiClient(context) {
|
|
81
|
+
return {
|
|
82
|
+
get(path, queryParams) {
|
|
83
|
+
return pieces_common_1.httpClient.sendRequest(Object.assign(Object.assign({ method: pieces_common_1.HttpMethod.GET, url: `${context.server.apiUrl}${path}` }, (queryParams ? { queryParams } : {})), { authentication: {
|
|
84
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
85
|
+
token: context.server.token,
|
|
86
|
+
} }));
|
|
87
|
+
},
|
|
88
|
+
post(path, body) {
|
|
89
|
+
return pieces_common_1.httpClient.sendRequest({
|
|
90
|
+
method: pieces_common_1.HttpMethod.POST,
|
|
91
|
+
url: `${context.server.apiUrl}${path}`,
|
|
92
|
+
authentication: {
|
|
93
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
94
|
+
token: context.server.token,
|
|
95
|
+
},
|
|
96
|
+
body,
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function constructKnowledgeBaseTools(kbTools, context, embeddingConfig) {
|
|
102
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const tools = {};
|
|
104
|
+
const keyToAgentTool = {};
|
|
105
|
+
const api = createServerApiClient(context);
|
|
106
|
+
const fileTools = kbTools.filter(t => t.sourceType === shared_1.KnowledgeBaseSourceType.FILE);
|
|
107
|
+
const tableTools = kbTools.filter(t => t.sourceType === shared_1.KnowledgeBaseSourceType.TABLE);
|
|
108
|
+
if (fileTools.length > 0 && embeddingConfig) {
|
|
109
|
+
const fileIds = fileTools.map(t => t.sourceId);
|
|
110
|
+
const sourceNames = fileTools.map(t => t.sourceName).join(', ');
|
|
111
|
+
for (const fileTool of fileTools) {
|
|
112
|
+
try {
|
|
113
|
+
const unembeddedRes = yield api.get(`v1/knowledge-base/files/${fileTool.sourceId}/chunks?embedded=false`);
|
|
114
|
+
const unembedded = unembeddedRes.body;
|
|
115
|
+
if (unembedded.length > 0) {
|
|
116
|
+
const EMBED_BATCH_SIZE = 50;
|
|
117
|
+
for (let i = 0; i < unembedded.length; i += EMBED_BATCH_SIZE) {
|
|
118
|
+
const batch = unembedded.slice(i, i + EMBED_BATCH_SIZE);
|
|
119
|
+
const { embeddings } = yield (0, ai_1.embedMany)({
|
|
120
|
+
model: embeddingConfig.model,
|
|
121
|
+
values: batch.map(c => c.content),
|
|
122
|
+
providerOptions: embeddingConfig.providerOptions,
|
|
123
|
+
});
|
|
124
|
+
yield api.post(`v1/knowledge-base/files/${fileTool.sourceId}/store-chunks`, {
|
|
125
|
+
chunks: batch.map((c, j) => ({
|
|
126
|
+
id: c.id,
|
|
127
|
+
embedding: Array.from(embeddings[j]),
|
|
128
|
+
})),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error(`Failed to embed KB file '${fileTool.sourceName}':`, error);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
tools[SEARCH_KNOWLEDGE_BASE_TOOL_NAME] = (0, ai_1.dynamicTool)({
|
|
138
|
+
description: `Search uploaded documents for relevant information. Available documents: ${sourceNames}. Use when you need facts, policies, or content from these knowledge base files.`,
|
|
139
|
+
inputSchema: zod_1.default.object({
|
|
140
|
+
query: zod_1.default.string().describe('Search query to find relevant information'),
|
|
141
|
+
}),
|
|
142
|
+
execute: (input) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
const { query } = input;
|
|
144
|
+
const { embedding } = yield (0, ai_1.embed)({
|
|
145
|
+
model: embeddingConfig.model,
|
|
146
|
+
value: query,
|
|
147
|
+
providerOptions: embeddingConfig.providerOptions,
|
|
148
|
+
});
|
|
149
|
+
const response = yield api.post('v1/knowledge-base/files/search', {
|
|
150
|
+
knowledgeBaseFileIds: fileIds,
|
|
151
|
+
queryEmbedding: Array.from(embedding),
|
|
152
|
+
limit: 5,
|
|
153
|
+
similarityThreshold: 0.5,
|
|
154
|
+
});
|
|
155
|
+
const results = response.body;
|
|
156
|
+
if (!results || results.length === 0) {
|
|
157
|
+
return { results: 'No relevant information found.' };
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
results: results.map((r, i) => {
|
|
161
|
+
var _a, _b;
|
|
162
|
+
return ({
|
|
163
|
+
rank: i + 1,
|
|
164
|
+
content: r.content,
|
|
165
|
+
source: (_b = (_a = r.metadata) === null || _a === void 0 ? void 0 : _a['fileName']) !== null && _b !== void 0 ? _b : 'unknown',
|
|
166
|
+
relevanceScore: r.score,
|
|
167
|
+
});
|
|
168
|
+
}),
|
|
169
|
+
};
|
|
170
|
+
}),
|
|
171
|
+
});
|
|
172
|
+
keyToAgentTool[SEARCH_KNOWLEDGE_BASE_TOOL_NAME] = fileTools[0];
|
|
173
|
+
}
|
|
174
|
+
const tableToolEntries = yield Promise.all(tableTools.map((tableTool) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const toolName = shared_1.mcpToolNameUtils.createToolName(`query_table_${tableTool.toolName}`);
|
|
176
|
+
// Resolve table ID and fields once at construction time, cache for execution
|
|
177
|
+
let cachedTableId;
|
|
178
|
+
let cachedFields = [];
|
|
179
|
+
let fieldDescriptions = '';
|
|
180
|
+
try {
|
|
181
|
+
const tableResponse = yield api.get(`v1/tables/${encodeURIComponent(tableTool.sourceId)}`);
|
|
182
|
+
if (tableResponse.body.id) {
|
|
183
|
+
cachedTableId = tableResponse.body.id;
|
|
184
|
+
const fieldsResponse = yield api.get(`v1/fields?tableId=${cachedTableId}`);
|
|
185
|
+
cachedFields = fieldsResponse.body;
|
|
186
|
+
fieldDescriptions = cachedFields.map(f => `${f.name} (${f.type})`).join(', ');
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error(`Failed to fetch table metadata for '${tableTool.sourceName}':`, error);
|
|
191
|
+
}
|
|
192
|
+
const tool = (0, ai_1.dynamicTool)({
|
|
193
|
+
description: `Query the '${tableTool.sourceName}' data table.${fieldDescriptions ? ` Columns: ${fieldDescriptions}.` : ''} Use to look up records or find specific entries.`,
|
|
194
|
+
inputSchema: zod_1.default.object({
|
|
195
|
+
filters: zod_1.default.array(zod_1.default.object({
|
|
196
|
+
fieldName: zod_1.default.string().describe('The name of the field to filter on'),
|
|
197
|
+
operator: zod_1.default.enum(['eq', 'neq', 'gt', 'gte', 'lt', 'lte', 'co', 'exists', 'not_exists']).describe('Filter operator'),
|
|
198
|
+
value: zod_1.default.string().optional().describe('The value to filter by'),
|
|
199
|
+
})).optional().describe('Optional filters to narrow results'),
|
|
200
|
+
limit: zod_1.default.number().optional().default(10).describe('Maximum number of records to return'),
|
|
201
|
+
}),
|
|
202
|
+
execute: (input) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
const { filters, limit } = input;
|
|
204
|
+
if (!cachedTableId) {
|
|
205
|
+
return { error: `Table '${tableTool.sourceName}' not found` };
|
|
206
|
+
}
|
|
207
|
+
// Use cached fields to resolve field names to IDs
|
|
208
|
+
let resolvedFilters;
|
|
209
|
+
if (filters && filters.length > 0) {
|
|
210
|
+
const fieldMap = new Map(cachedFields.map(f => [f.name.toLowerCase(), f.id]));
|
|
211
|
+
resolvedFilters = filters.flatMap(f => {
|
|
212
|
+
const fieldId = fieldMap.get(f.fieldName.toLowerCase());
|
|
213
|
+
if (!fieldId)
|
|
214
|
+
return [];
|
|
215
|
+
return [{ fieldId, operator: f.operator, value: f.value }];
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
const queryParams = Object.assign({ tableId: cachedTableId, limit: String(limit !== null && limit !== void 0 ? limit : 10) }, serializeArrayQuery('filters', resolvedFilters !== null && resolvedFilters !== void 0 ? resolvedFilters : []));
|
|
219
|
+
const response = yield api.get('v1/records', queryParams);
|
|
220
|
+
const records = response.body.data;
|
|
221
|
+
return { records, count: records.length };
|
|
222
|
+
}),
|
|
223
|
+
});
|
|
224
|
+
return { toolName, tool, agentTool: tableTool };
|
|
225
|
+
})));
|
|
226
|
+
for (const { toolName, tool, agentTool } of tableToolEntries) {
|
|
227
|
+
tools[toolName] = tool;
|
|
228
|
+
keyToAgentTool[toolName] = agentTool;
|
|
229
|
+
}
|
|
230
|
+
return { tools, keyToAgentTool };
|
|
231
|
+
});
|
|
232
|
+
}
|
|
78
233
|
function constructAgentTools(params) {
|
|
79
234
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
80
235
|
var _a, _b;
|
|
81
|
-
const { outputBuilder, structuredOutput, agentTools, context, model } = params;
|
|
236
|
+
const { outputBuilder, structuredOutput, agentTools, context, model, embeddingConfig } = params;
|
|
82
237
|
const agentPieceTools = yield context.agent.tools({
|
|
83
238
|
tools: agentTools.filter(tool => tool.type === shared_1.AgentToolType.PIECE),
|
|
84
239
|
model: model,
|
|
@@ -92,45 +247,61 @@ function constructAgentTools(params) {
|
|
|
92
247
|
const agentMcpTools = agentTools.filter((tool) => tool.type === shared_1.AgentToolType.MCP);
|
|
93
248
|
const mcpServerTools = yield constructMcpServersTools(agentMcpTools);
|
|
94
249
|
const { mcpClients, tools: mcpTools, keyToAgentTool: mcpKeyToAgentTool } = flattenMcpServers(mcpServerTools, agentMcpTools);
|
|
95
|
-
const
|
|
250
|
+
const agentKbTools = agentTools.filter((tool) => tool.type === shared_1.AgentToolType.KNOWLEDGE_BASE);
|
|
251
|
+
const { tools: kbTools, keyToAgentTool: kbKeyToAgentTool } = yield constructKnowledgeBaseTools(agentKbTools, context, embeddingConfig);
|
|
252
|
+
const combinedTools = Object.assign(Object.assign(Object.assign(Object.assign({}, agentPieceTools), flowsTools), mcpTools), kbTools);
|
|
96
253
|
const toolKeyToAgentTool = {};
|
|
97
|
-
for (const agentTool of agentTools.filter(t => t.type !== shared_1.AgentToolType.MCP)) {
|
|
254
|
+
for (const agentTool of agentTools.filter(t => t.type !== shared_1.AgentToolType.MCP && t.type !== shared_1.AgentToolType.KNOWLEDGE_BASE)) {
|
|
98
255
|
const key = agentTool.type === shared_1.AgentToolType.FLOW ? shared_1.mcpToolNameUtils.createToolName(agentTool.toolName) : agentTool.toolName;
|
|
99
256
|
toolKeyToAgentTool[key] = agentTool;
|
|
100
257
|
}
|
|
101
258
|
Object.assign(toolKeyToAgentTool, mcpKeyToAgentTool);
|
|
259
|
+
Object.assign(toolKeyToAgentTool, kbKeyToAgentTool);
|
|
260
|
+
const completionTool = {
|
|
261
|
+
[shared_1.TASK_COMPLETION_TOOL_NAME]: (0, ai_1.dynamicTool)({
|
|
262
|
+
description: "This tool must be called as your FINAL ACTION to indicate whether the assigned goal was accomplished. Call it only when you have completed the user's task, or if you are unable to continue. Once you call this tool, you should not take any further actions.",
|
|
263
|
+
inputSchema: zod_1.default.object(Object.assign({ success: zod_1.default
|
|
264
|
+
.boolean()
|
|
265
|
+
.describe('Set to true if the assigned goal was achieved, or false if the task was abandoned or failed.') }, (!(0, shared_1.isNil)(structuredOutput)
|
|
266
|
+
? {
|
|
267
|
+
output: zod_1.default
|
|
268
|
+
.object((_b = (_a = utils_1.agentUtils.structuredOutputSchema(structuredOutput)) === null || _a === void 0 ? void 0 : _a.shape) !== null && _b !== void 0 ? _b : {})
|
|
269
|
+
.nullable()
|
|
270
|
+
.describe('The structured output of your task. This is optional and can be omitted if you have not achieved the goal.'),
|
|
271
|
+
}
|
|
272
|
+
: {
|
|
273
|
+
output: zod_1.default
|
|
274
|
+
.string()
|
|
275
|
+
.describe('Your complete response to the user. Always populate this with the full answer, result, or explanation — even if you already wrote text above. This is the final message that will be shown to the user.'),
|
|
276
|
+
}))),
|
|
277
|
+
execute: (params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
278
|
+
const { success, output } = params;
|
|
279
|
+
outputBuilder.setStatus(success ? shared_1.AgentTaskStatus.COMPLETED : shared_1.AgentTaskStatus.FAILED);
|
|
280
|
+
if (!(0, shared_1.isNil)(structuredOutput) && !(0, shared_1.isNil)(output) && !(0, shared_1.isString)(output)) {
|
|
281
|
+
outputBuilder.setStructuredOutput(output);
|
|
282
|
+
}
|
|
283
|
+
else if ((0, shared_1.isNil)(structuredOutput) && !(0, shared_1.isNil)(output) && !outputBuilder.hasTextContent()) {
|
|
284
|
+
outputBuilder.addMarkdown(output);
|
|
285
|
+
}
|
|
286
|
+
return {};
|
|
287
|
+
}),
|
|
288
|
+
}),
|
|
289
|
+
};
|
|
102
290
|
return {
|
|
103
291
|
mcpClients,
|
|
104
292
|
toolKeyToAgentTool,
|
|
105
|
-
tools: Object.assign(Object.assign({}, combinedTools),
|
|
106
|
-
description: "This tool must be called as your FINAL ACTION to indicate whether the assigned goal was accomplished. Call it only when you have completed the user's task, or if you are unable to continue. Once you call this tool, you should not take any further actions.",
|
|
107
|
-
inputSchema: zod_1.default.object(Object.assign({ success: zod_1.default
|
|
108
|
-
.boolean()
|
|
109
|
-
.describe('Set to true if the assigned goal was achieved, or false if the task was abandoned or failed.') }, (!(0, shared_1.isNil)(structuredOutput)
|
|
110
|
-
? {
|
|
111
|
-
output: zod_1.default
|
|
112
|
-
.object((_b = (_a = utils_1.agentUtils.structuredOutputSchema(structuredOutput)) === null || _a === void 0 ? void 0 : _a.shape) !== null && _b !== void 0 ? _b : {})
|
|
113
|
-
.nullable()
|
|
114
|
-
.describe('The structured output of your task. This is optional and can be omitted if you have not achieved the goal.'),
|
|
115
|
-
}
|
|
116
|
-
: {
|
|
117
|
-
output: zod_1.default
|
|
118
|
-
.string()
|
|
119
|
-
.describe('Your complete response to the user. Always populate this with the full answer, result, or explanation — even if you already wrote text above. This is the final message that will be shown to the user.'),
|
|
120
|
-
}))),
|
|
121
|
-
execute: (params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
const { success, output } = params;
|
|
123
|
-
outputBuilder.setStatus(success ? shared_1.AgentTaskStatus.COMPLETED : shared_1.AgentTaskStatus.FAILED);
|
|
124
|
-
if (!(0, shared_1.isNil)(structuredOutput) && !(0, shared_1.isNil)(output) && !(0, shared_1.isString)(output)) {
|
|
125
|
-
outputBuilder.setStructuredOutput(output);
|
|
126
|
-
}
|
|
127
|
-
else if ((0, shared_1.isNil)(structuredOutput) && !(0, shared_1.isNil)(output) && !outputBuilder.hasTextContent()) {
|
|
128
|
-
outputBuilder.addMarkdown(output);
|
|
129
|
-
}
|
|
130
|
-
return {};
|
|
131
|
-
}),
|
|
132
|
-
}) })
|
|
293
|
+
tools: Object.assign(Object.assign({}, combinedTools), completionTool),
|
|
133
294
|
};
|
|
134
295
|
});
|
|
135
296
|
}
|
|
297
|
+
function serializeArrayQuery(key, items) {
|
|
298
|
+
const params = {};
|
|
299
|
+
items.forEach((item, i) => {
|
|
300
|
+
for (const [field, value] of Object.entries(item)) {
|
|
301
|
+
if (value !== undefined)
|
|
302
|
+
params[`${key}[${i}][${field}]`] = value;
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
return params;
|
|
306
|
+
}
|
|
136
307
|
//# sourceMappingURL=tools.js.map
|