@apify/actors-mcp-server 0.9.20-beta.4 → 0.9.20-beta.5
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/tools/core/call_actor_common.d.ts +45 -0
- package/dist/tools/core/call_actor_common.d.ts.map +1 -1
- package/dist/tools/core/call_actor_common.js +148 -13
- package/dist/tools/core/call_actor_common.js.map +1 -1
- package/dist/tools/default/call_actor.d.ts.map +1 -1
- package/dist/tools/default/call_actor.js +19 -50
- package/dist/tools/default/call_actor.js.map +1 -1
- package/dist/tools/openai/call_actor.d.ts.map +1 -1
- package/dist/tools/openai/call_actor.js +18 -62
- package/dist/tools/openai/call_actor.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { HelperTools } from '../../const.js';
|
|
2
3
|
import type { InternalToolArgs, ToolInputSchema } from '../../types.js';
|
|
4
|
+
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
3
5
|
import { getActorsAsTools } from './actor_tools_factory.js';
|
|
4
6
|
/** Shared MCP server instructions — identical in both modes. */
|
|
5
7
|
export declare const CALL_ACTOR_MCP_SERVER_SECTION = "For MCP server Actors:\n- Use fetch-actor-details with output={ mcpTools: true } to list available tools\n- Call using format: \"actorName:toolName\" (e.g., \"apify/actors-mcp-server:fetch-apify-docs\")";
|
|
@@ -7,6 +9,48 @@ export declare const CALL_ACTOR_MCP_SERVER_SECTION = "For MCP server Actors:\n-
|
|
|
7
9
|
export declare const CALL_ACTOR_USAGE_SECTION: string;
|
|
8
10
|
/** Shared examples section — identical in both modes. */
|
|
9
11
|
export declare const CALL_ACTOR_EXAMPLES_SECTION = "EXAMPLES:\n- user_input: Get instagram posts using apify/instagram-scraper";
|
|
12
|
+
type CallActorDescriptionParams = {
|
|
13
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS | HelperTools.ACTOR_GET_DETAILS_INTERNAL;
|
|
14
|
+
storeSearchTool: HelperTools.STORE_SEARCH | HelperTools.STORE_SEARCH_INTERNAL;
|
|
15
|
+
useInternalSearchWarning: boolean;
|
|
16
|
+
alwaysAsync: boolean;
|
|
17
|
+
};
|
|
18
|
+
type StartedActorRun = {
|
|
19
|
+
id: string;
|
|
20
|
+
status: string;
|
|
21
|
+
startedAt?: Date;
|
|
22
|
+
};
|
|
23
|
+
type StartAsyncResponseResult = {
|
|
24
|
+
content: {
|
|
25
|
+
type: 'text';
|
|
26
|
+
text: string;
|
|
27
|
+
}[];
|
|
28
|
+
structuredContent: {
|
|
29
|
+
runId: string;
|
|
30
|
+
actorName: string;
|
|
31
|
+
status: string;
|
|
32
|
+
startedAt: string;
|
|
33
|
+
input: Record<string, unknown>;
|
|
34
|
+
};
|
|
35
|
+
_meta?: Record<string, unknown>;
|
|
36
|
+
};
|
|
37
|
+
type CallActorErrorResponseParams = {
|
|
38
|
+
actorName: string;
|
|
39
|
+
error: unknown;
|
|
40
|
+
actorId?: string;
|
|
41
|
+
isAsync: boolean;
|
|
42
|
+
mcpSessionId?: string;
|
|
43
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS | HelperTools.ACTOR_GET_DETAILS_INTERNAL;
|
|
44
|
+
storeSearchTool: HelperTools.STORE_SEARCH | HelperTools.STORE_SEARCH_INTERNAL;
|
|
45
|
+
};
|
|
46
|
+
export declare function buildCallActorDescription(params: CallActorDescriptionParams): string;
|
|
47
|
+
export declare function buildStartAsyncResponse(params: {
|
|
48
|
+
actorName: string;
|
|
49
|
+
actorRun: StartedActorRun;
|
|
50
|
+
input: Record<string, unknown>;
|
|
51
|
+
widget: boolean;
|
|
52
|
+
}): StartAsyncResponseResult;
|
|
53
|
+
export declare function buildCallActorErrorResponse(params: CallActorErrorResponseParams): ReturnType<typeof buildMCPResponse>;
|
|
10
54
|
/**
|
|
11
55
|
* Zod schema for call-actor arguments — shared between default and openai variants.
|
|
12
56
|
*/
|
|
@@ -83,4 +127,5 @@ export declare function callActorPreExecute(toolArgs: InternalToolArgs): Promise
|
|
|
83
127
|
baseActorName: string;
|
|
84
128
|
mcpToolName: string | undefined;
|
|
85
129
|
}>;
|
|
130
|
+
export {};
|
|
86
131
|
//# sourceMappingURL=call_actor_common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor_common.d.ts","sourceRoot":"","sources":["../../../src/tools/core/call_actor_common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"call_actor_common.d.ts","sourceRoot":"","sources":["../../../src/tools/core/call_actor_common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import dedent from 'dedent';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
import log from '@apify/log';
|
|
3
4
|
import { ApifyClient } from '../../apify_client.js';
|
|
4
5
|
import { CALL_ACTOR_MCP_MISSING_TOOL_NAME_MSG, FAILURE_CATEGORY, HelperTools, TOOL_STATUS, } from '../../const.js';
|
|
5
6
|
import { connectMCPClient } from '../../mcp/client.js';
|
|
7
|
+
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
6
8
|
import { getActorMcpUrlCached } from '../../utils/actor.js';
|
|
7
9
|
import { compileSchema } from '../../utils/ajv.js';
|
|
8
|
-
import { logHttpError } from '../../utils/logging.js';
|
|
10
|
+
import { getHttpStatusCode, logHttpError } from '../../utils/logging.js';
|
|
9
11
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
10
|
-
import { extractAjvErrorDetails } from '../../utils/tool_status.js';
|
|
12
|
+
import { classifyFailureCategory, extractAjvErrorDetails, getToolStatusFromError } from '../../utils/tool_status.js';
|
|
11
13
|
import { extractActorId } from '../../utils/tools.js';
|
|
12
14
|
import { actorNameToToolName } from '../utils.js';
|
|
13
15
|
import { fixActorNameInputAndLog, getActorsAsTools } from './actor_tools_factory.js';
|
|
@@ -30,32 +32,159 @@ USAGE:
|
|
|
30
32
|
/** Shared examples section — identical in both modes. */
|
|
31
33
|
export const CALL_ACTOR_EXAMPLES_SECTION = `EXAMPLES:
|
|
32
34
|
- user_input: Get instagram posts using apify/instagram-scraper`;
|
|
35
|
+
export function buildCallActorDescription(params) {
|
|
36
|
+
const { actorGetDetailsTool, storeSearchTool, useInternalSearchWarning, alwaysAsync } = params;
|
|
37
|
+
const sections = [];
|
|
38
|
+
sections.push('Call any Actor from the Apify Store.');
|
|
39
|
+
const workflowLines = dedent `
|
|
40
|
+
WORKFLOW:
|
|
41
|
+
1. Use ${actorGetDetailsTool} to get the Actor's input schema
|
|
42
|
+
2. Call this tool with the actor name and proper input based on the schema
|
|
43
|
+
|
|
44
|
+
If the actor name is not in "username/name" format, use ${storeSearchTool} to resolve the correct Actor first.
|
|
45
|
+
`;
|
|
46
|
+
if (useInternalSearchWarning) {
|
|
47
|
+
sections.push(`${workflowLines}\nDo NOT use ${HelperTools.STORE_SEARCH} for name resolution when the next step is running an Actor.`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
sections.push(workflowLines);
|
|
51
|
+
}
|
|
52
|
+
sections.push(CALL_ACTOR_MCP_SERVER_SECTION);
|
|
53
|
+
if (alwaysAsync) {
|
|
54
|
+
sections.push(dedent `
|
|
55
|
+
IMPORTANT:
|
|
56
|
+
- This tool always runs asynchronously — it starts the Actor and returns immediately with a runId. A live widget automatically tracks the run progress.
|
|
57
|
+
- After calling this tool, do NOT poll or call any other tool. Wait for the user to respond — the widget will update them when the run completes.
|
|
58
|
+
- Once the run completes, use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results.
|
|
59
|
+
- Use dedicated Actor tools when available for better experience
|
|
60
|
+
`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
sections.push(dedent `
|
|
64
|
+
IMPORTANT:
|
|
65
|
+
- Typically returns a datasetId and preview of output items
|
|
66
|
+
- Use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results
|
|
67
|
+
- Use dedicated Actor tools when available for better experience
|
|
68
|
+
`);
|
|
69
|
+
}
|
|
70
|
+
sections.push(CALL_ACTOR_USAGE_SECTION);
|
|
71
|
+
if (!alwaysAsync) {
|
|
72
|
+
sections.push(dedent `
|
|
73
|
+
- This tool supports async execution via the \`async\` parameter:
|
|
74
|
+
- **When \`async: false\` or not provided** (default): Waits for completion and returns results immediately with dataset preview. Use this whenever the user asks for data or results.
|
|
75
|
+
- **When \`async: true\`**: Starts the run and returns immediately with runId. Only use this when the user explicitly asks to run the Actor in the background or does not need immediate results.
|
|
76
|
+
`);
|
|
77
|
+
}
|
|
78
|
+
sections.push(CALL_ACTOR_EXAMPLES_SECTION);
|
|
79
|
+
return sections.join('\n\n');
|
|
80
|
+
}
|
|
81
|
+
export function buildStartAsyncResponse(params) {
|
|
82
|
+
var _a;
|
|
83
|
+
const { actorName, actorRun, input, widget } = params;
|
|
84
|
+
const structuredContent = {
|
|
85
|
+
runId: actorRun.id,
|
|
86
|
+
actorName,
|
|
87
|
+
status: actorRun.status,
|
|
88
|
+
startedAt: ((_a = actorRun.startedAt) === null || _a === void 0 ? void 0 : _a.toISOString()) || '',
|
|
89
|
+
input,
|
|
90
|
+
};
|
|
91
|
+
if (!widget) {
|
|
92
|
+
return {
|
|
93
|
+
content: [{
|
|
94
|
+
type: 'text',
|
|
95
|
+
text: `Started Actor "${actorName}" (Run ID: ${actorRun.id}).`,
|
|
96
|
+
}],
|
|
97
|
+
structuredContent,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const responseText = dedent `
|
|
101
|
+
Started Actor "${actorName}" (Run ID: ${actorRun.id}).
|
|
102
|
+
|
|
103
|
+
A live progress widget has been rendered that automatically tracks this run and refreshes status every few seconds until completion.
|
|
104
|
+
|
|
105
|
+
The widget will update the context with run status and datasetId when the run completes. Once complete (or if the user requests results), use ${HelperTools.ACTOR_OUTPUT_GET} with the datasetId to retrieve the output.
|
|
106
|
+
|
|
107
|
+
Do NOT proactively poll using ${HelperTools.ACTOR_RUNS_GET}. Wait for the widget state update or user instructions. Ask the user what they would like to do next.
|
|
108
|
+
`;
|
|
109
|
+
const widgetConfig = getWidgetConfig(WIDGET_URIS.ACTOR_RUN);
|
|
110
|
+
return {
|
|
111
|
+
content: [{
|
|
112
|
+
type: 'text',
|
|
113
|
+
text: responseText,
|
|
114
|
+
}],
|
|
115
|
+
structuredContent,
|
|
116
|
+
_meta: {
|
|
117
|
+
...widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.meta,
|
|
118
|
+
'openai/widgetDescription': `Actor run progress for ${actorName}`,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export function buildCallActorErrorResponse(params) {
|
|
123
|
+
const { actorName, error, actorId, isAsync, mcpSessionId, actorGetDetailsTool, storeSearchTool, } = params;
|
|
124
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
125
|
+
const failureCategory = classifyFailureCategory(error);
|
|
126
|
+
logHttpError(error, 'Failed to call Actor', {
|
|
127
|
+
actorName,
|
|
128
|
+
async: isAsync,
|
|
129
|
+
mcpSessionId,
|
|
130
|
+
failureCategory,
|
|
131
|
+
});
|
|
132
|
+
return buildMCPResponse({
|
|
133
|
+
texts: [
|
|
134
|
+
`Failed to call Actor '${actorName}': ${errMsg}.`,
|
|
135
|
+
`Please verify the Actor name, input parameters, and ensure the Actor exists.`,
|
|
136
|
+
`You can search for available Actors using the tool: ${storeSearchTool}, or get Actor details using: ${actorGetDetailsTool}.`,
|
|
137
|
+
],
|
|
138
|
+
isError: true,
|
|
139
|
+
telemetry: {
|
|
140
|
+
toolStatus: getToolStatusFromError(error, false),
|
|
141
|
+
failureCategory,
|
|
142
|
+
failureHttpStatus: getHttpStatusCode(error),
|
|
143
|
+
failureDetail: errMsg.slice(0, 200),
|
|
144
|
+
actorId,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
}
|
|
33
148
|
/**
|
|
34
149
|
* Zod schema for call-actor arguments — shared between default and openai variants.
|
|
35
150
|
*/
|
|
36
151
|
export const callActorArgs = z.object({
|
|
37
152
|
actor: z.string()
|
|
38
|
-
.describe(`
|
|
153
|
+
.describe(dedent `
|
|
154
|
+
The name of the Actor to call. Format: "username/name" (e.g., "apify/rag-web-browser").
|
|
39
155
|
|
|
40
|
-
For MCP server Actors, use format "actorName:toolName" to call a specific tool (e.g., "apify/actors-mcp-server:fetch-apify-docs")
|
|
156
|
+
For MCP server Actors, use format "actorName:toolName" to call a specific tool (e.g., "apify/actors-mcp-server:fetch-apify-docs").
|
|
157
|
+
`),
|
|
41
158
|
input: z.object({}).passthrough()
|
|
42
159
|
.describe('The input JSON to pass to the Actor. Required.'),
|
|
43
160
|
async: z.boolean()
|
|
44
161
|
.optional()
|
|
45
|
-
.describe(`
|
|
162
|
+
.describe(dedent `
|
|
163
|
+
When true, starts the run and returns immediately with runId.
|
|
164
|
+
When false or omitted, behavior depends on the active server mode/tool variant.
|
|
165
|
+
IMPORTANT: use async=true only when the user explicitly asks to run in the background or does not need immediate results.
|
|
166
|
+
`),
|
|
46
167
|
previewOutput: z.boolean()
|
|
47
168
|
.optional()
|
|
48
|
-
.describe(
|
|
169
|
+
.describe(dedent `
|
|
170
|
+
When true (default): includes preview items. When false: metadata only (reduces context).
|
|
171
|
+
Use when fetching fields via get-actor-output.`),
|
|
49
172
|
callOptions: z.object({
|
|
50
173
|
memory: z.number()
|
|
51
174
|
.min(128, 'Memory must be at least 128 MB')
|
|
52
175
|
.max(32768, 'Memory cannot exceed 32 GB (32768 MB)')
|
|
53
176
|
.optional()
|
|
54
|
-
.describe(`
|
|
177
|
+
.describe(dedent `
|
|
178
|
+
Memory allocation for the Actor in MB. Must be a power of 2 (e.g., 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768).
|
|
179
|
+
Minimum: 128 MB, Maximum: 32768 MB (32 GB).
|
|
180
|
+
`),
|
|
55
181
|
timeout: z.number()
|
|
56
182
|
.min(0, 'Timeout must be 0 or greater')
|
|
57
183
|
.optional()
|
|
58
|
-
.describe(`
|
|
184
|
+
.describe(dedent `
|
|
185
|
+
Maximum runtime for the Actor in seconds. After this time elapses, the Actor will be automatically terminated.
|
|
186
|
+
Use 0 for infinite timeout (no time limit). Minimum: 0 seconds (infinite).
|
|
187
|
+
`),
|
|
59
188
|
}).optional()
|
|
60
189
|
.describe('Optional call options for the Actor run configuration.'),
|
|
61
190
|
});
|
|
@@ -117,8 +246,9 @@ export async function handleMcpToolCall(params) {
|
|
|
117
246
|
actorName: baseActorName,
|
|
118
247
|
toolName: mcpToolName,
|
|
119
248
|
});
|
|
249
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
120
250
|
return buildMCPResponse({
|
|
121
|
-
texts: [`Failed to call MCP tool '${mcpToolName}' on Actor '${baseActorName}': ${
|
|
251
|
+
texts: [`Failed to call MCP tool '${mcpToolName}' on Actor '${baseActorName}': ${errMsg}. The MCP server may be temporarily unavailable.`],
|
|
122
252
|
isError: true,
|
|
123
253
|
});
|
|
124
254
|
}
|
|
@@ -139,9 +269,11 @@ export async function resolveAndValidateActor(params) {
|
|
|
139
269
|
if (!actor) {
|
|
140
270
|
return {
|
|
141
271
|
error: buildMCPResponse({
|
|
142
|
-
texts: [`
|
|
143
|
-
|
|
144
|
-
|
|
272
|
+
texts: [dedent `
|
|
273
|
+
Actor '${actorName}' was not found.
|
|
274
|
+
Please verify Actor ID or name format (e.g., "username/name" like "apify/rag-web-browser") and ensure that the Actor exists.
|
|
275
|
+
You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH}.
|
|
276
|
+
`],
|
|
145
277
|
isError: true,
|
|
146
278
|
telemetry: {
|
|
147
279
|
toolStatus: TOOL_STATUS.SOFT_FAIL,
|
|
@@ -238,7 +370,10 @@ export async function callActorPreExecute(toolArgs) {
|
|
|
238
370
|
if (isActorMcpServer && apifyMcpServer.options.paymentProvider) {
|
|
239
371
|
return {
|
|
240
372
|
earlyResponse: buildMCPResponse({
|
|
241
|
-
texts: [`
|
|
373
|
+
texts: [dedent `
|
|
374
|
+
This Actor (${parsed.actor}) is an MCP server and cannot be accessed using a third-party payment provider.
|
|
375
|
+
To use this Actor, please provide a valid Apify token instead.
|
|
376
|
+
`],
|
|
242
377
|
isError: true,
|
|
243
378
|
telemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INVALID_INPUT },
|
|
244
379
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor_common.js","sourceRoot":"","sources":["../../../src/tools/core/call_actor_common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"call_actor_common.js","sourceRoot":"","sources":["../../../src/tools/core/call_actor_common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuBlE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAsGpB,CAAC"}
|
|
@@ -2,32 +2,18 @@ var _a;
|
|
|
2
2
|
import log from '@apify/log';
|
|
3
3
|
import { HelperTools } from '../../const.js';
|
|
4
4
|
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
5
|
-
import {
|
|
6
|
-
import { buildMCPResponse, buildUsageMeta } from '../../utils/mcp.js';
|
|
7
|
-
import { classifyFailureCategory, getToolStatusFromError } from '../../utils/tool_status.js';
|
|
5
|
+
import { buildUsageMeta } from '../../utils/mcp.js';
|
|
8
6
|
import { extractActorId } from '../../utils/tools.js';
|
|
9
7
|
import { callActorGetDataset } from '../core/actor_execution.js';
|
|
10
8
|
import { buildActorResponseContent } from '../core/actor_response.js';
|
|
11
|
-
import {
|
|
9
|
+
import { buildCallActorDescription, buildCallActorErrorResponse, buildStartAsyncResponse, callActorAjvValidate, callActorInputSchema, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
|
|
12
10
|
import { callActorOutputSchema } from '../structured_output_schemas.js';
|
|
13
|
-
const CALL_ACTOR_DEFAULT_DESCRIPTION =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
If the actor name is not in "username/name" format, use ${HelperTools.STORE_SEARCH} to resolve the correct Actor first.`,
|
|
20
|
-
CALL_ACTOR_MCP_SERVER_SECTION,
|
|
21
|
-
`IMPORTANT:
|
|
22
|
-
- Typically returns a datasetId and preview of output items
|
|
23
|
-
- Use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results
|
|
24
|
-
- Use dedicated Actor tools when available for better experience`,
|
|
25
|
-
CALL_ACTOR_USAGE_SECTION,
|
|
26
|
-
`- This tool supports async execution via the \`async\` parameter:
|
|
27
|
-
- **When \`async: false\` or not provided** (default): Waits for completion and returns results immediately with dataset preview. Use this whenever the user asks for data or results.
|
|
28
|
-
- **When \`async: true\`**: Starts the run and returns immediately with runId. Only use this when the user explicitly asks to run the Actor in the background or does not need immediate results.`,
|
|
29
|
-
CALL_ACTOR_EXAMPLES_SECTION,
|
|
30
|
-
].join('\n\n');
|
|
11
|
+
const CALL_ACTOR_DEFAULT_DESCRIPTION = buildCallActorDescription({
|
|
12
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
13
|
+
storeSearchTool: HelperTools.STORE_SEARCH,
|
|
14
|
+
useInternalSearchWarning: false,
|
|
15
|
+
alwaysAsync: false,
|
|
16
|
+
});
|
|
31
17
|
/**
|
|
32
18
|
* Default mode call-actor tool.
|
|
33
19
|
* Supports both sync (default) and async execution.
|
|
@@ -57,7 +43,6 @@ export const defaultCallActor = Object.freeze({
|
|
|
57
43
|
taskSupport: 'optional',
|
|
58
44
|
},
|
|
59
45
|
call: async (toolArgs) => {
|
|
60
|
-
var _a;
|
|
61
46
|
const preResult = await callActorPreExecute(toolArgs);
|
|
62
47
|
if ('earlyResponse' in preResult) {
|
|
63
48
|
return preResult.earlyResponse;
|
|
@@ -81,19 +66,14 @@ export const defaultCallActor = Object.freeze({
|
|
|
81
66
|
const actorClient = apifyClient.actor(baseActorName);
|
|
82
67
|
const actorRun = await actorClient.start(input, callOptions);
|
|
83
68
|
log.debug('Started Actor run (async)', { actorName: baseActorName, runId: actorRun.id, mcpSessionId: toolArgs.mcpSessionId });
|
|
84
|
-
const
|
|
85
|
-
runId: actorRun.id,
|
|
69
|
+
const response = buildStartAsyncResponse({
|
|
86
70
|
actorName: baseActorName,
|
|
87
|
-
|
|
88
|
-
startedAt: ((_a = actorRun.startedAt) === null || _a === void 0 ? void 0 : _a.toISOString()) || '',
|
|
71
|
+
actorRun,
|
|
89
72
|
input,
|
|
90
|
-
|
|
73
|
+
widget: false,
|
|
74
|
+
});
|
|
91
75
|
return {
|
|
92
|
-
|
|
93
|
-
type: 'text',
|
|
94
|
-
text: `Started Actor "${baseActorName}" (Run ID: ${actorRun.id}).`,
|
|
95
|
-
}],
|
|
96
|
-
structuredContent,
|
|
76
|
+
...response,
|
|
97
77
|
toolTelemetry: { actorId: resolvedActorId },
|
|
98
78
|
};
|
|
99
79
|
}
|
|
@@ -123,25 +103,14 @@ export const defaultCallActor = Object.freeze({
|
|
|
123
103
|
};
|
|
124
104
|
}
|
|
125
105
|
catch (error) {
|
|
126
|
-
|
|
127
|
-
logHttpError(error, 'Failed to call Actor', {
|
|
106
|
+
return buildCallActorErrorResponse({
|
|
128
107
|
actorName: baseActorName,
|
|
129
|
-
|
|
108
|
+
error,
|
|
109
|
+
actorId: resolvedActorId,
|
|
110
|
+
isAsync,
|
|
130
111
|
mcpSessionId: toolArgs.mcpSessionId,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return buildMCPResponse({
|
|
134
|
-
texts: [`Failed to call Actor '${baseActorName}': ${errMsg}.
|
|
135
|
-
Please verify the Actor name, input parameters, and ensure the Actor exists.
|
|
136
|
-
You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH}, or get Actor details using: ${HelperTools.ACTOR_GET_DETAILS}.`],
|
|
137
|
-
isError: true,
|
|
138
|
-
telemetry: {
|
|
139
|
-
toolStatus: getToolStatusFromError(error, false),
|
|
140
|
-
failureCategory: classifyFailureCategory(error),
|
|
141
|
-
failureHttpStatus: getHttpStatusCode(error),
|
|
142
|
-
failureDetail: errMsg.slice(0, 200),
|
|
143
|
-
actorId: resolvedActorId,
|
|
144
|
-
},
|
|
112
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
113
|
+
storeSearchTool: HelperTools.STORE_SEARCH,
|
|
145
114
|
});
|
|
146
115
|
}
|
|
147
116
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/default/call_actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoBlE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAoEnB,CAAC"}
|
|
@@ -2,29 +2,15 @@ var _a;
|
|
|
2
2
|
import log from '@apify/log';
|
|
3
3
|
import { HelperTools } from '../../const.js';
|
|
4
4
|
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
5
|
-
import { getHttpStatusCode, logHttpError } from '../../utils/logging.js';
|
|
6
|
-
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
7
|
-
import { classifyFailureCategory, getToolStatusFromError } from '../../utils/tool_status.js';
|
|
8
5
|
import { extractActorId } from '../../utils/tools.js';
|
|
9
|
-
import {
|
|
6
|
+
import { buildCallActorDescription, buildCallActorErrorResponse, buildStartAsyncResponse, callActorAjvValidate, callActorInputSchema, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
|
|
10
7
|
import { callActorOutputSchema } from '../structured_output_schemas.js';
|
|
11
|
-
const CALL_ACTOR_OPENAI_DESCRIPTION =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
If the actor name is not in "username/name" format, use ${HelperTools.STORE_SEARCH_INTERNAL} to resolve the correct Actor first.
|
|
18
|
-
Do NOT use ${HelperTools.STORE_SEARCH} for name resolution when the next step is running an Actor.`,
|
|
19
|
-
CALL_ACTOR_MCP_SERVER_SECTION,
|
|
20
|
-
`IMPORTANT:
|
|
21
|
-
- This tool always runs asynchronously — it starts the Actor and returns immediately with a runId. A live widget automatically tracks the run progress.
|
|
22
|
-
- After calling this tool, do NOT poll or call any other tool. Wait for the user to respond — the widget will update them when the run completes.
|
|
23
|
-
- Once the run completes, use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results.
|
|
24
|
-
- Use dedicated Actor tools when available for better experience`,
|
|
25
|
-
CALL_ACTOR_USAGE_SECTION,
|
|
26
|
-
CALL_ACTOR_EXAMPLES_SECTION,
|
|
27
|
-
].join('\n\n');
|
|
8
|
+
const CALL_ACTOR_OPENAI_DESCRIPTION = buildCallActorDescription({
|
|
9
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS_INTERNAL,
|
|
10
|
+
storeSearchTool: HelperTools.STORE_SEARCH_INTERNAL,
|
|
11
|
+
useInternalSearchWarning: true,
|
|
12
|
+
alwaysAsync: true,
|
|
13
|
+
});
|
|
28
14
|
/**
|
|
29
15
|
* OpenAI mode call-actor tool.
|
|
30
16
|
* Always runs asynchronously — starts the run and returns immediately with widget metadata.
|
|
@@ -50,7 +36,6 @@ export const openaiCallActor = Object.freeze({
|
|
|
50
36
|
openWorldHint: true,
|
|
51
37
|
},
|
|
52
38
|
call: async (toolArgs) => {
|
|
53
|
-
var _a;
|
|
54
39
|
const preResult = await callActorPreExecute(toolArgs);
|
|
55
40
|
if ('earlyResponse' in preResult) {
|
|
56
41
|
return preResult.earlyResponse;
|
|
@@ -73,55 +58,26 @@ export const openaiCallActor = Object.freeze({
|
|
|
73
58
|
const actorClient = apifyClient.actor(baseActorName);
|
|
74
59
|
const actorRun = await actorClient.start(input, callOptions);
|
|
75
60
|
log.debug('Started Actor run (async)', { actorName: baseActorName, runId: actorRun.id, mcpSessionId: toolArgs.mcpSessionId });
|
|
76
|
-
const
|
|
77
|
-
runId: actorRun.id,
|
|
61
|
+
const response = buildStartAsyncResponse({
|
|
78
62
|
actorName: baseActorName,
|
|
79
|
-
|
|
80
|
-
startedAt: ((_a = actorRun.startedAt) === null || _a === void 0 ? void 0 : _a.toISOString()) || '',
|
|
63
|
+
actorRun,
|
|
81
64
|
input,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
A live progress widget has been rendered that automatically tracks this run and refreshes status every few seconds until completion.
|
|
86
|
-
|
|
87
|
-
The widget will update the context with run status and datasetId when the run completes. Once complete (or if the user requests results), use ${HelperTools.ACTOR_OUTPUT_GET} with the datasetId to retrieve the output.
|
|
88
|
-
|
|
89
|
-
Do NOT proactively poll using ${HelperTools.ACTOR_RUNS_GET}. Wait for the widget state update or user instructions. Ask the user what they would like to do next.`;
|
|
90
|
-
const widgetConfig = getWidgetConfig(WIDGET_URIS.ACTOR_RUN);
|
|
65
|
+
widget: true,
|
|
66
|
+
});
|
|
91
67
|
return {
|
|
92
|
-
|
|
93
|
-
type: 'text',
|
|
94
|
-
text: responseText,
|
|
95
|
-
}],
|
|
96
|
-
structuredContent,
|
|
97
|
-
// Response-level meta; only returned in openai mode (this handler is openai-only)
|
|
98
|
-
_meta: {
|
|
99
|
-
...widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.meta,
|
|
100
|
-
'openai/widgetDescription': `Actor run progress for ${baseActorName}`,
|
|
101
|
-
},
|
|
68
|
+
...response,
|
|
102
69
|
toolTelemetry: { actorId: resolvedActorId },
|
|
103
70
|
};
|
|
104
71
|
}
|
|
105
72
|
catch (error) {
|
|
106
|
-
|
|
107
|
-
logHttpError(error, 'Failed to call Actor', {
|
|
73
|
+
return buildCallActorErrorResponse({
|
|
108
74
|
actorName: baseActorName,
|
|
109
|
-
|
|
75
|
+
error,
|
|
76
|
+
actorId: resolvedActorId,
|
|
77
|
+
isAsync: true,
|
|
110
78
|
mcpSessionId: toolArgs.mcpSessionId,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return buildMCPResponse({
|
|
114
|
-
texts: [`Failed to call Actor '${baseActorName}': ${errMsg}.
|
|
115
|
-
Please verify the Actor name, input parameters, and ensure the Actor exists.
|
|
116
|
-
You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH_INTERNAL}, or get Actor details using: ${HelperTools.ACTOR_GET_DETAILS_INTERNAL}.`],
|
|
117
|
-
isError: true,
|
|
118
|
-
telemetry: {
|
|
119
|
-
toolStatus: getToolStatusFromError(error, false),
|
|
120
|
-
failureCategory: classifyFailureCategory(error),
|
|
121
|
-
failureHttpStatus: getHttpStatusCode(error),
|
|
122
|
-
failureDetail: errMsg.slice(0, 200),
|
|
123
|
-
actorId: resolvedActorId,
|
|
124
|
-
},
|
|
79
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS_INTERNAL,
|
|
80
|
+
storeSearchTool: HelperTools.STORE_SEARCH_INTERNAL,
|
|
125
81
|
});
|
|
126
82
|
}
|
|
127
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/openai/call_actor.ts"],"names":[],"mappings":"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"}
|