@activepieces/piece-ai 0.0.6 → 0.0.8

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activepieces/piece-ai",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -8,9 +8,11 @@
8
8
  "@ai-sdk/anthropic": "2.0.3",
9
9
  "@ai-sdk/azure": "2.0.12",
10
10
  "@ai-sdk/google": "2.0.6",
11
+ "@ai-sdk/mcp": "1.0.1 ",
11
12
  "@ai-sdk/openai": "2.0.12",
12
13
  "@ai-sdk/openai-compatible": "1.0.29",
13
14
  "@ai-sdk/provider": "2.0.0",
15
+ "@modelcontextprotocol/sdk": "1.25.2",
14
16
  "@openrouter/ai-sdk-provider": "1.4.1",
15
17
  "@sinclair/typebox": "0.34.11",
16
18
  "ai": "5.0.104",
@@ -18,14 +20,15 @@
18
20
  "axios": "1.13.1",
19
21
  "axios-retry": "4.4.1",
20
22
  "deepmerge-ts": "7.1.0",
23
+ "form-data": "4.0.4",
21
24
  "mime-types": "2.1.35",
22
25
  "nanoid": "3.3.8",
23
26
  "semver": "7.6.0",
24
27
  "socket.io-client": "4.8.1",
25
28
  "tslib": "^2.3.0",
26
29
  "zod": "4.1.13",
27
- "@activepieces/pieces-common": "0.10.2",
28
- "@activepieces/pieces-framework": "0.22.3",
30
+ "@activepieces/pieces-common": "0.11.1",
31
+ "@activepieces/pieces-framework": "0.23.0",
29
32
  "@activepieces/shared": "0.30.4"
30
33
  },
31
34
  "resolutions": {
@@ -0,0 +1,43 @@
1
+ {
2
+ "Ask AI": "Ask AI",
3
+ "Summarize Text": "Summarize Text",
4
+ "Generate Image": "Generate Image",
5
+ "Classify Text": "Classify Text",
6
+ "Extract Structured Data": "Extract Structured Data",
7
+ "Run Agent": "Run Agent",
8
+ "A flexible AI step. ask it to analyze data, explain, draft, or decide based on your flow's data.": "A flexible AI step. ask it to analyze data, explain, draft, or decide based on your flow's data.",
9
+ "Summarize long emails, articles, or documents into what matters.": "Summarize long emails, articles, or documents into what matters.",
10
+ "Create unique, high-quality images from simple text descriptions using AI.": "Create unique, high-quality images from simple text descriptions using AI.",
11
+ "Categorize any text input using custom labels, so your flow knows what to do next.": "Categorize any text input using custom labels, so your flow knows what to do next.",
12
+ "Accurately Pull names, amounts, and other structured data from emails, invoices, and scanned documents.": "Accurately Pull names, amounts, and other structured data from emails, invoices, and scanned documents.",
13
+ "Handles complex, multi-step tasks by reasoning through problems, using tools accurately, and iterating until the job is done.": "Handles complex, multi-step tasks by reasoning through problems, using tools accurately, and iterating until the job is done.",
14
+ "Provider": "Provider",
15
+ "Model": "Model",
16
+ "Prompt": "Prompt",
17
+ "Conversation Key": "Conversation Key",
18
+ "Creativity": "Creativity",
19
+ "Max Tokens": "Max Tokens",
20
+ "Web Search": "Web Search",
21
+ "Web Search Options": "Web Search Options",
22
+ "Text": "Text",
23
+ "Advanced Options": "Advanced Options",
24
+ "Text to Classify": "Text to Classify",
25
+ "Categories": "Categories",
26
+ "Files": "Files",
27
+ "Guide Prompt": "Guide Prompt",
28
+ "Data Schema Type": "Data Schema Type",
29
+ "Data Definition": "Data Definition",
30
+ "Agent Tools": "Agent Tools",
31
+ "Structured Output": "Structured Output",
32
+ "Max steps": "Max steps",
33
+ "Controls the creativity of the AI response. A higher value will make the AI more creative and a lower value will make it more deterministic.": "Controls the creativity of the AI response. A higher value will make the AI more creative and a lower value will make it more deterministic.",
34
+ "Whether to use web search to find information for the AI to use in its response.": "Whether to use web search to find information for the AI to use in its response.",
35
+ "Categories to classify text into.": "Categories to classify text into.",
36
+ "Text to extract structured data from.": "Text to extract structured data from.",
37
+ "Prompt to guide the AI.": "Prompt to guide the AI.",
38
+ "For complex schema, you can use advanced mode.": "For complex schema, you can use advanced mode.",
39
+ "Describe what you want the assistant to do.": "Describe what you want the assistant to do.",
40
+ "The numbder of interations the agent can do": "The numbder of interations the agent can do",
41
+ "Simple": "Simple",
42
+ "Advanced": "Advanced"
43
+ }
package/src/index.js CHANGED
@@ -19,7 +19,7 @@ exports.ai = (0, pieces_framework_1.createPiece)({
19
19
  shared_1.PieceCategory.UNIVERSAL_AI,
20
20
  ],
21
21
  logoUrl: "https://cdn.activepieces.com/pieces/text-ai.svg",
22
- authors: ['anasbarg', 'amrdb'],
22
+ authors: ['anasbarg', 'amrdb', 'Louai-Zokerburg'],
23
23
  actions: [ask_ai_1.askAI, summarize_text_1.summarizeText, generate_image_1.generateImageAction, classify_text_1.classifyText, extract_structured_data_1.extractStructuredData, run_agent_1.runAgent],
24
24
  triggers: [],
25
25
  });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/ai/src/index.ts"],"names":[],"mappings":";;;;AACA,qEAAwE;AACxE,iDAAqD;AACrD,sDAAkD;AAClD,sEAAkE;AAClE,uEAAyE;AACzE,uEAAmE;AACnE,2FAAsF;AACtF,8DAA0D;AAG7C,QAAA,EAAE,GAAG,IAAA,8BAAW,EAAC;IAC5B,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IACtB,uBAAuB,EAAE,QAAQ;IACjC,UAAU,EAAE;QACV,sBAAa,CAAC,uBAAuB;QACrC,sBAAa,CAAC,YAAY;KAC3B;IACD,OAAO,EAAE,iDAAiD;IAC1D,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,CAAC,cAAK,EAAE,8BAAa,EAAE,oCAAmB,EAAE,4BAAY,EAAE,+CAAqB,EAAE,oBAAQ,CAAC;IACnG,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC;AAEH,6DAAmC;AACnC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/ai/src/index.ts"],"names":[],"mappings":";;;;AACA,qEAAwE;AACxE,iDAAqD;AACrD,sDAAkD;AAClD,sEAAkE;AAClE,uEAAyE;AACzE,uEAAmE;AACnE,2FAAsF;AACtF,8DAA0D;AAG7C,QAAA,EAAE,GAAG,IAAA,8BAAW,EAAC;IAC5B,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IACtB,uBAAuB,EAAE,QAAQ;IACjC,UAAU,EAAE;QACV,sBAAa,CAAC,uBAAuB;QACrC,sBAAa,CAAC,YAAY;KAC3B;IACD,OAAO,EAAE,iDAAiD;IAC1D,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC;IACjD,OAAO,EAAE,CAAC,cAAK,EAAE,8BAAa,EAAE,oCAAmB,EAAE,4BAAY,EAAE,+CAAqB,EAAE,oBAAQ,CAAC;IACnG,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC;AAEH,6DAAmC;AACnC,8DAAoC"}
