@apify/actors-mcp-server 0.9.21-beta.1 → 0.9.21-beta.3
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/const.d.ts +2 -1
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +2 -1
- package/dist/const.js.map +1 -1
- package/dist/tools/apps/call_actor.d.ts +2 -2
- package/dist/tools/apps/call_actor.d.ts.map +1 -1
- package/dist/tools/apps/call_actor.js +4 -13
- package/dist/tools/apps/call_actor.js.map +1 -1
- package/dist/tools/apps/call_actor_widget.d.ts +3 -0
- package/dist/tools/apps/call_actor_widget.d.ts.map +1 -0
- package/dist/tools/apps/call_actor_widget.js +142 -0
- package/dist/tools/apps/call_actor_widget.js.map +1 -0
- package/dist/tools/apps/search_actors_widget.d.ts +3 -0
- package/dist/tools/apps/search_actors_widget.d.ts.map +1 -0
- package/dist/tools/apps/search_actors_widget.js +113 -0
- package/dist/tools/apps/search_actors_widget.js.map +1 -0
- package/dist/tools/categories.d.ts.map +1 -1
- package/dist/tools/categories.js +5 -4
- package/dist/tools/categories.js.map +1 -1
- package/dist/tools/core/call_actor_common.d.ts +3 -4
- package/dist/tools/core/call_actor_common.d.ts.map +1 -1
- package/dist/tools/core/call_actor_common.js +12 -16
- package/dist/tools/core/call_actor_common.js.map +1 -1
- package/dist/tools/core/get_actor_run_common.d.ts.map +1 -1
- package/dist/tools/core/get_actor_run_common.js +3 -5
- package/dist/tools/core/get_actor_run_common.js.map +1 -1
- package/dist/tools/core/search_actors_common.d.ts +5 -4
- package/dist/tools/core/search_actors_common.d.ts.map +1 -1
- package/dist/tools/core/search_actors_common.js +5 -9
- package/dist/tools/core/search_actors_common.js.map +1 -1
- package/dist/tools/default/call_actor.d.ts.map +1 -1
- package/dist/tools/default/call_actor.js +1 -10
- package/dist/tools/default/call_actor.js.map +1 -1
- package/dist/tools/structured_output_schemas.d.ts +182 -4
- package/dist/tools/structured_output_schemas.d.ts.map +1 -1
- package/dist/tools/structured_output_schemas.js +13 -12
- package/dist/tools/structured_output_schemas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/server-instructions/index.d.ts +4 -5
- package/dist/utils/server-instructions/index.d.ts.map +1 -1
- package/dist/utils/server-instructions/index.js +12 -12
- package/dist/utils/server-instructions/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/apps/search_actors.d.ts +0 -7
- package/dist/tools/apps/search_actors.d.ts.map +0 -1
- package/dist/tools/apps/search_actors.js +0 -90
- package/dist/tools/apps/search_actors.js.map +0 -1
- package/dist/tools/apps/search_actors_internal.d.ts +0 -3
- package/dist/tools/apps/search_actors_internal.d.ts.map +0 -1
- package/dist/tools/apps/search_actors_internal.js +0 -65
- package/dist/tools/apps/search_actors_internal.js.map +0 -1
package/dist/const.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare const USER_AGENT_ORIGIN = "Origin/mcp-server";
|
|
|
15
15
|
export declare enum HelperTools {
|
|
16
16
|
ACTOR_ADD = "add-actor",
|
|
17
17
|
ACTOR_CALL = "call-actor",
|
|
18
|
+
ACTOR_CALL_WIDGET = "call-actor-widget",
|
|
18
19
|
ACTOR_GET_DETAILS = "fetch-actor-details",
|
|
19
20
|
ACTOR_GET_DETAILS_WIDGET = "fetch-actor-details-widget",
|
|
20
21
|
ACTOR_OUTPUT_GET = "get-actor-output",
|
|
@@ -31,7 +32,7 @@ export declare enum HelperTools {
|
|
|
31
32
|
KEY_VALUE_STORE_KEYS_GET = "get-key-value-store-keys",
|
|
32
33
|
KEY_VALUE_STORE_RECORD_GET = "get-key-value-store-record",
|
|
33
34
|
STORE_SEARCH = "search-actors",
|
|
34
|
-
|
|
35
|
+
STORE_SEARCH_WIDGET = "search-actors-widget",
|
|
35
36
|
DOCS_SEARCH = "search-apify-docs",
|
|
36
37
|
DOCS_FETCH = "fetch-apify-docs"
|
|
37
38
|
}
|
package/dist/const.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAG3C,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,oBAAY,WAAW;IACnB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,iBAAiB,wBAAwB;IACzC,wBAAwB,+BAA+B;IACvD,gBAAgB,qBAAqB;IACrC,gBAAgB,oBAAoB;IACpC,cAAc,kBAAkB;IAChC,cAAc,kBAAkB;IAChC,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,YAAY,kBAAkB;IAC9B,
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAG3C,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,oBAAY,WAAW;IACnB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,iBAAiB,wBAAwB;IACzC,wBAAwB,+BAA+B;IACvD,gBAAgB,qBAAqB;IACrC,gBAAgB,oBAAoB;IACpC,cAAc,kBAAkB;IAChC,cAAc,kBAAkB;IAChC,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,YAAY,kBAAkB;IAC9B,mBAAmB,yBAAyB;IAC5C,WAAW,sBAAsB;IACjC,UAAU,qBAAqB;CAClC;AAED,eAAO,MAAM,eAAe,0BAA0B,CAAC;AACvD,eAAO,MAAM,kCAAkC,UAA2C,CAAC;AAC3F,eAAO,MAAM,+BAA+B,8vBAQgM,CAAC;AAE7O,eAAO,MAAM,QAAQ;;CAIpB,CAAC;AAEF,eAAO,MAAM,sBAAsB,IAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,oBAAwC,CAAC;AAEvE,eAAO,MAAM,yBAAyB,QAAg2B,CAAC;AAEv4B,eAAO,MAAM,mCAAmC,2KAAyK,CAAC;AAE1N,eAAO,MAAM,sBAAsB,QAAq8B,CAAC;AAEz+B;;;GAGG;AACH,eAAO,MAAM,qBAAqB,kBAYhC,CAAC;AAEH,eAAO,MAAM,oCAAoC,2JAAuJ,CAAC;AAGzM,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,oBAAoB,QAAU,CAAC;AAC5C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAU,CAAC;AACjD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAU,CAAC;AACjD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,mBAAmB,QAAU,CAAC;AAE3C,eAAO,MAAM,mBAAmB;IAC5B,oBAAoB;;;IAGpB,kCAAkC;;IAElC,iCAAiC;;CAE3B,CAAC;AAEX,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCf,CAAC;AAEX,eAAO,MAAM,mBAAmB,4DAGtB,CAAC;AAEX,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,iBAAiB,kCAAmC,CAAC;AAClE,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,kBAAkB,qDAAqD,CAAC;AAGrF,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,qBAAqB,QAAqB,CAAC;AAMxD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAG/C;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAGX,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAGlC,eAAO,MAAM,iCAAiC,mCAAoC,CAAC;AAInF,eAAO,MAAM,qBAAqB,yCAAyC,CAAC"}
|
package/dist/const.js
CHANGED
|
@@ -22,6 +22,7 @@ export var HelperTools;
|
|
|
22
22
|
(function (HelperTools) {
|
|
23
23
|
HelperTools["ACTOR_ADD"] = "add-actor";
|
|
24
24
|
HelperTools["ACTOR_CALL"] = "call-actor";
|
|
25
|
+
HelperTools["ACTOR_CALL_WIDGET"] = "call-actor-widget";
|
|
25
26
|
HelperTools["ACTOR_GET_DETAILS"] = "fetch-actor-details";
|
|
26
27
|
HelperTools["ACTOR_GET_DETAILS_WIDGET"] = "fetch-actor-details-widget";
|
|
27
28
|
HelperTools["ACTOR_OUTPUT_GET"] = "get-actor-output";
|
|
@@ -38,7 +39,7 @@ export var HelperTools;
|
|
|
38
39
|
HelperTools["KEY_VALUE_STORE_KEYS_GET"] = "get-key-value-store-keys";
|
|
39
40
|
HelperTools["KEY_VALUE_STORE_RECORD_GET"] = "get-key-value-store-record";
|
|
40
41
|
HelperTools["STORE_SEARCH"] = "search-actors";
|
|
41
|
-
HelperTools["
|
|
42
|
+
HelperTools["STORE_SEARCH_WIDGET"] = "search-actors-widget";
|
|
42
43
|
HelperTools["DOCS_SEARCH"] = "search-apify-docs";
|
|
43
44
|
HelperTools["DOCS_FETCH"] = "fetch-apify-docs";
|
|
44
45
|
})(HelperTools || (HelperTools = {}));
|
package/dist/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAK,CAAC;AAC7C,0HAA0H;AAC1H,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,kBAAkB;AAClB,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAK,CAAC,CAAC,kGAAkG;AAEhJ,cAAc;AACd;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C,aAAa;AACb,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ToolEntry } from '../../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Apps mode call-actor tool.
|
|
4
|
-
* Always runs asynchronously — starts the run and returns immediately with
|
|
5
|
-
*
|
|
4
|
+
* Always runs asynchronously — starts the run and returns immediately with runId.
|
|
5
|
+
* Renders no widget; for a live progress UI, use the call-actor-widget sibling.
|
|
6
6
|
*/
|
|
7
7
|
export declare const appsCallActor: ToolEntry;
|
|
8
8
|
//# sourceMappingURL=call_actor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/apps/call_actor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"call_actor.d.ts","sourceRoot":"","sources":["../../../src/tools/apps/call_actor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkBlE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,SA+DjB,CAAC"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
var _a;
|
|
2
1
|
import log from '@apify/log';
|
|
3
2
|
import { HelperTools } from '../../const.js';
|
|
4
|
-
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
5
3
|
import { extractActorId } from '../../utils/tools.js';
|
|
6
4
|
import { buildCallActorDescription, buildCallActorErrorResponse, buildStartAsyncResponse, callActorAjvValidate, callActorInputSchema, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
|
|
7
5
|
import { callActorOutputSchema } from '../structured_output_schemas.js';
|
|
8
6
|
const CALL_ACTOR_APPS_DESCRIPTION = buildCallActorDescription({
|
|
9
7
|
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
10
|
-
storeSearchTool: HelperTools.STORE_SEARCH_INTERNAL,
|
|
11
|
-
useInternalSearchWarning: true,
|
|
12
8
|
alwaysAsync: true,
|
|
13
9
|
});
|
|
14
10
|
/**
|
|
15
11
|
* Apps mode call-actor tool.
|
|
16
|
-
* Always runs asynchronously — starts the run and returns immediately with
|
|
17
|
-
*
|
|
12
|
+
* Always runs asynchronously — starts the run and returns immediately with runId.
|
|
13
|
+
* Renders no widget; for a live progress UI, use the call-actor-widget sibling.
|
|
18
14
|
*/
|
|
19
15
|
export const appsCallActor = Object.freeze({
|
|
20
16
|
type: 'internal',
|
|
@@ -24,10 +20,6 @@ export const appsCallActor = Object.freeze({
|
|
|
24
20
|
outputSchema: callActorOutputSchema,
|
|
25
21
|
ajvValidate: callActorAjvValidate,
|
|
26
22
|
paymentRequired: true,
|
|
27
|
-
// apps-only tool; apps-mode _meta (ui/* and openai/* keys) stripped in non-apps mode by stripWidgetMeta() in src/utils/tools.ts
|
|
28
|
-
_meta: {
|
|
29
|
-
...(_a = getWidgetConfig(WIDGET_URIS.ACTOR_RUN)) === null || _a === void 0 ? void 0 : _a.meta,
|
|
30
|
-
},
|
|
31
23
|
annotations: {
|
|
32
24
|
title: 'Call Actor',
|
|
33
25
|
readOnlyHint: false,
|
|
@@ -36,7 +28,7 @@ export const appsCallActor = Object.freeze({
|
|
|
36
28
|
openWorldHint: true,
|
|
37
29
|
},
|
|
38
30
|
call: async (toolArgs) => {
|
|
39
|
-
const preResult = await callActorPreExecute(toolArgs);
|
|
31
|
+
const preResult = await callActorPreExecute(toolArgs, { route: HelperTools.ACTOR_CALL });
|
|
40
32
|
if ('earlyResponse' in preResult) {
|
|
41
33
|
return preResult.earlyResponse;
|
|
42
34
|
}
|
|
@@ -62,7 +54,7 @@ export const appsCallActor = Object.freeze({
|
|
|
62
54
|
actorName: baseActorName,
|
|
63
55
|
actorRun,
|
|
64
56
|
input,
|
|
65
|
-
widget:
|
|
57
|
+
widget: false,
|
|
66
58
|
});
|
|
67
59
|
return {
|
|
68
60
|
...response,
|
|
@@ -77,7 +69,6 @@ export const appsCallActor = Object.freeze({
|
|
|
77
69
|
isAsync: true,
|
|
78
70
|
mcpSessionId: toolArgs.mcpSessionId,
|
|
79
71
|
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
80
|
-
storeSearchTool: HelperTools.STORE_SEARCH_INTERNAL,
|
|
81
72
|
});
|
|
82
73
|
}
|
|
83
74
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/apps/call_actor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/apps/call_actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call_actor_widget.d.ts","sourceRoot":"","sources":["../../../src/tools/apps/call_actor_widget.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAoEnF,eAAO,MAAM,mBAAmB,EAAE,SA8EvB,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import dedent from 'dedent';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import log from '@apify/log';
|
|
5
|
+
import { HelperTools } from '../../const.js';
|
|
6
|
+
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
7
|
+
import { compileSchema } from '../../utils/ajv.js';
|
|
8
|
+
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
9
|
+
import { extractActorId } from '../../utils/tools.js';
|
|
10
|
+
import { buildCallActorErrorResponse, buildStartAsyncResponse, callActorPreExecute, resolveAndValidateActor, } from '../core/call_actor_common.js';
|
|
11
|
+
import { callActorOutputSchema } from '../structured_output_schemas.js';
|
|
12
|
+
/**
|
|
13
|
+
* Widget-only input: `actor` + `input` + optional `callOptions`.
|
|
14
|
+
*
|
|
15
|
+
* This schema is declared as `.strict()` so the widget tool's contract excludes stray keys
|
|
16
|
+
* such as `async` or `previewOutput`. AJV may also remove unknown properties at the server
|
|
17
|
+
* boundary, but any non-AJV execution path must explicitly parse with this schema in the
|
|
18
|
+
* handler to enforce the same runtime contract. The widget is always async.
|
|
19
|
+
*
|
|
20
|
+
* The widget variant does not support MCP `actor:toolName` syntax — use `call-actor` for that.
|
|
21
|
+
*/
|
|
22
|
+
const callActorWidgetArgsSchema = z.object({
|
|
23
|
+
actor: z.string()
|
|
24
|
+
.describe('The name of the Actor to call. Format: "username/name" (e.g., "apify/rag-web-browser").'),
|
|
25
|
+
input: z.object({}).passthrough()
|
|
26
|
+
.describe('The input JSON to pass to the Actor. Required.'),
|
|
27
|
+
callOptions: z.object({
|
|
28
|
+
memory: z.number()
|
|
29
|
+
.min(128, 'Memory must be at least 128 MB')
|
|
30
|
+
.max(32768, 'Memory cannot exceed 32 GB (32768 MB)')
|
|
31
|
+
.optional()
|
|
32
|
+
.describe(dedent `
|
|
33
|
+
Memory allocation for the Actor in MB. Must be a power of 2 (e.g., 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768).
|
|
34
|
+
Minimum: 128 MB, Maximum: 32768 MB (32 GB).
|
|
35
|
+
`),
|
|
36
|
+
timeout: z.number()
|
|
37
|
+
.min(0, 'Timeout must be 0 or greater')
|
|
38
|
+
.optional()
|
|
39
|
+
.describe(dedent `
|
|
40
|
+
Maximum runtime for the Actor in seconds. After this time elapses, the Actor will be automatically terminated.
|
|
41
|
+
Use 0 for infinite timeout (no time limit). Minimum: 0 seconds (infinite).
|
|
42
|
+
`),
|
|
43
|
+
}).optional()
|
|
44
|
+
.describe('Optional call options for the Actor run configuration.'),
|
|
45
|
+
}).strict();
|
|
46
|
+
const CALL_ACTOR_WIDGET_DESCRIPTION = dedent `
|
|
47
|
+
Render an interactive UI element (widget) that displays live Actor run progress for the user.
|
|
48
|
+
|
|
49
|
+
Use this tool ONLY when the user explicitly wants to see run progress visually
|
|
50
|
+
(e.g., "run apify/rag-web-browser and show progress", "start this Actor with a progress view").
|
|
51
|
+
The response renders as an interactive widget that automatically tracks run status until
|
|
52
|
+
completion — do NOT poll or call any other tool after this.
|
|
53
|
+
|
|
54
|
+
For silent async starts where no UI is needed (e.g., "start this in the background",
|
|
55
|
+
or when your next step is to fetch results via ${HelperTools.ACTOR_OUTPUT_GET}), use
|
|
56
|
+
${HelperTools.ACTOR_CALL} instead — it returns the same runId without rendering a widget.
|
|
57
|
+
|
|
58
|
+
WORKFLOW:
|
|
59
|
+
1. Use ${HelperTools.ACTOR_GET_DETAILS} to get the Actor's input schema
|
|
60
|
+
2. Call this tool with the actor name and proper input based on the schema
|
|
61
|
+
|
|
62
|
+
If the actor name is not in "username/name" format, use ${HelperTools.STORE_SEARCH} to resolve the correct Actor first.
|
|
63
|
+
|
|
64
|
+
Input: actor name and input JSON; callOptions (memory, timeout) are optional.
|
|
65
|
+
`;
|
|
66
|
+
export const appsCallActorWidget = Object.freeze({
|
|
67
|
+
type: 'internal',
|
|
68
|
+
name: HelperTools.ACTOR_CALL_WIDGET,
|
|
69
|
+
description: CALL_ACTOR_WIDGET_DESCRIPTION,
|
|
70
|
+
inputSchema: z.toJSONSchema(callActorWidgetArgsSchema),
|
|
71
|
+
outputSchema: callActorOutputSchema,
|
|
72
|
+
// Allow arbitrary keys inside `input` (dynamic Actor input) while keeping the outer shape strict.
|
|
73
|
+
ajvValidate: compileSchema(z.toJSONSchema(callActorWidgetArgsSchema)),
|
|
74
|
+
paymentRequired: true,
|
|
75
|
+
// Tool-level widget meta; only registered in apps mode so stripWidgetMeta is a no-op here.
|
|
76
|
+
_meta: {
|
|
77
|
+
...(_a = getWidgetConfig(WIDGET_URIS.ACTOR_RUN)) === null || _a === void 0 ? void 0 : _a.meta,
|
|
78
|
+
},
|
|
79
|
+
annotations: {
|
|
80
|
+
title: 'Call Actor (widget)',
|
|
81
|
+
readOnlyHint: false,
|
|
82
|
+
destructiveHint: true,
|
|
83
|
+
idempotentHint: false,
|
|
84
|
+
openWorldHint: true,
|
|
85
|
+
},
|
|
86
|
+
call: async (toolArgs) => {
|
|
87
|
+
var _a;
|
|
88
|
+
const rawActor = (_a = toolArgs.args) === null || _a === void 0 ? void 0 : _a.actor;
|
|
89
|
+
if (typeof rawActor === 'string' && rawActor.includes(':')) {
|
|
90
|
+
return buildMCPResponse({
|
|
91
|
+
texts: [
|
|
92
|
+
`${HelperTools.ACTOR_CALL_WIDGET} does not render widgets for MCP tool calls.`,
|
|
93
|
+
`Use ${HelperTools.ACTOR_CALL} for the "actorName:toolName" syntax.`,
|
|
94
|
+
],
|
|
95
|
+
isError: true,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
const preResult = await callActorPreExecute(toolArgs, { route: HelperTools.ACTOR_CALL_WIDGET });
|
|
99
|
+
if ('earlyResponse' in preResult) {
|
|
100
|
+
return preResult.earlyResponse;
|
|
101
|
+
}
|
|
102
|
+
const { parsed, baseActorName } = preResult;
|
|
103
|
+
const { input, callOptions } = parsed;
|
|
104
|
+
let resolvedActorId;
|
|
105
|
+
try {
|
|
106
|
+
const resolution = await resolveAndValidateActor({
|
|
107
|
+
actorName: baseActorName,
|
|
108
|
+
input: input,
|
|
109
|
+
toolArgs,
|
|
110
|
+
});
|
|
111
|
+
if ('error' in resolution) {
|
|
112
|
+
return resolution.error;
|
|
113
|
+
}
|
|
114
|
+
resolvedActorId = extractActorId(resolution.actor);
|
|
115
|
+
const { apifyClient } = toolArgs;
|
|
116
|
+
const actorClient = apifyClient.actor(baseActorName);
|
|
117
|
+
const actorRun = await actorClient.start(input, callOptions);
|
|
118
|
+
log.debug('Started Actor run (widget)', { actorName: baseActorName, runId: actorRun.id, mcpSessionId: toolArgs.mcpSessionId });
|
|
119
|
+
const response = buildStartAsyncResponse({
|
|
120
|
+
actorName: baseActorName,
|
|
121
|
+
actorRun,
|
|
122
|
+
input,
|
|
123
|
+
widget: true,
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
...response,
|
|
127
|
+
toolTelemetry: { actorId: resolvedActorId },
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
return buildCallActorErrorResponse({
|
|
132
|
+
actorName: baseActorName,
|
|
133
|
+
error,
|
|
134
|
+
actorId: resolvedActorId,
|
|
135
|
+
isAsync: true,
|
|
136
|
+
mcpSessionId: toolArgs.mcpSessionId,
|
|
137
|
+
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=call_actor_widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call_actor_widget.js","sourceRoot":"","sources":["../../../src/tools/apps/call_actor_widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_actors_widget.d.ts","sourceRoot":"","sources":["../../../src/tools/apps/search_actors_widget.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAkCnF,eAAO,MAAM,sBAAsB,EAAE,SAmF1B,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import dedent from 'dedent';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { HelperTools } from '../../const.js';
|
|
5
|
+
import { getWidgetConfig, WIDGET_URIS } from '../../resources/widgets.js';
|
|
6
|
+
import { formatActorForWidget } from '../../utils/actor_card.js';
|
|
7
|
+
import { searchAndFilterActors } from '../../utils/actor_search.js';
|
|
8
|
+
import { compileSchema } from '../../utils/ajv.js';
|
|
9
|
+
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
10
|
+
import { getUserInfoCached } from '../../utils/userid_cache.js';
|
|
11
|
+
import { buildSearchActorsResult, searchActorsBaseArgsSchema, } from '../core/search_actors_common.js';
|
|
12
|
+
import { actorSearchWidgetOutputSchema } from '../structured_output_schemas.js';
|
|
13
|
+
/**
|
|
14
|
+
* Widget-only input: mirrors the base tool's keywords/limit/offset. `.strict()`
|
|
15
|
+
* marks additional properties as disallowed; in practice the server's AJV layer
|
|
16
|
+
* strips unknown keys before this schema runs, so stray keys are removed silently
|
|
17
|
+
* rather than causing a hard rejection.
|
|
18
|
+
*/
|
|
19
|
+
const searchActorsWidgetArgsSchema = searchActorsBaseArgsSchema.strict();
|
|
20
|
+
const SEARCH_ACTORS_WIDGET_DESCRIPTION = dedent `
|
|
21
|
+
Render an interactive UI element (widget) displaying Apify Store search results for the user.
|
|
22
|
+
|
|
23
|
+
Use this tool ONLY when the user explicitly wants to browse or discover Actors visually
|
|
24
|
+
(e.g., "find me scrapers for Instagram", "show me Amazon Actors", "what tools exist for Twitter").
|
|
25
|
+
The response renders as an interactive widget the user can view directly.
|
|
26
|
+
|
|
27
|
+
For silent name resolution before running an Actor (e.g., "scrape google maps" — you need to
|
|
28
|
+
find the right Actor first, then fetch its schema and call it), use ${HelperTools.STORE_SEARCH}
|
|
29
|
+
instead — it returns the same data without rendering a widget.
|
|
30
|
+
|
|
31
|
+
Input: keywords (plus optional limit/offset). Output fields are fixed by the widget contract.
|
|
32
|
+
`;
|
|
33
|
+
export const searchActorsWidgetTool = Object.freeze({
|
|
34
|
+
type: 'internal',
|
|
35
|
+
name: HelperTools.STORE_SEARCH_WIDGET,
|
|
36
|
+
description: SEARCH_ACTORS_WIDGET_DESCRIPTION,
|
|
37
|
+
inputSchema: z.toJSONSchema(searchActorsWidgetArgsSchema),
|
|
38
|
+
outputSchema: actorSearchWidgetOutputSchema,
|
|
39
|
+
ajvValidate: compileSchema(z.toJSONSchema(searchActorsWidgetArgsSchema)),
|
|
40
|
+
// Tool-level widget meta; only registered in apps mode so stripWidgetMeta is a no-op here.
|
|
41
|
+
_meta: {
|
|
42
|
+
...(_a = getWidgetConfig(WIDGET_URIS.SEARCH_ACTORS)) === null || _a === void 0 ? void 0 : _a.meta,
|
|
43
|
+
},
|
|
44
|
+
annotations: {
|
|
45
|
+
title: 'Search Actors (widget)',
|
|
46
|
+
readOnlyHint: true,
|
|
47
|
+
destructiveHint: false,
|
|
48
|
+
idempotentHint: true,
|
|
49
|
+
openWorldHint: false,
|
|
50
|
+
},
|
|
51
|
+
call: async (toolArgs) => {
|
|
52
|
+
const { args, apifyToken, apifyClient, userRentedActorIds, apifyMcpServer } = toolArgs;
|
|
53
|
+
const parsed = searchActorsWidgetArgsSchema.parse(args);
|
|
54
|
+
// Actor search and user-info fetch are independent; run in parallel to avoid a
|
|
55
|
+
// sequential round-trip on cache miss.
|
|
56
|
+
const [actors, { userPlanTier }] = await Promise.all([
|
|
57
|
+
searchAndFilterActors({
|
|
58
|
+
keywords: parsed.keywords,
|
|
59
|
+
apifyToken,
|
|
60
|
+
limit: parsed.limit,
|
|
61
|
+
offset: parsed.offset,
|
|
62
|
+
paymentProvider: apifyMcpServer.options.paymentProvider,
|
|
63
|
+
userRentedActorIds,
|
|
64
|
+
}),
|
|
65
|
+
getUserInfoCached(apifyToken, apifyClient),
|
|
66
|
+
]);
|
|
67
|
+
if (actors.length === 0) {
|
|
68
|
+
// Honor the widget tool's declared outputSchema: widgetActors is required, so
|
|
69
|
+
// emit an empty array rather than dropping the field.
|
|
70
|
+
const instructions = dedent `
|
|
71
|
+
No Actors were found for the search query "${parsed.keywords}".
|
|
72
|
+
You MUST retry with broader, more generic keywords - use just the platform name
|
|
73
|
+
(e.g., "TikTok" instead of "TikTok posts") before concluding no Actor exists.
|
|
74
|
+
`;
|
|
75
|
+
return buildMCPResponse({
|
|
76
|
+
texts: [instructions],
|
|
77
|
+
structuredContent: {
|
|
78
|
+
actors: [],
|
|
79
|
+
query: parsed.keywords,
|
|
80
|
+
count: 0,
|
|
81
|
+
widgetActors: [],
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const { actorCardStructured } = buildSearchActorsResult(actors, userPlanTier);
|
|
86
|
+
const structuredContent = {
|
|
87
|
+
actors: actorCardStructured,
|
|
88
|
+
query: parsed.keywords,
|
|
89
|
+
count: actors.length,
|
|
90
|
+
widgetActors: actors.map((actor) => formatActorForWidget(actor, userPlanTier)),
|
|
91
|
+
};
|
|
92
|
+
const texts = [dedent `
|
|
93
|
+
# Search results:
|
|
94
|
+
- **Search query:** ${parsed.keywords}
|
|
95
|
+
- **Number of Actors found:** ${actors.length}
|
|
96
|
+
|
|
97
|
+
An interactive widget has been rendered with the search results. The user can already see
|
|
98
|
+
the list of Actors visually in the widget, so do NOT print or summarize the Actor list
|
|
99
|
+
in your response.
|
|
100
|
+
`];
|
|
101
|
+
const widgetConfig = getWidgetConfig(WIDGET_URIS.SEARCH_ACTORS);
|
|
102
|
+
return buildMCPResponse({
|
|
103
|
+
texts,
|
|
104
|
+
structuredContent,
|
|
105
|
+
// Response-level meta; only returned in apps mode (this handler is apps-only).
|
|
106
|
+
_meta: {
|
|
107
|
+
...widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.meta,
|
|
108
|
+
'openai/widgetDescription': `Interactive actor search results showing ${actors.length} ${actors.length === 1 ? 'actor' : 'actors'} from Apify Store`,
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=search_actors_widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_actors_widget.js","sourceRoot":"","sources":["../../../src/tools/apps/search_actors_widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyCzC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyCzC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;CAqCoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAkC,CAAC,MAAM,OAAO,cAAc,CAAC,EAAE,CAAC;AAE7F,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAmC,CAAC;AAEtF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAwBnF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,UAA+B,GAAG,eAAe,CAIvF;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAG3E,CAAC"}
|
package/dist/tools/categories.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ServerMode } from '../types.js';
|
|
2
2
|
import { appsCallActor } from './apps/call_actor.js';
|
|
3
|
+
import { appsCallActorWidget } from './apps/call_actor_widget.js';
|
|
3
4
|
import { fetchActorDetailsWidgetTool } from './apps/fetch_actor_details_widget.js';
|
|
4
5
|
import { appsGetActorRun } from './apps/get_actor_run.js';
|
|
5
|
-
import {
|
|
6
|
-
import { searchActorsInternalTool } from './apps/search_actors_internal.js';
|
|
6
|
+
import { searchActorsWidgetTool } from './apps/search_actors_widget.js';
|
|
7
7
|
import { abortActorRun } from './common/abort_actor_run.js';
|
|
8
8
|
import { addTool } from './common/add_actor.js';
|
|
9
9
|
import { getUserDatasetsList } from './common/dataset_collection.js';
|
|
@@ -40,13 +40,14 @@ export const toolCategories = {
|
|
|
40
40
|
addTool,
|
|
41
41
|
],
|
|
42
42
|
actors: [
|
|
43
|
-
|
|
43
|
+
defaultSearchActors,
|
|
44
44
|
defaultFetchActorDetails,
|
|
45
45
|
{ default: defaultCallActor, apps: appsCallActor },
|
|
46
46
|
],
|
|
47
47
|
ui: [
|
|
48
|
-
{ apps:
|
|
48
|
+
{ apps: searchActorsWidgetTool },
|
|
49
49
|
{ apps: fetchActorDetailsWidgetTool },
|
|
50
|
+
{ apps: appsCallActorWidget },
|
|
50
51
|
],
|
|
51
52
|
docs: [
|
|
52
53
|
searchApifyDocsTool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/tools/categories.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,6 @@ export declare const CALL_ACTOR_USAGE_SECTION: string;
|
|
|
11
11
|
export declare const CALL_ACTOR_EXAMPLES_SECTION = "EXAMPLES:\n- user_input: Get instagram posts using apify/instagram-scraper";
|
|
12
12
|
type CallActorDescriptionParams = {
|
|
13
13
|
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS;
|
|
14
|
-
storeSearchTool: HelperTools.STORE_SEARCH | HelperTools.STORE_SEARCH_INTERNAL;
|
|
15
|
-
useInternalSearchWarning: boolean;
|
|
16
14
|
alwaysAsync: boolean;
|
|
17
15
|
};
|
|
18
16
|
type StartedActorRun = {
|
|
@@ -41,7 +39,6 @@ type CallActorErrorResponseParams = {
|
|
|
41
39
|
isAsync: boolean;
|
|
42
40
|
mcpSessionId?: string;
|
|
43
41
|
actorGetDetailsTool: HelperTools.ACTOR_GET_DETAILS;
|
|
44
|
-
storeSearchTool: HelperTools.STORE_SEARCH | HelperTools.STORE_SEARCH_INTERNAL;
|
|
45
42
|
};
|
|
46
43
|
export declare function buildCallActorDescription(params: CallActorDescriptionParams): string;
|
|
47
44
|
export declare function buildStartAsyncResponse(params: {
|
|
@@ -120,7 +117,9 @@ export declare function resolveAndValidateActor(params: {
|
|
|
120
117
|
* clients cannot pass a clean-enough id for definition fetch but a dirty id to `apifyClient.actor()` (see Mezmo:
|
|
121
118
|
* e.g. trailing `` ` `` on `apify/rag-web-browser`).
|
|
122
119
|
*/
|
|
123
|
-
export declare function callActorPreExecute(toolArgs: InternalToolArgs
|
|
120
|
+
export declare function callActorPreExecute(toolArgs: InternalToolArgs, options: {
|
|
121
|
+
route: string;
|
|
122
|
+
}): Promise<{
|
|
124
123
|
earlyResponse: object;
|
|
125
124
|
} | {
|
|
126
125
|
parsed: CallActorParsedArgs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_actor_common.d.ts","sourceRoot":"","sources":["../../../src/tools/core/call_actor_common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAGH,WAAW,EAEd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,EAA2B,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQrF,gEAAgE;AAChE,eAAO,MAAM,6BAA6B,+MAEmD,CAAC;AAE9F,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,QAMqD,CAAC;AAE3F,yDAAyD;AACzD,eAAO,MAAM,2BAA2B,+EACwB,CAAC;AAEjE,KAAK,0BAA0B,GAAG;IAC9B,mBAAmB,EAAE,WAAW,CAAC,iBAAiB,CAAC;IACnD,
|
|
1
|
+
{"version":3,"file":"call_actor_common.d.ts","sourceRoot":"","sources":["../../../src/tools/core/call_actor_common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAGH,WAAW,EAEd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,EAA2B,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQrF,gEAAgE;AAChE,eAAO,MAAM,6BAA6B,+MAEmD,CAAC;AAE9F,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,QAMqD,CAAC;AAE3F,yDAAyD;AACzD,eAAO,MAAM,2BAA2B,+EACwB,CAAC;AAEjE,KAAK,0BAA0B,GAAG;IAC9B,mBAAmB,EAAE,WAAW,CAAC,iBAAiB,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC5B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,WAAW,CAAC,iBAAiB,CAAC;CACtD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAgDpF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;CACnB,GAAG,wBAAwB,CA2C3B;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,4BAA4B,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAmCrH;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;iBAuCxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAoC,eAAe,CAAC;AAGrF,eAAO,MAAM,oBAAoB,yCAAkF,CAAC;AAEpH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CASA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8CzB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;CAC9B,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CA0F1F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3B,OAAO,CACJ;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GACzB;IACE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CACJ,CAwDA"}
|
|
@@ -33,28 +33,23 @@ USAGE:
|
|
|
33
33
|
export const CALL_ACTOR_EXAMPLES_SECTION = `EXAMPLES:
|
|
34
34
|
- user_input: Get instagram posts using apify/instagram-scraper`;
|
|
35
35
|
export function buildCallActorDescription(params) {
|
|
36
|
-
const { actorGetDetailsTool,
|
|
36
|
+
const { actorGetDetailsTool, alwaysAsync } = params;
|
|
37
37
|
const sections = [];
|
|
38
38
|
sections.push('Call any Actor from the Apify Store.');
|
|
39
|
-
|
|
39
|
+
sections.push(dedent `
|
|
40
40
|
WORKFLOW:
|
|
41
41
|
1. Use ${actorGetDetailsTool} to get the Actor's input schema
|
|
42
42
|
2. Call this tool with the actor name and proper input based on the schema
|
|
43
43
|
|
|
44
|
-
If the actor name is not in "username/name" format
|
|
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
|
-
}
|
|
44
|
+
If the actor name is not in "username/name" format and ${HelperTools.STORE_SEARCH} is available in this session, use it to resolve the correct Actor first.
|
|
45
|
+
`);
|
|
52
46
|
sections.push(CALL_ACTOR_MCP_SERVER_SECTION);
|
|
53
47
|
if (alwaysAsync) {
|
|
54
48
|
sections.push(dedent `
|
|
55
49
|
IMPORTANT:
|
|
56
|
-
- This tool always runs asynchronously — it starts the Actor and returns immediately with a runId.
|
|
57
|
-
-
|
|
50
|
+
- This tool always runs asynchronously — it starts the Actor and returns immediately with a runId. It renders no UI.
|
|
51
|
+
- For a live progress widget the user can watch, call ${HelperTools.ACTOR_CALL_WIDGET} instead.
|
|
52
|
+
- To check status or wait for completion, poll ${HelperTools.ACTOR_RUNS_GET} with the runId.
|
|
58
53
|
- Once the run completes, use ${HelperTools.ACTOR_OUTPUT_GET} tool with the datasetId to fetch full results.
|
|
59
54
|
- Use dedicated Actor tools when available for better experience
|
|
60
55
|
`);
|
|
@@ -120,7 +115,7 @@ export function buildStartAsyncResponse(params) {
|
|
|
120
115
|
};
|
|
121
116
|
}
|
|
122
117
|
export function buildCallActorErrorResponse(params) {
|
|
123
|
-
const { actorName, error, actorId, isAsync, mcpSessionId, actorGetDetailsTool,
|
|
118
|
+
const { actorName, error, actorId, isAsync, mcpSessionId, actorGetDetailsTool, } = params;
|
|
124
119
|
const errMsg = error instanceof Error ? error.message : String(error);
|
|
125
120
|
const failureCategory = classifyFailureCategory(error);
|
|
126
121
|
logHttpError(error, 'Failed to call Actor', {
|
|
@@ -133,7 +128,8 @@ export function buildCallActorErrorResponse(params) {
|
|
|
133
128
|
texts: [
|
|
134
129
|
`Failed to call Actor '${actorName}': ${errMsg}.`,
|
|
135
130
|
`Please verify the Actor name, input parameters, and ensure the Actor exists.`,
|
|
136
|
-
|
|
131
|
+
// "if available" — search-actors may not be loaded in apps-mode partial tool selections.
|
|
132
|
+
`If ${HelperTools.STORE_SEARCH} is available in this session, you can use it to search for available Actors, or get Actor details using: ${actorGetDetailsTool}.`,
|
|
137
133
|
],
|
|
138
134
|
isError: true,
|
|
139
135
|
telemetry: {
|
|
@@ -356,10 +352,10 @@ export async function resolveAndValidateActor(params) {
|
|
|
356
352
|
* clients cannot pass a clean-enough id for definition fetch but a dirty id to `apifyClient.actor()` (see Mezmo:
|
|
357
353
|
* e.g. trailing `` ` `` on `apify/rag-web-browser`).
|
|
358
354
|
*/
|
|
359
|
-
export async function callActorPreExecute(toolArgs) {
|
|
355
|
+
export async function callActorPreExecute(toolArgs, options) {
|
|
360
356
|
const { args, apifyToken, apifyMcpServer, mcpSessionId } = toolArgs;
|
|
361
357
|
const parsedArgs = callActorArgs.parse(args);
|
|
362
|
-
const actorName = fixActorNameInputAndLog(parsedArgs.actor, { mcpSessionId, route:
|
|
358
|
+
const actorName = fixActorNameInputAndLog(parsedArgs.actor, { mcpSessionId, route: options.route });
|
|
363
359
|
const parsed = { ...parsedArgs, actor: actorName };
|
|
364
360
|
const { baseActorName, mcpToolName } = resolveActorContext(parsed.actor);
|
|
365
361
|
// For definition resolution we always use a token-based client; payment provider is only for actual Actor runs
|