@@ -76,6 +76,10 @@ function getToolMetadata({ toolName, tools, baseTool, }) {
76
76
  (0, shared_1.assertNotNullOrUndefined)(tool.externalFlowId, 'Flow ID is required');
77
77
  return Object.assign(Object.assign({}, baseTool), { toolCallType: shared_1.ToolCallType.FLOW, displayName: tool.toolName, externalFlowId: tool.externalFlowId });
78
78
  }
79
+ case shared_1.AgentToolType.MCP: {
80
+ (0, shared_1.assertNotNullOrUndefined)(tool.serverUrl, 'Mcp server URL is required');
81
+ return Object.assign(Object.assign({}, baseTool), { toolCallType: shared_1.ToolCallType.MCP, displayName: tool.toolName, serverUrl: tool.serverUrl });
82
+ }
79
83
  }
80
84
  }
81
85
  //# sourceMappingURL=agent-output-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-output-builder.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/agent-output-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-output-builder.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/agent-output-builder.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,42 @@ const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const shared_1 = require("@activepieces/shared");
7
7
  const ai_1 = require("ai");
8
- const zod_1 = require("zod");
9
8
  const agent_output_builder_1 = require("./agent-output-builder");
10
9
  const ai_sdk_1 = require("../../common/ai-sdk");
11
10
  const props_1 = require("../../common/props");
12
11
  const util_1 = require("util");
13
12
  const utils_1 = require("./utils");
13
+ const tools_1 = require("./tools");
14
+ const agentToolArrayItems = {
15
+ type: pieces_framework_1.Property.ShortText({
16
+ displayName: 'Tool Type',
17
+ required: true,
18
+ }),
19
+ toolName: pieces_framework_1.Property.ShortText({
20
+ displayName: 'Tool Name',
21
+ required: true,
22
+ }),
23
+ pieceMetadata: pieces_framework_1.Property.Json({
24
+ displayName: 'Piece Metadata',
25
+ required: false,
26
+ }),
27
+ externalFlowId: pieces_framework_1.Property.ShortText({
28
+ displayName: 'Flow External ID',
29
+ required: false,
30
+ }),
31
+ serverUrl: pieces_framework_1.Property.ShortText({
32
+ displayName: 'MCP Server URL',
33
+ required: false,
34
+ }),
35
+ protocol: pieces_framework_1.Property.ShortText({
36
+ displayName: 'Protocol',
37
+ required: false,
38
+ }),
39
+ auth: pieces_framework_1.Property.Json({
40
+ displayName: 'Auth Configuration',
41
+ required: false,
42
+ }),
43
+ };
14
44
  exports.runAgent = (0, pieces_framework_1.createAction)({
15
45
  name: 'run_agent',
16
46
  displayName: 'Run Agent',
@@ -27,24 +57,7 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
27
57
  [shared_1.AgentPieceProps.AGENT_TOOLS]: pieces_framework_1.Property.Array({
28
58
  displayName: 'Agent Tools',
29
59
  required: false,
30
- properties: {
31
- type: pieces_framework_1.Property.ShortText({
32
- displayName: 'Tool Type',
33
- required: true,
34
- }),
35
- toolName: pieces_framework_1.Property.ShortText({
36
- displayName: 'Tool Name',
37
- required: true,
38
- }),
39
- pieceMetadata: pieces_framework_1.Property.Json({
40
- displayName: 'Piece Metadata',
41
- required: false,
42
- }),
43
- flowExternalId: pieces_framework_1.Property.ShortText({
44
- displayName: 'Flow External Id',
45
- required: false,
46
- }),
47
- },
60
+ properties: agentToolArrayItems,
48
61
  }),
49
62
  [shared_1.AgentPieceProps.STRUCTURED_OUTPUT]: pieces_framework_1.Property.Array({
50
63
  displayName: 'Structured Output',
@@ -75,7 +88,6 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
75
88
  run(context) {
76
89
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
90
  var _a, e_1, _b, _c;
78
- var _d, _e;
79
91
  const { prompt, maxSteps, model: modelId, provider } = context.propsValue;
80
92
  const model = yield (0, ai_sdk_1.createAIModel)({
81
93
  modelId,
@@ -89,70 +101,29 @@ exports.runAgent = (0, pieces_framework_1.createAction)({
89
101
  const outputBuilder = (0, agent_output_builder_1.agentOutputBuilder)(prompt);
90
102
  const hasStructuredOutput = !(0, shared_1.isNil)(context.propsValue.structuredOutput) &&
91
103
  context.propsValue.structuredOutput.length > 0;
92
- const agentToolsMetadata = context.propsValue.agentTools;
93
- const agentTools = yield context.agent.tools({
94
- tools: agentToolsMetadata,
95
- model: model,
96
- });
97
- const flowsTools = yield utils_1.agentUtils.constructFlowsTools({
98
- agentToolsMetadata,
99
- fetchFlows: context.flows.list,
100
- publicUrl: context.server.publicUrl,
101
- token: context.server.token
104
+ const structuredOutput = hasStructuredOutput ? context.propsValue.structuredOutput : undefined;
105
+ const agentTools = context.propsValue.agentTools;
106
+ const { mcpClients, tools } = yield (0, tools_1.constructAgentTools)({
107
+ context,
108
+ agentTools,
109
+ model,
110
+ outputBuilder,
111
+ structuredOutput
102
112
  });
103
113
  const stream = (0, ai_1.streamText)({
104
114
  model: model,
105
- prompt: `
106
- ${prompt}
107
-
108
- <important_note>
109
- As your FINAL ACTION, you must call the \`${shared_1.TASK_COMPLETION_TOOL_NAME}\` tool to indicate if the task is complete or not.
110
- Call this tool only once you have done everything you can to achieve the user's goal, or if you are unable to continue.
111
- If you do not make this final call, your work will be considered unsuccessful.
112
- </important_note>
113
- `,
114
- system: `
115
- You are a helpful, proactive AI assistant.
116
- Today's date is ${new Date().toISOString().split('T')[0]}.
117
-
118
- Help the user finish their goal quickly and accurately.
119
- `.trim(),
115
+ system: utils_1.agentUtils.getPrompts(prompt).system,
116
+ prompt: utils_1.agentUtils.getPrompts(prompt).prompt,
117
+ tools,
120
118
  stopWhen: [(0, ai_1.stepCountIs)(maxSteps), (0, ai_1.hasToolCall)(shared_1.TASK_COMPLETION_TOOL_NAME)],
121
- tools: Object.assign(Object.assign({}, Object.assign(Object.assign({}, agentTools), flowsTools)), { [shared_1.TASK_COMPLETION_TOOL_NAME]: (0, ai_1.dynamicTool)({
122
- 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.",
123
- inputSchema: zod_1.z.object(Object.assign({ success: zod_1.z
124
- .boolean()
125
- .describe('Set to true if the assigned goal was achieved, or false if the task was abandoned or failed.') }, (hasStructuredOutput
126
- ? {
127
- output: zod_1.z
128
- .object((_e = (_d = utils_1.agentUtils.structuredOutputSchema(context.propsValue
129
- .structuredOutput)) === null || _d === void 0 ? void 0 : _d.shape) !== null && _e !== void 0 ? _e : {})
130
- .nullable()
131
- .describe('The structured output of your task. This is optional and can be omitted if you have not achieved the goal.'),
132
- }
133
- : {
134
- output: zod_1.z
135
- .string()
136
- .nullable()
137
- .describe('The message to the user with the result of your task. This is optional and can be omitted if you have not achieved the goal.'),
138
- }))),
139
- execute: (params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
140
- const { success, output } = params;
141
- outputBuilder.setStatus(success ? shared_1.AgentTaskStatus.COMPLETED : shared_1.AgentTaskStatus.FAILED);
142
- if (hasStructuredOutput && !(0, shared_1.isNil)(output)) {
143
- outputBuilder.setStructuredOutput(output);
144
- }
145
- if (!hasStructuredOutput && !(0, shared_1.isNil)(output)) {
146
- outputBuilder.addMarkdown(output);
147
- }
148
- return {};
149
- }),
150
- }) }),
119
+ onFinish: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
120
+ yield Promise.all(mcpClients.map((client) => tslib_1.__awaiter(this, void 0, void 0, function* () { return client.close(); })));
121
+ }),
151
122
  });
152
123
  try {
153
- for (var _f = true, _g = tslib_1.__asyncValues(stream.fullStream), _h; _h = yield _g.next(), _a = _h.done, !_a; _f = true) {
154
- _c = _h.value;
155
- _f = false;
124
+ for (var _d = true, _e = tslib_1.__asyncValues(stream.fullStream), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
125
+ _c = _f.value;
126
+ _d = false;
156
127
  const chuck = _c;
157
128
  switch (chuck.type) {
158
129
  case 'text-delta': {
@@ -167,7 +138,7 @@ Help the user finish their goal quickly and accurately.
167
138
  toolName: chuck.toolName,
168
139
  toolCallId: chuck.toolCallId,
169
140
  input: chuck.input,
170
- agentTools: agentToolsMetadata,
141
+ agentTools: agentTools,
171
142
  });
172
143
  break;
173
144
  }
@@ -194,7 +165,7 @@ Help the user finish their goal quickly and accurately.
194
165
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
195
166
  finally {
196
167
  try {
197
- if (!_f && !_a && (_b = _g.return)) yield _b.call(_g);
168
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
198
169
  }
199
170
  finally { if (e_1) throw e_1.error; }
200
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/run-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/run-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { LanguageModel, Tool } from "ai";
2
+ import { agentOutputBuilder } from "./agent-output-builder";
3
+ import { AgentOutputField, AgentTool } from "@activepieces/shared";
4
+ import { ActionContext } from "@activepieces/pieces-framework";
5
+ import { MCPClient } from '@ai-sdk/mcp';
6
+ export declare function constructAgentTools(params: ConstructAgentToolParams): Promise<{
7
+ tools: Record<string, Tool>;
8
+ mcpClients: MCPClient[];
9
+ }>;
10
+ type ConstructAgentToolParams = {
11
+ outputBuilder: ReturnType<typeof agentOutputBuilder>;
12
+ structuredOutput?: AgentOutputField[];
13
+ agentTools: AgentTool[];
14
+ context: ActionContext;
15
+ model: LanguageModel;
16
+ };
17
+ export {};
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constructAgentTools = constructAgentTools;
4
+ const tslib_1 = require("tslib");
5
+ const ai_1 = require("ai");
6
+ const zod_1 = tslib_1.__importDefault(require("zod"));
7
+ const utils_1 = require("./utils");
8
+ const shared_1 = require("@activepieces/shared");
9
+ const mcp_1 = require("@ai-sdk/mcp");
10
+ const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
11
+ function flattenMcpServers(servers) {
12
+ const mcpClients = [];
13
+ const tools = {};
14
+ for (const server of servers) {
15
+ mcpClients.push(server.mcpClient);
16
+ for (const [toolName, fn] of Object.entries(server.tools)) {
17
+ tools[`${toolName}_${server.mcpName}`] = fn;
18
+ }
19
+ }
20
+ return { mcpClients, tools };
21
+ }
22
+ function buildAuthHeaders(authConfig) {
23
+ let headers = {};
24
+ switch (authConfig.type) {
25
+ case shared_1.McpAuthType.NONE:
26
+ break;
27
+ case shared_1.McpAuthType.HEADERS: {
28
+ headers = authConfig.headers;
29
+ break;
30
+ }
31
+ case shared_1.McpAuthType.ACCESS_TOKEN: {
32
+ headers['Authorization'] = `Bearer ${authConfig.accessToken}`;
33
+ break;
34
+ }
35
+ case shared_1.McpAuthType.API_KEY: {
36
+ const headerName = authConfig.apiKeyHeader;
37
+ headers[headerName] = authConfig.apiKey;
38
+ break;
39
+ }
40
+ }
41
+ return headers;
42
+ }
43
+ function createTransportConfig(protocol, serverUrl, headers = {}) {
44
+ const url = new URL(serverUrl);
45
+ switch (protocol) {
46
+ case shared_1.McpProtocol.SIMPLE_HTTP: {
47
+ return {
48
+ type: 'http',
49
+ url: serverUrl,
50
+ headers: headers,
51
+ };
52
+ }
53
+ case shared_1.McpProtocol.STREAMABLE_HTTP: {
54
+ const sessionId = crypto.randomUUID();
55
+ return new streamableHttp_js_1.StreamableHTTPClientTransport(url, {
56
+ sessionId: sessionId,
57
+ requestInit: {
58
+ headers
59
+ }
60
+ });
61
+ }
62
+ case shared_1.McpProtocol.SSE: {
63
+ return {
64
+ type: 'sse',
65
+ url: serverUrl,
66
+ headers: headers,
67
+ };
68
+ }
69
+ default:
70
+ throw new Error(`Unsupported MCP protocol type: ${protocol}`);
71
+ }
72
+ }
73
+ function constructMcpServersTools(tools) {
74
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
75
+ const collected = [];
76
+ for (const tool of tools) {
77
+ try {
78
+ const mcpClient = yield (0, mcp_1.experimental_createMCPClient)({
79
+ transport: createTransportConfig(tool.protocol, tool.serverUrl, buildAuthHeaders(tool.auth)),
80
+ });
81
+ const mcpTools = yield mcpClient.tools();
82
+ collected.push({
83
+ mcpName: tool.toolName,
84
+ mcpClient,
85
+ tools: mcpTools,
86
+ });
87
+ }
88
+ catch (error) {
89
+ console.error(`Failed to connect to MCP server ${tool.serverUrl}:`, error);
90
+ }
91
+ }
92
+ return collected;
93
+ });
94
+ }
95
+ function constructAgentTools(params) {
96
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
+ var _a, _b;
98
+ const { outputBuilder, structuredOutput, agentTools, context, model } = params;
99
+ const agentPieceTools = yield context.agent.tools({
100
+ tools: agentTools.filter(tool => tool.type === shared_1.AgentToolType.PIECE),
101
+ model: model,
102
+ });
103
+ const flowsTools = yield utils_1.agentUtils.constructFlowsTools({
104
+ tools: agentTools.filter(tool => tool.type === shared_1.AgentToolType.FLOW),
105
+ fetchFlows: context.flows.list,
106
+ publicUrl: context.server.publicUrl,
107
+ token: context.server.token
108
+ });
109
+ const mcpServerTools = yield constructMcpServersTools(agentTools.filter(tool => tool.type === shared_1.AgentToolType.MCP));
110
+ const { mcpClients, tools: mcpTools } = flattenMcpServers(mcpServerTools);
111
+ const combinedTools = Object.assign(Object.assign(Object.assign({}, agentPieceTools), flowsTools), mcpTools);
112
+ return {
113
+ mcpClients,
114
+ tools: Object.assign(Object.assign({}, combinedTools), { [shared_1.TASK_COMPLETION_TOOL_NAME]: (0, ai_1.dynamicTool)({
115
+ 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.",
116
+ inputSchema: zod_1.default.object(Object.assign({ success: zod_1.default
117
+ .boolean()
118
+ .describe('Set to true if the assigned goal was achieved, or false if the task was abandoned or failed.') }, (!(0, shared_1.isNil)(structuredOutput)
119
+ ? {
120
+ output: zod_1.default
121
+ .object((_b = (_a = utils_1.agentUtils.structuredOutputSchema(structuredOutput)) === null || _a === void 0 ? void 0 : _a.shape) !== null && _b !== void 0 ? _b : {})
122
+ .nullable()
123
+ .describe('The structured output of your task. This is optional and can be omitted if you have not achieved the goal.'),
124
+ }
125
+ : {
126
+ output: zod_1.default
127
+ .string()
128
+ .nullable()
129
+ .describe('The message to the user with the result of your task. This is optional and can be omitted if you have not achieved the goal.'),
130
+ }))),
131
+ execute: (params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
132
+ const { success, output } = params;
133
+ outputBuilder.setStatus(success ? shared_1.AgentTaskStatus.COMPLETED : shared_1.AgentTaskStatus.FAILED);
134
+ if (!(0, shared_1.isNil)(structuredOutput) && !(0, shared_1.isNil)(output)) {
135
+ outputBuilder.setStructuredOutput(output);
136
+ }
137
+ if (!(0, shared_1.isNil)(structuredOutput) && !(0, shared_1.isNil)(output)) {
138
+ outputBuilder.addMarkdown(output);
139
+ }
140
+ return {};
141
+ }),
142
+ }) })
143
+ };
144
+ });
145
+ }
146
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/tools.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,17 @@
1
- import { AgentOutputField, AgentTool, SeekPage, PopulatedFlow, ExecuteToolResponse } from '@activepieces/shared';
2
- import { z, ZodObject } from 'zod';
1
+ import { AgentOutputField, SeekPage, PopulatedFlow, AgentFlowTool } from '@activepieces/shared';
2
+ import { ZodObject } from 'zod';
3
+ import { Tool } from 'ai';
3
4
  export declare const agentUtils: {
4
5
  isTaskCompletionToolCall: (toolName: string) => toolName is "updateTaskStatus";
5
6
  structuredOutputSchema(outputFields: AgentOutputField[]): ZodObject | undefined;
6
- constructFlowsTools(params: ConstructFlowsToolsParams): Promise<{
7
- [x: string]: {
8
- name: string;
9
- description: string;
10
- inputSchema: z.ZodObject<{
11
- [x: string]: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
12
- }, z.core.$strip>;
13
- execute: (_inputs: unknown) => Promise<ExecuteToolResponse>;
14
- };
15
- }>;
7
+ getPrompts(userPrompt: string): {
8
+ prompt: string;
9
+ system: string;
10
+ };
11
+ constructFlowsTools(params: ConstructFlowsToolsParams): Promise<Record<string, Tool>>;
16
12
  };
17
13
  type ConstructFlowsToolsParams = {
18
- agentToolsMetadata: AgentTool[];
14
+ tools: AgentFlowTool[];
19
15
  fetchFlows: (params: {
20
16
  externalIds: string[];
21
17
  }) => Promise<SeekPage<PopulatedFlow>>;
@@ -26,9 +26,56 @@ exports.agentUtils = {
26
26
  }
27
27
  return Object.keys(shape).length > 0 ? zod_1.z.object(shape) : undefined;
28
28
  },
29
+ getPrompts(userPrompt) {
30
+ return {
31
+ prompt: `
32
+ ${userPrompt}
33
+ <important_note>
34
+ As your FINAL ACTION, you must call the \`${shared_1.TASK_COMPLETION_TOOL_NAME}\` tool to indicate if the task is complete or not.
35
+ Call this tool only once you have done everything you can to achieve the user's goal, or if you are unable to continue (e.g., after handling errors appropriately and exhausting alternatives).
36
+ If you do not make this final call, your work will be considered unsuccessful.
37
+ </important_note>
38
+ `,
39
+ system: `
40
+ You are a helpful, proactive AI assistant designed to assist users efficiently and accurately.
41
+ Today's date is ${new Date().toISOString().split('T')[0]}.
42
+
43
+ **Core Objective**:
44
+ - Help the user achieve their goal as quickly, accurately, and thoroughly as possible.
45
+ - Always prioritize user satisfaction by providing clear, concise, and relevant responses.
46
+
47
+ **Reasoning and Thinking Guidelines**:
48
+ - Think step-by-step before taking any action. Use chain-of-thought reasoning: First, understand the user's query fully. Then, break it down into sub-tasks. Evaluate what information or actions are needed. Finally, decide on the next steps.
49
+ - Be analytical: Consider potential edge cases, ambiguities in the query, and how to clarify if needed (but prefer acting proactively if possible).
50
+ - Avoid assumptions: Base decisions on available information, tools, and prior responses. If something is unclear, use tools to gather more data rather than guessing.
51
+
52
+ **Tool Execution Guidelines**:
53
+ - Use tools meaningfully: Only call a tool if it directly advances the task. Assess if the tool's output will provide necessary information or perform a required action.
54
+ - Sequential vs. Parallel Calls:
55
+ - Use sequential calls when outputs depend on each other (e.g., search for data first, then use code_execution to analyze it).
56
+ - Use parallel calls when tasks are independent and can be done simultaneously to save time (e.g., multiple independent web searches or X searches).
57
+ - Be careful: Limit parallel calls to 3-5 at most to avoid overwhelming the system or generating redundant data. Always justify in your reasoning why parallel is appropriate.
58
+ - Tool Selection: Choose the most specific and efficient tool for the job. For example, use x_semantic_search for conceptual X post relevance, but x_keyword_search for precise filters.
59
+ - Formatting: Always follow the exact XML-inspired format for function calls, including tags. Do not escape arguments.
60
+
61
+ **Error Handling Guidelines**:
62
+ - Tolerate minor errors: If a tool call fails (e.g., no results from a search, invalid URL in browse_page), analyze the error, then:
63
+ - Retry with adjusted parameters (e.g., refine query, try alternative URL) up to 2-3 times if it seems recoverable.
64
+ - Switch to an alternative tool or approach (e.g., if browse_page fails, try web_search).
65
+ - Use reasoning to infer or approximate if partial data is available.
66
+ - Know when to stop: If errors persist after retries/alternatives (e.g., critical failure like invalid tool arguments or unrecoverable data absence), or if further attempts won't help the goal, conclude the task and call the completion tool.
67
+ - Examples of stopping: Persistent network issues, query inherently unanswerable, or all avenues exhausted.
68
+ - In the completion tool, explain any unresolved issues clearly.
69
+
70
+ **Final Response and Completion**:
71
+ - Once the goal is achieved or unachievable, summarize findings clearly in a final response if needed, then call the \`${shared_1.TASK_COMPLETION_TOOL_NAME}\` tool as your last action.
72
+ - Do not call the completion tool prematurely—ensure all reasonable steps are taken.
73
+ `.trim(),
74
+ };
75
+ },
29
76
  constructFlowsTools(params) {
30
77
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
31
- const flowTools = params.agentToolsMetadata.filter(tool => tool.type === shared_1.AgentToolType.FLOW);
78
+ const flowTools = params.tools;
32
79
  const flowExternalIds = flowTools.map((tool) => tool.externalFlowId);
33
80
  const flows = yield params.fetchFlows({ externalIds: flowExternalIds });
34
81
  const flowToolsWithPopulatedFlows = flowTools.map((tool) => {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/utils.ts"],"names":[],"mappings":";;;;AAAA,iDAc8B;AAC9B,6BAAmC;AACnC,+DAAyF;AAE5E,QAAA,UAAU,GAAG;IACtB,wBAAwB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,KAAK,kCAAyB;IACtF,sBAAsB,CAAC,YAAgC;QACnD,MAAM,KAAK,GAA8B,EAAE,CAAC;QAE5C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,6BAAoB,CAAC,IAAI;oBAC1B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACV,KAAK,6BAAoB,CAAC,MAAM;oBAC5B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACV,KAAK,6BAAoB,CAAC,OAAO;oBAC7B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAC,CAAC,OAAO,EAAE,CAAC;oBACvC,MAAM;gBACV;oBACI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAC,CAAC,GAAG,EAAE,CAAC;YACvC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IACK,mBAAmB,CAAC,MAAiC;;YACvD,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAa,CAAC,IAAI,CAAC,CAAA;YAC5F,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACpE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;YAEvE,MAAM,2BAA2B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,CAAC,iCAAM,IAAI,KAAE,IAAI,EAAE,aAAa,IAAG,CAAC,CAAC,SAAS,CAAA;YAC/E,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC,CAAC;YAEhC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;;gBACpF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAsB,CAAA;gBACxE,MAAM,eAAe,GAAG,MAAA,eAAe,CAAC,KAAK,0CAAE,eAAe,CAAA;gBAC9D,MAAM,eAAe,GAAG,MAAA,eAAe,CAAC,KAAK,0CAAE,eAAe,CAAA;gBAE9D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAClC,MAAA,eAAe,CAAC,KAAK,0CAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB,mBAAmB,CAAC,IAAI,CAAC;iBAC5B,CAAC,CACL,CAAA;gBACD,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,WAAW,EAAE,eAAe;oBAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,WAAW,CAAC;oBAClC,OAAO,EAAE,CAAO,OAAgB,EAAE,EAAE;wBAChC,OAAO,eAAe,CAAC;4BACnB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;4BACpB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,KAAK,EAAE,CAAC,eAAe;yBAC1B,CAAC,CAAA;oBACN,CAAC,CAAA;iBACJ,CAAA;YACL,CAAC,CAAA,CAAC,CAAC,CAAA;YAEH,yBACO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACzE;QACL,CAAC;KAAA;CAEJ,CAAA;AACD,SAAS,WAAW,CAAC,MAAc;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;AACzC,CAAC;AAED,SAAe,eAAe,CAAC,MAA6B;;QACxD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;YAC1C,MAAM,EAAE,0BAAU,CAAC,IAAI;YACvB,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,eAAe,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE;YACnE,cAAc,EAAE;gBACZ,IAAI,EAAE,kCAAkB,CAAC,YAAY;gBACrC,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB;SACJ,CAAC,CAAC;QAEH,OAAO;YACH,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,4BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,4BAAmB,CAAC,MAAM;YAC/F,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACpE,CAAA;IACL,CAAC;CAAA;AAED,SAAS,WAAW,CAAC,UAAkB;IACnC,OAAO,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAqB;IAC9C,IAAI,MAAoB,CAAA;IAExB,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,wBAAe,CAAC,IAAI,CAAC;QAC1B,KAAK,wBAAe,CAAC,IAAI;YACrB,MAAM,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;YACnB,MAAK;QACT,KAAK,wBAAe,CAAC,MAAM;YACvB,MAAM,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;YACnB,MAAK;QACT,KAAK,wBAAe,CAAC,OAAO;YACxB,MAAM,GAAG,OAAC,CAAC,OAAO,EAAE,CAAA;YACpB,MAAK;QACT,KAAK,wBAAe,CAAC,KAAK;YACtB,MAAM,GAAG,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5B,MAAK;QACT,KAAK,wBAAe,CAAC,MAAM;YACvB,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAA;YACzC,MAAK;QACT;YACI,MAAM,GAAG,OAAC,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/ai/src/lib/actions/agents/utils.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { AIProviderName } from '@activepieces/shared';
2
- export declare const aiProps: <T extends "text" | "image">({ modelType, allowedProviders }: AIPropsParams<T>) => {
3
- provider: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
4
- model: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
5
- };
6
- type AIPropsParams<T extends 'text' | 'image'> = {
2
+ type AIModelType = 'text' | 'image';
3
+ type AIPropsParams<T extends AIModelType> = {
7
4
  modelType: T;
8
5
  allowedProviders?: AIProviderName[];
9
6
  };
7
+ export declare const aiProps: <T extends AIModelType>({ modelType, allowedProviders, }: AIPropsParams<T>) => {
8
+ provider: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
9
+ model: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
10
+ };
10
11
  export {};
@@ -5,7 +5,37 @@ const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const pieces_common_1 = require("@activepieces/pieces-common");
7
7
  const shared_1 = require("@activepieces/shared");
8
- const aiProps = ({ modelType, allowedProviders }) => ({
8
+ const RESTRICTED_PROVIDER_MODELS = {
9
+ openai: [
10
+ 'gpt-5.2',
11
+ 'gpt-5.1',
12
+ 'gpt-5-mini',
13
+ ],
14
+ anthropic: [
15
+ 'claude-sonnet-4-5-20250929',
16
+ 'claude-opus-4-5-20251101',
17
+ 'claude-haiku-4-5-20251001',
18
+ ],
19
+ google: [
20
+ 'gemini-3-pro-preview',
21
+ 'gemini-3-flash-preview',
22
+ 'gemini-2.5-flash-preview-09-2025',
23
+ 'gemini-2.5-flash-lite-preview-09-2025',
24
+ ],
25
+ };
26
+ function getAllowedModelsForProvider(provider, allModels, modelType) {
27
+ const restrictedModels = RESTRICTED_PROVIDER_MODELS[provider];
28
+ return allModels
29
+ .filter(model => model.type === modelType)
30
+ .filter(model => {
31
+ if ((0, shared_1.isNil)(restrictedModels)) {
32
+ return true;
33
+ }
34
+ return restrictedModels.includes(model.id);
35
+ })
36
+ .sort((a, b) => a.name.localeCompare(b.name));
37
+ }
38
+ const aiProps = ({ modelType, allowedProviders, }) => ({
9
39
  provider: pieces_framework_1.Property.Dropdown({
10
40
  auth: pieces_framework_1.PieceAuth.None(),
11
41
  displayName: 'Provider',
@@ -22,10 +52,14 @@ const aiProps = ({ modelType, allowedProviders }) => ({
22
52
  return {
23
53
  placeholder: 'Select AI Provider',
24
54
  disabled: false,
25
- options: supportedProviders.map(supportedProvider => ({
26
- label: supportedProvider.name,
27
- value: supportedProvider.provider,
28
- })).filter(provider => allowedProviders ? allowedProviders.includes(provider.value) : true),
55
+ options: supportedProviders
56
+ .map(provider => ({
57
+ label: provider.name,
58
+ value: provider.provider,
59
+ }))
60
+ .filter(option => allowedProviders
61
+ ? allowedProviders.includes(option.value)
62
+ : true),
29
63
  };
30
64
  }),
31
65
  }),
@@ -33,7 +67,6 @@ const aiProps = ({ modelType, allowedProviders }) => ({
33
67
  auth: pieces_framework_1.PieceAuth.None(),
34
68
  displayName: 'Model',
35
69
  required: true,
36
- defaultValue: 'gpt-4o',
37
70
  refreshers: ['provider'],
38
71
  options: (propsValue, ctx) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
39
72
  const provider = propsValue['provider'];
@@ -51,14 +84,7 @@ const aiProps = ({ modelType, allowedProviders }) => ({
51
84
  Authorization: `Bearer ${ctx.server.token}`,
52
85
  },
53
86
  });
54
- const models = allModels
55
- .filter(model => model.type === modelType)
56
- .filter(model => {
57
- if (provider !== shared_1.AIProviderName.ACTIVEPIECES) {
58
- return true;
59
- }
60
- return Object.values([shared_1.AIProviderName.OPENAI, shared_1.AIProviderName.ANTHROPIC, shared_1.AIProviderName.GOOGLE]).some(allowedProvider => model.id.toLowerCase().startsWith(allowedProvider.toLowerCase() + '/'));
61
- }).sort((a, b) => a.name.localeCompare(b.name));
87
+ const models = getAllowedModelsForProvider(provider, allModels, modelType);
62
88
  return {
63
89
  placeholder: 'Select AI Model',
64
90
  disabled: false,
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/ai/src/lib/common/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/ai/src/lib/common/props.ts"],"names":[],"mappings":"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"}